=========================== U N K N O W N V A L U E S =========================== This file describes a technique for dealing with completely unknown room and event properties, preferences, and weights. This technique affects Optimizer, Elicitor, and GUI. -------------- Representation -------------- The XML representation allows "unknown" room properties, event properties, preferences, and weights. We can use "unknown" in all fields that allow PUDs or PLFs; however, we do not allow "unknown" for specific points of a PLF or elements of a PUD. --- GUI --- GUI displays "unknown" for unknown room properties, event properties, and weights. It flags events with unknown event weights and preference functions, since these events have a significant impact on scheduling. --------- Optimizer --------- The scoring procedure uses the worst-case assumptions about "unknown" values; that is, it computes the score for the worst possible values. () If a preference function for an event is unknown, Optimizer assumes that every assignment violates a hard preference; the only option is to reject this event. () If an event is in a room with an unknown property, Optimizer uses the minimum of the related preference function in computing the score. For example, suppose that the event includes a room-size preference, and it is in a room with unknown size. Then, Optimizer uses the minimum of the size-preference PLF in the score computation. () If a preference weight is unknown, and the value of the related preference function is greater than the weighted sum of the known preference functions, Optimizer assumes that the unknown weight is zero. If the value of the related preference function is smaller than the weighted sum of the known preferences, Optimizer assumes that its weight is much greater than the weights of the other preferences, which means that it uses the value of this preference as the overall event score. () If an event has several preferences with unknown weights, Optimizer selects the preference with the smallest value among them, disregards the other preferences with unknown weights, and uses the selected preference as described above. () If all preference weights in an event are unknown, Optimizer selects the preference with the smallest value, and uses this value as the overall event score. () If an event weight is unknown, and the happiness of this event is greater than the weighted sum of the happiness values of the other events, Optimizer assumes that the unknown weight is zero. If the happiness of this event is smaller than the weighted sum for the other events, Optimizer assumes that the overall schedule is equal to the score of this event. () If multiple events have unknown weights, the optimizer selects the lowest-score event among them, disregards the other events with unknown scores, and uses the selected event as described above. () If all request weights are unknown, Optimizer selects the event with the lowest score, and uses this score as the overall schedule score. ----------- Elicitation ----------- Elicitor includes heuristics for estimating the importance of Unknown fields. The following heuristics are tentative, and they may need improvements. () If a preference function is unknown, Elicitor estimates its importance by the happiness difference between rejecting the related event and scheduling it with maximally satisfied preferences. When determining the maximal satisfaction, it assumes that the value of the unknown preference is 1.0. () If a room property is unknown, Elicitor estimates its importance by the (appropriately weighted) difference between the maximum and minimum sum of the related preference functions. () If a preference weight is unknown, Elicitor estimates its importance by the difference between the cases when it is zero and when it is much greater than the weights of the other preferences in the same event. () If a request weight is unknown, estimates its importance by the difference between the cases when it is zero and when it is much greater than the weights of the other requests.