Towards Answer Set Programming Based Architectures for Intelligent Agents
MetadataShow full item record
The design of intelligent agents is an important research area in the field of Artificial Intelligence. Research in this area has led to the development of agent architectures that support various tasks such as reasoning, planning, diagnosis etc. One such architecture is based on the agent repeatedly executing the observe-think-act loop. In this architecture a dynamic system is viewed as a transition diagram whose nodes represent possible physical states of the system and whose arcs are labeled by actions. One of the approaches to describing these diagrams is a theory based on action languages, which are high-level languages for reasoning about actions and their effects. One such action language is AL. A theory in AL describes a transition diagram that contains all possible trajectories of a given dynamic system. However, it was not designed to reason about properties of a domain that change continuously with time. In this dissertation we present action language H which extends AL with the ability to reason about continuous change. We design this language by extending the signature of AL with a collection of numbers for representing continuous time and a collection of functions defined over time (processes). Like AL, H is based on transition diagram based semantics. We model a variety of examples in H to demonstrate that H is very useful for knowledge representation. We compared H with other approaches and discovered that action descriptions of H are simpler, concise and elaboration tolerant. We studied timed automata and discovered that H expands timed automata. An action description of AL is implemented by translating it into a program of answer set programming (ASP) and computing answer sets of the resulting program. Thus, various tasks of the agent can be reduced to asking questions about answer sets of programs. In this dissertation, we came up with an encoding of action descriptions of H into a variant of ASP called AC. Using this encoding, several agent tasks can be reduced to asking questions about answer sets of AC programs. With the help of existing solvers we are able to run our encodings and confirm that the resulting answer sets are the ones we expected.