from monceai import Snake

Binary divide and conquer — distributed SAT classification on AWS Lambda

from algorithmeai import Snake

def v6_worker(population, indices, condition, seed):

    if n <= bucket_size:
        return Snake(local_pop, datatypes=global_dt).layers[0]

    if n > τ:  lit = oppose(A, B)          # O(1)
    else:     lit = best_of_30(oppose)   # O(n), n ≤ 1200

    left  = [i for i in indices if  apply(pop[i], lit)]
    right = [i for i in indices if !apply(pop[i], lit)]

    return Λ(left, cond ∪ lit) ∪ Λ(right, cond ∪ ¬lit)
T(n) = O(log n) $(n) = O(n) 150K rows in 19.8s Titanic 100%
# pip install monceai
from monceai import Snake

model = Snake(data, target_index="Survived")
model.get_prediction(item)    # top class
model.get_probability(item)   # {class: prob}
model.get_audit(item)         # SAT reasoning trace