Foundations of Constraint Processing, Fall 2005 September 12, 2005CSP 101: continued1 Foundations of...

22
September 12, 2005 CSP 101: continued 1 Foundations of Constraint Processing, Fall 2005 Foundations of Constraint Processing CSCE421/821, Fall 2005: www.cse.unl.edu/~choueiry/F05-421-821/ Berthe Y. Choueiry (Shu-we-ri) Avery Hall, Room 123B [email protected] Tel: +1(402)472-5444 Constraint Satisfaction 101
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    215
  • download

    0

Transcript of Foundations of Constraint Processing, Fall 2005 September 12, 2005CSP 101: continued1 Foundations of...

Page 1: Foundations of Constraint Processing, Fall 2005 September 12, 2005CSP 101: continued1 Foundations of Constraint Processing CSCE421/821, Fall 2005: choueiry/F05-421-821

September 12, 2005 CSP 101: continued 1

Foundations of Constraint Processing, Fall 2005

Foundations of Constraint Processing

CSCE421/821, Fall 2005:

www.cse.unl.edu/~choueiry/F05-421-821/

Berthe Y. Choueiry (Shu-we-ri)

Avery Hall, Room 123B

[email protected]

Tel: +1(402)472-5444

Constraint Satisfaction 101

Page 2: Foundations of Constraint Processing, Fall 2005 September 12, 2005CSP 101: continued1 Foundations of Constraint Processing CSCE421/821, Fall 2005: choueiry/F05-421-821

September 12, 2005 CSP 101: continued 2

Foundations of Constraint Processing, Fall 2005

OutlineMotivating 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)

Page 3: Foundations of Constraint Processing, Fall 2005 September 12, 2005CSP 101: continued1 Foundations of Constraint Processing CSCE421/821, Fall 2005: choueiry/F05-421-821

September 12, 2005 CSP 101: continued 3

Foundations of Constraint Processing, Fall 2005

OutlineAdvanced solving techniques

Decomposition

Deep analysis (islands of tractability)

Distributed CSPs

Issues & research directions

CSP in a nutshell

Constraint Logic Programming (quickly)

Page 4: Foundations of Constraint Processing, Fall 2005 September 12, 2005CSP 101: continued1 Foundations of Constraint Processing CSCE421/821, Fall 2005: choueiry/F05-421-821

September 12, 2005 CSP 101: continued 4

Foundations of Constraint Processing, Fall 2005

Decomposition• Decomposition

• Conjunctive

• Disjunctive

ConjunctiveDisjunctive

V1

V2

V3

V5

V6

V7

{ a, b, c, ...}

{ a, b, c, d}

V4

V3 V6

V7

V4

V1

V2V5

{ a, b, c, ...}

{ a, b, c, d}{ m, n, o, p}

{ .., .., .., ..}

{ .., .., .., ..}

{ .., .., .., ..}

{ .., .., .., ..}{ .., .., .., ..}

{ .., .., .., ..}

{ .., .., .., ..}{ .., .., .., ..}

{ m, n, o, p}

V4

{ .., .. }{ .., .. }

{b, c, ..}

{ .. }{ .., .. } V6

{ a, c, d}V5

{ n, o}V2

V3

V1

V1

V2

V3

V5

V6

V7

{ a, b, c, ...}

{ a, b, c, d}

V4{ m, n, o, p}

{ .., .., .., ..}{ .., .., .., ..}

{ .., .., .., ..} { .., .., .., ..}

{ .., .., .. } { .., .., .. }

V4{ a, c }

{ .., .. }

V7

V5

{ a, b }V1

V2

V3{ .., .. }

V6

{ m, p }

Page 5: Foundations of Constraint Processing, Fall 2005 September 12, 2005CSP 101: continued1 Foundations of Constraint Processing CSCE421/821, Fall 2005: choueiry/F05-421-821

September 12, 2005 CSP 101: continued 5

Foundations of Constraint Processing, Fall 2005

Properties of decompositions

}P,,P,{P i21 P• Conjunctive or disjunctive?

• Consistent: No constraint is removed

• Simplifying: Size(Pi) < Size( P)

• Semi-complete: At least one solution is kept• Complete: No solution is lost

• Redundant: Solutions replicated in { Pi}

• Reducible: may be < Size( P)

Page 6: Foundations of Constraint Processing, Fall 2005 September 12, 2005CSP 101: continued1 Foundations of Constraint Processing CSCE421/821, Fall 2005: choueiry/F05-421-821

September 12, 2005 CSP 101: continued 6

Foundations of Constraint Processing, Fall 2005

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)

Page 7: Foundations of Constraint Processing, Fall 2005 September 12, 2005CSP 101: continued1 Foundations of Constraint Processing CSCE421/821, Fall 2005: choueiry/F05-421-821

September 12, 2005 CSP 101: continued 7

Foundations of Constraint Processing, Fall 2005

Phase transition [Cheeseman et al. ‘91]

Cos

t of

sol

ving

Mostly solvable problems

Mostly un-solvable problems

Order parameterCritical value of order parameter

• Significant increase of cost around critical value• In CSPs, order parameter is constraint tightness & ratio

• Algorithms compared around phase transition

Page 8: Foundations of Constraint Processing, Fall 2005 September 12, 2005CSP 101: continued1 Foundations of Constraint Processing CSCE421/821, Fall 2005: choueiry/F05-421-821

September 12, 2005 CSP 101: continued 8

Foundations of Constraint Processing, Fall 2005

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– In scheduling & resource allocation– Based on decomposition of problem/solvers

• Let’s take a wider perspective than what is done today…

