Title: CS 452
1 CS 452 Software Engineering Workshop
Acquire-Playing Agent System Group 1 Lisa
Anthony Mike Czajkowski Luiza da Silva
Winter 2001, Department of Mathematics and
Computer Science, Drexel University
2Introduction
- We propose a system that will incorporate
concepts of Game Theory to model a specific
domain, and of Artificial Intelligent through the
use of Intelligent Agents. - The domain chosen for this project is Avalon
Hill's strategy game Acquire. - The system will be open to the addition of new
engines. - During play, the agents will pick from a set of
heuristics to evaluate the world and decide how
to act upon it. - In general, the heuristics describe a strategy on
how to play the game.
3Introduction (cont.)
- Game theory - can be used as a tool to study
human behavior. - Formally introduced by John von Neumann in 1944.
- Many real-life uses
- In Economics Study of market behavior through
stock market agents. - In Business used in industrial organizations,
influencing competition policies. - In Biology application of game theory in the
study of evolution (evolutionary games), etc.
4Introduction (cont.)
- Agents - Autonomous entities that, in our system,
will be capable of playing a game through an
engine. - An intelligent agent is a piece of software with
an element of artificial intelligence, that
allows the software to either emulate humans or
help support them in a digital manner. - It is important to teaching computers how to play
games effectively. - Relevance of our project
5The Game of Acquire
Acquire is a game whose objective is to build up
hotel chains, buying stocks in the chains of your
choice and effecting takeovers of neighboring
chains. Players make money during these
takeovers, also called mergers. The winner of the
game is the one who has amassed the most wealth
by the time the chains reach a certain
"unmergeable" size. Acquire is a strategy-based
game, like Chess, rather than luck-based, like
roulette.
6The Game of Acquire (cont.)
- Because Acquire is a strategy-based game,
brute-force AI searching techniques are not
adequate to its solution. - Instead, planning and knowledge-based reasoning
are more efficient and effective. - We plan to build a domain engine that will
represent the state of the world and legal
actions, or operations, available to the software
agents. - The heuristics available to the agents define
certain strategies that will help them choose
actions during their turn.
7The Agent System
Figure 1 Diagram of the systems overall
structure.
8The Agent System (cont.)
- Any number of agents (the game allows up to six
players) will communicate with its engine and
with the referee through a protocol which allows
them to send and receive messages regarding their
actions and the effect they have on the world, as
well as what actions the other agents have made. - The system will be composed of the following
parts - Controller
- Agents
- Heuristic
- Planning Algorithm
- Referee
9Some definitions
Action - A concrete move an agent can make during
its turn. Some possible actions include "buy 1
stock in hotel chain Continental", or "place tile
A7", or "pick tile", or "choose new hotel chain
Imperial", and so on. Domain - the world in
which agents can interact with, specifically as
players in a game. Short-term goal - An
immediate course of action which an agent takes.
Long-term goal - A goal embodied within the
agent's heuristics which each agent seeks to
accomplish throughout game play.
10About the Engines
Engine A separate game program which contains
the rules of conduct, the world state, and a list
of actions which participants can perform. An
engine is a specific implementation of a domain.
There are two distinct engine types, the referee
and the player engine. Referee The engine which
is "in charge" of running the game progress. It
informs each agent when its turn is, what actions
are available to it, and updates the master state
of the world. Player Engine Each agent
communicates with their own local engine which
allows them to plan and consider hypothetical
scenarios while it is not their turn.
11Planning Algorithm
- Planning Algorithm - Each agent contains a
planning algorithm which plots out a series of
actions the agent will perform. - The planning algorithm plots out each state along
the way to a specific long-term goal in mind. The
planning algorithm is flexible enough to adjust
to changes in the domain that it had not
previously expected, as when new information
becomes available when another agent makes a
move.
12Heuristic
- Heuristic - An algorithm which takes as input
certain information about a domain and calculates
which action an agent can perform that is of
greatest benefit to it. - Determining the overall benefit of an action
depends on a comparison of the candidate actions
as well as hypothetical states of the game world,
and also depends on the short-term goal(s) and
long-term goal(s) of the agent. - Generally each agent has one heuristic which
serves as a strategy on how to play the game.
13Heuristic (cont.)
- Sample heuristics include aggressive strategies,
defensive strategies, passive strategies, or
combinations thereof. It will be possible to test
the strategies against each other in a game where
all agents play in a competitive mode. - Each heuristic has a mathematical maximization
formula which it uses for evaluation. - Manhattan distance - The distance between two
points measured along axes at right angles. In a
plane with p1 at (x1, y1) and p2 at (x2, y2), it
is x1 - x2 y1 - y2. Heuristics will have to
take manhattan distance into consideration when
planning moves.
14Agents communication broadcast service
- Involves how the agents talk to the engine and
use their heuristic and planning algorithm to
come up with intelligent choices. - The Agents and Engines must be able to
communicate with one another in order to plan,
make moves and play Acquire, but this is
difficult because they have to - Agree on a communication protocol.
- Be allowed to exist as independent processes.
- Be highly portable, able to move to any machine.
15Agents communication broadcast service
This is why we will design the communication
system to allow entities to be highly adaptable,
and allow multiple connections to other entities
freely.
Other Agent Connectors
Server Connector
Agent Connector
Engine
Agent
Other Agent Connectors and Engine
Figure 2 System Overview of Objects
16Conclusion
- The system is being designed with modularity in
mind. Therefore, many more heuristics could be
defined in the future. - The system has been implemented around the
Acquire domain however, we believe the same
statistical analysis of viable strategies would
be useful in many other domains, for example,
engineering design, day trading, and so on.
17Conclusion (cont.)
The system can be extended to also accept human
players, that can come up with their own
strategies. It could be possible that agent
collaboration will be allowed and also that the
user could define the level of privacy for
messages being sent back and forth.