Solvers Principles and Architecture (SPA) General Introduction - - PowerPoint PPT Presentation

solvers principles and architecture spa
SMART_READER_LITE
LIVE PREVIEW

Solvers Principles and Architecture (SPA) General Introduction - - PowerPoint PPT Presentation

Solvers Principles and Architecture (SPA) General Introduction Master Sciences Informatique (Sif) September 18th, 2019 Rennes Khalil Ghorbal k halil.ghorbal@inria.fr K. Ghorbal (INRIA) 1 SIF M2 1 / 15 What makes a problem important ?


slide-1
SLIDE 1

Solvers Principles and Architecture (SPA)

General Introduction

Master Sciences Informatique (Sif) September 18th, 2019 Rennes

Khalil Ghorbal khalil.ghorbal@inria.fr

  • K. Ghorbal (INRIA)

1 SIF M2 1 / 15

slide-2
SLIDE 2

What makes a problem important ? Before understanding Solvers

  • K. Ghorbal (INRIA)

2 SIF M2 2 / 15

slide-3
SLIDE 3

What makes a problem important ? Before understanding Solvers We need to talk about Problems

  • K. Ghorbal (INRIA)

2 SIF M2 2 / 15

slide-4
SLIDE 4

What makes a problem important ? Abstraction of problems arising from important applications.

  • K. Ghorbal (INRIA)

3 SIF M2 3 / 15

slide-5
SLIDE 5

What makes a problem important ? Abstraction of problems arising from important applications.

When asked how old she was, Suzie replied, ” In 2 years I will be twice as old as I was 5 years ago.”How old is she?

  • K. Ghorbal (INRIA)

3 SIF M2 3 / 15

slide-6
SLIDE 6

What makes a problem important ? Abstraction of problems arising from important applications.

When asked how old she was, Suzie replied, ” In 2 years I will be twice as old as I was 5 years ago.”How old is she? x + 2 = 2(x − 5) → x = 12

  • K. Ghorbal (INRIA)

3 SIF M2 3 / 15

slide-7
SLIDE 7

What makes a problem important ? Abstraction of problems arising from important applications.

When asked how old she was, Suzie replied, ” In 2 years I will be twice as old as I was 5 years ago.”How old is she? x + 2 = 2(x − 5) → x = 12

Travelling Salesman Problem

Given a list of cities and the distances between each pair of cities, what is the shortest possible route that visits each city exactly once and returns to the origin city?

  • K. Ghorbal (INRIA)

3 SIF M2 3 / 15

slide-8
SLIDE 8

What makes a problem important ? Reduction of other problems.

   Problem1 . . . ProblemN    ProblemA

  • The transformation (reduction) may be non-trivial to find
  • Needs to be“simpler”than solving the new problem
  • K. Ghorbal (INRIA)

4 SIF M2 4 / 15

slide-9
SLIDE 9

What makes a problem important ? Reduction of other problems.

   Problem1 . . . ProblemN    ProblemA

  • The transformation (reduction) may be non-trivial to find
  • Needs to be“simpler”than solving the new problem
  • K. Ghorbal (INRIA)

4 SIF M2 4 / 15

slide-10
SLIDE 10

What makes a problem important ? Reduction of other problems.

   Problem1 . . . ProblemN    ProblemA

  • The transformation (reduction) may be non-trivial to find
  • Needs to be“simpler”than solving the new problem
  • K. Ghorbal (INRIA)

4 SIF M2 4 / 15

slide-11
SLIDE 11

What makes a problem important ?

Reduction example

Satisfiability

Given a set V of Boolean variables and a collection C of clauses over V , is there a satisfying truth assignment for C?

Quadratic Diophantine Equations

Given positive integers a, b, and c, are there positive integers x and y such that ax2 + by2 = c? (Transformation from 3SAT [Manders and Adleman 1978].)

  • K. Ghorbal (INRIA)

5 SIF M2 5 / 15

