My recent research interests can be categorized to two related themes: (i) Knowledge representation, reasoning and declarative problem solving, and (ii) Actions, change and histories: formal theories and applications.


Representing knowledge and reasoning with it is fundamental to many tasks and many disciplines. Knowledge comes in various forms from common-sense knowledge that guide us not to get wet in the rain to specific domain knowledge that tell us to buy a ticket before taking a plane to declarative knowledge about what it means to be a good parent and so on. One important facet of intelligent systems is to be able to represent knowledge and reason with it to behave intelligently. This leads to the fundamental quest of developing a good (or appropriate) knowledge representation language.

To many the role of such a language is as fundamental as `Calculus' is to Engineering and Mathematics.

I have explored and contributed to the development of many alternative knowledge representation languages and in recent years have settled on the language AnsProlog. My book titled `Knowledge representation, reasoning and declarative problem solving' in press at Cambridge University Press (comes out in Jan 2003) is a graduate level text book cum compendium of various results about this language. I am currently working on further development of this language and also in using it for various applications. In particular, I am working on learning AnsProlog rules from large data sets and extending AnsProlog to incorporate probabilities. In the application side I am working on applications such as ontology representation, combinatorial auctions, biological knowledge representation, and problem solving related to shuttle control and autonomous agents.


An action normally changes the state of the world. For example, the action of `short-circuiting' may blow up a fuse; the action of a `ligand coming in contact with a cell membrane' may change the state of many elements inside the cell; the action of `buying a ticket' changes the state of the availability of tickets; etc. More general actions such as `sensing' or `testing' often change the state of the knowledge of the agent doing the action with or without changing the state of the world. Representing actions, reasoning about their impact on the world and/or the agent's knowledge about the world is important to formulate notions such as `planning to achieve something', `controlling a dynamical system', `diagnosing or finding explanations to observed behavior', `predicting the outcome of a series of actions and events', `predicting how the world would evolve', etc. Formulating these is a first step in solving them.

My research in this area can be categorized into several parts: (a) Developing languages for representing actions, the structure of the world, and the effects of the actions on the world. (b) Developing languages for expressing goals or directives. (c) Developing ways to achieve (b) given (a), and developing execution languages and verifying correctness (using (a)) of execution programs in these languages for a given (b).

Among the particular applications that I am currently working on are (i) the actions involved in shuttle control and (ii) the actions and environment surrounding signal pathways in cells.

Chitta Baral 11/7/02