50Γ50 grid, three autonomous buses. Every new passenger demand goes to CJet:
assign: choice(bus_a/bus_b/bus_c) β distance, load and seats all in prose.
The domain rules are injected into the question, not learned. Toggle
Multi-pickup physics to switch the world: on, a bus carries several
demands at once and the option criteria report how many blocks each bus would
add to the route it is already driving; off, a bus carries one and a nearby
pickup buys nothing. Same rules, same cost function, different world β the delivered
count shows which one the rule was written for.
Four seats is the capacity a bus offers; what actually caps new work is
its planning horizon β a bus already committed to a full route turns work away with
seats to spare, which is what Over-committed counts. Edit the seat
limit and the axioms themselves in the Ontology panel below.
Dispatch off = greedy nearest-bus heuristic. β back to the main UI