slide-12
SLIDE 12

What makes a problem important ?

Reduction example

Satisfiability

Given a set V of Boolean variables and a collection C of clauses over V , is there a satisfying truth assignment for C?

Quadratic Diophantine Equations

Given positive integers a, b, and c, are there positive integers x and y such that ax2 + by2 = c? (Transformation from 3SAT [Manders and Adleman 1978].)

  • K. Ghorbal (INRIA)

5 SIF M2 5 / 15

slide-13
SLIDE 13

What makes a problem important ? Poincar´ e said so!

  • Its long resistance (beyond the current state-of-the art methods)
  • Requires new insights (connections, perspectives) to get solved
  • Example: Hilbert’s famous list pf problems (1900)
  • Example: Millennium Prize Problems

Riemann Hypothesis

All the non-trivial zeros of the Riemann zeta function have their real part equal to 1

2.

  • K. Ghorbal (INRIA)

6 SIF M2 6 / 15

slide-14
SLIDE 14

What makes a problem important ? Poincar´ e said so!

  • Its long resistance (beyond the current state-of-the art methods)
  • Requires new insights (connections, perspectives) to get solved
  • Example: Hilbert’s famous list pf problems (1900)
  • Example: Millennium Prize Problems

Riemann Hypothesis

All the non-trivial zeros of the Riemann zeta function have their real part equal to 1

2.

  • K. Ghorbal (INRIA)

6 SIF M2 6 / 15

slide-15
SLIDE 15

What makes a problem important ? Poincar´ e said so!

  • Its long resistance (beyond the current state-of-the art methods)
  • Requires new insights (connections, perspectives) to get solved
  • Example: Hilbert’s famous list pf problems (1900)
  • Example: Millennium Prize Problems

Riemann Hypothesis

All the non-trivial zeros of the Riemann zeta function have their real part equal to 1

2.

  • K. Ghorbal (INRIA)

6 SIF M2 6 / 15

slide-16
SLIDE 16

What makes a problem important ? Poincar´ e said so!

  • Its long resistance (beyond the current state-of-the art methods)
  • Requires new insights (connections, perspectives) to get solved
  • Example: Hilbert’s famous list pf problems (1900)
  • Example: Millennium Prize Problems

Riemann Hypothesis

All the non-trivial zeros of the Riemann zeta function have their real part equal to 1

2.

  • K. Ghorbal (INRIA)

6 SIF M2 6 / 15

slide-17
SLIDE 17

What makes a problem important ? Poincar´ e said so!

  • Its long resistance (beyond the current state-of-the art methods)
  • Requires new insights (connections, perspectives) to get solved
  • Example: Hilbert’s famous list pf problems (1900)
  • Example: Millennium Prize Problems

Riemann Hypothesis

All the non-trivial zeros of the Riemann zeta function have their real part equal to 1

2.

  • K. Ghorbal (INRIA)

6 SIF M2 6 / 15

slide-18
SLIDE 18

Outline

1 What Makes a Problem Important? 2 Important Problems 3 Solving in Mathematics 4 Solving Computer Science 5 In This Course

  • K. Ghorbal (INRIA)

6 SIF M2 6 / 15

slide-19
SLIDE 19

Important Problems You Must Be Aware Of

Satisfiability (DPLL algorithm)

Is there a Boolean assignment that satisfies (v1 ∨ ¯ v2) ∧ (¯ v1 ∨ v2)

Quantifier Elimination (Cylindrical Algebraic Decomposition)

Is the following sentence true over the reals ∀a, b.∃x. x2 + ax + b = 0

  • K. Ghorbal (INRIA)

7 SIF M2 7 / 15

slide-20
SLIDE 20

Important Problems You Must Be Aware Of

Satisfiability (DPLL algorithm)

Is there a Boolean assignment that satisfies (v1 ∨ ¯ v2) ∧ (¯ v1 ∨ v2)

