220 likes | 341 Views
RADAR – Scheduling Task. May 20, 2003. Manuela Veloso, Stephen Smith, Jaime Carbonell, Brett Browning, (Jay Modi, Eugene Fink). The Challenge. Main Functions -- Calendar Management Respond to meeting requests (extracted from ongoing email stream)
E N D
RADAR – Scheduling Task May 20, 2003 Manuela Veloso, Stephen Smith, Jaime Carbonell, Brett Browning, (Jay Modi, Eugene Fink)
The Challenge • Main Functions -- Calendar Management • Respond to meeting requests (extracted from ongoing email stream) • Initiate meetings requests and establish meetings • Continuously acquire user preferences and negotiation profiles • Why not yet available • Requires capture and use of complex, ill-structured user preferences • Continuous scheduling • Management of rich multi-threaded information exchange under conflicting constraints and preferences • Why now • Explore collaborative, user + EPCA, scheduling • Build upon integration of many leading technologies, I.e., information extraction, constraint satisfaction, iterative scheduling • Log, analyze, learn profiles to incrementally improve scheduling
Calendar Scheduling is Complicated • Meeting constraints may be hard to satisfy, requiring counter proposals, or relaxing, or negotiation • Pre-emption of a meeting can cause a ripple effect • Users do not put all commitments in their calendars • It may be necessary to secure additional resources (e.g., room, projection facilities) • Preferences and interaction protocols will vary according to context and participants involved • There may be several meeting requests in various stages of commitment at any given time
Diversity and Complexity • Can we meet tomorrow at 10am? • Can we meet with Pat some time this week? • The admissions committee needs to meet every week until the end of February. • The interested teaching AI faculty need to meet to schedule the courses for the Fall. • We should arrange an AI retreat, as the one we did a few years ago. Templates
The Approach User Editor Calendar Display Preferences and Profiles Learning Processes Email Stream Knowledge Base Extractor Message Stream Manager Scheduler Email Stream Need for “Sliding Autonomy”
Pending Commited Infeasible 11:00 - 12:30 2:00 - 3:00 4:00 - Scheduler: Responding to a Request Request: Template, T • When: Thursday 15th • Duration: 1 hour • Who: Visiting Researcher (Priority: “medium”) • Where: 1502E NSH Response, R: • 4:00 - 6:00 … but would 1/2 hour be sufficient? Policy preference: Avoid lunch hour Pending reservation but lower priority … Preference Order: 4:00 - 6:00 2:00 - 3:00 11:00- 12:00 Evaluate Options Threshold Generate Options
Manager: Multi-Thread Processing Steve Student Raj 10am? Manuela Time Confirmed Pending Student, Steve 10am 12pm Meeting request for blocked time Manuela’s Calendar 2pm 4pm
Manager: Multi-Thread Processing Steve Student Resch. 12pm? Raj 10am? Manuela Time Confirmed Pending Student, Steve Raj 10am Student, Steve 12pm Conflict: try rescheduling Manuela’s Calendar 2pm 4pm
Manager: Multi-Thread Processing Steve Student Resch. 12pm? Raj 10am? Manuela Time Confirmed Pending Student, Manuela 10am Student Student, Manuela 12pm Conflict: try rescheduling Steve’s Calendar 2pm 4pm
12pm okay Manager: Multi-Thread Processing Steve Student Resch. 12pm? Raj 10am? Manuela Time Confirmed Pending Manuela, Steve 10am Manuela, Steve 12pm No conflict Student’s Calendar 2pm 4pm
12pm okay 4pm? Manager: Multi-Thread Processing Steve Student Resch. 12pm? Raj 10am? Manuela Time Confirmed Pending Student, Steve Raj 10am Student, Steve 12pm Another meeting Manuela’s Calendar 2pm Brett 4pm
12pm okay 2-4pm better 4pm? Manager: Multi-Thread Processing Steve Student Resch. 12pm? Raj 10am? Manuela Time Confirmed Pending Student, Manuela 10am Student 12pm Rescheduling difficult: suggest an alternative Steve’s Calendar Student, Manuela 2pm Student, Manuela 4pm
12pm okay 2-4pm better 2pm? 4pm? Manager: Multi-Thread Processing Steve Student Resch. 12pm? Raj 10am? Manuela Time Confirmed Pending Student, Steve Raj 10am 12pm Choose best alternative Manuela’s Calendar Student, Steve 2pm Brett 4pm
12pm okay 2pm okay 2-4pm better 2pm? 4pm? Manager: Multi-Thread Processing Steve Student Resch. 12pm? Raj 10am? Manuela Time Confirmed Pending Manuela, Steve 10am 12pm Pending Student’s Calendar Manuela, Steve 2pm 4pm
12pm okay 2pm okay 2pm confirmed 2-4pm better 2pm? 4pm? 10am confirmed Manager: Multi-Thread Processing Steve Student Resch. 12pm? Raj 10am? Manuela Time Confirmed Pending Raj 10am 12pm Confirmed Manuela’s Calendar Student, Steve 2pm Brett 4pm
Main Tasks • RESPONDING to a request for availability • Multi-thread conflicting: • request, availability, response, reschedule • INITIATINGorganizing a meeting • Request meeting • Collect replies • Merge and solve scheduling • Until solution is found • LEARNING • Priorities, contexts, profiles
History … mtg i R* … T T T Pending … T T Manager and Scheduler Knowledge Base • Preferences • Profiles Email Extractor T Manager Scheduler Email Generator
History … mtg i … mtg i+1 R* … T T T Pending … T T Manager and Scheduler Knowledge Base Email Extractor T Manager Scheduler T’ Email Generator
The Science • Algorithms • Dynamic, incremental constraint-based reasoning • Priority-, preference-driven minimum disruption optimization • Main open questions • How to effectively computer assist a user in calendar management? • How to represent and exploit an ill-structured set of calendar scheduling preferences and profiles? • How to learn these preferences and profiles from episodic logging? • Novel ideas for open questions • Collaborative meeting scheduling based on context and history • Acquired preferences in different contexts • Acquired beliefs of scheduling preferences of others • Determination of profiles for management • Use of learned profiles to overcome user burden managing calendar • Direct, closed loop integration with user email stream
Learning • Accumulation of episodes • Control learning – State/action models • Probabilistic dependencies • Statistical strategy selection • Multiagent learning
The Impact • Scientific advances • Continuous mixed-initiative scheduling • Multi-threaded process management and logging • Learning of interaction preferences and profiles • Seamless integration of scheduler, manager, learner • Performance • Full implementation – RADAR improves user’s activity • GEMs – Generalized modules for similar activity management – extend to space task
The Plan • Next Steps • Collecting data from the team • Templates as a stub for email extractor • Representation of scheduling preferences and profiles • Assemble architecture: • Scheduler, manager, knowledge base, user, learner • Scheduling engine • Logging of scheduling process • Long Run • Learning over collected data • Development of protocols and algorithms for distributed resolution of scheduling conflicts • Multiagent collaboration and sharing among EPCAs