1 / 17

CS 452 – Software Engineering Workshop

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

didier
Download Presentation

CS 452 – Software Engineering Workshop

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 system’s 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.

More Related