Quantifier Elimination (Cylindrical Algebraic Decomposition)

Is the following sentence true over the reals ∀a, b.∃x. x2 + ax + b = 0

  • K. Ghorbal (INRIA)

7 SIF M2 7 / 15

slide-21
SLIDE 21

Important Problems You Must Be Aware Of

Convex Optimization (SemiDefinite Programming)

Min/Max C • X Subject to Ai • X = bi, i = 1, . . . , m X 0

Differential Equations (Numerical Algorithms)

iℏ ∂ ∂t Ψ(r, t) = H Ψ(r, t)

  • K. Ghorbal (INRIA)

8 SIF M2 8 / 15

slide-22
SLIDE 22

Important Problems You Must Be Aware Of

Convex Optimization (SemiDefinite Programming)

Min/Max C • X Subject to Ai • X = bi, i = 1, . . . , m X 0

Differential Equations (Numerical Algorithms)

iℏ ∂ ∂t Ψ(r, t) = H Ψ(r, t)

  • K. Ghorbal (INRIA)

8 SIF M2 8 / 15

slide-23
SLIDE 23

Outline

1 What Makes a Problem Important? 2 Important Problems 3 Solving in Mathematics 4 Solving Computer Science 5 In This Course

  • K. Ghorbal (INRIA)

8 SIF M2 8 / 15

slide-24
SLIDE 24

Solving Systems of Equations

Object of study in mathematics is the set of solutions of equations

f (x) = 0

Nature and operators in f

  • Linear (vector of)
  • Polynomial (vector of)
  • With special operators:

derivations

  • ...

Solution Space

  • Finite fields (Z/pZ)
  • Reals
  • Differential functions
  • Probability densities
  • ...
  • K. Ghorbal (INRIA)

9 SIF M2 9 / 15

slide-25
SLIDE 25

Solving Systems of Equations

Object of study in mathematics is the set of solutions of equations

f (x) = 0

Nature and operators in f

  • Linear (vector of)
  • Polynomial (vector of)
  • With special operators:

derivations

  • ...

Solution Space

  • Finite fields (Z/pZ)
  • Reals
  • Differential functions
  • Probability densities
  • ...
  • K. Ghorbal (INRIA)

9 SIF M2 9 / 15

slide-26
SLIDE 26

Solving Systems of Equations

Object of study in mathematics is the set of solutions of equations

f (x) = 0

Nature and operators in f

  • Linear (vector of)
  • Polynomial (vector of)
  • With special operators:

derivations

  • ...

Solution Space

  • Finite fields (Z/pZ)
  • Reals
  • Differential functions
  • Probability densities
  • ...
  • K. Ghorbal (INRIA)

9 SIF M2 9 / 15

slide-27
SLIDE 27

Solving in Mathematics

  • Existence
  • Uniqueness
  • Closed form general solution
  • Properties of the set of solutions (finiteness, boundedness, symmetries

etc.)

  • Generalizations
  • Approximations (numerical methods, relaxations)
  • K. Ghorbal (INRIA)

10 SIF M2 10 / 15

slide-28
SLIDE 28

Solving in Mathematics

  • Existence
  • Uniqueness
  • Closed form general solution
  • Properties of the set of solutions (finiteness, boundedness, symmetries

etc.)

  • Generalizations
  • Approximations (numerical methods, relaxations)
  • K. Ghorbal (INRIA)

10 SIF M2 10 / 15

slide-29
SLIDE 29

Solving in Mathematics

  • Existence
  • Uniqueness
  • Closed form general solution
  • Properties of the set of solutions (finiteness, boundedness, symmetries

etc.)

  • Generalizations
  • Approximations (numerical methods, relaxations)
  • K. Ghorbal (INRIA)

10 SIF M2 10 / 15

slide-30
SLIDE 30

