Foundations of Constraint Processing - PowerPoint PPT Presentation

About This Presentation
Title:

Foundations of Constraint Processing

Description:

Consider all values for a variable V1. For every value for V1, consider all ... authority SNCF, airlines Swissair and SAS and Cathay Pacific, and Hong Kong ... – PowerPoint PPT presentation

Number of Views:57
Avg rating:3.0/5.0
Slides: 33
Provided by: catherinel5
Learn more at: http://cse.unl.edu
Category:

less

Transcript and Presenter's Notes

Title: Foundations of Constraint Processing


1
  • Foundations of Constraint Processing
  • CSCE421/821, Fall 2003
  • www.cse.unl.edu/choueiry/F03-421-821/
  • Berthe Y. Choueiry (Shu-we-ri)
  • Ferguson Hall, Room 104
  • choueiry_at_cse.unl.edu
  • Tel 1(402)472-5444

2
Constraint Satisfaction 101
  • Motivating example, application areas
  • Application examples
  • Definition, representation, formal
    characterization
  • Solving techniques
  • Issues research directions

3
How to solve a CSP?
  • Search
  • 1. Constructive, systematic
  • 2. Iterative repair

4
Systematic search
  • Starting from a root node
  • Consider all values for a variable V1
  • For every value for V1, consider all values for
    V2
  • etc..
  • For n variables, each of domain size d
  • Maximum depth? fixed!
  • Maximum number of paths? size of search
    space, size of CSP

5
Systematic search
  • Before starting search, consider
  • Importance of modeling/formulation
  • to control the size of the search space
  • Preprocessing (i.e., constraint
    filtering/propagation, consistency checking)
  • to reduce size of search space

6
Importance of modeling
  • N-queen formulation 1
  • Variables?
  • Domains?
  • Size of CSP?
  • N-queens formulation 2
  • Variables?
  • Domains?
  • Size of CSP?

0,1
7
Constraint checking
  • Arc-consistency

B
1- B 5 .. 14
A lt B
A
C 6 .. 15
5.... 18
2- A 2 .. 10
B lt C
1.... 10
C 6 .. 14
2 lt C - A lt 5
3- B 5 .. 13
4.... 15
C
8
Constraint checking
  • Arc-consistency every combination of two
    adjacent variables
  • 3-consistency, k-consistency (k ? n)
  • Constraint filtering, constraint checking, etc..
  • Eliminate non-acceptable tuples prior to search
  • Warning arc-consistency does not solve the
    problem

still is not a solution!
9
Systematic search (I) Back-checking
  • Systematic search generates dn possibilities
  • Are all possibilities acceptable?
  • Expand a partial solution only when it is
    consistent
  • This yields early pruning of inconsistent paths

10
Systematic search (II) Chronological backtracking
  • What if only one solution is needed?
  • Depth-first search Chronological backtracking
  • DFS Soundness? Completeness?

11
Systematic search (III) Intelligent backtracking
  • What if the reason for failure was higher up in
    the tree?
  • Backtrack to source of conflict !!
  • Backjumping, conflict-directed backjumping,
    etc.

12
Systematic search (IV) Ordering heuristics
  • Which variable to expand first?
  • Heuristics
  • most constrained variable first (reduce branching
    factor)
  • most promising value first (find quickly first
    solution)

13
Systematic search (V) Back-checking
  • Search tree with only backtrack search?

Root node
14
Systematic search (VI) Forward checking
  • Search Tree with domains filter by Forward Check

Root Node
15
Summary of backtrack search
  • Constructive, systematic, exhaustive
  • In general sound and complete
  • Back-checking expands nodes consistent with past
  • Backtracking Chronological vs. intelligent
  • Ordering heuristics
  • Static
  • Dynamic variable
  • Dynamic variable-value pairs
  • Looking ahead
  • Partial look-ahead
  • Forward checking (FC)
  • Directional arc-consistency (DAC)
  • Full (a.k.a. Maintaining Arc-consistency or MAC)

16
CSP a decision problem (NP-complete)
  • Modeling abstraction and reformulation
  • Preprocessing techniques
  • eliminate non-acceptable tuples prior to search
  • Systematic search
  • potentially dn paths of fixed lengths
  • chronological backtracking
  • intelligent backtracking
  • variable/value ordering heuristics
  • Search hybrids
  • Mixing consistency checking with search
    look-ahead strategies

17
Non-systematic search
  • Iterative repair, local search modifies a global
    but inconsistent solution to decrease the number
    of violated constraints
  • Examples Hill climbing, taboo search, simulated
    annealing, GSAT, WalkSAT, Genetic Algorithms,
    Swarm intelligence, etc.
  • Features Incomplete not sound
  • Advantage anytime algorithm
  • Shortcoming cannot tell that no solution exists

18
Decomposition
Conjunctive Disjunctive Partition constraints (DB)
  • Decomposition
  • Conjunctive
  • Disjunctive
  • Properties of disjunctive decompositions

19
Properties of disjunctive decompositions
  • Conjunctive or disjunctive?
  • Consistent No constraint is removed
  • Simplifying Size(Pi) lt Size( P)
  • Semi-complete At least one solution is kept
  • Complete No solution is lost
  • Redundant Solutions replicated in Pi
  • Reducible may be lt Size( P)

20
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, etc.
  • Types, semantics of the constraints
  • subsets of Allen's relations, all-diffs,
    functional, monotonic, row-convex, linear
    inequalities, etc.
  • Order parameter (phase transition)

21
Multi agents
  • 1. Computational tasks
  • problem decomposed, replicated
  • 2. Types of agent
  • broker, solver, problem, solverproblem
  • 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

22
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.

23
Types of agent
  • 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).

24
Agent architecture and how is authority 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.

25
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.

26
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.

27
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
  • Multi agents
  • Distribution and negotiation
  • decomposition alliance formation

28
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.

29
CSP in a nutshell (II)
  • Solution technique Search
  • Enhancing search

Intelligent backtrack Variable/value ordering
Consistency checking Hybrid search ? Symmetries ?
Decomposition
30
CSP in a nutshell (III)
  • Deep analysis
  • exploit problem structure
  • Research

? Graph topology ? Constraint semantics Phase
transition
- k-ary constraints, soft constraints -
continuous vs. finite domains - evaluation of
algorithms (empirical) - cross-fertilization
(mathematical program.) ? reformulation and
approximation ? architectures (multi-agent,
negotiation)
31
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

32
Constraint Processing Techniques
  • Were you to ask me which programming paradigm is
    likely to gain most in commercial significance
    over the next 5 years, I would have to pick
    Constraint Logic Programming (CLP), even though
    it is perhaps currently one of the least known
    and understood. Thats because CLP has the power
    to tackle those difficult combinational problems
    encountered for instance in job scheduling,
    timetabling, and routing which stretch
    conventional programming techniques beyond their
    breaking point. Though CLP is still the subject
    of intensive research, it is already being used
    by large corporation such as manufacturers
    Michelin and Dassault, the French railway
    authority SNCF, airlines Swissair and SAS and
    Cathay Pacific, and Hong Kong International
    Terminals, the worlds largest privately-owned
    container terminal. Byte, Dick Powntain
Write a Comment
User Comments (0)
About PowerShow.com