1 / 11

G54DIA

G54DIA. TUTORIAL #2 Julian Zappala. Tutorial Overview. This tutorial covers common problems associated with the task environment: Exploring the task environment: searching for a well/task Processing percepts detecting a well/task Managing state not running out of fuel

Download Presentation

G54DIA

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. G54DIA TUTORIAL #2 Julian Zappala

  2. Tutorial Overview • This tutorial covers common problems associated with the task environment: • Exploring the task environment: • searching for a well/task • Processing percepts • detecting a well/task • Managing state • not running out of fuel • remembering wells/tasks • accomplishing tasks • But first....

  3. Questions about the Java Package? <<Action>> MoveAction MoveTowardsAction RefuelAction LoadWaterAction DeliverWaterAction RefuelAction() execute() LoadWaterAction() execute() execute() MoveTowardsAction(Point) execute() DeliverWaterAction(Task) execute() MoveAction(int) execute() North : int South : int East : int West : int NorthEast : int NorthWest : int SouthEast : int SouthWest : int

  4. Objectives of Exploration • To characterise the environment? • To characterise features within the environment? • To identify useful features of the environment? • What do we mean by "useful"? • All of the above? • Other ideas?

  5. Some Constraints • The tanker can only "see" so far • Implications for how the tanker moves? • Implications for how often the view is processed? • Exploration requires fuel • How are OutOfFuelExceptions avoided? • A general problem (not just for exploration) • Maintenance goal • Other ideas?

  6. Approaches to Exploration • These are not the only approaches • Which of these seems most appropriate?

  7. Not running out of fuel • Useful method: tankerInstance.getFuelLevel() • Your approach may depend on your agent's architecture • Reactive: • If distance of tanker from fuel pump equals the amount of fuel remaining then go to the pump • Deliberative: • Incorporate fuel stops in to route planning • Advantages and disadvantages?

  8. Gathering Information: Wells & Stations • The tanker's view is an 2D array of Cells • Wells and stations are derived from DefaultCell • You may need to • test if a cell is a well: someCell instanceof Well • cast a cell to a well: (Well)someCell • Where are the wells/stations located? • getPoint(): Inherited from DefaultCell • wellInstance.getPoint() • stationInstance.getPoint()

  9. Gathering Information: Tasks • Tasks can be found a stations • Does a station have a task? • stationInstance.getTask()!=null • What information is held in a task? • taskInstance.getStationPosition() • taskInstance.getWaterDemand() (total) • taskInstance.isComplete() • taskInstance.getRequired() (remaining)

  10. How much exploration is "enough"? • Should the tanker ever stop exploration? • If so, • what criteria might signal an end to exploration? • what criteria might signal further exploration is required?

  11. Summary: Exploration • Design/Conceptual Challenges • What are the objectives of exploration? • What information can be gathered? • What are the constraints? • What is/are the strategy(ies) for this? • If multiple strategies, how are these selected? • How much exploration is "enough"? • Technical Challenges • Percepts - How is the view processed? • Memory - What data structures are required? • Persistence - How can a selected strategy persist over multiple sense/act cycles? • Other ideas?

More Related