Solving in Mathematics

  • Existence
  • Uniqueness
  • Closed form general solution
  • Properties of the set of solutions (finiteness, boundedness, symmetries

etc.)

  • Generalizations
  • Approximations (numerical methods, relaxations)
  • K. Ghorbal (INRIA)

10 SIF M2 10 / 15

slide-31
SLIDE 31

Solving in Mathematics

  • Existence
  • Uniqueness
  • Closed form general solution
  • Properties of the set of solutions (finiteness, boundedness, symmetries

etc.)

  • Generalizations
  • Approximations (numerical methods, relaxations)
  • K. Ghorbal (INRIA)

10 SIF M2 10 / 15

slide-32
SLIDE 32

Solving in Mathematics

  • Existence
  • Uniqueness
  • Closed form general solution
  • Properties of the set of solutions (finiteness, boundedness, symmetries

etc.)

  • Generalizations
  • Approximations (numerical methods, relaxations)
  • K. Ghorbal (INRIA)

10 SIF M2 10 / 15

slide-33
SLIDE 33

Solving in Mathematics

  • Existence
  • Uniqueness
  • Closed form general solution
  • Properties of the set of solutions (finiteness, boundedness, symmetries

etc.)

  • Generalizations
  • Approximations (numerical methods, relaxations)

Purpose: Classification

  • K. Ghorbal (INRIA)

10 SIF M2 10 / 15

slide-34
SLIDE 34

Outline

1 What Makes a Problem Important? 2 Important Problems 3 Solving in Mathematics 4 Solving Computer Science 5 In This Course

  • K. Ghorbal (INRIA)

10 SIF M2 10 / 15

slide-35
SLIDE 35

Problem

Definition

  • Description of the parameters
  • Statement of what an answer, or solution, is required to satisfy

Example: Traveling Salesman Problem

The problem consists of a finite set of locations/cities C = {c1, . . . , cm} and for each pair of cities, ci, cj ∈ C, the distance d(ci, cj) between them. A solution is an ordering cπ(1), cπ(2), . . . , cπ(m) that minimizes m−1

  • i=1

d

  • cπ(i), cπ(i+1)
  • + d
  • cπ(m), cπ(1)
  • K. Ghorbal (INRIA)

11 SIF M2 11 / 15

slide-36
SLIDE 36

Problem

Definition

  • Description of the parameters
  • Statement of what an answer, or solution, is required to satisfy

Example: Traveling Salesman Problem

The problem consists of a finite set of locations/cities C = {c1, . . . , cm} and for each pair of cities, ci, cj ∈ C, the distance d(ci, cj) between them. A solution is an ordering cπ(1), cπ(2), . . . , cπ(m) that minimizes m−1

  • i=1

d

  • cπ(i), cπ(i+1)
  • + d
  • cπ(m), cπ(1)
  • K. Ghorbal (INRIA)

11 SIF M2 11 / 15

slide-37
SLIDE 37

Algorithm

Step-by-step procedure to solve any instance of a given problem.

Efficiency

  • Time complexity (is not the only important parameter)
  • How does the time needed to solve the problem evolve when the input

length increases?

  • Number of symbols in the description of the instance with respect to

the encoding scheme for the problem.

