compilation de règles de réécriture et de stratégies non-déterministes pierre-etienne moreau...
TRANSCRIPT
![Page 1: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/1.jpg)
Compilation de Règles de réécriture et de
Stratégies non-déterministes
Pierre-Etienne Moreau
Directeur de thèse : Hélène Kirchner
![Page 2: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/2.jpg)
2
Contexte général
• Preuve automatique de propriétés et de théorèmes– développer des techniques de preuve– prototyper des outils de preuve
• Règle de réécriture– objet sur lequel il est possible de raisonner– moyen d’exprimer les algorithmes et les
procédures de preuve
![Page 3: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/3.jpg)
3
Contexte international
• De nombreux travaux : CiME, daTac, Larch Prover, Otter,
ReDuX, Reve, RRL, Spike, ML, Caml, Clean, ... • principaux langages : terme + règle
1975 CompilateurEquational Interpreter (Chicago)
1977
1999
Interpréteur OBJ (Menlo Park)
1980 Interpréteur ASF+SDF (Amsterdam)
1985 Compilateur ELANInterpréteur ELAN (Nancy)
Interpréteur Maude
CafeOBJ Compilateur Brute
Compilateur ASF+SDF
(Ishikawa)
+ stratégie
![Page 4: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/4.jpg)
4
Plan
• ELAN : Réécriture + Stratégie
• Objectifs et difficultés
• Apports
• Situation actuelle et perspectives
![Page 5: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/5.jpg)
5
ELANMécanisme de base : réécriture
• Règle non nommée :[] fact(1) 1
• Règle conditionnelle :[] fact(n) n*fact(n-1) if n 1
Calcul
fact(3) 3*fact(2) 3*2*fact(1) 3*2*1 3*2 6
![Page 6: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/6.jpg)
6
Problèmes liés à la réécriture
• 2 règles de réécriture :[] [x,y] x
[] [x,y] [x+1,y]
[1,2]
1 [2,2]
2 [3,2]
3 ...
Non-confluence
Non-terminaison
![Page 7: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/7.jpg)
7
Stratégie
• Règle nommée :[R1] [x,y] x
[R2] [x,y] [x+1,y]
• Stratégie :repeat(dc one(R1,R2))
repeat(first one(R1,R2))
repeat(dk(R1,R2))
[1,2]
1 [2,2]
2 [3,2]
3 ...
gestion de la non confluence
Gestion de la non confluence
![Page 8: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/8.jpg)
8
StratégieGestion de la non terminaison
• Ajout d’une condition :[R1] [x,y] x
[R2] [x,y] [x+1,y] if x y [1,2]
1 [2,2]
2
• Ajout d’une règle :[R1] [x,y] x
[R2] [x,y] [x+1,y]
[check] [x,y] [x,y] if x y
• Stratégie : repeat(dk(R1, check ; R2))
![Page 9: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/9.jpg)
9
Associatif-CommutatifGrande expressivité
• Associativité : x (y z) = (x y) z
• Commutativité : x y = y x[extract] x E x
dk(extract)
1 2 3 4
1 42 3
![Page 10: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/10.jpg)
10
Associatif-CommutatifSource de non-déterminisme
Règle : [extract] x E x
Sujet : 1 2 3 4
Objectif : extraire un élément pair
Règle : [check] x x if Pair(x)
Stratégie : dk(extract) ; dc one(check)
1 2 3 4
3 échec
2 2
![Page 11: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/11.jpg)
11
AC + StratégieDouble non-déterminisme
• Une règle nommée est appliquée à la racine
• Mécanisme d’évaluation locale[relation] x E y
if Pair(x)
where y:=(dk(extract)) E
if Relation(x,y)
![Page 12: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/12.jpg)
12
Plan
• ELAN : Réécriture + Stratégie
• Objectifs et difficultés
• Apports
• Situation actuelle et perspectives
![Page 13: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/13.jpg)
13
Objectifs
• Poursuivre l’étude du formalisme
• Etudier les algorithmes de compilation– compilation de la réécriture– compilation du filtrage AC– compilation des stratégies
• Rendre ces méthodes utilisables en pratique– concevoir un outil fiable et efficace
![Page 14: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/14.jpg)
14
Difficultés
• Gérer le double non-déterminismeproposer un mécanisme uniforme
• Gérer les interactions et intégrer les solutionsconception globale
de stratégies non-déterministes
de symboles associatifs et commutatifs
• Compiler la réécriture
En présence :
![Page 15: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/15.jpg)
15
Plan
• ELAN : Réécriture + Stratégie
• Objectifs et difficultés
• Apports
• Situation actuelle et perspectives
![Page 16: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/16.jpg)
16
Compilation dufiltrage syntaxique
• Sélection efficace d’une règle : – analyse de l’ensemble des règles– pré-construction d’automates de
filtrage– génération d’un programme C
• Travaux largement étudiés :– Hoffmann et O’Donnell (1982),
Gräf (1991), Sekar et al. (1992), Graf (1996), Nedjah et al. (1997)
Apports
Gestion du non-déterminisme
Filtrage syntaxique
Compilation du filtrage AC
Analyse du déterminisme
Compilation des stratégies
Implantation
Définition d’unformat d’échange
![Page 17: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/17.jpg)
17
Automate de filtrage
Analyse des 3 règles
f(a,g(a)) a
f(g(b),g(b)) c
f(x,g(c)) b
f
*
g
b
g
b
g
a
g
a
c
Sujet : f(g(a),g(c))Sujet : f(g(a),g(c))Sujet : f(g(a),g(c))Sujet : f(g(a),g(c))Sujet : f(g(a),g(c))Sujet : f(g(a),g(c))Sujet : f(g(a),g(c))
Automate de filtragenon-déterministe
Non-déterministe :• pour sélectionner un motif• pour trouver tous les motifs
![Page 18: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/18.jpg)
18
Automate de filtragedéterministe
Analyse des 3 règles
f(a,g(a)) a
f(g(b),g(b)) c
f(x,g(c)) b
f
*
g
b
g
b
g
a
g
a
c
c
c
g
c
*
Sujet : f(g(a),g(c))
Gräf (1991)Nedjah (1997)
![Page 19: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/19.jpg)
19
Automate de filtragedéterministe avec jumpNode
Analyse des 3 règles
f(a,g(a)) a
f(g(b),g(b)) c
f(x,g(c)) b
Sujet : f(g(a),g(c))
f
*
g
b
g
b
g
a
g
a
c
c
c
g
c
**
• construction incrémentale
• taille réduite
![Page 20: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/20.jpg)
20
Compilation dufiltrage AC
• Problème connu :– Hullot (1980)– Benanav et al. (1987)– Kounalis et al. (1991) – Bachmair et al. (1993) – Lugiez et al. (1994)– Eker (1995)
• Prise en compte de l’aspect normalisation
Apports
Gestion du non-déterminisme
Filtrage syntaxique
Compilation du filtrage AC
Analyse du déterminisme
Compilation des stratégies
Implantation
Définition d’unformat d’échange
![Page 21: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/21.jpg)
21
• Forme canonique ordonnée :b+(a+(b+c)) = (b+a)+(b+c) = +(a,b2,c)
• 1 sujet : +(f(a,a), f(a,g(b)), f(g(c),g(b)), g(a))
• 2 règles :– +(z, f(a,x), g(a)) r1
– +(f(a,x), f(y,g(b))) r2
Problème à résoudre
• Trouver une solution au problème de filtrage AC
• Forme canonique ordonnée :b+(a+(b+c)) = (b+a)+(b+c) = +(a,b2,c)
• 1 sujet : +(f(a,a), f(a,g(b)), f(g(c),g(b)), g(a))
• 2 règles :– +(z, f(a,x), g(a)) r1
– +(f(a,x), f(y,g(b))) r2
![Page 22: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/22.jpg)
22
Exemple (one-to-one)
sélection d’une règle : +(z, f(a,x), g(a)) r1
construction d’un BG :
Sujet : +(f(a,a), f(a,g(b)), f(g(c),g(b)), g(a))
résolution du BG :
calcul d’une autre solution :
x=a et z=+(f(a,g(b)), f(g(c),g(b)))
x=g(b) etz=+(f(a,a), f(g(c),g(b)))
sélection d’une autre règle : tout est à refaire !
![Page 23: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/23.jpg)
23
Analyse de la situation
Problème
• La construction des BG coûte cher– appel récursif du filtrage AC one-to-one– allocation dynamique de mémoire
+(f(x), *(g(y), h(z))) r(x,y,z)
+(f(a), f(b), g(c), *(g(a), h(b)), *(g(b), h(c)))
*(g(y), h(z))
*(g(a), h(b))*(g(y), h(z))
*(g(b), h(c))
![Page 24: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/24.jpg)
24
3 idées principales
• Accélérer les cas fréquents en pratique– définition d’une classe de motifs
• Réduire le coût de construction des BG– utiliser des automates de filtrage syntaxique– définir une structure de BG compacte
• Intégrer filtrage et normalisation– prendre en compte les contraintes externes au
filtrage AC
![Page 25: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/25.jpg)
25
Classe de motifs
• C0 : termes linéaires
– exemple : a, x, f(x,y), …
• C1 : 1 niveau de symbole AC (semi-linéaire)
– 2 variables directement sous le symbole AC– exemple : [+(z, y3, f(a,x), g(a)) , *(g(t), b)]
• C2 : 2 niveaux de symboles AC
– exemple : *(x, +(y, z2))
• Suffisant en pratique
• Filtrage syntaxique des sous-termes
![Page 26: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/26.jpg)
26
Approche many-to-one
+(z, f(a,x), g(a)) r1
+(f(a,x), f(y,g(b))) r2
construction du CBG avec un automate
+(f(a,a), f(a,g(b)), f(g(c),g(b)), g(a))
sélection d’une règle : extraction d’un BG
calcul d’une solution
+( f(a,x), f(y,g(b)), g(a) )
+(f(a,a), f(a,g(b)), f(g(c),g(b)), g(a))
+( f(a,x), f(y,g(b)), g(a) )
regroupement des sous termes
![Page 27: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/27.jpg)
27
Approche many-to-one
+(z, f(a,x), g(a)) r1
+(f(a,x), f(y,g(b))) r2
construction du CBG avec un automate
+(f(a,a), f(a,g(b)), f(g(c),g(b)), g(a))
sélection d’une règle : extraction d’un BG
calcul d’une solution
sélection d’une autre règle :
+( f(a,x), f(y,g(b)) , g(a) )
+(f(a,a), f(a,g(b)), f(g(c),g(b)), g(a))
+( f(a,x), f(y,g(b)), g(a) )
extraction d’un autre BG
![Page 28: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/28.jpg)
28
Normalisation AC
• Sélection d’une règle : filtrage AC
• Calcul d’une substitution
• Construction et normalisation des instances– gestion de la mémoire et du partage
• Traitement des évaluation locales– stratégies et problèmes de filtrage imbriqués– gestion des retours arrières
• Maintien en forme canonique ordonnée
![Page 29: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/29.jpg)
29
Résultats expérimentaux
• Bool3 : peu de règles mais des gros termesx + 0 x x * 0 0
x + x + x 0 x * x * x x
(x + y) * z (x*y) + (y*z) x * 1 x
and(x,y) (x*x*y*y) + (2*x*x*y) +
(2*x*y*y) + (2*x*y)
or(x,y) …
not(x) (2*x) + 1
![Page 30: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/30.jpg)
30
Résultats expérimentaux
Requête : and(a1,…,a6) = not(or(not(a1),…,not(a6)))
CiME : >24hOBJ : >24hOTTER : >10mn (plus de mémoire)ReDuX : 20mnRRL : >4h (plus de mémoire)Spike : >24hBrute : 2.25 secMaude : 0.153 secELAN : 0.332 sec
![Page 31: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/31.jpg)
31
Résultats expérimentaux
Nat10 : petits termes mais >100 règles
CiME : 294 sec
OBJ : 111 sec
Brute : 0.360 sec
Maude : 0.170 sec
ELAN : 0.163 sec
![Page 32: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/32.jpg)
32
Résultats expérimentaux
• Somme : règles conditionnellesx faux
x S set(y) vrai if x = y
x S faux
[S1 set(x), S2, y] erreur if x S2
[S1 set(x), S2, y] [S1, S2 set(x), x+y]
if x S2
![Page 33: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/33.jpg)
33
Résultats expérimentaux
Requête : [ set(1) … set(100), , 0]
OBJ : >24h
Spike : >24h
Brute : 6.247 sec
Maude : 16.774 sec
ELAN : 1.326 sec
Résultat : [, set(1) … set(100), 5050]
![Page 34: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/34.jpg)
34
Gestion des points de choix en C
• Ajout de 2 primitives :– setChoicePoint (setjmp)– fail (longjmp)
Apports
Gestion du non-déterminisme
Filtrage syntaxique
Compilation du filtrage AC
Analyse du déterminisme
Compilation des stratégies
Implantation
Définition d’unformat d’échange
.eln Compilateur C
Support
Backtrack
![Page 35: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/35.jpg)
35
Intérêts de l’approche
• Gestion transparente des points de choix
• Compilation modulaire, utilisation de paramètres et de variables locales
• Un seul mécanisme pour gérer le double non-déterminisme
• Schémas simples de compilation des stratégies
![Page 36: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/36.jpg)
36
Compilation desStratégies
Apports
Gestion du non-déterminisme
Filtrage syntaxique
Compilation du filtrage AC
Analyse du déterminisme
Compilation des stratégies
Implantation
Définition d’unformat d’échange
dk(S1, S2)résultat
résultat
résultat
fin
XX
XS2
S1
dc one(S1, S2)résultat
fin
XXS1
dk(S1, S2) ; S3résultat intermédiaire
fin
XX
XS2
S1S3
échec
résultat intermédiaire S3
résultat
résultat intermédiaire S3
échec
![Page 37: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/37.jpg)
37
Analyse du déterminisme
• Point de choix – temps– mémoire
• Stratégie avec plusieurs résultats– pose de points de choix
• Stratégie avec un seul résultat– pas de point de choix
• Régimes déterministes
Apports
Gestion du non-déterminisme
Filtrage syntaxique
Compilation du filtrage AC
Analyse du déterminisme
Compilation des stratégies
Implantation
Définition d’unformat d’échange
![Page 38: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/38.jpg)
38
AlgorithmeRésumé
• Analyse des règles[] x E E if P(x)
[] x E E f(x) if not(P(x))
points de choix
pas de point de
choix
pas de point de
choix
[] fact(n) 1 if n = 1
[] fact(n) n*fact(n-1) if n 1
• Analyse des stratégiesrepeat(dc one(S))
![Page 39: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/39.jpg)
39
Impact sur le code généré
• Contrôle géré par des sauts (goto)
• Amélioration des schémas de compilation :
ss
s
ss
s
ss
s
s s s
Stratégie repeat(S)
cas déterministecas non-déterministe
• Moins de points de choix
![Page 40: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/40.jpg)
40
Impact surla pose de points de choix
0
20
40
60
80
100
120
Complétion KB Minela Nqueens Fibonacci
Sans analyse Avec analyse
![Page 41: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/41.jpg)
41
Impact surl’efficacité du code généré
0
20
40
60
80
100
120
Complétion KB Minela Nqueens Fibonacci
Sans analyse Avec analyse
![Page 42: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/42.jpg)
42
Implantation
• Plateforme de développement
• Compilateur utilisable et diffusé
• Accélération des programmes
• Réduction de la consommation mémoire
• Exécution d’applications de taille réelle
Apports
Gestion du non-déterminisme
Filtrage syntaxique
Compilation du filtrage AC
Analyse du déterminisme
Compilation des stratégies
Implantation
Définition d’unformat d’échange
![Page 43: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/43.jpg)
43
Automates d’arbres(Thomas Genet)
• Environnement de calcul et de preuve• Déterminisation, minimisation, intersection• Terminaison, interblocage, confidentialité, ... • 100 modules, 100 sortes, 850 règles, 300
conditions, 55 stratégies, …• 10^9 règles appliquées en 20 minutes• (1 semaine avec l’interpréteur)
![Page 44: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/44.jpg)
44
Colette(Carlos Castro)
• Environnement de résolution de contraintes
• Conjonction, minimisation, disjonction
• Puzzles, coloriages, ordonnancement, ...
• 70 modules, 40 sortes, 1000 règles, 500 conditions, 60 stratégies, ...
• 10^10 règles appliquées en moins de 24h
• (6 mois avec l’interpréteur)
![Page 45: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/45.jpg)
45
Plan
• Réécriture + Stratégie
• Difficultés
• Apports
• Situation actuelle et perspectives
![Page 46: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/46.jpg)
46
Perspectives
• Aujourd’hui : nous avons un langage
• Perspective :– possibilité de plug-in – méthode d’évaluation des performances– extension du filtrage AC (A, AC0, AC1)
• algorithme de tri : l1 X l2 Y l3 l1 Y l2 X l3 if Y<X
![Page 47: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/47.jpg)
47
Perspectives
• Aujourd’hui : nous avons une implantation
• Perspective :– représentation des termes– gestion mémoire– mémorisation– gestion de l’espace de recherche : backjumping,
forwardjumping
![Page 48: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/48.jpg)
48
Perspectives
• Perspective :– format d’échange– modularité– mise à disposition
d’outils– ouverture vers l’extérieur
Pretty-printer Editeur Interface
ParseurOutil de
CoordinationPréprocesseur
Interpréteur Compilateur Débogueur
• Aujourd’hui : nous avons un environnement
![Page 49: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/49.jpg)
49
Perspectives
• ELAN : calcul par réécriture
• Perspective : construire le terme de preuve– visualiser (expliquer)– rejouer (déboguage)– communiquer (vérifier un calcul)– comprendre (stratégie interactive)– analyser (stratégie « intelligente »)
puissance et efficacité
![Page 50: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/50.jpg)
50
ApportsRésumé
• compilateur pour la réécriture
intégrant :
• algorithme de compilation du filtrage syntaxique
• définition d’une classe de motifs
• algorithme de compilation du filtrage AC
• méthode de gestion des points de choix
• algorithme d’analyse du déterminisme
• schémas de compilation de stratégies
![Page 51: Compilation de Règles de réécriture et de Stratégies non-déterministes Pierre-Etienne Moreau Directeur de thèse : Hélène Kirchner](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9d84497959293b8bfeaf/html5/thumbnails/51.jpg)
51
Résultats expérimentauxRésumé
• Interpréteur : 10 à 200.000 réécritures/sec
• Compilateur : 30.000 à 20.000.000 rééc/sec
• plus de 10^10 règles appliquées en 24h
• 1 min. de calcul = 3h20 avec un interpréteur
• 1 jour de calcul = 6 mois
• 3 années de travail