Object Oriented Design
Goals Discussion Pacman Project Project X: OOA & D meets AI u Collaborating objects u Objects approaching / or pretending to have complexity of human beings
Pacman reflections Specification in UML u How hard was it? u How complete was the specification? Could somebody else implement it?
How to implement Ghost.move ? the big question
Object interaction complexity 1970s u Frogger: simple causality: truck hits frog u Space Invaders: indirect causality: Defender shoots laser, laser hits spaceship 1980s u Pacman: early AI: tracking, avoiding, of objects. E.g., ghosts track the pacman 1990/2000s u Simulation of human intentions, goals, emotions, communication, … name that game
Homework 6 Design and implement in AgentSheets Individual projects Due: Oct. 22
Diffusion and Hill Climbing The presence of an agent can be diffused through space allowing other agents to track agent via hill climbing The landscape can be shaped to provide navigation clues
Solution: combine hill climbing with diffusion Powerful idea: u applicable to a huge number of OO design problems u A cognitive tool to think about complex problems Origins u Hill climbing: Artificial Intelligence u Diffusion: Physics Combination => Distributed Artificial Intelligence
How to spread continuous values: Diffusion Value := (value[left] + value[right] + value[up] + value[down]) / 4 Examples u Temperature u voltage u Presence
Examples of Diffusion Bridge Builder Avalanche / mudslide Electric Diffusion Electric Ink Heat Diffusion
Example
Asymmetric Diffusion Diffusion coefficients representing asymmetric diffusion can be introduced to model... u Water flow (El Nîno) u Wind (Sustainopolis) Value := 1/n ∑u i * value i
Example 1: fire sim
Homework 6 Design and implement in AgentSheets Individual projects Due: Oct. 22
Background Created in 2000 by Will Wright at Maxis, an Electronic Arts company Grew out of series of simulation games including: SimCity (also created by Will in 1989), SimAnt, SimTower, SimEarth, … Info:
Description
Turn in Project u Sims living in house or outside At least 2 kinds of diffusions u Objects to satisfy basic needs Hunger Thirst Sleep u Objects / people to satisfy secondary needs Entertainment Comfort Documentation Same naming conventions and guidelines as usual
… and use “4448” as part of your subject line!!