Title: RADAR Scheduling Task
1RADAR Scheduling Task
May 20, 2003
- Manuela Veloso, Stephen Smith,
- Jaime Carbonell, Brett Browning,
- (Jay Modi, Eugene Fink)
2The 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
3Calendar 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
4Diversity 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
5The Approach
User
Editor
Calendar Display
Preferences and Profiles
Learning Processes
Email Stream
Knowledge Base
Extractor
Message Stream
Scheduler
Manager
Email Stream
Need for Sliding Autonomy
6Scheduler Responding to a Request
- Request Template, T
- When Thursday 15th
- Duration 1 hour
- Who Visiting Researcher (Priority medium)
- Where 1502E NSH
- Response, R
- 400 - 600
but would 1/2 hour be sufficient?
Policy preference Avoid lunch hour
Pending reservation but lower priority
Preference Order 400 - 600 200 - 300 1100-
1200
Evaluate Options
Threshold
Generate Options
7Manager Multi-Thread Processing
Steve
Student
Raj
10am?
Manuela
Time
Confirmed
Pending
Student, Steve
10am
12pm
Meeting request for blocked time
Manuelas Calendar
2pm
4pm
8Manager Multi-Thread Processing
Steve
Student
Resch. 12pm?
Raj
10am?
Manuela
Time
Confirmed
Pending
Student, Steve
Raj
10am
Student, Steve
12pm
Conflict try rescheduling
Manuelas Calendar
2pm
4pm
9Manager Multi-Thread Processing
Steve
Student
Resch. 12pm?
Raj
10am?
Manuela
Time
Confirmed
Pending
Student, Manuela
10am
Student
Student, Manuela
12pm
Conflict try rescheduling
Steves Calendar
2pm
4pm
10Manager Multi-Thread Processing
Steve
Student
Resch. 12pm?
Raj
10am?
Manuela
Time
Confirmed
Pending
Manuela, Steve
10am
Manuela, Steve
12pm
No conflict
Students Calendar
2pm
4pm
11Manager Multi-Thread Processing
Steve
Student
Resch. 12pm?
Raj
10am?
Manuela
Time
Confirmed
Pending
Student, Steve
Raj
10am
Student, Steve
12pm
Another meeting
Manuelas Calendar
2pm
Brett
4pm
12Manager Multi-Thread Processing
Steve
Student
Resch. 12pm?
Raj
10am?
Manuela
Time
Confirmed
Pending
Student, Manuela
10am
Student
12pm
Rescheduling difficult suggest an alternative
Steves Calendar
Student, Manuela
2pm
Student, Manuela
4pm
13Manager Multi-Thread Processing
Steve
Student
Resch. 12pm?
Raj
10am?
Manuela
Time
Confirmed
Pending
Student, Steve
Raj
10am
12pm
Choose best alternative
Manuelas Calendar
Student, Steve
2pm
Brett
4pm
14Manager Multi-Thread Processing
Steve
Student
Resch. 12pm?
Raj
10am?
Manuela
Time
Confirmed
Pending
Manuela, Steve
10am
12pm
Pending
Students Calendar
Manuela, Steve
2pm
4pm
15Manager Multi-Thread Processing
Steve
Student
Resch. 12pm?
Raj
10am?
Manuela
Time
Confirmed
Pending
Raj
10am
12pm
Confirmed
Manuelas Calendar
Student, Steve
2pm
Brett
4pm
16Main Tasks
- RESPONDING to a request for availability
- Multi-thread conflicting
- request, availability, response, reschedule
- INITIATING organizing a meeting
- Request meeting
- Collect replies
- Merge and solve scheduling
- Until solution is found
- LEARNING
- Priorities, contexts, profiles
17Manager and Scheduler
Knowledge Base
Email Extractor
T
Manager
Scheduler
Email Generator
18Manager and Scheduler
Knowledge Base
Email Extractor
T
Manager
Scheduler
T
Email Generator
19The 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
20Learning
- Accumulation of episodes
- Control learning State/action models
- Probabilistic dependencies
- Statistical strategy selection
- Multiagent learning
21The 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 users
activity - GEMs Generalized modules for similar activity
management extend to space task
22The 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