35
CS4244 Group 6

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

Embed Size (px)

Citation preview

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