CM5 Flashcards

1
Q

Que signifie SMT ?

A

Satisfiability Modulo Theory, il s’agit determiner si des formules contenant des symboles de théories particulières sont satisfiables ou non

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Quelles théories peuvent être traités avec la SMT ?

A

Les théories décidables

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Principe de la SMT pour une formule φ

A
  • Convertir φ en forme CNF
  • Remplacer chaque littéral par une variable propositionnelle (*)
  • Appeler un solveur SAT pour obtenir un modèle M de φ
  • Convertir M en contraintes pour la théorie et le faire vérifier par la procédure de décision de la théorie
  • Renvoyer φ est satisfiable si M l’est dans la théorie, sinon ajouter ¬M à Φ et reprendre à l’étape (*)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Inconvénient de la méthode de la SMT avec n’importe quel solveur SAT

A

La recherche de modèle n’est pas guidée par la théorie, donc ce n’est pas aussi efficace que ça pourrait l’être

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Qu’est-ce que DPLL abstrait ?

A

Ce sont les règles de DPLL classiques mais où les littéraux sont des littéraux du premier ordre et plus de la logique propositionnelle

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Qu’est-ce que DPLL abstrait modulo théories (DPLL(T)) ?

A

Ce sont les règles de DPLL abstrait avec des règles permettant à la théorie d’injecter de nouvelles clauses (tautologies pour la théorie) dans l’ensemble des clauses

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Règles de DPPL abstrait

A
  • unit prop
  • decide
  • unsat
  • backjump
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

unit prop (DPLL abstrait)

A

M || S, C ∨ l → M, l || S, C ∨ l si I !∈ M et M |= ¬C

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

decide (DPLL abstrait)

A

M || S → M, ld || S si I !∈ M et I ∈ S ou ¬I ∈ S

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

unsat (DPLL abstrait)

A

M || S, C → unsat si M’ |= ¬C tel que M’ ⊆ M et il n’existe pas Id ≤ l’ dans M pour tout I’ ∈ M’

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

backjump (DPLL abstrait)

A

M, Id, M’ || S, C → M, I’ || S, C si M, Id, M’ |= ¬C, et il existe
une clause C’ ∨ l’ telle que : l’ !∈ M, et l’ ∈ S ou ¬l’ ∈ S ou l’ ∈ M, ld, M’ ou
¬l’ ∈ M, ld, M’, et S, C |= C’ ∨ l’, et M |= ¬C’

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Règles de DPPL abstrait modulo théories

A
  • unit prop
  • decide
  • unsat
  • backjump
  • learn
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

learn (DPLL modulo théorie)

A

M || S → M || S, S’ si |=t S’ où T est une théorie

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Améliorations possibles de DPLL(T)

A
  • Minimiser les clauses apprises
  • Détecter les conflits plus tôt
  • Faire de la propagation avec la théorie
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Comment minimiser les clauses apprises pour améliorer DPLL(T) ?

A

Quand on rencontre un conflit en appliquant la règle learn, plutôt qu’apprendre la négation de tout le modèle, on apprend seulement la négation du conflita

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Comment détecter les conflits plus tôt pour améliorer DPLL(T) ?

A

Plutôt qu’attendre d’avoir un modèle compler pour learn, on learn dès qu’on sait qu’on va trouver un conflit

17
Q

Comment faire de la propagation avec la théorie pour améliorer DPLL(T) ?

A

On ajoute la règle theory prop à DPLL(T) :
M || S → M, I || S si I !∈ M, et I ∈ S ou ¬I ∈ S, et M |=T ¬I