ALPprolog --- A New Logic Programming Method for Dynamic Domains
Logic programming is a powerful paradigm for programming autonomous agents in dynamic domains, as witnessed by languages such as Golog and Flux. In this work we present ALPprolog, an expressive, yet efficient, logic programming language for the onlin…
Authors: Conrad Drescher, Michael Thielscher
Under conside ratio n for public ation in Theory and Practice of Logic Pro grammi ng 1 ALPpr olog — A New Lo gic Pr ogr amming Metho d for Dynam ic Domai ns CONRAD DRESCHER Computing Laborato ry , Univ ersity of Oxfor d, UK ( e-mail: Conrad.Dres cher@comlab.ox. ac.uk ) MICHAEL THIELSCHER Scho ol of Computer Science and Engineering , The University of New South W ales, Austral ia ( e-mail: mit@cse.uns w.edu.au ) submitte d 1 J anuary 2003; re vised 1 J anuary 2003; accepte d 1 J anuary 2003 Note: This article has been p ublished in Theory and Practice of Logic Pr ogramming ,volume 11, issue 4-5, pp. 451-4 68, c Cambridge University P ress. Abstract Logic programming is a po w erful paradigm for programming autonomous agents in dynamic do- mains, as witnessed by lan guages such as Golog and Flux. I n this work we prese nt ALPprolog, an express iv e, yet efficient, logic program ming language for the online control of agents that have to reason about incomplete information and sensing actions. KEYWORDS : reasoning about actions, agent logic programs 1 Introduction Programm ing autonom ous agents that b ehave in telligently is one of the key cha llenges of Artificial Intelligen ce. Because o f its d eclarative nature, a nd high level of abstraction, logic programming is a natural choice for th is tas k. This is witnessed by e.g. the two major exponents of agent p rogram ming langu ages that are based on classical logic programm ing, namely Golog (Lev esque et al. 1997) and Flux (Thielscher 2005a). Both these languages combin e a langu age for specifyin g th e agent’ s behaviour with an axiomatic theory that describes the agent’ s en vironme nt. I n the ca se of Golo g the strat- egy languag e is proced ural in nature (tho ugh implemen ted in Prolog) , and the action theory is the classical Situation Calculu s (McCarthy and Hayes 1969) in Reiter’ s version (Reiter 2001a). For Flux the strategy language is full classical logic program ming, and the action theory is the more recent Fluent Calculus (Thielscher 1999). In a recent work (Drescher et al. 200 9) we ha ve de velop ed Agent Logic Programs (ALPs), a new d eclarative strategy language that is based upon a proof calculus in the style o f clas- sical SLD- resolution. Co ntrary to Golog and Flux the ALP fram ew o rk is parametric in the action theo ry: any backgro und theory th at a llows to infer when an action is appli- cable, and what the effects of the action are, can be used. Exp loiting this generality we have r ecently (Thielscher 2010b) been able to give a semantics for the BDI-style language AgentSpeak (Bordini et al. 2007). Another distincti ve f eature of the theoretical frame work 2 Conrad Dr e scher and Michael Thielscher is the elegant handling of in complete information for o ffline planning via d isjunctive sub- stitutions . By default, ALPs are com bined with o ur new Unifying Action Calculus (U A C) (Thielscher 2011) that enc ompasses the m ajor logical action calculi, including both the Situation Calculus and th e Fluent Calculu s, as well a s m any plan ning d omain d escription languag es. The ALP form alism stays entirely within classical log ic. The impleme ntation of any f ragment of the ALPp rolog framework co nsists of (1) an implementatio n of the proof calcu lus, a nd (2) an actio n th eory reasoner . Existing mature Prolog techno logy can be used o ut of th e box for (1) unless disjunctive substitutions enter the picture. For ( 2) we can also exploit existing techno logy: E.g. Golo g implements a fragmen t of the Situation Calculus, and Flux han dles a f ragmen t of the Fluent Calcu lus. In (Drescher et al. 2009) the implemen tation of a Description Logic- based fragme nt of the Fluent Calculus is described. In this work we p resent ALPprolog, where the under lying a ction theory is an es sentially propo sitional version of the Fluent Calculus in the U AC that includes a simple, yet power - ful model of s ensing. ALPpro log is intended for the on line control of agents, where actions are immediately ex ecuted. This st arkly contr asts with of fline reasoning , where agen ts may make assumptions to see where these are lea ding. ALPpro log was developed specifically for the efficient hand ling of large grou nd state representations, something th at we consid er to be practically u seful. T o this end ALPpro log co mbines strong- points o f Golog and Flux: • From Golo g it takes the representation of the agent’ s state knowledge in full pr opo- sitional logic via prime implicates; and • From Flux it takes the p rinciple of progr ession: Th e agent’ s state knowledge is up- dated upo n the execution o f an action . In stan dard Golo g the ag ent’ s initial state knowledge is never updated . 1 Instead, qu eries re ferring to later tim e-points are rewritten un til they can be ev aluated against the in itial state kn owledge, something which b ecomes a hindran ce to good p erforma nce as the seq uence of executed actions grows. W e emphasise that ALPprolog is an agent program ming langu age in the spirit of class i- cal logic progr amming in Prolog : Th e straightforward o peration al semantics provides the progr ammer with a p owerful mean s to activ ely determine the sequ ence of actions that an agent executes. ALPprolog 2 can be obtained at alppr olog.source forge.net . The rem ainder o f th is pape r is organ ised as f ollows: In Sec tion 2 we r ecall the basics of the ALP framew ork, and in Section 3 we introdu ce ALPpro log. W e ev alu ate the perfor- mance of ALPprolog in Section 4, and conclude in Section 5. 2 ALPs in a Nutshell The purpose o f agent logic program s is to provide h igh-level control pro grams fo r ag ents using a comb ination o f declara ti ve progr amming with r easoning about action s. The syn- tax of these p rogram s is kept very simple: standard (definite) logic prog rams (see e.g. (J.W . Lloyd 1987)) are augmented with just two special pr edicates, on e — written do( α ) 1 But there is a versio n of Golog where the initial state is periodica lly updated (Sardina and V assos 2005). 2 The name is a play on ALPs, propositio nal logic, and the implementat ion in plain Prolog. ALPpr olog — A New Lo gic Pr ogramming Method for Dynamic Domains 3 — to denote the execution o f an action by the agent, and on e — written ?( ϕ ) — to verify proper ties aga inst (the agent’ s model of) the state of its environment. Th is model, and how it is af f ected by actions, is defined in a separate action theory . This allows for a clear sepa- ration between the agent’ s strate gic b ehaviour (g i ven by t he agent logic program itself) and the underlying theory about the agent’ s actions and their ef fe cts. Prior to giving the formal definition, let us illustrate the idea by an example agent logic pro gram. Example 1 Consider an agent who se task is to fin d gold in a maze. F o r the sake of simplicity , th e states of the envir o nment sha ll b e de scribed b y a single fluen t (i.e., state pr operty): At ( u, x ) to denote that u ∈ { Agent , Gold } is at location x . The agent can perform the action Go ( y ) of g oing to location y , wh ich is po ssible if y is adja cent to the curr ent location o f the agent. Th e fo llowing ALP describes a simple sea r ch strate g y via a given list o f loca tions (choice points) that th e agent may visit, and an or der e d co llection of backtr acking points. W e follow the Pr olog convention of writing variable s with a leading upper ca se letter . explore(Choic epoints,Backt rack) :- % finished, if ?(at(agent,X) ), ?(at(gol d,X)). % gold is found explore(Choic epoints,Backt rack) :- ?(at(agent,X) ), select(Y,Choi cepoints,NewC hoicepoints), % choose a direction do(go(Y)), % go in this direction explore(NewCh oicepoints,[X |Backtrack]). % store the choice explore(Choic epoints,[X|Ba cktrack]) :- % go back one step do(go(X)), explore(Choic epoints,Backt rack). select(X,[X|X s],Xs). select(X,[Y|X s],[Y|Ys]) :- sel ect(X,Xs,Ys). Suppo se we ar e given a list of choice po ints C , th en the query : - explore(C, []) lets the agent systema tically sear ch for gold fr om its curr ent location : the first clause describes the base c ase wher e th e agent is successful; the second clause lets the agent select a n ew location fr o m the list of choice po ints and go to this loca tion (the d eclarative semantics and pr oof theory for do( α ) will r eq uir e that the action is possible at the time of execution); and the thir d clause sends the agent back using the latest ba cktr a cking p oint. The example illustrates two distinct featu res of ALPs: ( 1) T he agen t strategy is defined by a logic program that may use arbitr ary function and predicate sym bols in addition to the signature of the underly ing action theory . (2) The update of the agent’ s belief according to the effects of its actions is not part of the strategy . F or mally , ALPs are defined as follows. Definition 1 Consider a n action theor y signature Σ that includes the pr e-defined so rts A C T I O N and FL U E N T , along with a logic progr am signatur e Π . • T erms are fro m Σ ∪ Π . • If p is an n -ary relation symbol from Π an d t 1 , ..., t n are terms, then p(t 1 , ..., t n ) is a pr ogram atom . 4 Conrad Dr e scher and Michael Thielscher • do( α ) is a pr ogram atom if α is an AC T I O N term in Σ . • ?( ϕ ) is a pr ogram atom if ϕ is a state p r operty in Σ , that is, a for mula (re presented as a term) based on the FL U E N T s in Σ . • Clauses, pr ograms, an d qu eries are then defined as usual for definite logic p rogram s, with the restriction that the two special atoms cannot occur in the head of a clause. 2.1 Declarative Semantics: Program + Action Theory The semantics of an ALP is g iv en in two steps. First, the prog ram need s to be “ tempo- ralised, ” making explicit the state chan ge that is implicit in the use of the two special predicates, do( α ) and ?( ϕ ) . Second, th e resulting prog ram is combin ed with an actio n theory as the basis for ev aluating these two special pred icates. The semantics is th en the classical logical semantics of the expanded program t ogether with the action theory . T im e is inco rporated into a pro gram throu gh m acro-expan sion: two arguments of sor t T I M E 3 are ad ded to every regular pro gram a tom p ( ¯ x ) , and then p ( ¯ x, s 1 , s 2 ) is un der- stood as restrictin g the truth of the atom to the tempo ral inter val between (an d inclu d- ing) s 1 and s 2 . The two special ato ms receive special treatme nt: ? ( ϕ ) is r e-written to Holds ( ϕ, s ) , with th e intended mean ing that ϕ is true at s ; and d o( α ) is m apped onto P oss ( α, s 1 , s 2 ) , m eaning that action α ca n b e executed at s 1 and that its execution ends in s 2 . The form al definition is as follo ws. Definition 2 For a clause H :- B 1 ,...,B n ( n ≥ 0 ), let s 1 , . . . , s n +1 be variables of sort T I M E . • For i = 1 , . . . , n , if B i is of the form – p(t 1 ,...,t m ) , expand to P ( t 1 , . . . , t m , s i , s i +1 ) . – do( α ) , expand to P oss ( α, s i , s i +1 ) . – ?( ϕ ) , expand to Holds ( ϕ, s i ) ∧ s i +1 = s i . • The head atom H = p(t 1 ,...,t m ) is expanded to P ( t 1 , . . . , t m , s 1 , s n +1 ) . • The resulting clauses are understoo d as universally quantified implication s. Queries are expanded e x actly like clause bodies, except that • a s pecial constant S 0 — denoting the earliest time-point in the underlyin g action theory — takes the place of s 1 ; • the resulting conjunc tion is existentially quantified. Example 1 (cont.) The example p r ogram of the pr eceding section is und erstood as the fo llowing axioms, which for notation al convenience we hav e simplified in tha t all equ ations between T I M E 3 Which speci fic concept of time is being use d depends on ho w the sort T I M E is defined in the un derlying action theory , which m ay be branc hing (as, e.g., in the Situation Calculus) or linear (as, e.g., in the Event Calculus). ALPpr olog — A New Lo gic Pr ogramming Method for Dynamic Domains 5 variables have been applied and then omitted. ( ∀ ) Explore ( c, b, s 1 , s 1 ) ⊂ Holds ( At ( Agent , x ) , s ) ∧ Holds ( At ( Gold , x ) , s 1 ) ( ∀ ) Explore ( c, b, s 1 , s 4 ) ⊂ Holds ( At ( Agent , x ) , s 1 ) ∧ Select ( y , c, c ′ , s 1 , s 2 ) ∧ Poss ( Go ( y ) , s 2 , s 3 ) ∧ Explore ( c ′ , [ x | b ] , s 3 , s 4 ) ( ∀ ) Explore ( c, [ x | b ] , s 1 , s 3 ) ⊂ Poss ( Go ( x ) , s 1 , s 2 ) ∧ Exp lore ( c, b, s 2 , s 3 ) ( ∀ ) Select ( x, [ x | x ′ ] , x ′ , s 1 , s 1 ) ⊂ true ( ∀ ) Select ( x, [ y | x ′ ] , [ y | y ′ ] , s 1 , s 2 ) ⊂ Select ( x, x ′ , y ′ , s 1 , s 2 ) The r esulting theory constitutes a pu r ely logical axiomatisation of the agent’ s strate g y , which pr ovides the basis for logical en tailment. F or instance, mac r o-expanding the query :- explore(C,[]) fr om the above example r esults in the temp oralised logical for- mula ( ∃ s ) Explore ( C, [ ] , S 0 , s ) . I f this fo rmula follows fr om th e axioms above, then that means that the strate gy c an be successfully executed, starting at S 0 , fo r the given list of choice points C . Whethe r this is actu ally th e case o f course d epends o n th e addition al action th eory th at is n eeded to evalua te the special atoms Ho lds and Poss in a mac r o- expanded pr ogram. Macro-expan sion provides the first par t of the d eclarative semantics of an agent logic progr am; the seco nd part is g i ven by an action theo ry in form of a lo gical axiomatisation of actions and th eir effects. The overall declarative sem antics of agen t logic prog rams is giv en by the axiomatisation consisting of the action theory and the e x panded progra m. Let u s n ext introdu ce th e fragmen t of the U A C corr espondin g to the Flu ent Calcu lus. The UA C that is used to axiom atise the action theor y is based on ma ny-sorted first orde r logic with equality a nd the four s orts T I M E , FL U E N T , O B J E C T , and AC T I O N . By con vention variable symbols s , f , x , and a are used fo r terms of sor t T I M E , FL U E N T , O B J E C T , and AC T I O N , r espectively . Fluents ar e re ified, a nd the standard predicate Hold s : FL U E N T × T I M E indicates whether a fluen t is true at a particula r time. The predicate P oss ( a, s 1 , s 2 ) means that action α can be e xecuted at s 1 and that it s ex ecution ends in s 2 . The num ber of function symbols into sorts FL U E N T and AC T I O N is finite. Definition 3 ( Action Theory F ormula T ypes ) W e stipu late that the following form ula types are used by action theories: • State fo rmulas express wh at is true a t particular times: A state formula Φ[ ¯ s ] in ¯ s is a first-order form ula with fre e v ariab les ¯ s wh ere — for each occurre nce of Holds ( f , s ) we hav e s ∈ ¯ s ; — predica te P oss does not occur . A state formu la is pu r e if it does not mentio n pred icates other than Holds . • A state p r operty φ is an expression built from the standar d logical con nectives and terms F ( ¯ x ) of so rt FL U E N T . With a slight abuse of notation , by Holds ( φ, s ) we denote the state for mula obtaine d fr om state p roperty φ by rep lacing e very occur- rence of a fluen t f by Ho lds ( f , s ) . In an expanded pro gram Π we always treat Holds ( φ, s ) as atomic. State proper ties are used b y agen t logic progra ms in ?(Phi) atoms. • The initial s tate axiom is a state formula φ ( S 0 ) in S 0 , where S 0 denotes the initial situation. 6 Conrad Dr e scher and Michael Thielscher • An action pr econdition axiom is of the form ( ∀ ) P o ss ( A ( ¯ x ) , s 1 , s 2 ) ≡ π A [ s 1 ] ∧ s 2 = Do ( A ( ¯ x ) , s 1 ) , where π A [ s 1 ] is a state formula in s 1 with free variables am ong s 1 , ¯ x . This axiom illustrates how different actions lead to different s ituation term s Do ( A ( ¯ x ) , s 1 ) . Sit- uations constitute the sort T I M E in the Fluent Calculus and p rovide a branchin g tim e structure. • Effect axioms are of the form P oss ( A ( ~ x ) , s 1 , s 2 ) ⊃ _ k ( ∃ ~ y k )(Φ k [ s 1 ] ∧ ( ∀ f )[( _ i f = f ki ∨ ( Holds ( f , s 1 ) ∧ ^ j f 6 = g kj )) ≡ Holds ( f , s 2 )]) . Such an effect ax iom has k different ca ses that can app ly — th ese are iden tified by the ca se selection for mulas Φ k [ s 1 ] wh ich are state f ormulas in s 1 with free variables amon g s 1 , ~ x, ~ y i . The f ki (and g kj , respectively) are fluen t terms with variables among ~ x, ~ y k and de scribe the positiv e (or, respe ctiv e ly , negative) effects of the action, given that case k applies. • Domain constraints are uni versally quantified state form ulas ( ∀ s ) δ [ s ] in s . • Auxiliary a xioms are domain- depend ent, but time-ind ependen t, ad ditional axiom s such as e.g. an axiomatisation of finite domain constrain ts. An action th eory D is g i ven by an initial state axio m D Init , finite sets D Poss and D Effects of pr econdition and effect axio ms. Mor eover domain co nstraints D dc and au xiliary a xioms D aux may be inclu ded. For illu stration, the fo llowing is a back groun d axiom atisation for our example scenario as a basic Fluent Calculus t heory in the U A C. Example 1 (cont.) Our example pr ogram can be supported by the following domain theory . • Initial state axiom Holds ( At ( Agent , 1) , S 0 ) ∧ Holds ( At ( Gold , 4) , S 0 ) • Pr econ dition axiom Poss ( Go ( y ) , s 1 , s 2 ) ≡ ( ∃ x )( Holds ( At ( Agent , x ) , s 1 ) ∧ ( y = x + 1 ∨ y = x − 1 )) ∧ s 2 = Do ( Go ( y ) , s 1 ) • Effect axiom Poss ( Go ( y ) , s 1 , s 2 ) ⊃ ( ∃ x )( Holds ( At ( Agent , x ) , s 1 ) ∧ [( ∀ f ) Holds ( f , s 2 ) ≡ ( Holds ( f , s 1 ) ∨ f = At ( Agent , y )) ∧ f 6 = At ( Agent , x )]) . Given this (admitted ly very simple, for the sa ke of illustration) specifica tion of the b ack- gr oun d action theory , the axiomatisatio n of the agent’ s strate gy fr om above entails, for example, ( ∃ s ) E xplore ([2 , 3 , 4 , 5] , [ ] , S 0 , s ) . This can be shown as follows. F irst, ob serve that the backgr ound theory entails Holds ( At ( Agent , 4) , S ) ∧ Holds ( At ( Gold , 4 ) , S ) , ALPpr olog — A New Lo gic Pr ogramming Method for Dynamic Domains 7 wher e S denotes th e situation term Do ( Go (4) , Do ( Go (3) , Do ( Go (2) , S 0 ))) . It fo llows that E xplore ([5] , [3 , 2 , 1] , S, S ) accor d ing to the first clause o f o ur example ALP . Con- sider , n ow , the sit uation S ′ = Do ( Go (3) , Do ( Go (2) , S 0 )) , then actio n theory and strate gy together imply Holds ( At ( Agent , 3) , S ′ ) ∧ Select (4 , [4 , 5] , [5] , S ′ , S ′ ) ∧ Poss ( Go (4) , S ′ , S ) By using th is in turn, alon g with Exp lore ([5] , [3 , 2 , 1] , S, S ) fr om ab ove, accor d ing to the second p r ogram clau se we obtain Explo re ([4 , 5] , [2 , 1 ] , S ′ , S ) . Continuing this line o f rea- soning, it can be shown that Explore ([3 , 4 , 5] , [1] , Do ( Go (2) , S 0 ) , S ) and hence, Explore ([2 , 3 , 4 , 5] , [ ] , S 0 , S ) This pr oves th e claim that ( ∃ s ) Explore ([2 , 3 , 4 , 5] , [ ] , S 0 , s ) . On the other ha nd e.g. the query ( ∃ s ) Exp lore ([2 , 4] , [ ] , S 0 , s ) is no t e ntailed under the given backgr o und theo ry: W itho ut location 3 among the c h oice points, the str ategy does not allow the a gent to r each the only location that is known to house gold. 2.2 Operationa l Semantics: Proof Calculi W e have developed two sound and com plete proof calculi for ALPs tha t both assume the existence of a suitable reasoner for the underlying action theor y (Drescher et al. 2009). The first pr oof calculus is plain SLD-resolution, on ly that Holds - and P oss -atoms are ev aluated against the action theory . Th is ca lculus is sound and complete if the und erlying action theo ry has the witness pr operty: That is, wh enever D ( ∃ x ) φ ( x ) then the re is a substitution θ such that D ( ∀ ) φ ( x ) θ . Note that in gener al action theor ies may violate the witness p roperty , as they may in clude disjunc ti ve or p urely existential infor mation; consider e.g. the case H olds ( At ( Gold , 4) , S 0 ) ∨ Holds ( At ( Gold , 5) , S 0 ) , wher e the exact location of the gold is unknown. Hence the second proof calculus, intended f or the general case, resorts to co nstraint logic p rogram ming, and the notio n of a d isjunctive substitution : Still assuming that the gold is located at one of two loc ations the q uery D ( ∃ x ) Holds ( At ( Gold , x ) can now be answer ed po siti vely v ia the disjun ctiv e sub stitution x → 4 ∨ x → 5 . Disjun ctiv e substitution together with th e respective p rinciple of r easoning b y cases are a powerful means for inferring conditional plans. For the online control of agents, howev e r , assum ing a particu lar case is u nsafe. But if we use the plain SLD-resolution -based ALP proof calculus on to p of actio n theories that lac k the witness prope rty we obtain a nice characterisation of cautious beh aviour in a world of unknowns (albeit at the cost of sacrificin g logical completen ess). For ALPpro log this is the setting that we use. In both p roof calculi we adopt the ”le ftmost” comp utation ru le familiar fro m Pr olog. This has many ad vantages: First, it simplifies the im plementation , as th is can be based on existing mature Pr olog technolo gy . Secon d, state pr operties can always be evaluated against a description of the ”cu rrent” state. Last, but not least, this en sures that actions are executed in the order intended by the program mer — this is of no small impor tance for the online control of agents. 8 Conrad Dr e scher and Michael Thielscher 3 ALPprolog W e next presen t ALPp rolog — an implemen tation of the ALP f ramework ato p o f ac tion theories in a version of the Fl uent Calculus that • uses (a notational variant of) pr opositional logic for describing state properties; • is restricted to actions with grou nd deterministic ef fects; and • includes sensing actions. The intended ap plication d omain for ALPprolog is the online contr ol o f agents in dy- namic domains with incomplete information . 3.1 ALPprolog Program s An ALPprolog prog ram is an ALP that respects the fo llowing restriction s on the ?(Phi) atoms in the program: • All occurr ences of non -fluent e xpressions in φ ar e positi ve. • So called sense fluents S ( ~ x ) tha t represent the interface to a sensor may only occu r in the form ?(s(X)) . Sense fluents are forma lly introd uced belo w . Because ALPprolog progr ams are meant for online execution the programm er must en- sure that no back tracking over action execution s o ccurs, b y inserting cuts after all ac tion occurre nces. Observe that this applies to sensing actions, to o. It is readily checked that — after the insertion of cuts — the ALP from example 1 s atisfies all of the above cond itions. 3.2 Propo sitional Flu ent Calculus In this section we intro duce the annou nced proposition al fragment of the Fluent Calcu lus. The discussion of sensing is deferred until section 3.3. For ease of modellin g we admit finitely m any gro und terms for fluents and objects, instead of working directly with p roposition al letters. An action doma in D is then made propo sitional by including the respecti ve domain closure axioms. F or actio ns, objects, and fluents unique name axioms are included — hence we can a void equality reasoning. The basic building block of b oth the pr oposition al Fluent Calculu s and ALPprolo g a re the so-called prime implicates of a state formula φ ( s ) : Definition 4 ( Prime Implicate ) A clause ψ is a p rime implicate of φ iff it is en tailed by φ , is n ot a tau tology , and is not entailed by another prime implicate. The prime im plicates of a formula are free from redund ancy — all ta utologies and im- plied clauses have been deleted. For any state form ula an equiv alent prime state formula can be obtained by first tr ansformin g the state form ula into a set o f clauses, and by then closing this set under resolution, and the deletion of subsumed clauses and tautologies. Prime state for mulas have the following nice pr operty: Let φ be a prim e state formu la, and let ψ be some clause (not m entioning au xiliary pr edicates); then ψ is entailed by φ if an d only if it is sub sumed by some prime implicate in φ , a fact that has alread y been ALPpr olog — A New Lo gic Pr ogramming Method for Dynamic Domains 9 exploited fo r Golog (Reiter 20 01a; Reiter 2001b). This proper ty will allow us to reduce reasoning about state knowledge in ALPpro log to s imple list look -up operations. Formally the propositional version of the Fluent Calculus is defined as follows. Definition 5 ( Pr opo sitional Fluent Calculus Domain ) W e stipu late that the following prop erties hold in propositional Fluent C alculus dom ains: • The initial state D Init is specified by a grou nd prime s tate formu la. • The state formu las φ ( s 1 ) in action preco nditions P o ss ( a, s 1 , s 2 ) ≡ φ ( s 1 ) ∧ s 2 = Do ( a, s 1 ) ar e prime state formula s. • The effect axioms are of the form P oss ( A ( ~ x ) , s 1 , s 2 ) ⊃ _ k (Φ k [ s 1 ] ∧ ( ∀ f )[( _ i f = f ki ∨ ( Holds ( f , s 1 ) ∧ ^ j f 6 = g kj )) ≡ Holds ( f , s 2 )]) , where each Φ k [ s 1 ] is a prim e state for mula. This implies that existentially quan ti- fied variables that may o ccur in case selection fo rmulas (cf. definitio n 3) have been eliminated by introdu cing additional cases. • Only so- called modu lar do main con straints (Herzig and V arzinczak 2007) may be included. V ery rough ly , dom ain constra ints are modular if they ca n be comp iled in to the agent’ s in itial state knowledge, and the effect axioms ensure th at updated states also respect the d omain constraints. In the Fluen t Calculus this h olds if the follow- ing two condition s are met (Th ielscher 2011): Condition (1), says that for a state that is c onsistent with the doma in constrain ts and in which an actio n A ( ~ x ) is ap plica- ble, the cond ition Φ i [ S ] for at least o ne case i in the effect axiom for A holds. Condition ( 2) requires that any possible update lea ds to a state that satisfies the do- main co nstraints. Formally , let S, T be co nstants of sor t T I M E . D dc the do main constraints, D Poss the precond ition axioms, and D Effects the effect axioms. The fol- lowing must ho ld for e very action A ( ~ x ) : There exists i = 1 , . . . , n such that | = D dc [ S ] ∧ π A [ S ] ∧ ( ∃ ~ y i )Φ i [ S ] , (1) and for ev e ry such i , | = D dc [ S ] ∧ π A [ S ] ∧ Υ i [ S, T ] ⊃ D dc [ T ] . (2) Non-mo dular, fully general domain constraints greatly complicate reasoning . • Auxiliary time-in depend ent axioms may be included if they can faithfully be r epre- sented in the Prolog dialect underlying the implementation. This d eliberately sloppy condition is intended to allow the prog rammer to u se her fav o urite Prolog libr ary . Howe ver, we stipulate that auxiliary pred icates occur only positi vely o utside of D aux in the action doma in D in ord er to ensu re that they can safely be ev alu ated by Prolog . They also mu st no t occur in the initial state formu la at all. The u pdate m echanism underly ing ALPp rolog can han dle only gro und effects. Hence, if auxiliary atoms ar e used in action preconditio ns, case selection formu las of effect ax ioms, then it is the burden of the prog rammer to ensure that these p redicates always e valuate to gro und terms on those variables that also occur in the action ’ s ef f ects. 10 Conrad Dr e scher and Michael Thielscher On the one hand clearly e very prop ositional Flu ent Calculus domain can be transfor med to this form. On the other hand it is well kn own that in general co mpiling aw ay the quan- tifiers in a state formu la can re sult in an exponential blow-up, as can the co n versio n to conjunc ti ve n ormal form. W e believe th at the simp licity of reasonin g with prim e imp li- cates outweighs this drawback. Proposition al action d omains can still be no n-deter ministic. For example, for an appli- cable action two different ca ses m ay b e ap plicable at the same tim e. Th e resulting state would th en be d etermined only by the disjunctio n of the c ases’ effects. What is more, it would be logically unsoun d to co nsider only the effects of one of the cases. For the on line control o f agents in ALPprolo g we stipulate that for an applicable action at most a single case applies, greatly simplifying the update of the agent’ s state knowledge. Definition 6 ( Deterministic Pr opositiona l Fluent Calculus ) A proposition al Fluent Calculus domain is determ inistic if th e following holds: Let a b e an applicable gro und action. Then there is at mo st one case of the actio n that is applicable in the gi ven state. For example, an action theory is determin istic if for each effect ax iom all the cases ar e mutually exclusive. Next assume we hav e an applicab le deterministic action with e. g. two case selection fo rmulas φ ( s ) and ¬ φ ( s ) , where neith er case is implied b y the cu rrent state. Her e, instead of updatin g the curr ent state with the disjun ction o f th e r espective effects, ALPprolo g will employ i ncomp lete reasoning . 3.3 Propositional Fluent Calculus with Sensing W e make the following assumption s con cerning sensing : At any one time, a sensor m ay only return a single value from a fixed set R of grou nd terms, the sensing r esu lts . Howe ver, the meaning of such a sensing result may depend upon the concrete situation of the agent. Example 1 (cont.) Assume that n ow one of the cells in the maze contains a deadly thr eat to our gold- hunting agent. If the agent is next to a cell containin g th e thr ea t sh e p er ceives a certain smell, otherwise she d oesn’t: She can sense whether o ne of th e neig hbourin g cells is unsafe ; but the actual neighbou ring cells ar e only determined by the agent’ s curr ent location. Definition 7 ( Sensor Axiom ) A sense fluent S ( x ) is a unary fluent that serves as i nterface to the sensor . W e assume the sort S E N S E FL U E N T to be a subsort of sort FL U E N T . A sensor axiom then is of the form ( ∀ s, x, ~ y ) Holds ( S ( x ) , s ) ≡ _ R ∈R x = R ∧ φ ( x, ~ y , s ) ∧ ψ ( x, ~ y , s ) , for a groun d set of s ensing results R . Here φ ( x, ~ y , s ) is a prime state formula that selects a meanin g of the sensing result R , whe reas the pure pr ime state formu la ψ ( x, ~ y , s ) de- scribes the selected meaning . W e stipulate that sensor axioms (which are a form of domain constraint) may only be included if they are modular . Clearly φ ( x, ~ y , s ) sho uld be chosen so as to be uniquely d etermined in each state. If auxiliary axioms are used in φ ( x, ~ y , s ) then again the pro grammer must ensure that the se ev aluate to groun d terms in ord er that a ground s tate represen tation can be maintained. ALPpr olog — A New Lo gic Pr ogramming Method for Dynamic Domains 11 Example 1 (cont.) The following is the sensor axiom for our gold-h unter : ( ∀ ) Holds ( PerceiveSmell ( x ) , s ) ≡ x = true ∧ Holds ( At ( Agent , y ) , s ) ∧ Neigh bours ( y , ~ z ) ∧ _ z ∈ ~ z Holds ( ThreatAt ( z ) , s ) ∨ x = false ∧ Ho lds ( At ( Agent , y ) , s ) ∧ Neigh bours ( y, ~ z ) ∧ ^ z ∈ ~ z ¬ Holds ( ThreatAt ( z ) , s )) Theoretically , the co mbination of sensing with the online contr ol of an agent is qu ite challengin g: It is log ically sound to to co nsider the disjunction of all p ossible sensing re- sults for offline reaso ning. In the onlin e setting , h owe ver, upon the observation o f a sensing result we hen ceforth have to accept this r esult as be ing true; that is, at ru ntime we ad d the result to the action theo ry , someth ing which is logically u nsound. On the other hand, it also does not make sense to stipulate that the sensing result be known before hand. 3.4 Action Theory Representation W e c ontinue by describing how the underlying action theory is represented in ALPprolog . As b asic building block we need a repre sentation fo r p rime state for mulas. For notational conv enience we will represen t ( ¬ ) Holds ( f , s ) literals by th e ( possibly n egated) flu ent terms only , and, by an ab use of terminology , we will call such a term ( ¬ ) f a fluent literal. A con venient Prolog repr esentation for such a state formula is a list, wh ere each element is either a literal (i.e. a unit clause) or a list of at least two literals (a n on-un it clause). In the following we call such a list a PI-list. Definition 8 ( Action Theory Repr e sentation ) Action theories as defined in definition 6 are represented in ALPprolog as follows: • The initial state is specified by a Pro log fact initial_state (PI-List). , where PI -List mention s on ly grou nd fluen t literals. Do main constrain ts oth er than sensor axioms have to be comp iled into PI-List . • a Pro log fact action (A,Precond,E ffAx). , for each action a , has to b e in- cluded, where — A is an actio n function symbol, possibly with object terms as arguments; — Precond is a PI-list, the actio n’ s preconditio n; — EffAx is a list of cases for the action’ s effects with each case be ing a pair Cond-Eff , where the effect’ s condition Cond is a PI- list, an d the effects Eff are a list of fluent literals; and — all variables in EffAx also occur in Precond . • If present, auxiliar y axiom s D aux are represen ted by a set of Pr olog clau ses. The predicates defined in the auxiliary axioms must be declar ed explicitly by a fact aux(Aux). , where Aux den otes the listi ng of the respec ti ve pred icate symbols. 12 Conrad Dr e scher and Michael Thielscher The sensor axioms are represented as Prolog facts sensor_axiom(s( X),Vals). , where • s is a sense fluent with object argume nt X ; and • Vals is a list of Val-In dex-Meaning triples, where — Val is a pair X -result_i , wher e res ult_i is the obser ved sensing r e- sult; — Index is a PI-list con sisting of unit clauses; and — Meaning is a PI-list, mentionin g only fluent literals and on ly variables from Val and Index . The sense fluents have to be d eclared explicitly by a fact sensors(S ensors). , where Sensors is a listing o f the respective function symbols. This is necessary in ord er to distinguish sense fluents, ordinar y fluents, and auxiliary predicates in PI-lists. 3.5 Reasoning for ALPprolog Reasoning in ALPp rolog works as follows: For ev alu ating the prog ram atoms we read ily resort to Prolog. The reasoner for the action theory is based on the principle of prog ression. Setting out from the initial state, u pon each successful e valuation of an action’ s pr econdi- tion against the cu rrent state descriptio n, we u pdate the curren t state d escription by the action’ s effects. Reasoning about the action comes in the following form s: • Giv e n a grou nd applicable action a , fr om the curr ent state description φ ( s 1 ) and the ac tion’ s positive and negativ e effects comp ute th e descriptio n o f th e next state ψ ( s 2 ) (th e update problem) . • Giv e n a description φ ( s ) o f the curr ent state, check whether { φ ( s ) } ∪ D aux ψ ( s ) , where ψ ( s ) is some state formu la in s , but not a sense fluent (the entailment prob- lem). • For a sensing ac tion, i.e. a q uery Holds ( S ( x ) , s ) , integrate the sensing resu lts ob- served into the agent’ s state knowledge (the sensing problem). In the following we conside r each of these reasoning problems in turn. 3.5.1 The Update Pr oblem It tur ns o ut that solving the update p roblem is very simple. Let State be a gro und PI- List, and let Update b e a list of ground fluents. The repr esentation o f the next state is then computed in two steps: (1) First, all prime implicates in St ate that contain eithe r an effect from U pdate , or its negation, are deleted, resulting in State1 . (2) The next s tate NextState is gi ven by the un ion of State1 an d Update . Starting from a ground initial state only ground states are computed. The co rrectness of this proc edure can b e seen e.g. as follows: In ( Liu et al. 2006; Drescher et al. 2009) algorithm s fo r c omputin g up dates in a Fluent Calcu lus based upon Descrip tion Logics h ave been developed. The above upd ate alg orithm constitutes a special ca se of these algorithms. ALPpr olog — A New Lo gic Pr ogramming Method for Dynamic Domains 13 3.5.2 The Entailment Pr oblem When ev aluating a clause ψ again st a grou nd prime state form ula φ , ψ is fir st split in to the flu ent p art ψ 1 , and the n on-fluen t part ψ 2 . It then holds th at ψ is e ntailed by φ if there is a ground substitution θ such that • ψ 1 θ is subsumed by some prime imp licate in φ ; or • some au xiliary atom P ( ~ x ) θ fr om ψ 2 can b e derived from its defining Prolo g clauses. Computing that the clause ψ 1 is subsumed by φ can b e done as follows: • If ψ 1 is a singleton, then it must be a prime implicate of φ ( modulo unification). • Otherwise there must be a prime implicate in φ that contains ψ 1 (modu lo unifica- tion). Hence the entailment pr oblem f or ALPpr olog can b e solved by member , memberch k , and subset oper ations on sorted , duplicate-fr ee lists. The following example illustrate s how reasoning in ALPprolog can be reduced to sim- ple op eration on lists. It also illustrates the limited fo rm of rea soning abo ut disjunctive informa tion av ailable in ALPpro log: Example 2 (Disjunctions and Substitution s in ALPpr o log) Assume that the curr en t state is giv en by [[at(go ld,4),at(gol d,5)]] . Then the query ?([at(gold,X)]) fails, becau se we don’t con sider disjun ctive substitution s. However , on the same cu rr ent state the query ?([[at(gold ,X),at(gold, Y)]]) succeeds with X=4 and Y=5 . 3.5.3 The Sensing Pr oblem Sensing results have to be include d into the agen t’ s state kn owledge ev ery time a sensing action is performed , i.e. a literal ?(s(X)) is evaluated. This works as follows: • First we identify the appro priate s ensor axiom sensor_axio m(s(X),Vals) . • Next we identify a ll the [X-result_i] -Index-Meani ng triples in Vals such that result_i matc hes the observed sensing result, and unify X with result_i . • W e then locate the unique Index-Meaning s.t. the curren t s tate entails Index . • Finally , we adjoin Meaning to t he current state an d transform this union to a PI-list. 3.6 Soundness of ALPprolog At the end of section 3 .3 we have already mentioned that adding sensing results to the ac- tion theo ry at runtime makes the subsequen t reasoning logically unsou nd wrt. the o riginal progr am plus action theor y . If we add the set of sensing results ob served through out a run of an ALPprolog program , howe ver , then we can obtain the follo wing soundness result: Pr oposition 1 (Sou ndness of ALPpr olog) Let Π be a ALPp r olog p r ogram on top of an action doma in D . Let Σ be the un ion of the sensor r esu lts observed during a successful derivation of the ALPpr olog query Γ with computed answer substitution θ . Then D ∪ Π ∪ Σ Γ θ . 14 Conrad Dr e scher and Michael Thielscher Pr oof (Sketch) It is well-k nown that SLD-resolutio n is sound for any o rdinary pro gram ato m. A qu ery ( ∃ ) Holds ( φ, s ) , wher e φ is not a sense fluent, is on ly evaluated successfully if ther e is a sub stitution θ such that D ( ∀ ) Holds ( φ, s ) θ . A ssume we observe the sen sing result R i ∈ R fo r a sense fluent S ( x, s ) . In gen eral we ha ve (cf. Definition 7): D ( ∀ ) Holds ( S ( x, s )) ∧ _ R ∈R x = R, but D 2 ( ∀ ) Holds ( S ( x, s )) ∧ x = R i . For soun dness, we hav e to add the observed sensing result as an ad ditional assump tion to the theory: D ∪ { Holds ( S ( R i , s )) } ( ∀ ) Holds ( S ( x, s )) ∧ x = R i . 4 Evaluation W e have ev aluated the per forman ce o f ALPprolog via the so-c alled W um pus W orld (Russell and Norvig 2003) that is a well-k nown challen ge p roblem in the reasoning abou t action commun ity . Essen- tially , the W um pus W orld is an extended version o f the gold-h unter dom ain from exam- ple 1. The main fe atures that make it a goo d challenge proble m are incomplete inf ormation in th e form of disjunc tions a nd unkn own prop ositions, an d reasoning abou t sensing results. W e have used both Flux and ALPp rolog to solve W u mpus W orlds of size u p to 32 × 32 . 4 W e h av e done this using three different m odellings: (1) In ( Thielscher 2005b) a Flux model is described that uses quan tification over vari- ables — this is beyond ALPprolog. (2) W e have evaluated both langu ages on a ground model. (3) W e h av e artificially inc reased the size of th e gr ound model by makin g the co nnec- tions between cells part of the state knowledge. A first observation is that b oth lang uages r oughly scale equa lly well in all models. Using (1) Flux is sligh tly faster than ALPpr olog using (2 ). Let us the n point out th at on gro und models Flux an d AL Pprolog maintain the sam e state represen tation: Flux also compu tes the prim e implicates. On the encod ing (2) ALPpro log is ro ughly o ne order of mag nitude faster than Flux, wh ereas on (3) th e dif f erence is already two orders o f magn itude. The ke y to the good per forman ce of A LPprolog then is that it h andles large state represen tations well: By en coding states as sorted lists (of lists) some of the sear ch effort necessary in Flux can b e av o ided. If, h owe ver, we use Flu x’ capab ility of hand ling quantified variables in th e state k nowledge for a m ore concise en coding, th en AL Pprolog an d Flu x ar e ag ain on par, w ith Flux even ha ving sligh tly the edge. In gen eral, we expect ALPprolog to excel on proble m domains that feature large state representa tions that are not easily compre ssed using quantification. It has alread y been established that Flux gains continu ously over standard Golo g the more actions have to b e perfor med (Thielscher 2005 a). As AL Pprolog scales as well as Flux the same ho lds for ALPprolog and Golo g. T he version of Golog with pe riodically progr essed state knowledge is sli ghtly slower than Flux (Sardina and V ass os 2005). 4 The distrib ution of AL Pprolog contai ns the Wumpus W orld ex ample for both ALPprolog and Flux. ALPpr olog — A New Lo gic Pr ogramming Method for Dynamic Domains 15 Let us also compare ALPpro log, Flux, and Golog from a knowledge representa tion per- spectiv e: Both ALPp rolog and Flux allow the pr ogramm er to d efine new auxiliary pr edi- cates fo r the agent strategy that are not p resent in th e ac tion theo ry , a practically very useful feature that is missing from Golog. Also, the prop ositional variables used in Golog instead of the finitely many gro und terms used in ALPp rolog m ake it hard for th e program mer to fully e xploit the power of Prolog’ s unificatio n m echanism. In this regard Flux, on th e other hand, excels in that the pro grammer can in clude fluen ts con taining (p ossibly qu antified) variables in the ag ent’ s state knowledge. Contr ary to ALPprolog and Golog, howe ver , Flux does not support arbitrary disjunctions. 5 Conclusion and Future W o rk In this work we h av e presented AL Pprolog , an efficient logic progr amming langua ge for the onlin e co ntrol of au tonomo us agents in dom ains th at feature incomplete inform ation and sensing. On th e one h and, it can b e argued th at the state-of -the-art lang uages Golog and Flux already successfully addr ess this application doma in. On the other hand, we hav e shown that ALPprolo g excels b ecause of its efficient reasonin g with large gr ound state representatio ns, somethin g that we expect to be quite useful in practice. For f uture work, th ere are two in teresting direction s: On the o ne h and it would be nice to extend ALPprolo g to offline planning . The disjunctive substitution s in the ge neral ALP proof calculus provide a powerful fo rm of reasoning about conditional p lans, or plannin g in the presence of sensing in the sense of (Lev esque 1996). On the o ther hand we plan to fruitfu lly apply ALPpro log in the dom ain of General Game Playin g. General Game Playing (Genesereth et al. 2005) is a new exciting AI re- search challeng e aiming at th e integration of manifo ld AI tech niques: A progr am (also called a player) is given an axiomatisation of the r ules o f a game. Th e player th en com putes a strategy/heuristic that it uses to play and hopefully win the game. The main challenge of General Game Playing consists of constructing suitable heuristics. Howe ver, at its base th e p layer also needs a means to rep resent, an d r eason about, the state of the game. Up to now the games p layed in Gen eral Game Playing hav e be en re- stricted to co mplete in formation (Love et al. 200 8) — but clearly games with incomp lete informa tion constitute a b igger challen ge (Th ielscher 2010a). W e intend to include tech- niques f rom A LPprolog into the successfu l Flux -based Fluxplayer (Schiffel and Thielsch er 2007). Acknowledgements. W e appreciate the helpf ul c omments by t he re viewers. Th is work w as partially supported by DFG Grant TH 541 /14. C. Drescher wis hes to acknowledge su pport by EPSRC Gra nt EP/G05511 4/1. M. Thielscher is the rec ipient of an Au stralian Research Council Fu ture Fellowship (project number FT 0 9913 48). He is a lso affiliated with the University of W estern Syd ney . References B O R D I N I , R ., H ¨ U B N E R , J . , A N D W O O L D R I D G E , M . 2007. P r ogramming Multi-Agent Systems i n AgentSpe ak using J ason . Wiley . D R E S C H E R , C . , L I U , H ., B A A D E R , F., G U H L E M A N N , S . , P E T E R S O H N , U . , S T E I N K E , P . , A N D 16 Conrad Dr e scher and Michael Thielscher T H I E L S C H E R , M . 2009. Putting abox updates into action. In Pr oceedings of the Seven th Interna- tional Symposion on F ro ntiers of Combining Systems (F r oCoS 2009) . T rento, Italy . D R E S C H E R , C . , S C H I FF E L , S . , A N D T H I E L S C H E R , M . 2009. A declarativ e agent programming language based on action theories. In Pro ceedings of the Seventh International Symposion on F r ontiers of Combining Systems (F r oCoS 2009) . T rento, Italy . G E N E S E R E T H , M . R . , L OV E , N . , A N D P E L L , B . 2005. Gen eral game playing: Overvie w of the AAAI competition. AI magazine 26, 2, 62–72. H E R Z I G , A . A N D V A R Z I N C Z A K , I . 2007. Metatheory of actions: Beyond consistency . Artificial Intelligence 171, 16–1 7, 951–984. J . W. L L O Y D . 1987. F oundations of Logic Pr ogr amming . S pringer . L E V E S Q U E , H. , R E I T E R , R . , L E S P ´ E R A N C E , Y . , L I N , F., A N D S C H E R L , R . 1997. GOLOG: A log ic programming language for dynamic domains. Journal of Logic Pr ogra mming 31, 1–3, 59–83. L E V E S Q U E , H . J . 1996. What is planning in t he presence of sensing? In Pr oceedings of the Thir - teenth Nationa l Confer ence on Artificial Intelligence (AAAI 1996 ) . Portland, Ore gon, USA, 11 39– 1146. L I U , H . , L U T Z , C . , M I L I C I C , M ., A N D W O LT E R , F. 2006. Upd ating description logic ABoxes. In Pr oceedings of the T enth International Confer ence on Principles of Knowledge Represe ntation and Reasoning (KR 06) . Lake District of the UK. L OV E , N . , H I N R I C H S , T., H A L E Y , D . , S C H K U F Z A , E . , A N D G E N E S E R E T H , M . 2008. General game playing: Game description language specification. T ech. rep., Stanford Univ ersity . M C C A RT H Y , J . A N D H AY E S , P . J . 1969. Some philosophical problems from the st andpoint of a rtifi- cial intelligence. In Machine Intellig ence 4 , B. M eltzer and D. Michie, Eds. Edinb urgh Uni versity Press, 463–50 2. R E I T E R , R . 2001a. Knowledge in Action: L ogical F oundations for Describing and Implementing Dynamical Systems . MIT P ress, Cambridge, MA. R E I T E R , R . 2001b . On knowledge -based programming with sensing in the situation calculus. ACM T ransactions on Computationa l Logic 2, 4, 433–457. R U S S E L L , S . J . A N D N O RV I G , P . 2 003. Arti ficial Intelligence: a modern app r oach , 2nd international edition ed. P rentice Hall, Upper Saddle Riv er, N.J. S A R D I N A , S . A N D V A S S O S , S . 2005 . The wumpus world in IndiGolo g: A preliminary repo rt. In Pr oceedings of the W orkshop on Nonmonotonic Reasoning, Action and Change at IJCAI . S C H I FF E L , S . A N D T H I E L S C H E R , M . 2007. Fluxplayer: A successful general game player . In Pr oceedings of the T wenty-second National Confer ence on Artificial Intelligence (A AAI 2007) . AAAI Press, Menlo Park, CA, 1191 –1196. T H I E L S C H E R , M. 1999. From situation ca lculus to fluent calculus: State update axioms as a s olution to the inferential frame problem. Artificial Intelli genc e 111, 1–2, 277–299 . T H I E L S C H E R , M . 2005a. FLU X: A logic prog ramming method for reasoning agents. Theory and Practice of Logic Pr ogr amming 5, 4–5, 533–565 . T H I E L S C H E R , M . 2005b . A FLUX agent for the W umpus W orld. In Pro ceedings of the W orkshop o n Nonmonotonic Reasoning , Action an d Chang e at IJCAI , L. Morgenstern an d M. P agnucco, Eds. Edinbur gh, UK, 104–108. T H I E L S C H E R , M . 2010 a. A general game desc ription l anguage for inco mplete i nformation games. In P r oceedings of the T wenty-fourth National Conferen ce on Arti ficial Intell igence (AAA I 2010) . AAAI Press, Atlanta, 994–999 . T H I E L S C H E R , M . 2010b . Integrating action calculi and AgentSpeak: C losing the gap . In Pr oceed- ings of the I nternational Confer ence on Principles of Knowledge Repr esentation and Reasoning (KR) . T oronto, 79–89. T H I E L S C H E R , M . 2011. A unifying action calculus. Artificial Intelligence J ournal 175 , 120–141.
Original Paper
Loading high-quality paper...
Comments & Academic Discussion
Loading comments...
Leave a Comment