Foundations of Constraint Processing CSP 101: continued1 Foundations of Constraint Processing CSCE421/821, Spring 2011 www.cse.unl.edu/~choueiry/S11-421-821/

Presentation on theme: "Foundations of Constraint Processing CSP 101: continued1 Foundations of Constraint Processing CSCE421/821, Spring 2011 www.cse.unl.edu/~choueiry/S11-421-821/"— Presentation transcript:

Foundations of Constraint Processing CSP 101: continued1 Foundations of Constraint Processing CSCE421/821, Spring 2011 www.cse.unl.edu/~choueiry/S11-421-821/ All questions to cse421@cse.unl.edu Berthe Y. Choueiry (Shu-we-ri) Avery Hall, Room 360 choueiry@cse.unl.edu Tel: +1(402)472-5444 Constraint Satisfaction 101

Foundations of Constraint Processing CSP 101: continued2 Outline Motivating example, application areas CSP: Definition, representation Some simple modeling examples More on definition and formal characterization Basic solving techniques Implementing backtrack search Advanced solving techniques Issues & research directions CSP in a nutshell Constraint Logic Programming (quickly)

Foundations of Constraint Processing CSP 101: continued3 Outline Advanced solving techniques Decomposition Deep analysis (islands of tractability) Distributed CSPs Issues & research directions CSP in a nutshell Constraint Logic Programming (quickly)

Foundations of Constraint Processing CSP 101: continued4 Decomposition [Freuder & Hubbe, CP 93][Freuder & Hubbe, CP 93] Decomposition Conjunctive Disjunctive Conjunctive Disjunctive

Foundations of Constraint Processing CSP 101: continued5 Properties of decompositions Conjunctive or disjunctive? Consistent:No constraint is removed Simplifying: Size(P i ) < Size( P) Semi-complete: At least one solution is kept Complete:No solution is lost Redundant: Solutions replicated in { P i } Reducible:may be < Size( P)

Foundations of Constraint Processing CSP 101: continued6 Deep analysis Uncover particular properties, e.g. –bound the required level of consistency (islands of tractability) –predict ease/difficulty of solving a given instance Structure, topology of the constraint graph –tree, DAGs, chordal, bounded-width/induced width, k-trees, etc. Types, semantics of the constraints –linear inequalities, subsets of Allen's relations, functional, monotonic, row-convex, all-diffs, etc. Order parameter (phase transition)

Foundations of Constraint Processing CSP 101: continued7 Phase transition [Cheeseman et al. ‘91] [Cheeseman et al. ‘91] Cost of solving Mostly solvable problems Mostly un-solvable problems Order parameter Critical value of order parameter Significant increase of cost around critical value In CSPs, order parameter is constraint tightness & ratio Algorithms compared around phase transition

Foundations of Constraint Processing CSP 101: continued8 Distributed CSPs Mainly in search –Asynchronous BT (e.g., work of Yokoo) –Fine grain local search (ERA, by Liu) –Privacy of constraints More purist multi-agent approaches –Applications: scheduling & resource allocation –Based on decomposition of problem/solvers –Emerging area: Social Choice (Voting, auctions) –Let’s take a wider perspective than what is done today…

Foundations of Constraint Processing CSP 101: continued9 Multi-agent approach 1.Computational tasks: problem decomposed, replicated 2. Types of agent: broker, solver, problem, solver+problem 3. Architecture and authority: hierarchical, egalitarian, priority-based (e.g., vote) 4. Nature of communication: agent-to-agent, group, broadcast 5. Interaction strategies: cooperating vs. competing transparent vs. secretive negotiation + alliance/coalition formation

Foundations of Constraint Processing CSP 101: continued10 Computational tasks At one end of the spectrum, agents may be involved in solving heterogeneous, distinct and completely independent problems and request other agents to supply specific functionalities for the completion of the individual tasks. At the other end of the spectrum, the same problem could be replicated and assigned to all agents, which can then share their individual results with other agents incrementally in order to speed up the execution of the global computational task.

Foundations of Constraint Processing CSP 101: continued11 Types of agents An agent in the system can be any of the following: an agent that collects data from the environment and formulates the CSP a reasoning module with specific computational characteristics (e.g., various search algorithms) brokers that facilitate matching between a service seeker and a number of service providers (e.g., CORBA brokers).

