Presentation on theme: "FLUX. FLUX Predicates holds(X, Z) –Asserts X in Z knows(X, Z) –X is known to be true in Z knows_val(X, V, Z) – update(Z1, FAdd, FRemove, Z2) –Z2 = Z1."— Presentation transcript:
FLUX Predicates holds(X, Z) –Asserts X in Z knows(X, Z) –X is known to be true in Z knows_val(X, V, Z) – update(Z1, FAdd, FRemove, Z2) –Z2 = Z1 + FAdd – FRemove execute(A, Z1, Z2) –Z2 is the state after executing A in Z1
FLUX as a Modeling Language perform(+Action, -Perceptions). –Executes the action on the environment simulator –Returns the perception list state_update(Z1, Action, Z2, Perceptions) –Updates agent’s internal world model from Z1 to Z2, provided Action has been executed and Perceptions have been detected
Non FLUX modeling Action preconditions (the poss/2 or 3 predicate) –Some examples do not include it –The underlying code does not uses it –Each example models it in a different way... poss(Action, State) poss(Action, Perceptions, State) Model initialization Planing Environment simulator
CHR Operational Semantics in FLUX
Agent View World Model –Execution State –Program Rules Actions –Transitions Execution –While a final state has not been reached Apply transitions non-deterministically
World Model a, b \ c, d g0 | b0. x, y ==> g1 | b1. init(Z) :- holds(goal(g0), Z),..., holds(goal(gn), Z), holds(udstore(u0), Z),..., holds(udstore(un), Z), holds(bicstore(b0), Z),..., holds(bicstore(bn), Z), holds(rule(a, b \ c, d g0 | b0), Z), holds(rule(x, y ==> g1 | b1), Z).
CHR + O F-Atoms are syntax sugar for special UD constraints using Kifer’s codification –O:C isa(O,C) –C::S sub(C,S) –X[F->V] fd(X,F,V) A new transition was added. It completes the current UD-store with information inherited by the means of inheritance Syntatic constraints: –O:C and C::S cannot appear on HeadRemove