300 likes | 316 Views
Presentation 1: Planning & Design. Software Engineering Team 2 CIS 540, Fall 2001. The team. Dave Bacon Jason Bullok Justin Hinson Matt Hoosier Chris Orosco. Description of project.
E N D
Presentation 1: Planning & Design Software Engineering Team 2 CIS 540, Fall 2001
The team • Dave Bacon • Jason Bullok • Justin Hinson • Matt Hoosier • Chris Orosco
Description of project A classical strategy game, Hunt the Wumpus, requires a player to navigate through a cave to slay a man-eating beast (the wumpus).
Description of project (2) Our task is to design and implement a multiagent version of the game such that: • The agents play the game without help from human operators. • The agents can cooperate to hunt the wumpus more effectively.
Introduction: Rules • A cave consists of an n x m grid of cells.
Introduction: Rules (2) • Players may walk from one cell to another cell that is directly north, south, east, or west of their location (no diagonal moves). • Some cells contain bottomless pits. Entering such a cell kills the player.
Introduction: Rules (3) • The wumpus (immobile) is located in a randomly chosen cell. A player is eaten and dies if he enters the wumpus’s cell. • A pot of gold is located in one cell. A player is awarded bonus points for finding and collecting the gold.
Introduction: Rules (4) • The player may kill the wumpus by firing an arrow into the wumpus’s cell when the player occupies an adjacent cell.
Introduction: Sensory information • The player begins the game with no knowledge of the cave’s layout or contents. • A player smells a stench if his location is adjacent to the wumpus. • The player feels a breeze if his location is next to a bottomless pit. • The player sees a glitter if the gold is in his current room.
Reporting methods • Code reviews each meeting • Utilize pluggable architecture by demonstrating new functionality at each meeting • Conversations with individual team members
Risks • Nobody on team has prior A.I. experience. • Can we successfully re-implement the simulator engine? • Difficulty compartmentalizing the agent implementation – nextMove() algorithm will depend on all state information
Risk reduction • Study AI texts. Specific sections of textbooks exist for the “Wumpus World” problem. • Encapsulate the game logic inside abstracted “Agent” interface so that rest of project can proceed while logic is under development.
Resource requirements • Hardware • Server for CVS repository. Will be supplied by a team member. • Software • Java 2 development kit • Other • Artificial Intelligence texts
A: Define project stmt. Overall time: 1.5 weeks • Search web for similar projects (3 days) • Determine which set of rules to use for game (1 days) • Determine level of cooperation needed between agents ( 3 days ) • Integrate above results into project statement as given in this presentation. (2 days)
B: Produce object model • Overall time: 1 week • Produce UML diagram of existing simulator (2 days) • Determine what abstractions are re-usable (1 day) • Create a model that allows data hiding, encapsulation, and interchangeability (3 days)
C: Implement skeleton • Overall time: 1 week • Generate stub interfaces for basic compilation (4 days) • Add ability for top-level engine to iterate through agents’ turns and relay units of communication (4 days)
D: Inter-agent protocols • Overall time: 3 weeks • Devise basic algorithm (2 weeks) • Map algorithm onto extension of object model (2 days) • Implement cooperative agents as Agent objects (7 days)
E: UI • Overall time: 5 weeks • Define API (interfaces) that allows generic printAgent() functionality (1 week) • Wrap a temporary text interface around the game engine (1 week) • Implement graphical ability to display current “snapshot” of game (2 weeks) • Develop cell-rendering modules that handle delegation of drawing characters (2 weeks) • Add animation to above cell renderers (2 weeks) • Integrate cell-renderers with general GUI framework (1 week)
F: “Smart” agent • Total time: 3 weeks • Build a stand-in agent with no intelligence (3 days) • Add ability for agent to determine which squares are safe/unsafe (2 days) • Implement safe route-calculation algorithm (5 days) • Logic for choosing among unsafe squares (3 days) • Find fastest way to kill wumpus once somebody discovers his location (4 days) • Add peer-to-peer passing of basic perception information (4 days)
G: Integrating strategy • Total time: 2 weeks • Adapt single-agent game logic with multi-agent strategy algorithm (1 week) • Integration testing on above result (1 weeks)
H: Overall testing • Total: 1 week • Combine GUI and simulation engine (2 days) • Test result ( 2 days ) • Write documentation (2 days)
Schedule: Gantt chart Project def. O.M. Skeleton Cooperation Graphics Smart agent Integration Testing
Schedule: projections • Schedule milestones: • Design finished: Sep. 24 • Skeleton done: Oct. 4 • GUI done: Oct. 22 • Logic done: Nov. 22 • Finish: Nov. 30
Design: background • Existing simulator is shown at left. • This engine is useful as a guide, but is not reusable.
Design: old engine problems • Model is entangled, not much abstraction. • Poor encapsulation (public member variables abound) • “Everybody knows about everybody” • Long, complex algorithms with no documentation/comments
Designs: benefits of new model • Pluggability: • Programming against interfaces allows swapping modules in/out at will • Allows incremental development of intelligence, inter-agent strategy