An agent is "autonomous" programming code that can perceive elements of the machine state, can process those perceptions, and then make some change to the machine state. There are many different kinds of implementations of agents. The implementations of agents in OCOPOMO are declarative and rule-based.

The essential features of agents are that they are comprised of programming code that accesses elements of the state of the computer, code to take those elements of the machine state as inputs to methods that calculate means of changing the machine state and then changes its machine state (the agent's environment).  This definition (which is very basic and one of many) can be stated equivalently as "An agent is comprised by a perceptor, a processor and an effector".

The agents implemented within the OCOPOMO project are declarative and rule-based.  An agent is declarative if its perceptor is the facility to access a database containing logic-like clauses and its effector is the facility to assert new clauses to the database.  The agent is rule-based if it has a rule base comprised by if-then rules where the if side (commonly called the left-hand side) contains clauses with variables that can be unified with fully instantiated clauses on the database and the then side (or right-hand side) contains other clauses with variables that are instantiated by successful unification of the left-and-side variables.  If all left-hand-side clauses are instantiated so that all variables in the right-hand-side clauses are also instantiated, then the rule is said to "fire" which means that is fully instantiated right-hand-side clauses are added to the database.

A (perhaps the) major virtue of agents is that they can interact with one another.  This feature supports the modeling of social interaction in general.  This interaction leads to emergent results at model level that cannot b explained by individual behaviour alone.  This emergent behaviour is closely related to complexity in the sense of complexity science.

Document Actions

Comments (0)