CS 452 - PowerPoint PPT Presentation

About This Presentation
Title:

CS 452

Description:

... is important to teaching computers how to play games effectively. ... Generally each agent has one heuristic which serves as a strategy on how to play the game. ... – PowerPoint PPT presentation

Number of Views:96
Avg rating:3.0/5.0
Slides: 18
Provided by: lui9
Learn more at: http://www.cs.cmu.edu
Category:
Tags: how | play | to

less

Transcript and Presenter's Notes

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
2
Introduction
  • 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.

3
Introduction (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.

4
Introduction (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

5
The 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.
6
The 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.

7
The Agent System
Figure 1 Diagram of the systems overall
structure.
8
The 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

9
Some 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.
10
About 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.
11
Planning 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.

12
Heuristic
  • 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.

13
Heuristic (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.

14
Agents 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.

15
Agents 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
16
Conclusion
  • 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.

17
Conclusion (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.
Write a Comment
User Comments (0)
About PowerShow.com