1 / 35

Weekend Planner

Weekend Planner. CS4244 Group 6. Weekend Planner. Introduction. Introduction. Nitin’s Part. Weekend Planner. Itinerary Planning. Itinerary Planning. Itinerary – sequence of events and travels From start-time to end-time start-location to end-location

cece
Télécharger la présentation

Weekend Planner

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. Weekend Planner CS4244 Group 6

  2. Weekend Planner Introduction

  3. Introduction • Nitin’s Part

  4. Weekend Planner Itinerary Planning

  5. Itinerary Planning • Itinerary – sequence of events and travels • From start-time to end-time start-location to end-location • Constraints: budget, time and location • Try to find the best combination of events given the above constraints

  6. Divide and Conquer • Divide and conquer • Recursive tree-search approach • Basic idea: Divide an itinerary into left and right children and plan these itineraries recursively. Merge them to form a complete itinerary

  7. Start-up • Start with root node • Query event-selection interface (defined later) to get n (<=5) best events • Form n child itineraries with one event each • Start recursive itinerary generation

  8. Recursive Process • Select an event for an itinerary • Divide it into left and right children with new constraints • Plan them recursively • Leaf node: no more events possible (run out of money or time) • Start merging up

  9. Merge-up • Generate all combinations of left + right + parent to form new “complete” itineraries • Only complete itineraries take part in merging up process • Stop when merged up to root • Display 5 best itineraries (more on itinerary evaluation later)

  10. Implementation - Classes • Class EVENTS_SELECTED • (slot id) • (slot ready) • (slot start_time) • (slot end_time) • (slot start_location) • (slot end_location) • (slot budget) • (multislot already-chosen) • (multislot event-list) • Class Itinerary: • (slot parent) (slot child) • (slot complete (default FALSE)) • (multislot event-list) • (multislot travel-list) • (slot preference-rating (default 0)) • (slot total-cost) • (slot start-time) • (slot end-time) • (slot start-location) • (slot end-location) • (slot budget) ;;Some other flags required for processing

  11. Implementation - Rules • Rules: The search process is mainly guided by the following rules: • EVENT_QUERY • CREATE_CHILD_NODES • MERGE • MARK_READY

  12. Implementation - Rules • EVENT_QUERY • LHS: new itinerary is formed • RHS: • create EVENTS_SELECTED object • Set the start-end time, location, budget etc. • Set “ready” flag to false

  13. Implementation - Rules • CREATE_CHILD_NODES • LHS: EVENTS_SELECTED object with “ready” attribute = TRUE • RHS: • For each event in the event-list create a child node • If event list is empty then this is a leaf itinerary hence add travel

  14. Implementation - Rules • MERGE • LHS: left and right child itineraries with the same parent • RHS: • Merge the left and the right child with the parent to form a “complete” itinerary • Compute preference rating (more on this later)

  15. Weekend Planner Events Selection

  16. Events Selection • Component • Receive the request from itinerary • Budget, time slot, start location, end location • Make event instances involving selection mechanism • Sort and return

  17. Events Selection • Make Event Instances • Event types • Event instance • (defclass EVENT_INSTANCE (is-a USER) • (role concrete) • (slot start_time (default [start])) (slot end_time (default [end])) (slot duration) • (slot event_type) (slot description) • (slot location (default [nus])) • (slot expense (default 0)) (slot preference(default 0)

  18. Events Selection • Selection Mechanism • Hard constraints • Weather for parks • Adult certification for movies • Temporal and budget possibility • Fix-time events • Non-fix-time events

  19. Events Selection • Probability-Based Preferences • Events type preference • Classified based on age and gender • Example: shopping for females • Temporal preference • Example: ordinary lunch / dinner time • Event instance preference

  20. Events Selection • Event Instance Preference • Place preference • Based on public comments • Content preference • Preference type: Movie: genre • Preference instance: (Action, Comedy, Animation) • Preference value: (0.5 , 0.8 , 0.5)

  21. Events Selection

  22. Events Selection • Preference Combination • Event instance preference combination (geometric mean) • Client’s event preference (product) Pinstance = pow ( ∏ pi * Pplace , 1/n+1) Pevent = Pinstance * Ptype * Ptemporal

  23. Events Selection • Sort And Return • Sort all the event instances based on Pinstance • Return the best five ones for making itineraries

  24. Weekend Planner Travel Mode Selection

  25. Requirenments • Check Possibility of Event • Travel Mode Selection

  26. Classes • Location • Mode • Travel

  27. Possibility checking • During Event Selection • First case: Time is fixed • Second case: Time is not fixed

  28. Travel mode selection • Leaf Case of Itinerary Planning • Optimize for Cost

  29. Weekend Planner Itinerary Selection

  30. Requirenments on Preference Rating • Containing Events • Travel Time • Waiting Time

  31. Final Preference Rating • Weighted Average over time • Travelling and Waiting have a Negative Preference Rating • Waiting has a Lower Rating than Travelling

  32. Weekend Planner User Interface

  33. User Interface • Amit’s part

  34. Weekend Planner Demo

  35. Thankyou!

More Related