Foundations of Constraint Processing CSP 101: continued12 Agent architecture.... and how authority is granted Agents could be organized in a strict hierarchy in which a given agent has full control over the activities of the agents that lie underneath it in the hierarchy. It decides how the lower level agents may cooperate while ensuring coordination with the higher-level agent. Agents could be in a strictly flat structure competing for services and rewards, either chaotically or according to some strict priority policy, for example, based on voting or time-responsiveness.

Foundations of Constraint Processing CSP 101: continued13 Communication environment Communications among agents may be conducted according to: a one-to-one schema multi-cast (i.e., one-to-group), or broadcast, where all agents in the environment have access to the content of the communicated information.

Foundations of Constraint Processing CSP 101: continued14 Type of supported interactions Agents may be cooperative, pooling their resources and capabilities to achieve a common, global objective, or they could be competitive trying to win rewards and optimize their individual gain. They could also adopt a midway strategy, dynamically forming coalitions and gathering support to acquire more resources and realize greater gains. Also, agents may be transparent about their intentions, resources, needs, and constraints or may be secretive, hiding one or the other of their strengths or weaknesses.

Foundations of Constraint Processing CSP 101: continued15 Outline Advanced solving techniques Issues & research directions CSP in a nutshell Constraint Logic Programming (quickly)

Foundations of Constraint Processing CSP 101: continued16 Research directions Preceding (i.e., search, backtrack, iterative repair, V/V/ordering, consistency checking, decomposition, symmetries & interchangeability, deep analysis) Evaluation of algorithms –worst-case analysis vs. empirical studies –random problems vs. real-world problems Cross-fertilization: –DB, SAT & theoretical computer science (TCS), mathematical programming, interval mathematics, logical inference, applications, etc. Modeling & Reformulation Extensions –Non-binary, conditional, soft constraints & preferences, etc Multi agents –Distribution and negotiation –decomposition & alliance formation

Foundations of Constraint Processing CSP 101: continued17 Outline Advanced solving techniques Issues & research directions CSP in a nutshell Constraint Logic Programming (quickly)

Foundations of Constraint Processing CSP 101: continued18 CSP in a nutshell (I) Definition: P = ( V, D, C ) Constraint graph, constraint network Finite domains Binary constraints, universal constraints Examples: map coloring, puzzles, resource allocation, temporal reasoning, product configuration, databases, spreadsheets, graphical layouts, graphical user-interfaces, bioinformatics, etc.

Foundations of Constraint Processing CSP 101: continued19 CSP in a nutshell (II) Solution technique: Search Enhancing search: constructive iterative repair Intelligent backtrack Variable/value ordering Constraint propagation Hybrid search Symmetries Decomposition

Foundations of Constraint Processing CSP 101: continued20 CSP in a nutshell (III) Deep analysis: exploit problem structure Other directions Tractability studies Graph topology Constraint semantics Phase transition -k-ary constraints (representation, efficient propagators) - continuous vs. finite domains - evaluation of algorithms (theoretical vs empirical) - cross-fertilization (mathematical program.) - preferences and soft constraints reformulation and approximation architectures (multi-agent, negotiation)

Foundations of Constraint Processing CSP 101: continued21 Outline Advanced solving techniques Issues & research directions CSP in a nutshell Constraint Logic Programming (quickly)

Foundations of Constraint Processing CSP 101: continued22 Constraint Logic Programming (CLP) A merger of  Constraint solving  Logic Programming, mostly Horn clauses e.g., Prolog) Building blocks Constraint: primitives but also user-defined –cumulative/capacity (linear ineq), MUTEX, cycle, etc. –domain: Booleans, natural/rational/real numbers, finite Rules (declarative): a statement is a conjunction of constraints and is tested for satisfiability before execution proceeds further Mechanisms: satisfiability, entailment, delaying constraints

Download ppt "Foundations of Constraint Processing CSP 101: continued1 Foundations of Constraint Processing CSCE421/821, Spring 2011 www.cse.unl.edu/~choueiry/S11-421-821/"

Similar presentations