Deduction and Induction
A Match Made in Heaven
Stephan Schulz
The Inference Engine Machine Learning
Deduction and Induction A Match Made in Heaven The Machine - - PowerPoint PPT Presentation
Deduction and Induction A Match Made in Heaven The Machine Inference Stephan Schulz Learning Engine Deduction and Induction A Match Made in Heaven or a Deal with the Devil? The Machine Inference Stephan Schulz Learning Engine Agenda
A Match Made in Heaven
The Inference Engine Machine Learning
A Match Made in Heaven
The Inference Engine Machine Learning
◮ Search and choice points in saturating theorem proving ◮ Basic questions about learning ◮ Learning from performance data
◮ Learning from proofs and search graphs
◮ Conclusion
2
8X : human(X) ! mortal(X) 8X : philosopher(X) ! human(X) philosopher(socrates) ? | = mortal(socrates)
3
◮ Proof by contradiction
◮ Saturation
◮ Redundancy elimination
Formula set Equi- satisfiable clause set
4
◮ Proof by contradiction
◮ Saturation
◮ Redundancy elimination
Formula set Equi- satisfiable clause set
4
◮ First-order logic is semi-decidable
◮ Major choice points of Superposition calculus:
5
◮ Negative Superposition with selection
◮ and (s ≃ t)σ is ≻-maximal in (C ∨ s ≃ t)σ ◮ and s is ≻-maximal in (s ≃ t)σ ◮ and u ≃ v is selected in D ∨ u ≃ v ◮ and u is ≻-maximal in (s ≃ t)σ
◮ Choice points:
◮ Consistent throughout the proof search ◮ I.e. in practice determined up-front
◮ Current practice: Fixed scheme picked up-front 6
(unprocessed clauses)
(processed clauses)
g=☐ ?
7
(unprocessed clauses) Gene- rate
(processed clauses)
g=☐ ?
7
(unprocessed clauses) Gene- rate Simpli- fiable? Simplify
(processed clauses)
g=☐ ?
7
(unprocessed clauses) Gene- rate Simpli- fiable? Cheap Simplify Simplify
(processed clauses)
g=☐ ?
7
U
(unprocessed clauses) Gene- rate Simpli- fiable? Cheap Simplify Simplify
g P
(processed clauses)
g=☐ ?
8
U
(unprocessed clauses) Gene- rate Simpli- fiable? Cheap Simplify Simplify
g P
(processed clauses)
g=☐ ?
8
◮ Question 1: What to learn from?
◮ Question 2: What to learn?
9
10
◮ Term ordering ◮ Literal selection scheme ◮ Clause selection heuristic ◮ . . . (minor parameters)
11
◮ Term ordering ◮ Literal selection scheme ◮ Clause selection heuristic ◮ . . . (minor parameters) ◮ Observation: Different problems are simple for different strategies ◮ Question: Can we determine a good heuristic (or set of heuristics)
◮ Original: Manually coded automatic modes
◮ State of the art: Automatic generation of automatic modes
11
12
12
12
12
12
13
14
14
◮ Characterize problems by performance vectors
◮ Unsupervised clustering of problems based om
◮ Feature extraction: Try to find characterization of
:
a betterauto
( that is th practical
goal ) And b) to
better understand
which
features influence
Search ( that is the
theoretical goal )
me
Literature
would be
food
here
, e.g.
the
E
S C 1.8 and
brainiac
')
,and
Something
clustering
.Quite
ford for
a
stat ! Thanks
.15
16
U
(unprocessed clauses) Gene- rate Simpli- fiable? Cheap Simplify Simplify
g P
(processed clauses)
g=☐ ?
17
◮ Symbol counting
◮ FIFO
◮ Flexible weighting
◮ Combinations
18
◮ Domain Specific Language (DSL) for clause selection scheme ◮ Arbitrary number of priority queues ◮ Each queue ordered by:
◮ Clauses picked using weighted round-robin scheme
19
◮ Example clause selection heuristic
◮ Infinitely many possibilities
20
◮ Example clause selection heuristic
◮ Infinitely many possibilities
20
◮ Optimization based on evolving population of individuals
◮ Each individual is a candidate solution (i.e. search heuristic)
◮ The next generation:
21
◮ Encoding: DSL translated into S-Expressions ◮ Mutation: Randomly modify parameters of one heuristic ◮ Crossover:
◮ Fitness: How many medium difficulty problems are solved
◮ Selection: Tournament selection (n ≈ 5)
22
80 85 90 95 100 105 110 115 120 20 40 60 80 100 120 140 Fitness (solved problems) Generations Fitness over generations
23
◮ Evolution finds good clause selection heuristics from random initial
◮ Best evolved heuristic beats best conventional heuristic
24
25
25
25
25
25
25
25
25
25
◮ Idea: Modify fitness function
26
◮ Idea: Modify fitness function
26
27
◮ Intuition: Previous proof searches are useful to
◮ Naive approach:
◮ Initial attempts
28
◮ Problem: Search protocol size
◮ Problem: Not all examples represent search decisions
◮ Common solution:
29
◮ DISCOUNT loop: Only clauses in P are used
U
(unprocessed clauses) Gene- rate Simpli- fiable? Cheap Simplify Simplify
g P
(processed clauses)
g=☐ ?
30
◮ DISCOUNT loop: Only clauses in P are used
◮ Backward simplification is rare
U
(unprocessed clauses) Gene- rate Simpli- fiable? Cheap Simplify Simplifyg P
(processed clauses) g=☐ ?U
(unprocessed clauses)
30
◮ DISCOUNT loop: Only clauses in P are used
◮ Backward simplification is rare
◮ Solution: Non-destructive
U
(unprocessed clauses) Gene- rate Simpli- fiable? Cheap Simplify Simplifyg P
(processed clauses) g=☐ ?U
(unprocessed clauses)
30
(unprocessed clauses) Gene- rate Simpli- fiable? Cheap Simplify Simplify
(processed clauses)
g=☐ ?
31
(unprocessed clauses) Gene- rate Simpli- fiable? Cheap Simplify Simplify
(processed clauses)
g=☐ ?
(archive) 31
32
32
c0 c10 c17 c1 c12 c13 c16 c21 c2 c24 c3 c11 c27 c28 c4 c14 c15 c19 c20 c25 c5 c6 c7 c23 c26 c8 c30 c9 c18 c22 c29
32
c0 c10 c17 c1 c12 c13 c16 c21 c2 c24 c3 c11 c27 c28 c4 c14 c15 c19 c20 c25 c5 c6 c7 c23 c26 c8 c30 c9 c18 c22 c29
32
32
◮ Proof state at success:
◮ All clauses in P ∪ A have been
U
(unprocessed clauses) Gene- rate Simpli- fiable? Cheap Simplify Simplify
g P
(processed clauses)
g=☐ ?
A
(archive)
33
◮ Proof state at success:
◮ All clauses in P ∪ A have been
U
(unprocessed clauses) Gene- rate Simpli- fiable? Cheap Simplify Simplify
g P
(processed clauses)
g=☐ ?
A
(archive)
33
c0). c10). c17). c1). c12). c13). c16). c21). c2). c24). c3). c11). c27). c28). c4). c14). c15). c19). c20). c25). c5). c6). c7). c23). c26). c8). c30). c9). c18). c22). c29).
34
c0). c10). c1). c11). c2). c12). c3). c13). c4). c14). c5). c15). c6). c17). c7). c20). c8). c37). c9). c39). c16). c25). c19). c21). c24). c29). c32). c18). c35). c36). c22). c23). c27). c28). c33). c31). c34). c26). c30). c38). c40).
34
c0). c11). c18). c49). c74). c113). c115). c125). c126). c129). c140). c141). c144). c146). c150). c151). c152). c153). c154). c155). c156). c157). c158). c159). c160). c161). c162). c163). c164). c165). c166). c167). c168). c169). c170). c1). c13). c14). c17). c22). c29). c38). c2). c25). c31). c36). c99). c100). c101). c102). c104). c105). c106). c107). c108). c3). c12). c28). c30). c35). c37). c43). c44). c45). c46). c47). c51). c52). c53). c55). c56). c57). c60). c61). c62). c63). c64). c65). c66). c67). c68). c69). c70). c71). c72). c76). c77). c79). c80). c81). c84). c85). c86). c87). c88). c89). c90). c117). c124). c133). c134). c135). c136). c137). c138). c139). c171). c172). c173). c174). c175). c176). c177). c178). c179). c180). c182). c184). c185). c186). c187). c188). c190). c192). c193). c194). c195). c196). c199). c202). c205). c206). c207). c208). c211). c212). c213). c214). c215). c216). c217). c218). c219). c220). c221). c222). c223). c224). c4). c15). c16). c20). c21). c26). c5). c6). c48). c73). c91). c92). c93). c94). c95). c96). c97). c98). c103). c109). c110). c111). c112). c114). c116). c7). c24). c27). c233). c8). c33). c39). c128). c145). c225). c226). c227). c228). c231). c232). c9). c32). c234). c10). c41). c142). c143). c147). c148). c149). c19). c23). c42). c59). c83). c118). c119). c120). c121). c122). c123). c127). c130). c131). c132). c197). c198). c200). c201). c34). c58). c82). c40). c181). c183). c189). c191). c229). c50). c54). c75). c78). c203). c204). c209). c210). c230).
34
c0). c11). c1). c12). c2). c13). c3). c14). c4). c15). c5). c16). c6). c18). c7). c21). c8). c35). c9). c39). c10). c51). c17). c26). c60). c85). c124). c126). c136). c137). c140). c151). c152). c155). c157). c161). c162). c163). c164). c165). c166). c167). c168). c169). c170). c171). c172). c173). c174). c175). c176). c177). c178). c179). c180). c181). c20). c22). c25). c30). c38). c48). c33). c41). c46). c110). c111). c112). c113). c115). c116). c117). c118). c119). c19). c37). c40). c45). c47). c54). c55). c56). c57). c58). c61). c63). c64). c66). c67). c68). c70). c71). c73). c74). c75). c76). c77). c78). c79). c80). c81). c82). c83). c86). c88). c90). c91). c92). c94). c95). c97). c98). c99). c100). c101). c128). c135). c144). c145). c146). c147). c148). c149). c150). c182). c183). c184). c185). c186). c187). c188). c189). c190). c191). c193). c195). c196). c197). c198). c199). c201). c203). c204). c205). c206). c207). c210). c213). c216). c217). c218). c219). c222). c223). c224). c225). c226). c227). c228). c229). c230). c231). c232). c233). c234). c235). c23). c24). c28). c29). c34). c52). c153). c154). c156). c158). c159). c160). c59). c84). c102). c103). c104). c105). c106). c107). c108). c109). c114). c120). c121). c122). c123). c125). c127). c32). c244). c36). c27). c31). c53). c69). c93). c129). c130). c131). c132). c133). c134). c138). c139). c141). c142). c143). c208). c209). c211). c212). c43). c49). c236). c237). c238). c239). c242). c243). c44). c72). c96). c42). c50). c245). c192). c194). c200). c202). c241). c62). c65). c87). c89). c214). c215). c220). c221). c240).
34
◮ Training examples can be cheaply extracted ◮ Ratio of utilized to useless given clauses (GCU-ratio) is a good
◮ Positive training examples can be automatically written into a watch
35
◮ Abstractions
◮ Learning methods
◮ Trade-offs
36
◮ Abstractions
◮ Learning methods
◮ Trade-offs
36
37
◮ Controlling proof search for theorem provers is a
◮ Inductive techniques can be applied at several
◮ Explicit proofs can be generated efficiently
◮ Proofs are beautiful and informative
38
◮ Controlling proof search for theorem provers is a
◮ Inductive techniques can be applied at several
◮ Explicit proofs can be generated efficiently
◮ Proofs are beautiful and informative
38
◮ Clipart via http://openclipart.org ◮ Hieronimous Bosch via https://commons.wikimedia.org
39