320 likes | 334 Views
Online Interactive Problem-Solving Venkateshwar Rao Thota Constraint Systems Laboratory University of Nebraska-Lincoln. Outline. Strategies for problem solving GTAAP Interactive system Conclusions & future work. Strategies for problem solving. Batch processing
E N D
Online Interactive Problem-Solving Venkateshwar Rao Thota Constraint Systems Laboratory University of Nebraska-Lincoln
Outline • Strategies for problem solving • GTAAP • Interactive system • Conclusions & future work
Strategies for problem solving • Batch processing • Executing a series of non-interactive jobs all at one time • Interactive problem-solving • Interactive applications respond to commands as the user enters them • Computer and user work side-by-side to define, analyze, and solve a problem
Start Build a model Problem instance Run solver Is Solution found? No Yes Output solution Exit Steps in batch processing • Analyze the problem • Build a model • Choose a solver and post problem instance • Wait until a solution is found or a termination condition is reached
Search algorithms may not terminate in a reasonable amount of time Constraints may not be amenable to formal modeling Political correctness Preferences may vary with time and users User Cannot control search (its focus, progress) Cannot provide hints to break ties, balance tradeoffs Cannot modify/adapt problem encoding during processing without restarting from scratch Deficiencies of batch processing
Advantages of interactive processing • User • has direct control of decisions being made • can enforce online personal preferences and alternative conditions • Goal: exploit • The processing power of computers and their ability of maintaining consistency • The human's domain expertise and intuition for creative solving abilities
Start Build a model Problem instance Interactive solver Obtain user hints Reformulate problem Is Solution found? Output solution Yes No Exit Steps in interactive problem solving • Build a model • Post model to the interactive solver, which removes inconsistencies • User offers hints, makes or removes decisions • Update model and re-post to interactive solver
Outline • Strategies for problem solving • GTAAP: • Background, problem modeling, system architecture • Interactive system • Conclusions & future work
GTAAP • Given • A set of academic tasks • A set of GTAs to assign to these tasks • A set constraints restricting combinations • Find a consistent & satisfactory assignment • Consistent: assignment breaks no (hard) constraints • Satisfactory: assignment maximizes • number of courses covered • happiness of the GTAs
GTAAP as a CSP • Variables • Courses involving grading, conducting lectures, labs & recitations • Values • GTAs + preference for each course (variable). • Constraints • Unary: • ITA-certification, enrollment, time conflict, zero preferences, etc. • Binary: • Equality: Courses should have same GTAs • Mutex: Courses should have different GTAs (overlapping) • Non-binary: • Same-TA, capacity, confinement constraint
Server Environment (cse.unl.edu) Client Student Web-interface Profile Information Database (GTAs & Courses) Course Information Student Manager Web-interface HireGTAs Setup courses Interactive system Manager Interactive selections Interactive Solver GTAAP: System architecture
Outline • Strategies for problem solving • GTAAP • Interactive system • Motivation & requirements • Components • Visual interfaces • Algorithms • Database • Conclusions & future work
Manual solving Too many constraints: Tedious & error prone Unsatisfactory assignments Difficult to test alternative assignments Automated solvers BT [Glaubius], LS [Zou], ERA [Zou], RDGR [Guddeti] Large search space Often over-constrained (problematic for incomplete solvers) Difficulties of GTAAP
Interactive processing General requirements • A visual interface for user interaction • An algorithm that • Accounts for user’s input and integrates it into the problem encoding • Propagates the effect of the decision to prepare the new encoding for another input from user • A database to store • Problem data (perhaps, also intermediate encodings) • Alternative partial or complete solutions
Visual interface • Interface • Offers dual perspective: Course & GTA-centered • Shows legal choices: • possible (blue) • un-available (pink) • Sorts legal choices by decreasing preference and shows available capacity • User actions • Make an assignment (GTA to course, course to GTA) • Undo an assignment
Dual perspective Course-centered view GTA-centered view
Course-centered view Course name Course load Course number, section Course timings and days Assigned GTA Consistent GTAsList of available GTAs for assignment GTA Preference for course GTA name Available GTA capacity Inconsistent GTAsList of busy GTAs who cannot be assigned
GTA-centered view Courses assigned to GTA Advisor GTA name Speak test, ITA qualification, GTA capacity Courses that are available for assignment to GTA Courses that cannot be assigned GTA Preference for course Course number – section Course load Course name
Visual interface: Other features • Show / Hide displayed attributes • Each attribute has an accessor method for controlling its display, thus allowing easy addition and removal of new attributes • Sorting according to an attribute Sorting functionality
Visual interface: summary • An online web-based interface, available anytime & anywhere • Intuitive and easy to use • Offers a flexible dual perspective • Allows user to undo decisions • Instantly displays consequences of actions • Provides a sorting functionality for displaying results
Algorithms for interactivity • Algorithms: efficient algorithms for maintaining problem consistency • Node-Consistency (NC) algorithm • Arc-Consistency (AC) algorithm • Propagation of available capacity (arc-consistency on a global constraint) • Functionalities • Making / undoing assignments • Propagating effect of modifications, including capacity
Web-Server Interactive Solver (LISP based daemon process) Port file Interactive selections web-interface (PHP scripts) Consistency Algorithms SocketListener LISP command prompt CSP modelGTAAP structures MySQLDatabase TCP/IP connection Function access Database connection The algorithms in the system Server environment Client Manager (browser)
Basic consistency algorithms • Node-consistency (NC) • Goes through each course • Ensures that all listed GTAs are legal • Arc-consistency (AC) • Goes through every binary constraint • Ensures that a GTA x is listed for one course only when there is another GTA y listed for the other course consistent with x given the binary constraint between the two courses, otherwise it removes GTA x • Propagating capacity constraint • Goes through all courses requiring a given GTA • Ensures that the course load does not exceed the GTA’s capacity
Assignment Start • Assign GTA to course • Update capacity • Update domains • Propagate capacity • Perform AC Set course TA g Capacity(g) Capacity(g) - Load(c) Domain(c) {g} For all unassigned courses,Propagate capacity of g Perform arc-consistency Exit
Unassignment Start • Remove the course assignment • Update capacity • Do all the previous assignments and propagate the capacity • Run AC Unassign g from c Capacity(g) = Capacity(g) + Load(c) Store current assignments Reset all course domains For each stored assignment <c’,g’>1.Set course TA (c’) g’2.Domain(c’) {g’}3.Propagate capacity of g’ Perform arc-consistency Exit
DataBase • Change problem definition [Lim] • Save / retrieve scenario • All the saved scenarios will be lost when data is re-fetched. Saved scenarios
Outline • Strategies for problem solving • GTAAP • Interactive system • Conclusions & future work
Implementation of interactivity • The visual interface in PHP • The propagation algorithmsin LISP • The database in MySQL[Lim] • We added 2 tables for storing alternative solutions
Final note • Conclusions • Intuitive, facilitates problem solving • Helps manager assessing needed resources • Supports the quick development of ‘stable’ solutions • Future work • Comparison and combination of partial solutions • Cooperative, hybrid search • Visualization of solution space
Thank you for your attention I welcome your questions…