a bottom set strategy for tractable feature construction
play

A Bottom Set Strategy for Tractable Feature Construction F il i p - PowerPoint PPT Presentation

laboratory Gerstner If you have a bottom clause, you have almost solved the problem. A Bottom Set Strategy for Tractable Feature Construction F il i p Zelezn y CVUT Prague , School of Electrical Engineering, Dept. of Cybernetics


  1. laboratory Gerstner “If you have a bottom clause, you have almost solved the problem.” A Bottom Set Strategy for Tractable Feature Construction F il i p ˇ Zelezn´ y ˇ CVUT Prague , School of Electrical Engineering, Dept. of Cybernetics The Gerstner Laboratory for Intelligent Decision Making and Control � Filip ˇ Zelezn´ y 2004 c 1 /6 Czech Institute of Technology (ˇ CVUT) in Prague / School of Electrical Engineering / Dept. of Cybernetics / The Gerstner Lab

  2. laboratory Gerstner Introduction :: We are concerned with constructing features , ie. expressions such as hasCar(C), hasLoad(C,L), isBig(L) :: The language of features F ( n ) is a set where elements comply to constraints: − Size . Each f ∈ F ( n ) has at most n atoms. − Typing & Moding . Specify predicates, arguments types and i/o modes. hasCar(-car), hasLoad(+car,-load), isBig(+load), isSmall(+load) − ETA Constraint . Each var has both an input and an output occurrence. (ETA = ‘Extended Transformation Approach’ [Lavraˇ c & Flach, 2001] ) � Filip ˇ Zelezn´ y 2004 c 2 /6 Czech Institute of Technology (ˇ CVUT) in Prague / School of Electrical Engineering / Dept. of Cybernetics / The Gerstner Lab

  3. laboratory Gerstner The Bottom Set Theorem :: 2 Problems of size n − Existence : Find an element of F ( n ) . − Enumeration : Find all elements of F ( n ) (up to var renaming). :: A bottom set is an expression ⊥ ( n ) complying to the typing constraint such that f ⊆ ⊥ ( n ) (up to var renaming) whenever f ∈ F ( n ) . :: Theorem . Given a ⊥ ( n ) such that |⊥ ( n ) | ≤ poly ( n ) , one can solve efficiently the existence problem, ie. find in time poly ( n ) a feature f ∈ F ( n ) if it exists, or answer NO. :: Proof . Naive approach: must check ETA constraint for O ( |⊥ ( n ) | n ) subsets :-(. Trick : reduce polynomially onto HORNSAT . � Filip ˇ Zelezn´ y 2004 c 3 /6 Czech Institute of Technology (ˇ CVUT) in Prague / School of Electrical Engineering / Dept. of Cybernetics / The Gerstner Lab

  4. laboratory Gerstner The Essence of the Proof in an Example :: Bottom set ⊥ (3) = hasCar ( C ) , hasLoad ( C , L ) , isBig ( L ) , isSmall ( L ) propositional vars: P 1 P 2 P 3 P 4 :: HORNSAT assignment: P i false iff i -th atom included in feature variable production consumption P 2 ← P 1 P 1 ← P 2 C P 3 ← P 2 P 2 ← P 3 ∧ P 4 L P 4 ← P 2 non-emptiness ← P 1 ∧ P 2 ∧ P 3 ∧ P 4 :: P 1 = P 2 = P 3 = false is a maximal (fewest false assignments) solution (found efficiently [Dowling & Gallier, 1984] ), thus f = hasCar ( C ) , hasLoad ( C , L ) , isBig ( L ) is a minimal feature . Because | f | ≤ 3 , we output f (otherwise would say NO). � Filip ˇ Zelezn´ y 2004 c 4 /6 Czech Institute of Technology (ˇ CVUT) in Prague / School of Electrical Engineering / Dept. of Cybernetics / The Gerstner Lab

  5. laboratory Gerstner Tractable Cases: Example :: A connected depth-limited language F D ( n ) ⊂ F ( n )  hasCar ( C ) → hasRoof ( C )   → hasLoad ( C , L1 ) → isBig ( L1 )    branching factor ≤ n → isSmall ( L2 ) → hasLoad ( C , L2 ) → isBig ( L2 )     → isSmall ( L2 )  ← depth ≤ D → :: If literals with multiple inputs, then branching factor O ( n A ) ( A ∼ max arity). :: Therefore |⊥ ( n ) | ≤ O ( n A × D ) = poly ( n ) . :: Therefore tractable. � Filip ˇ Zelezn´ y 2004 c 5 /6 Czech Institute of Technology (ˇ CVUT) in Prague / School of Electrical Engineering / Dept. of Cybernetics / The Gerstner Lab

  6. laboratory Gerstner Intractable Cases: Example (W-I-P) :: A “ no variable reuse ” language F R ( n ) ⊂ F ( n ) . Represent typing/moding by a matrix M . Find a feature f ∈ F R ( n ) a represent it by a vector � f . For example hasCar hasLoad hasRoof isBig isSmall M = − 1 +1 +1 0 0 car 0 − 1 0 +1 +1 load f = hasCar(C1), hasLoad(C1,L), isBig(L), hasCar(C2), hasRoof(C2) � 0 ] − 1 f = [ 2 , 1 , 1 , 1 , hasCar hasLoad hasRoof isBig isSmall � f solves (due to no-var-reuse assumption) the matrix equation M × � f = � 0 , Ie. solves an instance of the NP-complete integer programming problem. Remains to show reduction from an arbitrary integer programming instance. � Filip ˇ Zelezn´ y 2004 c 6 /6 Czech Institute of Technology (ˇ CVUT) in Prague / School of Electrical Engineering / Dept. of Cybernetics / The Gerstner Lab

  7. laboratory Gerstner “If you have a bottom clause, you have almost solved the problem.” * THE END * � Filip ˇ Zelezn´ y 2004 c 7 /6 Czech Institute of Technology (ˇ CVUT) in Prague / School of Electrical Engineering / Dept. of Cybernetics / The Gerstner Lab

Recommend


More recommend