Page 9: Foundations of Constraint Processing, Fall 2005 September 12, 2005CSP 101: continued1 Foundations of Constraint Processing CSCE421/821, Fall 2005: choueiry/F05-421-821

September 12, 2005 CSP 101: continued 9

Foundations of Constraint Processing, Fall 2005

Multi agent approach1. 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. secretivenegotiation + alliance/coalition formation

Page 10: Foundations of Constraint Processing, Fall 2005 September 12, 2005CSP 101: continued1 Foundations of Constraint Processing CSCE421/821, Fall 2005: choueiry/F05-421-821

September 12, 2005 CSP 101: continued 10

Foundations of Constraint Processing, Fall 2005

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.

Page 11: Foundations of Constraint Processing, Fall 2005 September 12, 2005CSP 101: continued1 Foundations of Constraint Processing CSCE421/821, Fall 2005: choueiry/F05-421-821

September 12, 2005 CSP 101: continued 11

Foundations of Constraint Processing, Fall 2005

Types of agentsAn 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).

Page 12: Foundations of Constraint Processing, Fall 2005 September 12, 2005CSP 101: continued1 Foundations of Constraint Processing CSCE421/821, Fall 2005: choueiry/F05-421-821

September 12, 2005 CSP 101: continued 12

Foundations of Constraint Processing, Fall 2005

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.

Page 13: Foundations of Constraint Processing, Fall 2005 September 12, 2005CSP 101: continued1 Foundations of Constraint Processing CSCE421/821, Fall 2005: choueiry/F05-421-821

September 12, 2005 CSP 101: continued 13

Foundations of Constraint Processing, Fall 2005

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.

Page 14: Foundations of Constraint Processing, Fall 2005 September 12, 2005CSP 101: continued1 Foundations of Constraint Processing CSCE421/821, Fall 2005: choueiry/F05-421-821

September 12, 2005 CSP 101: continued 14

Foundations of Constraint Processing, Fall 2005

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.

Page 15: Foundations of Constraint Processing, Fall 2005 September 12, 2005CSP 101: continued1 Foundations of Constraint Processing CSCE421/821, Fall 2005: choueiry/F05-421-821

September 12, 2005 CSP 101: continued 15

Foundations of Constraint Processing, Fall 2005

Outline

Advanced solving techniques

Issues & research directions

CSP in a nutshell

Constraint Logic Programming (quickly)

Page 16: Foundations of Constraint Processing, Fall 2005 September 12, 2005CSP 101: continued1 Foundations of Constraint Processing CSCE421/821, Fall 2005: choueiry/F05-421-821

September 12, 2005 CSP 101: continued 16

Foundations of Constraint Processing, Fall 2005

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

Page 17: Foundations of Constraint Processing, Fall 2005 September 12, 2005CSP 101: continued1 Foundations of Constraint Processing CSCE421/821, Fall 2005: choueiry/F05-421-821

September 12, 2005 CSP 101: continued 17

Foundations of Constraint Processing, Fall 2005

Outline

Advanced solving techniques

Issues & research directions

CSP in a nutshell

Constraint Logic Programming (quickly)

Page 18: Foundations of Constraint Processing, Fall 2005 September 12, 2005CSP 101: continued1 Foundations of Constraint Processing CSCE421/821, Fall 2005: choueiry/F05-421-821

September 12, 2005 CSP 101: continued 18

Foundations of Constraint Processing, Fall 2005

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.

{ 1, 2, 3, 4 }

{ 3, 5, 7 }{ 3, 4, 9 }

{ 3, 6, 7 }

v2 > v4

V4

V2

v1+v3 < 9

V3

V1

v2 < v3

v1 < v2

nVVV ,,, 21 V nVVV DDD ,,, 21 D

lCCC ,,,21 C

Page 19: Foundations of Constraint Processing, Fall 2005 September 12, 2005CSP 101: continued1 Foundations of Constraint Processing CSCE421/821, Fall 2005: choueiry/F05-421-821

September 12, 2005 CSP 101: continued 19

Foundations of Constraint Processing, Fall 2005

CSP in a nutshell (II)

Solution technique: Search

Enhancing search:

constructive

iterative repair

Intelligent backtrack Variable/value ordering Consistency checkingHybrid search Symmetries Decomposition

Page 20: Foundations of Constraint Processing, Fall 2005 September 12, 2005CSP 101: continued1 Foundations of Constraint Processing CSCE421/821, Fall 2005: choueiry/F05-421-821

September 12, 2005 CSP 101: continued 20

Foundations of Constraint Processing, Fall 2005

CSP in a nutshell (III)Deep analysis:

exploit problem structure

Research

Graph topology Constraint semanticsPhase transition

- k-ary constraints, soft constraints- continuous vs. finite domains - evaluation of algorithms (empirical) - cross-fertilization (mathematical program.) - preferences and soft constraints reformulation and approximation architectures (multi-agent, negotiation)

Page 21: Foundations of Constraint Processing, Fall 2005 September 12, 2005CSP 101: continued1 Foundations of Constraint Processing CSCE421/821, Fall 2005: choueiry/F05-421-821

September 12, 2005 CSP 101: continued 21

Foundations of Constraint Processing, Fall 2005

Outline

Advanced solving techniques

Issues & research directions

CSP in a nutshell

Constraint Logic Programming (quickly)

Page 22: Foundations of Constraint Processing, Fall 2005 September 12, 2005CSP 101: continued1 Foundations of Constraint Processing CSCE421/821, Fall 2005: choueiry/F05-421-821

September 12, 2005 CSP 101: continued 22

Foundations of Constraint Processing, Fall 2005

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