introduction to unification theory
play

Introduction to Unification Theory Solving Systems of Linear - PowerPoint PPT Presentation

Introduction to Unification Theory Solving Systems of Linear Diophantine Equations Temur Kutsia RISC, Johannes Kepler University Linz kutsia@risc.jku.at ACU-Unification We saw an example how to solve ACU-unification problem. Reduction


  1. Introduction to Unification Theory Solving Systems of Linear Diophantine Equations Temur Kutsia RISC, Johannes Kepler University Linz kutsia@risc.jku.at

  2. ACU-Unification ◮ We saw an example how to solve ACU-unification problem. ◮ Reduction to systems of linear Diophantine equations (LDEs) over natural numbers.

  3. Elementary ACU-Unification ◮ Elementary ACU-unification problem { f ( x, f ( x, y )) . = ? ACU f ( z, f ( z, z )) } reduces to homogeneous linear Diophantine equation 2 x + y = 3 z. ◮ Each equation in the unification problem gives rise to one linear Diophantine equation. ◮ A most general ACU-unifier is obtained by combining all the unifiers corresponding to the minimal solutions of the system of LDEs.

  4. Elementary ACU-Unification ◮ Γ = { f ( x, f ( x, y )) . = ? ACU f ( z, f ( z, z )) } and S = { 2 x + y = 3 z } . ◮ S has three minimal solutions: (1 , 1 , 1) , (0 , 3 , 1) , (3 , 0 , 2) . ◮ Three unifiers of Γ : σ 1 = { x �→ v 1 , y �→ v 1 , z �→ v 1 } σ 2 = { x �→ e, y �→ f ( v 2 , f ( v 2 , v 2 )) , z �→ v 2 } σ 3 = { x �→ f ( v 3 , f ( v 3 , v 3 )) , y �→ e, z �→ f ( v 3 , v 3 ) } ◮ A most general unifier of Γ : σ = { x �→ f ( v 1 , f ( v 3 , f ( v 3 , v 3 ))) , y �→ f ( v 1 , f ( v 2 , f ( v 2 , v 2 ))) , z �→ f ( v 1 , f ( v 2 , f ( v 3 , v 3 ))) }

  5. ACU-Unification with constants ◮ ACU-unification problem with constants Γ = { f ( x, f ( x, y )) . = ? ACU f ( a, f ( z, f ( z, z ))) } reduces to inhomogeneous linear Diophantine equation S = { 2 x + y = 3 z + 1 } . ◮ The minimal nontrivial natural solutions of S are (0 , 1 , 0) and (2 , 0 , 1) .

  6. ACU-Unification with constants ◮ ACU-unification problem with constants Γ = { f ( x, f ( x, y )) . = ? ACU f ( a, f ( z, f ( z, z ))) } reduces to inhomogeneous linear Diophantine equation S = { 2 x + y = 3 z + 1 } . ◮ Every natural solution of S is obtained by as the sum of one of the minimal solution and a solution of the corresponding homogeneous LDE 2 x + y = 3 z . ◮ One element of the minimal complete set of unifiers of Γ is obtained from the combination of one minimal solution of S with the set of all minimal solutions of 2 x + y = 3 z .

  7. ACU-Unification with constants ◮ ACU-unification problem with constants Γ = { f ( x, f ( x, y )) . = ? ACU f ( a, f ( z, f ( z, z ))) } reduces to inhomogeneous linear Diophantine equation S = { 2 x + y = 3 z + 1 } . ◮ The minimal complete set of unifiers of Γ is { σ 1 , σ 2 } , where σ 1 = { x �→ f ( v 1 , f ( v 3 , f ( v 3 , v 3 ))) , y �→ f ( a, f ( v 1 , f ( v 2 , f ( v 2 , v 2 ))) , z �→ f ( v 1 , f ( v 2 , f ( v 3 , v 3 ))) } σ 2 = { x �→ f ( a, f ( a, f ( v 1 , f ( v 3 , f ( v 3 , v 3 ))))) , y �→ f ( v 1 , f ( v 2 , f ( v 2 , v 2 )) , z �→ f ( a, f ( v 1 , f ( v 2 , f ( v 3 , v 3 )))) }

  8. How to Solve Systems of LDEs over Naturals? Contejean-Devie Algorithm: Evelyne Contejean and Herv´ e Devie. An Efficient Incremental Algorithm for Solving Systems of Linear Diophantine Equations. Information and Computation 113(1): 143–172 (1994).

  9. How to Solve Systems of LDEs over Naturals? Contejean-Devie Algorithm: Evelyne Contejean and Herv´ e Devie. An Efficient Incremental Algorithm for Solving Systems of Linear Diophantine Equations. Information and Computation 113(1): 143–172 (1994). Generalizes Fortenbacher’s Algorithm for solving a single equation: Michael Clausen and Albrecht Fortenbacher. Efficient Solution of Linear Diophantine Equations. J. Symbolic Computation 8(1,2): 201–216 (1989).

  10. Homogeneous Case Homogeneous linear Diophantine system with m equations and n variables:  + · · · + a 11 x 1 a 1 n x n = 0   . . . . . . . . .  + · · · + = 0 a m 1 x 1 a mn x n  ◮ a ij ’s are integers. ◮ Looking for nontrivial natural solutions.

  11. Homogeneous Case Example � − x 1 + x 2 + 2 x 3 − 3 x 4 = 0 − x 1 + 3 x 2 − 2 x 3 − x 4 = 0 Nontrivial solutions: ◮ s 1 = (0 , 1 , 1 , 1) ◮ s 2 = (4 , 2 , 1 , 0) ◮ s 3 = (0 , 2 , 2 , 2) ◮ s 4 = (8 , 4 , 2 , 0) ◮ s 5 = (4 , 3 , 2 , 1) ◮ s 6 = (8 , 5 , 3 , 1) ◮ . . .

  12. Homogeneous Case Example � − x 1 + x 2 + 2 x 3 − 3 x 4 = 0 − x 1 + 3 x 2 − 2 x 3 − x 4 = 0 Nontrivial solutions: ◮ s 1 = (0 , 1 , 1 , 1) ◮ s 2 = (4 , 2 , 1 , 0) ◮ s 3 = (0 , 2 , 2 , 2) = 2 s 1 ◮ s 4 = (8 , 4 , 2 , 0) = 2 s 2 ◮ s 5 = (4 , 3 , 2 , 1) = s 1 + s 2 ◮ s 6 = (8 , 5 , 3 , 1) = s 1 + 2 s 2 ◮ . . .

  13. Homogeneous Case Homogeneous linear Diophantine system with m equations and n variables:  + · · · + a 11 x 1 a 1 n x n = 0   . . . . . . . . .  + · · · + = 0 a m 1 x 1 a mn x n  ◮ a ij ’s are integers. ◮ Looking for a basis in the set of nontrivial natural solutions.

  14. Homogeneous Case Homogeneous linear Diophantine system with m equations and n variables:  + · · · + a 11 x 1 a 1 n x n = 0   . . . . . . . . .  + · · · + = 0 a m 1 x 1 a mn x n  ◮ a ij ’s are integers. ◮ Looking for a basis in the set of nontrivial natural solutions. ◮ Does it exist?

  15. Homogeneous Case The basis in the set S of nontrivial natural solutions of a homogeneous LDS is the set of ≫ -minimal elements S . ≫ is the ordering on tuples of natural numbers: ( x 1 , . . . , x n ) ≫ ( y 1 , . . . , y n ) if and only if ◮ x i ≥ y i for all 1 ≤ i ≤ n and ◮ x i > y i for some 1 ≤ i ≤ n .

  16. Matrix Form Homogeneous linear Diophantine system with m equations and n variables: Ax ↓ = 0 ↓ , where       · · · 0 a 11 a 1 n x 1 . . . . . . . . A := x ↓ := 0 ↓ :=       . . . .       · · · a m 1 a mn x n 0

  17. Matrix Form ◮ Canonical basis in N n : ( e 1 ↓ , . . . , e n ↓ ) .   0 . .   .     ◮ e j ↓ = 1 , with 1 in j ’s row.    .  .   .   0 ◮ Then Ax ↓ = x 1 Ae 1 ↓ + · · · + x n Ae n ↓ .

  18. Matrix Form ◮ a : The linear mapping associated to A .   a 11 x 1 + · · · + a 1 n x n . . . . a ( x ↓ ) =  = x 1 a ( e 1 ↓ )+ · · · + x n a ( e n ↓ ) .   . .  + · · · + a m 1 x 1 a mn x n

  19. Single Equation: Idea Case m = 1 : Single homogeneous LDE a 1 x 1 + · · · + a n x n = 0 . Fortenbacher’s idea: ◮ Search minimal solutions starting from the elements in the canonical basis of N n . ◮ Suppose the current vector v ↓ is not a solution. ◮ It can be nondeterministically increased, component by component, until it becomes a solution or greater than a solution. ◮ To decrease the search space, the following restrictions can be imposed: ◮ If a ( v ↓ ) > 0 , then increase by one some v j with a j < 0 . ◮ If a ( v ↓ ) < 0 , then increase by one some v j with a j > 0 .

  20. Single Equation: Idea Case m = 1 : Single homogeneous LDE a 1 x 1 + · · · + a n x n = 0 . Fortenbacher’s idea: ◮ Search minimal solutions starting from the elements in the canonical basis of N n . ◮ Suppose the current vector v ↓ is not a solution. ◮ It can be nondeterministically increased, component by component, until it becomes a solution or greater than a solution. ◮ To decrease the search space, the following restrictions can be imposed: ◮ If a ( v ↓ ) > 0 , then increase by one some v j with a j < 0 . ◮ If a ( v ↓ ) < 0 , then increase by one some v j with a j > 0 . ◮ (If a ( v ↓ ) a ( e j ↓ ) < 0 for some j , increase v j by one.)

  21. Single Equation: Geometric Interpretation of the Idea ◮ Fortenbacher’s condition If a ( v ↓ ) a ( e j ↓ ) < 0 for some j , increase v j by one. ◮ Increasing v j by one: a ( v ↓ + e j ↓ ) = a ( v ↓ ) + a ( e j ↓ ) . ◮ Going to the “right direction”, towards the origin. a ( v ↓ ) O Forbidden a ( e j ↓ ) direction

  22. Single Equation: Algorithm Case m = 1 : Single homogeneous LDE a 1 x 1 + · · · + a n x n = 0 . Fortenbacher’s algorithm: ◮ Start with the pair P, M of the set of potential solutions P = { e 1 ↓ , . . . , e n ↓ } and the set of minimal nontrivial solutions M = ∅ . ◮ Apply repeatedly the rules: 1. { v ↓ } ∪ P ′ , M = ⇒ P ′ , M , if v ↓ ≫ u ↓ for some u ↓ ∈ M . 2. { v ↓ } ∪ P ′ , M = ⇒ P ′ , { v ↓ } ∪ M, if a ( v ↓ ) = 0 and rule 1 is not applicable. 3. P, M = ⇒ { v ↓ + e j ↓ | v ↓ ∈ P, a ( v ↓ ) a ( e j ↓ ) < 0 , j ∈ 1 ..n } , M , if rules 1 and 2 are not applicable. ◮ If ∅ , M is reached, return M .

  23. System of Equations: Idea ◮ General case: System of homogeneous LDEs. ◮ a ( x ↓ ) = 0 ↓ . ◮ Generalizing Fortenbacher’s idea: ◮ Search minimal solutions starting from the elements in the canonical basis of N n . ◮ Suppose the current vector v ↓ is not a solution. ◮ It can be nondeterministically increased, component by component, until it becomes a solution or greater than a solution. ◮ To decrease the search space, increase only those components that lead to the “right direction”.

Recommend


More recommend