CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface...

35
CS4244 Group 6

Transcript of CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface...

Page 1: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.

CS4244 Group 6

Page 2: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.

Weekend Planner

Introduction

Page 3: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.

Nitin’s Part

Page 4: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.

Weekend Planner

Itinerary Planning

Page 5: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.

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

Page 6: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.

Divide and conquerRecursive tree-search approachBasic idea: Divide an itinerary into

left and right children and plan these itineraries recursively. Merge them to form a complete itinerary

Page 7: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.

Start with root nodeQuery event-selection interface

(defined later) to get n (<=5) best events

Form n child itineraries with one event each

Start recursive itinerary generation

Page 8: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.

Select an event for an itineraryDivide it into left and right children

with new constraintsPlan them recursivelyLeaf node: no more events possible

(run out of money or time)Start merging up

Page 9: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.

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 rootDisplay 5 best itineraries (more on

itinerary evaluation later)

Page 10: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.

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

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)

Page 11: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.

Rules: The search process is mainly guided by the following rules: EVENT_QUERY CREATE_CHILD_NODES MERGE MARK_READY

Page 12: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.

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

Page 13: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.

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

Page 14: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.

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)

Page 15: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.

Weekend Planner

Events Selection

Page 16: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.

Component Receive the request from itinerary

▪ Budget, time slot, start location, end location Make event instances involving selection

mechanism Sort and return

Page 17: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.

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)

Page 18: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.

Selection Mechanism Hard constraints

▪ Weather for parks▪ Adult certification for movies

Temporal and budget possibility▪ Fix-time events▪ Non-fix-time events

Page 19: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.

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

Page 20: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.

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)

Page 21: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.

Preference type Preference instance

Movie: genre Drama Action Comedy Horror Animation SF

Movie: language English Mandarin

Brand: item Clothes Cosmetics Computer CD Book

Park: natural_feature

Hill River Sea Woods

Museum: exhibition

Arts History Combination Civilization

Restaurant: cuisine

Japanese Cantonese Chinese Western IndiaThai

Italian Singaporean

Page 22: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.

Preference Combination Event instance preference combination

(geometric mean)

Client’s event preference (product)

Pinstance = pow ( ∏ pi * Pplace , 1/n+1)

Pevent = Pinstance * Ptype * Ptemporal

Page 23: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.

Sort And Return Sort all the event instances based on

Pinstance

Return the best five ones for making itineraries

Page 24: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.

Weekend Planner

Travel Mode Selection

Page 25: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.

Requirenments Check Possibility of Event Travel Mode Selection

Page 26: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.

Classes Location Mode Travel

Page 27: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.

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

Page 28: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.

Travel mode selection Leaf Case of Itinerary Planning Optimize for Cost

Page 29: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.

Weekend Planner

Itinerary Selection

Page 30: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.

Requirenments on Preference Rating Containing Events Travel Time Waiting Time

Page 31: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.

Final Preference Rating Weighted Average over time Travelling and Waiting have a Negative

Preference Rating Waiting has a Lower Rating than

Travelling

Page 32: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.

Weekend Planner

User Interface

Page 33: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.

Amit’s part

Page 34: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.

Weekend Planner

Demo

Page 35: CS4244 Group 6. Weekend Planner IntroductionItineraryEventsTravel Itinerary Selection User Interface Demo Introduction.