Example of input length

  • Alphabet {c, [, ], /, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
  • “c[1]c[2]c[3]c[4]//10/5/9//6/9//3”(32 symbols)
  • K. Ghorbal (INRIA)

12 SIF M2 12 / 15

slide-38
SLIDE 38

Algorithm

Step-by-step procedure to solve any instance of a given problem.

Efficiency

  • Time complexity (is not the only important parameter)
  • How does the time needed to solve the problem evolve when the input

length increases?

  • Number of symbols in the description of the instance with respect to

the encoding scheme for the problem.

Example of input length

  • Alphabet {c, [, ], /, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
  • “c[1]c[2]c[3]c[4]//10/5/9//6/9//3”(32 symbols)
  • K. Ghorbal (INRIA)

12 SIF M2 12 / 15

slide-39
SLIDE 39

Efficient Enough Algorithms

Polynomial Time Complexity

Time complexity is O(p(n)) for some polynomial p with input length n.

Exponential Time Complexity

Time complexity cannot be bounded by a polynomial (including nlog n). n = 10 n = 30 n = 60 n3 0.001 s 0.027 s 0.216 s 3n 0.059 s 6.5 years 1.3 × 1013 centuries

  • K. Ghorbal (INRIA)

13 SIF M2 13 / 15

slide-40
SLIDE 40

Efficient Enough Algorithms

Polynomial Time Complexity

Time complexity is O(p(n)) for some polynomial p with input length n.

Exponential Time Complexity

Time complexity cannot be bounded by a polynomial (including nlog n). n = 10 n = 30 n = 60 n3 0.001 s 0.027 s 0.216 s 3n 0.059 s 6.5 years 1.3 × 1013 centuries

  • K. Ghorbal (INRIA)

13 SIF M2 13 / 15

slide-41
SLIDE 41

Solving in Computer Science

  • Undecidable (not solvable by any algorithm)
  • Intractable (no polynomial time algorithm can possibly solve it)
  • Complexity (worst case with respect to the input length)
  • Target special cases
  • Approximations (relaxations)
  • K. Ghorbal (INRIA)

14 SIF M2 14 / 15

slide-42
SLIDE 42

Solving in Computer Science

  • Undecidable (not solvable by any algorithm)
  • Intractable (no polynomial time algorithm can possibly solve it)
  • Complexity (worst case with respect to the input length)
  • Target special cases
  • Approximations (relaxations)
  • K. Ghorbal (INRIA)

14 SIF M2 14 / 15

slide-43
SLIDE 43

Solving in Computer Science

  • Undecidable (not solvable by any algorithm)
  • Intractable (no polynomial time algorithm can possibly solve it)
  • Complexity (worst case with respect to the input length)
  • Target special cases
  • Approximations (relaxations)
  • K. Ghorbal (INRIA)

14 SIF M2 14 / 15

slide-44
SLIDE 44

Solving in Computer Science

  • Undecidable (not solvable by any algorithm)
  • Intractable (no polynomial time algorithm can possibly solve it)
  • Complexity (worst case with respect to the input length)
  • Target special cases
  • Approximations (relaxations)
  • K. Ghorbal (INRIA)

14 SIF M2 14 / 15

slide-45
SLIDE 45

Solving in Computer Science

  • Undecidable (not solvable by any algorithm)
  • Intractable (no polynomial time algorithm can possibly solve it)
  • Complexity (worst case with respect to the input length)
  • Target special cases
  • Approximations (relaxations)
  • K. Ghorbal (INRIA)

14 SIF M2 14 / 15

slide-46
SLIDE 46

Solving in Computer Science

  • Undecidable (not solvable by any algorithm)
  • Intractable (no polynomial time algorithm can possibly solve it)
  • Complexity (worst case with respect to the input length)
  • Target special cases
  • Approximations (relaxations)

Purpose: Computation

  • K. Ghorbal (INRIA)

14 SIF M2 14 / 15

slide-47
SLIDE 47

Outline

1 What Makes a Problem Important? 2 Important Problems 3 Solving in Mathematics 4 Solving Computer Science 5 In This Course

  • K. Ghorbal (INRIA)

14 SIF M2 14 / 15

slide-48
SLIDE 48

Fasten Your Seat Belt ...

  • Dive into three different problems: SMT, SDP, CAD
  • Study their related solvers: Algorithms and Data Structure
  • K. Ghorbal (INRIA)

15 SIF M2 15 / 15

slide-49
SLIDE 49

Fasten Your Seat Belt ...

  • Dive into three different problems: SMT, SDP, CAD
  • Study their related solvers: Algorithms and Data Structure
  • K. Ghorbal (INRIA)

15 SIF M2 15 / 15