Departement de formation doctorale en informatique

Boole doctorale IAEM Lorraine Polytechnique de Lorraine

Programmation par regies et strategies pour la generation automatique de mecanismes de combustion d’hydrocarbures polycycliques

THESE

presentee et soutenue publiquement le 14 juin 2004

pour Vobtention du

Doctorat de l’Institut National Polytechnique de Lorraine (spdcialitd informatique)

par

Liliana Ibanescu

Composition du jury Preaideut ; Gerard Scacchi, Professeur, ENSIC-INPL, Prance Ropporteura Jean-Louis Giavitto, Charge de Recherche, Habilite, LaMI, CNRS, Prance Narciso Marti-Oliet, Professeur, Universidad Complutense Madrid, Espagne Erommoteura ; Olivier Bournez, Charge de Recherche, LORIA, INRIA, Prance Helene Kirchner, Directeur de Recherche, LORIA, CNRS, Prance Amedeo Napoli, Directeur de Recherche, LORIA, CNRS, Prance Gaelic Pengloan, Ingenieur, PSA Peugeot Citroen Automobiles

Laboratoire Lorrain de Recherche en Informatique et ses Applications — UMR 7503 Mis en page avec la classe thloria. 1

A mes parents ii iii Remerciements

Je voudrais tout d'abord remercier spScialement rues encadrants, au sens large, HSlSne Kirchner, Olivier Boumez, Guy-Marie Cbme et Valerie Conraud pour m'avoir guide pendant ces trois dernitres annSes. Cette these a pu Stre rSalisSe gr&ce & leurs immenses competence et soutien. Je te remercie, Helene, pour avoir accepte de m'encadrer pendant cette these, pour m'avoir toujours encouragee, et pour m'avoir guidee dans 1'apprentissage de la recherche. Je te remercie d'autant plus vivement que je t'ai toujours sentie & mes cOtSs, et ce malgre tes lourdes responsabilites au sein du laboratoire. Je te remercie, Olivier, pour ton immense disponibilite, ton ecoute et la patience dont tu as su faire preuve pour m'enseigner le metier de chercheur. Je te remercie aussi pour les encouragements, les bons conseils et les pauses cafe. Je vous remercie, Monsieur COme, pour avoir initie et soutenu de toutes vos forces le projet GasEI, pour avoir accepte de me joindre & ce projet, pour votre disponibilite et pour les longues discussions qui m'ont rendu plus accessible le domaine de la cinetique chimique. Je vous en suis specialement reconnaissante pour les chapitres de cette these lies & la chimie. Je te remercie Valerie, pour avoir suivi de pres mon travail, pour avoir partage ton experience prScieuse, pour avoir assure 1'interface avec le DCPR, et pour avoir accepte la charge des affaires administratives liees & la these. Je tiens ensuite & remercier sincerement ceux qui ont bien voulu prendre part & ce jury. Jean-Louis Giavitto, qui a accepte d'etre rapporteur de ma these. Je le remercie pour ses commentaires, pour ses remarques constructives et pour le vif interet qu'il a manifeste pour mon travail. Narciso Martf-Ohet qui m'a fait 1'honneur d'accepter le rble de rapporteur, malgre 1'obstacle de la langue et de la chimie. Je le remercie pour ses remarques constructives et pour ses commentaires. Gerard Scacchi, qui a accepte de participer aux t&ches finales relatives & la redaction du memoire et qui s'est engage & faire partie du jury de these. Je le remercie pour 1'interet qu'il a manifeste pour mon travail, et aussi pour avoir accepte de presider le jury de cette these. Amedeo Napoli, qui, en tant que referent, a accepte d'examiner cette these. Je le remercie pour ses commentaires judicieux et pour ses remarques. Gaelle Pengloan, qui a suivi le projet GasEI en general, et ma recherche en particuher, comme reprS- sentante du groupe PSA Peugeot Citroen Automobiles. Je le remercie egalement pour le soutien financier que ce groupe a apporte au projet GasEI. Je prohte de 1'occasion qui m'est faite pour remercier toute 1'Squipe PROTHEO pour son accueil et pour 1'environnement de travail trSs stimulant. Je remercie tout particuhSrement Claude Kirchner qui, en tant que directeur de 1'Squipe PROTHEO, m'a donnS tous les moyens pour poursuivre ma recherche. Je tiens & remercier sincerement Pierre-6tienne Moreau pour tout le soutien concernant le langage ELAN. Je remercie mon collogue de bureau Olivier, ainsi que mes anciens collSgues de bureau Eric, Huy et Hubert, pour leurs aide, remarques et critiques, pour m'avoir support Se, et pour m'avoir expliquS les subtilitSs de la langue frangaise. Je remercie Sgalement Isabelle, Hora^iu, Christophe et FrSdSric, ainsi que mes collSgues du plateau Clara, Benjamin, Germain, Florent, Antoine, Emmanuel et Michael, pour les nombreux Schanges et pour la bonne ambiance. Je remercie 1'Squipe du DCPR imphquSe dans le projet GasEI, FrSdSrique, Pierre-Alexandre et RenS, pour leur disponibihtS de participer aux reunions de travail qui m'ont per mis de comprendre le problSme abordS, et pour leur retour prompt sur mon travail. Je remercie sincerement Marie-Laure, pour son accueil tree chaleureux au sein du DCPR, et pour toute son aide. Je remercie Gregory Kucherov pour m'avoir accepts en stage de recherche pendant 1'StS 2000, en me donnant, entre autres, la possibility de connaitre de prSs le LORIA, et le sujet de recherche de cette these. Je souhaite aussi remercier mes professeurs de la Faculty de lagi, Dorel Lucanu, Dan Cristea, Liviu Ciortuz et CosticS Cazacu, qui ont guide mes premiers pas dans la recherche, ainsi que le professeur Grigor Moldovan de Cluj-Napoca pour avoir accepts que je continue ma recherche en France. IV

Je remercie mes parents, ma grand-m6re, mon fr6re et ma belle-sceur, qui m'ont toujours encouragGe et soutenue avec beaucoup d'aEection. Je remercie tout particuli^rement mes parents d'avoir pu se dGplacer jusqu'& Nancy pour assister & ma soutenance. C'est & eux que cette th6se est d6di6e. Je tiens aussi & remercier chaleureusement tous mes amis, pour leurs encouragements, pour les mo ­ ments agrGables partagAs ensemble, et pour avoir 6t6 & mes cot6s dans les moments diHiciles. Ceux de Ia§i : Ana, Veronica, Corina, Elena, Dan, et Vlad; et aussi ceux que j'ai eu la chance de connaltre & Nancy tout au long de ma th6se : Maria, Simona, Adrian, Szil&rd, Adriana, Alina, Cristi, Diana, Jorg, Lavinia, Ohvier, loana, Vali, Haritina, Elena, Mihai, Costi, Irina, Ela, Daniela, Feirouz, Eugen, Radu, Sorin, Dan, Emmanuel, Christophe et Luc. Table des matieres

Table des figures xi

Introduction 1

1 Chimie physique et ingenierie des reactions de combustion 5 1.1 Importance des reactions de combustion des hydrocarbures ...... 5 1.2 Classes de molecules ...... 5 1.2.1 Alcanes...... 6 1.2.2 AlcGnes...... 6 1.2.3 Aromatiques ...... 6 1.3 Combustion dans les moteurs et les carburants...... 7 1.3.1 Moteur & allumage commands ...... 7 1.3.2 Moteur Diesel...... 9 1.3.3 Moteur & allumage par compression d'un melange homogene ...... 9

2 Mecanismes reactionnels 13 2.1 Introduction ...... 13 2.2 Exemple de la pyrolyse du n6opentane & faible avancement ...... 14 2.3 Description formelle d'un mecanisme reactionnel ...... 16 2.3.1 Vitesse de reaction ...... 17 2.3.2 Module matMmatique ...... 18 2.3.3 Donnies thermodynamiques ...... 18 2.3.4 Donnies de transport ...... 19 2.4 Methodologie de conception et de validation d'un module de reactions ...... 19 2.4.1 Sequence experimental ...... 19 2.4.2 Sequence de moderation ...... 20 2.4.3 Sequence d'analyse et ajustement...... 20 2.5 Complexite de la conception et de la validation d'un mecanisme reactionnel ...... 20

3 Solutions de la chimie informatique pour la generation automatique de mecanismes reactionnels 21 3.1 Historique ...... 21 3.2 Proprietes ...... 22

v VI IbbJe des matures

3.3 Methods de construction ...... 22 3.4 Problemes informatiques & resoudre ...... 23 3.5 Representation des espAces chimiques ...... 24 3.5.1 Notions de base de la tMorie des graphes ...... 24 3.5.2 Definition du graphe moieculaire ...... 25 3.5.3 Proprietes du graphe moieculaire ...... 27 3.6 Codage des graphes moieculaires ...... 27 3.7 Modele DU...... 28 3.7.1 Codage des graphes moieculaires dans le modele DU...... 28 3.7.2 Codage des reactions eiementaires dans le modele DU...... 29 3.7.3 Appliquer une reaction dans le modele DU ...... 29 3.7.4 Systernes generiques de generation de reactions bases sur le modele DU...... 30 3.7.5 Syst ernes de generation pour la chimie des hydrocarbures, bases sur le modele DU 31 3.8 Representation canonique des espAces chimiques ...... 31 3.8.1 Description du probleme ...... 31 3.8.2 Problemes relies ...... 31 3.8.3 Complexite du probleme ...... 32 3.8.4 Solutions pour le probleme de Tisomorphisme des graphes ...... 32 3.9 Interface avec 1'utilisateur...... 34 3.9.1 Historique ...... 34 3.9.2 Notations lineaires...... 35 3.10 Systemes logiciels pour la generation automatique de mecanismes...... 36 3.10.1 Syst erne GRACE...... 36 3.10.2 Systeme de Budapest ...... 37 3.10.3 Systeme KING...... 37 3.10.4 Systeme de Milan ...... 37 3.10.5 Systeme NetGen...... 37 3.10.6 Systeme XMG...... 37 3.10.7 Systeme RMG...... 37 3.10.8 Systeme de Leeds...... 38 3.10.9 Systeme de Stuttgart ...... 38 3.10.10Systeme EXGAS...... 38 3.10.11 Systeme REACTION ...... 42 3.10.12Systeme de Faulon et Sault...... 42

4 Systemes de reduction abstracts 43 4.1 Notions de base...... 43 4.2 Reecriture de termes...... 44 4.2.1 Algebres de termes...... 44 4.2.2 Substitutions du premier ordre ...... 45 4.2.3 Systemes de reecriture...... 46 4.2.4 Quelques proprietes de la reecriture ...... 46 vii

4.2.5 Variantes de la reecriture de termes ...... 47 4.3 Reecriture de graphes ...... 49 4.3.1 Principes generaux ...... 49 4.3.2 Implantations ...... 50 4.3.3 Reecriture de termes-graphes ...... 51 4.4 A-calcul...... 53 4.5 p-calcul...... 54 4.6 Machines abstraites chimiques ...... 55 4.6.1 Chimies artihcielles...... 56 4.6.2 Gamma ...... 56 4.6.3 CHAM...... 57 4.6.4 ARMS...... 57 4.6.5 AlChemy : le A-calcul pour la chimie...... 58 4.7 Conclusions ...... 58

5 Regies et strategies avec le systeme ELAN 59 5.1 Logique de reecriture...... 59 5.2 Systeme de calcul et strategies ...... 60 5.3 Systeme ELAN ...... 61 5.3.1 Signatures ...... 62 5.3.2 Regies de reecriture ...... 63 5.3.3 Strategies eiementaires d'ELAN...... 64 5.4 Conclusion ...... 66

6 Choix physico-chimiques de la these 67 6.1 Domaine d'application du systeme GasEI...... 67 6.1.1 Classes de molecules ...... 67 6.1.2 Type de processus ...... 67 6.2 Reactions eiementaires generiques du prototype ...... 68 6.2.1 Amorgages unimoieculaires (ui)...... 69 6.2.2 Amorgages bimoieculaires (bi)...... 70 6.2.3 Reaction de metatheses (me)...... 70 6.2.4 Reactions ipso (ipso) ...... 70 6.2.5 Reactions de beta-scission (bs)...... 71 6.2.6 Reactions d'oxydation (ox) ...... 71 6.2.7 Reactions de combinaison d'un radical avec le biradical *0* (co.O.) ...... 72 6.2.8 Combinaison de radicaux libres (co) ...... 72 6.2.9 Dismutation de deux radicaux libres (di)...... 73 6.3 Reduction de la taille des mecanismes...... 73 6.3.1 Methodes de reduction ...... 73 6.3.2 Categories de radicaux libres...... 73 6.4 Structure du systeme GasEI...... 74 viii Table des matures

6.4.1 Structure du mecanisme...... 75 6.4.2 Structure du mecanisme primaire...... 76 6.4.3 Reduction a priori dans le prototype ...... 76

7 Representation et codages des especes chimiques en GasEI 79 7.1 Representation des espAces chimiques ...... 79 7.1.1 Graphe moieculaire utilise dans GasEI...... 79 7.1.2 Quelques proprietes des graphes moieculaires ...... 80 7.2 Codage des graphes moieculaires ...... 81 7.2.1 Proprietes attendues...... 82 7.2.2 Solutions existantes ...... 82 7.2.3 Notation SMILES ...... 82 7.2.4 Obtenir la notation SMILES d'un graphe moieculaire ...... 84 7.2.5 Terme & la SMILES...... 89 7.2.6 Terme SMILES^c...... 92 7.2.7 Terme GasEI ...... 94 7.2.8 Codage des graphes moieculaires en GasEI...... 97 7.2.9 Algorithme de test d'isomorphisme de graphes moieculaires dans GasEI...... 98 7.2.10 Codage d'un ensemble de graphes moieculaires ...... 99

8 Codage des reactions eiementaires generiques primaires en GasEI 101 8.1 Reecriture de graphes moieculaires ...... 101 8.2 Systeme de reecriture de graphes moieculaires pour la pyrolyse oxydante ...... 104 8.2.1 Regies pour 1'amorgage unimoieculaire (ui) ...... 104 8 2.2 Regie pour 1'amorgage bimoieculaire (bi)...... 105 8 2.3 Regies pour la metathese (me) ...... 105 8.2.4 Regie pour la reaction ipso (ipso) ...... 106 8.2.5 Regies pour la beta-scission (bs) ...... 106 8.2.6 Regie pour 1'oxydation (ox) ...... 107 8 2.7 Regies pour la combinaison d'un radical avec le biradical *0* (co.O ) ...... 107 8.2.8 Regies pour la combinaison de radicaux libres (co) ...... 108 8.2.9 Regies pour la dismutation de deux radicaux libres (di) ...... 108 8.2.10 Pyrolyse oxydante de graphes moieculaires ...... 109 8 3 Reecriture d'arbres moieculaires decores ...... 109 8.3.1 En passant par les graphes moieculaires ...... 109 8 3.2 Systeme de reecriture d'arbres moieculaires decores pour la pyrolyse oxydante ... 110 8.3.3 Pyrolyse oxydante d'arbres moieculaires decores ...... 113 8.4 Reecriture de termes GasEI ...... 114 8 4.1 Sous-graphes & detecter...... 114 8.4.2 Conditions d'application ...... 115 8.4.3 Transformations des sous-graphes ...... 116 8.4.4 Details d'implantation ...... 120 IX

8.4.5 Codage de 1'amorgage unimolAculaire ...... 122 8.4.6 Pyrolyse oxydante de termes GasEI...... 124 8.5 Pyrolyse oxydante & difRrents niveaux...... 125

9 Codage du mecanisme primaire 127 9.1 Exhaustivit6...... 127 9.1.1 Vision d'un arbre molAculaire d6cor6 ...... 128 9.1.2 G6n6rer toutes les visions d'un arbre molGculaire d6cor6 ...... 129 9.2 Enchalnement des phases du mecanisme primaire...... 130 9.2.1 Codage de la phase des amorgages ...... 130 9.2.2 Codage de la phase de propagation ...... 134 9.2.3 Codage de la phase de terminaison ...... 136 9.2.4 Reduction a priori ...... 137 9.3 Interface graphique du systGme GasEI...... 138 9.3.1 Editeur de molecules ...... 139 9.3.2 Menu de reactions ...... 139 9.4 Conclusions ...... 139

10 Validation chimique du prototype 143 10.1 Classe des alcanes et des cyclanes avec un seul cycle ...... 143 10.1.1 MGcanisme primaire de pyrolyse oxydante de 1'iso-octane ...... 144 10.1.2 MGcanisme primaire de pyrolyse oxydante de I'Gthylcyclohexane ...... 147 10.2 Classe des molecules polycycliques ...... 153 10.2.1 Produits primaires g6n6r6s pour la molecule de propylbenz^ne ...... 153 10.2.2 Produits primaires g6n6r6s pour la molecule d'indane...... 155 10.2.3 Produits primaires g6n6r6s pour la molecule de JP10...... 157 10.2.4 Produits primaires g6n6r6s pour la molecule de propyldihydropMnanthrGne .... 157 10.3 Conclusion ...... 159

Conclusions et perspectives 161

Bibliographic 165

A Mecanismes primaires generes par EXGAS 175 A.l MGcanisme de 1'iso-octane ...... 175 A. 2 MGcanisme de l'6thylcyclohexane ...... 182

B Mecanismes primaires generes par GasEI 197 B. l MGcanisme de 1'iso-octane ...... 197 B.2 MGcanisme de I'Gthylcyclohexane ...... 201

Index 207 X %Ue des matures Table des figures

1.1 Differentes Stapes du fonctionnement d'un moteur & essence, & quatre temps : les dessins de 1 & 3 correspondent & radmission, 4 & la compression, 5 & 1'explosion-detente et de 6 & 8 & I'Schappement ...... 8 1.2 Composition par families chimiques d'un gazole commercial, analyst par spectromStrie de masse [Gui96] : R dSsigne un groupement alkyle, de formule brute CnHgn+i ...... 10

2.1 Produits primaires de pyrolyse du neopentane ...... 14 2.2 Concentration du r&actif, des produits primaires et des produits secondaires en fonction de la durSe de la reaction ...... 16 2.3 Processus d'eiaboration et validation d'un mod&le de reactions ...... 19

3.1 Representations d'une molecule : a) formule dSveloppSe ; b) graphe moieculaire ; c) graphe sans hydrogene ; d) formule simpliHSe...... 26 3.2 Representations d'un radical : a) graphe moieculaire ; b) structure simphhee...... 27 3.3 a) Le graphe moieculaire et b) la matrice BE de 1'ethane; c) le graphe moieculaire et d) la matrice BE du radical vinyl ...... 28 3.4 Matrices de reactions dans le modele DU...... 29 3.5 Coupure de la liaison C—C dans la molecule d'ethane...... 30 3.6 Decomposition de la matrice resultat de la figure 3.5 en deux radicaux libres ...... 30 3.7 Notations lineaires...... 35 3.8 Schema global du systeme EXGAS [C0m99] ...... 39 3.9 Schema fonctionnel du mecanisme primaire du systeme EXGAS (traduit en frangais de [WSBL+98]) ...... 40 3.10 Mecanisme primaire en EXGAS [C0m99] ...... 41

5.1 Regies de deduction de la logique de reecriture...... 60

6.1 Structure generale du systeme GasEI...... 75 6.2 Mecanisme primaire de pyrolyse oxydante ...... 76

7.1 Graphes moieculaires utilises dans GasEI: a) le graphe moieculaire ; b) le graphe moieculaire sans hydrogene ...... 80 7.2 Transformer un graphe moieculaire en arbre moieculaire decore : a) le graphe moieculaire initial; b) le graphe apres une coupure de cycle, etiquetee 1; c) le graphe apres une deuxieme coupure de cycle, etiquetee 2...... 84

81 Filtres presents dans les reactions eiementaires generiques primaires ...... 115 8 2 Amorgage unimoieculaire d'un terme GasEI codant 1'iso-octane ...... 123

9.1 Cinq visions distinctes, modulo 1'associativite-commutativite, de 1'iso-octane ...... 129 9.2 Codage du mecanisme primaire de pyrolyse oxydante par strategies ...... 131 9.3 Amorgages pour un melange de molecules, InReactants, par la strategie InitPhase . . . 132 9.4 Amorgages pour une seule molecule, par la strategie InitlMolecule ...... 133

xi xii Table des 6gures

9.5 Pas de propagation pour Tensemble de radicaux NewRads_i...... 136 9.6 Terminaison pour Tensemble de radicaux Rads* ...... 138 9.7 Interface graphique du systeme GasEI : editeur de molecules ...... 139 9.8 Interface graphique du systeme GasEI : menu de reactions ...... 140 9.9 Interface graphique du systeme GasEI : editeur de molecule et menu de reactions ...... 141

10.1 Statistiques pour le systeme GasEI ...... 143 10.2 Comparaison du nombre de reactions dans les mGcanismes primaires de Tiso-octane g6n&6s par EXGAS et par GasEI...... 144 10.3 Reaction d'amorgage unimoieculaire de Tiso-octane, par rupture de liaison C—C...... 145 10.4 Reaction de metathese de Tiso-octane avec le radical *OOH ...... 146 10.5 Reaction d'oxydation d'un radical, issu de Tamorgage unimoieculaire de Tiso-octane par rupture de liaison C—H...... 146 10.6 Decompositions par beta-scission du m6me radical, issu de la reaction 27, de la figure 10.4 147 10.7 Comparaison du nombre de reactions dans les mecanismes primaires de Tethylcyclohexane generes par EXGAS et par GasEI...... 148 10.8 Reaction d'amorgage de Tethylcyclohexane, par rupture d'une liaison C—C...... 148 10.9 Reaction d'amorgage de Tethylcyclohexane, par rupture d'une liaison C—H...... 149 lO.lOReaction d'amorgage bimoieculaire de Tethylcyclohexane ...... 149 lO.HReaction de metathese de Tethylcyclohexane avec le radical "CHg ...... 150 10.12Oxydationsdu radical C(e)(CC)=C...... 151 10.13Decompositions par beta-scission du m6me radical, issu de la reaction 7, de la figure 10.9 152 10.14Statistiques pour le systeme GasEI : molecules polycycliques ...... 153 lO lSRAaction ipso du propylbenzene pour obtenir le benzene...... 154 10.16Amorgage unimoieculaire suivi de beta-scission ...... 154 10.17Amorgage unimoieculaire, suivi d'une reaction de combinaison avec le biradical *0* et d'une reaction de beta-scission de liaison C—H...... 155 10.18Amorgage unimoieculaire suivi d'oxydation ...... 156 10.19Amorgage unimoieculaire, combinaison avec le biradical *0* et reaction d'oxydation . . . 156 10.20Reaction d'amorgage unimoieculaire et trois decomposition par beta-scission ...... 157 10.21Reaction d'amorgage unimoieculaire, deux beta-scissions de liaison C—C, et beta-scission d'une liaison C—H...... 158 10.22Reaction ipso du propyldihydrophenanthrene ...... 159 10.23Reaction ipso du propyldihydrophenanthrene, par rupture d'une liaison C—C du cycle non aromatique ...... 159 10.24Amorgage unimoieculaire et dismutation avec le radical *CHa ...... 160 Introduction

La modeiisation des phenomenes physiques et chimiques repond au souci de 1'Homme de comprendre ces phenomenes, de les expliquer, de les reproduce et de predire les comportements futurs. Les mathe- matiques et I'informatique out contribue & construire de tels modules et & les exploiter. En effet, avec 1'apparition des ordinateurs, les t&ches r6p6titives et les longs calculs ont ete deiegues aux machines. R a fallu, en premier lieu, mettre au point des concepts nouveaux, et proposer des structures de denudes et des algorithmes adaptes aux probl&nes. Les retours ont permis ensuite d'amehorer les modules exist ants, & la fois en termes d'efhcacite, et de meilleure adequation de ces modules aux phenomenes studies. Un des domaines dans lesquels 1'utilisation des outils informatiques a ete essentielle est le domaine des fn&aniamea rAictionnela, ou modules cinetiques detailies de reactions, pour la combustion des hy- drocarbures. Les phenomenes hes & la combustion des hydrocarbures sont tres complexes et sont etudies prindpalement par la cinAigue chimigue, une discipline qui a obtenu 10 Prix Nobel de chimie (dont le premier en 1901) attribues & 18 scientihques. Historiquement, les mecanismes reactionnels ont ete ecrits manuellement, mais un probleme majeur est le nombre tres grand, voire infini, des reactions et des pro- duits possibles. Vers la fin des annees 1970, apparaissent les premiers ayat&nea de automatigue de fn&aniamea rAictionnela [Yon79], et aujourd'hui plusieurs de ces systemes sont utilises par differents groupes de recherche (voir par exemple [RFGS95, WDB00, GADG03, Chi87, WBLF+00, Blu95]). La plupart de ces logiciels sont le fruit de plusieurs annees de developpement, sou vent dans des equipes pluridisciplinaires, centrees autour de chimistes, leur code n'etant, en general, pas commercial ou public. Ce sont des logiciels & 1'usage des experts en cinetique, et apprecies surtout pour leurs performances hees & la chimie. Les approches informatiques sont diverses, mais les informations permettant de les comparer ne sont pas toutes accessibles. Ces systemes sont souvent developpes avec un financement de I'indus- trie petroliere [Mor93, RFGS95, WDB00, GADG03] et la conhdentialite des solutions informatiques est souvent imposee. Les systemes de generation automatique des mecanismes reactionnels peuvent etre vus, du point de vue de I'informatique, comme un cas particulier du domaine de la generation de rdaeoua: de r6*ctmna chimiguea (en anglais : Chemical Reaction Networks), encore appeie, parfois, le domaine des chimiea arti/icieRea (en anglais : Artificial Chemistry) [DZB01]. Les reseaux de reactions chimiques constituent un modele abstrait utilise dans differents domaines, pour 1'etude de la combustion, pour la construction de reacteurs chimiques indust riels, pour la synthese organique. Les problemes etudies se situent dans deux grandes classes : 1'analyse des proprietes des reseaux de reactions chimiques et la generation de reseaux de reactions chimiques. Dans le domaine de la gAiAution de reseaux de reactions chimiques, le niveau d'abstraction peut varier entre 1'analogie avec les systemes chimiques reels et des niveaux d'abstraction tres eleves, ou sont conserves settlement des principes tres generaux de la chimie. Un exemple de systeme abstrait, inspire par la chimie, est la machine abstraite chimique, CHAM (en anglais : the Chemical Abstract Machine) [BB90], proposee comme un modele de calcul concurrent. Une chimie artihcielle est un systeme abstrait, compose d'un ensemble d'objets (appeies molecules), d'un ensemble de transformations sur ces objets (appeiees reactions) et d'un algorithme qui decrit com ­ ment apphquer les transformations aux objets. Une des applications des chimies artihcielles est le domaine de la vie artihcielle (en anglais : Artificial Life), ou sont etudies differents exemples de processus de la vie, en essayant de les integrer dans une approche interdisciplinaire. Parmi les differentes approches de construction de chimies artificielles, recens6es dans [DZB01], une classe importante est representee par celles dans lesquelles les reactions sont des de r^chture. Une comparaison de differents mo deles

1 2 Introduction de generation de reseaux de reactions chimiques, du point de vue des concepts des chimies artihcielles, est donn6e dans [Ben02].

Le projet GasEI

Le projet GasEI est issu d'une collaboration entre le Centre National de la Recherche Scientihque (CNRS), Tlnstitut National Polytechnique de Lorraine (INPL) et Peugeot Citroen Automobiles (PSA). Deux equipes de Nancy sont impliquGes : une equipe du Laboratoire Lorrain de Recherche en Informatique et ses Applications (LORIA) et une autre du DGpartement de Chimie Physique des Reactions (DCPR). L'eqnipe du DCPR est experte dans le domaine des mecanismes reactionnels, et a mis au point un logiciel de generation pour ces mecanismes : le systeme EXGAS. Dans sa conception initiale, le systeme EXGAS etait capable de tralter des molecules acychques. Une extension rGcente a permis d'aborder le traitement de molecules monocycliques, mais il ne par alt pas possible d'aborder, par les m&mes techniques (bashes sur des structures ad hoc utilisant des arbres) le cas des molecules polycycliques. L'objectif scientihque de l'eqnipe du DCPR est d'eiaborer et de valider des mecanismes reactionnels pour les molecules qui composent les gazoles, dont beaucoup sont des mol&tdea polgcgchgnea. Les m6ca- nismes peuvent comprendre des dizaines de milliers de reactions, imphquant des milliers de constituants ; il est done indispensable d'utiliser un ordinateur pour la generation de ces mecanismes. Du point de vue des applications, l'objectif est de permettre, & long terme, au partenaire industriel, le groupe Peugeot Citroen Automobiles, de reformuler les carburants pour reduire la consommation et les Emissions de polluant, et aussi d'ameiiorer la conception des moteurs. L'equipe du LORIA est experte dans le domaine de la reecriture et de la programmation par regies contrOiees par strategies. Elle est 1'auteur du systeme ELAN. Pour I'Aquipe du LORIA, l'objectif du projet GasEI est d'explorer 1'utilisation des agat^mea d 6aae de rdgka et atraMgiea sur un probleme de taille importante, et de comprendre 1'adequation de cette approche pour modehser un systeme capable de generer des mecanismes de combustion de molecules d'hydrocarbures acycliques, monocycliques et polycycliques. Les reactions chimiques s'expriment naturellement par des regies de reecriture, et leur application est declenchee seulement dans certaines conditions. Les regies de reecriture conditionnelles sont bien adaptees pour exprimer des reactions chimiques. L'enchalnement des appheations de reactions chimiques est contrbie : les experts cineticiens proposent un schema general pour l'enchalnement des reactions, mais ils aimeraient pouvoir activer ou desactiver certains chemins dans ce schema. Les strategies pour contrOler 1'apphcation des regies de reecriture sont essentielles pour la construction d'un systeme flexible. Le grand nombre d'operations envisagees necessite des techniques d'ex6cution efhcaces. Par mi les systemes fondes sur la reecriture [DV], il en existe certains qui proposent des enmronnement de programmation, et qui permettent d'ex6cuter de maniere efhcace les specifications. R s'agit d'ASF+SDF [vdBvDH+01], d'ELAN [BCD+02, BKK+98b], de MAUDE [CDE+03, CDE+02], et de CafeOBJ [DFOO]. Pour representer les molecules polycycliques, il est bien adapte d'utiliser des graphes doublement etiquetes, sur les sommets et sur les aretes, graphes appeies grqphea mol6ndairea. Cependant, les systemes qui font de la reecriture de graphes, comme Clean [PvE93], AGG [agg], PROGRES [PRO], ne nous semblent pas directement adaptes au probleme chimique que nous etudions. En particuher, car ils n'ont pas de moyen de contrOler aussi facilement 1'apphcation des regies de reecriture. Nous avons done choisi de coder les graphes moieculaires utihses dans les mecanismes reactionnels sous forme de termes, et d'exploiter le contrble de la reecriture foumi par les strategies du systeme ELAN.

Plan

Les objectifs de cette these sont d'etudier et de proposer des techniques de modeiisation efhcaces et bien adaptees au probleme de la generation automatique de mecanismes reactionnels et de concevoir la structure generate du systeme GasEI, en tant que logiciel robuste, facile & maintenir et & modifier. La realisation d'un prototype du systeme GasEI permet d'analyser les approches informatiques proposees. Les etapes methodologiques de notre recherche ont ete les suivantes : 3

Analyse du probleme physico-chimique La premiere etape de notre travail a ete d'etudier le probleme de la generation automatique de mecanismes. Nous presentons dans le chapitre 1 la motivation generale pour 1'etude de la combustion des hydrocarbures et des notions g6n6rales sur les moteurs et les carburants. Dans le chapitre 2 nous introduisons les concepts de base de la cmGtique chimique et les problemes lies & la conception et & la validation d'un mecanisme reactionnel. Ces deux chapitres ne visent pas & constituer un cours de chimie ou de cinetique chimique, mais introduisent les notions essentielles, permettant ainsi d'aborder le probleme.

Analyse des solutions de la chimie informatique pour la generation automatique de meca- nismes reactionnels Une etape essentielle de notre travail a ete de comprendre quels sont les problemes informatiques import ants & rAsoudre pour la conception et le dGveloppement d'un systeme dedie & la generation auto ­ matique de mecanismes reactionnels. Dans le chapitre 3, nous presentons la hste de ces problemes, nous discutons les solutions connues, dans la mesure ou toutes les informations ne sont pas disponibles, et nous survolons les gAnerateurs de mecanismes existants. Nous insistons sur la structure du systeme EXGAS d6velopp6 au DCPR, parce que nous utilisons dans la conception gAnArale du systeme GasEI, 1'expertise chimique acquise au cours du dAveloppement d'EXGAS.

Analyse de systemes abstracts de reduction et de leur controle Une etape import ante de notre travail a ete d'explorer et de comprendre comment utiliser les systemes de reduction abstraits et la notion de strategie contrblant 1'apphcation des reductions, pour concevoir le systeme GasEI. Nous introduisons dans le chapitre 4 les notions de base pour les systemes de reduction abstraits, et nous presentons quelques exemples : les systemes de reecriture du premier ordre, les systemes de reecriture de graphes, le A-calcul, les systemes de reduction abstraits sur des multi-ensembles. Dans le chapitre 5, nous presentons les systemes de calcul qui enrichissent les systemes de reecriture en introduisant la notion de strategie contrblant 1'apphcation des regies de reecriture.

Conception de la structure generale du systeme GasEI Une autre etape de notre travail a ete de proposer une structure generale du systeme GasEI, qui soit flexible et qui puisse permettre, si besoin, la reutilisation des modules existants, developpes au DCPR, ou disponibles dans les bibliotheques de chimie informatique. Nous avons decide de garder la mbme decomposition en modules que dans le systeme EXGAS.

Objectifs physico-chimiques du prototype Pour realiser le prototype du systeme GasEI, les chimistes cineticiens ont decide de regrouper les reactions & implanter dans le systeme final, en quatre classes, en se basant sur des considerations physico- chimiques. Une de ces classes de reactions, la classe des reactions de pyrolyae ozydonte, est actuellement codee dans le prototype. EUe a ete choisie parce que les resultats, m6me partiels, sont interessants du point de vue chimique. Notre recherche a porte essentiellement sur un des six modules du systeme GasEI, le module du gAW- rutewr de fn&anwfnea phmairea, qui est le noyau autour duquel seront assembiees les autres composantes. Le chapitre 6 decrit du point de vue chimique 1'ensemble du projet GasEI, propose une structure generale du systeme et presente en detail les choix faits pour le prototype : la classe de reactions de pyrolyse oxydante et le g6nerateur de mecanismes primaires.

Objectifs informatiques Pour la realisation du prototype, nous avons propose des solutions pour le codage des espbces chi- mi ques, des reactions et de 1'enchalnement des reactions. 4 Introduction

Le code est developpe en utilisant le systeme ELAN, systeme qui permet d'exprimer naturellement des reactions chimiques par des regies de reecriture conditionnelle, d'utiliser le flltrage, les fonctions associative-commutatives et un langage de strategies pour contrbler 1'apphcation des regies de reecriture. La representation des espAces chimiques est faite en utilisant les graphes moieculaires, qui sont codes d'une maniere originale, par des termes, appeies termea GasEI [BCC+03a]. Ce codage est inspire par un concept de la chimie informatique. Dans le chapitre 7 nous presentons les details de cette approche. Le chapitre 8 exprime les reactions chimiques choisies pour le prototype comme des transformations au niveau des termes GasEI. Le chapitre 9 explique comment sont utilisees les strategies, pour coder le generateur de mecanismes primaires, en utihsant le pouvoir expressif et la flexibilite du langage de strategies du systeme ELAN. Tout au long du developpement du prototype, de nombreuses verifications ont ete effectuees. Nous presentons dans le chapitre 10 les resultats des validations chimiques du prototype.

Le plan reflete partiellement 1'enchalnement des etapes : nous avons choisi de presenter dans les cinq premiers chapitres les solutions exist antes, et, & partir du chapitre 6, de nous concentrer sur les solutions que nous avons adoptees.

Reflexions pour la suite Le chapitre Conckwiona et perapectioea presente nos prindpales contributions et discute quelques perspectives pour la suite.

Plan de lecture Ce document s'adresse a un double public : les informaticiens et les chimistes. En particulier, 1'enchal- nement des chapitres, tel que nous le proposons, est fait avec le souci de la comprehension du probleme chimique et des solutions que nous presentons par un lecteur informaticien, neophyte en cinetique chi- mique. Pour un informaticien impatient, qui souhaite avoir une vue generale, nous lui recommandons de lire : - le chapitre 2, pour une introduction rapide du probleme chimique ; - le paragraphe 3.2, pour savoir les caracteristiques d'un generateur automatique de mecanismes; - le paragraphe 3.3, pour avoir une description de la methode la plus utilisee pour construire les mecanismes reactionnels ; - le paragraphe 3.4, pour connaltre la liste des problemes informatiques import ants & resoudre ; - les chapitres 7, 8 et 9, pour les solutions que nous proposons. Pour un chimiste cineticien qui souhaite evaluer le prototype GasEI, en tant que generateur de meca­ nismes primaires detailies, nous lui recommandons de lire : - le paragraphe 2.4, pour situer le projet GasEI dans la methodologie de conception et de validation d'un mecanisme reactionnel ; - le paragraphe 3.2, pour un rappel des caracteristiques attendues d'un generateur automatique de mecanismes; - le paragraphe 3.10.10, pour un rappel des principes de base du systeme EXGAS; - le chapitre 6, pour connaltre les choix physico-chimiques que nous avons faits pour la realisation du prototype ; - le chapitre 10, pour evaluer les resultats partiels obtenus & 1'aide de notre prototype. Chapitre 1

Chimie physique et ingenierie des reactions de combustion

L'objectif de ce chapitre est de presenter dans le paragraphe 1.1 la motivation g6n6rale pour 1'etude de la combustion des hydrocarbures, d'introduire dans le paragraphe 1.2 les classe de molecules utihs6es par la suite, et de presenter dans le paragraphe 1.3 des notions g6n6rales sur les moteurs et les carburants.

1.1 Importance des reactions de combustion des hydrocarbures

Les reactions de combustion des hydrocarbures dans les moteurs, les brAleurs et les rGacteurs in­ dust riels conditionnent largement notre vie quotidienne dans trois domaines essentials : la production d'energie mAcanique, la production d'energie thermique et la fabrication de produits chimiques [Cbm99]. L'Anergie mAcanique produite par la combustion des hydrocarbures est utilisGe pour le transport ren­ tier, Auvial, maritime, a6rien et spatial, ainsi que pour la production d'eiectricite. L'Anergie thermique produite par la combustion des hydrocarbures est utilisGe & des fins domestiques, industrielles, environnementales (incineration de dechets), et pour la production d'eiectricite & partir de vapeur, par des turbines Axes. Les produits chimiques principaux obtenus par oxydation partielle des hydrocarbures sont le gaz de synthase d'ou dGrivent les engrais et les explosifs pour les mines et les carriages. La comprehension des phenomenes complexes hes aux reactions de combustion des hydrocarbures pent done permettre : - la conception de moteurs et de carburants, de brAleurs et de reacteurs indust riels qui soient efBcaces et economes, et en meme temps propres et stirs; - une gestion optimale des ressources de matieres premieres hydrocarbonees fossiles ; - revaluation scientiAque des causes et des effets des pollutions atmospheriques, de 1'effet de serre et de la destruction de 1'ozone stratospherique ; - le renforcement de la sArete chimique par la prevention des incendies et des explosions, les mani­ festations les plus violentes des reactions de combustion des hydrocarbures. On peut done remarquer que les reactions de combustion des hydrocarbures sont au centre de I'interAt des industriels et des chercheurs en chimie, mais touchent aussi 1'opinion pubhque et les politiciens par les problemes hes & 1'environnement et & la gestion des ressources fossiles de notre planete. Pour plus de details sur les notions de chimie physique et ingenierie des reactions de combustion, voir [C0m99, WMD01].

1.2 Classes de molecules

Nous presentons dans ce paragraphe trois families d'hydrocarbures : les alcanes, les alcAnes et les aromatiques.

5 6 Chapitre f. Ohinhe physique et mg#merze des reactions de combustion

1.2.1 Alcanes Lee alcanes sont des hydrocarbures satur6s : tous les atomes sont 116s par des liaisons simples. Les chalnes hydrocar bonnes forment le squelette des innombrables autres composes organiques. Les alcanes sont classes en difRrents types d'apr^s leur structure : - les alcanes non broncWa ou linAiires de formule g6n6rale C»H2n+2- Un exemple est le c6tane, dont la formule g6n6rale est C16H34, et la formule simplifi6e^ est

les alcanes branches ou rami/ids aussi de formule g6n6rale C»H2n+2- Un exemple est l'heptam6thylnonane, dont la formule g6n6rale est la m&me que pour le c6tane, C16H34, et la formule simplihGe est

les alcanes cycliques, ou cyclones possWant un ou plusieurs cycles. Un exemple est l'6thylcyclohexane, dont la formule g6n6rale est CgHig, et la formule simplifi6e est

Les alcanes sont souvent repr6sent6s par la formule RH, pour mettre en Evidence la sous-formule R, appelGe soit sous-structure (ou groupe) cycle-olkylique dans le cas des cyclanes, soit sous-structure (ou groupe) o&yle ou sous-structure (ou groupe) olkyliywe, pour les autres alcanes.

1.2.2 Alc&nes Le groupe fonctionnel des oleines est la double liaison carbone-carbone. On les appelle Agalement hydrocarbures 6thyl6niques, du nom du premier terme de la s6rie, l'6thyl6ne : CH2=CH2 Les liaisons doubles C=C sont tr6s frAquentes dans les composes naturels. La r6activit6 de cette double liaison est caractGristique de tous les alcGnes. La formule brute des alcanes est C»H2n

1.2.3 Aromatiques Les ammatiyues ou ar^nes sont les hydrocarbures dont la forme derive de celle du benzene, un compost de formule CgHg, repr6sent6 par une des formules suivantes :

Les deux premieres formules sont appe!6es structures de hTe&u# et la troisi^me est appelle structure de Robinson. Le cercle de la structure de Robinson symbolise la circulation particuliGre des Electrons dans le ben­ zene : les six Electrons sont "partag6s" par les six atomes de carbone du cycle. Ce module de la molecule de benzene reprAsente bien le fait que toutes les liaisons entre les atomes de carbone ont la m&me longueur. La mise en Evidence des cycles aromatiques par des cercles n'est pas toujours utilis6e. On rencontre parfois une mod6hsation & 1'aide d'une suite altem6e de liaisons simples et doubles (les structures de

^Dans la formule simplibAe d'une molecule, les atomes d'hydrog&ne ne sont pas repr6sent6s et les symboles des atomes sont remplacGs par des segments qul symbolisent les liaisons carbone-carbone. Voir aussi la figure 3.1, et le paragraphe 3.1. 1.3. Combustion dans les moteurs et les carburants 7

Kekul6) : on suppose qu'une des deux paires d'61ectrons de chaque liaison double se delocalise sur 1'en- semble du syst^me aromatique. L'emplacement des liaisons doubles n'a pas d'importance : il sufht que 1'alternance entre liaisons simples et doubles soit respect6e. Les molecules aromatiques contiennent au moins un cycle (ou noyau) benzenique. Elies peuvent en comporter plusieurs, lies par un cOte commun (comme dans la molecule de pyrene), lies par leur sommets (comme dans la molecule de biphenyle), et comporter des chalnes laterales (comme dans les molecules de phenylacetylene et cyclohexylbenzene).

Pyrene Biphenyle Phenylacetylene Cyclohexylbenzene L'enlevement d'un hydrogene porte par un carbone du cycle aromatique foumit une sous-structure appeiee groupe aryle. Pour la mettre en evidence, la molecule aromatique est notee ArH. L'enlevement d'un hydrogene porte par un carbone d'une chalne later ale foumit un groupe alkyle, notee, comme dans le cas des alcanes, par R. Groupes aryles (Ar) Groupe alkyle (R)

Phenyle (Ph) ortho-cresyle Benzyle Pour les besoins de nomenclature, les positions occupees par les differents substituants sur le cycle benzenique sont nominees comme suit : Substituant principal ortho -L ortho

1.3 Combustion dans les moteurs et les carburants

Un des domaines import ants de la combustion des hydrocarbures est represente par la combustion dans les moteurs. Le probleme de la construction et de la validation des mo deles pour mieux expliquer ces phenomenes est un domaine de recherche important en cinetique chimique. Les motoristes et les petroliers souhaitent explorer les possibihtes offertes par 1'etude scientifique, experimentale et theorique, de la combustion dans les moteurs pour ameiiorer d'une part les moteurs et les carburants exist ants, et pour concevoir ensuite de nouveaux moteurs et de nouveaux carburants, plus efBcaces, plus Gconomiques et moins polluants.

1.3.1 Moteur a allumage commande Le moteur d allumage commands, appeie aussi moteur d essence, est constitue de 4, 6 ou 8 cylindres. Chaque cylindre a un piston qui est rehe au vilebrequin par une bielle qui transforme le mouvement 8 ChapiAro 1. Qumio physique oA ingAniorio des rAacAions do combusAion

Ftg. 1.1 - Differentes etapes du fonctionnenient, d’un motcur a essence, a quatre temps : les dessins de 1 a 3 correspondent a 1’admission, 4 a la compression, 5 a l’oxplosion-dotonto et de 6 a 8 a l’echappoment. rectiligne alternatif du piston en mouvement rotatif a l’aide du systeme biollo-manivollo. Le fonctionnement normal d’un moteur a allumage commando d’automobile suit un cycle a quatre temps : admission, comprossion-allumago, combustion-detente et echappoment (voir la figure 1.1).

Admission : Le piston suit un mouvement descendant et aspire par les soupapos d’admission le melange air-carburant dans la chambro de combustion.

Compression-allumage : Les soupapos At. ant fermees, le piston remonte et comprime le melange. L’etincelle electrique, fournie par la bougie, declenche la combustion. Le carburant finit d’fitre vaporise pendant la phase de compression, et compte tenu de la turbulence AlcvAc gAnArAc par 1c mouvement du piston, 1'Atincollo de la bougie enflamme im mAlangc gazeux prati- quement homogene. La flammo so. propage dans un milieu turbulent et separe les zones contenant les gaz brides et les gaz imbrules. La combustion s’etale sur quelques millisecondes.

Combustion-detente : L’Anergic degagee par la combustion provoquo une augmentation de la temperature et de la pression et le piston ost repousse vers le has.

Echappement : La soupape d’echappement s’ouvre quand le piston atteint le point has de la chambro de combustion. L’evacuation des produits, appeles gaz brides, est faciliteo par le mouvement ascendant du piston. Lorsquo celm-ci atteint le point haut, la soupape d’echappement so roformo et le cycle recommence.

Essences Les essences sont des melanges complexes de quelques containos de molecules d’hydrocarbures diffe­ rent, es. Cos espAc.es comportent pour la plupart entre 4 et 12 atonies de carbone. Les principals families chimiques representees sont les alcanes (lineaires, ramifies), les alcenes, les cyclanes, les aromatiques et les additifs oxygenes antidetonants, qui sont en general des ethers conime le MTBE (methyl A-butyl ether) on l’ETBE (ethyl A-butyl ether).

Indice d’oetane Une caracteristique particulierement import ante d’une essence, qui est affichee aux pompes des stations services, est Findice d'ocAuue reeberebe, dAsignA par 1c siglc anglo-saxon RON, ou 1'mdice d'ocAaue moAeur, dAsignA par 1c siglc MON. L'indicc d'octanc caractArisc 1'aptitudc dhmc essence a no pas provoquer le phenomene de cliquetis 2 pour un moteur de type donne. L’indicc d’oetane d’une essence commerciale est determine a l’aide d’un moteur standardise, dit moteur CFR (pour Cooperative Fuel Research). Le comportomont d’une essence est compare a celui d’un melange ^Le cliquetis du moteur est un bruit anormal qui se produit dans une chambre de combustion an temps d'explosion, causA par un ph6nom&ne de detonation 1.3. Combustion dans les moteurs et les carburants 9 de deux carburants de rAfArence primaires dAsignAs par le sigle PRF (pour Pure Reference Fuels) : le n- heptane d'indice 0 et Fiso-octane, d'indice 100. Par exemple, une essence standard europAenne d'indice d'octane 95 a le mAme comportement, en ce qui conceme le cliquetis, qu'un melange de 95 % en volume d'iso-octane et de 5 % de n-heptane.

1.3.2 Moteur Diesel Le moteur Diesel est un moteur & allumage par compression. Le fonctionnement comprend encore quatre phases : admission, compression, combustion et Achappement. Dans un premier temps le moteur aspire de Fair, ensuite le comprime fortement, ce qui provoque un Achauffement. Le carburant (le gazole) est alors pulvArisA sous haute pression dans la chambre de combustion. Le melange obtenu est trAs hAtArogAne et contient & la fois des gouttelettes de gazole non encore vaporisAes, des zones riches et des zones pauvres en gazole vaporish. Une auto-inflammation apparalt dans une ou plusieurs zones de la chambre ou sont rAunies les conditions favorables de pression, de temperature et de composition.

Gazoles Les gazoles sont des carburants plus lourds que les essences, dont les constituants comportent entre 7 et 27 atonies de carbone. Le nombre d'eepAces chimiques est plus important encore que dans les cas des essences, de 1'ordre de quelques milhers. La figure 1.2 donne la composition par families chimiques d'un gazole commercial, analyst par spec- tromAtrie de masse, selon Guibet [Gui96]. Les gazoles commerciaux contiennent aussi de petites quantity de molecules sou&Aes (benzo et di- benzothiophAnes), & Forigine de produits polluants.

Indice de cAtane Un indice de cAtane car act Arise le comportement d'un gazole par comparaison, sur un moteur normalise, avec deux molAcules de rAfArence : 1'a-mAthylnaphtalAne, d'indice 0 et le n-hexadAcane (appelA aussi cAtane) d'indice 100. Dans la pratique les carburants de rAfArence sont en fait 1'heptamAthylnonane (HMN), d'indice 15 et le n-hexadAcane. L'Achelle est inversAe par rapport & celle des indices d'octane : un meilleur indice de cAtane correspond & un indice d'octane plus bas. Les carburants Diesel commerciaux possAdent des indices de cAtane compris entre 42 et 55 dans le monde, et entre 48 et 54 en Europe.

1.3.3 Moteur & allumage par compression d'un melange homog&ne Un des sujets de recherche actuelle sur la combustion est un concept nouveau de moteur & allumage par compression d'un mAlange homogAne, le moteur HCCI^. Dans le moteur HCCI, le carburant est mAlangA avec Fair comme dans un moteur & essence, mais avec une proportion plus grande d'air. L'allumage se fait par auto-inflammation & la suite de la compression, comme dans le moteur Diesel. Le moteur HCCI peut fonctionner & Fessence, au gazole et avec la plupart des combustibles altematifs. Ce type de combustion peut fournir une plus grande efhcacitA que dans les moteurs Diesel actuels\ et des Amissions faibles d'oxydes d'azote (NOx) et de particules. H reste encore beaucoup de problAmes & rAsoudre avant que ces moteurs ne sortent des laboratoires. Parmi ces problAmes, on retrouve : le contrAle de l'allumage, le comportement & des charges supArieures, le contrAle des Amissions de monoxyde de carbone, la stabilitA de la combustion, la GabilitA du dAmarrage & froid, et la rAactivitA au changement rapide de fonctionnement. Pour dApasser ces difficult As, il faut de meilleur s modAles et plus de donnAes cinAtiques pour les processus de chimie physique fondamentale qui se dAroulent dans les moteurs HCCI. est dmsignm aux 6tats-Unis par "Homogeneous Charge Compression Ignition" (HCCI combustion), en Europe par "Controlled Auto Ignition" (CAI combustion), et au Japon par "Active Thermo Atmosphere" (ATA combustion). *le Departement d'Gnergie des Atats-Unis estime dans [HCC01] que les moteurs HCCI pour passagers seront commer ­ cialisms en 2010 et qu'en 2015 plus de 500 000 barils de pmtrole primaire pourraient Gtre mconomisAs par jour. 10 Chapltre 1. Chlmle physique et IngAnlerle des reactions de combustion

Famille chimique Examples de motifs structuraux % masse Alcanes 30,9 CAtane

HMN Cyclanes 38,8 r Cyclanes non condenses CT 23,7

Cyclanes condenses CXT' 15,1 Alkylaromatiques 18,1

alkylbenzAnes X 9,2

alkylnaphtalAnes 5,5

alkyldiphAnyles *1,4 @oj acAnaphtylAnes *0,7

anthracenes 1,3

phAnanthrAnes Alkylcyclanoaromatiques 10,3 /R indanes 6,4

tAtralines (ccrR xrR indAnes 1,8 @OJ acAnaphtAnes *1,4

HuorAnes *0,7

FiG. 1.2 - Composition par families chimiques d'un gazole commercial, analyst par spectromAtrie de masse [Gui96] : R dAsigne un groupement alkyle, de formule brute C„H2n+i 1.3. Combustion dans les moteurs et les carburants 11

H a 6t6 montr6 qu'il n'est pas possible d'utihser les param^tres usuels des carburants (1'indice d'octane et de c6tane) pour d6hnir les performances des carburants pour la combustion HCCI [HCC01]. Une nouvelle approche est n6cessaire et un nouvel indice pour les hydrocarbures permettra d'identiher les carburants int&ressants pour les moteurs HCCI. H faut d6velopper une essence de syntMse adapt6e aux applications HCCI : en plus des classes usuelles de molecules (alcanes et alcGnes), il faut introduire des modules cin6tiques pour les espGces aromatiques (comme le benzene et le toluene) et pour les cyclanes (comme le cyclopentane et le methyl cyclohexane) [HCC01]. Notre syst^me GasEI est congu pour tralter des molecules polycycliques ; il peut done Gtre utilise pour mod61iser la combustion dans les moteurs exist ants (& essence ou Diesel), mais aussi pour faire avancer la recherche dans la mise au point de moteur comme le moteur HCCI. 12 Chapitre 1. Ghimie physique et ing^nierie des reactions de combustion Chapitre 2

Mecanismes reactionnels

Dans le chapitre precedent, nous avons introduit les notions de base de la combustion des hydro- carbures. Dans ce chapitre nous introduisons dans les paragraphes 2.1 et 2.2 les concepts de base de la cinetique chimique, en utilisant un exemple simple. La description formelle de la notion centrale de fn&anwfne rAictionnel est donnGe dans le paragraphe 2.3. Nous presentons ensuite les probl&nes lies & la conception et & la validation d'un module dans le domaine de la cinetique chimique : la methodologie est exphqu6e dans le paragraphe 2.4, et quelques raisons qui justihent la complexity du processus sont donnGes dans le paragraphe 2.5.

2.1 Introduction

Les pMnomynes lies & la combustion des hydrocarbures sont tres complexes et sont Studies par la cinetique chimique. Le but est de construire un module pour avoir d'une part une explication du com ­ port ement observe et mesurA, et d'autre part de pouvoir predire des comportements futurs. Dans le paragraphe 2.4, nous presentons la methodologie spAciAque de construction d'un module valable dans le domaine de la combustion des hydrocarbures. Nous avons besoin d'introduire en prGalable, les concepts de base; nous utilisons un exemple simple, la pyrolyse du neopentane & faible avancement, repr6sent6e par les Equations (2.1) et (2.2) du paragraphe 2.2. Ces Equations, bashes sur la loi de Lavoisier de la conservation de la matiere, expriment un bilan correspondant & une transformation, et traduisent d'une fagon globale 1'ensemble des phAnom^nes chimiques qui se produisent au niveau moieculaire. La thermodynamigue chimigue, qui etudie les bilans AnergAtiques des reactions, a deux buts distincts : permettre de quantifier la chaleur d6gag6e ou nAcessaire & la realisation des reactions chimiques et per- mettre de predire si une reaction est thermodynamiquement possible. Mais la thermodynamique d'une reaction ne donne aucune information sur sa vitesse. C'est la cin#igt*e chimigue qui s'interesse & la vitesse des transformations chimiques, et qui etudie systematiquement les differents facteurs qui influent sur cette vitesse. La loi de vitesse est une consequence de son mecanisme reactionnel, c'est-6-dire de la fagon dont se deroule la reaction & 1'echelle moieculaire. Un fn6%*fMdfne reactionnel est compose d'un ensemble de reactions eiementaires concomitantes. Chaque reaction ^mentaire decrit le deroulement & 1'echelle moieculaire des transformations qui font passer des reactifs aux produits, en passant par le complexe active ou etat de transition. Les reactifs et les produits impliques dans les reactions eiementaires incluent des intermediates tres reactifs tels que des radicaux libres, dont nous verrons des exemples par la suite (voir les reactions (2.3)-(2.8) du paragraphe 2.2). La cinetique chimique theorique permet de decrire et de classer 1'ensemble des reactions de la chimie organique & partir d'environ une vingtaine de types de reactions eiementaires fondamentales. Un sous- ensemble de ceux-ci est presente en detail dans le paragraphe 6.2, et constitue les reactions eiementaires que nous avons implantees dans notre systeme GasEI.

13 14 Chapitre 2. MAcanismes rAactionnels

% produits

CH

H

t (s)

FiG. 2.1 - Produits primaires de pyrolyse du nAopentane

2.2 Exemple de la pyrolyse du neopentane a faible avancement

Dans la pyrolyse du nAopentane & faible avancement, le rAactif, le nAopentane, se decompose & 500°C environ (773 K) pour donner des produits, essentiellement du methane et de 1'isobutAne, ainsi que des traces d'Athane et d'hydrogAne (voir la figure 2.1 pour le pourcentage des produits en fonction du temps). Le bilan de matiAre est dAHni par les deux Aquations suivantes, appelAes Aguotwma atoecAiomAtriguea :

CH3

CH3—C—CH3 = CHg^C —CHa + CH4 (2.1) CH3 CH3

nAopentane isobutAne mAthane

CH3

2 ( 113—C—( 113 = 2 CHg-C CH3 + CH3-CH3 + H2 (2.2) CH3 CH3 nAopentane isobutAne Athane hydrogAne

Le mAcanisme rAactionnel, est donnA par un ensemble de six rAactions AlAmentaires qui conduisent du rAactif aux produits :

1. La rAaction s'amorce par la rupture d'une liaison C—C d'une molAcule de nAopentane, donnant naissance & deux radicaux libres :

CH3 CH3

C 11 a—C—C113 —y ( 113—C • + •( 113 (2.3)

CH3 CH3 2.2. Example de la pyrolyse du nAopentane A faible a van cement 15

2. Le radical methyl, *CHa, arrache un atome d'hydrogAne & une molecule de n6opentane : CHa CHa

• C11:5 + C113—C—C113 CIL • C112—C—( 113 (2.4)

CHa CHa Cette reaction 616mentaire conduit & la formation de methane, qui est un dee produits principaux de la reaction. 3. Le radical libre "CsHn obtenu en (2.4) se decompose unimol6culairement : CHa

• C' 112—C—CHa —y C112 C—CHa + •CII3 (2.5)

CH3 CH3 Cette reaction 616mentaire donne naissance au deuxiAme produit principal de la reaction, 1'isobutAne. H se forme 6galement un radical methyl, *CHa, qui r6agit avec le n6opentane dans la reaction 616mentaire (2.4). Les Stapes (2.4) et (2.5) consomment une mol&cule de nSopentane et produisent une molScule de mSthane et une molScule d'isobutSne. 4. Le radical libre *C.iHg obtenu en (2.3) se decompose unimolSculairement pour donner de TisobutSne :

CHa

CH3 C . —» #H | CHg-C CH3 (2.6 )

CH3 CH3

5. L'atome libre *H arrache un atome d'hydrogSne & une molScule de nSopentane pour donner de Thydrog&ne : CH3 CH3

•II + CHa—C—CHa Hg •CII2—C—CHa (2.7)

CHa CHa 6. L'Sthane se produit par la combinaison de deux radicaux mSthyle :

2 .CHa — CHa—CHa (2.8)

Les reactions SISmentaires (2.3)-(2.8) dScrivent la pyrolyse du nSopentane & faible avancement : si on fait le bilan des reactions SISmentaires (2.4) et (2.5), d'une part, et le bilan des reactions SISmentaires (2.3), (2.5), (2.6), (2.7) et (2.8), d'autre part, on retrouve les Equations stoechiomStriques, (2.1) et (2.2). Le choix des reactions SlSmentaires & combiner doit Sliminer les radicaux hbres, qui sont des espSces intermSdiaires. H faut remarquer que dans ce mScanisme ne rSagissent dans les reactions SISmentaires que le r&actif initial, le nSopentane, et les radicaux hbres, tr&s rSactifs. Pour cette raison, ce mScanisme et les quatre produits obtenus sont dits pnmmnea. Dans la suite de la reaction, les produits primaires sont susceptibles de rSagir et donneront de nou- veaux produits, appelSs aecendairea. Cette classification des produits rend compte des caract&ristiques des courbes donnant la concentration c de divers constituants, en fonction de la dur6e t de la reaction (voir la figure 2.2). La pente & Torigine de la courbe c = /(t), pour un r6actif, est strictement negative, car le rGactif est consomm6. Pour un produit primaire, la pente est strictement positive, car le produit 16 Chapitre 2. Mecanfsmes reactionnefs

c

produit secondaire

t

FiG. 2.2 - Concentration du reactif, dee produits primaires et dee produits secondaires en fonction de la dur6e de la reaction apparalt des le debut de la reaction. Enfin, pour un produit secondaire, cette pente est nulle, car un produit secondaire est forme & partir de produits primaires. Ces produits apparaissent done quand la quantity des produits primaires est sufBsante. A partir de cet exemple, nous pouvons faire quelques remarques utiles concernant 1'ecriture d'un mecanisme : - Les radicaux libres sont des espGces intermediaires tres reactives et ont une dur6e de vie tres court e. Dans un mecanisme il faut done que tout radical libre produit par une reaction eiementaire soit consomme par une autre reaction eiementaire de sorte que les radicaux libres ne puissent pas s'accumuler dans le milieu reactionnel. - Chaque reaction eiementaire n'apparalt qu'une seule fois dans un mecanisme. Par exemple, la reaction eiementaire (2.3) est Gcrite une seule fois, bien que le n6opentane presente quatre liaisons C—C, qui par rupture produiraient les m&mes radicaux. On dit que la reaction eiementaire (2.3) a une d6g6n6rescence egale & 4. Cette information est indispensable pour calculer les parametres cinetiques du processus. - Dans ce mecanisme, nous n'avons pas envisage la rupture d'une liaison C—H par une reaction eiementaire similaire & la reaction eiementaire (2.3), de rupture de liaison C—C. Des considerations thermocinGtiques montrent que dans les conditions donnGes (500° C) la rupture d'une liaison C—H est beaucoup plus difficile que la rupture d'une liaison C—C, et, par la suite, la reaction eiementaire associee est negligeable. Ce mecanisme est done un fn&anwfne a priori.

2.3 Description formelle d’un mecanisme reactionnel

Un mecanisme reactionnel peut etre defini comme une sequence de n reactions eiementaires irrever- sibles mettant en jeu les constituants C%, C2,..., Cm, molecules et radicaux libres, presents dans le milieu reactionnel. On ecrira un mecanisme sous la forme generale suivante : m i = 1,2,... ,n (2.9) ;=i ou fij est le coefficient stoechiometrique du constituant Cj dans la reaction i. Les coefBcients stoechio- metriques 1/^ sont negatifs pour des reactifs et positifs pour des produits. 2.3. Description fbrmeRe d'un mAcamsme rdactionnei 17

Par exemple, le mecanisme de pyrolyse du neopentane & faible avan cement du paragraphs 2.2 est decrit dans ce formalisms par le systems suivant :

C"r, II12 + C4H9 • + CH C II.;* — Or, II12 + C114 C,H5nll" C5H11. + C,H, + (II.;* (2.10) (41 In* + II* + (4 114 II* — ( r,II12 + Hj + Cr,III i* 2 ( II.;* + ( 21 In

2.3.1 Vitesse de reaction La vitesse r* de la reaction eiementaire i s'ecrit :

n = k,n (2.11) ;=i avec

(2.12) et ou Cj est la concentration molaire volumique du constituant Cy et k^ est la constants de vitesse de la reaction eiementaire i. Habituellement, les variations de la constants de vitesse kj en fonction de la temperature sont decrites par la ki d'Arrkenitw : = A^erp( —E^/ET) (2.13) ou Aj est appeie facteur preexponentiel (positif ou nul) de la constants k*, A est la constants molaire des gaz parfaits, T est la temperature absolue, en degres Kelvin et E* est lAnergie d'activation de la reaction eiementaire i. RAcemment, des mesures plus precises montrent une dependance de la temperature du facteur preexponentiel A^. De fagon plus Hue, 1'expression des variations de la constants de vitesse k; avec la temperature absolue, est alors donnee par la foi d'Arrkenitw-Eooi; :

k* = DiT»'ezp(-E;/aT) (2.14) ou Di est le facteur preexponentiel de la constants kj, 6* est 1'exposant de temperature, A, T et E( est lAnergie d'activation de la reaction eiementaire i. Les parametres d'Arrhenius, Aj et E^, dependent seulement du type de la reaction eiementaire : un meme processus, qui apparalt dans les mecanismes de deux reactions differentes, aura la meme constants cinetique (A la meme temperature) et les memes parametres d'Arrhenius. La vitesse algebrique (Ej)* de production du constituant Cj due & la feme reaction est proportionnelle & la vitesse n de cette feme reaction, le coefhcient de proportionnalite etant precisement le coefhcient stoechiometrique 1/^ : (E;)i = (2.15)

Remarquons que si 1/^ est negatif, c'est-A-dire si est un reactif de la reaction i, la vitesse (E;)j est negative, ce qui indique bien que Cj est consomme par cette reaction. Inversement, si 1/^ est positif, la vitesse (E;)j est positive, car Cj est produit par la reaction. En faisant la somme des n reactions, on obtient la vitesse globale (algebrique) Ej de formation du constituant Cj : n (2.16) i=1 18 Chapitre 2. Mecanismas reactionneE

2.3.2 Module mathAmatique L'ensemble des reactions eiementaires et des parametres cinetiques associes (constantes de vitesse on grandeurs d'Arrhenius) constitue un module pAyaico-cAimigue de la reaction. Les expressions des vitesses Aj, de formation de divers constituants, en sont 1'equivalent mathematique. Le module matAAnatiyue de la reaction peut etre ecrit des que la matrice des coefBdents stoechiometriques (i/^) (i de 1 & n, y de 1 & m) est connue. Pour calculer les valeurs numGriques de Ey, y de 1 & m, il faut connaltre les parametrea cinAiyuea A^ et .2%,pour i de 1 & n, les valeurs des concentrations Cj, y de 1 & m, et la temperature T. Les conditions experimental peuvent etre Bxees par 1'operateur (c'est le plus souvent le cas de la temperature T), ou etre calcuiees & partir d'autres conditions operatoires, par resolution des equations de bilan de matiere, d'energie et de quantite de mouvement. Ces relations dependent uniquement du type de reacteur, et sont done le resultat de la modeiisation du reacteur utilise. Par exemple, dans le cas d'une reaction homogene qui s'effectue dans un reacteur ferme, parfaitement agite, isotherme, isochore, le bilan de matiere conduit & ecrire un systeme d'equations differentielles ordinaires, & conditions initiales :

p {r dt^ "_ ' _ (2.17) l cj(0) — cj,o j — 1,2,... ,m ou Cj est la concentration du constituant Cj & 1'instant t, Ej la vitesse algebrique de formation de Cj deduite du mecanisme reactionnel, t est la dur6e de la reaction et Cj,o la concentration initiale du constituant Cj. Cj,o est une variable operatoire Bxee par I'experimentateur. Le calcul des concentrations Cj, pour des concentrations Cj,o, une temperature T et un temps t de reaction donnes permet de resoudre deux problemes : - si les parametres cinetiques Aj et E* (i de 1 & n) d'un mecanisme sont connus, il est possible de predire les valeurs de Cj pour differentes valeurs de cy,o, T et t. On realise ainsi une aimulation du fonctionnement du reacteur consider dans differentes conditions pour toute reaction de mecanisme connu. - inversement, si certains des parametres A; et E* sont inconnus, 1'ajustement des valeurs theoriques de Cj predites par le modele et des valeurs experimentales obtenues dans differentes conditions, permet d'estimer certains de ces coefBdents. H s'agit alors d'un probleme d'eatimation param^triyue ou encore d'identi/Ication de module. En resume, le modele mathematique complet representant le deroulement d'une reaction chimique homogene resulte de la combinaison de deux modeles constants independamment : 1. Le module m&oniatigwe [Cbm99] de la reaction, qui decrit le detail micros copique de celle-d, et qui, de ce fait, est aussi valable au laboratoire qu'& 1'echelle industrielle. Ce modele se traduit par les equations suivantes :

' m n - A^ezp(-E^ET)%%c('^'"^)^ i = l,2,...,n < » (2-18) Rj — ) ' Vijn j — 1,2,...,m . i—1 2. Le modele de reacteur, qui definit les conditions de mise en oeuvre de la reaction. Par exemple, dans le cas d'un reacteur ferme, parfaitement agite, isotherme et isochore, on a les equations caracteristiques suivantes : { dt " ' . (219) l cj(0) — cj,o j — l,2,...,m

2.3.3 Donates thermodynamiques Pour chaque constituant Cj, molecule ou radical libre, d'un mecanisme reactionnel de la forme (2.9), les methodes d'estimation de la thermochimie permettent d'associer des valeurs, appeiees donn&s tAermo- dynamiguea. Ces valeurs sont associees aux differentes grandeurs thermodynamiques, comme par exemple 2.4. MAthodofogze de conception et de validation d'un modAfe de reactions 19 sequence experimental dispositifs reacteurs de produits d’acquisition resultats laboratoire chimiques et de experimentaux traitement modele de molecule(s) comparaison reactions d’hydrocarbures valide sequence de modelisation

generateur de simulateur resultats de reactionnel numerique simulation ajustement modifications

FiG. 2.3 - Processus d'Alaboration et validation d'un module de reactions

1'enthalpie de formation, 1'entropie ou la capacity calorihque. (Pour les definitions des grandeurs thermody- namiques standard d'espAces chimiques et les lois thermodynamiques, voir le chapitre 4 du livre [C0m99].) Les donnAes thermodynamiques des espAces chimiques peuvent Atre trouvAes dans des tables spA- cialisAes, dans des banques de donnAes et dans des pAriodiques. File peuvent Atre estimAes & 1'aide des correlations structurales, par les mAthodes de la mAcanique statistique (voir le chapitre 5 du livre [C0m99]) et par celles de la chimie quantique.

2.3.4 DonnAes de transport Les phAnomAnes de transport molAculaire sont hAs aux Hux de matiAre, de chaleur et de quantitA de mouvement. Les grandeurs qui les caractArisent (coefhcient de diffusion, conductivitA thermique, viscositA) sont appelAes donnAes de tronaport. Leur definition et les lois correspondantes sont prAsentAes dans le chapitre 10 du livre [CAm99]. Les mAthodes d'estimation de donnAes de transport sont basAes sur la thAorie cinAtique des gaz, et sont prAsentAes dans le chapitre 11 du livre [CAm99].

2.4 Methodologie de conception et de validation d’un modele de reactions

La mAthodologie du processus de conception et de validation d'un mAcanisme rAactionnel est donnAe dans la figure 2.3 et consiste en trois types de processus : la sAquence expArimentale, la sAquence de modAlisation et de la sAquence d'analyse et d'ajustement.

2.4.1 SAquence expArimentale La sAgnence eipAnmenWe produit des rAsultats expArimentaux pour une molAcule ou un mAlange de molAcules & la suite des expArimentations faites dans des rAacteurs de laboratoire et de 1'analyse quantitative et qualitative des produits de rAaction. Ces rAsultats expArimentaux sont souvent donnAs sous la forme de tableaux (2D) devolution des quantitAs de produits en fonction de diffArents paramAtres, comme la tempArature ou la durAe de rAaction. Pour 1'exemple de la pyrolyse du nAopentane, les rAsultats expArimentaux de la figure 2.1 donnent le pourcentage des produits en fonction du temps. 20 Chapitre 2. Mycamsmes ryactionnels

2.4.2 Sequence de modAlisation La adgwence de mod^wation prend en entree les mymes molecules, ainsi que des modules de ryacteurs et donne en sortie des rysultats de simulation, obtenus en deux Stapes : 1. la gSnSration d'un modSle de ryactions par un gSnSrateur de mScanismes et des donnSes numSriques associSes, c'est-&-dire une liste de reactions SISmentaires, comme en (2.10), ainsi que les coedicients associSs, pour obtenir le modSle mScanistique dScrit par (2.18). 2. la simulation numSrique par un simulateur (appelS CFD* - code de calcul de rSacteur) en utilisant un syst&me d'Squations aux dSrivSs partielles de type Navier-Stokes, dans le cas gSnSral, se rSduisant & un syst&me d'Squations diHSrentielles ordinaires, pour des ryacteurs idSaux. Par exemple, pour un r&acteur fermS, parfaitement agitS, isotherme et isochore, on utilise le systSme d'Squations (2.19).

2.4.3 Sequence d'analyse et ajustement Le processus d'amdyae et qpwtement : les rysultats de la simulation sont compares aux rysultats expyrimentaux, et si la distance est trop import ante, on procSde & la modification du gSnSrateur de mScanismes, par introduction de nouvelles reactions gSnSriques (des processus comme en (2.10)) et/ou 1'ajustement des param&tres cinStiques gSnSriques.

Le projet GasEI se situe dans la sequence de modSlisation, dans TStape de la gSnSration d'un mod&le de ryactions, mais pour valider le systSme, les interactions avec les simulations num6riques et avec la sequence exp6rimentale sont indispensables.

2.5 Complexity de la conception et de la validation d’un meca- nisme reactionnel

Du point de vue chimique, la complexity du processus de conception et de validation d'un module de mycanisme ryactionnel est due & plusieurs facteurs : 1. la complexity de la structure des molycules d'hydrocarbures (les symmetries et la structure tridi- mensionnele) ; 2. la complexity de la composition des essences et des gazoles : une essence pour une voiture de Formule 1 est un myiange de 98 types de molycules, une essence normale est un myiange d'environ 300 molycules diffyrentes, et un gazole de 3000 molycules diEyrentes ; 3. 1'explosion combinatoire du nombre des espAces chimiques et des ryactions yiymentaires intermy- diaires; 4. la durye du processus de validation : en 2-3 ans, pendant une thyse expyrimentale, sont validys des rysultats expyrimentaux pour quelques molycules (une ou deux), dans quelques ryacteurs. Pendant une thyse qui valide des modyles de ryactions sont validys des mycanismes de ryactions pour 2 ou 3 molycules, en utilisant des rysultats expyrimentaux (de 5 & 10) validys auparavant ; 5. c'est une recherche multidisciplinaire qui inclut de 1'expertise en thermodynamique, cinytique chi­ mique, phynomynes de transport, mycanique des Huides, ryacteurs chimiques, mythodes numyriques, techniques expyrimentales, etc.

Gpour Computational Fluid Dynamics Chapitre 3

Solutions de la chimie informatique pour la generation automatique de mecanismes reactionnels

La premiere etape de la sequence de modeiisation decrite dans le paragraphe 2.4.2 foumit un m6ca- nisme reactionnel construit avec un g6n6rateur de mecanismes. Le but de ce chapitre est de presenter un survol des generateurs automatiques de mecanismes exist ants. Le paragraphe 3.2 donne les proprietes attendues d'un systeme de generation automatique de mecanismes et le paragraphe 3.3 presente la methode la plus utilisee pour le construire. Nous avons recense les problemes informatiques import ants & resoudre pour la conception et le developpement d'un systeme informatique pour la generation automatique des mecanismes reactionnels, et nous presentons la liste de ces problemes dans le paragraphe 3.4. Nous discutons ensuite les solutions les plus connues, adoptees par les generateurs de mecanismes exis- tants pour la representation des espAces chimiques (les paragraphes 3.5 et 3.6), pour leur representation canonique (le paragraphe 3.8), et pour 1'interface (le paragraphe 3.9). Enfin, nous survolons, dans le paragraphe 3.10, les generateurs de mecanismes exist ants, en discutant comment ils se situent par rapport & ces solutions informatiques, dans la mesure ou ces informations sont disponibles et non conhdentielles.

3.1 Historique

Les premieres tentatives de modehsation des phenomenes observes en laboratoire lors de 1'oxydation des hydrocarbures relevaient de modeles simplifies, construits manuellement. Ce sont des modeles qui ne mettent pas en oeuvre des reactions eiementaires, mais des equations globales ahn de decrire le compor- tement des systernes chimiques. Un des modeles les plus anciens a ete propose par Edehnan et Fortune en 1969 [EF69]. A partir du debut des annees 80, le developpement simultane des bases de donnees de constantes de vitesse de reactions eiementaires et des moyens numeriques de resolution des syst ernes donations a permis de proposer des modeles de plus en plus complexes. Ces modeles de complexite importante ont besoin d'investissements substantiels en temps de travail; de plus, la construction & la main des mecanismes est extremement laborieuse et sujette aux erreurs humaines. L'utilisation de systemes de generation automatique de mecanismes remonte & la fin des annees 1970. Les especes chimiques etaient alors generalement representees par des matrices et les reactions eiemen­ taires comme des rearrangements de matrices; un modele algebrique est souvent utilise, le modele DU, defini et caracterise par Dugundji et Ugi [DU73] (voir le paragraphe 3.7). Des efforts considerables ont ete fournis depuis pour developper des generateurs automatiques de mecanismes reactionnels, de plus en plus performants [RFGS95, WDB00, GADG03, Chi87, WBLF+00,

21 22 Chapitre 3. Solutions de la chhnle Informatique pour la generation automatique de mecanismes reactiormels

Blu95].

3.2 Proprieties

Tomlin, Tur&ni et Pilling font dans [TTP97] une synthase sur la construction, 1'analyse et la reduction des mecanismes chimiques. Us prAsentent un tres court survol historique des systemes existants dans la generation automatique de mecanismes, et se concentrent sur les principaux outils mathematiques utilises. Selon eux, un gAnArateur automatique de mecanismes doit posseder les caracteristiques suivantes : 1. Canonicite : La structure des especes chimiques doit etre codee d'une maniere qui permet au generateur de reactions de la manipuler facilement. Cette representation doit etre non-ambigue et unique ahn que les reactions ne soient pas ecrites plusieurs fois et que les produits issus d'une reaction eiementaire soient identifies facilement. 2. ExhaustivitA : Les types des reactions chimiques eiementaires doivent etre traduits informatique- ment. Une espece peut se transformer, si Ton regarde toutes les combinaisons possibles des elements qui la composent, selon de nombreuses reactions dormant une grande variete de produits. Un genera ­ teur automatique doit considerer toutes les combinaisons possibles des especes sans jamais produire une reaction en double. 3. DonnAes thermodynamiques et cinAtiqnes : Des donnAes thermodynamiques et cinAtiques doivent Atre affectAes & chaque espAce ou reaction. Seules quelques const antes de vitesse parmi toutes celles nAcessaires peuvent provenir dans les faits des bases de donnAes expArimentales. Le systAme doit done Atre capable de mettre en oeuvre des mAthodes d'estimation. 4. Reduction : Une application systAmatique des rAgles de generation conduit & 1'Acriture de me­ canismes trAs grands. Le systAme doit done pouvoir filtrer les reactions nAgligeables et possAder des conditions d'arrAt pour savoir s'il est utile d'Acrire les reactions induites par 1'apparition d'une nouvelle espAce.

3.3 Methode de construction

Dans un gAnArateur de mAcanisme rAactionnel les espAces chimiques sont codAes par des structures de donnAes, choisies de maniAre & permettre le traitement souhaitA et & optimiser 1'efhcacitA du logiciel (du point de vue temps d'exAcution et consommation de mAmoire). Un certain nombre de reactions AlAmentaires gAnAriques sont prAdAhnies ; leur codage depend d'une part de la representation des espAces chimiques, et d'autre part du type de progranimation choisie (im­ perative, logique, objet, etc). Le gAnArateur prend en entrAe un ensemble (ou un multi-ensemble) de molecules, fo, et donne la liste des reactions AlAmentaires, comme en (2.10). La mAthode la plus utilisAe pour construire les mecanismes reactionnels est une methode iterative : Soit fb les rAactifs de depart, et i = 0. 1. les rAactifs sont sounds & toutes les reactions AlAmentaires gAnAriques et les produits des reactions qui peuvent s'appliquer sont inclus dans une nouvelle liste, ; 2. le rAsultat de 1'itAration est f^+i = \ fi = dans f^+i sont gardAes seulement les nouvelles espAces; 3. i est incrAmentA, et les Atapes (1) et (2) sont itArAes, jusqu' & stabilitA. Dans 1'Atape (2) certains critAres sont proposes pour decider quelles espAces sont gardAes dans P,+i : des hmites sur le nombre d'atomes, des contraintes sur le rang des produits (1'ordre d'apparition), etc. Pour chaque reaction AlAmentaire obtenue & la suite des iterations, la const ante de vitesse est calculAe, soit en utihsant la loi d'Arrhenius, donnAe par 1'Aquation (2.13), soit, le plus souvent, en utilisant la loi d'Arrhenius-Kooij, donnAe par 1'Aquation (2.14). Pour chaque espAce du mAcanisme gAnArA, les donnAes thermodynamiques affArentes sont calculAes. 3.4. ProMdmas mfbrmatfgues A resoudre 23

3.4 Problemes informatiques a resoudre

La conception et le d6veloppement d'un systeme informatique pour la generation automatique dee me­ canismes reactionnels qui respects les proprietes enoncAes par Tomlin, Tur&ni et Pilling [TTP97] doivent proposer des solutions pour les problemes suivants : 1. Quel module cAoiair pour repr^aenter lea mol&ulea et lea rodtcouz librea P La solution presque unanime pour la representation des molecules et des radicaux libres est d'utiliser le graphs moieculaire, un models bien adapte pour la generation des mecanismes reactionnels. Nous presentons ce models dans le paragraphs 3.5.2. 2. Quellea atructurea de donn^ea cAoiair pour coder lea propAea mol&ulotrea P Les graphes moieculaires sont generalement codes en memoirs par des matrices. Nous presentons dans le paragraphs 3.6 les differentes variantes de matrices utilisees, en detaillant dans le para­ graphs 3.7.1 la variants la plus populaire, les matrices BE [DU73]. Dans certains des premiers systernes developpes pour la generation automatique de mecanismes, les graphes moieculaires sont restreints aux arbres (graphes connexes, sans cycles) et leur codage est dependant du langage de programmation utilise : des listes imbriquees en PROLOG (le systems de Leeds [Chi87] presente dans 3.10.8) ou LISP (le systems de Stuttgart [CWM90] presente dans 3.10.9) ou des structures d'arbres en Pascal (le systems EXGAS presente dans 3.10.10). 3. Comment coder lea rddctiona ^lAnentoirea pAiAiquea P Si les espAces chimiques sont representees comme des graphes moieculaires, une reaction eiementaire generique est une transformation de graphe(s) moieculaire(s). Les syst ernes exist ants qui represented les graphes moieculaires par des matrices, codent aussi les reactions eiementaires comme des matrices et 1'apphcation d'une reaction est codee comme une somme entre ces matrices. Cette approche est presentee dans le paragraphe 3.7.2. Une autre approche est de coder les graphes moieculaires par des structures particulieres, et co ­ der une reaction chimique par une regie de reecriture sur ces structures. Dans le chapitre 8 nous presentons notre solution, qui est une reecriture sur des graphes moieculaires. 4. Quels olpontAmea utdiaer pour la representation canonique des espAces cAimiquea P Gtant donnees des representations differentes des espAces chimiques, il faut savoir detecter celles qui correspondent & la m6me espAce. C'est un probleme qui a ete beaucoup etudie et auquel le paragraphe 3.8 est cons acre. 5. Comment communique le spstAme auec I'utdiaateur P L'utilisateur d'un systeme de generation automatique de mecanismes est, en general, un expert en cinetique chimique. Par consequent, il a 1'habitude de manipuler et d'interpreter des representations de molecules ecrites en formule developpee (voir la figure 3.1 a) ou en formule simplifies (voir la figure 3.1 d). Nous citons dans le paragraphe 3.9.1 quelques bibliotheques qui proposent des outils pour 1'edition et la visuahsation des graphes moieculaires. Dans le paragraphe 3.9.2, nous presentons les notations lineaires les plus connues, notations qui sont & la base des premieres interfaces systeme-utilisateur, avant le developpement des outils graphiques. 6. Comment sont connects lea d*^%renta modules du apatAme f La solution la plus simple pour que les modules du systeme puissent communiquer serait qu'ils utilisent tous le m6me format pour les entrees et les sorties. En pratique, c'est assez rare, parce que ces modules ont souvent ete developpes independamment. D est alors necessaire de prevoir des interfaces entre les differents modules qui doivent 6changer des donnees. Lorsque ces modules reposent sur des formats standards en chimie informatique (comme par exemple Molfile [MDL], SMILES [Wei, Wei03, Dayb], CML (Chemical Markup Language) [MRR99, MRR03, CML]) il est possible d'utiliser des outils de conversions exist ants, integres dans certaines bibliotheques dediees & la chimie, comme OpenBabel [Ope] ou Marvin [Mar]. 7. Quelle(aj m^tAode(aj cAowir pour le colcul dee donn^ea cinAiquea et dea donn^ea tAermodpno- miquea P 24Chapitre 3. Solutions de la chimie inlbrmatigue pour la generation automatique de mecanismes rAacdonuels

Lee donnees cinetiques, permettant le calcul dee const antes de vitesse des reactions eiementaires, sont calcuiees, le plus souvent, en utilisant la loi d'Arrhenius-Kooij, donn6e par Liquation (2.14) :

h, = B,r*«ezp(-Ej/ET) (3.1)

Pour une temperature Hxee, T, il faut done connaltre, pour chaque reaction eiementaire i, les valeurs et E(. Elies peuvent provenir de trois sources [C0m99] : (a) de valeurs experimentales, evaluees et certihees par des experts ; (b) de valeurs deduites par des correlations structure-reactivite; (c) de valeurs calcuiees en utilisant une theorie appeiee la theorie du complete acting dont les applications les plus utilisees sont les methodes de Benson et les methodes de la chimie quan- tique. Les memes methodes sont utilisees pour le calcul des donnees thermodynamiques. Les systemes de generation automatique de mecanismes utilisent en pratique, pour le calcul des donnees cinetiques et thermodynamiques, des methodes mixtes qui appartiennent aux trois classes citees ci-dessus. 8. Comment eat e^ectu& la simulation numAigue, en sortie du p At Auteur P La simulation numerique est effectu6e par des logiciels qui prennent en entree un mecanisme r6- actionnel complet (reactions, donnees cinetiques et thermodynamiques), le type du reacteur, les conditions operatoires (pression, temperature, composition du melange, dur6e de reaction) et four- nit en sortie la composition chimique du systeme, revolution de la temperature et de la pression. Le choix de 1'outil de simulation peut inHuencer le format de sortie du generateur de mecanismes. Un des simulateurs numeriques utihses par les systemes de la generation automatique de mecanismes est le logiciel CHEMKIN, version II ou III [KRM93].

3.5 Representation des especes chimiques

A la question «Qu'est-ce qu'une molecule ?», un chimiste repondra en fonction des criteres propres & son domaine d'interet: la synthese, 1'analyse spectroscopique, les mecanismes reactionnels, la chimie theo- rique, etc. Pour decrire la constitution d'une molecule, le modele le plus utihse est le graphs mol&ulaire, un modele bien adapte & la generation des mecanismes reactionnels.

3.5.1 Notions de base de la thAorie des graphes Nous rappelons ici brievement quelques notions de base de la theorie des graphes. Ces definitions sont inspirees de [Ber73] que le lecteur peut consulter pour un complement d'informations. Gtant donne y un ensemble, on note par y x y le produit cartesien de d'ensemble y avec lui-meme :

y x y = {(ui,%) | ui,% e y}.

Un graphs non orients C = (y, E) est constitue d'un ensemble y de sommets et d'un ensemble E C y x y d'aretes. Les deux sommets appartenant & une arete constituent ses eitrAnites. Une arete est incidents & un sommet si elle contient ce sommet. Une arete incidente aux sommets ta et % sera notee {01,%}. Deux sommets sont uoisins s'ils appartiennent & une m6me arete. Le degrd d'un sommet o, note d(u), est 6gal au nombre d'aretes incidentes & ce sommet. Le degre fnoiifnal d'un graphe G, note dmaz, est donne par la valeur maximale du degre d'un sommet de G. Une chains est une sequence a = ({^1,03}, {03,03},..., {og_i,Ug}) d'aretes de G, telle que chaque arete de la sequence ait ses extremites en commun avec 1'arete qui la precede et 1'arete qui la suit. Une chalne est aimpls si elle ne contient pas deux fois la m6me arete. La longueur d'une chalne est definie par le nombre d'aretes de sa sequence. Un cycle est une chalne simple dont les deux sommets places aux extremites de cette chalne coincident. 3.5. Representation dee espdces chmugues 25

Un graphs G est conneze si pour touts pairs de sommets 01,03, il exists au moms une chains dans G qui rehe Oi et 03. 1/existence d'une chalne entre deux sommets d'un graphe quelconque dehnit une relation d'Gquivalence sur les sommets de ce graphe. Les classes d'Gqui valence de cette relation constituent les compoaantea connezea du graphe. Le nombre cyclomatique d'un graphe G, note o(G), est calcuie par la formula z/(G) = m - n + k ou m est le nombre d'ar&tes, n est le nombre de sommets et k est le nombres de composantes connexes de G. Le nombre cyclomatique donne le nombre maximal d'ar&tes qu'on peut efface: dans G, sans faire apparaltre de nouvelle compos ante connexe. Un arhre est un graphe connexe, sans cycles. Un aotw-grqpke d'un graphe G = (y, E) est un graphe G' = (y' , E'), ou y C y et E' C E D y x y . Un sous-graphe G' = (y , E') d'un graphe G = (y, E) est dit coaoront si y = y . Un graphe est planaire s'il peut 6tre repr6sent6 dans le plan, de telle sorte que tous les sommets soient des points distincts, et que les ar&tes qui les reliant ne se croisent qu'en leurs extr6mit6s.

3.5.2 DAhnition du graphe molAculaire Un graphe mol&alaire (ou graphe de constitution) est un graphe ou les sommets correspondent & des atomes d'une molecule et les ar&tes d6crivent les liaisons entre ces atomes. Pour tenir compte de la nature des atomes et des liaisons, un graphe molGculaire est doublement 6tiquet6 : les sommets ont des etiquettes qui sont des symboles des elements du tableau pehodique et les aretes ont des etiquettes pour decrire le type de liaison entre atomes [Vis95]. Definition 3.1 (Graphe molAculaire) ^oit Tit 1'enaemhle dea aymholea otomiguea TIt = {C,H,N,0,C1,...}, et %c 1'enaemhle dea typea de liaiaona %c = {aimple, double, triple, oromotigae} . Un graphe mo!6m!oire eat an triplet GM = (G,fahy,fahg), oa f. G = (y,E) eat an graphe : y eat 1'enaemhle dea aommeta et E C y x y eat 1'enaemhle d'argtea; 3. lohy eat la /onction gai aaaocie dea Aigaettea /dea aymholea atomigaea/ aoz aommeta da graphe G : lahy : y —» 3. lahg eat la /onction gai oaaocie dea Aigaettea aoz argtea da graphe G, poar donner le type de liaiaon : lohg : E —» Tg. Remarque 3.1 Le graphe mo#ca!oire eat ane entity ahatraite d^poaroae de toate aigni/ication tridimen- aionnelle : on ne peat poa /aire la di/j%rence entre dea liaiaona aimplea aita^ea en aoant oa en orridre da plan de la mol&ale. Une amelioration poaaihle eat d'a^lner le type aimple de liaiaon, en le dioiaont en troia ooleara : faimple plarw, faimple deoant* et faimple arridre^. Gette diatinction permet de pr&iaer la propriety appeiee st6r6ochimie de 1'atome gai peat 6tre relie ooec dea liaiaona aimplea aitaeea en aoant oa en arriere da plan de la molecule. Gette representation eat atiliaee dana certoina domainea de la chimie in/ormatigoe, maia elle eat rarement atiliaee dana la generation aatomatigae de mecaniamea. Remarque 3.2 La propriete faromatigae^ eat oaaociee d an cycle, maia on conaiddre generolement goe 1'aromaticite da cycle ae tranamet aoz aretea gai le compoaent. Tbate arete appartenant a an cycle aromatigae aera done etigoetee par le type ^aromatigae". Dana le coa general, la reconnaiaaance dea cyclea aromatigaea n'eat poa an prohldme trioial. f oar dea moiecolea aimplea, il /oat ga'il eziate aar le cycle ane altemance de liaiaona aimplea et doohlea /ooir le porogrophe f.3.3/. Un aatre critere, appeie rdgle de Edckel, prend en compte dea in/ormotiona ploa preciaea aar la partition dea electrona, en neceaaitant done an aatre modele gae le graphe moiecalaire. 26 Chapitre 3. Solutions de la chimie inlbrmatigue pour la generation automatigue de mecanismes rAacdonuels

Remarque 3.3 [/he mofecufe eat an grgpAe sans Aoucfe, c'eat-d-dire gwe fe grapAe n'a pas d'arete de fa /orme {u,u}, oh u E F. Remarque 3.4 four fa cAimie de fa combaation dea Apdrocar&ures, fea sommets d'un prapAe mof&ufaire sont Aiguetda auec an dea spmAofes de fa fiste = /C, H, (hoir fa /ipure 3.1 Aj.

H H H H H simple H H ttqie simple H H H H H H H H ^ H

H

a) b)

C C C C

C C d) c)

FiG. 3.1 - Representations d'une molecule : a) formule developpee ; b) graphe moieculaire ; c) graphe sans hydroghne ; d) formule simplihee

Graphe sans hydroghne Pour simplifier la manipulation des graphes moieculaires, les propAes sans Apdrpphne, appeies aussi repr^aentationa aemi-d^uefopp&a ou encore /ormufea aemi-d^uefopp&a, sont uti­ lises (voir la figure 3.1 c) : les atomes d'hydroghne ne sont plus representes, puisque le graphe initial peut etre reconstitue en utihsant une propriete chimique, appeiee oafence, des atomes situhs dans les sommets du graphe. La valence d'un atome designe le nombre exact d'atomes auxquels il doit etre lie avec une liaison simple. Par exemple, la valence du carbone est 4 et la valence de 1'oxyghne est 2. Done, si dans un graphe sans hydroghne on trouve un sommet htiqueth C, avec un unique voisin auquel il est lie par une liaison simple, on en deduit que cet atome de carbone posshde trois voisins, htiqueths H, dans le graphe moieculaire correspondant. C'est le cas de 1'atome de carbone qui est en bout de chalne dans la figure 3.1 c). Les chimistes utihsent aussi les /ormufes aimpfi/i&a des molecules : les atomes d'hydroghne ne sont pas representes, tout symbole d'atome non precise est suppose, par defaut, etre C, pour carbone, et les liaisons entre atomes sont des segments (voir la figure 3.1 d). C'est cette formule simplihee des molecules que nous utiliserons le plus sou vent.

Radicaux litres Les radicaux libres se reprhsentent genhralement comme des graphes molhculaires qui ont une boucle sur Tatome posshdant un electron non apparie. Dans la terminologie de la thhorie des graphes, un radical libre est un graphe avec boucle. 3.6. Codage des graphes moieculaires 27

Dans la figure 3.2, 1'atome en bout de chalne possede un Electron non apparie : dans le graphe moieculaire, la figure 3.2 a), une boucle est repr6sentee sur cet atome; dans la formule simplifiee, la figure 3.2 b), un point est utilise pour designer cet Electron non apparie.

H H simple simple

simple X h

simple )'C sm T T C C C ■mple H. aron.aique aromatique doible

H _^imCro m;t;q a C!qUir p {o siC''^'imKleH H J simple H a) b)

FiG. 3.2 - Representations d'un radical : a) graphe moieculaire ; b) structure simplifiee

3.5.3 Propri6t6s du graphe moieculaire Le degre d'un sommet dans un graphe moieculaire donne le nombre de voisins d'un atome dans une molecule. Dans le cadre de la chimie organique, un atome est relie, au plus, & 7 atomes. Done le degre des sommets d'un graphe moieculaire est borne. On dit que les graphes moieculaires sont de degre 5ome. Les molecules d'hydrocarbures sont majoritairement composees d'atomes de carbone, done le degre de ces sommets est egal ou inferieur & 4. La plupart des espAces chimiques ont leurs graphes moieculaires connezea. Si un graphe moieculaire n'est pas connexe, nous considerons qu'il s'agit d'un ensemble de molecules : chaque composante connexe correspond & une molecule. Les cas tres particuliers de molecules (voir dans [Vis95] un exemple de molecule constituee de deux cycles disjoints, enlaces) pour lesquelles le graphe moieculaire comprend deux composantes connexes seront ignores. La plupart des espAces chimiques ont leurs graphes moieculaires planairea.

3.6 Codage des graphes moieculaires

La theorie des graphes propose plusieurs methodes pour le codage des graphes en memoire. Les deux methodes les plus connues sont les matrices d'adjacence et les listes d'adjacence. Les graphes moieculaires sont eux codes en pratique par des matrices d'adjacence, des matrices de connect!vite et, le plus souvent, par des matrices BE. Une matrice d'adfacence A = (a^) est une matrice symetrique, avec n lignes et n colonnes, n etant egal au nombre d'atomes de la molecule. Un element de la matrice d'adjacence, est non nul, si et settlement si les atomes i et y sont lies. Pour coder 1'ordre de la liaison, il est possible que soit egal & 1 (pour coder une liaison simple), & 2 (pour coder une liaison double), & 3 (pour coder une liaison triple) ou & 1.5 (pour coder une liaison aromatique). Les elements de la diagonale principale, u„, sont mils. La matrice d'adjacence de 1'ethane est donne comme exemple dans la figure 3.3 b). La matrice de connectivity est une variante de la matrice d'adjacence, qui donne sur la diagonale principale des informations liees aux atomes situes aux sommets du graphe moieculaire : a» est le nombre atomique de 1'atome situe au sommet i. Par exemple, le nombre atomique du carbone est 6, celui de 1'oxygene est 8 et celui de 1'hydrogene est 1. La valeur du nombre atomique se retrouve dans la table periodique des elements. Les matrices BE sont des matrices d'adjacence modihees pour permettre aussi le codage des radicaux libres. Nous presentons cette approche dans le paragraphe 3.7.1. 28 Chapitre 3. Solutions de la chimie inlbrmatigue pour la gAnAration automatigue de mAcanismes rAacdonuels

C 1 1110 0 0 C 0 0 0 0 1 1 1 H 0 0 0 0 0 0 0 H 0 0 0 0 0 0 0 — »C — Ci H 0 0 0 0 0 0 0 H 1 0 0 0 0 0 0 H 1 0 0 0 0 0 0 H 1 0 0 0 0 0 0 a) b)

3H H* c 0 2 1 0 1 c 2 10 1 0 1C = G*. H 10 0 0 0 H 0 10 0 0 5H H 10 0 0 0 c) d) FiG. 3.3 - a) Le graphs molAculaire et b) la matrice BE de 1'Athane; c) le graphs molAculaire st d) la matrice BE du radical vinyl

Dans Is cas spAcifique dss graphss molAculaires sans cyclss (hors ceux ds longueur 1, correspondant & des points radicalaires), le codage des eepAces chimiques peut Atre fait en utihsant une structure d'arbre. Le codage en memoirs de la structure d'arbre depend alors du langage de programmation utilise : des hstes en PROLOG et LISP, des enregistrements et des pointeurs dans C (ou Pascal).

3.7 Mod&le DU

Dugundji et Ugi [DU73] ont dAveloppA un module mathAmatique pour la chimie constitutionnelle^, appelA module Dupundp- U/*, en abrAgA module DU. Ce module est & la base de beaucoup de logiciels d Adi As & la synthAse assists par ordinateur et & la gAnAration automatique de mAcanismes.

3.7.1 Codage des graphes molAculaires dans le module DU Les graphes molAculaires sont cod As dans le module DU par des matrices BE^, des matrices d'adjacence modiHAes qui permettent la representation des molecules et des radicaux hbres. DARnition 3.2 Une matrice BE, D = (bij), eat une matrice spmAtripue, auec n, le nombre de lipnes et de colonnes, Apo! an nombre d'atomes de la molAcule. Lament bij,i ^ y de la matrice want 0, ai lea otomea i etp ne aontpoa liAa; ainon bjj eat 1'ordre de la liaiaon entre lea atomea i etp . 1 pour nne liaiaon aimple, & pour une liaiaon double, 3 pour une liaiaon triple. L 'AlAment b» de la diaponale principale donne le nombre d'Alectrona librea de 1'atome i. Dans la figure 3.3 b) et d) on trouve des exemples de matrices BE. On peut noter que 1'AlAment baa de la figure 3.3 d) est 1, parce que le deuxiAme atome de carbone du graphe molAculaire de la figure 3.3 c) possAde un Electron libre. Les matrices BE sont aussi utilisAes pour reprAsenter des graphes molAculaires qui ne sont pas connexes (ce sont des ensembles de graphes molAculaires) : voir la premiAre matrice BE de la figure 3.6, dans laquelle un ensemble de deux matrices BE est reprAsentA. ^La chimie constitutionnelle considAre les molecules comme des graphes planaires. La st6r6ochimie reprtsente les molecules comme des graphes en 3 dimensions ; les approches rkentes prennent Agalement en compte le fait que les molecules ne sont pas rigides. ^en anglais, Bond-Electron matrices 3-7. Modele DU 29

Ei 1 -1 Amorgage unimolAculaire Ei—Eg —)- Ei » +Ea» Ea -1 1

Ei -1 1 Combinaison Ei » +Ea» —^ Ei—Eg Ea 1 -1

R. 1 0 -1 BAta-scission E—Off—Ca» ---tCa — 0 -1 1 C^ -1 1 0

FiG. 3.4 - Matrices de reactions dans le module DU

3.7.2 Codage des reactions AlAmentaires dans le modAle DU Les reactions AlAmentaires sent codAes dans le module DU par des matrices appelAes matrices A on mathcea des r6*ctiona. La figure 3.4 donne des exemples de matrices A pour trois reactions AlAmentaires : 1'amorgage unimo ­ lAculaire, la combinaison et la bAta-scission. Les 61 Aments de la diagonale des matrices de reactions prAcisent la perte ou le gain d'Alectrons libres de valence, et les AlAments non-diagonaux dAHnissent la formation ou la coupure de liaisons. Dans la matrice de 1'amorgage unimolAculaire, les AlAments de la diagonale sont 1, done & la suite de 1'application de cette rAuction, chaque atome gagne un Alectron libre. En mAme temps, une liaison simple est coupAe, car les AlAments non-diagonaux de la matrice sont -1.

3.7.3 Appliquer une reaction dans le modAle DU L'apphcation d'une rAaction est donnAe par 1'Aquation fondamentale du modAle DU

B + E = E (3.2) ou B et E sont les matrices BE des rAactifs et des produits, et B est la matrice de rAaction. Dans le modAle DU, la matrice E est une matrice de la mAme dimension que les matrices BE, et elle contient le schAma de redistribution des Alectrons, de telle maniAre que la somme avec la matrice B donne la matrice BE codant le rAsultat de la rAaction. Par exemple, pour couper par amorgage unimolAculaire la liaison C—C entre les deux atomes de carbone, dans la molAcule d'Athane, la matrice E, de huit lignes et huit colonnes, est la suivante : c 1 -1 0 0 0 0 0 0 c -1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Souvent, comme dans [GADG03], les atomes correspondant & des lignes et des colonnes nulles sont AhminAs, et alors la matrice prAcAdente est notAe par C 1 -1 C -1 1 La figure 3.5 montre 1'exemple de la coupure de la liaison C—C dans la molAcule d'Athane : la matrice de rAaction d'amorgage unimolAculaire est additionnAe au coin supArieur gauche de la matrice d'Athane. Ces opArations modihent les graphes molAculaires : le nombre de molAcules et les connectivitAs des atomes ne sont pas conservAs. Dans Texemple de la figure 3.5, il en rAsulte deux produits. 30 Chapitre 3. Solutions de la chimie inlbrmatigue pour la generation automatigue de mecanismes rAacdonuels

c 0 1 1 1 1 0 0 0 c. 1 0 1 1 1 0 0 0 c 1 0 0 0 0 1 1 1 c. 0 1 0 0 0 1 1 1 H 1 0 0 0 0 0 0 0 H 1 0 0 0 0 0 0 0 H 1 0 0 0 0 0 0 0 , c 1 -1 H 1 0 0 0 0 0 0 0 H 1 0 0 0 0 0 0 0 ^ c -1 1 H 1 0 0 0 0 0 0 0 H 0 1 0 0 0 0 0 0 H 0 1 0 0 0 0 0 0 H 0 1 0 0 0 0 0 0 H 0 1 0 0 0 0 0 0 H 0 1 0 0 0 0 0 0 H 0 1 0 0 0 0 0 0

FiG. 3.5 - Coupure de la liaison C—C dans la molecule d'ethane

Un test de connexite est fait sur le graphe rAsultat pour determiner le nombre et 1'identite des produits. Dans la figure 3.6, la matrice rAsultat de 1'amorgage unimolAculaire de 1'ethane est d6compos 6e en deux produits, qui sont des radicaux libres.

c. 1 0 1 1 1 0 0 0 c. 0 1 0 0 0 1 1 1 H 1 0 0 0 0 0 0 0 c. 1 1 1 1 c. 1 1 1 1 H 1 0 0 0 0 0 0 0 H 1 0 0 0 H 1 0 0 0 H 1 0 0 0 0 0 0 0 H 1 0 0 0 H 1 0 0 0 H 0 1 0 0 0 0 0 0 H 1 0 0 0 H 1 0 0 0 H 0 1 0 0 0 0 0 0 H 0 1 0 0 0 0 0 0

FiG. 3.6 - Decomposition de la matrice result at de la figure 3.5 en deux radicaux libres

3.7.4 SystAmes gAnAriques de gAnAration de rAactions basAs sur le modAle DU L'equation fondamentale du modele DU, l'equation (3.2), peut se resoudre de deux manieres : 1. La matrice B est donnee et les paires (A,E) qui satisfont l'equation (3.2) sont recherchees. Ces solutions s'appellent des solutions B et sont trouv 6es par des generateurs de reactions appeies de t^pe AGB. Le systeme RAIN [FR91] en est un exemple. 2. La matrice A est donnee et les paires (B,E) qui satisfont l'equation (3.2) sont recherchees. Ces solutions s'appellent des solutions A et sont trouv 6es par des generateurs de reactions appeies de type AGA. Un exemple est le systeme IGOR.

Systeme RAIN Le systeme RAIN (Reactions And Intermediates Networks) [FR91] est un systeme pour la generation de reseaux de reactions : pour une molecule donnee, RAIN g 6nere les structures qui peuvent etre obtenues par reactions chimiques, dans certaines conditions. En plus, pour chaque structure g 6neree le systeme donne la liste des reactions qui 1'ont produite. Le systeme RAIN manipule 18 schemas de transformations des liaisons, dont settlement 11 concernent la chimie des hydrocarbures. Un atome est caracterise par un schema de valence, qui donne les ordres de ses liaisons et les electrons non apparies. La transition entre deux schemas de valence se fait par une suite de transitions eiementaires. Pour les 18 schemas de liaisons, il existe 324 transitions eiementaires. L'utilisateur du systeme donne une liste de schemas de valences et les schemas de transformations de liaisons. Le systeme RAIN ne semble pas avoir ete utilise pour la generation de mecanismes, et nous n'avons pas assez d'information pour savoir ce qu'il est capable de faire exactement. 3.8. Representation canonigue dee espAcas chhnfgues 31

Systeme IGOR Le systeme IGOR (Interactive Generation of Organic Reactions) gAnAre des paires de rAactifs et de produits, en connaissant la mat rice R. La generation est guidee par une classification hierarchique des reactions, classification qui est basAe sur le modele DU. Cette approche ne semble pas convenir pour la generation de mecanismes.

3.7.5 Syst&mes de gAnAration pour la chimie des hydrocarbures, basAs sur le modele DU Dans la famille des systernes de generation automatique de mecanismes, beaucoup utilisent le modele DU. Void quelques exemples, que nous presenterons par la suite : le systeme GRACE [Yon79] (voir le paragraphe 3.10.1), le systeme KING [DML92] (voir le paragraphe 3.10.3), le systeme NetGen [BSK94, BSK95, BSK96, SDG+97, WDB00] (voir le paragraphe 3.10.5), le systeme XMG [GBB+01, GADG03] (voir le paragraphe 3.10.6) et le systeme de Faulon et Sault [FS01] (voir le paragraphe 3.10.12).

3.8 Representation canonique des especes chimiques

3.8.1 Description du probleme Dans le domaine de la generation automatique de mecanismes, et dans beaucoup d'autres domaines de la chimie informatique, les especes chimiques, les molecules et les radicaux libres, sont reprAsentAs par des graphes molAculaires (voir le paragraphe 3.5). Le codage d'un graphe en machine suppose un ordre sur les sommets, ce qui implique que le codage d'une espece chimique n'est pas unique : il sufBt de faire une permutation des etiquettes des sommets du graphe moieculaire correspondant, pour obtenir un autre codage de la mAme espAce chimique. Dans un systeme dedie A la generation automatique de mecanismes, les produits issus de replication d'une reaction sont pris en compte pour des applications ulterieures seulement s'ils n'ont pas ete obtenus avant. Un des problemes import ants est done de pouvoir decider si deux codages represented la mAme espAce, ou s'ils correspondent A deux especes differentes. Dans la theorie des graphes, ce probleme correspond au teat d'iaomorphiauie dea gruphea : etant donnes deux graphes, il faut decider s'il existe une bisection entre les sommets d'un graphe et les sommets de 1'autre (une permutation) qui conserve les aretes. Dans le cadre des graphes moieculaires, la conservation des etiquettes des sommets et des aretes est aussi imposes.

3.8.2 ProblAmes reliAs Les trois problemes suivants sont lies au probleme de 1'isomorphisme des graphes : - Le codage d'un graphe : le problems du codage d'un graphe est de trouver un algorithms qui associe A chaque graphe un code, c'est-A-dire une chains de caractAres. Le problems du codage canonigue d'un graphe est de trouver un algorithms qui associe A chaque graphe un code, tel que deux graphes ont le mAme code associe, si et seulement si ils sont isomorphes. - L Vtiguetage canonigue : le problems de 1'Atiquetage canonique d'un graphe est de trouver un Ati- quetage injectif des sommets d'un graphe, qui ne depends pas de la representation du graphe donnA en entrAe. - La partition en outomoiphianiea : le problems consists de trouver une partition des automorphismes d'un graphe donnA. Un automorphisms d'un graphe est une fonction bijective de see sommets sur eux-mAmes, qui preserve les aretes. L'ensemble de tous les automorphismes d'un graphe est le groups d'automorphismes du graphe. H contient des informations sur la symAtrie topologique du graphe : les or bites d'un groups d'automorphismes donnent les sommets symAtriques. Le problems du codage canonique d'un graphe intAresse beaucoup les chimistes : associer un nom unique A une molecule est le problems central des bases de donnAes chimiques, et plusieurs syst Ames de nomenclature sont definis [Rus98, Wis98, Wis03]. Un algorithms pour le codage canonique d'un graphe suppose 1'existence d'un algorithms de dAcodage, pour reconstruire le graphe A partir de son code. Un algorithms de dAcodage gAnAre done un Atiquetage 32 Chapitre 3. Solutions de la chimie infbrmatigue pour la gEnEration automatigue de mEcanismes rAacdonuels canonique. Ceci permet de montrer que les deux problEmes, celui du codage canonique d'un graphs et celui de 1'Etiquetage canonique, sont Equivalents [RC77]. Read et Cornell [RC77] ont montrE en 1977 que le problEme d'isomorphisme de graphes et celui de la partition en automorphismes, sont Equivalents. Le problEme du codage canonique d'un graphs (ou de 1'Etiquetage canonique) et le problEme de 1'isomorphisme sont liEs : si on sait obtenir le code canonique (ou 1'Etiquetage canonique) d'un graphs, alors le test d'isomorphisme entre deux graphes se traduit par le test d'EgalitE entre leurs codes canoniques (ou formes canoniques). Par consEquent, le problEme de 1'Etiquetage canonique est plus difficile que celui de 1'isomorphisme [BK79]. La situation peut se rEsumer par la figure suivante : [RC77] isomorphisms des graphes = partition en automorphismes t [RC77] codage canonique d'un graphs Etiquetage canonique

3.8.3 Complexity du problems Le problEme de 1'isomorphisme des graphes a EtE beaucoup EtudiE dans la httErature mathEmatique et informatique. C'est un problEme qui appartient & la classe NP [Pap94]. Une question ouverte est de savoir s'il exists un algorithms pour rEsoudre le problEme en temps polynomial (le problEme serait dans la classe P) ou s'il est NP-complet (ce qui prouverait que le problEme est intraitable, sauf si P = NP). On a dEj& montrE que si P ^ NP, alors il exists des problEmes qui ne sont pas dans P et ne sont pas non plus NP-complets. H est Evident que le problEme de 1'isomorphisme des graphes est un candidat pour ce type de problEmes intermEdiaires entre P et NP. Du point de vue algorithmique, le fait que 1'isomorphisme de graphes soit extErieur & P serait dEfavorable parce qu'il ne pourrait pas Etre rEsolu en temps polynomial, qu'il soit NP-complet ou pas. La bonne nouvelle est que 1'isomorphisme de graphes peut Etre rEsolu d'une maniEre efhcace pour certaines classes de graphes. Par exemple, Hopcroft et Tarjan [HT72] donnent un algorithme linEaire pour le problEme de 1'isomorphisme des arbrea. L'isomorphisme des grqphea planairea est EtudiE par Hopcroft et Tarjan dans [HT72] et par Hopcroft et Wong dans [HW74]. L'algorithme proposE dans [HW74] prouve que le problEme de l'isomorphisme de graphes planaires est polynomial, mais de 1'avis mEme des auteurs, l'algorithme est thEorique et pas utilisable en pratique. Les graphes de valence bomEe sont des graphes pour lesquels le degrE de chaque sommet est bornE par une constante. Les graphes molEculaires sont des graphes de valence bomEe et l'isomorphisme des grophea de uolence 6emEe est un problEme polynomial [Luk82]. Faulon remarque dans [Fau98] que les algorithmes de Hopcroft-Tarjan ou de Hopcroft-Wong ne peuvent pas Etre appliquEs directement aux graphes molEculaires : ces rEsultats sont obtenus pour les graphes simples (sans liaisons doubles ou triples) dans lesquels les sommets ne sont pas EtiquetEs. Pour obtenir des algorithmes adaptEs aux graphes molEculaires, Faulon propose une rEduction en transformant des graphes molEculaires en graphes simples, suivie de 1'application des algorithmes de Hopcroft-Tarjan et de Hopcroft-Wong. Faulon propose aussi des algorithmes polynomiaux alternates pour le problEme de l'isomorphisme des graphes molEculaires, pour la partition en automorphisme et pour 1'Etiquetage canonique. Ces algorithmes ne sont pas utilisables en pratique, et c'est pour cette raison que les chimistes ont dEveloppE et dEveloppent encore des heuristiques.

3.8.4 Solutions pour le problAme de l'isomorphisme des graphes Methode de la force brute Pour vErifier si deux graphes qui ont le mEme nombre de sommets, n, sont isomorphes, il suffit de vErifier si 1'Etiquetage d'un graphe se retrouve par mi les n! Etiquetages de 1'autre graphe. Pour vErifier 3.8. Representation canonigue dee esp^cas chmngues 33 que deux matrices d'adjacence sont 6gales, il sufBt d'effectuer tests. Done, le nombre total d'op 6rations pour verifier 1'isomorphisme des graphes par cette methode est de n!. C'est un algorithme exponentiel, c'est-6-dire que le nombre d'op 6rations (ou le temps d'exGcution) est une fonction exponentielle dans la taille du problGme, qui est id, le nombre de sommets n.

Methode des invariants Un invariant d'un graphe est une propriety ou un paramGtre du graphe qui est preserve par isomor- phisme. Autrement dit, c'est une propriety ou un paramGtre qui ne depend pas de la representation d'un graphe. Des exemples d'invariants pour un graphe sont le nombre de sommets, le nombre d'ardes, la sequence ordonnee des degres des sommets. L'egalite des invariants de deux graphes est une condition necessaire pour 1'isomorphisme, mais aucun des invariants connus pour les graphes, en general, ne semble etre un invariant complet, c'est-&-dire un invariant qui sufBrait & resoudre le probleme de 1'isomophisme des graphes [RC77]. S'il exist ait un invariant complet, calculable en temps polynomial, alors le probleme de 1'isomorphisme des graphes appartiendrait & la classe P. Observons cependant qu'il est possible qu'un invariant complet, calculable en temps polynomial, existe pour la classe des graphes moieculaires.

Applications aux graphes moieculaires Pour les graphes moieculaires, les invariants sont appeies indices topokgiguea [Ran98], et sont definis en correlation avec certaines proprietes des molecules. La recherche d'indices topologiques est un domaine actif : Randid, Xiaofeng et Bobst presentent dans [RGBOO] plusieurs tentatives pour definir des indices topologiques uniques pour les graphes mo- leculaires. Ces invariants, qu'ils appellent invariants avec an grand pouvoir de discrimination, peuvent etre utilises pour resoudre le probleme d'isomorphisme pour des molecules particuheres (des alcanes, par exemple), ayant un nombre limite d'atomes. Cette limite sur n, le nombre de sommets du graphe mo! 6- culaire, provient soit du fait que des contre-exemples sont connus pour certaines valeurs de n, soit du fait que des tests limites ont ete effectues. Pour donner une idee des resultats obtenus, nous presentons deux exemples : 1. L'indice topologique EAID, defini dans [HX96], a ete genere pour plus de quatre millions de struc­ tures chimiques, sans trouver des paires de graphes isomorphes avec le m6me indice EAID. Void la liste des structures pour lesquelles l'indice EAID a ete g 6n6re : - les alcanes hneaires et ramifies, avec au plus 22 atomes de carbone ; - les structures cycliques et polycycliques, avec au plus 12 atomes de carbone, tons de valence 4; - les structures heterogenes, avec au plus 8 atomes, avec un atome d'oxygene et/ou azote. 2. L'indice topologique de branchement, defini dans [RGBOO] est unique pour certaines classes de graphes moieculaires, ce qui encourage les auteurs & afhrmer que cet indice topologique semble etre un bon candidat pour le codage des molecules sans cycle. Le seul systeme, & notre connaissance, dedie & la generation automatique de mecanismes qui utilise la methode des invariants est le systeme KING [DML92]. L'invariant est base sur les valeurs propres de la matrice BE. La methode des invariants appliquGe aux graphes moieculaires peut etre utilisGe pour des cas parti­ culars, mais semble loin d'etre satisfaisante pour le cas general [RC77].

Methode de separation des sommets Cette methode consiste & ameiiorer la methode de la force brute, et elle est utilisGe pour obtenir un etiquetage canonique du graphe. Cet etiquetage canonique four nit aussi un codage du graphe. Les sommets d'un graphe sont s6par 6s dans un ensemble ordonne de classes % , de telle sorte que pour resoudre le probleme de 1'isomorphisme, il sufBt que les classes correspondantes des deux graphes soient mises en correspondance, dans n'importe quel isomorphisme. Par exemple, si les classes Vi sont obtenues en regroupant les sommets qui ont le m&me degre, alors les permutations pour obtenir tons les etiquetages d'un graphe se reduisent aux permutations des Gtiquetages 34Chapitre 3. Solutions de la chimie infbrmatigue pour la generation automatigue de mecanismes rAacdonuels dee classes Vi. Dans ce cas, le nombre de permutations est donne par le produit Hi(PiO, ou p^ est la taille de la classe Vi. Pour la separation, n'importe quel invariant de sommets de graphes peut Gtre utilise (le degre des sommets en est un), mais il doit etre obtenu facilement.

Applications aux graphes moleculaires En 1965, Morgan [Mor65] introduit le concept de connect!vite etendue et donne un algorithme d'eti- quetage canonique des espAces chimiques. Cet algorithme utilise la methode de separation des sommets par rafhnement successes. Le code g 6n6re par 1'algorithme de Morgan pour une espAce chimique est utihse dans CAS (Chemical Abstract Service), un systeme dedie aux informations chimiques [CAS98a, CAS]. L'algorithme de Morgan genere un code unique pour beaucoup d'espAces chimiques, mais pas pour toutes. Des modifications de l'algorithme de Morgan ont conduit et continuent & conduire & plusieurs algorithmes : l'algorithme de Shelly et Munk [SM77], l'algorithme de Schubert et Ugi [SU78, UBB+94], l'algorithme de Weininger [WWW89], l'algorithme de Prickett et Mavrovouniotis [MP98, PM97], 1'algo- rithme de Wong et al. [WLSB03]. Ces algorithmes, bases sur la separation des sommets, sont utilises dans des domaines de la chimie informatique, mais nous n'avons pas assez d'informations pour savoir si les systemes dedies & la generation automatique de mecanismes les utilisent reellement.

Methodes speciflques aux arbres Pour le probleme de 1'isomorphisme des graphes moleculaires, le systeme NetGen [BSK94, BSK95, BSK96] et le systeme EXGAS [CWG+96, GBLF+00, WBLF+00, WSBL+98] proposent des methodes speciflques aux arbres. L'algorithme de NetGen, explique dans [BSK96, WLSB03], est base sur la technique presentee par Hopcroft et Tarjan dans [HT72] : une decomposition de 1'arbre est construite, les sous arbres sont ensuite ordonnes en utihsant un algorithme iteratif et le code de 1'arbre est obtenu. L'algorithme est efhcace pour des molecules d'hydrocarbures, mais ne donne pas de codages uniques pour certaines molecules aromatiques polycychques [WLSB03]. L'algorithme utilise dans le systeme EXGAS [WBLF+00, Hau82] associe & chaque arbre representant une molecule sans cycle, un arbre canonique. Celui-ci est construit de telle maniere que sa notation lineaire comporte le moins de parentheses possible. Ceci suppose un bon choix de la racine et un ordre sur les sous arbres, qui prend en compte des aspects lies & la structure de la molecule. L'algorithme est efBcace pour des molecules sans cycle, mais la methode utilisee ne s'etend pas facilement aux molecules polycychques.

3.9 Interface avec l’utilisateur

L'interface d'un systeme logiciel avec 1'utilisateur assure la traduction des concepts donnes en en­ tree, dans le langage de programmation du logiciel, et 1'afhchage des resultats, d'une maniere lisible par 1'utilisateur. Un chimiste apprecie que les systernes qu'il utihse proposent des representations des espAces en deux dimensions.

3.9.1 Historique Les premiers systemes informatiques dedies & la chimie utilisaient des notations lineaires de molecules, notations difBciles & lire par des chimistes, mais qui etaient interpretees facilement par les ordinateurs et les programmes des annees 1960. Nous presentons quatre de ces notations dans le paragraphe 3.9.2. Depuis le debut des annees 1980, la plupart des systemes informatiques dedies & la chimie utilisent les matrices comme representation des molecules. Differents types de formats existent et des standards sont proposes pour permettre 1'echange entre differents logiciels et organisations (voir [Bar98, Bar03b]). Depuis quelques annees, des outils graphiques dedies & la representation des structures chimiques sont disponibles sur plusieurs plateformes. Farm! les bibliotheques qui proposent, entre autres, des outils pour 3.9. Interface avec f'utifisateur 35

Miter et visualiser dee molecules citons : Marvin [Mar], JUMBO [Jum], CDK [CDK], Day Light [Daya] et OpenBabel [Ope].

3.9.2 Notations linAaires Lee notations lineaires sont des representations des structures chimiques sous la forme de chalnes lineaires de symboles alphanumeriques ; ce sont des notations compactes qui ont beaucoup ete utihsMs dans les ann6es 1960-1980. Les notations lineaires les plus connues, et presentees par Barnard dans [Bar98, Bar03b] sont : la notation Wiswesser, la notation ROSDAL, et la notation SMILES (voir la figure 3.7 pour des exemples). Nous presentons aussi dans ce paragraphe la notation "de Nancy".

20 O

10 19 18 OH

O 21

24 Ho Cx.22

CH 13 23 ' HN 11 14

17 15

16 WLN L66J BMR& DSWQ IN1&1

ROSDAL l=_o-=10=5, 10-1,1-11N-12-=17=12,3-188-190,18=200,18=210, 8-22N-23, 22-24

SMILES clccccclNc2cc(S(=0)(=0)0)cc3c2cc(N(C)C)cc3

FiG. 3.7 - Notations hneaires

La notation Wiswesser (WLN) La notation Wiswesser (WLN) [Wis54] est une notation lineaire qui represente les molecules comme des groupes fonctionnels et donne une representation canonique des molecules (chaque molecule a une seule notation). EUe date de 1946 et elle a ete utihsee comme notation interne par des societes pharmaceutiques.

La notation ROSDAL ROSDAL (Representation Of Structure Diagram Arranged Linearly), la re­ presentation des diagrammes de structures arranges lineairement, est developpee par 1'Institut Beilstein et elle attribue arbitrairement un numero & chaque atome ; pour les atomes de carbone, on ecrit unique- ment leur numero, tandis que pour les autres atomes, on ecrit leur numero et leur symbole. Les branches sont ecrites comme des chalnes, separees par des virgules.

La notation SMILES La notation SMILES (Simplified Molecular Input Line Entry System), proposee par Weininger [Wei, Wei03], est une notation hneaire de molecules, construite avec des regies simples, facile & utiliser par des chimistes et facile & interpreter par des logiciels. Un algorithme pour generer la notation SMILES canonique d'une molecule est donne dans [WWW89]. Le programme qui fournit la notation unique d'une molecule est pubhc et peut etre demande sur le site de 1'Agence de protection 36 Chapitre 3. Solutions de la chimie infbrmatigue pour la generation automatique de mecanismes rAacdonuels de 1'environnement dee Gtats-Unis (voir http ://www.epa.gov/med/databases/smiles.htm ), une dee organisations qui a finance le projet SMILES. La societe Daylight Chemical Information Systems qui utihse la notation SMILES pour les logiciels qu'ehe developpe, presente sur son site, entre autres, un guide d'utilisation [Dayc, Dayb] et un outil, Depict, pour la representation graphique de SMILES. L'utilisation facile de SMILES et 1'existence d'un algorithme implante pour obtenir la notation unique ont fait de cette notation un standard pour 1'ediange entre logiciels pour la chimie. Nous prGsentons cette notation en detail dans le paragraphe 7.2.3.

La notation chinuqne linAaire de Nancy La notation chimique hneaire de Nancy est dehnie dans [CMCG84] (et aussi dans [C0m99] et [MSC91]). Ehe est utilisee dans THERGAS [MMSC95], et, avec des modifications, dans EXGAS [CWG+96, GBLF+OO]. Les regies pour obtenir la notation hneaire d'une molecule ressemblent beaucoup aux regies de SMILES, pour le cas des molecules acycliques. Pour les cycles, les regies de codage sont plus compli- qu 6es et il n'existe pas d'algorithme pour generer une notation hneaire unique.

3.10 Systemes logiciels pour la generation automatique de meca- nismes Nous presentons dans ce paragraphe quelques systemes informatiques pour la generation automatique de mecanismes reactionnels. Nous portons notre analyse essentiehement sur les aspects informatiques. Toutefois, il faut prendre en compte d'autres aspects, lies & la chimie : le systeme est-il vivant ? A-t-il ete vahde par les experiences de laboratoire ou par 1'industrie? Quehe est la richesse de son contenu physico-chimique ? Quehe est la strategie pour les reactions secondaires ? etc. Cette presentation est loin d'etre une presentation exhaustive : si les structures de donnees utihsees sont citees en general, peu d'informations completes existent sur les algorithmes et les implantations. Une explication possible est que le hnancement par 1'industrie petrohere [Mor93, RFGS95, WDBOO, GADG03] impose la conhdentialite des solutions informatiques : les codes ne sont ni commercialises ni publics. L'exemple extreme est le systeme de Morley [Mor93], utihse par Shell, dont la seule presentation se trouve dans un poster d'un symposium. Une autre exphcation peut etre que les systemes de generation automatique de mecanismes semblent avoir ete developpes dans le souci de 1'utihsation immediate par des chimistes, sans trop se preoccuper de 1'eiegance informatique des approches. Par la suite, les articles presentent plutbt les resultats chimiques. Pour plus de details chimiques sur les mecanismes generes voir [Gla99, Hey02] ; les outils mathema- tiques utihses pour 1'analyse et la reduction des mecanismes sont presentes dans [TTP97]. Nous commengons notre presentation avec les systemes bases sur le modele DU, dans les paragraphes de 3.10.1 & 3.10.7, et nous continuous & partir du paragraphe 3.10.8 en presentant des systemes bases sur d'autres approches informatiques. Observons qu'il est indispensable pour les chimistes que les generateurs soient valides : les resultats doivent concorder avec ceux experimentaux.

3.10.1 Systeme GRACE Le systeme GRACE (Generalized Reaction Analysis for Creation and Estimation) developpe par Yoneda [Yon79] utilise un modele tres proche du modele DU (voir le paragraphe 3.7) pour la representation des especes et des reactions, mais la terminologie n'est pas la m6me parce que les deux modeles ont ete developpes independamment. Les reactifs et les produits sont des matrices BE, les reactions sont dehnies d'une maniere similaires aux matrices R et des restrictions sont proposees pour bien dehnir les operations sur les matrices. Le systeme GRACE peut generer des reseaux de reactions pour des reactions simples avec des radicaux. Le systeme predit les vitesses des reactions et la distribution des produits des reactions radicalaires en phase gazeuse quand les parametres d'Arrhenius des reactions eiementaires sont connus. GRACE est chronologiquement, le premier systeme complet dedie & la generation automatique de mecanismes. 3. JO. Systdmes logzdels pour la generation automatique de mecanismes 37

3.10.2 Systeme de Budapest Le systems de Budapest est issu du systeme de Yoneda. Les especes incluses dans le mecanisme sont Gx6es a priori et le nombre de reactions g 6n6r6es est limits par des restrictions. Par example, les reactions bimoieculaires ne sont appliquGes que si le nombre de produits est au maximum de trois. Ce systeme est important pour les r&mltats physico-chimiques obtenus, mais peu d'informations existent sur son implantation.

3.10.3 SystAme KING Dans le systeme KING de DiMaio et Lignola [DML92], les especes chimiques sont repr 6sent6es par des matrices BE, les reactions sont representees par des matrices qui donnent la combinaison de deux especes (voir le paragraphe 3.7). L'applications des reactions se fait par la generation de differentes matrices R, suivie de 1'addition & la matrice BE, si la reaction est consid 6r6e faisable et si elle n'existe pas encore. Le test d'egalite des representations des especes se fait en utilisant les valeurs propres des matrices BE. A notre connaissance, c'est le seul systeme dedie & la generation automatique de mecanismes qui utilise cette technique des invariants pour le test d'egalite des especes.

3.10.4 SystAme de Milan Le groupe de Milan a developpe un premier systeme SPYRO pour modeiiser la pyrolyse des hydro- carbures. Ce systeme a ete beaucoup utilise en milieu industriel, mais nous n'avons pas d'information sur les solutions informatiques utilisees. MAMOX [RFGS95] est un programme developpe en FORTRAN pour la generation automatique de mecanismes primaires d'oxydation & basse temperature. Ce g 6nerateur a ete, dans un premier temps, congu pour les alcanes lineaires, puis etendu & quelques especes ramihees.

3.10.5 Systeme Net Gen La premiere version du systeme NetGen de Broadbelt est decrite dans [BSK94, BSK95, BSK96] et des ameliorations de I'algorithme de generation sont donnees dans [SDG+97, WDBOO]. Les especes sont representees par des graphes, codes avec des listes d'adjacence [BSK94]. Le modele DU (voir le paragraphe 3.7) est utilise pour la representation des reactions eiementaires. Le systeme NetGen, developpe en C, est utilise pour la generation de mecanismes de pyrolyse des molecules d'hydrocarbures : des resultats partiels sont publies pour 1'ethane [BSK94], le butane [BSK95], le tetradecane [WDBOO] et le cyclohexane [BSK94]. Le systeme NetGen, developpe au debut & I'Universite de Delaware aux Etats-Unis, est & la base du systeme XMG, le systeme d'Exxon-Mobil.

3.10.6 Systeme XMG Le systeme XMG (ExxonMobil mechanism-generation code) [GBB+01, GADG03] est derive du sys ­ teme NetGen (presente dans le paragraphe 3.10.5). H est base sur le m6me modele (le modele DU) et la difference est dans les methodes de calcul des const antes thermodynamiques. L'algorithme de selection des especes est celui de [SDG+97], qui verihe 1'importance cinetique de chaque espece avant de 1'introduire dans le modele. XMG est developpe en C.

3.10.7 Systeme RMG Le systeme RMG [SRY+03] est une nouvelle version de XMG, bas6e sur la progranimation objet. Les especes sont repr 6sentees comme des graphes moieculaires. 18 reactions eiementaires generiques directes sont codecs, et 15 reactions eiementaires generiques inverses. Les donnees cinetiques, obtenues par des calculs de la chimie quantique, sont stockees dans une base de donnees, organises comme une structure 38 Chapitre 3. Solutions de fa chimie infbrmatigue pour fa generation automatique de mecanismes r^actioimeis d'arbre pour reduire le temps de recherche d'une donnee dans la base. Les donnees thermodynamiques sont estimGes par les methodes de Benson. Le systeme RMG a ete utilise pour la pyrolyse et pour la combustion.

3.10.8 Systeme de Leeds Le systeme de Leeds [Chi87] developpe par Chinnick est le premier systeme base sur la progranimation logique, ecrit en POPLOG (une combinaison de POP11, PROLOG et LISP). Une molecule est repr6sent6e comme un arbre avec une racine. Les arbres sont repr6sent6s en PROLOG par des listes imbriquGes. Chaque espAce a cinq attributs (la longueur, la saturation, le type, etc.). Les reactions eiementaires sont representees en PROLOG comme des predicats avec quatre arguments : les deux premiers pour les reactifs, les autres pour les produits. Dix types de reactions eiementaires generiques sont definis, pour la pyrolyse des alcanes. L'apphcation des reactions eiementaires generiques est contrbiee par des preconditions imposees sur les attributs des reactifs. Le backtracking trouve toutes les solutions possibles et une methode de selection des chemins est proposee, bas6e sur le calcul des vitesses de reaction.

3.10.9 Systeme de Stuttgart Le systeme de Stuttgart [CWM90] est developpe en LISP. Les graphes moieculaires sont representes par des arbres, sur lesquels est defini un ordre ahn d'obtenir la forme canonique. Les reactions chimiques sont codees par des regies avec des preconditions sur le nombre d'atomes ou sur les types des atomes qui interviennent. Une technique de Hltrage est effectuee sur les molecules, avec la possibilite d'appliquer la regie une seule fois, ou sur toutes les apparitions. Le mecanisme de reaction pour la combustion du n-heptane contient 620 especes et 2400 reactions ; le mecanisme pour le cetane contient 1200 especes et 7000 reactions.

3.10.10 Syst&me EXGAS Nous presentons ce systeme en detail, parce qu'il implante 1'expertise chimique de cette these. Le systeme EXGAS [CWG+96, GBLF+00, WBLF+00, WSBL+98, Gla99, Hey02] peut generer des mecanismes detailies d'oxydation & basse temperature et de combustion & haute temperature pour les especes suivantes : alcanes hneaires, alcanes ramifies, alcenes lineaires, alcenes ramifies, ethers, cyclanes monocycliques polysubstitues. Le systeme EXGAS developpe & Nancy represente les graphes moieculaires comme des arbres. Un algorithme de canonicite [Hau82, WBLF+00] est utihse pour associer & chaque molecule ou radical, 1'arbre canonique unique.

Structure L'architecture du systeme EXGAS est donnee dans la figure 3.8. Le systeme EXGAS comporte les elements suivants : - une base de reactions, dite C0-C1-C2 ; - un generateur de mecanisme primaire detailie; - un generateur de mecanisme secondaire globalise ; - un generateur de donnees thermodynamiques ; - un generateur de donnees cinetiques.

Base C0-C1-C2 Le systeme EXGAS comporte une base de reactions, dite C0-C1-C2, qui comprend toutes les reactions unimoieculaires et bimoieculaires entre especes qui contiennent au plus deux atomes de carbone et pour lesquelles les donnees cinetiques sont disponibles dans la litter at ure. Ces reactions sont particuheres et differentes de celles considerees pour 1'oxydation des hydrocarbures de taille superieure. 3.10. 5[ystAmos logzdolm pour la gAnAration automatiquo do mAoamsmos 39

EXGAS

Base de reactions C0-C1-C2

Radicaux libres

Generateur de Modele Reactifs mecanisme primaire details reaction

Molecules primaires globalises

Generateur de mecanisme secondaire globalise

Donnees Donnees thermochimiques cinetiques

Donnees THERGAS KINGAS thermochimiques

Fig. 3.8 - Schema global du systeme EXGAS |C6m99|

La base so compose do 378 reactions Acritos dans los sons diroot ot inverse ot do 48 rAactions diroctos - soit 426 Aquations corrospondant & 804 reactions AlAmontairos - qni mottont on oonvro oommo rAaotifs 18 molecules ot 20 radicaux libres. Los paramdtros cinetiques provie.nne.nt pour la plupart de.s base, do donne.es do |WF86| ot do |BCC+94|, avee de.s complements issus do la base, developpee par l’Institut National de.s Standards ot de.s Technologies de.s Etats-Unis |NIS93|.

Mecanisme primaire Lo generateur do mecanisme primaire. d’EXGAS, e.erit on Pascal, eomprend de.s rAactions AlAmontairos gAnAriqnos primaires, nnimolAonlairos ot bimolAcnlairos, relatives & la oonsomma- tion dos ospAcos donnAos on ontrAo. Los rAaotifs dos diSArontos rAactions AlAmontairos primaires sont soit 00s ospAcos do dApart, soit los radicaux libres qni on derivent. Los nouvelles molecules formees, produits primaires stables, roagiront dans lo mAcanismo sooondairo (voir lo paragrapho snivant). Lo mAoanismo ost crAA an moyon dos rAglos do gAnAration pom ohaquo rAaotion AlAmontairo gAnAriquo primaire. L'onsomblo dos rAglos utilisAos roprAsonto un schema reaetionnel, illustre par la figure. 3.9, qni tente do rendre compto de.s phenomenes d’oxydation ot do combustion dos aloanos. Los diSAronts typo do rAactions AlAmontairos ntilisA par lo gAnAratonr sont : 1. los amorqagos nnimolAonlairos (ni), 2. los amorqagos bimolAonlairos (bi), 3. los additions do radicaux libres snr 1'oxygAno (adox), 4. los isomArisations (is), 5. los dAcompositions par /^-scission (bs), 6. los dAcompositions on Athors cycliqnos (or), 7. los oxydations (ox), 8. los mAtathAsos (mo), 40 Chapi Arc 3. Solutions tie Ja chinuc WormaAiquo pour ia gfn AraAion auAomaAiquo tie mfcaruamcm rgacAiormois

Read if initial RH

02 alcincs -f- "001-1

kvdropc roxy domes hydmpc roxyaicane + *R' + O

ethers cycliques -r "OH idcBnes + *OOH

hvdn.iperoxyalcanes -bS--- >r aldehydes /clones f -R' QOOH +- *OH

hydropsroxyalcencs hyd raperoxyatc&ncs +- -OOH ■+ *R'

dihydroperoxvalcancs OOQOOH + -R''

hydro peroxy-cydChstti era hvdni pernxvalccncs + -0H + -OOH

0X0 - dihydropcruxyalcarics lJ(OOH)2 ) —bs —> hy dro peroxyalcanci -h-Oil

dih vdro pttn'ixyal cones dihydropemxvalcencs - -OOH + *R ‘

Fig. 3.9 - Schema fonctionnel du mecanisme primaire du systeme EXGAS (traduit en frantjais do |WSBL+98|) 3.10. 5[ystbmos logiciols pour la generation automatiquo do mecanismos 41

Reactifs ui Amor$ages bi R

adox is

bs Iteration Propagations or ox me V •R + Products primaires de propagation co Terminaisons

Produits primaires de terminal son

Fig. 3.10 - Mccanismc. primaire on EXGAS |C6m99|

9. les combinaisons do radicaux (co), 10. los dismutations do radicaux (di). Tout rdactif, molecule on radical, cat sounds & chacunc dc cos reactions gdndriqucs, ct la reaction cst ecrito s’il ost susceptible de reagir scion la reaction gcncriquc consideree. Lorsqu ’un nouveau radical apparait durant l’ccriturc d’une reaction, il cst sounds a son tour a 1’ensemble de cos niftmes regies. Le mdeanisme primaire dc consommation dcs reactifs sc constridt ainsi dc manidro exhaustive sidvant la representation ehimique qui a etc ehoisie. La figure 3.10 illustrc la methode de construction.

Mecanisme secondaire globalise Le mccanismc seeondaire cst eonstitue des reactions de consom ­ mation des produits moleeulaires stables formes dans le mccanismc primaire. Los prodidts moldcidairos issus du mdcanismo primaire sont globalisds, c’cst-&-dirc los diffdrontos cspdccs qid ont la mfmo formide brute ct los mfmos groupements fonctionncls sont dcritos sous ime formulc unique. Pour plus de details sin les regies de generation du mccanismc seeondaire, voir |Gla99|.

Donnees thermodynamiques Le generateur de donne.es thermodynamiques , THER.GAS |MMSC95|, utilise los methodes d’additivite des groupes on des liaisons propose.es par Benson. Une description des fonetionnalitcs du systeme THERGAS et des examples sont presentes dans |MMSC95|. Plus de details sin les methodes utilise.es et les algorithmes implantes se trouvent dans la these de Chantal Muller |Mul87|.

Donnees cinetiques Le generateur de donne.es einetiques, KINGAS, calculc les parametres einetiques on utilisant deux methodes, on fonetion du type de reaction. Pour les reactions d’amorqage unimoleculaire, d’isomerisation et de reeombinaison de deux radicaux, les parametres sont ealcules a partir des methodes thermoehimiques de Benson. Pour tons les autres types de reactions, les parametres sont ealcules a partir dc correlations ontro structino ct rAactivitA, issues on deduitos dc la littAratmo. 42 Chapitre 3. Solutions de la chimie infbrmatigue pour la generation automatigue de mecanismes rAacdonuels

Simulation La simulation des reactions chimiques dans differents type de reacteurs est effectuee au moyen des programmes contenus dans la bibliotheque du logiciel CHEMKIN II [KRM93]. Ce logiciel a ete elabore aux 6tats-Unis par Sandia National Laboratories. Le seconde version, proposGe en 1993 et ecrite en FORTRAN 77, est utilises actuellement. Un interpreteur lit la description symbolique du mecanisme reactionnel et extrait les donnees thermo- dynamiques pour chaque esp 6ce impliqu 6e et les donnees einetiques de chaque reaction. La sortie primaire de Tinterpreteur est un Hchier binaire, appeie Hchier de liens. Celui-ci contient toutes les informations requises concernant la description des elements, des espAces et du mecanisme reactionnel. L'utilisateur dispose & ce niveau de differents sous-programmes pour trailer son probleme : - reacteur ferme; - reacteur parfaitement agite ; - reacteur piston ; - damme laminaire premeiangee ; - tube & onde de choc. Le logiciel CHEMKIN II est en fait un programme de resolution d'equations qui permet, & partir du mecanisme d'une reaction chimique donne par l'utilisateur, de resoudre les equations de conservation des especes et de 1'energie, pour differents type de reacteurs.

3.10.11 Systeme REACTION Le systeme REACTION [Blu95] a ete developpe par Blurock & 1'Universite de Linz. Le module de generation de reactions fait partie d'un systeme plus general pour la manipulation et 1'analyse des bases de donnees de molecules, de reactions, et de schemas de reaction. Les molecules sont codecs dans ces bases de donnees en format Mobiles [MDL] et sont accessibles par leur nom ou par un numero d'identification qui est un nombre entier. Les reactions sont codecs par des schemas de reactions. Le programme a ete applique pour la generation de mecanismes pour 21 alcanes possedant jusqu'& huit atomes de carbone.

3.10.12 Systeme de Faulon et Sault Faulon et Sault [FS01] proposent 4 algorithmes pour la generation de reseaux chimiques. Le generateur deterministe de reseaux, DNG (Deterministic Network Generator), base sur le models DU, est exponentiel en nombre d'espAces, de reactions et de temps de calcul. Les trois autres algorithmes sont des generatcurs stochastiques de reseaux : - 1'algorithme d'echantillonage aleatoire, RSNG (Random Sampling Network Generator), - 1'algorithme d'echantillonage base sur la concentration, CSNG (Concentration Sampling Network Generator), - 1'algorithme d'echantillonage Monte-Carlo, MSNG (Monte-Carlo Sampling Network Generator). Les auteurs montrent que les deux demiers algorithmes sont polynomiaux en temps de calcul et donnent les memes resultats que 1'algorithme deterministe. Pour illustrer ces resultats, Faulon et Sault utilisent la pyrolyse de 1'ethane et du butane. Ce systeme fait partie de la famille des systernes de generation de reseaux de reactions chimiques, appeiee aussi famille des chimies artificielles. Chapitre 4

Systemes de reduction abstraits

La mod61isation du g 6n6rateur de mGcanisme proposes dans cette tMse est fondle sur les notions de systGmes de reductions et sur leur contrble. Ces deux notions sont introduces dans ce chapitre et dans le chapitre 5. Ce chapitre est consacrA aux systemes de reduction abstraits, appeies aussi, selon le contexte, systemes de reecriture abstraits, ou encore systemes de transition. Un systeme de reduction abstrait est un ensemble muni d'une relation binaire. L'ensemble dehnit les objets et la relation binaire decrit les transformations sur ces objets, & un niveau abstrait, sans prendre en compte leur structure interne. Nous introduisons dans le paragraphe 4.1 les proprietes des relations binaires sur un ensemble et les no­ tions de confluence et de terminaison pour un syst&ne de reduction abstrait. Ensuite nous pr 6sentons des exemples de systGmes de reduction : les systemes de r66criture du premier ordre (dans le paragraphe 4.2), les syst&nes de r66criture de graphes (dans le paragraphe 4.3), le A-calcul (dans le paragraphe 4.4), le p-calcul(dans le paragraphe 4.5), et les syst&nes de reduction abstraits sur multi-ensembles (dans le paragraphe 4.6).

4.1 Notions de base

Definition 4.1 (Systeme de reduction abstrait) f/h systeme de reduction abstrait eat une paire (T, —») /orm& d'un enaemble T, oppel^ aon domaine, et d'une relation binaire —» aur T, c'eat-d-dire —C T x T. Definition 4.2 f$tont donn^e une relation binaire —^ aur un enaemble T - la relation inverse de —^ eat not& 4—, - la fermeture symetrique de —not^e ^eat la plua petite relation apmArigue contenant - la fermeture transitive de —notde -^4, eat la plua petite relation tranaitiue contenant —» - la /ermeture tranaitiue et r^eziue de —^ eat notde — - la /ermeture r^eziue, apm^trigue et tronaitioe de —^ eat notde ^ La composition de deux relations —»i et —^2 est not 6e —^1 o —^2- DABnition 4.3 (Propri6t6s de confluence) f$tant donn^ un apat^me de reduction abatrait (T, —»), la relation —^ eat dite : - avoir la propri 6t6 de Church-Rosser ai

C

conBuente ai c localement conBuente ai c

43 44 Chapitre 4. Systdmes de reduction abstraits

Ces diff6rentes definitions se repr&sentent chacune par un diagramme. Une dedie pleine correspond & une hypothese et une flGche en pointing & une conclusion.

A A \ A GAurcA-Aosser con^uence con^uence locale DAdnition 4.4 (Propri 6t6s de terminaison) Aunt donn^ un systdme de reduction abatrait (T, —. - [/n ^lAnent t E T eat une —t-forme normale a'i! n'eriste paa dVlAnent f E T tel gue t —^ f. - [/h ^ment a eat une forme normale de t E T a* t -^4 a et a eat une —»-/orme normale. - La relation —» termine Cou eat fortement normalisablej a'il n'eriste aucune auite in^nie (ti)i>i dements de T tel gue t% —»tg —^ - La relation —^ eat convergente ai elle eat /ortement normolisable et con^uente. Les propriety dGcrites ci-dessus sont relives par le theorAme suivant, dd & Newman : Th6or 6me 4.1 ([New42]) f$tant donn^ un ayatdme de reduction abatrait (T, —tel gue la relation —» termine, lea propri^Ma aont Afuioalentea .­ 1. —^ a la propri^M de GAurcA-Aosser, 2. —» eat localement con^uente, ^ eat con^uente, Vt, a E T : t +^4 a # t|. = ai ou t^ et a^ aont respectiuement lea /ormea normalea de t et de a par rapport a la relation —K

4.2 R66criture de termes

La notion de r66criture est pr 6sente en informatique et en logique matMmatique, des les fondements theoriques et jusqu'aux realisations logicielles. La reecriture est utilisGe pour dednir la sAmantique op 6- rationnelle de langages de programmation [Kah87] aussi bien que pour dAcrire la transformation de pro ­ grammes [vdBvDK+96]. La reecriture est utilisGe pour calculer [Der85], dans les systemes formels comme Mathematica [Wol99] ou les langages de programmation comme OBJ [GWM+00], mais egalement lors- qu'on decrit par des regies d'infArence une logique [GLT89], un prouveur de th6or 6mes [JK86 ] ou un solveur de contraintes [JK91]. La reecriture est naturellement tres importante dans les systemes ou la notion de r6gle est un objet explicite du premier ordre, comme les systemes experts, les langages de programmation bases sur la logique equationnelle [0'D77], les specifications algebriques (e.g. OBJ [GWM+00]), et les systemes de transition. La reecriture peut etre vue comme est un systeme de reduction abstrait dont le domaine est Tensemble de termes du premier ordre.

4.2.1 Alg&bres de termes Definition 4.5 (Signature) [/he signature 2 se compose d'un ensemble _^ni de symboles dont cAacun eat osaoci^ d un entier nature! gui est appe!^ son arite. Le aoua-enaemble de symboles d'ariM n est noM 2". L'ariM d'un symbols / E 2 est not^e arite(/). [/n symbols / E 2 tel gue arite(/) = 0 est oppe# const ante. DeBnition 4.6 (Terme) ^oit 2 une signature et % un ensemble dAiombrable de variables, te! gue 2 D % = 0. L'ensemble T(2,%) dea termes aur 2 eat d^ni inductiwement par .- - % C T(2,%) (c'est-d-dire cAague variable est un termej, - pour tout n > 0, tout / E 2", et tous termes ti,...t» E T(2,%), on a /(ti,...t») E T(2,%) Cc'est-d-dire gue ('application des symboles aur termes donne un terms/ 4.2. Adventure de termes 45

Zea Amenta de T(E, %) aont auaai oppef^a termea du premier ordre et T(E, %) eat appef& fa E-ofpdbre fibre Aomqpdne enpendr& par %. DABnition 4.7 (Variables d'un terme) Z'enaembfe Uar(t) dea wariabfea d'un terme t eat d#mi in- ductiaement par .- - Uar(t) = 0 ai t E E^, - Var(t) = {t} ai t E %, - Uar(t) = (JILi Var(ti) ai / E E" et t = /(ti,... ,t»). DABnition 4.8 (terme clos) Une ofpdbre Aomopdne enpendr^e par an enaembfe aide de ooriobfe, eat oppef^e ofpdbre dea termea cfoa, et effe eat noM par T(E). Remarque 4.1 Cette afp^bre eat initiate dana fa cat6/orie dea ofp^brea. DABnition 4.9 (Position) D'enaembfe de positions d'un terme t E T(E,%), noM foa(t), eat an en- aembfe de mota aar f'enaembfe dea nature fa, N, d#ini inductiaement par .- - Pos(t) = {e} ai t E % (e eat fe mot wide), - Poa(/(ti, .. - ,t»)) = eU {i.p |l

/

tl ' ' t„

Si p E foa(t), alors le aoua-terme de t d fa poaition p est not 6 t|p. Les sous-termes t|p tels que p E Poa(t) \ {e} sont nomm 6s aoua-termea atricta. Le terme obtenu apr 6s remplacement dans t de t|p & la position p par le terme a est not 6 t[a] . Le symbole 6tiquetant le terme t & la position e est not 6 tqp(t). Une position p E Poa(t) telle que t|p E % est appelGe poaition aariabfe de t.

4.2.2 Substitutions du premier ordre DABnition 4.10 (Substitution) Une substitution eat une application o : % T(E,%). Fife eat dite close ai o : % i-» T(E). Une substitution, est caract6ris6e par les images des variables. Dans la suite, nous ne consid&rerons que des substitutions transformant un nombre Bni de variables. Une substitution o transformant des variables en des termes ui, pour i E {1,... ,n}, sera Gcrite o = {zi i-r u%,..., Zn a»}. Le domaine de o, not 6 Dom(o), est Tensemble des variables z E % instanci6es par un terme different de z : Dom(o) = {z E %|ez ^ z}. DABnition 4.11 (Application d'une substitution) ^tant donn^e une aubatitution o = {zi i-» ui,... ,z„ fe r^auftot de f'application de fa aubatitution o d un terme t E T(E,%), noM of (bu o(t) ou por^oia toj, eat d^ni inductiuement par .- - ai t eat une dea ooriobfea zi, pour un i = 1... n, ofora of = u< ,- - ai t eat une aariabfe z ^ zi, pour tout i = 1... n, ofora ot = t ,- - ai t eat un terme /(ti,... ,tm), ou / E E*", ofora of = /(oti, ... ,otm)- Remarque 4.3 .Bn cona^puence de fo definition ^.11, une aubatitution attend en un endomorpAiame o:T(E,%)H-T(E,%). DABnition 4.12 (Filtrage) Cn dit pu'un terme t Bltre un terme a, ou pue a eat une instance (reap, inatonce cfoaej de t, a'if eiiate une aubatitution (reap, aubatitution cfoaej o teffe pue a = of. Ze terme t eat oppef^ fe motif. 46 Chapitre 4. SystAmes de reduction abstraits

4.2.3 SystAmes de rAAcriture DABnition 4.13 (RAgle de rAAcriture) ConsidArons Z'oZgAbre de termea T(2,%) conatruite aur une aignuture 2, et un enaembZe de oonoWea %. Une rAgle de rAAcriture pour T(2,%) eat une puire orienMe de termea, noMe Z -» r, ou Z et r aont dea termea de T(2, %), qppeZAa reapecticement membres gauche et droit de Zo r^gZe. Deux restrictions sont souvent imposAes sur une rAgle de rAAcriture Z r : - Z 0 % (le membre gauche d'une rAgle n'est pas une variable), et - For(r) C Far(Z) (1'ensemble des variables du membre droit est inclu dans 1'ensemble des variable du membre gauche). Definition 4.14 (SystAme de rAAcriture) Aunt donnAa une aipnatune 2 et un enaembZe de uahubZea %, un systAme de rAAcriture eat un enaembZe % de rAgZea de rAAcriture pour T(2,%). DABnition 4.15 (Relation de rAAcritnre) Potent 2 une aignuture, % un enaembZe de mriubZea et % un ayatAme de rAAcriture conatruit aur T(2,%). La relation de rAAcriture ou relation de reduction oaaociAe au ayatAme de rAAcriture %, notAe —C T(2, %) x T(2, %) eat dA/inie pur .- pour toua termea a,t E T(2, %), Ze terme a ae rAAcrit en t, notAe a —t, a'iZ eziate : - une rAgZe de r^criture Z —t r E %, - une poaition p E foa(a), et - une au6at*tut*on o teZa pue oZ = a|p (Z /Ztre Ze aoua-terme a d Za poaition p/ et t = a[or]p (t eat obtenu en rempfapunt Ze aoua-terme de a d Za poaition p pur Ze terme or/

4.2.4 Quelques propriAtAs de la rAAcriture Un systAme de rAAcriture % construit sur T(2,%) dABnit le systAme de reduction abstrait correspon- dant (T(2,%), —^%). Lee definitions et les propriAtAs de conBuence et de terminaison, dAHnies dans le paragraphe 4.1, dans le cadre plus gAnAral des systAmes de reduction abstraits, se transfArent aux systAmes de rAAcriture. En particular : DABnition 4.16 (Terminaison) Un apatdme de rAAcriture % conatruit aur T(2,%) termine ai Za re- Zation de rAAcriture —n'admet poa de chaine in^nie, c'eat-d-dire a'iZ n'eziate poa de auite in/inie de termea Si E 7"(2, df), i E N, teZa pue ag —Yu - - -• DABnition 4.17 (ConBuence) Un apatdme de rAAcriture % conatruit aur T(2, %) eat con^uent ai pour toua termea a,t,u E T(2,%) teZa pue a t et a u, iZ eziate un terme o E T(2,%) teZ pue t u et u u. La rAAcriture possAde un pouvoir expressif equivalent & celui des machines de Turing [BT80]. En fait, les machines de Turing peuvent Atre exprimAes par une seule rAgle de rAAcriture [Dau89]. De ce fait, la rAAcriture peut servir comme un paradigme gAnAral de progranimation et il n'est pas surprenant que ses propriAtAs essentielles soient indAcidables. Nous mentionnons ici quelques unes de ces propriAtAs.

Finitude des calculs : la terminaison La propriAtA de terminaison d'un systAme de rAAcriture assure que toute chalne de rAAcriture aboutit nAcessairement & une forme normale. La terminaison est une propriAtA fondamentale de la rAAcriture. Non settlement elle garantit la finitude des calculs, mais en plus elle est utile & la preuve d'autres propriAtAs telles que la conBuence. Notons que malheureusement, la propriAtA de terminaison des systAmes de rAAcriture est indAci- dable [HL78] ; il existe cependant de nombreux critAres de terminaison, souvent automatisables.

Non ambiguite des calculs : la confluence D'un point de vue opArationnel, la conBuence d'un systAme de rAAcriture garantit 1'unicitA du rAsultat: si une requAte donne heu & deux exAcutions diffArentes, alors ces deux exAcutions doivent mener & un mAme 4.2. Adventure de termes 47 rAsultat. Ainsi, la conBuence garantit 1'Aquivalence de tons lee calculs possibles & partir d'un terme donnA ; en particulier, pour un systAme de rAAcriture conBuent, toutes les strategies de rAAcriture sont Aquivalentes, pour peu qu'elles conservent 1'ensemble des formes normales. Lorsqu'un systAme de rAAcriture est & la fois terminant et conBuent, il est dit complet, ou conuen/ent. La conBuence est une propriety indAcidable en general. Dans le cas ou le systAme terminant n'est pas conBuent, il est possible de le completer aBn d'en assurer la conBuence, & Taide de la procedure de completion de D. Knuth et P. B. Bendix [KB70].

4.2.5 Variantes de la rAAcriture de termes Reecriture multi-sortee DABnition 4.18 (Signature multi-sortAe) f/ne signature multi-sortee E ae compoae de «S, un en- aemAle ^ni de sortes, et de

/ : ai,..., a„ i-t a»+i

DABnition 4.19 (Terme sort A) 5"oit E = («$, ^) une signature Tnult*-aort& et % un enaemWe d^nom- AruAle de variables sortAes, % = U,eg%,. L'enaem&le dea termes de aorte a, noM T(E,%), et appel^ une sorte, eat d^ni inductiuefnentpur .- - C T(E,%), Cc'eat-d-dire gue edague uariable de aorte a eat un terme de aorte aj, - pour toutn > 0, tout / E / : a%,..., a» a, et toua termea t%,... t», tela gue t; E T(E, , i = l,...,n, on u/(ti,...t») E T(E,%)„. L'enaemtle dea termes multi-sort As T(E,%) eat la/amille U,egT(E,%),. DABnition 4.20 (Substitution sortAe) f/ne substitution sortAe eat une application o : % T(E,%), telle gue pour toute uariaAle r de aorte a, or eat de aorte a. Elle s'Atend en un endomorphisme o : T(E, %) i-» T(E, %). En ce cas, si un terme t est de sorte a, ot est de sorte a. DABnition 4.21 (RAgle de rAAcriture sortAe) Conaid^rona E = (

RAAcriture conditionnelle En ajoutant des conditions & une rAgle de rAAcriture, nous obtenons une rAgle de rAAcriture condition ­ nelle, dAcrite syntaxiquement comme suit :

1 —^ r if c ou c est la partie conditionnelle de la rAgle. 48 Chapitre 4. SystAmes de reduction abstraits

Souvent, on impose que chaque variable qui apparalt dans la partie conditionnelle, on dans le membre droit de la rAgle, se retrouve dans le membre gauche de la rAgle :

Uar(c) UUar(r) C Uar(l).

Un systAme de rAAcriture conditionnel est un ensemble % de regies de rAAcriture conditionnelles. La definition 4.15 de la relation de rAAcriture devient dans le contexte de la rAAcriture conditionnelle : DABnition 4.23 (Relation de rAAcriture conditionnelle) Anient % un apatAme de rAAcriture condi ­ tionnel. La relation de rAAcriture conditionnelle aaaociAe an systAme de rAAcriture conditionnel R, eat dA^nie par .- pour toua termea a et t, le terme a ae rAAcrit en t, notAe a —t, a 'i! eziate : - une rAgle de r^criture conditionnelle ! -» r if c E - une poaition p E foa(a), - une aubatitution o tela gue ol = a|p (1 ^Itre le aoua-terme a d la poaition pj, et - oc eat urai, et alora t = s[or]p (t eat o&tenu en remplapant lea aoua-terme de a d la poaition p par le terme orj. L Evaluation des conditions doit prendre en compte les autres rAgles du systAme et il existe plusieurs interprAtations diffArentes de la satisfaction des conditions dans c. Celle que nous utilisons ici est la normalisation des conditions. Gtant donnA un terme a, si t est une forme normale de a, on note a —t. Le systAme de rAAcriture est appelA un systAme de rAAcriture conditionnel normal (normal conditional rewriting system) et les rAgles de rAAcriture sont de la forme suivante :

1 —» r if ai —ti A - A a» —t» La rAgle 1 —^ r est appliquAe dans le sens de la rAAcriture non-conditionnelle si os, —ot, (ot, est une forme normale de os,), pour tout i = 1... n. Si les s, sont de sorte boolAenne, alors le test de la condition revient & Avaluer tous les os; en true.

RAAcriture modulo une theorie Aquationnelle DABnition 4.24 (AgalitA) [/ne paire de termea (!,r) eat appelA AgalitA, axiome Aquationnel, axiome Agalitaire, ou Aquation auioont le contezte, et notAe (1 = r). DABnition 4.25 (Relation de rAduction) ^tant donnA un enaemble d'6/alitAa L, la relation binaire —^g C T(2,%) x T(2,%), appelAe relation de rAduction, eat dA/inie par a —»g t ai et aeulement a'i! eziate une 6/alitA (1 = r) E L, une poaition p E foa(a), et une aubatitution o tela gue a|p = ol et t = s[or]p. La cldture rA^eziue, apmAtrigue et transitive de —^g, notAe f^g eat une theorie Aguationnelle dite thAorie Aquationnelle engendrAe par L ou plua briAvement, la thAorie Aguationelle L. DABnition 4.26 [/he relation binaire —^ aur lea termea T(E,%) eat dite - stable par contexte ai pour toua lea termea a, t, u et pour toute poaition p E foa(u) : ai a —» t, alora u[s]p —^ u[t]p. - stable par instanciation ai pour toua lea termea a, t et pour toute aubatitution o . ai a —^ t, alora oa —»ot. - compatible ai elle vAri^e toutea lea deuz propriAtAa ci-deaaua. DABnition 4.27 (ThAorie Aquationnelle) [/ne thAorie Aguotionnelle eat une relation d'Aguivalence, c'eat-d-dire rA^ezive, apmAtrigue et tranaitive, et compatible aur lea termea.

RAAcriture modulo D existe des AgalitAs que Ton ne peut pas orienter sous peine de perdre la ter- minaison. Un exemple typique est 1'axiome de commutativitA. Dans ce cas, le raisonnement Aquationnel nAcessite une autre relation de rAAcriture dans laquelle on travaille sur les classes d'Aquivalence de termes modulo des AgahtAs non orientables. 4.3. RAAcriture de graphes 49

Definition 4.28 (RAAcriture modulo les classes d'Aqui valence) Aant donnA an systAme de rAAch- ture % et an ensemble d'AyolitAs 6^, k terme t se rAAcht dona k terms a par % modulo 6^, notA t —a, s'il eziste ane rAyle 1 r E %, un terms a, ane position p dona a et ane substitution o tek gas t +^4g a[ol]p et a f^4g a[or]p. La relation —»%/g n'est pas satisfaisante du point de vue calculatoire car aGn de rAAcrire un terms, il faut parcourir touts sa classe d'Aquivalence modulo 6^. Ce parcours set relativement inefBcace et peut Atre mAme impossible si les classes d'Aquivalence modulo tT sont infinies. De ce fait, une relation plus faible est proposes par Peterson et Stickel [PS81] et generalises par Jounanaud et Kirchner [JK86 ] dans laquelle le Gltrage est remplace par le Gltrage modulo une theorie equationnelle. Cette relation est appeiee k rAAcriture modtdo one thAorie Ayuationnelk et est notee — DAGnition 4.29 (RAAcriture modulo une thAorie Aquationnelle) Le terms t ae rAAcrit dona k terms a por on systAme de rAAcriture % modulo un ensemble dea oziomea L s'il eziate une rAyle 1 —^ r E %, une position p dona t et une substitution o telles pus t|p 4—o! et a = t[or]p . En pratique, la theorie equationnelle la plus utilises est la theorie d'associativitA et de commutativite. La relation —y%,g est appeiee dans ce cas la reecriturs modulo 1'associativitA et la commutativite (AC). Pour cette theorie en particulier (mais aussi pour plusieurs autres [JK86 ]), nous pouvons heureusement renforcer —pour avoir une relation equivalents & —»#/g en ajoutant & % des rAyles d'eztension. DAGnition 4.30 (RAgle d'extension) ^oit % un systAme de r^&riture et 6^ k theorie d'ossociatiuitA et de commutotioiM. Chayue rAyk 1 r E % teds pus k symbok de tAte / de 1 eat un symbok AC, o une rAyle d'extension correapondonte de k/orme /(l,z) -4- /(r, z) ou z eat une nouuede variable (ic 0 Par(l) et done z 0 Por(r)j. Le nouveau systems de reecriturs obtenu de % en ajoutant les rAgles d'extension est appeie un systems de reecriturs etendu et est note W**. La relation —peut Atre simulAe correctement par — D'un point de vue calculatoire, 1'efEcacitA du Gltrage modulo AC est primordiale pour la performance de la reecriturs modulo AC. Neanmoins, le Gltrage modulo AC est bien connu comme un problems NP-difEcile [BKN87] et peut avoir un nombre exponential de solutions. En pratique, aGn de rAduire Lespace de recherche dans un algorithms de Gltrage modulo AC, les termes sont souvent mis en forme canonique ordonnAe [Hul79]. La mise en forme canonique comporte deux phases : 1'upktiaaement consists & transformer le terme en un terme uariadiyue, et le tri des sous-termes des symboles AC. En travaGlant avec les termes en forme canonique, le Gltrage modulo AC revient & la resolution d'un systAme d'Aquations diophantiennes qui est pourtant encore relativement cohteuse. Plusieurs optimisa ­ tions ont Ate proposAes pour amAliorer cette situation. Par example, au lieu de Gltrer le terme & rAduire avec chaque membra gauche (1'approche one-to-one), on peut le faire avec plusieurs membres gauches en mAme temps en utilisant un automate de Gltrage (1'approche many-to-one). Les lecteurs cherchant une presentation dAtaiUAe de differents algorithmes de Gltrage modulo AC peuvent se reporter & la these de Moreau [Mor].

4.3 RAAcriture de graphes 4.3.1 Principes gAnAraux Les graphes permettent de modAliser une grande variAtA d'objets et de situations. Le terme 'graphs' dAsigne dans un sens trAs large les graphes avec toutes leurs variantes, en particulier les hypergraphes orientAes et/ou AtiquetAes. La rAAcriture de graphes, permet de modAliser la transformation d'un graphs dans un autre graphs. C'est un formalisms trAs puissant. Malheureusement, la rAAcriture de graphes ne se presents pas ac- tuellement comme une thAorie uniGAe : les nombreuses dAGnitions exist antes reGAtent la diversitA des motivations. Parmi les principales motivations, on peut citer [Cou93] : 1. la definition generative de famille de graphes, d'ou 1'on peut tirer des preuves de propriAtAs de graphes par recurrence sur les suites de rAAcritures qui les engendrent ; 50 Ghapftre 4. Systemes de reduction abstraits

2. la generation et la reconnaissance de dessins; les applications concement entre autres, la reconnais ­ sance des formes et la modehsation du developpement de structures v6g 6tales ou cellulaires; 3. 1'implantation efBcace des langages fonctionnels et du A-calcul au moyen des graphes reprAsentant des termes avec part ages ; 4. 1'extension aux graphes des techniques et des resultats de la tMorie des langages formels (gram- maires, automates, Equations, congruences syntaxiques), laquelle englobe dej& depuis longtemps la description des ensembles d'arbres (et de termes); 5. la construction d'algorithmes efhcaces de reconnaissance de families de graphes ; 6. des applications & la conception assists par ordinateur ; 7. la modehsation du calcul distribue. En fait il n'y a pas une seule definition de graphes et de reecriture de graphes, mais plusieurs, cor- respondant aux usages tr&s divers evoques ci-dessus. Suivant la motivation et le contexte, on donne une definition de graphe et ensuite les notions de filtrage et de remplacement pour les graphes. D'une maniere intuitive, en 'generalisant' la definition 4.15 de la relation de reecriture dans les algebres de termes, on peut donner le principe tres general de la relation de reecriture de graphes, ou les notions de filtrage et de remplacement dependent du domaine d'application : La relation de reecriture de grapAea, notee —^g, est definie par : pour tous graphes G et R, le graphe G se reecrit en R, note G —^g R, s'il existe une regie de reecriture de graphes g; -4 gr, tels que - g; filtre G, et - Lf est obtenu en remplagant g; par gr dans G. Ceci permet de definir un systeme de reduction abstrait. Par exemple, en s'inspirant de [Cou93] on peut definir : Dans ce contexte un graphe peut etre connexe ou non-connexe, avec les sommets et les arretes 6ven- tuellement etiquetes. Pour definir la relation de reecriture de graphes, notee —»g introduite ci-dessus, il faut preciser les notions de filtrage et de remplacement de graphes. Definition 4.31 (RAgle de reecriture) [/he regie de reecriture eat de la /orme g; -4 gr, ou lea graphea g; et gr aont munia cAocun d'une auite C^uentuellement uidej de aommeta deuz d deuz diatingu^a, oppelea sources. DeBnition 4.32 (Composition par allele) Soit G et G' deuz grapAea auec A aourcea. La compoaition parollele de G auec G', notee G0^ G', eat le grapAe aana a ounce o&tenu d partir dea deuz copiea diajointea de G et de G' dont on /uaionne lea aourcea de rndme rang. Definition 4.33 (Relation de reecriture) Le grapAe G ae reecrit en R ai et aeulement a'il eziate une regie de reecriture g; -4 g; et il eziate G, un grapAe auec A aourcea, tel gue G = G ®& g; et R = G 0^ gr . La reecriture de graphes generalise ainsi la reecriture de termes, presente dans le paragraphe 4.2.

4.3.2 Implantations L'implantation de 1'application d'une regie de reecriture 1 -4- r sur des graphes est generalement faite dans les systemes de reecriture de graphe en quatre etapes : 1. on trouve dans le graphe initial un sous-graphe isomorphe avec le graphe 1; 2. on efface ce sous-graphe, en gardant les nceuds pendants dans un ensemble P; 3. on insere le nouveau graphe r; 4. on le connecte avec le reste du graphe (en respect ant les nceuds pendants de P). Dans le systeme Toy Model [Ben02, BFS03] la reecriture des graphes qui code des reactions chimiques est faite par un moteur de reecriture de grapAea (Graph Rewrite Engine) implante en Haskell. Plusieurs autres systemes de reecriture de graphe existent, par exemple Clean [PvE93], AGG, PROGRES, avec toujours ces quatre etapes. 4.3. RAAcnture de graphes 51

Cependant nous ne connaissons pas de systAme de rAAcriture de graphes of&ant la possibility de contrbler Rnement 1'application des regies ou de famille de regies. En eEet, & notre connaissance, ces systAmes ne possydent pas de ryelle notion de stratygie, comme le possyde certains systyme de ryycriture de termes, comme ELAN.

4.3.3 RAAcriture de termes-graphes Comme nous 1'avons mentionny ci-dessus, il n'y a pas une seule dARnition des graphes et de la ryycriture des graphes, mais plusieurs. Un autre exemple est celui de la ryycriture des termes-graphes (Term Graph Rewriting) [Plu99, Plu02, Bar03^, utilisye pour I'implantation elRcace des langages fonctionnels et du A-calcul (la motivation 3 dans la liste donnye dans le paragraphe 4.3.1). Dans ce cadre, le principe est d'utiliser les graphes pour reprysenter des termes avec part ages qui codent des expressions, et d'Atudier des relations de ryycriture sur les termes associys. Nous dytaillons ici cette approche dont nous nous inspirons par la suite pour coder les graphes molA- culaires par des termes, et simuler la ryycriture de graphes par celle des termes. Formellement : DARnition 4.34 (Hypergraphe) ^oit 2 une aignoture et % un enaemble d^nombroble de variables, tel gue 2 D % = 0. fh hypergraphe aur 2 et % eat un apatdme G = (VG,EG,labG,attG) conatitu^ de deuz enaemblea _^nia, Vg de nasuda et Eg d'Apperarca, d'une /onction dVtiguetuge lute : Eg 2 U %, et une /onction d'attach ement att(? : Eg Tg, gui aaaocie d cAague Apperarc e une chafne de nceuda, tel gue la longueur de att(?(e) eat 6/ale a 1 + arite(labo(e)j. DARnition 4.35 (Ncend rAsultat) ^tant donn^ un arc pour leguel att(?(e) = ug ... le nceud ug eat appel^ nceud rAsultat de e, ui... aont oppelda lea nceuds arguments, et aont notda par arg(e). he nceud rZaultat ug eat noM par rea(e). DARnition 4.36 (Chemin) [/n chemin eat une a^guence oltemante de nceuda et d'entiera poaiti/a (ug,ii,ui,i2, - - - ,*n,u„)(n > 0) tel gue pour / = 1,... ,n il eziate un arc e tel gue rea(e) = uy_i et uy eat le iy-dme nceud dana an/(e). On dit gu'il eziate un cAemin de og d DARnition 4.37 (Nceud atteignable) [/n nceud o' eat atteignable d'un nceud u a'il eziate un cAemin de u d o' . DARnition 4.38 (Hypergraphe acycliqne) [/n Appen/rapAe eat acyclique a 'il ne contient poa un cAe- min dana leguel un nceud apparent deuce /oia. DARnition 4.39 (G|„) four cAague nceud u, G|* eat le aoua-graphe conatitud de toua lea nceuda ottei- gnablea d partir de o et toua lea area gui ont cea nceuda comme nceuda rdaultata. DARnition 4.40 (Terme-graphe) [/n Appen/rapAe G eat un terme-graphe ai - il eziate un nceud root#, tel gue cAogue nceud de G eat atteignable a partir de root^, - G eat acpcligue, et - cAague nceud eat le nceud rdaultat d'un arc unigue. DARnition 4.41 (Representation de terme) ^oitu un nceud dana un terme-gropAe G, e 1'arc unigue pour leguel o eat le nceud rdaultat, et att(?(e) = u ui... Alora

labe(e) si n = 0 termed) labG(e)(terme(ui),... ,termo(u„)) ainon eat le terme reprdaentd par u. 5"oit term(Gj une abrduiation pour term# (root#/ DARnition 4.42 (Morphisme de hypergraphes) 1/n morphisme de hypergraphes / : G —^ H entre deuz Appen/rapAea G et H eat conatitud de deuz /onction /y : Tg —^ Vg et /g : Eg —^ Eg gui conaeruent lea dtiguettea et lea ottacAementa, c'eat-d-dire gue labg o /g = labo, et gue attg o /g = /y° attg Cou /y : Vg —^ Vg aaaocie d une cAaine ui... la cAaine /y(ui)... /y(un) /. DARnition 4.43 (0t et ^t) ^oit t un terme. ^t eat le terme-grupAe gui reprdaente t tel gue : 52 Chapitre 4. SystAmes de reduction abstraits

f. cAagne ncend o gni o k degrA dea area entrant plna grand gue f aatk/ait term^((r) E %, et pour cAagne nariaAk i de yar(t) il ezwte an nasnd nnigue n anec term^((r) = i. Qt eat k AppeigrapAe oAtenn a partir da Appen/rapAe 0*, aprda anoir AliminA ka area AtiguetAa anec dea rariaAfea. Example 4.1 four k terme /(i,i), lea terme-grapAea 0/(z,z) et 0/(z,z) aont lea aninanta :

0

0/(z,z) 0/(z,l) DABnition 4.44 (Instance) f/n terme-grapAe G eat nne instance de 0* a'll eztate nn moipAiame de AppergrapAea 0* —» G gui oaaocie root<)( d mote . DABnition 4.45 (RAAcriture de termes-graphes) ^oit G et deni termea-grapAea, 1 -4- r nne rdgk de rAAcritnre dana %, et o nn nosnd dana G tel gne G|* eat nne inatance de 01 - ^flora i! eiiate nn pas effect if de rAAcritnre G H ai ff eat oAtenn de G par la conatmction aninante : f. Gi = G - {e} eat k AppeigrapAe oAtenn de G en e^dgant Tare nnigne e gni aatk/ait rea(e) = n. G2 eat k AppeigrapAe oAtenn a partir de !'union dkjointe Gi + Or - en/aaionnantn anec rooter, et - en /naionnant 1'image de n anec n', pour tana lea nosuda n de 01 etde Or tel gne term<)( (n) = termer (n') E %. g. H eat k terme-grapAe oAtenn de Gg en e^dgant tana lea nosuda et ka area non atteignaAk a partir de root#. Un tel pas de rAAcriture est notA aussi G ff on G ^ ff. Cette notion de rAAcriture sur les graphes correspond bien & 1'implantation de la rAAcriture sur les termes, dans le sens on le thAorAme suivant est dAmontrA : ThAorAme 4.2 (Correction [HP88]) four tona termea-grapAea G et ff, G ff impligne term(G) A term(ff) on n eat le nomAre de cAemina de rooto d u. Ce rAsultat montre que la rAAcriture de termes-graphes pent se simuler par la rAAcriture de terme. Pour la complAtude de la rAAcriture de termes-graphes il faut dAhnir la notion d'effondrement d'un hypergraphe vers un autre hypergraphe : DABnition 4.46 (EBbndrement) ^oit G et n deni termea-grapAea. Ik AgpeigrapAe G a'e^dndre dana H, notAe G X #, a'il eiiate nn moipAiame de AgpeigrupAea G —^ H. A le moipAiame n'eat poa iiyecti/ on note G X ft. DABnition 4.47 (=>cou) Ik relation a nr ka termea-grapAea eat d^nie par ^coH = ^- U X. ThAorAme 4.3 (ComplAtude [Pln93]) Ponr tona termea-grapAea G et H, term(G) A term(n) ai et aenlement ai G 4>co(( ThAorAme 4.4 (Terminaison) A la relation -4 eat termmonte, olora la relation eat anaai termi- nante. ThAorAme 4.5 (ConBnence [Pln93]) A la relation ^cow eat con^nente anr ka termea-grapAea, alora la relation -4 eat con^nente anr lea termea. 4.4. A-calcul 53 4.4 A-calcul Le A-calcul invents par Church, est un autre systAme de reduction abstrait largement AtudiA. Une fonction eat reprAsentAe en A-calcul par un A-terme dAcrivant 1'algorithme qui le calcule. B faut, pour dAHnir une fonction, abetraire aea arguments par des variables. Ce mAcanisme eat appelA la A- abatraction. Ensuite, pour pouvoir appliquer une fonction sur des arguments, la A-application est intro ­ duce avec la reduction qui instancie une variable par un autre A-terme. DABnition 4.48 (A-terme) ^oit % un enaemWe de variables. L'enaem&le dee A-termes, noM A(%), eat d^ni indue tiuement par .- - % C A(%) Cc'eat-d-dire pue cAopue uariaWe eat un A-terme - pour toute uariaWe z E tout A-terme t E A(%) on a Az.t E A(%) (e'eat-d-dire gu'une A- abatraction eat un A-termej, - pour toua termea ti,t2 E A(%) on a (ti t2) E A(%) (e'eat-d-dire gu'une A-application eat un A- termej. On distingue deux types de variables dans un A-terme. Lee variables correspondant aux arguments de fonction sont listAes aprAs le symbole A et sont appellee des variables liAea. Les autres variables dans le terme sont dites litrea. DABnition 4.49 (Variables libres) L 'enaemtle dea uarioAlea hbres d'un A-terme t, noM EV(t), eat d^ni indue tioement par .- - LV(z) = {z}, - LV(Az.t) = EV(t)\{z}, - fV((tit2)) = Fy(ti)UfV(t2). Le mAcanisme de substitution du premier ordre prAsentA dans le paragraphe 4.2.2 ne convient pas au A-calcul & cause de la capture de variables hbres. Par exemple, dans le terme Az.(z p) la variable p est libre, mais dans le terme (Az.(z p)){p z} = Az.(z z), son instanciation (z) devient hAe. On dit que la variable libre p a AtA capturge. Nous donnons une definition de la substitution utihsant un mAcanisme de renommage des variables qui Avitera les captures Aventuelles. DABnition 4.50 (Substitution) La substitution de la oaria&le z par un A-terme u dana le A-terme t, not^e t{z u}, eet d^nie par .- - z{z 1-^ u} = u, - z{p u} = z, ei z ^ p, - (Az.t){z u} = Az.t, - (Az.t){p u} = Az.(t{z z}{p u}), aiz^pouz^petz^ EV(u) UEV(t), - (ti t2)(z l—t ll} = (ti(z I—^ tl} t2(z l—t tl}). Nous avons dAHni Tensemble des termes du A-calcul et par la suite nous dAHnissons les relations classiques de reduction et d'Aqui valence sur les A-termes. Pour Aviter la capture des variables, on dAHnit une relation, appelAe a-conueraion, dont le rOle est de remplacer le nom d'une variable liAe par un nouveau nom. DABnition 4.51 (a-conversion) ^oit t un A-terme contenant un aoua-terme Az.u et aoit p une uariable telle pue p 0 EV(u). Le remplacement de Az.u par Ap.u{z p} eat appelA renommape de la oaria&le liAe P ou a-conueraion. Deuz termea u,u aont dita a-^puiuolenta, noM u =« u, ai o eat obtenu en opplipuont une auite _^nie C^uentuellement oidej de renommapea de rariaWea li&a dana u. Par exemple, les termes Az.z et Ap.p sont a-Aquivalents, mais Az.Ap.(z p) et Az.Az.(z z) ne sont pas a-Aquivalents, parce que z est libre dans (z p) et done nous ne pouvons pas renommer p en z. En A-calcul on raisonne toujours modulo a-Aquivalence, c'est-A-dire qu'on ne distingue pas deux termes a-Aquivalents (on raisonne sur les classes d'a-Aqui valence). DABnition 4.52 (^-rAdnction) La relation a —^ t entre A-termea (a ae ^-rAluit aur une #ope en t) eat la plua petite relation telle pue 54 Chapitre 4. Systdmes de reduction abstraits

- (Az.t u) —»p t{z i-4 u} - a* a —^ t okra (a u) —^ (t u) - a* a —^ t okra (u a) —^ (u t) - a* a —t ofora Az.a —^p Az.t DABnition 4.53 (A-calcul) Le A-cofcuf eat fe ayat^me de refaction abatmit (A(%) |=^, —»pj, d^ni par f'afgeAre de termea A(%) |=^ et fa relation de ^-rAfaction. Le A-calcul a de bonnes proprietes : ThAorAme 4.6 (Confluence) Le A-cafcuf eat con/fwent. H existe de nombreuses preuves diHArentes de ce thAorAme, on pent entre autres se rAfArer & [Bar84, HS, Kri93]. Le A-calcul n'est pas fortement normalisable : le centre exemple classique est w w ou w =« Az.(z z). Ce terme se rAduit en une Atape de ^-reduction en lui-mAme, ce qui foumit une chalne de reduction infinie. Le A-calcul possAde un pouvoir expressif aussi grand que d'autres modules de calcul tels que les fonctions rAcursives ou bien les machines de Turing. ThAorAme 4.7 (Pouvoir expressif) Lea troia modAfea de cafctd auinanta aont ^guinafenta en terme de paunoir ezpreaa*/ : - fea /onctiona r&urainea, - fe A-cofctd, et - fea machinea de 7bring. La demonstration de ce thAorAme peut Atre trouvAe dans [Tur37] (pour 1'Aquivalence entre les fonctions r6cursives et les machines de Turing) et [Bar92] (pour 1'Aquivalence entre les fonctions recursives et le A-calcul).

4.5 p-calcul Les formalismes du A-calcul et de la reecriture de termes s'unifient dans le contexte du p-calcul. En reecriture de termes, les ingredients de la definition de la relation de reecriture, tels que les choix de la regie appliquee dans le systeme de reecriture et du sous-terme & reduire sont decrits au mAta- niveau. Or, ces choix peuvent aboutir & des resultats differents. Dans le cas de la reecriture modulo une theorie equationnelle, il faut egalement faire le choix de la substitution utihsAe, car le Gltrage modulo peut engendrer plusieurs solutions. Tous cela montre la nature non-deterministe de la reecriture, et necessite un cadre formel plus fin pour mieux la comprendre et 1'Atudier. L'idAe de base du calcul de reecriture (p-calcul) [CirOO] est de rendre explicates tous les ingredients d'une etape de reecriture, tels que la regie, la position du radical, le filtrage et la construction du resultat. Ces elements deviennent done des citoyens de premiere classe du calcul. Comme dans le A-calcul, les deux operateurs de base du p-calcul sont 1'abstr action et l'apphcation. L'opArateur d'abstr action _ -4- _est utihser pour representer une regie. Par exemple, f -4 r represente une regie de reecriture dont le membre gauche est f, alors que le membre droit est r. L'apphcation d'une regie & un terme est reprAsentAe par l'operateur d'application [_](_). Par exemple, [f -4 r](t) represente l'apphcation de la regie f -» r au terme t. L'apphcation d'un systeme de reecriture & un terme peut retourner plusieurs resultats. De ce fait, le p-calcul utilise la construction ensembliste pour representer les resultats d'une etape de reecriture. Le p-calcul peut-etre vue comme une generalisation du A-calcul ou 1'abstr action peut se faire non settlement sur une variable, mais aussi sur un terme. Le A-calcul, tout comme la reecriture, peuvent done etre representes d'une maniere unifiee dans le p-calcul. A partir de la premiere version du p-calcul (le p-calcul non-type), introduite dans la these de [CirOO], plusieurs autres version plus elaborees ont ete etudiees, tel que le p-calcul avec substitutions explicates, le p-calcul type, ou encore les systernes du p-cube [CKL01]. Les composants principaux du p-calcul non-type sont : - la ayntoze decrivant formellement la formation des objets du calcul : les p-termes, 4.6. Machines abstraites chimiques 55

- Tapplication des aubatitutiona aux termes, - Talgorithme de _^ftrage pour calculer les substitutions modulo une theorie equationnelle T, - Tensembles des rdgfea dVuofuation decrivant la s&nantique op6rationnelle du calcul, - la atruMgie guidant Tapplication des regies devaluation. Une strategie appropriee est primordiale pour assurer les bonnes proprietes du calcul, telles que la confluence. Dehnition 4.54 (p-terme) Aant donn^ une signature E = (^, %), f'enaembfe de p-termea sur cette signature, noM p%, est d^ni par la notation RMF suiuante :

p - terme t ::= z | /(t,..., t) | t -» t | [t](t) | {t,..., t} ou z E % et / E Autrement dit, Tensemble de p-termes comporte Tensembles de termes de la signature 7z, les construc- teurs d'abstraction et duplication, et le constructeur ensembliste. L'ensemble vide ({}) est note aussi 0. Comme pour le A-calcul, la substitution de premier ordre n'est pas appropriee pour le p-calcul, en raison de la capture de variables liees. De ce fait, on distingue dans le p-calcul deux mGcanismes de substitution diff&rents : la gre^e, qui correspond & la substitution de premier ordre (le remplacement de variables), et la substitution qui, comme en A-calcul, 6vite la capture des variables liees. De la m6me maniGre que dans le A-calcul, sont definis success!vement Tensemble des variables libres dans un p-terme, Ta-conversion dans le p-calcul, puis la substitution et la greffe : ces definitions sont gAneralisees & partir de celles du A-calcul, pour prendre en compte les abstractions, non seulement sur les variables, mais aussi sur les termes. Pour les proprietes du p-calcul, voir la these de [CirOO].

4.6 Machines abstraites chimiques Les machines abstraites chimiques correspondent & des systernes de reduction abstraits sur des multi­ ensembles. Elies sont basees sur le modele de reaction chimique et la metaphore chimique introduits en 1986 et presentes par Ban&tre et Le Metayer dans [BM90]. L'idee de base est de decrire Tevolution d'un systeme comme une reaction chimique appliquee & une collection d'objets. Les objets de base sont les molecules qui forment des solutions. Dans une solution, les molecules peuvent reagir entre elles en respect ant les regies de reactions. Ces notions, empruntees & la chimie, peuvent n'avoir aucun rapport avec la chimie reelle et concrete : la chimie est utilise comme une metaphore. Definition 4.55 (Molecule) On conaid^re un enaembfe Ad, (font fea Amenta aont appef^a molecules. Une molecule peut etre un symbole abstrait, une chalne de caracteres, un A-terme, un arbre, un graphe, etc. DeBnition 4.56 (Solution chimique) Une solution chimique eat un mufti-enaembfe ^ni de mof^- cufea, noMe ^ = {|mi,... ,m&|}. Le mufti-enaembfe n'eatpoa tri^, et f'op^rateur uin/ufe d'une aofution eat oaaociati/ et commutati/. L'enaembfe dea mufti-enaembfea conatruita aur Ad eat noM Ad^. Definition 4.57 (Reaction) Une reaction eat une trona/ormotion d'une aofution chimigue, gui ae re- pr^aente par .- mi,...,m&—^ni,...,nh (4.1) Definition 4.58 (Relation de reduction des solutions) 5"oient Ad un enaembfe de mof&ufea et % un enaembfe de r&ictiona, d^niea aur Ad^. La relation de reduction des solutions oaaocide d (Ad, noMe —C Ad^ x Ad^, eat d^nie par .- pour toutea aofutiona a,t E Ad^, fa aofution a ae r&fuit en t, noM a —t, ai - if eiiate une reaction mi,..., m& —^ ni,...,n& dana %, et - {|mi,...,m&|} C a, ofora t eat obtenue en rempfagant mi,... ,m& auec ni,...,n/» dana fa aofutiona a. 56 Chapitre 4. Systemes de reduction abstraits

DABnition 4.59 (Machine abstraite chhniqne (MAC)) (A4#, —btj eat an spatemc de refaction abstrait, appc# machine abstraite chimique (MAC). Dans ce sens, beaucoup de systemes abstrait de reduction peuvent se decrire comme des machines abstraites chimiques particuheres. H existe quelques langages et systemes qui permettent de decrire des machines abstraites chimiques. Nous prAsentons par la suite Gamma, CHAM, ARMS et AlChemy.

4.6.1 Chimies artiflcielles Si on ajoute une notion de contrble de replication des reductions, on obtient la notion de chimie artihcielle : un systAme de reduction abstrait sur les multi-ensembles (Ad#, —b%), pour lequel on donne un algorithme qui decrit 1'application des reactions de % & une solution S E Ad#, est appeie une chimie arti^cielle [DZB01]. La recherche dans ce domaine explore la dynamique des systemes et les apphcations se situent dans trois directions prindpales : (1) la modeiisation, (2) le traitement de 1'information et (3) 1'optimisation. En modeiisation, on utilise la metaphore des colhsions des molecules pour modeiiser le calcul parallele, les systemes biologiques, les systemes evolutionnistes et les systemes sociaux. Dans le domaine du traitement de 1'in/ormation, la metaphore chimique est utilisAe soit pour calcu- ler de nouvelles informations, soit comme un paradigme de conception pour de nouvelles architectures logicielles et de machines. Dans le domaine de 1'optimisation, les systemes de la chimie artihcielle aident & trouver des solutions aux problemes combinatoriaux difhciles. Les systemes Gamma, CHAM et AlChemy que nous presentons ci-dessous, sont aussi consideres comme un cas particulier de chimies artiflcielles, base sur le mecanisme de reecriture. D'autres approches utihsees pour definir des chimies artiflcielles sont presentees dans [DZB01].

4.6.2 Gamma Le formalisme Gamma introduit par Ban&tre et Le Metayer dans [BM90] est une machine abstraite chimique particuliere. H a ete propose pour interpreter un programme comme revolution globale d'une collection de valeurs atomique qui interagissent. Les objets de base sont les molecules et les reactions sont des reactions conditionnelles sur des solu ­ tions : mi,...,m&—»ni,...,nk if c (4.2) ou c est une condition. La definition 4.58 de la relation de reduction des solutions dans Gamma devient : Definition 4.60 (Relation de reduction dans Gamma) Soient A4 an ensemble de morales et T an ensemble de reactions conditionnelles, denies sar A4#. La relation de reduction des solutions dans Gamma assoc# a (A4, Fj, no#e —C A4# x A4#, est d^nie par .- poar toates solutions s,t E A4#, s —t si - i! eiiste dans T une reaction : mi,... ,m& —^ ni,... ,nf& if c, - {|mi,...,m&|} C s, et - la condition c est &;o!u& a urai, alors la solution t est obtenue en remplapant m%,... ,m* auec n%,...,n& dans la solutions s. L'execution est non-deterministe et parallele : si deux sous-multi-ensembles disjoints d'une solution sont candidats pour 1'application d'une reaction, alors les deux applications de la reaction peuvent se produire en parallele. Ban&tre et Le Metayer ont appeie ce phenomene le principe de la locality et il est exprime par la regie suivante : 5 S' (4.3) SWS" s' w S" ou S, S' et S" sont des solutions, et 1'operateur W est union des multi-ensembles. Gamma a ete propose dans le contexte de la derivation de programmes [BFM01], et peut etre utilise comme un langage de haut niveau. 4.6. Machines abstraites chimigues 57

Le module de reaction chimique, utilise dans Gamma, a ete applique dans des domaines varies, comme le calcul de processus, la progranimation imperative et les architectures logicielles [BFM01].

4.6.3 CHAM

CHAM (the Chemical Abstract Machine) [BB90], la machine abstraite chimique, est une extension du formahsme Gamma : on introduit la notion de contexte et une classification des reactions. Le contezte est un terme avec des trous. C[T] est le contexte C dans lequel les trous sont remplaces par le terme T. Les deux regies generales sont : la bi chimigue de Gamma (1'equation 4.3) :

5 S' (4.4) et la loi de la membrane 5 S' (4.5) {I CM |} -»{| CM] 1}

Les reactions sont de trois types : des reactions d'debasement, des reactions de re/roidiesement et des reactions effectives. Une reaction ediauffement decompose une molecule et elle est de la forme suivante :

m mi,... ,m&

Une reaction de refroidissement construit une molecule et elle est de la forme suivante :

mi,...,m& -rm

Les reactions ediauffement et de refroidissement sont coupiees et sont ecrites :

m f^mi,...,m&

L'equivalence structural, notee est la relation d'equivalence de La relation de reduction dans CHAM —est definie par

---^^

La machine CHAM a ete utilisee pour - definir un fragment du calcul CCS de Milner, - modeiiser une strategie de reduction parallele pour le A-calcul avec partage, - modehser des variantes du vr-calcul, - modehser la reduction des graphes.

4.6.4 ARMS ARMS [SFTT01] est un systeme de reduction abstrait sur des multi-ensembles qui est une extension de CHAM : on donne en plus 1'ordre dans lequel sont apphquees les reactions. Suzuki et Tanaka ont etudie la relation entre 1'ordre sur les reactions et 1'apparition des cycles. Ds ont defini un parametre Ag qui depend du nombre de reactions ediauffement et du nombre de reaction de refroidissement. Les resultats experimentaux ont mis en evidence les valeurs de Ag pour lesquelles le systeme termine et il ne se forme pas de cycles. ARMS est utilise pour modeiiser des systernes chimiques et des systemes ecologiques. 58 Chapitre 4. Systdmes de reduction abstraits

4.6.5 AlChemy : le A-calcul pour la chimie Le A-calcul est utilise par Fontana pour definir AlChemy [FB96], un systeme de reduction abstrait sur des multi-ensembles de A-termes normalises. La motivation est donnee par des problemes de biologie et le but est de caractAriser & un niveau abstrait les processus chimiques. Soit % un ensemble de variables et A(%) 1'ensemble des A-termes construit sur %, comme dans la definition 4.48. Dans AlChemy, les molecules sont des A-termes normalises et les solutions sont des multi-ensembles de A-termes normalises. Les reactions sont de la forme suivante :

mi,m2 —» mi,m2, (mi m2)i (4.6) ou (mi 012)1 est la forme normale du A-terme (mi m2), par ^-reduction. La definition 4.58 de la relation de reduction des solutions devient : Definition 4.61 (Relation de reduction dans AlChemy) 5bient A(%) I'erwemblc des A-termes nor ­ malises construit sur % un ensemble de reactions, denies sur A(%)#. La relation de reduction des solutions dans AlChemy ossocie d (A(%), notee —G A(%)^ x A(%)#, est de^nie par .­ pour toutes solutions s,t e A(%)#, s —* ai - il eiiste dans % une reaction : mi,m2 —» mi,m2, (mi m2)^., et - {|m2,m2|} C s alors la solution t est obtenue en nemplopont mi,m2 avec mi,m2, (mi 3712)1 dans la solutions s. Fontana et Buss ont effectue beaucoup d'experimentations avec le systeme AlChemy. Us definissent une 'vue minimale de la chimie', qui est une version de AlChemy appeiee CTiimie minimole zero (MCO). Entre autres ils proposent de garder constant le nombre de molecules d'une solution, en eliminant une molecule arbitraire apres chaque pas de reduction. Cette contrainte g6nere une violation de la loi de la conservation de la masse, et des ameliorations success!ves sont proposees dans [FB96]. Une CTiimie minimole deur (MC2) est definie, bas6e sur la logique hneaire : les molecules sont des arbres de preuves en forme normale, une reaction est une regie d'inference et Implication d'une reaction est une elimination de coupure.

4.7 Conclusions Nous avons passe en revue differents formalismes que nous avons explores, avec le souci de les exploiter dans notre approche informatique du systeme GasEI. Cependant, aucun de ces formalismes ne possede le moyen de contrOler explicitement 1'utilisation des regies ou d'ensemble de regies, ce qui nous semble indispensable pour modeiiser les mecanismes reactionnels qui nous interessent. C'est pourquoi nous avons choisi une approche par reecriture de terme contrbiee par des strategies, implantee en ELAN, et developpAe dans le chapitre suivant. Chapitre 5

Regies et strategies avec le systeme ELAN

Dans le chapitre precedent nous avons brievement presents la reecriture du premier ordre, le A-calcul et les systemes de reduction abstraits sur les multi-ensembles. Nous introduisons dans ce chapitre les systemes de calcul qui enrichissent les systemes de reecriture en introduisant la notion de strategie contrblant replication des regies de reecriture. Nous rappelons dans ce chapitre les fondements logique de la reecriture et la definitions des strategies dans ce cadre, avant de decrire leur implantation dans le systeme ELAN.

5.1 Logique de reecriture

La logique de reecriture est formahsee dans [Mes92, MOM96]. Une logique est definie en general par une syntaxe, un systeme de deduction, une classe de modeles et une relation de satisfaisabilite. Dans cette section, nous presentons ces quatre composantes dans le cas de la logique de reecriture.

Syntaxe La syntaxe necessaire pour definir une logique est specihee par sa signature qui nous permet de construire des for mules. DeBnition 5.1 (Signature de la logique de reecriture) 5bit A' un ensemble de variables et L un ensemble de symboles uppers (%guettes. La signature de la logique de reecriture est un triplet

E = (^,^,g) ou ^ est un ensemble de sortes, ^ est un ensemble de spmboles de /onctions et L est un ensemble d'oriomes ^guationnels dans T(.F, %). Les axiomes equationnels dans L doivent etre interpretees comme etant des axiomes exprimes sur la signature. Les formules sen(E) formees sur la signature 2 sont dehnies comme des s^guents 5"eg(2) de la forme suivante x : [t]g -y [t'jg ou t, f 6 T(^", A') et x e 7T est appeie un terme de preuve et Tensemble de tous ces termes de preuve 73-ucu{;} est designe par n. Le sens informel du sequent x : [t]g [t']g est que x permet de deriver les termes de la classe d'equivalence [f]g modulo L & partir des termes de la classe d'equivalence [t]g et que le terme de preuve ?r represente une preuve de cette derivation.

59 60 Chapitre 5. RAgles et strategies avec le systems ELAN

Systeme de deduction Abn de construire le systeme de deduction de la logique de rAAcriture, on introduit d'abord la notion de th6)rie de r^&riture. DAbnition 5.2 (ThAorie de rAAcriture AtiquetAe) [/he thAorie de rAAcriture AtiquetAe est d^/inie par an guadruplctT% = (2,/Z, on 2 = est une signature compos & des sortes

M !-»r on IVtiguette ( S /Z, les membres gauche et droit !,r E T(F", ZT) sont tels gue Far(r) C Far(l) et Farits de IVtiguette ( est 6/ale au nombre de variables distinctes dans cette Ngle. L'ensemble donations ^ dAbnit une relation de congruence modulo laquelle la rAAcriture par les regies de % est rAabsAe. Typiquement, 1'ensemble 2 contient des Equations qui ne sont pas orientables, i.e., transformables en un systeme de rAAcriture terminant. Cependant, la terminaison, et aussi la confluence, peuvent Atre des propriAtAs souhaitables pour certains sous-ensembles de regies de %. La relation de deduction I- est done dAbnie comme suit. Definition 5.3 (SystAme de deduction) ^tant donn& une th^brie de r^criture ^tigueMe T%, le s& guent ?r : [t]g -4- [t']g se dA/uit a partir de T% si vr est obtenu en appliguant un nombre /Ini de /ois les rAgles de deduction de la logique de reecriture donn^es dans la /igure 5.1. Ceci est d^sign^ par

I- vr : [t]g -4 [t^

Reflexivite Mg = Mg si tET(F",^)

Congruence ^1 : [fi]g -t Mi]g, - - - : [t„]g -4 [f„]g z^y /(vTi,...,VTn) : [/(tl,...,t„)]f -t t^,)]g si /Efn

Remplacement ^1 = [ti]g -4 [fi]g, ... ,VTn : [t„]g -4 [f„]g z^y ^(vTi,...,VTn) : [l(tl,...,tn)]g -4 [r%,...,%J]f si [^(Zi,...,Zn)]l(Zl,...,Zn) -4r(Zi,...,Zn) 6%

Transitivite : [ti]g -4 [t2]g,VT2 : [t2]g -4 [ts]g Z^y 7ri;%2 : [ti]g -4 [ts]g

FiG. 5.1 - Regies de deduction de la logique de reecriture

Dans la logique de reecriture telle qu'elle est dAbnies dans [Mes92], les termes de preuve sont consider As modulo une certaine relation d'Aquivalence. Nous ne detaillons pas id cette approche et nous renvoyons le lecteur & [Mes92], pour plus de details.

5.2 Systeme de calcul et strategies

Les systemes de calcul ont ete introduits par Kirchner, Kirchner et Vittek dans [KKV95a], ou ils prAsentent une version plus AlaborAe des idAes qu'ils avaient proposAes originalement dans [KKV93]. Un 5.3. SystAme ELAN 61 systAme de calcul enrichit le formalisme de la logique de rAAcriture avec une notion de : un apatAme de calcul est compost d'une thAorie de rAAcriture et d'un ayatAme de atnatAyiea. Les strategies contrblent Tapplication des regies de rAAcriture en spAcihant des parcours dans Tarbre de toutes les derivations possibles et de cette fagon decrivent quels sont les nceuds consideres conune des resultats d'un calcul. Elies sont utilisees, d'une part, pour decrire le deroulement de preuves qui nous interessent et, d'autre part, pour restreindre 1'espace de recherche de ces preuves. La premiere composante d'un systeme de calcul est une theorie de reecriture & partir de laquelle on dehnit la notion de calcul. Definition 5.4 (StratAgie) ^oient 5^ C II et 6 T(^). La relation

S:[&-»[t']f eat wuie a'if eadate an terme de preuwe vr 6 5^ tel gue T% permet de dAduire

vr : [t]g -» [T]g

Le rAaultat de Tapplication d'une strategie S' aur un terme t, dAaipnA /onctionnellement par S(t) (ou auaai (S^)t en ELANj, eat dA/in* comme auit

S(t) = {mS:[t]f-»[t'W

La relation : t -y t' exprime la derivabilite du terme t en t' suivant une certaine StratAgie ,9. A partir de cette definition, on peut noter que Tapplication d'une strategie sur un terme peut retourner plusieurs rAsultats. Une premiere fagon de dAcrire une strategie est d'AnumArer en extension le sous-ensemble des termes de preuve. Cette approche n'est pas satisfaisante en pratique, done le problAme est de dAfinir un langage permettant de dAcrire des sous-ensembles des termes de preuve. La difference entre la representation d'une stratAgie comme un ensemble de termes de preuve et une expression dans un formalisme de strategies reflAte la difference entre la vue sAmantique des strategies et la vue syntaxique des strategies exprimAes sous la forme d'un programme dans un langage de strategies. Dans la Section 5.3, nous prAsentons les opArateurs de strategies utilises dans le langage ELAN qui peut Atre dAcrit comme un cadre logique pour le prototypage de systAmes de calcul. On peut maintenant dAfinir formellement la notion de systeme de calcul. Definition 5.5 (Systeme de calcul) Un systeme de calcul eat compoaA d'une theorie de rAAcriture = (E,L, et d'une atrat6/ie S'. Les strategies ont AtA introduites dans des langages comme MAUDE [MOMV04], ST RAT EGO [VisOl] et ELAN [BKKR01]. Ici nous nous limitons & presenter ce dernier langage.

5.3 SystAme ELAN

Le langage ELAN a AtA congu au sein du projet PROTHEO & Nancy au debut des annAes quatre- vingt-dix. Sa premiere version est dAcrite dans la these de Vittek [Vit94] et son implantation est dAtaillAe dans [KKV95b]. Au cours des annAes, le langage a AvoluA et depuis septembre 2002 la version 3.6 est disponible [BCD+02]. ELAN a AtA congu comme un cadre logique pour le prototypage de systAmes de calcul. Du point de vue de la programmation, le langage offre la possibilitA de specifier des systAmes de calcul composes de theories de rAAcriture multi-sortAes, chacune dAcrite par une signature et par un ensemble de rAgles de rAAcriture et de strategies d'exAcution.

La signature dAfinit les sortes et les symboles de fonctions utilises dans la description de la thAo- rie. ELAN permet d'utiliser des symboles libres et associatifs-commutatifs, qui peuvent Atre spAcihAs en utihsant une notation mia^uc. 62 Chapitre 5. Regies et strategies avec le systems ELAN

L'ensemble de regies de reecriture est compost de regies non-nommees et de regies nommees ou etiquetees : - Lee regies non-nommees sent utihsees pour la normalisation de termes. Leur application n'est pas contrbiee par 1'utilisateur, elles sont executees avec une strategie pre-definie dans le langage. Cette strategie pre-definie est la strangle de normalisation k/tmost-innermost. Puisque la strategie de normalisation est pre-definie dans ELAN, elle n'est pas sp6ciH6e dans la theorie de reecriture de 1'utilisateur, 1'ensemble de regies non-nommees doit etre confluent et terminant. - L'ensemble de regies nommees, qui n'est pas nGcessairement confluent et terminant, peut etre controls par des stmtApes ^kmentaires. Les deux raisons principales pour leur utilisation sont i) si 1'ensemble de regies n'est pas terminant, 1'utilisateur a la possibility de restreindre 1'ensemble de derivations & un sous-ensemble de derivations finies, afin d'eviter des derivations infinies; ii) si 1'ensemble de regies n'est pas confluent, 1'utilisateur a la possibility de specifier certains sous- ensembles de toutes les derivations possibles et obtenir ainsi un sous-ensemble de tous les resultats possibles.

Les strategies sont utilisees en ELAN de trois fagons differentes - pour separer dans un programme la partie calcul de la partie contrble ; - pour exprimer des derivations non-deterministes ; - pour specifier des procedures de normalisation particulieres.

Parmi plusieurs caracteristiques, le calcul non-deterministe d'ELAN le differencie d'autres systemes bases sur la reecriture. L'avantage de cette option est que cela permet de travailler avec des systemes de reecriture non-confluents. Le style de progranimation en ELAN, base sur le paradigme des systemes de calcul, unifie certaines caracteristiques de la progr animation fonctionnelle et logique. La progr animation par reecriture est si- milaire & 1'approche fonctionnelle restreinte au premier ordre. Cependant, la possibility de specifier des sous-ensembles de derivations par un langage de strategies joue le rOle du non-determinisme de la pro ­ gr animation logique. La variety des applications qui ont ete implantees en ELAN illustre la generality du paradigme des systemes de calcul et montre 1'expressivite et la puissance du langage comme un outil de progr animation. Parmi elles, on peut citer - une implantation de la procedure de resolution de contraintes d'ordre pour la preuve de terminaison bas6e sur 1'ordre general sur les chemins [GG96] ; - deux implantations de la procedure de completion de Knuth-Bendix [KM95, KLS96] ; - une implantation du prouveur de predicats B [CK97] ; - la verification du protocole d'authentification de Needham-Schroeder [CirOl]; - la combinaison d'algorithmes d'unification [Rin97] ; - un algorithme d'unification d'ordre superieur [Bor95] ; - la resolution de CSP [Cas98b] ; - la reecriture du premier ordre [KM96] et d'ordre superieur ; - un environnement de preuve de terminaison sans strategies : CARIBOO [FGK02]. La premiere version d'ELAN offrait un interpreter et un compilateur restreint [Vit96]. De nouvelles techniques de compilation de systemes de calcul ont ete etudiees et maintenant il existe un compilateur du langage permettant d'utiliser des symboles associatifs-commutatifs [MK97, MK98]. Dans le reste de cette section, nous presentons brievement le langage ELAN. Nous illustrons la syntaxe des trois composants d'un systeme de calcul: signatures, regies de reecriture et strategies. Une description formelle et detailiee du langage est donnee dans [Bor98], une semantique fonctionnelle est presentee dans [BKK98a, BKKR01] et tous les details necessaires pour 1'utilisation du langage peuvent etre trouves dans [BCD+02].

5.3.1 Signatures ELAN permet de definir des signatures multi-sortees qui sont specifiees par un ensemble de sortes 5.3. Systdme ELAN 63

Exemple 5.1 (Declaration de sorte en ELAN) La d&faration dea di^%rentea aortea atifia^ea pour co ­ ffer ane mof&afe, peat 6tre /a*te en ELAN de fa manure aaiwante : sort symbol radical list_radical link reactant; end Une fois d6clar6es les sortes de la signature, on pent dyfinir les symboles de fonctions indexes qui appartiennent & 1'ensemble de symboles de fonctions F" de la signature. Chaque symbole, dyfini par son profil en notation mia^rr, pent ytre d6cor& par des attributs sAmantiques comme ytant un symbole libre on associatif-commutatif ((AC)) et il pent aussi ytre d6cor6 par des attributs syntaxiques tels que - sa priority syntaxique (e.g. pri 10); - sa visibility dans d'autres modules (e.g. global/local) ; - son associativity syntaxique par dyfaut & gauche (assocLef t) on & droite (assocRight) ; - le fait d'etre synonyme avec un autre symbole (e.g. alias). Exemple 5.2 (Definition de symboles de fonctions en ELAN) A partir de la declaration de sorte de f'erempfe 5.1, on pent ap&*/*er gne tonte conatante de aorte radical eat nn reactant, et on donne fa m^thode de contraction dea termea de aorte reactant, en atifiaant an op^ratear aaaociati/-comnintati/ not^ +. Le caroctAre ap&iaf @ eat atifW poar indigaer fa poaition d'an argument. @ : (radical) reactant; 0 + 0 : (reactant reactant) reactant (AC);

5.3.2 Regies de rAAcriture fi existe deux types de rygles souvent introduces dans une thyorie de ryycriture : les rygles non- conditionnelles et les rygles conditionnelles. Le langage ELAN introduit en plus la notion d'o(fectot*on focofe pour des variables (locales) non-instanciyes pendant le filtrage [BCD+00]. Cela permet d'appliquer une stratygie sur un terme autre que celui de tyte et aussi de garder la valeur d'une variable lorsqu'elle est utilisye plusieurs fois dans une rAgle. La syntaxe des rygles conditionnelles avec des affectations locales est la suivante

0 f => r i/ — where

- f 6 L est 1'ytiquette de la rygle (qui est vide dans le cas d'une rygle non-nommye) ; - f et r sont des termes de T(F, A') reprysentant les membres gauche et droit de la rygle ; - */ — where ::= {if n | where p := (5^)n | where p := ()n}* ou - if n est une condition boolyenne ; - where p := (5^)n est une affectation de la variable p 6 % par le rysultat de replication de la stratygie ,9 sur le terme u 6 T(F", %); - where p := ()u est une affectation de la variable p 6 % par le rysultat de la normalisation du terme w.

Exemple 5.3 (Regie conditionnelle avec affectation locale en ELAN) La regie ELAN suivante de- crtt une traTw/ormafion da terme I LS de aorte radical, codont ane mof&afe : rules for radical I : symbol ; LS : list_radical; n : int; global [ui] X LS => X (- e) LS + H (- e) nilL where n := () no_H(X LS) if n >= 1 end end 64 Chapitre 5. REgles et strategies avec le systems ELAN

Le nom de cette rEgk eat ui. L'qg"ectation locale where n : = () no_H(X LS) (tonne le nombre d'atomes d'ApdrogEne contents (tans k terme X LS. La rEgle ui s'apptigne an terme X LS si ta condition n >= 1 eat aotk/oite, c'eat-d-(tire ga'il eriate an moins nn atome d'ApdrqgEne (tana k terme X LS. L'apphcation d'une rEgle de rEEcriture & un terme clos commence par une Etape de Gltrage permet- tant de calculer la substitution associEe au problEme de Gltrage considErE. Les Evaluations locales et les conditions sont alors EvaluEes les unes & la suite des autres (de haut en bas) jusqu'A atteindre la derniEre; c'est seulement & ce moment 1& que la rEgle peut s'apphquer et que le membre droit est construit. Chaque condition u est mise en forme normale puis comparEe & la valeur de vEritE true prE-dEGnie par le systEme. En cas d'EgalitE, on dit que la condition est satisfaisable et le calcul des Evaluations locales se poursuit. Dans le cas contraire, la rEgle mEne & un Echec. L'application d'une rEgle de rEEcriture & un terme clos mEne done soit & un autre terme clos, soit & un Echec. L'affectation locale where p := (5^)n permet de dEclencher l'application d'une stratEgie. Dans un premier temps, le terme u est mis en forme normale en n'utilisant que des rEgles non nommEes, la stratEgie S' est ensuite appliquEe sur le terme en forme normale. En cas d'Echec d'une condition ou (de la stratEgie) d'une Evaluation locale, un mEcanisme de retour arrkre (backtracking) est dEclenchE : les Evaluations locales prEcEdentes sont rEEvaluEes pour en extraire d'autres solutions. Si aucune autre solution n'est trouvEe, on dit que l'application de la rEgle courante Echoue et une autre rEgle est sElectionnEe.

5.3.3 Strategies AlAmentaires d'ELAN Le langage de stratEpies ElEmentaires d'ELAN permet de contrOler l'application des rEgles nommEes, de dEGnir des exEcutions non-dEterministes et de spEciGer des dErivations simultanEes. Le langage de stratEgies ElEmentaires of&e plusieurs opErateurs et nous prEsentons juste les plus importants en dEcrivant - la construction pour la concatEnation de stratEgies : "; - les constructions de choix dk, dc, Grst; - la construction d'itEration repeat* ; - les constructions pour les stratEgies identitE et Echec : id et fail, respectivement. La syntaxe et la sEmantique opErationnelle des stratEgies ElEmentaires, de fagon informeUe, sont les suivantes.

Construction de concatenation ; La concatEnation de stratEgies 5i ; % correspond & 1'axiome de transitivitE de la logique de rEEcriture. La stratEgie % ; % Echoue si % Echoue, sinon donne tous les rEsultats de 1'applications de % aux rEsultats obtenus aprEs 1'apphcation de Exemple 5.4 (ConcatEnation de stratEgies) ^tant donnEes trois stratEpies InitPhase, PropagPhase, et TerminPhase, dE/inies par 1'ntilisatenr, ear la sorte reactant, okra k strat6/ie PrimaryMechanism eat k r^aultat de k concatenation de cea troia stratEgies .­ strategies for reactant implicit [] PrimaryMechanism => InitPhase; PropagPhase; TerminPhase end end

Constructions de choix dk La stratEgie dk(5i , ... , ^„) donne tous les rEsultats de 1'apphcation de toutes les stratEgies 5^i,..., Si toutes les stratEgies % Echouent alors la stratEgie dk Echoue. dc La stratEgie dc(5i , ... , ^„) donne tous les rEsultats de 1'apphcation d'une des stratEgies ..., laquelle est choisie de maniEre non dEterministe. Si toutes les stratEgies % Echouent alors la stratEgie dc Echoue. 5.3. SystAme ELAN 65

Brst La strangle Brst(^i , ... , donne tons lee rAsultats de Tapphcation de la premiere stratAgie "Si, - - -, dk(ui, bi, me) end end

Constructions d’iteration repeat* La stratAgie repeat * (S') correspond & S' = S ; ... ; S si Achoue. Si la stratAgie S Achoue alors la stratAgie repeat* correspond & TidentitA, elle n'Achoue jamais.

Constructions d’identite et d’echec id La stratAgie id correspond & TidentitA, elle retoume le mAme terme d'entrAe et pourtant elle pent toujours Atre appliquAe. fail La stratAgie fail correspond & un Achec, elle Achoue toujours. En utilisant des stratAgies non-dAterministes, nous pouvons explorer exhaustivement Tespace de re­ cherche d'un problAme donnA et trouver des schAma satisfaisant des propriAtAs spAcihques. Le langage ELAN utilise implicitement une stratAgie de normalisation avec Tensemble de toutes les rAgles non-nommAes. Cette normalisation se dAclenche automatiquement aprAs chaque application d'une rAgle de rAAcriture.

Operateur set_of L'opArateur set_of applique une stratAgie S & un terme t et renvoie la liste de tons les rAsultats de Tapplication de S & t. Exemple 5.6 (OpArateur set_of) L'opArateur set_of apphgue la etratAyie InitlMolecule, dA/Inie dane Teremple 5.5, au terme InReactants, et renooie tone lea rAaultata dane la hate ListRadsInit, de aorte list [reactant] : strategies for reactant implicit [] InitPhase => makeSet end end rules for reactant InReactants, Rads_l : reactant; ListRadsInit : list[reactant]; global [makeSet] InReactants => Rads_l where ListRadsInit := set_of(call "InitlMolecule" :reactant, InReactants) where Rads_l := () listReSRe(ListRadsInit) end L'opArateur listReSRe trane/orme la !We ListRadsInit en un terme de aorte reactant, gui eat le rAaulfaf/oumif par Tapplication de la atratAyie InitPhase. 66 Gbapitre 5. Regies et strategies avec le systems ELAN

5.4 Conclusion

Dans ce chapitre, nous avons pr6sent6 la logique de r66criture, la notion de strangle et le systems ELAN. Nous avons maintenant tous les fondements n6cessaires, chimiques et informatiques, pour mod61iser notre problems, dans les chapitres suivants. Chapitre 6

Choix physico-chimiques de la these

La conception et le developpement d'un systems informatique pour la generation automatique de mecanismes reactionnels necessitent que lee chimistes cineticiens definissent le contexte de travail, et proponent dee solutions pour un certain nombre de problemes. Parmi ceux-ci nous citons : - Definition du domaine d'apphcation, c'est-&-dire les classes de molecules qui seront etudiees et les types de processus consideres (combustion, oxydation, etc.). - Determination des reactions eiementaires generiques qui correspondent au domaine d'application Axe. - Proposition de methodes pour reduire la taille des mecanismes. L'objectif de ce chapitre est de decrire du point de vue chimique 1'ensemble du projet GasEI, en pr6- cisant les choix que nous avons faits pour la reahsation du prototype. Le paragraphe 6.1 rappelle les objectifs du projet GasEI, du point de vue des chimistes, et introduit la classe des reactions de pyrolyse oxydante que nous avons codecs dans le prototype. Les definitions chimiques de ces reactions sont pre­ sentees dans le paragraphe 6.2. Des methodes generales de reduction de la taille des mecanismes sont presentees dans le paragraphe 6 3. Enfin, dans le paragraphe 6 4 nous proposons la structure generale du systeme GasEI et du prototype.

6.1 Domaine d’application du systeme GasEI 6.1.1 Classes de molecules Le systeme GasEI doit generer des mecanismes reactionnels pour les molecules constituantes du ga- zole, decrites dans le paragraphe 1.3.2 et illustrees par les exemples de la figure 1.2. Les hydrocarbures consideres se regroupent en quatre families chimiques distinctes : - les alcanes, - les cyclanes, - les alkylaromatiques, et - les alkylcyclanoaromatiques .

6.1.2 Type de processus Le systeme GasEI doit generer des mecanismes reactionnels d'oxydation et de combustion des molecules d'hydrocarbures.

Hypothese physico-chimique centrale L'hypothese physico-chimique qui est & la base de notre approche decoule des remarques suivantes, liees & la thermodynamique et & la cinetique chimique : - Les alcanes et les cyclanes, ainsi que les sous-structures analogues qui interviennent dans les phe- nomenes etudies ont des stabilites thermiques et des reactivites similaires.

67 68 Ghapftre 6. Ghofx physico-chimiques de 7a these

- Lee aromatiques simples ou fusionnes et les sous-structures correspondantes ont des stability ther- miques tres fortes, beaucoup plus fortes que celles des alcanes et des cyclanes, et des reactivites inf&ieures & celles des alcanes et des cyclanes. Un corollaire de ces deux regies est le suivant : fora des reactions d'ozydation et de combustion, lea sous-structures alkyliques et cyclo-olkyliguea sont lea premieres detruites, tandis que lea sous-structures aromatiques aont conae7T)^ea jusqu'd un stade auance de la n&iction, on ellea aont olora detruites par dea reactions speci/iques.

Objectifs du prototype Pour r6aliser le prototype du systeme GasEI, les chimistes cineticiens impliquAs ont decide de regrouper les reactions & implanter dans le systeme Anal, en quatre classes, en se basant sur des considerations physico-chimiques : PO : Tensemble des reactions eiementaires pour modeiiser la pyrolyse ozydante des structures alkyliques et cyclo-alkyliques. C'est Tensemble des reactions que nous presentons dans le paragraphe 6.2. BD : Tensemble des reactions eiementaires pour modeiiser les bnanchements d6/AnWa, qui sont des reactions speciAques de Toxydation, comme par exemple Taddition sur Toxygene et Tisomerisation (voir [C0m99] pour leur deAnition) ; CA : Tensemble des reactions eiementaires pour modeiiser la combustion des structures aromatiques. FS : Tensemble des reactions eiementaires pour modeiiser la formation de suie. Pour obtenir un mecanisme d'autoinAammation, appeie aussi mecanisme de basse temperature (T < 900 K), il sufEt d'activer les reactions appartenant aux ensembles PO et BD, done les reactions de pyrolyse oxydante des structures alkyAques et cyclo-alkyliques et les reactions de branchements degeneres. Les reactions de la base^ sont ajoutees au mecanisme. Pour obtenir un mecanisme de ^amme, appeie aussi mecanisme de haute temperature (T > 900 K), A sufEt d'activer les reactions appartenant aux ensembles PO et CA, done les reactions de pyrolyse oxydante des structures alkyliques et cyclo-alkyliques et les reactions de combustion des structures aro ­ matiques. Les reactions de la base sont ajoutees au mecanisme. Les reactions de Tensemble FS, capables de modeHser la formation de suie, peuvent etre activ6es ou non, pour les deux types de mecanismes, d'autoinAammation ou de Aamme, si Ton desire etudier ce phenomene. Nous resumons dans le tableau suivant quels sont les ensembles de reactions eiementaires qu'il faut activer pour obtenir un mecanisme d'autoinAammation ou un mecanisme de Aamme : Type de mecanisme Base PO BD CA FS mecanisme d'autoinAammation # # # option mecanisme de Aamme # # # option La pyrolyse oxydante constitue done un tronc commun & tous les mecanismes d'oxydation et de combustion, aussi bien & haute qu'& basse temperature. H par ait done raisonnable de commencer par la conception d'un generateur de mecanismes de pyrolyse oxydante des structures alkyliques et cyclo-alkyhques.

6.2 Reactions eiementaires generiques du prototype

Dans le prototype du systeme GasEI nous avons pris en compte et implante Tensemble des reactions chimiques de la pyrolyse oxydante PO = {ui, bi, me, ipso, bs, ox, co.0., co, di} ou les neuf types de reactions generiques sont : - Tamorgage unimoieculaire (ui), - Tamorgage bimoieculaire (bi), ^I'ensemble des reactions pour les petites espAces (ayant au plus 2 atomes de carbons.) 6.2. Reactions eMmentarres g^n^nques du prototype 69

- la metathese (me), - la reaction ipso, specihque aux aromatiques (ipso), - la decomposition d'un radical par /2-scission (bs), - 1'oxydation (ox), - la combinaison d'un radical avec le biradical *0* (co.O.), - les combinaisons de radicaux (co), - les dismutations de radicaux (di).

6.2.1 Amorgages unimolAculaires (ui) L'amorgage unimoieculaire d'une molecule donne naissance & deux radicaux libres, par rupture d'une liaison simple, C—C ou C—H :

z —y —» z* + (6.1)

Exemple 6.1 La reaction 2.3 du paragraphe 2.2 est un amorgage unimoieculaire de la molecule de neopentane, par rupture d'une liaison simple C—C :

CHa CHa

CHa—C—CHa —» CH3—C . + .CH3 (6.2)

CH3 CH3 La rupture de n'importe quelle liaison simple C—C de la molecule de neopentane donne les memes radicaux libres.

Exemple 6.2 L'amorgage unimoieculaire de la molecule d'ethylbenzene, par rupture d'une liaison simple C—C situ6e sur la branche alkyle, donne deux radicaux libres, le benzyl et le methyl :

[OJ — ^ (6.3)

L'amorgage unimoieculaire de la molecule d'ethylbenzene, par rupture d'une liaison simple C—C peut aussi se faire sur 1'autre liaison de la branche alkyle, en dormant du phenyl et de 1'ethyl :

n n + — ^ ^ (6.4)

Exemple 6.3 L'amorgage unimoieculaire de la molecule d'ethyltetraline par rupture d'une liaison simple C—H situ6e sur la branche portee par le cyclane^, donne deux radicaux libres :

+ • H

(6 .6 )

Les autres amorgages unimoieculaires, par rupture d'une liaison simple C—H, peuvent se faire pour les atomes d'hydrogene relies aux atomes de carbone de la branche alkyle et & ceux du cycle sature, mais pas pour les atomes d'hydrogene lies aux atomes de carbone du cycle aromatique.

^Nous rappelons que les atomes d'hydrogene sont reprAsentAs implicitement 70 Chapitre 6. Gboix pbysico-cbimiques de 7a these

6.2.2 Amorgages bimolAculaires (bi) Dans 1'amorgage bimoieculaire, une molecule d'oxygene arrache un atome d'hydrogene d'une sous- structure alkylique on cyclo-alkyhque z :

0 = 0 + H-z —y .OOH + .z (6 6)

Exemple 6.4 Un des amorgages bimoieculaires de la molecule d'ethylbenzene :

(6.7)

Exemple 6.5 Un des amorgages bimoieculaires de la molecule d'ethyltetrahne :

O-O + #cr 'OOH + [QCr (6 .8)

6.2.3 Reaction de mAtathAses (me) En metathese, un radical libre de type ^ (voir le paragraphe 6.3.2) arrache un atome H d'une sous- structure alkylique ou cyclo-alkylique, z :

•/? + H — x —y j3 — H + *x (6.9)

Exemple 6.6 Une metathese de la molecule d'ethylbenzene avec le radical ^ methyl donne du methane et un radical libre :

(6 .10) Exemple 6.7 Une metathese de la molecule d'ethyltetrahne avec le radical ^ methyl donne du methane et un radical libre :

(6 .11)

6.2.4 Reactions ipso (ipso) Un atome libre *H s'additionne sur un cycle aromatique Ar pour former une structure qui se decom ­ pose par rupture de liaison C—C alkylique ou cyclo-alkylique :

•H + A-V — x —y H — At + *x (6.12)

Cette reaction est specihque aux molecules ayant au moins un noyau aromatique. Exemple 6.8 La reaction ipso pour la molecule d'ethylbenzene donne du benzene et le radical ethyl :

•H + (O o + .— (6.13) 6.2. Reactions dMmentaires g^n^nques du prototype 71

Example 6.9 Lee deux reactions ipso pour la molecule d'6thylt6tr aline se produisent par la rupture, dans chaque reaction, d'une liaison du cyclane et en produisant un seul radical : -ear -H+ecr (6.14) -H+ecr -ear (6.16)

6.2.5 Reactions de bAta-scission (bs) Un radical libre se decompose unimolGculairement par rupture d'une liaison C--C ou C—H situGe en position b6ta (& distance 2) du point radicalaire. L'atome C ou H concern^ doit appartenir & une sous-structure de type alcane ou cyclane, & 1'exclusion d'une sous-structure aromatique :

— y — z —» z = y + *z (6.16)

Example 6.10 La reaction de bGta-scission par rupture d'une liaison C—C (situGe en position b6ta par rapport au point radicalaire) :

LOj — [OJ +-CH, (6.17) et la reaction de bGta-scission par rupture d'une liaison C—H (situGe en position b6ta par rapport au point radicalaire) : ioj h g — +- (6.18) Example 6.11 Lee reactions de b6ta-scission par rupture d'une liaison C—C (situGe en position b6ta par rapport au point radicalaire) :

+ (6.19)

^ ^ ^ gQ) Dans la reaction 6.20, un seul produit est obtenu parce que la liaison C—C cassGe appartient & une structure cyclo-alkylique.

6.2.6 Reactions d'oxydation (ox) Une molecule d'oxyg^ne, O2, arrache un atome H situ6 sur une sous-structure de type alcane ou cyclane, en position b&ta par rapport au point radicalaire :

0 = 0 + H — x — y —> #OOH + x = y (6.21)

i°Les atomes d'hydroggne sont repitsentts implidtement. 72 Chapitre 6. Gboix pbysico-cbimiques de 7a these

Exemple 6.12

O-O+^^^ -.QOH + [g^ (6 .22) Exemple 6.13

(6.23)

6.2.7 Reactions de combinaison d'un radical avec le biradical *0* (co.O.) Parmi les radicaux ^ (definis dans le paragraphs 6.3.2) le biradical *0* est le seul qui possede deux Electrons non apparies. La combinaison d'un radical avec le biradical *0* donne naissance & un nouveau radical : •O • + • x —> »0 — x (6.24)

Exemple 6.14 La reaction de combinaison du radical benzyl et du biradical *0* est particu- liGrement import ante : O* OJ +-O------LO (6.26) Le radical forme peut se decomposer par beta-scission pour conduire au benzaldehyde :

O' [O + • H (6.26)

Le benzaldehyde est lui-meme transforme par la sequence de reactions suivantes :

(6.27)

or + ^o (6.28)

6.2.8 Combinaison de radicaux libres (co) La combinaison de deux radicaux libres donne naissance & une molecule par formation d'une liaison covalente : —» z — y (6.29) Exemple 6.15 La combinaison du radical benzyl avec le radical *OOH donne un hydroperoxyde :

(6.30) 6.3. Reduction de 7a taille des mecanismes 73

6.2.9 Dismutation de deux radicaux libres (di) Un radical libre arrache 1'atome d"hydrogene d'un deuxieme radical libre, situe en position beta du point radicalaire, pour donner naissance & deux molecules :

•x + H — y — z* —y x — H + y — z (6.31)

Exemple 6.16 La dismutation du radical benzyl avec le radical *OOH donne de 1'ethylbenzene et de 1'oxygGne :

'OOH+ [Oj — [OJ +O-O (6.32)

6.3 Reduction de la taille des mecanismes

Un probleme majeur dans la construction d'un mecanisme reactionnel d'oxydation et de combustion d'hydrocarbures est le nombre trGs grand de reactions, de produits et d'espGces intermWiaires. Pour valider un mecanisme de taille import ante, les informations exp6rimentales disponibles ne sont pas assez precises, en general. En plus, il est trGs difficile d'analyser un tel mecanisme, ou de comparer deux mecanismes. H est done souhaitable de foumir un mecanisme reactionnel qui puisse etre utilise pratiquement, et il existe plusieurs approches pour reduire la taille d'un mecanisme.

6.3.1 MAthodes de reduction Pour les mecanismes d'oxydation et de combustion, parmi les methodes de reduction basees sur la chimie nous citons : 1. la reduction a priori, bas6e sur 1'expertise des chimistes : 1'utilisateur choisit d'eiiminer certains types de reactions g6neriques qui n'auront pas d'effet dans des conditions operatoires donnees. (a) Une voie de simplification a priori est bas6e sur la comparaison de la reactivite des diffe- rents radicaux libres, distingues dans la classification /)p, definie par Goldfinger, Letort et Niclause [GLN48, Lai87]. Les categories principales de radicaux libres sont presentees dans le paragraphe 6.3.2. (b) Une autre voie est bas6e sur la comparaison des vitesses de reactions. Dans certaines conditions experimentales, certains types de reactions sont negligeables par rapport aux autres, et, il est done possible de ne pas activer certaines reactions generiques. Par exemple, & tres haute temperature (T > 1400 K), les reactions d'amorgages bimoieculaires deviennent neghgeables par rapport aux amorgages unimoieculaires. Les methodes de reduction a priori disponibles actuellement dans le prototype du systeme GasEI sont presentees dans le paragraphe 6.4. 2. la reduction a posteriori, bas6e sur des estimations des donnees thermodynamiques et cinetiques qui permettent d'eiiminer des reactions pendant la generation de mecanisme. Cette methode est utilisee, par exemple, par le systeme NetGen [WDB00].

6.3.2 Categories de radicaux libres En comparant la reactivite des radicaux libres qui interviennent dans un mecanisme reactionnel, on peut distinguer quatre categories principales de radicaux libres : les radicaux libres de type /?, les radicaux libres de type p, les radicaux de type /Ip et les radicaux libres de type Y. 74 Chapitre 6. Choix pbysico-cbimiques de 7a these

Radicaux libres de type ft Lee radicaux libres de type d ne peuvent pas se decomposer unimoieculairement et rGagissent es- sentiellement par des reactions bimoieculaires, d'ou leur vient le nom generique de radicaux d- Ds sont stables thermiquement, au moins & basse temperature (T < 900 K). Les radicaux d les plus importants sont *H, *OH, eCHs, le biradical *0», ainsi que des radicaux de type phenyl [O] .

Radicaux libres de type p Les radicaux libres de type p se decomposent facilement par rupture d'une liaison C—C plac6e en position beta (& distance 2) du point radicalaire. Ds peuvent aussi se decomposer de maniere analogue, mais plus difhcilement, par rupture d'une liaison C—H. Ds sont instables thermiquement, surtout & haute temperature (T > 900 K). Le fait que la reaction de decomposition soit monomoieculaire a donne son nom generique, p, & ces radicaux. La reaction correspondant & une coupure de liaison en position beta par rapport au point radicalaire est appeiee une beta-scission (bs). De maniere formelle, dans la theorie de Goldfinger, Letort et Niclause [GLN48] cette reaction s'ecrit :

*p —^ *d 4- m D s'agit d'une reaction de propagation, dans la mesure ou un radical hbre *p a ete remplace par un autre radical hbre *d, en dormant naissance & une molecule produit, m.

Radicaux dp Les radicaux /)p ont un comportement hybride qui evolue selon le domaine de temperature : & basse temperature (T < 900 K), ils possedent un car act ere d (c'est-&-dire qu'ils sont stables thermiquement) et ils possedent un car act ere p lorsque la temperature crolt. Les radicaux dp les plus importants sont les suivants : *OOH, *0 —CH3, *00 —CH3, *CH2 —CH3, CH3 CH3

.C—CH3 , et *CH

CH3 CH3

Radicaux libres de type Y Les radicaux libres de type Y sont stabilises par resonance, c'est-&-dire que 1'eiectron non apparie est delocalise. Les radicaux Y sont & la fois stables thermiquement et peu reactifs. Des radicaux libres Y typiques sont : - le radical allyl "CHg —CH=CH2, - le radical propargyl *CH2 —C^CH, - le radical benzyl [O]^ , et

- le radical cyclopentadienyl 0. .

6.4 Structure du systAme GasEI En nous basant sur 1'expertise chimique acquise au DCPR au cours du developpement du systeme EXGAS, nous proposons dans le paragraphe 6.4.1 une structure generate du systeme GasEI. La these se localise sur le g6nerateur de mecanisme primaire pour GasEI que nous presentons dans le paragraphe 6.4.2. Enhn, le paragraphe 6.4.3 precise les methodes de reduction prisent en compte dans le prototype. 6.4. Structure du systems GasEI 75

GasEI

Base de factions C0-C1-C2

Generatenr de Modele Especes Reactifs mdcanisme primaire detailld reaction

Molecules primaires globalises

Gdndrateur de m6c anisine secondaire globalise

Donndes Donnies themiochimiques cinetiques

Donndes KING AS '

Fig. 6.1 - Structure generate du systeme GasEI

6.4.1 Structure du mecanisme Dans un mecanisme, on pent mettre en evidence une premiere etape, appelee le mecanisme primaire, dans laquelle les settles molecules qui reagissent dans les reactions elementaires generiques primaires sont celles donnees comme reactifs initiaux. Le generatenr four nit un mecanisme primaire detaille. A partir de ce mecanisme, les produits moleculaires peuvent etre globalises pour generer un mecanisme secondaire. Cette approche permet de structurer les fonctionnalites du generatenr envisage du systeme GasEI en six composantes principals : 1. une base de reactions avec les donnees cinetiques, thermodynamiques et de transport associees; 2. un generatenr de mecanisme primaire ; 3. un generatenr de mecanisme secondaire ; 4. un generatenr de donnees cinetiques ; 5. un generatenr de donnees thermodynamiques ; 6. un generatenr de donnees de transport. La structure generate que nous proposons pour le systeme GasEI est donnee sur la figure 6.1. Nous avons garde la meme decomposition en modules que dans le systeme EXGAS (voir la figure 3.8 dans le paragraphe 3.10.10), pour permet t re eventuellement la reutilisation des modules existants, developpes an DCPR. Le prototype sur lesquel cette these se localise implante actuellement le generatenr de mecanisme primaire, ce qui permet d'obtenir des mecanismes primaires qualitatifs. Pour obtenir des mecanismes quantitatifs, il faut ajouter le generatenr de donnees cinetiques et celui de donnees thermodynamiques. A ce jour, les autres composantes provenant du systeme EXGAS ne sont pas connect ecs an prototype existant. En fait, certaines composantes necessitent en realite plus qu'une simple connexion, car certains modules doivent etre etendus pour generer des donnees relatives aux molecules polycycliques. 76 Chapitre 6. Gbofx pbysico-cbimiques de 7a tb^se

RH

Amorgages ui bi

ipso me bs ox co(.O.) Propagations

Des nouveaux radicaux? Non

Produits de propagation Terminaison co di

Produits de terminaison

FiG. 6.2 - MGcanisme primaire de pyrolyse oxydante

6.4.2 Structure du mAcanisme primaire La mGthode iterative g6n6rale de construction de m6canismes, pr6sent6e dans le paragraphe 3.3, peut 6tre rafhn6e pour le mGcanisme primaire, en mettant en Evidence trois phases : 1. L'amorpage consiste & appliquer aux r6actifs, RH, les reactions g6n6riques d'amorgage : les amorgages unimol6culaires (ui) et les amorgages bimo!6culaires (bi). Cette phase est une phase de creation de radicaux libres. 2. La propagation : un ensemble de reactions 616mentaires g6n6riques primaires [les reactions (ipso), les reactions de mGtatMse (me), de b6ta-scission (bs), d'oxydation (ox) et de combinaison d'un radical avec le biradical *0* (co.O.)] transforment les radicaux libres en d'autre radicaux libres. Les nouveaux radicaux sont & leur tour sounds aux reactions de propagation, jusqu'& ce qu'aucun nouveau radical hbre n'apparaisse. Ce processus itGratif assure Pexhaustivit6 du m6canisme primaire g6n6r6. 3. La terminoiaon 61imine les radicaux hbres issus de la propagation par des reactions de combinaison ou de dismutation. La figure 6.2 prGsente les trois phases du mGcanisme primaire de pyrolyse oxydante, c'est-&-dire 1'en- chainement des reactions 616mentaires g6n6riques primaires cod6es dans le prototype.

6.4.3 Reduction a priori dans le prototype R6activit6 des radicaux Le nombre de reactions de terminaison (combinaisons et dismutations) a pour ordre de grandeur le carr6 du nombre de radicaux hbres. On congoit done que l'6hmination a priori, sans simulation numbrique, des reactions de terminaison nbgligeables, prbsente un grand intbrbt pour rbduire la taille des mbcanismes. 6.4. Structure du ayateme GasEI 77

Conformement aux regies cinetiques 0/fY, on ne g6n6rera done que lea reactions de combinaiaon impliquant lea principaux radicaux de type et Y :

+ .Y --y Y (6.33)

•Y + .Y' --y Y-Y' (6.34) D faut remarquer que la reaction t + - 1 (6.35) est dans la base Co-Ci-Cg- La reaction de combinaiaon (6.30) de 1'exemple 6.15 eat une reaction de ce type : *OOH eat un radical de type et le radical benzyl eat un radical de type Y. Le m&me principe eat applique pour lea reactions de diamutation : on g6n6rera lea reactions de dia- mutationa impliquant lea principaux radicaux de type ^ et Y (le radical y — z — H eat un radical de type Y) : — z — H —» ^ — H + = z (6.36)

DAsactiver des reactions En rAgle gAnArale, la totality dea reactions gAnAriquea eat activAe. Toutefoia, toujoura avec Tid6e de reduire a priori la taille du mAcanisme, il eat poaaible de dAs active: certainea reactions gAnAriquea particuliAres : - & trAs haute temperature (T > 1400 K), lea reactions d'amorgages bimoieculaires deviennent nAgli- geables par rapport aux amorgages unimoieculaires. D en va de mAme pour les reactions d'oxydation des radicaux libres par rapport aux reactions de beta-scission. - les atomes H de nature benzylique sont plus faciles & arracher que les autres atomes H alkyliques ou cyclo-alkyliques. On pent done envisage: de n'activer que le type correspondant de reaction d'amorgage bimoieculaire et de metathese. Cette demarche presente le grand interet d'introduire dans le processus de generation de mecanismes Texpertiae theorique et experimental du cineticien. 78 Gbapitre 6. Gboix physico-cbimiques de 7a tb^se Chapitre 7

Representation et codages des especes chimiques en Gas El

Un des premiers problAmes informatiques & rAsoudre dans la conception d'un systAme est le choix des structures de donnAes utihsAes et de leur codage. Ce choix influence le dAveloppement et 1'eGicacitA du systAme. Nous prAsentons dans ce chapitre les solutions que nous avons adoptees : la representation des es- pAces chimiques par des graphes molAculaires est prAsentAe dans le paragraphe 7.1 et le codage interne des graphes molAculaires par des termes GasEI est expliquA, en detail, dans le paragraphe 7.2. Le para­ graphe 7.2.8 prAsente le schema gAnAral des Atapes nAcessaires pour coder les graphes molAculaires en GasEI, Atapes dAcrites dans les paragraphes 7.2.5—7.2.7. Les termes GasEI sont inspires d'un concept de la chimie informatique, la notation linAaire SMILES [Wei, Wei03], que nous prAsentons dans le para­ graphe 7.2.3; plus de precisions sur la mAthode pour obtenir une notation SMILES & partir d'un graphe molAculaire, sont donnAes dans le paragraphe 7.2.4.

7.1 Representation des espAces chimiques 7.1.1 Graphe molAculaire utilisA dans GasEI Pour la representation des espAces chimiques, molAcules et radicaux hbres, nous utilisons les graphes molAculaires, dAGnis dans le paragraphe 3.5.2, les atomes d'hydrogAne n'Atant pas reprAsentAs. Comme le domaine d'application est celui de la combustion des hydrocarbures, les sommets des graphes molAculaires sans hydrogAne sont done AtiquetAs soit avec C, si le sommet correspond & un atome de carbone, soit avec O, si le sommet correspond & un atome d'oxygAne. Dans le contexte de notre problAme, la dAGnition gAnArale du graphe molAculaire 3.1 devient : DAGnition 7.1 (Graphe molAculaire utilisA dans GasEI) En graphe mo!6mlaire /utilise dans GasEI j est un triplet (G,lohy,lohg), on 1. = {C,Q}, %c = {simple, douMe, triple, aromntigue}, & G = (y,E) est un graphe : y est 1'ensemhle des sommets et E C y x y est l'ensemble des argtes ; g. laby est la /onction gui associe auz sommets du graphe G leur Aiguette : laby : y —^ 7^; labg est la /onction gui associe auz argtes du graphe G leur Aiguette : labg : E —» 7c L'ensemble des graphes molAculaires construits sur les ensembles d'Atiquettes 7^4 et 7c est notA par la suite par gAf(74,7c)- Exemple 7.1 Dans la Ggure 7.1 a) nous reprenons 1'exemple du graphe molAculaire de la Ggure 3.2 a). Le graphe molAculaire sans hydrogAne correspondant est dans la Ggure 7.1 b). L'ensemble des sommets est : y = {1,2, - - -, 11}

79 80 Chapitre 7. Representation et codages des esp^ces chimiques en GasEI

H H C H C

aromatique aromatique H H H

H a) b)

FiG. 7.1 - Graphes molAculaires utilises dans GasEI : a) le graphe molAculaire; b) le graphe molAculaire sans hydrogAne.

L'ensemble des aretes est :

E = {{1,1}, {1,2}, {2,3}, {3,4}, {3,8}, {4,5}, {5,6}, {5,9}, {6,7}, {6,11}, {7,8}, {9,10}, {10,11}}

La fonction qui associe des etiquettes aux sommets est dAfinie par : - lohy(u) = C, pour u E V et u ^ 11, et - lohy(ll) = O. La fonction qui associe des etiquettes aux aretes est definie par : - lohg({l,l}) = lohg({l,2}) = lohg({2,3}) = lohg({5,9}) = lohg({6, 11}) = lahg({10, 11}) = simple, - lohg({9,10}) = double, - lobg({3,4}) = lobg({4,5}) = !obg({5,6}) = lobg({6, 7}) = !obg({7,8}) = lobg({3,8}) = aroma- tique.

7.1.2 Quelques propriAtAs des graphes molAculaires Dans notre representation, les atonies d'hydrogene ne sont pas explicites, mais, pour chaque sommet on pent calculer leur nombre. Nous introduisons pour cette raison, deux fonctions : valence et ordre_arete. DABnition 7.2 (Valence d'nn sommet) ^ur 1'ensemble T4 des etiquettes ossociees auz sommets du graphe G = (V,E) on de/init une /onction valence, tel que :

valence : T* —^ N et - valence (G/ = 4, - valence(O/ = Cette dA&nition correspond bien & la dA&nition de valence chimique du paragraphe 3.1, c'est-h-dire, elle reprAsente le nombre exact d'atomes auxquels le sommet doit Atre &A par une liaison simple. Definition 7.3 (Ordre d'nne arAte) ^ur l'ensemble %c des etiquettes ossociees auz argtes du graphe G = (V,.E) on de/init une /onction ordre_arete, tel que :

ordre arete : %c —t {1,15,2,3} et ordre_arete (simple/ = 1, 7.2. Cbdage des graphes mol&mfaires 81

- ordre_aretefdot*Wej = 2, - ordre_areteffripfej = - ordre_aretefammafipue} = 1.5. Remarque 7.1 Mma prnposorw de d^Inir f'ordre d'wne argfe Aipuef^e aromafipae comma #anf 1.5. Ce cAoiz a 'ezpfipoe, comma nous offons fa ooir ci-deaaowa, par fa /aif pue caffe uofeur permef de dormer ana /ormrde pour cafcofer fe nomAre d'ofomaa d%pdrop6»e fids d an aommaf. Une anfre approcAe pour fe cofcof da nombra d'afomes d%pdrppdne fids d an aommef eaf prdsenfde dona fa paruprapAe 8.^.^, pope 120. Propri6t6 7.1 (Nombre d'atomes d'hydrogAne) Le nomAre d'afomes d%pdrppdne fids d an aommef a E y ae cofcofe ooec fa /ormafe aaraaafe

no_at_H(u) = valence(faAy(u)) ordre_arete(faAg({a,Oi})) (7.1) {f Praaae. la preuve de cette formule pose probl^me seulement pour les situations ou les arGtes incidentes & a sont 6tiquet6es aromafipae. D faut remarquer que forcAment, a est 6tiquet6 C, done valence(foAy(u)) est 4. Deux situations sont possibles : 1. Le sommet a a deux arGtes incidentes 6tiquet6es aromafipae; soit ai,% les sommets correspondants. Dans ce cas, la somme

ordre_arete(foAg({a,ai})) + ordre_arete(faAg({a,a2})) est 6gale & 3 (= 1.5 + 1.5). Dans une molecule e'est bien le nombre de liaisons satisfaites par les deux liaisons aromatiques. 2. Le sommet a a trois arGtes incidentes 6tiquet6es aromafipae; soit %!,%, as les sommets correspon ­ dants. Dans ce cas, la somme

ordre_arete(faAg({a,ai})) + ordre_arete(faAg({a,a2})) + ordre_arete(foAg({u,U3})) est 6gale & 4.5 (= 1.5 + 1.5 + 1.5). Dans une molecule, ceci correspond au fait que les quatre liaisons possibles du carbone sont satis­ faites, et e'est pour cette raison qu'on utilise la partie entiGre infArieure dans la formule 7.1. Exemple 7.2 Pour le graphe molAculaire sans hydrog&ie de la bgure 7.1 b), nous utilisons la formule 7.1 pour calculer le nombre d'atomes d'hydrog6ne pour les sommets 1, 3, 4, 9 et 11 : - no_at_H(l) = Talence(foAy(l)) — [ordre_arete(faAg({l,l})) + ordre_arete(foAg({l,2}))J = 4 — [1 + lj — 4 — 2 = 2. - no_at_H(3) = Talence(faAy(3)) — [ordre_arete(faAg({3, 2})) + ordre_arete(faAg({3,4})) +ordre_arete(faAg({3,8}))] = 4 — [1 + 1.5 + 1.5J =4 — 4 = 0, - no_at_H(4) = Talence(faAy(4)) — [ordre_arete(faAg({4,3})) + ordre_arete(faAg({4, 5}))] = 4 — [1.5 + 1.5] =4 — 3 = 1, - no_at_H(9) = Talence(foAy(9)) — [ordre_arete(foAg({9, 5})) + ordre_arete(foAg({(9, 10}))] = 4 — [1+2] = 4 — 3 = 1, - no_at_H(ll) = Talence(faAy(ll)) —|ordre_arete(foAg({ll,6})) + ordre_arete(faAg({ll,10}))J = 2 — [1 + 1] = 2 — 2 = 0. Les rAsultats obtenus correspondent bien & la figure 7.1 a) : dans le graphe molAculaire, les sommets 3 et 11 n'ont aucun atome d'hydrog6ne, les sommets 4 et 9 ont un seul atome d'hydrogGne et le sommet 1 a deux atomes d'hydrogGne.

7.2 Codage des graphes molAculaires Un des problGmes qu'il faut analyser et rAsoudre au moment de la conception d'un syst^me informal tique est celui du choix des structures de donates. 82 Chapitre 7. Representation et codages des espAces chimiques en GasEI

7.2.1 PropriAtAs attendues La premiere Atape est de coder les graphes molAculaires (avec ou sans hydrogAne). Tomlin, Tur&ni et Pilling [TTP97] prAcisent quelles sont, selon eux, les propriAtAs attendues d'un tel codage dans le domaine de la gAnAration automatique de mAcanismes : 'la structure des espAces chimiques doit At re codAe d'une maniAre qui permet au gAnArateur de rAactions de la manipuler facilement Cette reprAsentation doit Atre non-ambigue et unique aGn que les rAactions ne soient pas Acrites plusieurs fois et que les produits issus d'une rAaction AlAmentaire soient identiGAs facilement." On pent done remarquer que le choix du codage des espAces chimiques influence - le codage des rAactions et de leur enchainement ("manipuler facilement"), - le codage d'un algorithme de canonicitA ("non-ambigue", "unique", "identiGAs"). Nous ajoutons que le choix du codage des espAces chimiques influence aussi les problAmes d'interface entre les modules du systAme, et entre le systAme et 1'utilisateur.

7.2.2 Solutions existantes Nous rappelons que dans les systAmes exist ants pour la gAnAration automatique de mAcanismes deux types de solutions existent pour le codage des graphes molAculaires : Matrice Un graphe molAculaire est reprAsentA en utilisant une matrice. Le modAle le plus utihsA est celui de Dugundji et Ugi [DU73], que nous avons prAsentA dans le paragraphe 3.7, et pour lequel des thAorAmes existent qui dAmontrent qu'il est bien adaptA & la chimie. En plus, les algorithmes de canonicitA sont gAnAralement basAs sur des calculs sur les matrices. Arbre Le codage des espAces chimiques est fait en utilisant une structure d'arbre, comme dans le sys ­ tAme EXGAS (prAsentA dans le paragraphe 3.10.10), dans le systAme de Stuttgart (prAsentA dans le paragraphe 3.10.9) et le systAme de Leeds (prAsentA dans le paragraphe 3.10.8). Un des nceuds de 1'arbre codant une espAce chimique est choisi comme racine, de telle sorte que certaines conditions soient respectAes (comme par exemple que la notation linAaire de 1'arbre comporte le moins possible de parenthAses) et que la racine soit unique pour une espAce chimique donnAe. Ensuite, un ordre est dAGni sur les branches d'un arbre, qui prend en compte leurs structures et qui permet d'associer un code unique & chaque espAce chimique. Ces algorithmes de canonicitA sont spAciGques aux structures d'arbre, et 1'extension aux graphes molAculaires, en gAnAral, ne semble pas rAalisable directement.

7.2.3 Notation SMILES Pour la reprAsentation des graphes molAculaires en ELAN, nous utilisons une structure de terme [BCC+03a, BCC+03b], que nous prAsentons dans le paragraphe 7.2.7. Cette reprAsentation est inspirAe de la notation linAaire SMILES [Wei, Wei03, Dayb], introduite briAvement dans le paragraphe 3.9.2, et prAsentAe en dAtail dans ce paragraphe. Les fonctions de codage, qui donnent la notation linAaire SMILES d'un graphe molAculaire, sont dAGnies dans le paragraphe 7.2.4. La notation SMILES (Simplified Molecular Input Line Entry System) [Wei, Wei03] est une chaine de caractAres sans espace qui note une structure de graphe molAculaire. Les rAgles de codage sont les suivantes [Dayb, Dayc] : Atome Chaque atome est identiGA par son symbole entre des crochets. Par exemple, [C] note le carbone, [H] note 1'hydrogAne, et [S] note le soufre. Des informations chimiques supplAmentaires peuvent Atre associAes & un atome, parmi lesquelles nous citons : la masse de 1'atome, le nombre d'atomes d'hydrogAne reGAs, la charge (permettant de noter des ions). atom : '[' symbol

Les AlAments B, C, N, O, P, S, F, Cl, Br et I forment un aowa-enaemWe on/anigue d'atomes. Liaison La liaison simple entre atomes, notAe n'est pas Acrite gAnAralement. On utGise "=" pour reprAsenter une haison double, pour une haison triple et " pour une liaison aromatique : 7.2. Codage des graphes molAcufaires 83

bond : I I I

Chalne simple Un graphe molAculaire sans hydrogAne qui a une structure linAaire est reprAsentA en SMILES par une succession de symboles d'atomes, avec le codage du type de liaison entre ces atonies. Les liaisons simples entre atonies tout comme les atonies d'hydrogAne ne sont pas reprAsentAs. Par exemple, C note le methane (CH4), Cl note Tacide chlorhydrique (HC1), C=0 note le formalde ­ hyde (CH2=0), C=C note TAthylAne (CH2=CH2), C#N note Tacide cyanhydrique (CH=N), CCCC note le butane (CH3-CH2-CH2-CH3), et 0=C=0 note le dioxyde de carbone (CO2). Branche Une branche est indiquAe entre parentheses, et elle est placAe apres le symbole de Tatome auquel elle est connectee ; si la branche est connectee par une liaison double ou triple, le symbole qui code le CH3 CH CH3 type de liaison apparalt apres la parenthese gauche. Par exemple, Tisobutane, | , CH3 peut se noter en SMILES par C C (C) C. Voir Texemple 7.3 pour la notation SMILES d'autres molecules acycliques. Cycle Pour coder un cycle, une liaison simple (ou aromatique) du cycle est rompue formellement, et les atomes "sAparAs" sont etiquetes avec le mAme numero (voir la figure 7.2). Le noyau aromatique peut s'Acrire en utilisant les structures de Kekuie (voir le paragraphe 1.2.3), ce qui produit dans le cas du benzene la notation C1=CC=CC=C1, ou bien aussi en Acrivant les symboles des elements en minuscule, sans prAciser les haisons (clcccccl note aussi le benzene). Voir Texemple 7.4 pour la notation SMILES des molecules (poly)cycliques. Remarque 7.2 Cette presentation de la notation ne donne pas an alporithme pour Tohte- nir. Dans le paragraphe 7.2.^ nous proposons une suite d'operations necessaires pour ecrire la notation d'un graphe mol&ulaire. Exemple 7.3 .Notations pour des molecules acgcligues : 1. le mAthane, CH4, peut se noter en SMILES par C; 2. le n-butane, CH3-CH2-CH2-CH3, peut se noter en SMILES par CCCC; CH3 CH CH3 3. Tisobutane, | , peut se noter en SMILES par C C (C) C; CH3 4. le n-heptane, CH3-CH2-CH2-CH2-CH2-CH2-CH3, est note en SMILES par C C C C C C C; 5. Tiso-octane, , peut se noter en SMILES par C (C(C)(C) C) C (C) C;

6. le cetane, , peut se noter en SMILES par CCCCCCCCCCCCCCCC;

7. le heptamAthylnonane, , peut se noter en SMILES par

C C (C) (C) C C (C) (C) C C (C) C C (C) (C) C; 8. TAthAne, CH2=CH2, peut se noter en SMILES par C=C; 9. la molAcule d'oxygAne, O2, peut se noter en SMILES par 0=0; Exemple 7.4 Notation pour dea mol&ulea cgcliguea : 1. TAthylcyclohexane, , peut se noter en SMILES par CCC1CCCCC1;

2. le benzene, [Qj , peut se noter en SMILES par C1=CC=CC=C1, par clcccccl, et aussi par C1:C:C:C:C:C1; 3. le naphtalAne, , peut se noter en SMILES par c!2c (ccccl) cccc2; 84 Chapitre 7. Representation et codages des esp^ces chimiques en GasEI

4. le mAthylnaphtalAne, IQlQj , pent se noter en SMILES par c!2c(ccccl)ccc (C) c 2;

C C 1 simple 2 simple aromaique simple C^ simple Cf Cs------9 C aromzfi'qwe aromatique aouble C C aromatique C6simple sjmph^ C a) C C 4 C C 1 simple 2’simple aromatiqui5 ^ CimP^^mple aromOiqULjsimpe_ C Cl 9 aromatique aromatique doWjb rn 10 C ''aromatique ^C' 6 ^^Tapomatiqug FI C 11 b) c)

FlG. 7.2 - Transformer un graphe molAculaire en arbre molAculaire dAcorA : a) le graphe molAculaire initial; b) le graphe aprAs une coupure de cycle, AtiquetAe 1; c) le graphe aprAs une deuxiAme coupure de cycle, AtiquetAe 2.

7.2.4 Obtenir la notation SMILES (Tun graphe molAculaire Trois Atapes sont nAcessaires pour Acrire la notation linAaire SMILES d'un graphe molAculaire : 1. Thans/ormer le graphe en arbre : pour chaque cycle du graphe, une arAte AtiquetAe simple ou aro­ matique est choisie pour Atre edacAe, et ses extrAmitAs sont AtiquetAes avec une nouvelle Atiquette, n'apparaissant pas dAjh dans le graphe. 2. CTioiair la racine : un des sommets de Tarbre obtenu dans TAtape prAcAdente est choisi comme racine. Si Tarbre a n sommets, alors il existe n possibilitAs de choisir la racine. 3. Porcourir Tarbre : Atant donnAe une racine dans Tarbre, un parcours en profondeur est effectuA pour Acrire les notations SMILES correspondantes. Nous dAtaillons ces Atapes ci-dessous :

Transformer un graphe en arbre Pour dAcrire TAtape de transformation d'un graphe molAculaire en arbre, nous introduisons la notion de graphe molEculaire dEcorE et une opAration de coupure de cycle sur un graphe molAculaire dAcorA. DAdnition 7.4 (Graphe molAculaire dAcorA) f$tant donnE les ensembles d'Etiquettes 72 et 7c, un graphe molAculaire dAcorA construit sur ces ensembles d'Etiquettes est un quatruplet GMc = (G, laby,lobg,labc), ou G = (F,E) et 7.2. Codage des graphes mofAcufaires 85

(G,faAy,foAg) E ^Af(%4,7c) /c'eat-d-dire pwe (G,foAy,faAg) eat an prapAe mafAcwfaire canatrwit awr fea enaemAfea d'Atipwettea et 7c j, 7c eat tin enaemAfe d'Atipwettea pwi cadent fea cawpwrea de cpcfea, et fo&c eat wne /anctian d'Atipwetape dea aammeta dw prapAe :

foAg; : y 7?

aw Tg' mate f'enaemAfe dea mata canatrwita awr 7c Definition 7.5 (Graphe moleeulaire deeore assoeie a un graphe moleeulaire) ^aitGM = (G, faAy,foAg),G = (y, E), wn prapAe mafAcwfaire canatrwit awr fea enaemAfea d'Atipwettea 7^ et 7c T^e prapAe mafAcwfaire dAcarA, GM^ = (G, faAy, faAg, faA(%), canatrwit awr 7^, 7c et 7c, awec : - 7c = {e} fe eat fe mat widej, et - fa /anctian faA(? dA/inie par faAc(w) = e,Vw E y, eat appefA fe prapAe mafAcwfaire dAcarA associA aw prapAe mafAcwfaire GM. Definition 7.6 (Couper nn cycle) ^oit GM(% = (G, faAy , foAg, faA(%), G = (y, E), wn prapAe mafAcw­ faire dAcarA, dA/ini awr fea enaemAfea d'Atipwettea 7^, 7c et 7c, c wn dea cpcfea de G et {w,w} wne arAte dw epefe c, AtipwetAe simple aw aromatique. ^e prapAe mafAcwfaire dAcarA, GM^, = (G', f aAy , f aA^., f oA^,) , dA/ini awr fea enaemAfea d'Atipwettea %4, 7c et 7^, eat dannA par .­ 7. G' = (y',E'), awy = y etE' = E- {{w,w}} 2. foAy : y —» et Vw E y foAy(w) = foAy(w), 5. foAg : 72' —^ 7c et foAg = foAg|g, fc'eat-d-dire pwe foAg eat fa reatrictian de foAg d f'enaemAfe E'j, j. 7g = 7c U {f}, aw f eat wne Atipwette, pwi n'apparait poa dana 7c, 5. foAg, : y —» (7^)*, aw (7^)* eat f'enaemAfe dea mata canatrwita awr 7^, tef pwe - fo&g,(w) = faAc(w) . f, - fa&cM = fo&cM . f, et - faAg,(w) = faAc(w), pawr ra ^ w, ra ^ w. Remarque 7.3 7/apArutian dAcrite dana fa dA/initian 7.5 pewt Atre appfipwAe a nawweaw aw prapAe ma­ fAcwfaire dAcarA GMg,, a'if a dea cpcfea. 7}'Atipwette q;awt^e dait Atre wne Atipwette nawaeffe, pawr pawaair recanatitwer carrectement fe prapAe mafAcwfaire initiaf. Definition 7.7 (Arbre mo!6cnlaire decore) (7n prapAe mafAcwfaire dAcarA, GMc = (G, foAy, faAg, foAc), G = (y, E), canatrwit awr %4, 7c et 7c, eat appef^ arbre moleeulaire d6cor6, ai fe prapAe G eat wn ar&re, e'eat-d-dire wn prapAe canneie, aana cpcfea. Definition 7.8 (graph2tree) ^ait GM = (G, fo&y,fo&g), G = (y, E), wn prapAe maf6mfaire canatrwit awr et 7c, et GMc = (G, foAy , faAg, foA^), fe prapAe maf&wfaire d&ar^ oaaoci^ canatrwit awr 7^, 7c et 7c = {e}, camme dana fa d^/initian 7.5. A fe namAre epefamatipwe dw prapAe G eat a(G), et ai an appfipwe aw prapAe maf&wfaire d&ar^ GMc f'ap^ratian de cawpwre de epefe d^/inie dana 7.5, ofara GMg,, fe prapAe maf&wfaire d6x;r^ aAtenw, a fe namAre epefamatipwe i/(G) — 1. En r^pdtant f'application de f'operation de cawpwre de epefe encare a(G) — 1 /aia, an aAtient wn arAre maf6mfaire d&ard, naM AM^. Gette apdratian pwi trana/arme GM, wn prapAe maf&wfaire, en AM^, wn arAre mof&wfaire d&ar^, en awpprimant fea argtea de f'enaemAfe Ec C 72, eat not& graph2tree : AMc E graph2tree(GM, Exemple 7.5 Dans la figure 7.2 sont prAsentAes les deux coupures successives de cycles, appliquAes au graphe molAculaire de la figure 7.2 a) pour obtenir 1'arbre molAculaire dAcorA de la figure 7.2 c). On pent remarquer que le graphe molAculaire de la figure 7.2 a) est le graphe molAculaire de la figure 7.1 b), sans la boucle sur le sommet AtiquetA avec 1. Pas initial on construit le graphe molAculaire dAcorA, GMc = (G,foAy,faAg,faAc), associA au graphe molAculaire de la figure 7.2 a) : 86 Chapitre 7. Representation et codages des espAces chimiques en GasEI

- Tensemble des sommets est y = {1,2,..., 11} - Tensemble des aretes est :

E = {{1,2}, {2,3}, {3,4}, {3,8}, {4,5}, {5,6}, {5,9}, {6,7}, {6,11}, {7,8}, {9,10}, {10,11}}

- la fonction qui associe des etiquettes aux sommets est dAfinie par : - laby(o) = C, pour o E y et o ^ 11, et - laby(ll) = O. - la fonction qui associe des etiquettes aux aretes est dAfinie par : - !obg({l,2}) = labg({2,3}) = !obg({5,9}) = labg({6, 11}) = labg({10, 11}) = simple, - labg({9, 10}) = double, - labg({3,4}) = labg({4,5}) = labg({5,6}) = labg({6, 7}) = labg({7,8}) = labg({3,8}) = aromatigue. - 7c = {^}, et - lobe : {1,2,..., 11} —» {e}, tel que labc(o) = e, Vo E {1,2,..., 11}. Coupure du cycle de cinq atomes on choisit Tarete {6, 11}, et les elements de sont (voir la Ggure 7.2 b) : - Tensemble des sommets est le mAme : y' = y = {1,2,..., 11}, - Tensemble des aretes est E — {{6,11}}, - la fonction qui associe des etiquettes aux sommets, laby, est la mAme : - laby(o) = C, pour o E y et o ^ 11, et - laby(ll) = O, - la fonction qui associe des etiquettes aux aretes, labg, est la restriction de labg & Tensemble .EX : lobg = labg|g,, - = 7c U {1} = {e, 1}, - lab'(j : {1,2,..., 11} —> ({e, 1})* : - (abg,(6) = !abc(6) .1 = 1, - lab^(ll) = labc(ll) . 1 = 1, et - labg,(to) = labc(to) = e, pour to ^ 6, to ^ 11. Conpnre dn cycle Etromatique on choisit Tar Ate {5, 6}, et les elements de sont (voir la fi­ gure 7.2 c) : : - Tensemble des sommets est le mAme : y" = y = {1,2,..., 11}, - Tensemble des aretes est 72" = 72' — {{5,6}}, - la fonction qui associe des etiquettes aux sommets, laby, est la mAme : - laby(o) = C, pour o E y et o ^ 11, et - laby(ll) = O, - la fonction qui associe des etiquettes aux aretes, labg est la restriction de labg & Tensemble 72" : labg = labg|g" , - 7^' =7^U{2} = {6,1,2} - lab^, : {1,2,..., 11} —y ({e, 1,2})' : - !ab(,(5) = lab^,(5) .2 = 2, - lab^,(6) = !ab{;(6) . 2 = 1 . 2, et - lab^(to) = lab^(to), pour to ^ 5,to ^ 6. Remarque 7.4 5% dans Tezemple 7.J on associe TAtiguette 1, guand on limine TarAte et TAti- guette guand on limine TarAte 77^, alors Tarbre molAculaire dAcor^ obtenu est d#j%rent de celui obtenu dans la /tgure 7.& cj. Remarque 7.5 7/orbre molAculaire dAcor^ AMc est construit sur les ensembles dVtiguettes 7^, 7c et 7c four gue Topdration graphStree dA/tnisse une/onction, deter conditions doioent Atre imposAes : - fensemble dVtiguettes 7c doit Atre /erA. far eremple, si le nombre cpclomatigue du grapbe (7 est n, alors 7c = {1,---,"} 7.2. Codage des graphes moleculaires 87

- LknsemAk Ec C E, des argtes d sapprimer dans k prapAe CM eat an eosemAk trig .- ks argtes sent sapprimges dans cet ordre, et ka gtipaettes sent aossi ossociges dans Pordre. Dana cea caaditions, on note AMc = graph2tree(GM, Ec) et on k reprgsente par k diapramme saiaaat : CM grap/&2tree(^c)

AMq Remarque 7.6 2k prapAe support de ParAre Tnof&tdatre (kcorg AMc f'k prapAe a ana fes gtipuettes de coupure de cpcksj eat an arAre couaraat da prapAe G, k prapAe aapport da prapAe mokcakire GM. DABnition 7.9 (treeSgraph) 2k prapAe GM^, de k dg/inition 7.5 code par fa /onction faAg, an prapAe mofgcukire : on peat reconstituer k prapAe GM, en gfimmant ka gtipuettes de cpcka aar ka sommets da prapAe et en q;outant ane argte entre cea deal aommeta. Gette operation, inaerae de graphStree, eat notge treeSgraph : tree2graph(AMc) = GM Propri6t6 7.2 tree2graph n'eat poa ane /onction infectiae : a* dona Pezempk 7.5 ane oatre argte da cpck oromotipae eat cAotate poar gtre coapge, afora cet arAre mof&ofatre dgcorg eat di/fgnent de ceki de k yipare 7.2 c/, moia k /onction tree2graph appfipuge d dear orArea mofgcofoirea dgcorgs reprgsentant k mgme propAe mofgcofoire dgcorg, donne k mgme prapAe mof&akire.

Pareourir l’arbre A la suite des 6tapes pr6c6dentes, le graphe molAculaire a 6t6 transform^ en arbre molbculaire dbcorb, et un de ses sommets est choisi arbitrairement comme racine. Pour obtenir la notation SMILES du graphe molbculaire, un parcours en profondeur [CLRS01] de rarbre molbculaire dbcorb est edectub : - La procedure recursive de parcours en profondeur, appelbe df a, a comme parambtre un sommet de 1'arbre, noth v, et dispose d'une information globale : les sommets qui ont 6t6 visitbs sont marqubs. Un tableau appelb vis est utilise pour garder cette marque : quand vis (v) est 0, alors le sommet v n'a pas 6t6 visits; quand vis(v) est 1, alors le sommet v a 6t6 visits. - Lv_non_vis(v) note une fonction qui donne la liste des voisins du sommets v qui n'ont pas 6t6 visitAs. - La procedure de parcours en profondeur standard [CLRS01] est modibbe pour qu'& chaque execution retiquette du sommet soit afhchbe, et que chaque 61s soit encadrb entre parentheses, sauf le dernier. procedure dfs(v : sommet); begin write(lab_V(v)); vis(v) <- 1; while (Lv_non_vis(v) <> ensemble vide) if card(Lv_non_vis(v)) = 1 then last <- true; endif; choisir u, un element de Lv_non_vis(v); vis(u) <- 1; if not(last) then write ('('); endif; write(bond_type((u,v)); dfs(u); 88 Chapitre 7. Representation et codages des esp^ces chimiques en GasEI

if not(last) then write (')'); endif; endwhile end Avant d'appeler la procedure df s pour le sommet choisi comme racine, if faut que le tableau vis soit initialise & 0, pour tous les sommets de Tarbre. La partie "choisir u" determine Tordre dans lequel sont afBchAs les 61s d'un sommet. Exemple 7.6 La procedure df s decrite ci-dessus appliquee & Tarbre de la figure 7.2 c), quand la racine est le sommet 1, donne deux notations lineaires possibles : 1. C-C-C( :C :C :C 1 2) :C :C 2-C=C-0 1,et 2. C-C-C( :C :C 2-C=C-0 1) :C :C :C 1 2; et, quand la racine est 3, donne six notations lineaires possibles : 1. C(-C-C)( :C :C :C12) :C :C2-C=C-01, 2. C(-C-C)( :C :C2-C=C-01) :C :C :C12, 3. C( :C :C :C12)(-C-C) :C :C2-C=C-01, 4. C( :C :C :C12)( :C :C2-C=C-01)-C-C, 5. C( :C :C2-C=C-01)(-C-C) :C :C :C12,et 6. C( :C :C2-C=C-01)( :C :C :C12)-C-C. D faut remarquer que la notation SMILES permet deux simplifications : - les liaisons simples ne sont pas representees, et - les liaisons aromatiques ne sont pas representees, mais les atomes appartenant au cycle aromatique sont ecrits en minuscules. La premiere notation de Tarbre moieculaire decore de la figure 7.2 c) quand la racine est le sommet 1, devient CCc(cccl2)cc2C = C01 et la troisieme notation, quand la racine est 3, devient c (CC)(cccl2) cc2C=C01 Definition 7.10 (tree2smiles) f$tont donr# nn arbre mo#cnfaire d&o# AMc, nne racine r et an ordre ear lee /He, no# <, afore fa procAfnre df s appfipude a r retonme e, nne notation finAiire de Tarbre mofAudaire AM(%. Cette operation est not^e tree2smileB :

e = tree2smiles(AMc,r, <) et effe est repreeent& par fe diapramme sniuant : AAfc tree2gmi^eg(r,<)

S DABnition 7.11 (smiles2tree) La /onction smiles2tree donne Tarbre mof6:nfaire d&o# AMc pni correspond a fa notation finAiire ^MfLE^ s :

smiles2tree(s) = AAfc

Les diagrammes suivants font la synthese des transformations que nous avons prAsentAes dans ce paragraphe, pour Acrire la notation linAaire SMILES d'un graphe molAculaire, et pour reconstituer le graphe molAculaire & partir de sa notation SMILES : 7.2. Cbdage des graphes moleculaires 89

CM tree2grapk grnp/&2tree(^c) AMc gmi^eg2tree tr ee2gmi^ gg(r, <) ou CM est un graphe moieculaire, AMc est un arbre moieculaire decore, et a est une notation SMILES. Ces transformations sont faites aujourd'hui par des outils graphiques dedies & la chimie : - Les ^diteura 2D (en deux dimensions) permettent & I'utilisateur de dessiner un ensemble de molecules et de les sauvegarder dans un des formats standards en chimie informatique. Quand il s'agit de la notation SMILES d'un graphe moieculaire CM, dont la representation graphique dans I'Aditeur 2D est gm, alors le choix des aretes & couper, le choix de la racine et Tordre utilise pour afhcher les 61s sont transparents & I'utilisateur de 1'editeur 2D. GM ■*------

Dditeur 2D

Les uiauoliaeura produisent la representation graphique des molecules, donnees dans un certain format. Les visualiseurs qui peuvent interpreter une notation SMILES, a, donnent la representation graphique, gm, du graphe moieculaire correspondant, GM. ------»GM tree2grap/&

yiauoliaeur

Parmi les bibliotheques qui proposent des outils pour editer et visualiser des molecules, en utilisant le format SMILES citons : Marvin [Mar], CDK [CDK], OpenBabel [Ope], et JME [JME]. Un visualiseur de molecules en notation SMILES, appeie Depict, est disponible, de maniere interactive, & 1'adresse suivante : http ://www.daylight.com/daycgi/depict.

7.2.5 Terme & la SMILES Nous presentons dans ce paragraphe une signature multi-sortee EgMfi&s, 1'algebre initiale des termes engendree par cette signature, et les declarations en ELAN. Definition 7.12 (Signature multi-sortAe EgM/igg) L'enaemWe dea aortea ^ eat le awioont :

^ = {agmW,imt, radical, iiat_rndiml,mt}

La aignatwre multi-aort^e EgM/igg = O U *2 compoae de - UgM/igg = {C, 0,D,c, o, auec lea pno/da awioonta : G, O, D, c, o de aorte symbol de aorte lint " = {Urad.cof,radical} auec leapro/da awioonta : Llrmd.cof : symbol radical mdica; : radical i-y list_ radical 90 CLapitre 7. Representation et codages des espSces dunuques en GasEI

^gMrr,gg - {LI ; Ll^a jicaf; Llf{g( radical } aoec les pro/Hs suiwants : symbol, int i-y symbol Uradical : symbol, list_ radical i-y radical radical : lint, radical i-y list_ radical radical : list radical, list radical i-y list_ radical Definition 7.13 (AlgSbre des termes & la SMILES) La EgMfigg-olgebre initiate, T(LgMrr,gg), est appel^e 1'algSbre des termes & la SMILES. Exemple 7.7 Le propane, CH; CH=CH2, pent se coder en SMILES par CC=C. Le terme & la SMILES correspondant est le suivant, represents sous forme d'arbre :

c radical

c Le propSne peut aussi se coder en SMILES par C(C)=C et le terme & la SMILES correspondant est le suivant (represents sous forme d'arbre) :

c

radical

tiradica!

c c Remarque 7.7 Le passage d'une notation EM1LEE a an terme a la EMILES' correspond a 1'ppAation d'analyse syntazigue de la notation par an compilateur, suiuant la signature EgMfigg- far ezemple, pour le systSme ELAN, il su^It de d^/inir la signature suiuante fuoir la definition pour gue, Aant donn^e une notation EM1LEE, le parseur dELAN construise le terme a la EM1LEE correspondant : s 7.2. Codage dea grapAea mofdcufairea 91

Adciprogoement, reparation write, dd/inie en ELAN, et appfigode d nn terme d fa ^MfLL^ donne aa notation ^MfLL^: s write

Definition 7.14 (Termes a la SMILES en ELAN [BCC 03a]) La ddcfaration dea aortea dea termea d fa ^M/LL# pent dtre /aite en ELAN de fa manidre aoioante : sort symbol, link, radical, link_radical, list_radical; end Lea ddfinitiona dea apmAofea de /onctiona de fa aignatore EgMZigg aont en notation mia/oc, fe caractdre apdciaf @ eat otifiad ponr indigoer fa poaition d'on argoment, fea apmAofea de /onctiona d'aritd 1 n'ont paa de nom, et fea agm&ofea de /onctiona d'oritd 2 ont comme nom fe coroctdre eapace, " % a f'exception do apmAofe radical, goi encadre entre parentAdaea aon premier argoment. Ln/fn, fea ddffnitiona dea /onctiona aont regroopdea aefon fa aorte de feor rdaoftat. symbol La aorte symbol eat otifiade poor donner fea dtigoettea dea aommeta de f'arAre mofdcofaire ddcord .­ operators global C : symbol; 0 : symbol; H : symbol; c : symbol; // aromatic o : symbol; // aromatic end moia ooaai fea dtigoettea goi codent fea cooporea de cpcfea :

@ @ : (symbol int) symbol; link La aorte link eat otifiade poor donner fea dtigoettea dea ordtea de f'or&re mofdcofaire ddcord : operators global - : link; // simple = : link; // double # : link; // triple ) . ? : link; // aromatic radical La aorte radical donne fa mdtAode rdcoraioe de conatroction d'one mofdcofe : c'eat, aoit on oA/et de aorte symbol, aoit one paire conatitode d'on oA/et de aorte symbol et d'one fiate de radicaoa: fdd/inie ci-deaaooa/

operators global @ : (symbol) radical; @ @ : (symbol list_radical) radical; end list radical La aorte list_radical dd/init fa mdtAode rdcoraioe de conatroction d'one fiate, fea dfd- menta de fa fiate, d f'exception do dernier, aont encodrda entre parentAdaea.

operators global @ : (radical) list_radical; @ @ : (link radical) list_radical; (€) @ : (list.radical list.radical) list.radical; end 92 Chapitre 7. Representation et codages des esp^ces chimiques en GasEI

Remarque 7.8 On pent remorguer gue dans fa notation ^MIRE# if /ant (yonter nn espace ponr sparer fes entitle (uoir fes ezempfes 7.5, 7.^, et 7.5/. Cest nn detaif tecfinigne, fie d f'impfantation de f'anafgseur spntazigne dELAN. Remarque 7.9 Ponr coder fes radicouz fibres, if sn^it de coder fefectron non (%»porie, nons anons qfoute d fa signature EgMrr,gg fa constante eE de sorte radical, ^a decfaration en ELAN est fa suioante : e : radical; Exemple 7.8 Res radicouz fibres sont notes dans cette extension de fa notation ^MfRE# par .­ 1. le radical methyl, eCH;, est represents par C e; (%

2. le radical isobutyl, *C — CH; , de 1'exemple 6.1, est represents par C (e) (C) (C) C.

(%

7.2.6 Terme SMILES^c Pour simplifier les traitements des termes & la SMILES, nous utilisons la possibilitS de dSGnir en ELAN des symboles associatik-commutatik : dans la definition 7.12 de la signature EgMfigg, le symbole de fonction E SgMrigg de profil

Lln»t_radica; : fistrodicof, fistrodicof i-y fistrodicof est dSGni comme un symbole associatif-commutatif. La nouvelle signature multi-sortSe est notSe Eg^^gg, et la Eg^^gg-algSbre initiale, T(Eg^^gg), est appelSe 1'afgdbre des termes ^MfRE^c- La declaration en ELAN du symbole de fonction U;j,t_ra

t Reciproguement, f'operation write, de/inie en ELAN, et appfiguee d un terme ^MfRE^c, t, donne sa notation ^MfRE^, s : s write t Le fait d'introduire un op6rateur associatif-commutatif permet de simplifier reparation de passage d'un arbre mo!6culaire d6cor6 & sa notation SMILES, et au terme SMILES AC correspondant. Propri6t6 7.3 ^tant donne un grapbe mofecufaire CM, Ec f'ensembfe des aretes a couperpour obtenir f'arbre mofecufaire decore AM# fuoir fa definition 7.8/

AMc = groph2tree(GM, Ec) 7.2. Codage des grapbes mol&mlaires 93 r an a emmet de AMc, et <1 et <2 dear ordrea aar ka /Ha tel pae a* on note

ai =tree28miles(AMc,r, <1) ti = parae(ai,Eg^^gg)

«2 = tree2smiles(AMc, r, <2) t2 = parae(a2, SgMfigg) olora ka termea *1 ett2, aont 6/aar, modalo 1 'oaaociatimt^-commatatimt^ da apmWe radical; cette A/aliM eat not& tl =AC ^2 Remarque 7.11 lx* proprkM 7.g peat a'eaprimer par k diapramme aaiuant : CM

grapb2tree(#c) AAf(7 trcc2«milc«(r,

Si «2

) =AC tl *2 Remarque 7.12 [/he conadpaence importante de k prppri^M 7.3 eat k aaiaante : ^tant donn^ an arhre mol&akire d&ord AMc, & ane de aea notationa ett k terme ^MILE^c correapondant, okra t ne depend plaa de 1'ordre aar ka /ik, choiai dana reparation tree2smileB, maia aeakment da choir de k racine. GM arapb2free(.Ec) AAfc

free2«mile«(r) a

t Exemple 7.9 Les deux tenues SMILES Ac suivants, repr6sent6s sous forme d'arbre, sont 6gaux, modulo l'associativit6-commutativit6 du symbole U^^radicoi 6 EgM/iag de proHl Ll;w radical = liatrodicol, liat rodicol (Le symbole associatif-commutatif est encadr6.) Le premier terme correspond & la notation SMILES C(C)=C du propane (voir Texemple 7.7)

tJradical

C'

tJfW radical radical

^radical ^radical

c c 94 Chapitre 7. Representation et codages des esp^ces chimiques en GasEI

Le deuxi^me terme correspond & la notation SMILES C(=C)C.

t-lradicof

c c

7 .2.7 Terme GasEI Lee termes SMILES^, introduits dans le paragraphe 7.2.6, ont le grand avantage de correspondre & une notation SMILES, Gtendue pour les radicaux libres. Toutefois, les simpliHcations introduces dans l'6criture de la notation linGaire, conune celle de ne plus reprAsenter les liaisons simples et celle de ne pas encadrer le dernier His entre parentheses, ne permettent pas des traitements simples dans le code ELAN. Par exemple, pour Hltrer une liste LS de sorte list .radical, il existe quatre possibilitAs (voir par exemple le code de la definition 7.19, page 96) : 1. LS est constitue d'un seul element Rad de sorte radical : LS = Rad (voir la premiere declaration pour la sorte list .radical dans la definition 7.14, page 91); 2. LS est constitue d'un seul element Rad de sorte radical, precede par tly, le type de liaison : LS - tly Rad (voir la deuxieme declaration pour la sorte list.radical dans la definition 7.14); 3. LS est constitue d'au moins deux elements, le premier, Rad de sorte radical, est encadre entre parentheses et le reste de la liste notee Tail, de sorte list.radical : LS - (Rad) Tail 4. LS est constitue d'au moins deux elements, le premier, Rad de sorte radical, precede par tly, le type de liaison est encadre entre parentheses et le reste de la liste notee Tail, de sorte list.radical : LS = (tly Rad) Tail Pour cette raison, nous proposons une extension de la signature multi-sort 6e Egj&j&gg, definie dans le paragraphe 7.2.5 : pour coder une liste vide, nous ajoutons la const ante nilL, de sorte list.radical. Definition 7.15 (Signature multi-sort 6e L 'ensemble des sortes est le suiuont :

= {symbol, lint, radical, !ist_radica!,mt}

La signature multi-sortie EgasEi = {^GasEi U ^LsEi U ^GasEi) compose de - = {C, 0,R,c,o,:,e, nilL}, auec lespro/ils suiuants : (7,0, #, c, o de sorte symbol -, =, #,: de sorte lint e de sorte radical nilL de sorte list radical 7.2. Codage des graph es mol&adaireg 95

^GasEI = {Uradica!,LlH,f_radical} «««: !«# pro/ilg gninantg : Llradicai = apmW i-^ radical Ll(w_ radical = radical i-^ ZigtradicaZ ^ GasEI — {LJgyfn6(d;LJrad*ca4)LJ2*g( _rajicac} AV6C leg pro/llg gninantg .

U symbol : gpmW,int 1—y gpmAol Uradical : gpmAo! , li gt_ radical 1—y radical ^list_ radical : lint, radical 1—y ligt_ radical L-Iziet radical : ligt_radical,ligt_radical 1—y ligt_ radical DAHnition 7.16 (AlgAbre des termes GasEI) ha %GasB-(dg66re initiate, T(EcasEi), eat appelde alg^bre des termes GasEI, at* encore algGbre des termes internes explicates. Dans la construction des termes GasEI, nous imposons maintenant deux conditions : - les liaisons simples sont 6crites explicitement ; - la liste des His d'un atome se termine par la const ante nilL, et tons les autres His sont encadrGs entre des parentheses. Nous avons deHni une fonction Tsmiles2Tgasel qui transforme un terme SMILES^ en terme GasEI: Definition 7.17 (Tsmiles2Tgasel) ha /onction Tsmiles2Tgasel trang/orme t, nn terme ,9Mlhh%4C, en t^, nn terme GasEI, en introdnigant leg liaigong gimpleg non gp&i/i^eg, et en trang/ormant leg ligteg deg /rig : le dernier /3g egt encadnZ entre parentAdgeg, et la congtante nilL egt cyont& d la /In de la ligte. t

T smile s2T gasel

t« PropriAte 7.4 ha /onction TBmiles2TgaBel a la prppri^M gninante : Aant donn^ nn arAre molAmlaire d&or^ AMc, « nne de geg notationg ^Mlhh^, t le terme ^Mfhh^c corregpondant, et t^ le terme GasEI t^ = Tgmi!eg2Tpage!(t) alorg t^ ne depend ping de Tordre gnr leg /3g, cAoigi dang Topdration tree2smileB, maig genlement dn cAoiz de la racine. CM grap/&2free(^c)

AMq free2gm$Zeg(r) '' 5 Parse(^sSlTLEs) t

T smile s2T gasel

t« DAHnition 7.18 (TgaBel2TBmiles) ha /onction Tgasel2Tsmiles egt Tinnerge de TBmiles2TgaBel : elle trang/orme t^, nn terme GasEI, en t, nn terme ,9Mlhh%4c, en ^liminant leg liaigong gimpleg et en trang/ormant leg ligteg deg /3g, tel gne la congtante nilL egt 0imin& et Tanant dernier/3g de la ligte n'egt ping encadr^ entre parentA^geg. Propri6t6 7.5 heg /onctiong TBmiles2TgaBel et TgaBel2TsmileB gont Ai/ectioeg, innergeg Tnne de Tantre. t

T gasel2T smiles T smiles2T gasel

t« 96 CRapitre 7. Representation et codages des esp^ces dnmigues en GasEI

Definition 7.19 (Tsmiles2Tgasel en ELAN) Res d&fomtiona en ELAN ponr coder fo/onction Tsmiles2Tgasel sent fee aninantea :

[] Tsmiles2Tgasel(X) => X nilL end

[] Tsmiles2Tgasel(X tly Rad) => X (tly NewRad) nilL where NewRad := () Tsmiles2Tgasel(Rad) end [] Tsmiles2Tgasel(X Rad) => X (- NewRad) nilL where NewRad := () Tsmiles2Tgasel(Rad) end

[] Tsmiles2Tgasel(X (tly Rad) LS) => X (tly NewRad) NewLS where NewRad := () Tsmiles2Tgasel(Rad) where NewLS := () Tsmiles2Tgasel_L(LS) end [] Tsmiles2Tgasel(X (Rad) LS) => X (- NewRad) NewLS where NewRad := () Tsmiles2Tgasel(Rad) where NewLS := () Tsmiles2Tgasel_L(LS) end on X cat de sorts symbol, tly eat de sorts link, Rad et NewRad sont de aorte radical, LS et NewLS sont de sorts list .radical et fa /onction Tsmiles2Tgasel_L oppfigoe f'opdration de tmns/ormation Tsmiles2Tgasel d nne fists de radicanz.

Definition 7.20 (Tgasel2Tsmiles en ELAN) Rea d&forutiona en ELAN ponr coder fa/onction Tgasel2Tsmiles sont fes anioantea :

[] Tgasel2Tsmiles(X nilL) => X end

[] Tgasel2Tsmiles(X (- Rad) nilL) => X NewRad where NewRad := () Tgasel2Tsmiles(Rad) end [] Tgasel2Tsmiles(X (tly Rad) nilL) => X tly NewRad where NewRad := () Tgasel2Tsmiles(Rad) end

[] Tgasel2Tsmiles(X (- Rad) LS) => X (NewRad) NewLS where NewRad := () Tgasel2Tsmiles(Rad) where NewLS := () Tgasel2Tsmiles_L(LS) end [] Tgasel2Tsmiles(X (tly Rad) LS) => X (tly NewRad) NewLS where NewRad := () Tgasel2Tsmiles(Rad) where NewLS := () Tgasel2Tsmiles_L(LS) end on X eat de aorte symbol, tly eat de aorte link, Rad et NewRad sont de aorte radical, LS et NewLS sont de aorte list.radical et fa /onction Tgasel2Tsmiles_L oppfigne f'operation Tgasel2Tsmiles d nne fiats de radicanz.

Exemple 7.10 Le terme SMILES qui correspond & la notation SMILES C(C)=C du propane (voir rexample 7.9) est transform^ par la fonction Tsmiles2Tgasel dans le terme GasEI suivant (les sommets de 1'arbre qui correspondent & des symboles de fonction introduits par la fonction Tsmiles2Tgasel sont 7.2. Codage des graphes moleculaires 97 encadres en pointille) :

radicaP radicaP L _ — . J J

, Ulist radical , Ulist radical , Ulist radical J L _ — . J J

rjT Idftgf radical list _radicaPP^ L _J [nilL] [nilL]

C [nilL]

c Remarque 7.13 Atant donn^ an terme GasEI, I LS, on I eat de aorte symbol et LS eat de aorte list .radical, alora ponr/dtrer LS d eiiate aenlement dear poaa*6d*t^a : 1. LS eat nne liate wide : LS = nilL LS eat conatitw^ d'an moina an ^ment, Rad de aorte radical, prdc6# par tly, le tppe de liaiaon eat encode entre parenth^aea et le reate de la liate not^e Tail, de aorte list .radical .- LS = (tly Rad) Tail Comme nona 1'auona monW ci-deaawa, #ant donn^ I LS, an terme EMfLEE/ic, d eziate paatre poa- aibiliMa pour /dtrer LS. Cette r6fwctiou da nombre de poaaibilit^a de /dtrape de LS pour tin terme GasEI conatitwe la motiaation principole de 1'introdaction dea termea GasEI. Remarque 7.14 (SimpliScation de la representation des termes GasEI) IxireprZaentotionpor orbrea dea terraea GasEI, conatnwta aar la aipnatare ScasB, noaa aemtle oaaez decile d lire. IVboa prppoaona ane aimpli/ication : Aant donn^ an terme GasEI de la /orme I LS, oa I eat de aorte symbol et LS eat de aorte list.radical, 1'arbre a poar raciae I, lea Amenta de la liate LS aoat lea /da de I, et cette liate de /da eat oaaociatiae-coramatatiae. En applicant cette aimpli/Ication, la repr^aentation par arbre da propdne, C(C)=C, de 1'ezemple 7.10 eat aoit (y aoit (y

C C c c 7.2.8 Codage des graphes moleculaires en GasEI Lee Stapes suivantes sont nScessaires pour coder lee graphes moleculaires en GasEI : Interface avec I'utilisateur pour 1'entrSe At ant donnS un graphe molSculaire CM, on obtient a, sa notation SMILES. La methode est celle decrite dans le paragraphe 7.2.4. L'interface graphique du systeme GasEI utilise 1'editeur de Marvin [Mar], pour g6n6rer la notation SMILES de pm, la representation graphique du graphe molAculaire CM donnA en entree (voir la figure 9.7). 98 Chapitre 7. Representation et codages des esp^ces cWmigues en GasEI

Codage en terme SMILESxc La chains de caractAres g est analysAe par le parseur du systems ELAN, suivant la signature dAHnie dans le paragraphs 7.2.5, et modihAe dans le paragraphs 7.2.6. Le terme SMILES^c correspondant, t, est construit. Codage interne Le terme SMILES^c, est transform^ dans un terme GasEI, t^, qui est utilise par le systems GasEI. DAcodage Avant d'Acrire un terme GasEI, t^, dans le Hchier de sortie, t^ est transformA en t, un terme SMILES^c, qui est ensuite Acrit dans le Hchier, en utilisant la fonction write; on obtient une chains de car act Ares, g. Interface avec 1'utilisateur pour la sortie La chains de car act Ares, g est transformAe par le visuali- seur de Marvin, adaptA pour pouvoir afBcher des radicaux libres; le rAsultat est la representation graphique d'un graphs molAculaire.

gm ------>- GM ------>- 9m

tree2graph

Interface sortie Dditeur 2D Interface entrAe

smiles2tree

write (Codage SMILES^o V DAcodage T gasel2T smiles T smile s2T gas el s Codage interne i t«

7.2.9 Algorithms de test d'isomorphisme de graphes moleculaires dans GasEI 6tant donnAs deux termes GasEI, t^ et tg% qui codent deux graphes molAculaires CM% et respective- ment CMg, nous avons besoin d'un algorithms qui dAcide si CM% est isomorphe & CMg.

Algorithme Unique SMILES La solution choisie pour le systems GasEI est d'utiliser 1'algorithme Unique SMILES [WWW89], qui prend en entrAe une notation SMILES et donne sa notation SMILES canonique. Cet algorithme applique la methods de separation de sommets (voir le paragraphs 3 8 4, page 33), en construisant un invariant des sommets, basA sur six invariants chimiques de la molAcule (le nombre de haisons, le nombre d'atomes d'hydrogAne, etc.) Le programme qui implants 1'algorithme Unique SMILES est public, il est Acrit en C. Example 7.11 La notation canonigne de la molAcnle de la /n/ure 7.& a} egt la gniuante : 0(C = C 1) c(c c c 2 C C)c 1 c 2 Cette notation egt o&tenae gi I'engem&le deg angteg conpgeg egt % = {{5,9}, {3,4}}, et gi dang !'ar&re fnol&nlaire d&org corregpondant le gommet 11 egt choigi comme racine.

Fonction isEqMolecules Dans le cadre de son stage au LORIA, RAgis Durand, Atudiant & 1'ESIAL (Ucole SupArieure d'lnfor- matique et Applications de Lorraine), a intAgrA 1'algorithme Unique SMILES dans ELAN : il a dAHni une fonction built-in dans ELAN, appelAe isEqMolecules, qui prend en entrAe deux notations SMILES, si et s2, et retoume le rAsultat du test d'AgalitA entre leur notation SMILES canonique, usmiles(sl) et respectivement usmiles(s2) : isEqMolecules (si, s2) est vrai si et seulement si usmiles(sl) = usmiles(s2) 7.2. Codage des graphes moieculaires 99

H faut remarquer que si si est la notation SMILES qui correspond an terme GasEI et s2 est la notation SMILES qui correspond au terme GasEI alors la fonction isEqMolecules, dehnie sur des notations SMILES, est une fonction qui teste 1'isomorphisme des graphes moieculaires GMi et GMg.

7.2.10 Codage d'un ensemble de graphes moieculaires Pour representer en GasEI un ensemble des graphes moleculaires, nous introduisons 1'operateur associatif- commutatif + pour dehnir la sorte reactant : /* List of reactants */ nilListR : reactant; @ : (radical) reactant; @ + @ : (reactant reactant) reactant (AC); La deuxieme declaration precise qu'un objet de sorte radical est un reactant. La derniere declaration donne la methode de construction d'un ensemble de sorte reactant, en utilisant un operateur associatif- commutatif. Par la suite, un objet de sorte reactant est un multi-ensemble de radicaux. Par exemple, un melange de butane, de methyl et d'isobutane est code par le terme suivant CCCC + Ce + C(C)CC 100 Chapitre 7. Representation et codages des esp^ces cWmigues en GasEI Chapitre 8

Codage des reactions elementaires generiques primaires en GasEI

Dans le paragraphe 6.2 nous avons presents, du point de vue chimique, les neuf types de reactions elementaires generiques primaires que nous avons codees dans notre prototype, pour modeiiser la pyrolyse oxydante des structures alkyliques et cyclo-alkyliques (voir le paragraphe 6.1.2). Une reaction eiementaire est une transformation appliqu6e & une ou deux espAces chimiques, qui se produit dans certaines conditions, en modihant la structure des espAces chimiques. Une reaction chimique AlAmentaire ne crAe pas et ne dAtruit pas d'atome, mais elle casse, forme ou change une ou plusieurs haisons entre atomes. Notre but est d'exprimer les reactions chimiques comme des transformations au niveau des termes GasEI, les structures qui codent les graphes moieculaires dans notre approche. En suivant les Atapes de codage des graphes moieculaires donnAes en detail dans le chapitre 7 et en rAsumA dans le paragraphe 7.2.8, nous prAsentons dans le paragraphe 8.1 Tapplication d'une reaction chimique comme une reecriture de graphes moieculaires. Un graphe moieculaire est vu comme un ensemble d'arAtes entre sommets, et une reaction chimique est une rAgle de rAAcriture sur des ensembles d'arAtes, qui conserve les sommets et les etiquettes de sommets. Dans le paragraphe 8 2, nous reprenons les definitions chimiques des reactions elementaires generiques primaires, pour les traduire en regies de reecriture sur les graphes moieculaires, et obtenir un systeme de reecriture pour la pyrolyse oxydante. Ensuite nous exprimons, dans le paragraphe 8.3, Tapplication d'une reaction chimique comme une transformation au niveau des arbres moieculaires decores. Le systeme de reecriture pour la pyrolyse oxydante au niveaux des arbres moieculaires decores est donne dans le paragraphe 8 3 3. Dans le paragraphe 84, nous presentons d'un point de vue tree general comment const mire le systeme de reecriture pour la pyrolyse oxydante au niveau des termes GasEI. Enhn, dans le paragraphe 8.5, les differents niveaux de codage sont presentes dans un diagramme recapitulate, qui montre comment la reecriture de graphes moieculaires est codee par la reecriture d'arbres moieculaires decores, puis par la reecriture de termes GasEI.

8.1 Reecriture de graphes moieculaires

Dans ce paragraphe nous introduisons les notions necessaires pour definir les reactions chimiques comme des transformations appliquAes & Tensemble des aretes d'un graphe moieculaire. Les reactions chimiques seront vues comme des regies d'une reecriture de graphes particuhere. Rappelons qu'il n'existe pas une seule reecriture de graphe, mais plusieurs, chacune etant motivee par ses domaines duplication (voir la discution du paragraphe 4.3, page 49). Un sous-graphe GM% d'un graphe moieculaire GM a les memes sommets et les memes etiquettes sur les sommets que GM, mais ses aretes constituent un sous-ensemble des aretes de GM : DABnition 8.1 (Sous-graphe de graphe molAculaire) Un graphe GMi = (Gi,lahy,lahg), Gi = (V, Ei) eat an sous-graphe d'un graphe nwddculaire GM = (G, lahy,lahg), G = (U, E), a*

101 102 Chapitre 8. Codage dea reactions AlAmentaires gAnArigues primaires en GasEI

- Ei C E, - lohy = lahy, - loh^ = loh^l^. Comme lee reactions coupent ou changent certaines liaisons dans une molecule, on est conduit & decomposer un graphe molAculaire, en mettant en evidence une arete donnee, correspondant & la liaison qui doit etre coupAe ou transformAe. On note par (u[L],L«,u[^]), un sous-graphe avec la seule arete {%,%}. Formellement : DABnition 8.2 (ArAte vue comme un sous-graphe) I$tont donnA un graphe nwddcidoine GM = (G,lohy,lahg), ou G = (y E), et {u,u} 6 E tel gue - lohy(u) = 1%, !ohy(o) = 1^, ~~ loh^((u, u)) — luv ? olora — (G jlfiby on - G' = (y,{{u,u}}), - lahy = lahy, - lah^ = Za6a|{{u,„}}- Remarque 8.1 graphe (u[L],L«,u[^]) aera nepngaent^ graphiguenzent par

"[!«] * ------—------* %[!«,]

Sur Tensemble des sous-graphes d'un graphe moieculaire on dAh nit une operation de composition. DABnition 8.3 (Composition de sous-graphes) Aunt donnAa GMi et GMz deuz aoua-graphea du graphe moldctdaine GM = (G,lahy,lahg), G = (V, E), okra la composition des sous-graphes GMi et GMg, notAe GMi 0 GMg, eat le aoua-graphe

GMi 0 GMg = (G',la6y,la6g|g,uga) on G' = (y,Ei UEz). PropriAte 8.1 I}'gpArateur 0 eat oaaocioti/ et conznzutati/. PropriAte 8.2 (Decomposition d'un graphe en deux sous-graphes) Aant donnA un graphe nzo- lAculaire GM = (G,!ahy,!aha), G = (y,E) et une partition de aea angtea, E = E% U Ez, olora GM peut ae dAconzpoaer en deuz aoua-graphea, GM% et GMg, auec

GAf = GM% 0 GMg ou GMi eat le aoua-graphe de GM auec lea arAtea E%, et GMg eat le aoua-graphe de GM auec lea orgtea Eg. DABnition 8.4 (Morphisme de graphes molAculaires) ^tant donnAa deuz graphea nzolAculairea GM% = (Gi,lohy,lahg), Gi = (y,Ei) et GMz = (G2,lal^,lahg), Gg = (y ,Ez). En morphisme de GM% dana GMg eat une /onction / : y —^ y gui corzaerue lea gtiguettea dea aonznzeta et dea argtea, c'eat-d-dire telle gue - Vu 6 y : lal^(/(u)) = lahy(u), et - V{u,u} 6 Ei : {/(u),/(o)} 6 Ez etlah^({/(u),/(u)}) = lah^({u,u}). DABnition 8.5 En nzorphianze de graphea nzolAculairea eat in/ecti/, ai la /onction / eat infective. En iaonzorphianze de graphea nzolAculairea eat un nzorphianze pour leguel la /onction / eat hifectioe. DABnition 8.6 (Image d'un graphe par un morphisme) l$tont donnAa deuz graphea nzolAculairea GMi et GMg et / un nzorphianze de GMi dana GMz, conznze dana la dA/znition 8.^. I^'inzage de GMi par le nzorphianze /, notAe /(GMi), eat un graphe nzolAculaire /(GMi) = (G, lahy,lahg), G = (y,E), ou - y = /(y), 8.1. Reecriture de grapAea mokculaires 103

- E = {{/("),/W} I {",^} G Ei}, - kAy = W»y|y(tq), et - kAg = loA^ |g.

Definition 8.7 (Image d’un graphe par un morphisme, etendue a un sous-graphe) Etant don- n^a deoz grapAea moiecukirea GMi et GM2 et / tin morpAiame de GMi dana GM2, comma dana ka de/initiona 8.8 at 8.j. 1}'image de GMi par k morpAiame /, etendue d GM2, not8e (/(GMi) > GM2), eat an grapAe mof&akire (/(GMi) > GM2) = (G, kAy,laAg), G = (V,E), on - y = V2 - E = {{/(o),/(o)}| {o,o}eEi}, - kAy = laAy, et - kAg = laA^ |g. Remarque 8.2 Dana ce caa, GM2 pent ae d&ompoaer an deoz aoua-grapAea :

GMg = (/(GMi) > GMg) 0GA% on GM^ = (G',kA^,kA^), G' = (^,E') et - E' = Ez — E, ou E eat celui de k d^/inition 8.8, - kAy = laAy, et - kA^ = laA^ . Definition 8.8 (RAgle de rAAcritnre) Conaiderona ^Ad(T4,%c), lea grapAea moi&nkirea conatruita aor ka enaemAka dktiguettea T4 etTr- Ena regie de reecriture pour lea grapAea mof&tdairea (/Ad (TIi, %c) eat one paire orientee de grapAea moiecukirea, not& g; gr, on gi,9r G (/Ad(T4,7r). En ploa, pour reapecter k ki de k conaeruotion de k maaae, on impoae goe 1'enaemAk dea aommeta da grupAe gr et 1'enaemAk dea aommeta da grapAe g; coincident, et goe cAagae aommet ait k mgme etigoette dana gr et A Remarque 8.3 Comma noaa oikna k ooir dana k paragrapAe 8.^, ane rggk de reecriture poar ka grapAea moi&akirea peat e^dcer dea ongtea, en boater, oa modi/ier ka etigoettea dea argtea. Ear contra, elk ne modi/Ie poa ka aommeta et kar etigoette. Definition 8.9 (Systems de r66critnre) l$tantdonnga(7Ad(T4,7]c), ka grapAea mokcokirea conatruita aar lea enaemAka d'etigoettea et %c, an systems de reecriture de grapAea mokcokirea eat on enaemAk de rggka de reecriture poor grapAea moiecukirea. Definition 8.10 (Relation de reecriture de graphes moiecnlaires) Conaiderona ^Ad(T4,%c), ka grapAea moiecukirea conatruita aur ka enaemAka d'etigoettea et %c, et un enaemAk de rgglea de reecriture pour ka grapAea moiecukirea. k* relation de reecriture de grapAea moiecukirea oaaocige au agatgme de reecriture R(7, notee —eat de/inie par .- pour tooa grapAea mokcokirea GMi, GM2 6 ^Ad(%4,Tc), k grapAe moiecokire GM% ae rggcrit en GM2, note GM% —GM2, a'il eiiate : - one rggk de reecriture de grapAea mokcokirea gz -t gr G et - on morpAiame iryecti/ de grapAea mokcokirea /, de g; dana GM%, tel goe GM% = (/(g;) > GM%) 0 GM(,- et GMg = (/(gr) > GMJ 0 GM(. Remarque 8.4 Aea grapAea GM% et GM2 ne aont poa fkceaaairement conneiea, maia poiagoe nooa conaiderona aeolement dea rddctiona d'ordre 1 et g (^une 00 deoz mokcoka en entree et en aortiej, ka grapAea GM% et GM2 ont one 00 deuz compoaantea conneiea. Eooa rappekna goe cAogue compoaante conneie reprgaente pour nooa one eap&e (^molgcule ou radical liArej diatincte. Propri6t6 8.3 (Conservation des sommets d'nn graphe molAcnlaire par r66critnre) l$tantdon nga deoz grapAea mol&ulairea GM%, GM2 6 (7A!(T4,7r), tel goe k grapAe mol&ukire GM% ae rg&rit en GM2, okra ka aommeta et ka gtiguettea dea aommeta aont conaertka par la rggcriture. Ereuoe. Si GM% se r66crit en GM2, alors - il exists une r6gle de r66criture g; -t gr, tel que gf et gr ont les m6mes sommets et les m6mes etiquettes sur les sommets ; 104 Chapltre 8. Codage dea reactions eiementaires generigues primaires en GasEI

- il exists /, un morphisme injectif de graphes moleculaires, de gf dans GMi, tel que se decom ­ pose en deux sous-graphes GMi = (/(«%) qui ont les monies sommets et les mAmes etiquettes sur les sommets que GMi; - /(gi) et /(gr), les images des graphes g; et gr par le morphisme injectif /, ont les memes sommets et les memes etiquettes sur les sommets ; - le graphs GMg est obtenu par la composition de deux sous-graphes

= (/(gr) > GMi) 0

qui ont les memes sommets et les memes etiquettes sur les sommets que GMi. Done GMg a les memes sommets et les memes etiquettes sur les sommets que GMi.

8.2 Systems de reecriture de graphes moleculaires pour la pyro- lyse oxydante

Dans ce paragraphe nous reprenons la definition chimique de chacune des reactions eiementaires generiques primaires (presentees dans le paragraphe 6.2), pour les traduire en regies de reecriture sur les graphes moleculaires. L'ensemble de ces regies constitue le systeme de reecriture (de graphes moleculaires) pour la pyrolyse oxydante. Pour coder correctement les reactions eiementaires, en utilisant 1'expertise chimique, il faut prendre en compte des restrictions liees aux proprietes cinetiques et thermodynamiques des espAces, comme par exemple, le fait que les structures aromatiques sont conservees (voir le paragraphe 6.1.2), et le fait que la react!vite des radicaux libres est differente, en fonction de leurs structures (voir le paragraphe 6.3.2). Ces restrictions, appeiees /Btnea chimiguea, sont traduites en conditions d'appheation des regies de reecriture sur les graphes moleculaires.

8.2.1 Regies pour Pamorgage unimoleculaire (ui) Nous reprenons la definition chimique de 1'amorgage unimoleculaire, donnee dans le paragraphe 6.2.1 : DeBnition 8.11 (Reaction chimique d'amorqage unimoleculaire) P'amorpage unimoleculaire d une molecule donne naiaaance d deuz radicauz librea, par rupture d'une liaiaon eimple, C—C ou C—H .-

z-g —^ z* + *g (8.1) L'Aquation (8.1) met en evidence, dans le membre gauche, la liaison simple cassee, et, dans le membre droit, les deux electrons non apparies; z et g notent le reste de la molecule. Cette definition se traduit au niveau des graphes moleculaires par un ensemble de deux regies de reecriture de graphes moleculaires. Definition 8.12 (Amorgage unimoleculaire comme regies de reecriture de graphes moleculaires) Pea rdglea de reecriture de graphea moldcidairea gui d&riuent Pamorpage unimol&ulaire a ont lea auiuantea : (ui C-C) Pour Pamorpage unimol&ulaire par rupture d'une liaiaon C—C :

1[C] #------# 2[C] (8.2)

(ui C-H) Pour Pamorpage unimol&ulaire par rupture d'une liaiaon C—H .-

1[C]. .2[H] (8.3) 8.2. Systems de rAAcriture de graphes molAculaires pour 7a pyrolyse oxydante 105

DABnition 8.13 (Filtres chimiques pour Ffunorgage unimolAculfdre) 7«a /T7trea cAimipuea puenoua auona coTwid^a pour 7'amorpape unimoTdcuTaire a out 7ea auiuanta : - F n'p a paa de rupture de 7*uiaou C—C dana un prapAe mo7&u7uire, a* cette liaiaon uppurtieut d un cpcTe. Ce /77tre eat actiod aouueut, puree pue 7u cAimie dea Airudicuuz Cdea rudicuuz uuec deuz pointa rudicaTuireaj n'eat pua oaaez connue. - F n'p a pua de rupture de 7*uiaou C—H, ai 7'utome de car&oue uppurtieut d un cpcTe uromutipue. Remarque 8.5 7«a deuz rdplea de rddcriture pour 7'umorpupe uuimo7&u7uire, 7u rdp7e et 7u rdp7e (^8.8j, aeront repr^aeut&a pur 7u auite pur une aeu7e m^tu-rdp7e :

simple simple <2Q m TiJ P r J (V 1[C] . . 2[X] —1[C] . ^. 2[A] (8.4) ou X note une dtipuette C ou une dtipuette H.

8.2.2 R&gle pour Famorgage bimoleculaire (bi) La definition chimique de 1'amorgage bimoleculaire (voir le paragraphe 6.2.2) : Definition 8.14 (Reaction chimique d'amorgage bimoleculaire) Dana 7'amorpape Aimo7dcu7aire, une mo7dcu7e d'ozppdne arracAe un atome dhpdrppdne d'une aoua-atructure oTAplipue ou cpcTo-oTAplipue z : 0 = 0 + H-z —l .OOH + .z (8 5) L'Aquation (8.5) met en evidence, dans le membre gauche, la molecule d'oxygAne et la liaison simple cass6e, et, dans le membre droit, les deux electrons non apparies; z note la molecule sans Tatome d'hy- drogene. Definition 8.15 (Amorgage bimoleculaire comme regie de reecriture de graphes moleculaires) 7x* rdp7e de rddcriture de prupAea mo76:u7airea pui ddcrit 7'amorpupe Aimo7dcu7aire eat 7a aumante :

#------# #------# ------# ------# (8.6 ) 1[0] 2[0] 3[H] 4[C] 1[0] 2[0] 3[H] 4[C]

DABnition 8.16 (Filtre chimique pour Famorgage bimolAculaire) Four 7'amorpape Aimo7dcu7aire, i7 n'p a paa de rupture de lioiaon C—H ai 7'atome de carAone appartient d un cpcTe aromatipue.

8.2.3 Regies pour la metatMse (me) La definition chimique de la metathese, reprise du paragraphe 6.2.3, est la suivante : DABnition 8. IT (RAaction chimique de mAtathAse) Dn mdtatAdae, un radical 7iAre de tppe ^ (^ooir 7e paraprapAe arracAe un atome H d'une aoua-atructure oTAplipue ou cpc7o-o7kp7ipue, z :

•/? + H — x —y j3 — H + *x (8.7) DABnition 8.18 (MAtathAse comme rAgles de rAAcriture de graphes molAculaires) Four oAte- nir 7ea 8 rdplea de rddcriture de propAea moTdcuTairea pui ddcriuent 7a mdtatAdae, i7 /aut rempTacer dana 7a rdp7e de rddcriture auiuante, 7'dtipuette A par cAacune dea dtipuettea H, C, et O

#------# #------# (8.8) 1[A] 2[H] 3[C] 1[X] 2[H] 3[C]

DABnition 8.19 (Filtres chimiques pour la mAtathAse) Four opplipuer 7a mdtatAdae i7/out qfouter deuz conditiona : 106 CAapitre 8. Codage dea reactions eiementaires g^n&lgues primaires en GasEI

- dl n'y a paa de rupture de liaiaon C—H, ai ratome de carbone appartient a un cycle aromatipue; ftmpZe - F'angte doit appartenir a un prapAe mol&ulaire pui code un radical de type ^ (lea 1[X]

radicauz ^ pue noua conaid^rona aont *H, *0*, *OH, *OOH, eCH;, [Q] ).

8.2.4 R&gle pour la reaction ipso (ipso) Definition 8.20 (Reaction chimique ipso) (7n atome fibre *H a'additionne aur un cycle aromatipue Ar pour/ormer une atructure pui ae d&ompoae par rupture de fiaiaou C—C alkylipue ou cyclo-alkylipue :

*H + Ar — z —^ H — Ar + *z (8.9)

DeBnition 8.21 (Ipso conune regie de reecritnre de graphes moiecnifdres) fa rAple de r^cri- ture de prapAea fnol&ulairea pui d&rit 1'ipao eat fa auiuante : gtmpZe gtmpZe gtmpZe gtmpZe #------# #------# • # (8.10) 1[H] 2[C1 3[C1 1[H1 2[C1 3[C1

DeBnition 8.22 (Filtres chimiqnes ponr i'ipso) Four appfipuer f'ipao il/aut impoaer fea conditiona auiuantea : - f'atome Aipuet^ H et aa boucfe code un radical *H (cet atome n'eat paa connects a un autre); - f'atome & eat un atome aur un cycle aromatipue, et f'atome # u'appartieutpaa a un cycle aromatipue.

8.2.5 Regies pour la b&ta-scission (bs) DeBnition 8.23 (Reaction chimique de beta-scission) Fh radical fibre ae d&orapoae unimol&ulai- rement par rupture d'une liaiaon C—C ou C—H aitu^e en poaition beta (a diatance &) par rapport au point radicalaire. F'atome C ou H concern^ doit appartenir a une aoua-atructure de type alcane ou cyclane, a fezcluaion d'une aoua-atructure aromatipue :

*z — y — z z = y + *z (8.11)

DeBnition 8.24 (Beta-scission conune regies de reecritnre de graphes moiecnifdres) Fea r^plea de r^criture de prapAea moieculairea pui d&rioent la beta-aciaaion a out lea auiuantea : (bs C-C) Four la beta-aciaaion par rupture d'une liaiaon C—C :

#------# (8.12) 1[C1 2[C1 3[C1 1[C1 2[C1 3[C1

(bs C-H) Four la beta-aciaaion par rupture d'une liaiaon C—H .-

double • # (8.13) 1[C1 2[C1 3[H1 1[C1 2[C1 3[H1

Dehnition 8.25 (Filtres chimiques ponr la beta-scission) Fea/Htrea cAimipuea pue noua auona conai- d^rda pour la beta-aciaaion aont lea auiuanta : 8.2. Systems de reecriture de grapAes moieculaires pour 7a pyrolyse oxydante 107

- F n'p a paa de rupture de 7iaTaon C—C dana un prapAe mo7&u7aire, a* cette liaiaon appartient d un cycle aromatipue. - F n'y a paa de rupture de 7*aTaor* C—H, ai 1'atome de carAone uppurtient d un cycle aromatipue. Remarque 8.6 Comme pour 1'amorpape unimol^culaire (^ooir la remarpue 8.5), 7ea deuz rdplea de la Agta-aciaaiou peuuent 6tre not&a pur une aeu7e m^ta-rdple : awnpie ------•------• —y •------• 1[C] 2[C] 3[X] 1[C] 2[C] ou X note une Aipuette C ou une Aipuette H.

8.2.6 R6gle pour Toxydation (ox) Definition 8.26 (Reaction chimiqne d'oxydation) (The mo7dcu7e d'ozypdne, Og, arracAe un atome H aiW aur une aoua-atructure de type olcane ou cyclone, en poaition Aeta pur rapport au point radicaTaire :

0 = 0 + H-z-y. —.OOH + z = y (8.15) Definition 8.27 (Oxydation comma rAgle de r66criture de graphes moiecnlfdres) Fa rdple de rd- 6:riture de prapAea mo76:u7oirea pui d&rit 7'ozpdation eat 7a auiuante :

* ------• •------•------• —^ —y •------•------• •------• 1[0] 2[0] 3[H] 4[C] 5[C] 1[0] 2[0] 3[H] 4[C] 5[C] (8.16) Definition 8.28 (Filtre chimiqne pour 1'oxydation) Four 1'ozydation, il n'y a paa de rupture de 7iaiaon C—H, ai 7'atome de carAone 4 appartient d un cpcTe aromatipue.

8.2.7 Regies pour la combinaison d'un radical avec le biradical #0» (co.O.) Definition 8.29 (Reaction chimiqne de combinaison d’un radical avec le biradical •□•) La com- Ainaiaon d'un radical auec 7e Airadical *0* donne naiaaance a un nouueau radical :

•O • + • x —y *0 — x (8.17) Definition 8.30 (co.O. comme regies de reecritnre de graphes moieculaires) Four oAtenir lea troia r&plea de r^criture de prapAea mol&ulairea pui d&riuent la reaction de comAinoiaon d'un radical auec le Airadical *0* il au^!t de remplocer X par C, O, ou H, dana la mAa rdple auiuante :

# (8.18) 1[0] 2[X] 1[0] 2[X] ou X note une Aipuette C, une Aipuette O, ou une Aipuette H. Definition 8.31 (Filtres chimiqnes pour la combinaison) T^ea/Htrea cAimipuea pue noua auona conai- dA^a pour la comAinaiaon ooec le Airadical *0* aont lea auiuanta : - 1'atome Aipuete auec X doit 6tre dana un prapAe mol&ulaire pui code un radical pui ne contient paa d'autre atome d'ozpp^ne; - ainon, ai 1'atome etipuete auec X eat dana un prapAe mol&ulaire pui code un radical contenant dea atomea d'ozpp^ne, olora il /out pue 1'atome Aipuete auec X ne aoit paa 1'atome d'ozpp^ne (^on ne permet paa la /ormation d'une liaiaon O—O d la auite d'une reaction de comAinaiaon) , en plua le nomAre d'atomea d'ozypdne doit 6tre limits. 108 CAapitre 8. Codage dea reactions ^l^mentaires g^n&lgues primaires en GasEI

8.2.8 Regies pour la combinaison de radicaux libres (co) Definition 8.32 (Reaction chimiqne de combinaison de radicaux libres) Aa comAiaaiaoa de deaz radicaaz liArea doaae aaiaaaace d aae morale, par /ormatioa d'aae liaiaoa cooaleate :

»x + *P (8.19)

DeBnition 8.33 (Combinaison comme regies de reecritnre de graphes molAcnlaires) Poar oA- teair lea d rdplea de r^critare de prapAea mol&alairea pa* d&riaeat la coraAiMaiaon de deal radicaaz l*6rea, *1 /aat remplacer daaa la rdple de r^critare aaioaate, lea Aipaettea % et F par cAacaae dea Aipaettea H, C, et O gtmpfe gtmpfe gtmpZe 1[X] #------# 2[y] (8.20) DeBnition 8.34 (Filtres chimiques ponr la combinaison) Con/orraAneat aaz rdplea ciaAipaea ^pY de redaction a prior*, aoaa a'aaoaa coaaidA^, poar la coraAiaaiaon pae lea rddctioaa pa* ae prodaiaeat eatre lea priaeipaaz radicaaz de tppe ^ et Y (aoir le paraprapAe ,- ceci implipae la coadiboa aaiaaate d'ap- plicatioa dea rdplea : gtmpZe A'argte doit apparteair a aa prapAe mol&ala*re pa* code aa radical de tppe et 1'argte 1[X] gtmpie doit apparteair d aa propAe mol&alaire pai code aa radical de type Y. i[y]

8.2.9 Regies pour la dismutation de deux radicaux libres (di) Definition 8.35 (Reaction chimiqne de dismutation) (7a radical liAre *z arracAe aa atome d%p- drppdae d'aa deazidme radical liAre, aitad ea poaitioa Adta par rapport aa poiat radicolaire, poar doaaer aoiaaoace d deal mol&alea :

•x + H — y — z* —k x — H + y — z (8.21)

Definition 8.36 (Dismutation comme regies de reecritnre de graphes moiecnlfdres) Poar oA teair lea 72 r&plea de rddcritare de prapAea moldcalairea pai ddcriaeat la diamatatioa, il /aat reraplacer daaa la rdple de rddcritare aaiaaate, IVtipaette X par cAacaae dea dtipaettea H, C, et O, et lea dtipaettea F et % par cAacaae dea dtipaettea C, et O :

#------#------#------# * . (8 22) 1[X] 2[H] 3[y] 4[Z] 1[X] 2[H] 3[Y] 4[Z]

Dehnition 8.37 (Filtres chimiques ponr la dismutation) Comme poar la comAiaaiaoa, aoaa oaoaa coaaiddrd aealemeat lea rddctioaa pai ae prodaiaeat eatre lea priacipaaz radicaaz de tppe /) et Y .-

A'ardte doit apparteair d aa prapAe moldcalaire pai code aa radical de tppe /), et Targte 1[X]

doit apparteair d aa prapAe moldcalaire pai code aa radical de type Y. 1[Z] 8.3. Reecriture d'arbres moleculaires decores 109

8.2.10 Pyrolyse oxydante de graphes moleculaires PO est Tensemble dee reactions chimiques de la pyrolyse oxydante : PO = {ui, bi, me, ipso, be, ox, co.0., co, di} Pour chaque reaction chimique de la pyrolyse oxydante nous avons donne un ensemble de regies de reecriture sur les graphes moleculaires. Notons cet ensemble par POg/% - Gtant donne un ensemble d'espAces chimiques (ou une solution chimique), «$i, et une reaction chimique r 6 PO, alors Tapplication de r & produit une ou deux espAces chimiques, notees par <%. Notons GMi le graphe moieculaire correspondant & <$i, rg/% 6 POg/% une des regies de reecriture correspondante & r, et GMg le graphe moieculaire correspondant & 5%. D faut remarquer que «$i et 5% ont chacun une ou deux especes chimiques. Quand <$i a deux espAces chimiques, alors le graphe moieculaire correspondant n'est pas connexe. Dans Thypothese que les especes chimiques sont representees & Taide des graphes moleculaires, on dit que la regie de reecriture rg/% sur des graphes moleculaires, traduit ou simule la reaction chimique r, car le diagramme suivant commute :

8.3 Reecriture d’arbres moleculaires decores

Dans le paragraphe 8 2 nous avons montre comment traduire les reactions chimiques que nous consi- derons dans notre prototype, en un ensemble de regies de reecriture sur des graphes moleculaires. Le but de ce paragraphe est d'exprimer ces reactions chimiques comme des transformations au niveau des arbres moleculaires decores. Dans le paragraphe 8.3.1 nous presentons une approche qui utilise la relation de reecriture de graphes moleculaires. Dans le paragraphe 8.3.2 nous introduisons des regies de reecriture sur des arbres moleculaires decores, pour exprimer les reactions chimiques sur ces structures. Dans un arbre moieculaire decore AMc = (G, laby, lab#, lobe), G = (P,E), construit sur les en­ sembles d'etiquettes Tit, %c et 7c, la fonction lake est utilises pour coder les fermetures de cycles. Par la suite, Ec note Tensemble des aretes simples coupees dans le graphe moieculaire, pour obtenir Tarbre moieculaire decore AMc-

8.3.1 En passant par les graphes moleculaires Pour dehnir la reecriture d'arbres moleculaires, une premiere methods est d'utiliser la reecriture de graphes moleculaires : la reecriture se fait au niveau des graphes moleculaires, et on utilise les transfor ­ mations entre arbres moleculaires decores et graphes moleculaires, dehnies dans le chapitre 7.

...... ^..... > A&fg,

free2grapk gmp/&2free(^^)

GMi GAfg

L'arbre moieculaire decore AM^k se reecrit en AM^ si 1. GMi = tre@2graph(AM(,), et est Tensemble des aretes de GM% qui sont coupees dans AMg, ; 2. le graphe moieculaire GM% se reecrit en GMg par la relation donnee dans la definition 8.10 (page 103), dans le systeme de reecriture POg/% ; 110 Chapltre 8. Codage des reactions AlAmentaires gAnArigues primaires en GasEI

3. 1'arbre molAculaire dAcorA obtenu, AMg, vArihe AMg = graph2tree(Eg), ou Eg est rensemble des arAtes de GMg qui sent couples dans AMg. Cette approche nAcessite des codages et des dAcodages pour passer d'un niveau & 1'autre, et elle ne donne pas de mAthode pour dAcrire les regies de rAAcriture au niveau des arbres molAculaires dAcorAs, pour les coder ensuite au niveau des termes GasEI. Le paragraphe suivant prAsente une autre approche qui permet d'exprimer la rAAcriture des graphes molAculaires par la rAAcriture des arbres molAculaires dAcorAs.

8.3.2 Systems de reecriture d'arbres moleculaires decores pour la pyrolyse oxydante D faut redAfinir les notions introduites pour la rAAcriture de graphes moleculaires : sous-graphe d'un arbre molAculaire, composition de sous-graphes, morphisme d'arbres moleculaires, regie de reecriture d'arbres moleculaires, relation de reecriture d'arbres moleculaires. Pour dehnir le sous-graphe d'un arbre moieculaire decore on impose, en plus des conditions pour les sous-graphes des graphes moleculaires, que 1'ensemble des aretes coupAes du sous-graphe soit un sous- ensemble de 1'ensemble des aretes coupAes de 1'arbre moieculaire decore. Definition 8.38 (Sous-graphe d'un arbre moieculaire decore) En arbre mol&tdaire dgcorg AMg = (Gi,!aby,!abg,!abg), G% = (y,E%) eat un aoua-propbe d'un arbre fnal&ulaire dgcong AMc = (G, laby, labg, lab^), G = (V,E), a* - Eg, C Ec, - Ei C E, - loby = laby, - lab^ = labg|g,, - labg = lab^. DABnition 8.39 (Composition de sous-graphes d'un arbre moieculaire decore) ^tont donnds AM% et AMg deuz aoua-prqpbea de 1'arbre molgculoine dgcong AM, tel puc Eg n Eg = 0, olora la composition des sous-graphes AMi et AMg, not& AMi Ox AMg, eat le aoua-propbc AMi Ox AMg = (G',laby,labg labg) ou - G' = (V, E% U Ez), ct - labg(u) = labg(u) . lal^,(u), ou . note la concatenation dea mota. Propriete 8.4 (Decomposition d'un arbre moieculaire decore en deux sous-graphes) .0tont donne un arbre moieculaire decore AMc = (G, laby, labg, lobe), G = (V,E), une partition de aea argtea, E = Ei U Eg, et une partition de 1'enaemble dea argtea coupeea, E = Eg U Eg, olora lo decompoai- tion de AMc en deuz aoua-propbea eat donnee par AAfd = AAfg Ox AAfg ou AMg eat le aoua-propbe ouec lea argtea Ei et 1'enaemble dea argtea coupeea Eg, et AMg eat le aoua- propbe ouec lea argtea Eg et 1'enaemble dea orgtea coupeea Eg. Definition 8.40 (Morphisme d'arbres molAculaires dAcorAs) En morpbiame d'orbrea moieculoirea decorea eat un morpbiame de propbea moieculoirea comme dona 8.^ pui conaerue, en plua, lea coupurea de epelea : Vu 6 1^ : lobe(u)eat un aoua — mot de !obc(/(u)) De fagon similaire on peut adapter les autres definitions du paragraphe 8.1, pour obtenir la relation de rAAcriture d'arbres molAculaires dAcorAs. Le systAme de rAAcriture d'arbres molAculaires dAcorAs, pour la pyrolyse oxydante, est obtenu en faisant la rAunion des deux ensembles de rAgles : - 1'ensemble POxjW4-g/%, des rAgles de rAAcriture de graphes molAculaires, du paragraphe prAcAdent, ou on considAre que pour chaque sommet u, lobg(u) = s (s est le mot vide); 8.3. Reecriture d'arbres moieculaires d6cor6s 111

- rensemble PO^wc-c = pour les regies qui coupent des liaisons C—C, dans 1'amorgage unimoiecu- laire, la beta-scission et la reaction ipso, il faut ajouter les regies (8.23) —(8.29), qui sont des regies pour couper les liaisons qui sont codecs par des paires d'etiquettes sur les sommets. Nous rappelons qu'une liaison codee par une paire d'etiquettes correspond & une arete simple d'un cycle. Notons cet ensemble de regies de r66criture sur les arbres moieculaires decores par -

Amorgage unimoleculaire Pour 1'amorgage unimoleculaire par rupture d'une liaison C—C, codee par une paire d'etiquettes, il faut ajouter la regie suivante :

(8.23) 1[C] . ' 2[C1 ou k note une etiquette de coupure de cycle. Cette regie ne s'applique pas & un arbre moieculaire decore AM, si la liaison codee par la paire d'etiquettes k appartient & un cycle^ dans le graphe moieculaire associe. Autrement dit, cette regie ne s'applique pas & AM, si les images des sommets 1 et 2, par un morphisme injectif, dans AM, sont relies par une chalne d'aretes.

B6ta-scission Pour la beta-scission par rupture d'une liaison C—C, codee par une paire d'etiquettes, il faut ajouter la regie suivante :

(8.24) double ■ #------# ■ # irci 2[C1 3[C1 1[C1 2[C1 3[C1 ou k note une etiquette de coupure de cycle. Cette regie ne s'applique pas, si la liaison codee par la paire d'etiquettes k appartient & un cycle aromatique, dans le graphe moieculaire associe. Autrement dit, cette regie ne s'applique pas & un arbre moieculaire AM, si les images des sommets 2 et 3, par un morphisme injectif, dans AM, sont reliees par une chalne d'aretes aromatiques.

Si la liaison simple entre les sommets 1 et 2 est aussi codee par une paire d'etiquettes, alors & la suite de la beta-scission cette liaison devient explicate dans 1'arbre moieculaire decore, en etant etiquetee avec double, mais ceci peut introduire un cycle dans cet arbre moieculaire decore. Trois situations sont possibles :

1. Dans 1'arbre moieculaire decore, 1'image du sommet 3 appartient & la chalne d'aretes qui relie les images des sommets 1 et 2, comme dans 1'exemple suivant

double

3

il Cette condition interdit que 1'amorgage unimoleculaire se fasse sur un cycle. L'amorcage unimoleculaire sur un cycle non aromatique produit des biradicaux, et cette situation est souvent evitee. 112 Chapitre 8. Codage des reactions ^16mentaires g6n6rigues primaires en GasEI

A la suite de la bGta-scission, par coupure de la liaison entre les images des sommets 2 et 3, puisque la liaison entre les images des sommets 1 et 2 devient explicate, alors la paire d'6tiquettes k dispar alt. La r6gle est la suivante :

(8.25)

#------# #------# 1[C] 2[C] 3[X] 1[C] 2[C] 3[X] ou X note une etiquette C, O ou H

2. Dans Tarbre molAculaire d6cor6, les images des sommets 2 et 3 sont relives settlement par Tar&te incidente & ces sommets, comme dans Texemple suivant :

3 o o 3 En ajoutant une ar&te 6tiquet6e double, entre les images des sommets 1 et 2, alors le cycle cod6 par la paire d'Gtiquettes se ferme. Pour tester dans la classe des arbres molGculaires d6cor6s, il sufbt de trouver sur ce cycle, une autre ar&te 6tiquet6e simple, pour coder la coupure de ce cycle. La rGgle est la suivante :

simple m simple 0 0 Xx-- # # # # • - —y e e ^ e • # 1[C] 2[C] 3[X] 4[y] 5[Z] 1[C] 2[C] 3[X] 4[y] 5[%] (8.26) ou k note une etiquette de coupure de cycle, X note une etiquette C, O ou H, y et Z notent une etiquette C ou O, et I'ar&te entre les images des sommets 4 et 5 appartient au cycle dont la fermeture est cod6e par la paire d'Gtiquettes k.

3. Dans Tarbre molGculaire d6cor6, la liaison entre les images des sommets 2 et 3 appartient & un autre cycle, dont la fermeture est cod6e par la paires d'6tiquettes k', comme dans Texemple suivant

6

4 7 double

5

La situation est similaire & la pr6c6dente : en ajoutant une ar&te 6tiquet6e double, entre les images des sommets 1 et 2, alors le cycle cod6 par la paire d'Gtiquettes se ferme, et une autre ar&te 6tiquet6e simple est utilise pour coder la coupure de ce cycle. En plus, & la suite de la coupure de la liaison entre les images des sommets 2 et 3, le deuxiGme cycle dispar alt, done Tar&te cod6e par la paires d'Gtiquettes k' devient explicate. La r6gle de b6ta-scission est la suivante :

k' k'

# # #------# # # 1[C] 2[C] 3[X] 4[y] 5[Z] 6[f/] 7[y] 8.3. Reecriture d'arbres moleculaires decores 113

atmpfe (8.27) double gtmpZe • # # #------# 1[C1 2[C1 3[Xl 4[y] 5[%1 6[m 7[y] ou X, note une etiquette C, O on H, y, %, [/ et y notent une etiquette C on O, 1'arGte entre lee images des sommets 4 et 5 appartient an cycle dont la fermeture est codee par la paires d'etiquettes k et 1'arGte entre les images des sommets 6 et 7 appartient an cycle dont la fermeture est codee par la paires d'etiquettes k'. Les regies (8.25)-(8.27) ne s'apphquent pas, si la liaison entre les images des sommets 2 et 3 appartient & un cycle aromatique, dans le graphe moieculaire associe.

Si les deux liaisons simples, entre les sommets 1 et 2 et entre les sommets 2 et 3, sont codecs par des paires d'etiquettes, alors il faut disposer de la regie suivante :

1[C] 2[C] 3[X] 4[y] o[Z] 1[C] 2[C] 3[X] 4[Y] o[Z] (8.28) ou k et k'notent des etiquettes de coupure de cycle, X note une etiquette C, O ou H, y et Z notent une etiquette C ou O. Cette regie ne s'applique pas, si la liaison codee par la paire d'etiquettes k' appartient & un cycle aromatique, dans le graphe moieculaire associe.

La reaction ipso Pour la reaction ipso par rupture d'une liaison C—C, codee par une paire d'etiquettes il faut ajouter la regie suivante :

(8.29)

#------# 1[H] 2[C] 3[C] 1[H] 2[C] 3[C] ou k note une etiquette de coupure de cycle. Cette regie s'applique settlement si, dans le graphe associe, 1'atome etiquete H et sa boucle codent un radical *H, si de plus, 1'atome etiquete 2 est un atome sur un cycle aromatique, et si 1'atome 3 n'appartient pas & un cycle aromatique.

8.3.3 Pyrolyse oxydante d'arbres moleculaires decores 6tant donnes GMi, un graphe moieculaire, et rg/% 6 POg/%, une regie de reecriture sur des graphes moleculaires pour la pyrolyse oxydante, alors replication de rg/% & donne un graphe moieculaire GAfg- Soit AM^, un des arbres moleculaires decores obtenus & partir de GMi en coupant les aretes qui sont dans 1'ensemble 1. Si la regie rg/% ne transforme pas les aretes de 1'ensemble &lors la regie de reecriture d'arbres moleculaires decores est definie comme la regie rg/%, ou 1'on considere que pour chaque sommet u, lob^W = s- On note 1'ensemble des regies obtenues & partir des regies r&M E POg/% L'ensemble des aretes coup6es dans AM^ est le m6me que dans AM^,. 2. Si la regie rg/% transforme les aretes de l'ensemble &lors il existe une regie parmis les regies (8.23) —(8.29) qui lui correspond. Dans tons les cas, la regie de reecriture d'arbres moleculaires decores, traduit ou simule la regie de reecriture rg/% , de graphes moleculaires, et la sitiation est representee par le diagramme suivant : 114 Chapltre 8. Codage des reactions ^16mentaires g6n6rfgues primaires en GasEI

CMi GAfg graph2tree ) tree2gmp/& AM(.

8.4 Reecriture de termes GasEI

Lee regies pr6c6dentes s'appliquent sous certaines conditions. Dans les paragraphes suivants nous pr6sentons d'abord d'un point de vue tr6s g6n6ral les motifs recherch6s (dans le paragraphe 8.4.1), puis les conditions & verifier pour replication des regies (dans le paragraphe 8.4.2) et les transformations les plus utilisGes (dans le paragraphe 8.4.3). Notre but n'est pas de presenter I'int6graht6 du code ELAN, mais plutbt de mettre en Evidence les probl^mes que nous avons dh rAsoudre et le principe des solutions propos6es.

8.4.1 Sous-graphes & detecter En analysant les regies de r66criture d^hnies pour coder la pyrolyse oxydante au niveau des arbres molAculaires d6cor6s, nous avons identihA, dans le membre gauche des regies, cinq sous-graphes particulars & detecter :

1. le point radicalaire, not6 , qui intervient dans les sept derniers types de reactions ;

2. une haison simple entre un atome de carbone et un atome d'hydrogGne, not6e Q * * H ' qui intervient dans six types de reactions : 1'amorgage unimol6culaire, 1'amorgage bimolGculaire, la m6tath6se, la b6ta-scission, 1'oxydation, et la dismutation. 3. une haison simple entre un atome d'oxygGne et un atome d'hydrogGne, not6e Q , , g , qui intervient dans notre prototype settlement dans la reaction de dismutation. 4. une haison simple entre deux atomes de carbone, not6e Q . g ; ce sous-graphe est settle­ ment rechercM dans 1'oxydation et dans la dismutation, et il est rechercM et modifi6 dans trois autres types de reactions : 1'amorgage unimol6culaire, la reaction ipso, et la bGta-scission. La liaison simple entre deux atomes de carbone peut aussi Gtre cod6e par une paire d'6tiquettes. 5. la molecule d'oxyg^ne, not6e Q . , Q , qui intervient dans les reactions d'amorgage bimo- 16culaire et d'oxydation. La figure 8.1 resume les sous-graphes & detecter et leurs apparitions dans le membre gauche des reactions.

Detecter le point radicalaire Pour detecter le point radicalaire, situ6 dans la racine de 1'arbre molAculaire d6cor6, il sufht de trouver le motif (- e) parmi les fils de la racine. Une telle situation se filtre par le terme I (- e) LS, ou la variable I est de sorte symbol, e est une const ante de sorte radical et la variable LS est de sorte list_radical.

Detecter une liaison simple entre un atome de carbone et un atome d’hydrogene Les atomes d'hydrogGne ne sont pas repr6sent6s dans les termes GasEI. Pour detecter une liaison simple C—H, il sufht qu'il existe au moins un atome d'hydrog^ne dans la racine de 1'arbre molGculaire d6cor6. Nous avons implants en ELAN un op&rateur no_H qui retoume le nombre d'atomes d'hydrogGne reh6s & la racine d'un terme GasEI. La mGthode de calcul et le code ELAN sont pr6sent6s dans le paragraphe 8.4.4. 8.4. Redcriture de termes GasEI 115

Point Reaction AlAmentaire radical- Liaison Liaison Liaison 0=0 laire C—H O H C—C % % ui 3 - p —^ 3 * + *p bi 0 = 0 + H-z —^ .OOH + % * me •/? + H — x —y f3 — H + •:/: % % ipso •H + Ar — x —> H — Ar + »x % % % % % bs *3 — P — Z -----^ 3 = P + *Z % % * ox 0 = 0 + H - 3 - p. —y .OOH + 3 = p % co.O. • O • + #3 -----> *0 — 3 % CO #3 + ^ -----^ 3 - P di *3 + H — p — Z# -----^ 3 — H + p = Z % % %

FiG. 8.1 - Filtres presents dans les reactions eiementaires g6n6riques primaires

Pour verifier s'il exists une liaison simple C—H, if sufHt d'introduire un test dans la partie condition- nelle de la regie ELAN : [] I LS => ... if no_H (I LS) >= 1

Deteeter une liaison simple entre deux atomes de earbone Pour detecter une liaison simple entre la racine et un de ses His, il sufHt de trouver le motif comme par example, dans le terme I (- Rad) LS, ou la variable I est de sorte symbol, la variable Rad est de sorte radical et la variable LS est de sorte list_radical. Pour detecter une liaison simple non-explicite, entre la racine et un de ses His, liaison cod6e par une paire d'etiquettes, il faut que 1'etiquette de coupure de cycle de la racine se retrouve parmi les etiquettes de coupure de cycle d'un de ses His. Nous utilisons un op6rateur get_cycle_label, defini sur les termes GasEI, qui retourne la liste de tous les entiers codant les coupures de cycle. Pour un terme GasEI de la forme I (tly Rad) LS il sufHt de verifier qu'un element de la liste donnee par get_cycle_label (I), se retrouve dans la liste donnee par get_cycle_label (Rad). Observons que ce motif Hltre bien toutes les liaisons simples non-explicites, par le Hltrage associatif-commutatif du systeme ELAN.

8.4.2 Conditions d'application Les Hltres chimiques, restrictions des applications des regies codant les reactions chimiques, se re- groupent en trois categories : - les Hltres lies & 1'appartenance d'un atome & un cycle aromatique ; - les Hltres lies & la position d'une liaison dans la molecule : il faut veriHer si une liaison simple appartient ou n'appartient pas & un cycle (aromatique) ; - les Hltres lies & 1'appartenance d'un radical & une classe particuliere, comme par exemple la classe des radicaux de type /), ou la classe des radicaux de type Y.

Verifier 1’appartenance d’un atome a un cycle aromatique La convention utilisee dans SMILES, et dans les termes GasEI, est de mettre en minuscule les atomes de earbone ou d'oxygGne qui sont sur un cycle aromatique. Definition 8.41 (is_aromatic) L'opdrotear is_aromatic prend en entrde an a emmet, de type symbol, et retoame true aealement a'd eat arematipae. rules for bool I : symbol; n : int; 116 Chapitre 8. Codage des reactions eiementaires g^n&igues primaires en GasEI global [] is_aromatic(c) => tme end [] is_aromatic(o) => tme end [] is_aromatic(C) => false end [] is_aromatic(0) => false end

[] is_aromatic(X n) => is_aromatic(X) end end

Verifier 1’appartenance d’une liaison a un cycle Gtant donne un terme GasEI I (- Rad) LS, ou la variable I est de sorte symbol, la variable Rad est de sorte radical et la variable LS est de sorte list_radical; pour verifier si la liaison simple entre la racine I est son fils Rad appartient & un cycle, il faut obtenir Intersection de Tensemble des etiquettes de coupure de cycle de Rad get_cycle_label(Rad) et Tensemble des etiquettes de coupure de cycle du reste du terme get_cycle_label(X LS) Si cette intersection est non vide, alors la liaison appartient & un cycle. Pour savoir si la liaison appartient & un cycle aromatique il faut verifier que Tatome X et celui de la racine du terme Rad sont aromatiques.

Verifier 1’appartenance d’un radical a une classe Pour verifier 1'appartenance d'un radical & la classe des radicaux de type /), nous avons defini la constants BetaList, qui est une liste de radicaux /); Toperateur is_Beta verifie 1'appartenance d'un radical donne & cette liste. Definition 8.42 (is_Y) Pour u^ri/ier 1'appartenance d'un radical a la classe dee radicauz de tppe Y nous auons prig en compte la /orme de ces radicauz : rules for bool LSI, LS2, LS3 : list_radical; cl : int; Rad : radical; global [] is_Y( C(-e)(- C (= C LS3) LS2) LSI) => true end [] is_Y( C(-e)(- c LS2) LSI) => true end [] is_Y( C(-e)(- c cl LS2) LSI) => true end

[] is_Y(Rad) => false end end

8.4.3 Transformations des sous-graphes Dans ce paragraphs nous presentons les transformations des sous-graphes utilisees dans le codage des regies de reecriturs au niveau des termes GasEI. fi s'agit d'efiacer ou ajouter des aretes. Ces operations se font toujours au niveau de la racine du terme GasEI.

Ajouter une boucle Definition 8.43 (cutSimpleLink) P'ppAuteur cutSimpleLink qfoute la constants e a la racine du terme. 8.4. indenture de terrnea GasEI 117 rules for radical I : symbol; LS : list.radical; global [] cutSimpleLinkd nilL) => I (- e) nilL end [] cutSimpleLinkd LS) => I (- e) LS end end Cette operation correapond a une cowpwre de fiaiaon entre f'atome AigweM I et an atome d%pdrppdne. four f'appfigwer, if /awt u^ri/ier gw'if eziate aw moina un atome d%pdrqc/dne : no_H (I LS) >= 1 Ce teat eat tow/owra /ait auant d'appfigwer f'pp^ratewr cutSimpleLink.

Effacer une boucle DAHnition 8.44 (connect) E'opdratewr connect eat f'inuerae de f'opdrutewr cutSimpleLink : if truna- /orme fe point radicotaire en H impficite, et d limine fa conatante e a fa racine dw terme : rules for radical I : symbol; LS : list.radical; global [] connect(H (-e) nilL) => H (-H nilL) nilL end [] connect(I nilL) => I nilL end [] connect(I (-e) LS) => I LS end end

Effacer une liaison simple C—H ou O—H Une liaison C—H ou O—H n'est pas explicate dans un terme. H faut v6riHer qu'il existe au moins un atome d'hydrog^ne, en utilisant l'op6rateur no.H, puis on applique l'op6rateur cutSimpleLink. Example 8.1 four f'amorpape wnimofdcwfoire par rupture d'wne fiaiaon C—H, fa rdpfe ELAN gwi cor ­ reapond d fa rdgfe de r^critwre eat fa awiuante : rules for radical I : symbol; LS : list.radical; n : int; global [ui] I LS => I (- e) LS + H (- e) nilL where n := () no.H(I LS) if n >= 1 end end df/awt remargwer gwe dana cet ezempfe nowa n'awona poa wtifia^ eapficitement f'op^ratewr cutSimpleLink. En a/owtant fe /dtre cAimigwe, f'atome Aigwet^ I ne doit paa appartenir a an epefe aromatigwe, afora fa rdgfe ELAN dewient : [ui] I LS => I (- e) LS + H (- e) nilL if not(is.aromaticd)) where n := () no.H(I LS) if n >= 1 end 118 Chapitre 8. Codage des reactions eiementaires g^n&lgues pdmaires en GasEI

Effacer une liaison simple C—C qui n’appartient pas a un cycle En effagant dans un terme GasEI une liaison simple C—C qui n'appartient pas & un cycle on obtient deux termes GasEI. Pour transformer ces termes en radicaux libres, on utilise l'op6rateur cutSimpleLink. Example 8.2 Pour 1'amorpaye unimol6mlaire, par rupture d'une liaison C—C yui n'appartient pas a un cycle, la r6/le ELAN yui correspond a la rgyle de r^criture est la suiuante : rules for radical I : symbol; Rad, Rad2 : radical; LS : list_radical; global [ui] I (- Rad) LS => X(- e) LS + Rad2 where Rad2 := () cutSimpleLink(Rad) end end 5* on q;oute le test pour yue la liaison n'appartienne pas a un cycle, le codaye de 1'amorpaye unimo- l&ulaire est le suioant : rules for radical X : symbol; Rad, Rad2 : radical; LS : list_radical; labels_l, labels_2 : list[int]; global [ui] X (- Rad) LS => X(- e) LS + Rad2 where labels_l := () get_cycle_label (X LS) where labels_2 := () get_cycle_label (Rad) if not(common(labels_l,labels_2)) where Rad2 := () cutSimpleLink(Rad) end end ou Topdruteur common prend en entree deuz listes d'entiers, et retoume true seulement si elles ont des 0&nents en commun.

Effacer une liaison simple C—C qui est codee par une paire d’etiquettes Pour effacer dans un terme GasEI une liaison simple C—C, cod6e par une paire d'Gtiquettes, 11 suffit d'effacer ces etiquettes, et d'ajouter les boucles qui codent les points radicalaires. Example 8.3 Pour 1'amorpaye unifnol6mlaire, par rupture d'une liaison C—C, cod^e par une paire dVtiyuettes, la r6/le ELAN yui correspond a la rgyle de rd&riture 8 ,08 est la suiuante : rules for radical X, NX : symbol; tly : link; Rad, NRad : radical; LS : list_radical; cl : int; labels_l : list[int]; global [ui] X (tly Rad) LS => NX (- e) (tly NRad) LS if not(is_aromatic(X)) where labels_l := () get_cycle_label (X) if labels_l != nil where cl := () elem(labels_l) 8.4. R66criture de termes GasEI 119

if in_list(cl, get_cycle_label(Rad)) where NX := 0 take_label_from(cl, X) where NRad := () replace(cl, e, Rad) end end Eapficationa da code : - premiere qffectotion where labels_l := () get_cycle_label (X) eat atifia^e pour n&ap^rer dana fa aariabfe labels_l toatea fea Aipaettea pai codent dea coaparea de epefea pai ae troaoent aar f'atome AipaeM aaec X. ^'entier cl note ane de cea Aipoettea. - .Le teat if in_list(cl, get_cycle_label(Rad)) eat A;oW d true, a* fVtipaette cl eat retroaode parm* fea Aipoettea da aooa-terme Rad. - ^'a^ectation where NX := 0 take_label_from(cl, X) limine fVtipaette cl d fa racine da terme. - ^'a^ectation where NRad := () replace(cl, e, Rad) nempface dana fe aooa-terme Rad fVtipaette cl par fa conatante e. ^e code de f'ppAutear replace eat donn^ dana fe parapraphe 8.^.^. Remarque 8.7 Comme nooa f'auona pr6na^ dana fa definition 8.18, f'amorpape animof&afaire par rap- tare d'ane fiaiaon C—C, cod^e par ane paire dVtipaettea, n'eatpoa action aoawent.

Effacer une liaison simple C—C qui appartient a un cycle non aromatique En effagant dans un terme GasEI une liaison simple C—C, qui appartient & un cycle (non aromatique), les deux sous-termes obtenus doivent 6tre reconnect6s, & Taide de la liaison du cycle qui est cod6e par une paire d'Gtiquettes : cette liaison devient explicite, et la paire d'Gtiquettes est effacAe. Exemple 8.4 four f'amorpape animof&afaire, par raptare d'ane fiaiaon C—C, fa rdpfe ELAN pai cor- reapond d fa rdpfe de r^critare f8.8j eat fa aaiaante : rules for radical X, NX : symbol; tly : link; Rad, NRad : radical; Rl, R2, Rad2 : radical; LS : list_radical; cl : int; labels_l, labels_2 : list[int]; global [ui] X (- Rad) LS I LIR => NRad if not(is_aromatic(X)) where labels_l := () get_cycle_label (X LS) where labels_2 := () get_cycle_label (Rad) if common(labels_l,labels_2) where cl := 0 elem(common_l(labels_l,labels_2)) where Rad2 := () cutSimpleLink(Rad) where Rl := 0 hang(Rad2, cl) where R2 := 0 label_cut(cl, Rl) where NRad := () replace(cl, R2, X (- e) LS) end end Ezpficotiona da code : 120 Chapitre 8. Codage des reactions tltmentaires gentrigues primaires en GasEI

- La liaison couple eat celk entre 1'atome AipneM I et le sons-terme Rad. - & Vtipnette cl eat utilisde pour coder k /ermetnre dn cycle anpnel appartient k liaison couple. - L'a^ectation where R1 := 0 hang(Rad2, cl) trans/orme k terme Rad2, de telle sorte pne IVtipnette cl ae retronue dans k racine dn terme. 2k code de 1'opdratenr hang eat donn^ dona k parapraphe - ^k^ectatioa where R2 := 0 label_cut(cl, Rl) ^liTame IVtipnette cl da terme Rl. - & k^ectatioa where NRad := () replace(cl, R2, I (- e) LS) rerapkce dona k aoaa-terrae I (- e) LS IVtipnette cl par k aoaa-terrae R2. 2k code de Topdrotear replace eat donn^ daaa k parapraphe

8.4.4 Details d'implantation Compter le nombre d’atomes d’hydrogene La formule 7.1 pour le calcul de nombre d'atomes d'hydrogtne doit ttre adapt te & la representation des graphes moltculaires par des termes GasEI : - le caracttre aromatique d'un cycle est donnt par ses atonies : les atomes qui appartiennent & un cycle aromatique sont en minuscule et les liaisons du cycle sont etiquettes aimple. - une etiquette de coupure de cycle compte comme un voisin, relit avec une liaison simple. La formule utiliste pour calculer le nombre d'atomes d'hydrogtne relits & la racine d'un terme GasEI est la suivante :

no_at_H(ulabc(t;)) = valence(laby(t;)) —|labc(u)| — ^ ordre_arete(labg({u,t;i})) (8.30) ou ordre_arete est dtfinie pour les arttes simples, doubles et triples, et valence est ttendue pour 1'atome de carbone situt sur un cycle aromatique :

valence(c) = 3

La fonction ordre_arete est implantte en ELAN par 1'optrateur no_links dtfini sur la sorte link : [] no_links(-) => 1 end [] no_links(=) => 2 end [] no_links(#) => 3 end

Definition 8.45 (no_H) L 'pp&uteur no_H retonme k nombre d'atomes d%ydrpptne relids a k racine d'un terme GasEI, et son implantation en ELAN est k suioante : rules for int I : symbol; Rad : radical; LS : list.radical; tly : link; ell, c!2, c!3 : int; global [] no_H(C nilL) => 4 end [] no_H(c nilL) => 3 end [] no_H(0 nilL) => 2 end

[] no_H(X (tly Rad) LS) => no_H(X LS) - no.links(tly) end

[] no_H(X ell nilL) => no_H(X nilL) - 1 end 8.4. indenture de termea GasEI 121

[] no_H(X ell (tly Rad) LS) => no_H(X LS) - no_links(tly) - 1 end

[] no_H(X ell c!2 nilL) => no_H(X nilL) - 2 end [] no_H(X ell c!2 (tly Rad) LS) => no_H(X LS) - no_links(tly) - 2 end

[] no_H(X ell c!2 cl3 nilL) => no_H(X nilL) - 3 end [] no_H(X ell c!2 cl3 (tly Rad) LS) => no_H(X LS) - no_links(tly) - 3 end end

Pendre un terme GasEI Une des operations que nous avons implantee est cede qui permet de changer la racine d'un terme GasEI. Nous appelons cette operation pendre un terme, mais elle est aussi connue comme 1'operation de planter un terme (on un arbre). DABnition 8.46 (hang) 1^'qp^rateur hang prend en entree un terme GasEI et une etiquette cl, et change la racine du terme, de telle aorte gue la nouuelle racine a ait le aommet gui Aait Aiguet^ auec cl. rules for radical X, Y : symbol; cl : int; tly : link; LSz, LSy : list_radical; global [] hang(X nilL, cl) => X nilL if in_list(cl, get_cycle_label(X)) end

[] hang(X LSz, cl) => X LSz if in_list(cl, get_cycle_label(X)) end

[] hang (X (tly Y LSy) LSz, cl) => Y (tly X LSz) LSy if in_list(cl, get_cycle_label(Y)) end

[] hang (X (tly Y LSy) LSz, cl) => hang(Y (tly X LSz) LSy, cl) if in_list(cl, get_cycle_label(LSy)) end end Ixi demidre rggle mantre comment appliguer de manure r6:uraiue Top^rateur hang, et lea troia premi^rea rgglea cadent lea conditiona d'amgt de la r&uraion. l^e teat if in_list(cl, get_cycle_label (X) ) per­ met de a'oaaurer gue IVtiguette cl ae retrouoe parmi lea Aiguettea de Tatome X CAiguettea codant dea caupurea de epeleaj.

Remplacer une etiquette par un terme dans un terme Definition 8.47 (replace) ^'qpAnteur replace prend en entree une Aiguette cl, un terme A et un terme T, et donne comme rdaultot le terme T, dona leguel IVtiguette cl eat remplac& par le terme A. rules for radical cl : int; X, NX : symbol; tly : link; R, Rad, NRad : radical; LS : list_radical; 122 Chapitre 8. Codage des reactions ^16mentaires g^n6rigues primaires en GasEI global [] replace(cl, R, e) => e end

[] replace(cl, R, I nilL) => NX (- R) nilL if in_list(cl, get_cycle_label(X)) where NX := () take_label_from(cl, X) end

[] replace(cl, R, X nilL) => X nilL end

[] replace(cl, R, X (tly Rad) LS) => NX (- R) (tly Rad) LS if in_list(cl, get_cycle_label(X)) where NX := () take_label_from(cl, X) end

[] replace(cl, R, X (tly Rad) LS) => X (tly NRad) LS where NRad := () replace(cl, R, Rad) if in_list(cl, get_cycle_label(Rad)) end

[] replace(cl, R, X LS) => X LS end end on f'affectation where NX := 0 take_label_from(cl, X) limine fVtigwette cl d fa racine da terme.

8.4.5 Codage de 1'amorgage unimolAculaire Dans les paragraphes pr6c6dents, nous avons donn6 les principaux 616ments qui permettent de coder chacune des reactions 616mentaires g6n6riques primaires de pyrolyse oxydante. En fait, le codage de Tamorgage unimolAculaire se trouve dans les exemples 8.1, 8.2, 8.3 et 8.4. Nous reprenons ci-dessous seulement le codage, en prGcisant Texemple dans lequel sont donn6es les explications : - la r6gle de codage de Tamorgage unimolAculaire par rupture d'une liaison C—H (voir Texemple 8.1 & la page 117) : [ui] X LS => X (- e) LS + H (- e) nilL if not(is_aromatic(X)) where n := () no_H(X LS) if n >= 1 end - la rGgle de codage de Tamorgage unimolGculaire par rupture d'une liaison C—C, qui n'appartient pas & un cycle (voir Texemple 8.2 & la page 118) : [ui] X (- Rad) LS => X(- e) LS + Rad2 where labels_l := () get_cycle_label (X LS) where labels_2 := () get_cycle_label (Rad) if not(common(labels_l,labels_2)) where Rad2 := () cutSimpleLink(Rad) end - la rGgle de codage de Tamorgage unimolAculaire par rupture d'une liaison C—C, qui appartient & un cycle non aromatique (voir Texemple 8.4 & la page 119) : [ui] X (- Rad) LS I LIR => NRad if not(is_aromatic(X)) 8.4. indenture de termes GasEI 123

where labels_l := () get_cycle_label (I LS) where labels_2 := () get_cycle_label (Rad) if common(labels_l,labels_2) where cl := 0 elem(common_l(labelB_l,labels_2)) where Rad2 := () cntSimpleLink(Rad) where R1 := 0 hang(Rad2, cl) where R2 := () label_cut(cl, Rl) where NRad := () replace(cl, R2, I (- e) LS) end - la regie de codage de 1'amorgage unimoleculaire par rupture d'une liaison C—C, codee par une paire d'etiquettes (voir 1'exemple 8.3 & la page 118) : [ui] I (tly Rad) LS => NX (- e) (tly NRad) LS if not(is_aromatic(X)) where labels_l := () get_cycle_label (X) if labels_l != nil where cl := () elem(labels_l) if in_list(cl, get_cycle_label(Rad)) 0 where NX := 0 take_label_from(cl, X) where NRad := () replace(cl, e, Rad) end

Appliquer l’amorgage unimoleculaire a un terme GasEI

Nous rappelons que dans le syst&ne ELAN, replication d'une regie de reecriture nommee & un terme se fait seulement en t&te du terme. Nous prenons comme exemple un terme GasEI codant la molecule d'iso-octane : sa notation SMILES et sa representation simplifiee (voir la remarque 7.14, page 97) sont

C (C (C) (C) C) C (C) C

En appliquant & ce terme la regie de codage de 1'amorgage unimoleculaire par rupture d'une liaison C—C (qui n'appartient pas & un cycle) on obtient les deux resultats de la figure 8.2. On peut remarquer les deux possibilites de Hltrage associatif-commutatif du membre gauche de la regie, X (- Rad) LS, sur le terme GasEI, et les substitutions associees.

+ x/Y. z\ e C (C (C) (C) C) C (C) C C (e) C (C)C C(e)(C)(C)C

X Rad LS X LS cutSimpleLink(Rad)

+ e0\ e

C (C (C) C) C (C) (C) C C (e) C (C) (C) C C(e) (C) C

X Rad LS X LS cutSimpleLink(Rad)

FiG. 8.2 - Amorgage unimoleculaire d'un terme GasEI codant 1'iso-octane 124 Chapitre 8. Codage des reactions ^16mentaires g^n6rigues primaires en GasEI

La premiere application correspond & la reaction chimique (8.31)

CHa CHa CHa CHa

H3C—C—CHg —CH—CH3 —y CH3 C® + •Cl 12—C 11—CHa (8.31)

ch3 CH3 et la deuxi^me correspond & la reaction chimique (8.32)

CHa CHa CHa CH3

H3 C—C—CHg —CH—CH3 —y CH3 C CH2 + #CH—CH3 (8.32) | e CH3 CH3

Remarque 8.8 La racine da terms GasEI correspond d an des atomes de Lesp^ce chimipae cod& par le terms, ^tant donnas ane r^ple de r^critare nommde, codant ane reaction cAimipae, alors son application an terms GasEI d&rit les reactions cAimipaes dans lespaelles est implipa^ Latome correspondant a la racine. Dans Is cos des reactions implipaant des radicate: Ccomme la 6^ta-scission on Tozpdationj, il sa^!t d'imposer gas Is point radicalaire soit toafoars a la racine da terms GasEI codant Is radical. Poar les aatres reactions, dont Tamorpape animol&alaire, la rdple de r^critare correspondante doit 6tre applipa^e spst&natipoement, a TinMriear da terms GasEI. La methods pas noas prpposons est d&rite dans Is paragraphs P.1.1.

8.4.6 Pyrolyse oxydante de termes GasEI Gtant donn6s AM^k un arbre mo!6culaire d6cor6, et r^jvt une r6gle de r66criture d'arbres mo!6culaires d6cor6s pour la pyrolyse oxydante, alors Tapplication de r^uw & AM^. donne un arbre molAculaire d6cor6, AM^,. Soit t^", un des termes GasEI qui code AM^. Les regies que nous avons d^Hnies sont telles, qu'il existe fGasEi, une rGgle de r66criture sur les termes GasEI, telle qu'on puisse 6tablir le diagramme suivant :

t'G . ■t:G

En mettant en Evidence toutes les transformations dans le diagramme ci-dessus, on obtient le dia­ gramme commutatif suivant :

AAfg' AM^, tree2*mUe*(n) *mUe*2tree Si «2 write tl t2

T *mUe*2T ga*ef Tga*e(2T*mUe* G G t1 rcEi t2 8.5. Pyrolyse oxydante A ddRrents niveaux 125

8.5 Pyrolyse oxydante a differents niveaux

Le diagramme suivant fait la synthase dee paragraphed 8.2.10,8.3.3 et 8.4.6, en pr6sentant lee diff6rents niveaux de codage : - Une reaction chimique r pour la pyrolyse oxydante eet traduite dans une r6gle de r66criture , sur des graphes molAculaires. - La rGgle de r66criture rgjw, sur des graphes molAculaires, est traduite dans une r6gle de r66criture , sur des arbres molAculaires d6cor6s. - La rGgle de r66criture sur des arbres molGculaires d6cor6s est traduite dans rgasEi, qui est une rGgle de r66criture sur les termes GasEI.

Chimie & &

Graphes moleculaires GMi

grapk2tree(.Ep ) tree2graph

Arbres moleculaires d6cor6s %

emiZee2tree Notation SMILES Si write Tenne & la SMILES ti

T «mUe«2T gage! T gasel2T smiles

Tenne GasEI 126 Chapitre 8. Codage dea reactions 6J6mentairaa g6n6nguaa przmairea en GasEI Chapitre 9

Codage du mecanisme primaire

Dans le paragraphe 6.4 nous avons propose une structure g6n6rale du systems GasEI, dont une des composantes est le g6n6rateur de mecanismes primaires.

9.1 Exhaust ivite

Parmi les proprietes qui caracterisent un g6n6rateur automatique de mecanismes (proprietes donn6es dans le paragraphe 3.2), rexhaustive est determinee, en grande partie, par le codage du g6n6rateur de mecanismes primaires. L'exhaustive, selon Tomhn, Tur&ni et Pilling [TTP97], est la propriete d'un g6n6rateur automatique de mecanisme, de "consider toutes les combinaisons possibles des espAces et ne jamais produire une reaction en double". Cette propriete est bas6e sur la propriete de canonicite, li6e au codage des espGces chimiques : "la structure des espGces chimiques doit etre cod6e d'une maniere [...] non-ambigue et unique ahn que les reactions ne soient pas ecrites plusieurs fois et que les produits issus d'une reaction eiementaire soient identities facilement." [TTP97] Pour mettre en evidence cette propriete, nous presentons 1'exemple de 1'iso-octane, et de toutes les reactions d'amorgages unimoieculaires qu'il peut subir, en consider ant settlement les ruptures de liaisons simples C—C. Example 9.1 l^ea guatre r6ictiona chimiguea d'amorpapea un*fnol6mla*rea de 1'iao-octane, par rupture d'une haiaon aimple C—C aont lea auioantea :

CH3 CH3 CH3 CH3

HaC—C—CHg—CH—CHa -t *CHa + . C—CHg—CH—CH3 /^y (9.1)

CHa CH3

CHa CHa CH3 CH3

H3C C CH2 CHCH3 —> CHa—( • + •CH2—CH—CH3 /^y (9.2)

CH3 CH3

CH3 CH3 CH3 CH3

H3C C CH2 CHCH3 —CH3 C CHg + .CH—CH3 /jy (9.3)

CH3 CH3

127 128 Chapitre 9. Codage du mAcamsme primaire

CH3 CH3 CH3 CH3

H3C C CHg CH CH3 —CH3 C CHg CH + .CH3 /g/ (9.4) I I * CH3 CH3 Dans la molecule d'iso-octane, il exists sept possibilitAs de rupture de liaison C—C, mais, du fait des symAtries de la molecule, certaines reactions sont identiques. C'est le cas, par example, de la reaction (9.1), qui apparalt 3 fois, par rupture de la liaison entre le carbone quaternaire et chacun des trois groupes methyl. En fait, cette reaction est Acrite une seule fois, et une valeur appelA dApAnAreacence d'une reaction donne le nombre de ces reactions identiques ; la valeur de dAgAnArescence permet de calculer correctement les paramAtres cinAtiques de la reaction AlAmentaire. Remarque 9.1 Lea d6/AnAreacencea dea n&*ctiona d'amorpape unimolAculaire de 1'iao-octane, pur rupture d'une liaiaon C—C, uppuruiaaent en itolipue, entre crocAeta, d la/in de cAapue reaction de 1'ezemple 9.1 : - la reaction C9.iy a une dApAnAreacence 6/ole d - lea rddctiona C9 ^ et C9.^ ont cAacune la d6/AnAreacence Apole d 1; - la reaction ^9.^ a une dApAnAreacence Apole d5.il eziate 5 poaaibilitAa d'e^fectuer cette coupure de liaiaon C—C. L'exhaustivitA du mAcanisme primaire, dans le cas des amorgages unimolAculaires de 1'iso-octane par rupture d'une liaison C—C, vise & gAnArer les quatre reactions, (9.1)-(9.4), avec les dAgAnArescences associAes.

9.1.1 Vision d'un arbre molAculaire dAcorA Nous rappelons que dans le systems GasEI, une espAce chimique est codAe par un terms GasEI, et une reaction chimique est codAe par une rAgle de rAAcriture nommAe. Mais 1'application d'une rAgle de rAAcriture nommAe & un terms se fait settlement en tAte du terms (voir 1'exemple de 1'application de 1'amorgage unimolAculaire & un terms GasEI, dans le paragraphs 8.4.5). La structure du terms GasEI, t^, codant un graphs molAculaire CM, depend de 1. 1'ensemble %, des arAtes couples dans CM pour obtenir un arbre molAculaire dAcorA, AMc, et 2. du choix de la racine, r, dans cet arbre molAculaire dAcorA, AM^. (Voir le paragraphs 7.2.8, page 97, et la remarque 7.12, page 93.) Definition 9.1 (Vision d'un arbre molAculaire dAcorA) l$tont donn^ un arbre fnal6mlaire d&or^ AMc, et r un de aea aommeta, alora le terme GasEI correapondant

t^ = parse(2gjwjf,gg,tree2smiles(r, AM#)) eat appelA une vision de AM^. Remarqne 9.2 La notion de uiaion d'un arbre eat appelA auaai, paiybia planter un arbre. Exemple 9.2 (Visions de 1'iso-octane) L'iao-octane eat une molecule aana cycle, done aon arbre mo- l&ulaire d&or^ eat identipue au prapbe mol&ulaire repr^aentant aa/ormu!e, aana lea atomea d%ydrppdne. L 'arbre fnol6mlaire d&or^ a Auit aommeta, et il eziate done Auit manidrea de cAoiair la racine pour ob ­ tenir aea uiaiona, dont cinp uiaiona diatinctea, modulo roaaociatiuitd-commutatiuitd, pue noua reprdaentona d'une manidre aimpli/ide dana la /ipure 9.1 : 1. en cAoiaiaaant comme racine le aommet dtipuetd auec 1, on obtient la oiaion et la notation ^MILL^ de la yipure 9.1 aj, 5. en cAoiaiaaant comme racine le aommet dtipuetd auec 5, on obtient la oiaion et la notation j'MILLj' de la /ipure 9.1 bj, g. en cAoiaiaaant comme racine le aommet dtipuetd auec on obtient la uiaion et la notation ^MILL^ de la yipure 9.1 cj, 9.1. Exhaustive 129

j. cn choiaiaaont comme rocine tin dea aommeta AiptieMa ouec g on 7, on ohtient hi mdme thaton et notation ^MIFE^ de hi /iptire 9.1 dj. J. en choiaiaaaTit comma rocine tin dea aommeta Aiptietda auec J, oti on ohticTit hi mgme uiaiori et notation SMILES' de hi /iptire 9.1 ej.

A

C(C)(C)(C)CC(C)C C(C)(C)CC(C)(C)C C (C (C) (C)C) C(C)C

a) b) c)

4 3 5 KY 6 7 8 C C (C C(C)C)(C)C C C(C)CC(C)(C)C

d) e)

FiG. 9.1 - Cinq visions distinctes, modulo rassociativit6-commutativit&, de 1'iso-octane

9.1.2 GAnArer toutes les visions d'un arbre molAculaire dAcorA L'op6rateur AllVis prend en entree un terme GasEI, t^, et donne toutes les visions de 1'arbre mo!6- culaire d6cor& correspondant. AllVis simule un parcours de graphe du terme t^ : au d6but, la racine de t^ est 6tiquet6e en utilisant un opArateur See et une nouvelle vision est g&n&r&e. Remarque 9.3 IVotia donona tine deaciption in/ormelle de F(dgortthme. F'opdrotetirSee qfoiite tine Ai- ptiette s d hi rocine, pour morgtier ptie ce aommet a uiaiM f'aeen', en onphiiaj, et qfotite dea Aipoettea w ooz rocinea dea /Ha ptii n'ontpoa encore uiaiMa [''toaitinp', en onphiiaj. [/he notioelle uiaion eat ohtentie, en choiaiaaont tin aommet ptii eat Aiptie# auec w, et en trona/ormant le terme de tehe monidre ptie ce aommet deoienne to mcine. IVotre opdrotetir a'oppehe Hang_w. Cette notiuehe uiaion eat pordde dona tine liate. Qtiond tona lea aommeta dti terme t^ ont uiait^a, tontea lea uiaiona dti terme ont p^n^r^ea. Four tin terme ooec n aommeta, AllVis pAidre n uiaiona. For ezemple, potir Piao-octane, AllVis pAidre htiit oiaiona. Fo ueraion cotironte eat non-pptimiade.

Generer toutes les visions distinctes L'op6rateur AllVisRed prend la liste de toutes les visions d'un terme, et donne les visions distinctes, modulo rassociativit&commutativitA, en gardant aussi la mtiltipliciM, c'est-&-dire le nombre de fois qu'une vision apparalt dans la liste g&n6r6e par AllVis. Pour 1'iso-octane, AllVisRed g6n6re les cinq visions de la figure 9.1, avec les multiplicity correspon- dantes pour les deux derniGres visions : C(C)(C)(C)CC(C)C C(C)(C)CC(C)(C)C C(C(C)(C)C)C(C)C 3 * CC(CC(C)C)(C)C 2 * CC(C)CC(C)(C)C 130 Chapitre 9. Codage du mecanisme primaire

Test d’isomorphisme d’arbres moleeulaires deeores On pent noter que la generation de toutes lee visions permet aussi d'avoir un test d'isomorphisme d'arbres molbculaires decores. Pour verifier si deux termes GasEI, ti et tg, qui codent deux espbces chimiques, molecules ou radicaux libres, n'ayant pas de cycles, represented ou non la m&me eepAce chimique, il sufht de g6n6rer toutes les visions de tg, et de verifier si est parmi ces visions :

is_eq(ti,t2)=>true ifno_at(ti)=no_at(t2)andtiGAllVisRed(t2) (9.5) ou no_at donne le nombre de sommets d'un terme GasEI. L'avantage de cette methode est de pouvoir btre codbe en ELAN avec les op&ateurs dej& disponibles, sans faire des appels exterieurs, comme nous Tavons presente dans le paragraphe 7.2.9. Pour les molecules cycliques, cette methode n'est pas correcte : les arbres molbculaires dbcorbs associbs aux molecules peuvent etre differents si les ensembles des aretes couples ne sont pas les mbmes.

9.2 Enchainement des phases du mecanisme primaire

Dans le paragraphe 6.4.2 nous avons donne la mbthode de construction du mecanisme primaire, comme Tenchalnement de trois phases : Tamorgage, la propagation et la terminaison. En utihsant la puissance des strategies du systbme ELAN, le mecanisme primaire est dehni comme une strategie, PrimaryMechanism, sur la sorte reactant. Elle est le resultat de la concatenation de trois strategies, dehnies par I'utihsateur, correspondant & chaque phase, InitPhaae pour la phase des amorgages, PropagPhase pour la phase de propagation et TenninPhase pour la phase de terminaison : strategies for reactant imp 1 x c x t [] PrimaryMechanism => InitPhase; PropagPhase; TenninPhase end end Si un melange de molecules InReactants, de sorte reactant, est donne en entree, GasEI applique la strategie PrimaryMechanism & InReactants, gbnbre en sortie la liste des produits primaires formes et ecrit la liste des reactions eiementaires primaires, dans un hchier de resultats. La figure 9.2 donne le codage du mecanisme primaire de pyrolyse oxydante propose dans la figure 6.2, par des strategies. Dans les paragraphes suivants, nous presentons le codage de chaque phase du mecanisme primaire.

9.2.1 Codage de la phase des amorgages Cette phase du mecanisme primaire est codee par la strategie InitPhase, definie sur la sorte reactant. Elle a comme entree InReactants, qui note une molecule ou un melange de molecules, et retoume Rads_l, Tensemble des molecules et radicaux libres issus de Tapphcation des reactions eiementaires gbneriques primaires d'amorgages, choisies par I'utihsateur. En mbme temps, les reactions eiementaires primaires generees sont ecrites dans un hchier. Le schema des traitements correspondants & la strategie InitPhase est donne sur la figure 9.3, ou listReSRe est un operateur qui transforme la liste ListRadsInit (une liste d'eiements de sorte reactant) fournie par 1'operateur set_of en un element de sorte reactant.

Definition de la strategie InitPhase La strategie InitPhase utilise une autre strategie, InitlMolecule qui s'applique sur une seule mo ­ lecule du melange initial de molecules, et les resultats de Tapplication de cette strategie pour chaque molecule sont reunis dans une liste, en utihsant Toperateur ELAN sur les strategies set_of . La definition en ELAN de la strategie InitPhase est la suivante : stratop global InitPhase : ; end 9.2. Enchamement des phages du mAcanisme primaire 131

RH InReactants : reactant

Amorgages ui bi InitPhase

Rads 1

ipso me bs ox co(.O.) Propagations PropagPhase

Des nouveaux radicaux?

Rads* Produits de propagation Terminaisons TerminPhase co di

Produits de TerminProductS : reactant terminaison

FiG. 9.2 - Codage du mAcanisme primaire de pyrolyse oxydante par strategies

strategies for reactant lmpl x ext [] InitPhase => first(mateSetll, mateSetI2) end end rules for reactant InReactantS, Rads_l : reactant; ListRadsInit : list[reactant]; global [makeSetl] InReactantS => Rads_l where ListRadsInit := set_of(call "InitlMolecule":reactant, InReactants) if ListRadsInit != nil where Rads_l := () listReSRe(ListRadsInit) end

[mateSetI2] InReactants => InReactants end end

Definition de la stratAgie InitlMolecule La stratAgie InitlMolecule a comme entrAe une molAcule M, de sorte radical, et retourne RI, Pen- semble des molAcules et radicaux libres issus de Papplication des rAactions AlAmentaires gAnAriques pri- maires d'amorgage & cette molAcule. 132 Chapitre 9. Codage du m^canisme prhnaire

: reactant InReactants = Ml + M2 + ... + Mk

reactant

InitPhase

List[reactant] ListRadsInit = [RI1, RI2, ... , RIn]

' ' listRe2Re

' reactant Rads 1

FlG. 9.3 - Amorgages pour un melange de molecules, InReactants, par la strat6gie InitPhase

La definition en ELAN de la strategie InitlMolecnle est la suivante : stratop global InitlMolecnle : ; end strategies for reactant imp 1 x c x t [] InitlMolecnle => dk(first(makeSetMl,makeSetM2)) end end rules for reactant M : radical; Re, RI : reactant; ListMolecVis, : IntermReact; LRVI1, LRVI2 : IntermReact; ListRadsVisInit : list[IntermReact]; global [makeSetMl] M + Re => RI where ListMolecVis := () AllVisRed(M) where ListRadsVisInit := set_of(call "InitlM" : IntermReact, ListMolecVis) if ListRadsVisInit != nil where LRVI1 := () listIR2IR(ListRadsVisInit) where LRVI2 := () elimDbllR(LRVIl) where RI := () writeListIR(LRVI2) end 9.2. Enchamement des phages du mAcanisme prhnaire 133

[mateSetMS] M + Re => nilListR end end Le schema correspondant se trouve sur la figure 9.4 et la s&nantique dee op6rateurs est la suivante : * AllVisRed g6n6re toutes lee visions difRrentes d'une molecule en retoumant un 616ment de sorte IntermReact; * listIR2IR transforme une liste d'616ments de sorte IntermReact en un 616ment de sorte IntermReact; * elimDbllR 61imine les reactions redondantes ; * writeListIR g6n6re les produits issus des amorgages d'une molecule et 6crit dans un Hchier les reactions 616mentaires primaires g6n6r6es.

M radical

’ ' AllVisRed

’ ' ListMolecVis = MV1 | MV2| ... | MVr IntermReact

MVI1 MVI2 ... IntermReact

set of

ListRadsVisInit = [MVI1, MVI2, ... , MVIq] List[IntermReact]

’ ' listIR2IR

’ ' LRVI1= MVI1 | MVI2 | ... | MVIq IntermReact

’ ' elimDblIR

’ ' LRVI2 IntermReact

’ 1 writeListIR

’ 1 RI reactant

FiG. 9.4 - Amorgages pour une seule molecule, par la strat6gie InitlMolecule 134 Chapitre 9. Codage du mecanisme przmaire

DAEnition de la strangle InitlM La strategie InitlM, definie sur la sorte IntermReact, applique lee reactions eiementaires generiques primaires d'amorgage & chaque vision de la molecule : stratop global InitlM: ; end strategies for IntermReact implicit [] InitlM=> dk(ui, ui_XH, bi_02, me, ipso) end end H faut remarquer que pour active: ou des active: une des reactions eiementaires generiques primaires d'amorgage, il sufEt de modifier la strategie InitlM. Par exemple, si on veut coupe: les liaisons d'un cycle dans 1'amorgage unimoieculaire, on ajoute la reaction ui_cycle : [] InitlM=> dk(ui, ui_XH, ui_cycle, bi_02, me, ipso) end et si on ne veut pas faire d'amorgage bimoieculaire, alors on supprime la reaction bi_02 : [] InitlM=> dk(ui, ui_XH, me, ipso) end

Ipso et metathese en phase d’amorgage En analysant la definition de la reaction ipso (voir le paragraphe 8.2.4) et la definition de la reaction de metathese (voir le paragraphe 8.2.3), nous avons remarque qu'un reactif est fixe (le radical d'hydrogAne ou un radical /)) et 1'autre reactif subit toujours une coupure de liaison C—H. Les autres reactions de la phase de propagation, impliquent toujours un radical, done la reaction se produit autour de 1'atome port ant le point radicalaire. En concertation avec les experts chimistes, nous avons decide d'appliquer les reactions ipso et les reactions de metathese en phase d'amorgage, puisque & ce niveau nous avons dej& obtenu toutes les visions de la molecule de depart, et toutes les coupures de liaison C—H peuvent etre obtenues.

9.2.2 Codage de la phase de propagation La strategie PropagPhase est definie sur la sorte reactant pour coder la deuxieme phase du m6ca- nisme primaire. EUe prend en entree 1'ensemble Radsi, les radicaux libres issus de la phase d'amorgage, applique les reactions elemental:es generiques primaires de propagation tant que de nouveaux radicaux sont obtenus, et retoume 1'ensemble des radicaux issus de cette phase. Le code ELAN pour definir la strategie PropagPhase est le suivant : strategies for reactant implicit [] PropagPhase => dk(tryP) end end rules for reactant Rads_l, Rads* : reactant; PL : pairR; global [tryP] Rads_l => Rads* where PL := (PropagRep) Rads_l, Rads_l where Rads* := () fst(PL) end end ou 1'operateur f st applique & une paire d'eiements, retoume le premier. 9.2. Enchamement des phages du mAcanisme primaire 135

DABnition de la stratAgie PropagRep Pour coder TitAration nous avons deBni une strategie PropagRep, sur la sorte pair (reactant, reactant), en utilisant TitArateur ELAN de strangle repeat* apphquA & la strangle ipropag. La stratAgie ipropag appliquAe & la paire Rads_i, NewRads_i code un pas de TitAration et la condition d'arrAt : rules for pairR Rads_i, Rads_il : reactant; Dif : reactant; global [ipropag] Rads_i, NewRad_i => Rads_i + Dif, Dif where Rads_i+1 := (PropagOne) NewRad_i where Dif := () SetDiff(Rads_i+1, Rads_i) if Dif != nilListR end end ou SetDif f est un opArateur qui retourne la difference entre le premier ensemble et le deuxiAme. La strangle ipropag prend en entree comme premier AlAment de la paire, Rads_i, Tensemble des radicaux libres obtenus jusqu'au pas i de TitAration et comme deuxiAme AlAment de la paire, NewRad_i, Tensemble des nouveaux radicaux libres obtenus dans TitAration prAcAdente. Pour initialiser le processus itAratif ipropag s'applique & la paire Rads_l, Rads_l, comme nous Tavons fait dans la definition de la regie tryP. La strategie ipropag edioue (et done la strategie PropagRep termine) quand aucun nouveau radical libre n'est produit dans un pas d'itAration, ce qui correspond au fait que Tensemble Dif est vide (la difference entre Tensemble Rads_i+1 et Tensemble Rads_i est Tensemble vide). Dans ce cas, le premier element de la paire de reactant est Tensemble des radicaux libres obtenus dans la phase de propagation. Cet ensemble est retourne en appliquant Toperateur fat.

Definition de la strategie PropagOne La strategie PropagOne code un pas de Titeration. Elle est appliquee & NewRads_i, les nouveaux radicaux issus de la propagation prAcAdente, sa definition est la suivante et les traitements correspondants sont donnes dans la figure 9.5 : stratop global PropagOne : ; end strategies for reactant lmpl xc xt [] PropagOne => dkfmateSetPl, mateSetPS)) end end rules for reactant NewRads_i, Rads_il : reactant; ListRadsPropag : list[reactant]; global [makeSetPl] NewRads_i => Rads_il where ListRadsPropag := set_of(call "PropaglM":reactant, NewRads_i) if ListRadsPropag != nil where Rads_il := () listReSRe(ListRadsPropag) end

[mateSetPS] NewRads_i => NewRads_i 136 Chapitre 9. Codage du m^canisme primaire

: reactant NewRads i = NR1 + NR2 + ... + NRk

reactant

PropagOne

: List[reactant] ListRadsPropag = [RP1, RP2, ... , RPn]

' ' listRe2Re

' : reactant Rads i+1

FiG. 9.6 - Pas de propagation pour Tensemble de radicaux NewRads_i

end end

Definition de la strategic PropaglM La stratGgie PropaglM est dGfinie de mani^re semblable & la strangle InitlM en utilisant Top6rateur dk apphqu6 aux reactions 616mentaires g6n6riques primaires de la phase de propagation. stratop global PropaglM: ; end strategies for reactant imp licit [] PropaglM => dk(me, oxid_m, bs_m) end end

9.2.3 Codage de la phase de terminaison Pour coder cette phase du mGcanisme primaire nous avons d6fini en ELAN la strangle TerminPhase. EUe prend en entree Tensemble Rads* des radicaux issus de la phase de propagation et retoume les produits primaires obtenus comme r&mltat du m6canisme primaire. stratop global TerminPhase : ; end strategies for reactant implicit [] TerminPhase => first(makeSetTl, makeSetTS) end 9.2. Enchamement des phages du mAcanigme primaire 137 end rules for reactant Rads, TerminProducts : reactant; ListRadsTermin : list[reactant]; global [makeSetTl] Rads* => TerminProducts where ListRadsTermin := set_of(call "TerminlM":reactant, Rads*) if ListRadsTermin != nil where TerminProducts := () listReSRe(ListRadsTermin) end

[mateSetTS] Rads => Rads end end

Definition de la stratAgie TerminlM La stratAgie TerminlM applique les reactions AlAmentaires gAnAriques primaires de terminaison ; elle est dAHnie avec 1'opArateur dk, de la mAme fagon que les strategies InitlM et PropaglM : stratop global TerminlM: ; end strategies for reactant impi xc xt [] TerminlM-) dk(co_YB,di_YB) end end La figure 9.6 prAsente les traitements appliquAs & un ensemble de radicaux, Rads*, dans la phase de terminaison. H faut remarquer que : 1. Les strategies InitPhase, PropagOne et TerminPhase sont dAhnies de maniAre semblable. 2. Les strategies InitlM, PropaglM et TerminlM prAcisent quelles sont les reactions AlAmentaires gA- nAriques primaires appliquAes dans les phases correspondantes.

9.2.4 Reduction a priori Pour rAduire la taille des mAcanismes gAnArAs nous avons introduit des tests qui permettent d'imposer la structure du radical qui rAagit dans la reaction. Nous avons code des opArateurs qui vArihent qu'un radical est d'un type chimique particulier : ou Y (voir le paragraphe 6.3.2). [] is_Beta(H e) => true end // .H [] is_Beta(0 (e)e) => true end // .0. [] is_Beta(0 e) => true end // .OH [] is_Beta(0(e) 0) => true end // .00H [] is_Beta(C e) => true end // .CH3

[] is_BetaMu(C (e) - C) => true end // .CH2/CH3 [] is_BetaMu(C (e)(- C) - C) => true end // .CH(CH3)2 [] is_BetaMu(C (e)(- C)(- C) -C)=> true end // .C(CH3)3 [] is_BetaMu(0(e)- C) => true end // .0/CH3 [] is_BetaMu(0(e)- 0) => true end // .00H 138 Chapitre 9. Codage du m^canisme prhnaire

reactant Rads*

TerminlM/ TerminlM

RT1 RT2 ... RTn reactant

set of

List[reactant] ListR = [RT1, RT2, ... , RTn]

1 listRe2Re

' reactant TerminProducts

FiG. 9.6 - Terminaison pour 1'ensemble de radicaux Rads*

[] is_BetaMn(0 (e) (- 0) -C) => true end // .0/0/CH3

[] is_Y( C(e)(- C (= C LR3) LR2) LR1) => true end [] is_Y( C(-e)(- c LS2) LSI) => true end [] is_Y( C(-e)(- c cl LS2) LSI) => true end ouLRl, LR2, LRSsontdes variables desortelist.radical. Par exemple, si les reactions 616mentaires g6n6riques primaires de terminaison sont appliquGes seule- ment & deux radicaux, dont un est de type Y et 1'autre de type alors la r6gle pour la combinaison devient : rules for reactant LSI, LS2 : list.radical; ReL : reactant; II, 12 : symbol; global [co_YB] Il(-e)LSl + I2(-e)LS2 + ReL -> II(-12 LS2)LS1 if is_Y(Il(-e)LSl) and is_Beta(I2(-e)LS2) end end De la m&me mani^re, la r6gle de combinaison de deux radicaux libres est modiAGe si elle s'applique seulement lorsqu'un radical est de type Y et 1'autre est de type : [co.YBm] Il(-e)LSl + I2(-e)LS2 + ReL -> II(-12 LS2)LS1 if is_Y(Il(-e)LSl) and is_BetaMu(I2(-e)LS2) end

9.3 Interface graphique du systeme GasEI

L'interface graphique du syst&ne GasEI a 6t6 r6alis6e en collaboration avec Pierre Henninger, 6tudiant & 1'ESIAL (Acole Sup&ieure d'Informatique et Apphcations de Lorraine), dans le cadre de son stage au LORIA, du 23 juin au 16 ao&t 2003. 9.4. Conclusions 139

File Edit View Templates Tools Help

H C N 0 F Heart Select Erase Paste Undo Zoom - + p s ci 4 "0 T *\ ^90, ^ O O O O O CO

Add a Reactant | Remove a Readanl Rcaclanl #1 -ccci cccScccccsci Get SMILES Send SMILES

Rcaclanl #2 Get SMILES Send SMILES Erase Current Draw Erase Input Fields

Fig. 9.7 - Interface graphique du systeme GasEI : editeur do molecules

Sur la figure 9.9 sent donnfees les deux composantes de l’interface graphique : l’editeur de molecules et le menu de reactions.

9.3.1 Editeur de molecules Apros une etude approfondio dos besoins d’interfaco du systeme GasEI et des differentes solutions exist antes dans les bibliotheques dedifees a la chimie, nous avons decide de choisir 1’editeur et le visualiseur de molecules de Marvin [Mar], pour les intfegrer dans l’interface graphique du systeme GasEI. Sur la figure 9.7 sont representes 1’editeur de molecules de Marvin, qui rccupere la notation SMILES d’une molecule des que l’on actionne le bouton Got SMILES , et qui affiche une notation SMILES des quo l’on actionne le bouton Send SMILES

9.3.2 Menu de reactions A la suite de 1’analyse des besoins de l’utilisateur, nous avons decide de permettre d’activer on de dfesactiver les regies codant les rfeactions chimiques par un systeme de menu graphique, prfesentfe sur la figure 9.8.

9.4 Conclusions

Dans ce chapitre nous avons prfesentfe l’fetat courant du prototype du systeme GasEI. Une des priori tes est d’assurer l’exhaustivitc du mfecanisme primaire de pyrolyse oxydante, et il reste a feliminer les reactions on double dans les phases de propagation et de terminaison, par une technique similaire a la technique utilisfee dans la phase d’amorgage. Les rfeactions de la phase de propagation et 140 Chapitre 9. Codage du mecanisme primaiic

OPTIONS TREE B Unimolecular Initiations

! C NOT USED

C For AS Temperatures (ui] ui_XH)

(* For... (<4)

C For... (ui, ui_cycte)

C For... (ui_ar) B Bimolecular Initiations F YES (bi_02)

E Metathesis ” YES (me)

E ipso "'YES (ipso) B Oxidation r YES(oxid)

E: Beta-Scission

I C NOT USED

C For AS Temperatures (bSc, bScH)

<*■ For... (bSc)

C For... (bScjsyde) E Combination F YES (co_YB) B Dispropomations F YES (di_YB)

Ftc4. 9.8 - Interface graphique du systeme GasEI : menu de reactions 9.4. Conclusions 141

Fig. 9.9 - Interface graphique du systeme GasEI : cditeur de molecule et menu de reactions 142 Chapitre 9. Codage du mAcanisme przmaire dans la phase de terminaison sent actuellement Acrites dans le Adder de sortie. H sufBt de les garder dans une hste, d'appliquer un opArateur qui Ahmine les reactions redondantes, et d'Acrire ensuite, dans le Adder de sortie, les reactions qui restent (voir la dAAnition de la strangle InitlMolecnle & la page 131 et le schema correspondant, sur la Agure 9.4, & la page 133). Une autre priority est de coder complAtement la bAta-sdssion par rupture d'une liaison C—C : les situations exprimAes par les Aquations (8.26), (8.27) et (8.28) ne sont pas encore codAes. L'hypothAse sur laquelle nous avons construit le codage de la phase de propagation est celle que le point radicalaire est toujours dans la tAte du terme. Pour les biradicaux, radicaux avec deux points radical air es, il faut proposer une autre solution. Par example, gAnArer les deux visions du biradical qui ont le point radicalaire & la radne. Nous pensons que du point de vue chindque, la prise en compte de biradicaux n'est pas une prioritA immAdiate. D faut implanter une mAthode de reconnaissance des cycles aromatiques en notation KekulA. L'alter- nance liaisons simples, liaisons doubles Atant une mAthode incomplAte, une nouvelle mAthode doit Atre proposAe par les chindstes. Chapitre 10

Validation chimique du prototype

De nombreuses verifications ont ete effectu6es pendant le developpement du prototype GasEI. En tant que logiciel destine & une application en chimie-physique, la validation des mecanisines generes a ete realisee avec Taide des chimistes. Deux methodes principales ont ete utilisees : la premiere, presentee dans la paragraphe 10.1, a ete appliqu6e pour les classes des alcanes et des cyclanes avec un seul cycle; la deuxieme methode, utilisee pour les molecules polycycliques, fait Tobjet du paragraphe 10.2.

10.1 Classe des alcanes et des cyclanes avec un seul cycle

Pour les classes des alcanes, lineaires et ramifies, et pour les cyclanes avec un seul cycle, les mecanismes sont connus, valides par des experiences et ont ete publies et analyses par les experts en cinetique chimique. Puisque le systeme GasEI est construit sur les memes principes physico-chimiques que EXGAS, nous avons utilise les mecanismes detailies et valides, generes par EXGAS que nous avons compares, & la main, avec les mecanismes generes par GasEI, en activant, dans les deux systernes, les memes schemas de regies. Nous avons g6nere avec GasEI et EXGAS les mecanismes primaires detailies de pyrolyse oxydante de Tiso-octane (une des molecules de reference pour Tindice d'octane d'une essence), du cetane et de Thepta- methylnonane (deux molecules de reference pour Tindice de cetane d'un gazole) et de Tethylcyclohexane. La figure 10.1 presente des statistiques obtenues en utilisant le prototype du systeme GasEI, pour la ge ­ neration de mecanismes primaires de pyrolyse oxydante de ces quatre molecules. Nous avons utilise un ordinateur de bureau, avec un processeur Intel Pentium 3 & 1GHz et 512 Mo de memoire. Pour chaque mecanisme, nous avons mis en evidence : le nombre d'atomes de carbone de la molecule de depart, le nombre de reactions eiementaires primaires du mecanisme, le nombre de pas de reecriture executes par ELAN et le temps d'execution. Ces statistiques sont presentees pour donner une idee du temps d'execution n6cessaire pour g6n6rer les mecanismes des molecules prises en compte.

Formule Nombre Nombre Nombre de Temps Molecule simplifiee d'atomes de pas de (sec.) de carbone reactions reecriture yy iso-octane 8 65 12 065 1,2 cetane 16 149 39 712 35,5

heptamethylnonane 16 164 50 647 31,9

ethylcyclohexane cr 8 194 47 681 10,3

FiG. 10.1 - Statistiques pour le systeme GasEI

143 144 Chapitre 10. Validation chimique du prototype

Dans le paragraphs 10.1.1, nous faisons une analyse detailiee du mecanisme primaire de pyrolyse oxydante de Tiso-octane g6n6r6 par GasEI, en le comparant avec le mecanisme g6n6re par EXGAS. La m&me analyse est faite, dans le paragraphs 10.1.2, pour la molecule d'ethylcyclohexane.

Indications pour la lecture des mecanismes generes Dans les mecanismes generes par EXGAS et par GasEI, les reactions sont num6rotees et sont regroup6es en fonction du type des reactions eiemsntairss. Dans les examples, les reactions provenant du mecanisme g6nere par EXGAS garden! la m6me forme que dans le Adder : le num6ro de la reaction est encadre entre < et >, les molecules et les radicaux sont ecrits en notation hneaire de Nancy (voir le paragraphs 3.9.2, page 35), et chaque reaction est donnee aussi dans une notation symbohque : "m" designs une molecule, "r" designs un radical, et leurs numeros correspondent au rang de ces espAces, dans la generation. Les reactions provenant du mecanisme g6nere par GasEI sont, le plus souvent, presentees sous deux formes : 1. la forme en notation SMILES (voir le paragraphs 3.9.2, page 35), dans laquelle les reactions ont leur num6ro encadre entre crochets, et 2. la representation graphique de la reaction, realises en utilisant le visualiseur de molecule de Mar­ vin [Mar] (voir par example la figure 10.3). La convention de representation est que le signe - ne denote pas une charge negative, mais designs Teiectron non apparie. Le titre de la fenetre donne la notation SMILES de la reaction.

10.1.1 MAcanisme primaire de pyrolyse oxydante de Tiso-octane Le mecanisme primaire de pyrolyse oxydante de Tiso-octane g6nere par EXGAS se trouve en annexe A.l (page 175), et celui g6n6re par GasEI se trouve en annexe B.l (page 197). Sur la figure 10.2 sont pressntes en parallels le nombre de reactions obtenues pour chaque classe de reactions eiemsntaires, dans les mecanismes primaires generes par EXGAS et par GasEI. Nombre de reactions Reaction eiementaire gene r6es par EXGAS GasEI ui amorgage unimoieculaire C—C 4 4 ui H amorgage unimoieculaire C—H — 4 bi amorgage bimoieculaire 4 4 me metathese 48 20 ipso reaction ipso — 0 ox oxydation 13 11 bs beta-scission C—C 13 11 bs H beta-scission C—H 13 11 co.O. combinaison avec *0* — — CO combinaison 0 0 di dismutation 0 0 TOTAL 95 65

FiG. 10.2 - Comparaison du nombre de reactions dans les mecanismes primaires de Tiso-octane generes par EXGAS et par GasEI

Amorgages unimoleculaires Le nombre de reactions d'amorgage unimoieculaire par rupture de liaison C—C est de quatre, et il est le m&me dans les deux mecanismes : les reactions sont numerotees de 1 & 4, dans les deux mecanismes generes (voir les annexes A.l et B.l), & Tordre pres. 10.1. CZaasc des afcancs ct des eydanes avee im seid cydc 145

Nous pronons comma example la premiere reaction du mce.anisme gcncrc par GasEI [l]C(C)(C)CC(C)(C)C-> C(e)(C)C+ C(e)C(C)(C)C qui est en troisieme position dans le mce.anisme gcncrc par EXGAS < 3 > c(/ch3)3/ch2/ch(/ch3)2 -> .ch(/ch3)2 + .ch2/c(/ch3)3 m2 8 > r24 + r25 L'interface graphique de GasEI permet d’affie.her la premiere reaction comma sur la figure 10.3.

Fra. 10.3 - Reaction d'amorqagc unimolcculaire de l’iso-octane, par rupture de liaison C—C

Dans le mce.anisme gcncrc par GasEI, les reactions numorotocs de. 5 a 8 sent des reactions d'amorqagc unimolcculaire par rupture, de. liaison C—H. Cos reactions nc. sent pas activocs dans EXGAS.

Amorgages bimoleculaires

Les quatre. reactions d'amorgage bimolcculaire sent numcrotc.es de. 5 a 8 dans le. mce.anisme gcncrc par EXGAS, at de. 9 a 12 dans le. mce.anisme gcncrc par GasEI.

Metatheses

Les reactions de nictathe.se sent numorotoes de. 48 a 95 dans le. mce.anisme gcncrc par EXGAS, at de. 13 a 32 dans le. mce.anisme gcncrc par GasEI. La difference entre le. nombre de. reactions de metatheses gcncrce.s par EXGAS, 48, et le. nombre de. reactions gcncrce.s par GasEI, 20, est due. au fait quo. les listes des radicaux considcroes sent differentes : EXGAS utilise, une liste. de. 12 radicaux fifi, tandis qua. GasEI utilise, une. liste. des 5 radicaux fl. II existe 4 possibilities d'arrachcr un atonic H dans la molecule d'iso-octanc, done. EXGAS gcncrc 4 * 12 = 48 reactions de metathese, et GasEI genera. 4 * 5 = 20 reactions. Pour un radical fl, qui sc. retrouve dans les deux listes de radicaux (c.c.llc. du systeme EXGAS et e.c.llc. du prototype. GasEI), la reaction de metathese de l’iso-octane avee. ce radical sc. retrouve dans les deux mccanismcs. En consider ant, par example le radical »OOH, la reaction de metathese numcro 61 dans le mce.anisme gcncrc par EXGAS < 61 > c(/ch3)3/ch2/ch(/ch3)2 + .o/oh -> /(oh)2 + .ch2/ch(/ch3)/ch2/c(/ch3)3 m28 + r3 -> m4 + r28 est en position 27 dans le mce.anisme gcncrc par GasEI [27] C C(C)C C(C)(C)C + 0(e)0 -> C(e)C(C)C C(C)(C)C +00 et sa representation graphique. sc. trouve. sur la figure. 10.4. 146 Chapitre 10. Validation chimiquc du prototype

Fra. 10.4 - Reaction do mGtathdsa do 1'iso-ootana avoc 1c radical *OOH

Oxydations Los reactions d’oxydation sent numcrotces do 35 a 47 dans la mccanisme gcncrc par EXGAS, at da 33 a 43 dans la mcoanismo gcncrc par GasEI. Los reactions 35 at 36, gcncrcos par EXGAS, no sont pas obtonnos dans lo mccanismo gcncrc par GasEI, parcc quo las radicaux impliqucs, a savoir : la radical code r 19 qui cst . ch2/ch2/ch3, at la radical code r20 qui cst . ch2/ch2/ch2/ch3 no sont pas das radicaux issus da 1’iso-octane, mais proviennent da la base do reactions Co-Ci-Ca, presente dans le systeme EXGAS pour las reactions clcmentaires das molecules avec moins do trois atonies da carbona. Nous avons choisi comma example da reaction d’oxydation, la reaction numcro 47 dans le mccanismo gcncrc par EXGAS < 47 > .ch(/ch(/ch3)2)/c(/ch3)3 + //(o)2 -> c(/ch3)3/ch//c(/ch3)2 + .o/oh r30 + m3 -> m36 + r3 qui sc retrouve on position 43 dans le mccanismo gcncrc par GasEI [43] C(e)(C(C)C)C(C)(C)C+ 0=0 -> C(C(C)(C)C)=C(C)C+ 0(e)0 at dont la representation graphique cst sur la figure 10.5.

Fra. 10.5 - Reaction d’oxydation d’un radical, issu do 1’amorqagc unimolceulaire do l’iso-octanc par rupture do liaison C—H

Beta-scissions Los reactions do bftta-scission sont numcrotces do 9 a 34 dans le mccanisme gcncrc par EXGAS : les munAros impairs sont das bbta-saissions da liaison C—C, at las munAros pairs sont das bbta-saissions da liaison C—H. 10.1. CZaaso dcs aZcanos ot dcs cydanoa avoc im aod qydc 147

Dans lc niceanisme gcncrc par GasEI lcs reactions do bftta-scission do liaison C—C sont numcrotces do 44 a 54, ct lcs reactions do bftta-scission do liaison C—H sont numcrotces do 55 a 65. Los quatro reactions do bftta-scission numcrotces do 9 a 12, dans le niceanisme gcncrc par EXGAS, no sont pas obtenues dans le niceanisme gcncrc par GasEI, parco quo lcs radicaux rl9 (.ch2/ch2/ch3) ot r20 (. ch2/ch2/ch2/ch3) sont impliqufts. Pour lcs autres il y a corrospondanco. Par exemple, le radical obtenu a la suite do la reaction do mctathft.se numcrotce 27, dans le niceanisme gcncrc par GasEI (voir la figure 10.4), est decompose par une bftta-scission d'uno liaison C—C. Los doux rftactions sont numftrotftos 47 ot 48, ot sont roprftsontftos snr la figure 10.6. La reaction do mctathft.se numcro 47 dans le niceanisme gcncrc par GasEI [47] C(e)C(C)C C(C)(C)C -> C=C C C(C)(C)C + C e est la reaction numcro 27 dans le niceanisme gcncrc par EXGAS < 27 > .ch2/ch(/ch3)/ch2/c(/ch3)3 -> .ch3 + c(/ch3)3/ch2/ch//ch2 r28 -> r4 + m34 La reaction do mctathft.se numcro 48 dans le niceanisme gcncrc par GasEI [48] C(e)C(C)CC(C)(C)C-> C=CC+ C(e)C(C)(C)C est la reaction numcro 26 dans le niceanisme gcncrc par EXGAS < 26 > .ch2/ch(/ch3)/ch2/c(/ch3)3 -> .ch2/c(/ch3)3 + ch3/ch//ch2 r28 -> r25 + m!8

Ftci. 10.6 - Decompositions par bftta-scission du niftme radical, issu do la reaction 27, do la figure 10.4

10.1.2 M6canisme primaire de pyrolyse oxydante de l’6thylcyclohexane Le niceanisme primaire do pyrolyse oxydante do l’cthylcyc.lohexane gcncrc par EXGAS so trouve on annexe A.2 (page 182), ot colui gcncrc par GasEI so trouve on annexe B.2 (page 201). Sur la figure 10.7 sont presentes on parallft.le le nombre do reactions obtenues pour chaqtie classo do reactions element.aires, dans les niceanismes primaires gcncrcs par EXGAS ot par GasEI. 148 Chapitre 10. Validation chimiquc du prototype

Nombre da r6aetions R6aetion 616mcntairc g6nf roes par EXGAS GasEI ui amorgage unimolcculairc C—C 2 2 ui H amorgage unimolcculairc C—H 6 6 bi amorgage bimol6aulaire 6 6 me m6tathdse 54 30 ipso r6aetion ipso — 0 ox oxydation 25 36 bs bhta-seission C—C 37 37 bs H bfita-scission C—H 39 36 co.O. aombinaison avoe *0* — — ao aombinaison 0 8 di dismutation 2 10 TOTAL 171 171

Fig. 10.7 - Comparaison du nombre do reactions dans los mccanismes primaires do l’cthylcyclohexane gcncrcs par EXGAS ct par GasEI

Amorgages unimoleculaires Dans los deux mccanismes, il y a deux reactions d’amorgage unimolceulaire par rupture d’une liaison C—C, situce sur la branche alkyle. Nous prenons comma example la premiere reaction du mccanisme gcncrc par GasEI [1] C(C)C1 C C C C Cl -> C(e)C + Cl(e)C C C C Cl qui est an quatrieme position dans la mccanisme gcncrc par EXGAS < 4 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l -> .ch2/ch3 + c(#l)h2/ch2/ch2/c(.)h/ch2/ch2/l mcl -> rll + rc4 Sa representation graphique sc trouve sur la figure 10.8.

Fig. 10.8 - Reaction d’amorgage do l’cthylcyclohexane, par rupture d’une liaison C—C

Dans la mccanisme gcncrc par GasEI, los six reactions, numcrotces do 3 a 8 sent das reactions d’amor ­ gage unimolcculairc par rupture do liaison C—H. Dans la mccanisme gcncrc par EXGAS sc retrouvent las mfimos six reactions d’amorgage unimolcculairc par rupture do liaison C—H. Un example d’amorgage unimolcculairc do l’cthylcyclohexane, par rupture do liaison C—H est la reaction numcro 7, dans la mccanisme gcncrc par GasEI, [7] C(C C C C1)C1 C C -> C(e)(C C C C1)C1 C C + He 10.1. Claasc dcs afcancs ct dcs cydancs avuc im sniff cydc 149 dont la representation graphique se trouve sur la figure 10.9, et qui est en premiere position dans le mceanisme gcncrc par EXGAS < 1 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l -> .h + c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/c(.)h/l mcl > rl + rcl

Fra. 10.9 - Reaction d'amorqage de l’cthylcyclohexane, par rupture d’une liaison C—H

Amorgages bimoleculaires Les six reactions d’amorgage bimolcculaire de l’cthylcyclohexane sont numcrotces de 9 a 14, dans les deux mccanismes, l’un gcncrc par EXGAS et l’autre gcncrc par GasEI. Nous pronons conime example la reaction d’amorgage bimolcculaire numcro 14, dans le mceanisme gcncrc par GasEI, [14] C(C1)C C C Cl C C + 0=0 -> C(e)(Cl)C C C Cl C C + 0(e)0 dont la representation graphique se trouve sur la figure 10.10, et qui a le numcro 13, dans le mceanisme gcncrc par EXGAS < 13 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + //(o)2 -> c(#l)h(/ch2/ch3)/ch2/ch2/ch2/c(.)h/ch2/l + .o/oh mcl + m3 -> rc2 + r3

Fra. 10.10 - Reaction d’amorgage bimolcculaire de l’cthylcyclohexane

Metatheses Les reactions de metathese de l’cthylcyclohexane sont numcrotces de 117 a 170 dans le mceanisme gcncrc par EXGAS, et de 15 a 44 dans le mceanisme gcncrc par GasEI. La difference entre le nombre de reactions de metathese gcncrces par EXGAS, 54, et le nombre de reactions gcncrces par GasEI, 30, est due au fait quo les listes des radicaux considcrces sont differentes : 150 Chapitre 10. Validation chimiquc du prototype

EXGAS utilise une liste de 9 radieaux ftp, tandis que GasEI utilise seulement la liste des 5 radieaux ft. II existe 6 possibilities d’arraeher un atome H dans la molecule d’cthylcyclohexane, done EXGAS genoro 6 * 9 = 54 reactions de metathese, et GasEI genere 6*5 = 30 reactions. Pour un radical ft, qui sc retrouve dans les deux listes de radieaux (eelle du systeme EXGAS et cello du prototype GasEI), la reaction do metathese do 1 ’cthyley elohexane aver, ee radical so retrouve dans les deux mceanismes. En consider ant, par exemple, le radical »CH3, la reaction do metathese numcro 140 dans le mceanisme genere par EXGAS < 140 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .ch3 -> c(#l)h(/ch2/ch3)/ch2/ch2/c(.)h/ch2/ch2/l + ch4 mcl + r4 -> rc3 + m5 ost on position 45 dans le mceanisme genere par GasEI [26] C(C C1)C C Cl C C + C e -> C(e)(C C1)C C Cl C C + C et sa representation graphiquo so trouve sur la figure 10.11.

Fra. 10.11 - Reaction do metathese do 1 ’cthyleyelohexane aver, le radical »CH3

Oxydations Los reactions d’oxydation sont numcrotces do 92 a 116 dans le mceanisme genere par EXGAS, et do 45 a 80 dans le mceanisme genere par GasEI. Dans le mceanisme genere par EXGAS, les 25 reactions d’oxydation impliquont des radieaux aeyeliques. Dans le mceanisme genere par GasEI il y a 13 reactions d’oxydation de radieaux eyeliques, num6rot6es de 45 & 57, et 23 r6aetions d'oxydation de radieaux aeyeliques. La eomparaison ost done possible pour les reactions d’oxydation do radieaux aeyeliques. Par mi les 25 reactions d’oxydation du mceanisme genere par EXGAS, 20 reactions so retrouvent parmi les 20 reactions d’oxydation du mceanisme genere par GasEI, numcrotces do 58 a 77; les differences ontro les 5 autros reactions d’oxydation du mceanisme genere par EXGAS, et le reste do 3 reactions d’oxydation du mceanisme genere par GasEI sont oxpliquees ei-dossous : 1. Les reactions 92 et 93, gcncrces par EXGAS, no sont pas obtenues dans le mceanisme genere par GasEI, paree quo les radieaux impliqucs, le radical code rl9 qui ost . ch2/ch2/ch3, et le radical code r20 qui ost . ch2/ch2/ch2/ch3 no sont pas des radieaux issus do l’cthyleyelohexane, mais proviennent do la base de reactions, C0C1-C2 2. Les reactions gcncrces par EXGAS et numcrotces 112 et 115, impliquont des radieaux fibres, notes r37 et r40, dont la double liaison ost a une distance de 1 du point radiealaire. Dans ees situations, le systeme EXGAS donno des reactions tres partieulieres, comma par example la reaction 115 : < 115 > .c(//ch2)/ch2/ch3 + //(o)2 -> ch2//o + .c(//o)/ch2/ch3 r40 + m3 -> m6 + r41

Le radical r40 qui ost . c (//ch2) /ch2/ch3, donno deux reactions d’oxydation dans le mceanisme genere par GasEI, la premiere numcrotce 78 : 10.1. CZaaso dcs aZcanos ot doa cydanoa avoc im soul qydo 151

[78] C(e)(CC)=C + 0=0 -> C(=C)=CC + 0(e)0

ot la douxiftmo numftrotfto 79 : [79] C(e)(CC)=C + 0=0 -> C(CC)#C + 0(e)0

Los representations graphiques de ees deux reactions so trouvent sur la figure 10.12. Pour le radical r37, il y a unc se.ule. reaction d’oxydation dans le mceanisme gcncrc par GasEI, numcrotce 80. 3. La reaction 116 du mceanisme gcncrc par EXGAS impliquo le radical . c(//o)/ch2/ch3, note r41, ot issu do la reaction 115. Cette reaction n’a done pas do reaction eorrespondante dans le mceanisme gcncrc par GasEI.

Fig. 10.12 - Oxydations du radical C(e) (CC)=C

B6ta-scissions Mecanisme genere par EXGAS Los 76 reactions do bftta-seission du mceanisme gcncrc par EXGAS sont numcrotces do 15 a 90 : 37 reactions do bftta-seissions do liaison C—C, ot 39 reactions do bftta-seissions do liaison C—H. Los quatro reactions do bftta-seission numcrotces do 15 a 18, dans le. mceanisme. gcncrc par EXGAS, no sont pas obtenues dans le. mceanisme. gcncrc par GasEI, parco quo los radieaux rl9 ot r20 sont impliqucs. Los reactions numcrotces 65 ot 66 dans le mceanisme gcncrc par EXGAS, impliquent le radical .c(//o)/ch2/ch3, note r41, issu d’une reaction qui n’est pas implantc dans GasEI. Cos deux reactions no peuvent done pas fttre obtenues dans le mceanisme gcncrc par GasEI. La reaction 60 dans le mceanisme gcncrc par EXGAS < 60 > .ch2/ch//ch/ch3 -> .h + /(ch//ch2)2 r38 -> rl + m26 prend on eompte la forme . ch (/ch3) /ch//ch2 du radical . ch2/ch//ch/ch3. Cette reaction n’est pas obtenue dans le mceanisme gcncrc par GasEI. Done, des 76 reactions do bftta-seission du mceanisme gcncrc par EXGAS, los 7 reactions diseutces ei-dessus no sont pas obtenues dans le mceanisme gcncrc par GasEI; le 69 reactions restantes sont obtenues par GasEI, comme nous aliens le voir dans le paragraphe suivant.

Mecanisme genere par GasEI Dans le mceanisme gcncrc par GasEI il y a 73 reactions do bftta-seission : 37 reactions do bftta-seissions do liaison C—C, numcrotces do 81 a 117, ot 36 reactions do bftta-seissions do liaison C—H, numcrotces do 118 6 153. Comme nous l’avons precise dans le paragraphe 9.4, page 139, aetuellement le prototype n’climine pas los reactions on double dans los phases do propagation ot do terminaison. Quatro reactions sont on double dans le mceanisme gcncrc par GasEI pour l’cthyleyelohexane : 152 Chapitrc 10. Validation chimiquc du prototype

- la reaction 84 ost la mfime quo la reaction 92, - la rfiaotion 87 ost la mfimo quo la rfiaotion 88, - la reaction 89 ost la mfime quo la reaction 95, ot - la reaction 124 ost la mfime quo la reaction 125. II y a done 69 reactions do bfita-seission dans lo mccanismo gcncrc par GasEI, qui sont los mfimos quo los 69 reactions do bfita-seission du mccanismo gcncrc par EXGAS.

Exemples Lo radical obtonu a la suite do la reaction d'amorqago unimolfieulairo numcrotce 7, dans lo mccanismo gcncrc par GasEI (voir la figure 10.9), ost decompose par bfita-seission do liaison C—C ; los trois reactions possibles sont numfi.rotfi.es 81, 85 ot 93, ot sont roprfi.sontfi.es sur la figure 10.13.

Fra. 10.13 - Decompositions par bfita-seission du mfime radical, issu do la reaction 7, do la figure 10.9

La reaction do bfita-seission numcro 81, dans lo mccanismo gcncrc par GasEI, ost la reaction numcro 68, dans lo mccanismo gcncrc par EXGAS. Los correspondanc.es dos numcros, pour los deux autros reactions donnccs c.omme example, so trouvont dans lo tableau suivant : Mfioan isme gcncrc par GasEI EXGAS |81| < 68 > |85| < 82 > 1 93 1 < 83 >

Combinaison et dismutation Lo prineipo qui ost a la base dos reductions dans los reactions do combinaison ot do dismutation dans lo prototype du systeme GasEI n’est pas exactomont lo mfime quo lo prineipo implantfi dans lo 10.2. CZasso dos molActdos polycycliguos 153 systcme EXGAS. C’cst la raison pour laquollo los reactions do combinaison ct do dismutation no sont pas comparables, on general. II faut remarquer quo dans le cas do l’cthylcyclohexane, la reaction do dismutation numcro 171, dans lo mccanisme gcncrc par EXGAS, so retrouve a la mftme position, dans le mccanisme gcncrc par GasEI, ct la reaction numcro 172, dans le mccanisme gcncrc par EXGAS, so retrouve a la position 170, dans le mccanisme gcncrc par GasEI.

10.2 Classe des molecules polycycliques

Pour los molecules polycycliques, nous no disposons quo do pen do mccanismos dctaillcs validcs. GasEI sera utilise justomont pour la generation ct la validation do cos mccanismos. II ost onvisagoablo quo pour obtonir ct amclioror le systcme GasEI, do nouveaux fibres chimiquos soiont definis, ct do nouvollos reactions 616montairos g6n6riquos primairos soront, pout-6tro, n6oossairos. Pour montror la viabilitc ct la puissance du prototype, nous avons gcncrc des mccanismos do molecules polycycliques, ct nous avons vcrific la concordance ontro los produits primairos obtonus ct los produits identifies par los experiences. Cost uno comparaison incomplete pour los raisons suivantos : - Log oxp6rionoos no sont pas assoz pr6oisos : il ost parfois dififioilo do mottro on 6vidonoo los produits primairos, par mi coux qui ont etc ct, udics. Or notro prototype no gcncrc actuollomont quo des produits primairos. Do plus, los experiences no pouvont pas mosuror ct prendre on compto toutos los especes intermediaires, gcncrces par un mccanisme exhaust,if, surtout, dans le cas des molecules polycycliques. - Le niveau do connaissanco do la chimin des molecules polycycliques no permet, pas encore tine analyse complete du phenomena. - Le prototype n’implanto qti ’une partio des reactions clementaires gcncriques primairos : los reactions do pyrolyso oxydanto.

Formulo Nombro Nombro Nombro do Temps Molecule simplifice d'atomos do pas do (soo.) do oarbono r6aotions r66orittiro

propylbenzene 9 64 6 728 0,5

indano 9 76 6 160 0,2

JP10 CTO 10 470 M6moiro msufifisanto

propyldihydrophcnanthrene 17 108 41 472 4,5

Ftg. 10.14 - Statistiquos pour le systcme GasEI : molecules polycycliques

10.2.1 Produits primairos g6n6r6s pour la molecule de propylbenzene

Los experiences presentees dans |Mar97| pour la molecule do propylbenzene ont, permis d’identifier un certain nombre do produits. Nous presentons dans le tableau suivant, los produits primairos gcncrcs cgalement, par le prototype du systcme GasEI : 154 Chapitrc 10. Validation chimiquc du prototype

Produits gcncrcs par 1'experience ct par GasEI © ©r 1.

propylbonzfi.no 2. 0-cuo 3. Lo premier produit sur la premiere ligne, le benzene, pent fitro obtenu par une reaction ipso, dont la representation graphique est sur la figure 10.15.

Fra. 10.15 - Rcaetion ipso du propylbenzd.no pour obtonir le benzene.

Lo premier produit do la deuxieme ligne pout fit re obtenu par une suite do deux reactions, reprcse.n- tees sur la figure 10.16 : une reaction d'amorqagc unimolceulaire par rupture do liaison C—H, ot une decomposition par bfita-seission dime liaison C—C.

Fra. 10.16 - Amorqago unimolficulairo suivi do bfita-seission

Lo premier produit do la troisieme ligne pent fitre obtenu par une suite do trois reactions, reprcsentces sur la figure 10.17 : une reaction d’amonjago unimolceulaire par rupture do liaison C—C, une reaction do eombinaison aver, le biradical »0», ot une bfita-seission do liaison C—H. 10.2. daase des molAodes polycycligues 155

Fig. 10.17 - Amorcage unimolcculaire, suivi d’unc reaction do combinaison aver, lc biradical »0» ct d’unc r6action de bAta-scission dc liaison C—H

10.2.2 Produits primaires g6n6r6s pour la molecule d’indane Los experiences presentees dans |Mar97, DRPC01| pour la molecule d’indane, ont permis d’identifier un certain nombre do produits. Nous presentons dans lc tableau suivant les produits primaires gcncrcs cgalement par lc prototype du systeme GasEI :

Produits gcncrcs par 1’experience ct par GasEI

1. ©u W

indane ©r 2. (ofCH0 3. Pour obtenir lc premier produit do la premiere ligne, deux reactions sont nccessaires : une reac­ tion d'amorqage unimolcculaire par rupture do liaison C—H, ct une reaction d’oxydation (voir sur la figure 10.18). Lc deuxieme produit do la premiere ligne pent fttre obtenu par une suite do trois reactions, reprcsentces sur la figure 10.19 : une reaction d'amorqage unimolcculaire par rupture do liaison C—H, une reaction do combinaison avec lc biradical »0», ct une reaction d’oxydation. 156 Chapitrc 10. Validation chimiquc du prototype

Flo. 10.18 - Amorgage unimolOculairc suivi d'oxydation

Fra. 10.19 - Amorgage unimolcculaire, combinaison aver, lc biradical »0» ct reaction d’oxydation 10.2. daaso dos molftodos polycycliguos 157

10.2.3 Produits primaires g6n6r6s pour la molecule de JP10 Lo mccanisme gcncrc par GasEI pour la molecule -JP10 Le premier example de reaction du mccanisme gcncrc par GasEI pour la molecule -JP10 sc trouve sur la figure 10.20. C’est une suite de quatre reactions : un amonjage unimolcculaire par rupture de liaison C—H, ot trois decompositions par bftta-scission d’une liaison C—C, dans chaque reaction.

Ftci. 10.20 - Reaction d'amorqage unimolcculaire ot trois decomposition par bftta-scission

Lo deuxiftme oxomplo, sur la figure 10.21, ost constituc d’un amorqago unimolcculaire par rupture do liaison C—H, do deux decompositions par bftta-scission d’une liaison C—C, ot d’une decomposition par bftta-scission d'uno liaison C—H.

10.2.4 Produits primaires g6n6r6s pour la molecule de propyldihydroph6nan- threne Los experiences presentees dans |SB96| concornont la molecule do dodccyldihydrophcnanthrft.no (DDPH), qui possft.de une. brancho alkylo C12H25. Dans la molecule do propyldihydrophcnanthrft.no. la brancho al- kylo ost C3H7, ot los produits primaires gcncrcs par le. prototype, du systftmo GasEI sont presentes dans lo tableau snivant : 158 Chapitrc 10. Validation chimiquc du prototype

Flo. 10.21 - R6action d'amorgago unimol6culairo, deux beta-scissions dc liaison C—C, ct bbta-scission d'uno liaison C—H 10.3. Conclusion 159

Lo premier produit sur la premiere ligne pent fit re obtenu par une reaction ipso, dont la representation graphiqne. cst snr la figure. 10.22.

FlC4. 10.22 - Reaction ipso dn propyldihydrophcnanthrene

Un autre example do reaction ipso du propyldihydrophcnanthrene cst sur la figure 10.23, on la rupture do liaison C—C sc produit sur lo cycle non aromatique.

Fra. 10.23 - Reaction ipso du propyldihydrophcnanthrene, par rupture, d’une. liaison C—C du cycle, non aromatique

Lo produit situc sur la troisiomo ligne. pout fitro obtenu par une. suite, do deux reactions, rcproscntocs sur la figure. 10.24 : une. reaction d'amorqagc unimolceulaire par rupture, do liaison C—H, ot une. reaction do dismutation impliquant lo radical »CH3.

10.3 Conclusion

Nous avons done prouve la validitc qualitative, des mceanismes goner os. 160 Chapitrc 10. Validation chimiquc du prototype

Fig. 10.24 - Amorcage unimolcculaire ct dismutation aver, lo radical »CH3

Lorsque nous somnics dans lo cadre dcs molecules acycliques ou nionocycliques, les niccanismes gcncrcs par le prototype du systeme GasEI corespondent (aux hypotheses chimiques pres) a crux gcncrcs par EXGAS, et qui ont etc validcs par plusieurs theses experiment.ales. Lorsque nous somme.s dans le cadre des molecules polycycliqucs, pour lesquelles le systeme EXGAS est incapable de produire des niccanismes dot, aides, nous avons validc les niccanismes gcncrcs par le prototype du systeme GasEI par comparaison aver, les donnc.es expcrimentales de. la littcrature. Conclusions et perspectives

Nous rappelons que les objectifs de cette thAse Ataient d'Atudier et de proposer des techniques de modA- lisation efBcaces et bien adapt Aes au problAme de la gAnAration automatique de mAcanismes rAactionnels, de concevoir la structure gAnArale du systAme logiciel GasEI, et de fournir un prototype.

Contributions

Nos prindpales contributions sont :

Analyse du problAme de la gAnAration automatique de mAcanismes Le problAme de la gAnAration automatique de mAcanismes est un problAme complexe, nAcessitant des connaissances multidisciphnaires. Pour la conception et le dAveloppement d'un systAme dAdiA & la gAnAration automatique des mAcanismes rAactionnels nous Ations confrontAs & des choix diffArents : les choix basAs enticement sur Texpertise des chimistes cinAticiens, les choix basAs sur TexpArience accumulAe dans le vaste domaine de la chimie informatique, et, enfin, les choix dans le domaine informatique. Tons ces choix sont interdApendants, et les frontiAres ne sont pas bien dAfinies. La structure gAnArale du systAme GasEI, la decomposition en modules fonctionnels, est la mAme que celle du systAme EXGAS, et elle est motivAe, principalement, par Texpertise en cinAtique de TAquipe du DCPR. Du point de vue informatique ce principe permet une possible rAutihsation des modules du systAme EXGAS. Notre recherche a portA essentiellement sur le gAnArateur de mAcanismes primaires, une composante du systAme GasEI. NAanmoins, Tanalyse globale du problAme de la gAnAration automatique de mAcanismes, nous a conduit & dresser une liste des problAmes infbmratiqnes & rAsoudre. Cette liste, prAsentAe dans le para- graphe 3.4, peut constituer un support pour des dAveloppements et rafBnements futurs.

Analyse des solutions de la chimie informatique Le domaine de la chimie informatique propose des mAthodes infbrmatiques pour rAsoudre des pro ­ blAmes chimiques trAs variAs. Un exemple est le domaine de la conception (ou synthAse) de mAdicaments, ou Tinformatique est beaucoup utilisAe. Le domaine de la gAnAration automatique de mAcanismes rAac- tionnels semble occuper peu de place dans les encyclopAdies de chimie informatique. Ceci a rendu assez difficile notre analyse des solutions informatiques exist antes. De la grande variAtA des concepts de la chimie informatique nous avons retenu pour notre systAme GasEI les suivants : - le graphs molAculaire : un modAle largement rApandu pour la reprAsentation des molAcules et radicaux libres; - SMILES : une notation linAaire de molAcules qui est un des formats standard de la chimie infor­ matique ; - Unique SMILES : un algorithme qui foumit la notation canonique SMILES d'une molAcule ; - Marvin : une bibliothAque de logiciels pour la chimie qui offfe un Aditeur et un visualiseur de molAcules.

161 162 Conclusions et perspectives

Realisation du prototype La construction du prototype du systeme GasEI a necessite de fixer des objectifs physico-chimiques & atteindre, et de proposer des solutions informatiques.

Objectifs physico-chimiques Les objectifs physico-chimiques du prototype ont ete Axes par les chimistes et ont mene aux choix suivants : - Le g6n6rateur de mecanisme primaire a ete implants. D constitue le noyau du systeme GasEI. - La structure en trois phases du g6n6rateur de mecanisme primaire est justiAee par des considerations physico-chimiques . - Les reactions eiementaires g6neriques primaires implantees dans le mecanisme primaire repr6sentent une classe de reactions, qui modeiisent la pyrolyse oxydante.

Objectifs informatiques L'objectif informatique du projet GasEI est d'explorer 1'utilisation des systernes & base de regies et strategies, pour modeiiser un systeme capable de g6nerer des mecanismes de combustion de molecules d'hydrocarbures acycliques, monocycliques et polycycliques. Les objectifs informatiques du prototype ont ete de proposer des formalismes permettant de coder un g6nerateur de mecanisme primaire de pyrolyse oxydante. Le code a ete developpe en utilisant le systeme ELAN. Nous avons propose le codage des graphes moieculaires par des termes : des termes GasEI pour le codage interne, et des termes SMILES pour 1'interface. Nous avons introduit la notion d'arbre moieculaire decore qui repr6sente une etape intermediaire du codage des graphes moieculaires par des termes SMILES. Nous avons traduit les reactions eiementaires g6neriques primaires pour la pyrolyse oxydante en trans­ formations au niveau des graphes moieculaires, puis en transformations au niveau des arbres moieculaires decores. Au niveau des termes GasEI nous avons analyse les principes g6neraux de codage des reactions de pyrolyse oxydante comme transformations de termes GasEI : - Nous avons identiAe les sous-graphes & detecter dans un graphe moieculaire, et nous avons montre comment les retrouver dans un terme GasEI. - Nous avons mis en evidence les tests & effectuer sur les termes GasEI, permettant d'exprimer les situations des reactions chimiques qui ne se produisent pas. - Nous avons precise les transformations des termes GasEI qui correspondent aux transformations des graphes moieculaires & la suite d'une reaction. Pour illustrer ces differentes notions nous avons presente 1'exemple complet de codage de 1'amorgage unimoieculaire. L'enchalnement des reactions eiementaires g6neriques primaires a ete realise en utilisant le contrOle de replication des regies par des strategies. Cette approche permet & 1'utilisateur chimiste de disposer d'un systeme flexible, adapte & ses besoins.

Validations chimiques Les mecanismes g6neres par le prototype du systeme GasEI ont ete valides par les chimistes : Quand la comparaison avec des mecanismes foumis par le systeme EXGAS a ete possible, la correspon- dance entre les mecanismes est tres bonne. Pour les molecules polycycliques la validation des mecanismes generes par le prototype a ete faite en se rapport ant aux experiences. Ce n'est pas une validation complete, mais elle nous a permis de montrer la viabilite et la puissance du prototype et des formalismes sur lesquels il a ete construit.

Perspectives

D reste plusieurs travaux & effectuer pour passer du prototype que nous avons developpe & un systeme qui soit utilisable par les chimistes cineticiens. 163

Pour le prototype Par mi les priority immediates de codage du prototype discutees dans le paragraphe 9.4, il sera n6ces- saire d'assurer 1'exhaustivite du mecanisme primaire de pyrolyse oxydante, et de coder les cas particuliers de la reaction de beta-scission.

Pour le mAcanisme primaire Pour g6n6rer des mecanismes primaires de Hamme ou d'autoinHammation il faut coder d'autres types de reactions 616mentaires g6n6riques primaires. Nous avons commence 1'analyse de certaines de ces re­ actions et nous avons identity des problemes supplAmentaires & prendre en compte, par rapport au prototype : - Pour coder 1'addition sur une double liaison, rexperience accumuiee dans le developpement du systeme EXGAS montre la necessite d'implanter plus de Hltres chimiques. La reaction d'addition sur une double liaison se fait en phase de propagation, et elle cr6e des nouveaux radicaux hbres, de taille de plus en plus grande. H est evident qu'il faut introduire une limite superieure & la taille des radicaux libres g6neres. - Pour coder 1'isomerisation il faut retrouver un chemin de taille de 3 & 8 dans le terme, par rapport & sa racine. Nous pensons qu'une nouvelle technique est & dehnir. La reaction d'isomerisation se fait en phase de propagation, et c'est une reaction reversible. H faut done s'assurer que le systeme ne boucle pas. - Pour coder la decomposition en ethers cycliques il faut retrouver un groupement OOH dans le terme, et former un nouveau cycle. Ceci revient & introduire une paire d'etiquettes dans le terme GasEI codant le radical hbre. Le prototype code la reaction de metathese en prenant en compte une hste Hxee de radicaux /). Pour coder la metathese selon le m&me principe que dans EXGAS, il faut prendre en compte les radicaux issus des reactifs. D est n6cessaire que la metathese soit alors codee en phase de propagation.

Pour le systeme GasEI Pour realiser 1'integralite du systeme GasEI, il faut implanter les autres modules, et les connecter. Pour la base de reactions, il faut etablir, en concertation avec les chimistes, quel est son contenu et quelles sont les interactions de la base avec le mecanisme primaire ou secondaire. Nous avons commence une etude pour calculer les donnees cinetiques des reactions de beta-scission. Nous pensons qu'il est possible d'associer les donnees cinetiques des reactions eiementaires, en phase de generation du mecanisme, en utilisant le Gltrage par la reecriture. Le g6nerateur de donnees thermodynamiques pourrait soit provenir des bibhotheques de programmes pour la chimie, soit etre THERGAS, le module utilise dans EXGAS. Dans ce dernier cas, il est necessaire de le connecter avec le prototype, en transformant la notation SMILES en notation de Nancy. Toutefois, il faut s'assurer que THERGAS peut g6rer toutes les molecules poly cycliques. Pour le gen6rateur de mecanisme secondaire, si la technique utilisee est celle d'EXGAS, les produits issus du mecanisme primaire sont globalises. Nous pensons qu'un autre codage de ces molecules est envisageable.

Pour les concepts utilises H ressort de nos travaux une fagon de simuler une certaine reecriture de graphes par la reecriture de termes. Cette reecriture de graphes semble bien particuhere : conservation du nombre de sommets, des etiquettes des sommets, etc. H nous par alt important de comprendre plus avant quelles sont ses proprietes. Observons qu'habituellement, la reecriture de graphes est plus souvent utilisee pour simuler la reecriture de termes (termes-graphes). H nous semble envisageable et interessant de reprendre les resultats de ces differentes reecritures, pour comprendre ce qu'ils donnent dans notre cadre. 164 Conclusions et perspectives Bibliographie

[agg] AGG — The Attributed Graph Grammar System Homepage, http ://tfs.cs.tu-berlin.de/agg/. [Bar84] Henk Barendregt. i%e Lambda-Colculu*, it* Ryntoz and Semantic*. Studies in Logic and the Foundation of Mathematics. Elsevier Science Publishers B. V. (North-Holland), Amsterdam, 1984. Second edition. [Bar92] Henk Barendregt. Lambda Calculi with Types. In S. Abramsky, Dov.M. Gabbai, and T.S E. Maibaum, editors, Handbook 0/Logic in Computer Science, volume II, pages 118 ­ 310. Oxford University Press, 1992. [Bar98] John M. Barnard. Structure Representation. In Paul von Hague Schleyer, editor, i%e Encyclopedia 0/ Computational Ckemiatry, pages 2818-2826. John Wiley & Son Ltd, 1998. [Bar03a] Erik Barendsen. ibrm Rewriting Eyatema, chapter Term Graph Rewriting, pages 712-743. Cambridge University Press, 2003. [Bar03b] John M. Barnard. Representation of Molecular Structures — Overview. In Johann Gas- teiger, editor, Handbook 0/ Ckemoin/ormatic*. ikom Data to .Knowledge, pages 27-50. Wiley-VCH, 2003. [BB90] G6rard Berry and G6rard Boudol. The Chemical Abstract Machine. In Rroceedinga 0/ the 17th ACM Eympoaium on Principlea o/Progrummming Language*, PCPL'PO, pages 81-94. ACM Press, New York, 1990. Rapport INRIA 1133. [BCC+94] D. L. Baulch, C. J . Cobos, R. A. Cox, P. Frank, G. D. Hayman, T. Just, J. A. Kerr, T. P. Murrels, M. J. Pilling, J. Troe, R. W. Walker, and J. Wamatz. Summary Table of Evaluated Kinetic Data for Combustion Modelling : Supplement 1. Combuation and Flame, 98 :59, 1994. [BCC+03a] Olivier Bournez, Guy-Marie COme, ValGrie Conraud, H6l6ne Kirchner, and Liliana Ib&- nescu. A Rule-Based Approach for Automated Generation of Kinetic Chemical Mecha­ nisms. In Robert Nieuwenhuis, editor, Proceeding* 0/ the Ijtk international Con/erence on Rewriting Tecknigue* and Application*, RiA ^005, Valencia, ,9pain, June P-ii, volume 2706 of Lecture Note* in Computer Science, pages 30-45. Springer, 2003. [BCC+03b] Ohvier Bournez, Guy-Marie COme, Valerie Conraud, H6l6ne Kirchner, and Liliana Ib&- nescu. Automated Generation of Kinetic Chemical Mechanisms Using Rewriting. In P.M.A. Sloot, D. Abramson, A.V. Bogdanov, J.J. Dongarra, A.Y. Zomaya, and Y.E. Gor ­ bachev, editors, Proceeding* 0/ the international Con/erence on Computational Ecience, iCCE 2003, Melbourne, Au*tra!ia, June 2-j, ^PPP, Part iii, volume 2659 of Lecture Note* in Computer Ecience, pages 367-376. Springer, 2003. [BCD+00] Peter Borovansky, Horatiu Cirstea, Hubert Dubois, Claude Kirchner, H6lGne Kirchner, Pierre-Etienne Moreau, Christophe Ringeissen, and Marian Vittek. ELAN F U*er Manual. LORIA, Nancy (France), fourth edition, January 2000. [BCD+02] Peter Borovansky, Horatiu Cirstea, Hubert Dubois, Claude Kirchner, H6lGne Kirchner, Pierre-Etienne Moreau, Quang-Huy Nguyen, Christophe Ringeissen, and Marian Vittek. ELAN F P.P U*er Manual. LORIA, Nancy (France), September 2002.

165 166 BiMograpMe

[Ben02] Gil Benko. A Toy Model of Chemical Reaction Networks. Master's thesis, Universitat Wien, 2002. [Ber73] Claude Berge. Graphea et hppeprophea. Dunod, 1973. [BFM01] Jean-Pierre Ban&tre, Pascal Fradet, and Daniel Le Metayer. Gamma and the Chemical Reaction Model : Fifteen Years After. In Cristian Calude, Gheorghe Paun, Grzegorz Ro- zenberg, and Arto Salomaa, editors, Multiset Processing, Mathematical, Computer Science, and Molecular Computing Point; o/ Fieto /Workshop on Multiset Processing, WMP ^000, Curtea de Arges, Romania, August 2i-25, ^000/, volume 2235 of Recture Notes in Com ­ puter Science, pages 17-44. Springer, 2001. [BFS03] Gil Benko, Christoph Flamm, and Peter F. Stadler. A Graph-Based Toy Model of Che­ mistry. Journal o/ Chemical in/ormation and Computer Science, 43 =1085-1093, 2003. [BK79] L&szl6 Babai and Ludek Kucera. Canonical Labelling of Graphs in Linear Average Time. In iEEE Symposium on Foundations o/ Computer Science (FCCRj, pages 39-46, 1979. [BKK98a] Peter Borovansky, Claude Kirchner, and H6l6ne Kirchner. A Functional View of Rewriting and Strategies for a Semantics of ELAN. In Masahiko Sato and Yoshihito Toyama, editors, The Third ihfi international Symposium on Functional and Logic Programming, pages 143-167, Kyoto, April 1998. World Scientific. [BKK+98b] Peter Borovansky, Claude Kirchner, H6lGne Kirchner, Pierre-Etienne Moreau, and Chris- tophe Ringeissen. An Overview of ELAN. In Claude Kirchner and H6lGne Kirchner, editors, Proceedings o/ the Second international Workshop on Reuniting Logic and Applications, volume 15, http ://www.elsevier.nl/locate/entcs/volumel5.html , Pont-&-Mousson (France), September 1998. Electronic Notes in Theoretical Computer Science. Rapport LORIA 98-R-316. [BKKR01] Peter Borovansky, Claude Kirchner, HGlGne Kirchner, and Christophe Ringeissen. Rewri­ ting with Strategies in ELAN : a Functional Semantics, international Journal o/ Founda ­ tions o/ Computer Rcience, 12(1) =69-95, 2001. [BKN87] Dan Benanav, Deepak Kapur, and Paliath Narendran. Complexity of Matching Problems. Journal o/ Rymholic Computation, 3(1-2) =203-216, 1987. [Blu95] Eduard S. Blurock. Reaction = System for Modeling Chemical Reactions. Journal o/ Chemical in/ormation and Computer Rcience, 35 =607-616,1995. [BM90] Jean-Pierre Ban&tre and Daniel Le Metayer. The Gamma Model and its Discipline of Programming. The Science o/ Computer Programming, 15 =55-77, 1990. [Bor95] Peter Borovansky. Implementation of Higher-order Unification Based on Calculus of Ex­ plicit Substitutions. In Moroslav BartoBek, Jan Staudek, and Jiff Wiedermann, editors, Proceedings o/ the EOFSEM'PJ .- Theory and Practice o/ in/ormatics, volume 1012 of Lecture Notes in Computer Science, pages 363-368. Springer-Verlag, 1995. [Bor98] Peter Borovansky. Le contrdle de la r^criture : Aude et implantation d'un/ormalisme de strategies. Th&se de Doctorat d'University, University Henri Poincar& - Nancy 1, France, October 1998. also TR LORIA 98-T-326. [BSK94] Linda J. Broadbelt, Scott M. Stark, and Michael T. Klein. Computer Generated Pyro ­ lysis Modeling = On-the-Fly Generation of Species, Reactions, and Rates, industrial 0 Engineering Chemistry Research, 33 =790-799, 1994. [BSK95] Linda J. Broadbelt, Scott M. Stark, and Michael T. Klein. Termination of Computer ­ Generated Reaction Mechanisms = Species Rank-Based Convergence Criterion, industrial 0 Engineering Chemistry Research, 34 =2566-2573,1995. [BSK96] Linda J. Broadbelt, Scott M. Stark, and Michael T. Klein. Computer Generated Reaction Modeling = Decomposition and Encoding Algorithms for Determining Species Uniqueness. Computers Chemical Engineering, 20(2) =113-129, 1996. 167

[BT80] Jan A. Bergstra and J.V. Tucker. A Characterisation of Computable Data Types by Means of a Finite Equational Specification Method. In J. W. de Bakker and Jan van Leeuwen, editors, Proceeding* 0/ Automata, language* and Programming, Eeoenth C0II0- guium, Noordtoeifkerhout, The Netherland, July TPdO, volume 85 of Lecture Note* in Computer Science, pages 76-90. Springer, 1980. [CAS] Chemical Abstracts Service Homepage, http ://www.cas.org/ . [CAS98a] Chemical Abstract Service Information System. In Paul von Hague Schleyer, editor, The Encyclopedia 0/ Computational Chemwtry, pages 278-315. John Wiley & Son Ltd, 1998. [Cas98b] Carlos Castro. Che opproche ddductioe de la rd*o!ution de prohl^me* de *ati*/action de contrainte*. Thyse de Doctorat d'University, University Henri Poincary - Nancy 1, France, December 1998. [CDE+02] Manuel Clavel, Francisco Dur&n, Steven Eker, Patrick Lincoln, Narciso Martf-Oliet, JosA Meseguer, and JosA F. Quesada. Maude : Specification and Programming in Rewriting Logic. Theoretical Computer Science, (285) =187-243, August 2002. [CDE+03] Manuel Clavel, Francisco Dur&n, Steven Eker, Patrick Lincoln, Narciso Martf-Oliet, JosA Meseguer, and Carolyn Talcott. The Maude 2.0 System. In Robert Nieuwenhuis, editor, Proceeding* 0/ the Ljth international Con/erence on Reuniting Technigue* and Applica ­ tion*, RTA ^005, Valencia, 5^pain, June P-11, 2003, number 2706 in Lecture Notes in Computer Science, pages 76-87. Springer-Verlag, 2003. [CDK] The Chemistry Development Kit. http ://cdk.sourceforge.net/. [Chi87] Simon John Chinnick. Computer Eo*ed Elucidation 0/Reaction Mechani*m*. PhD thesis, The University of Leeds, School of Chemistry, 1987. [CirOO] Horatiu Cirstea. Colcul de r^6=riture : /ondement* et application*. Thyse de Doctorat d'University, University Henri Poincary - Nancy 1, Octobre 2000. [CirOl] Horatiu Cirstea. Specifying Authentication Protocols Using Rewriting and Strategies. In Third International Rympo*ium on Practical A*pect* 0/ Declarative Language*, volume 1990 of Lecture Note* in Computer Science, pages 138-153, Las Vegas, USA, March 2001. [CK97] Horatiu Cirstea and Claude Kirchner. Theorem Proving Using Computational Systems : The Case of the B Predicate Prover. In Wbrk*hop CCL 'P7, Schlo^ Dagstuhl, Germany, September 1997. [CKLOl] Horatiu Cirstea, Claude Kirchner, and Luigi Liquori. The Rho Cube. In Furio Hon- sell, editor, Proceeding* 0/ ECRRACR, Foundation* 0/ Eo/tware Ecience and Computation Structure*, volume 2030 of Lecture .Note* in Computer Ecience, pages 166-180, Genova, Italy, April 2001. [CLHSOl] Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, introduc ­ tion to Algorithm*. MIT Press and McGraw-Hill Book Company, second edition, 2001. [CMCG84] Guy-Marie COme, Chantal Muller, P.Y. Cunin, and M. Griffiths. A Linear Chemical Notation. Computer* and Chemietry, 8(4) =233-237,1984. [CML] The Site for Chemical Markup Language, http ://www.xml-cml.org . [Cbm99] Guy-Marie COme. Reaction* thermigue* en pha*e gazeu*e. Thermodynamigue, cinAigue, m6=ani*me* r6ictionnel*. TECHNOSUP. Ellipse, 1999. [Cou93] Bruno Courcelle. Ryycriture de graphes = orientation bibliographique. 1993. [CWG+96] Guy-Marie COme, Valyrie Warth, Pierre-Alexandre Glaude, Reny Fournet, Frydyrique Battin-Leclerc, and Gyrard Scacchi. Computer-aided Design of Gas-Phase Oxidation Me­ chanism. Application to the Modelling of n-heptane and iso-octane Oxidation. In 2#th Tntemtionol Rympo*ium on Comhuation, page 755, Pittsburg, 1996. [CWM90] Christophe Chevalier, Jurgen Wamatz, and Herbert Melenk. Automatic Generation of Reaction Mechanisms for Description of Oxidation of Higher Hydrocarbons. Per. Eun- *enge*. Phy*. Chem., 94(11) =1362-1367,1990. 168 Bibliographie

[Dau89] Max Dauchet. Simulation of Turing Machines by a Left-Linear Rewrite Rule. In N. Der- showitz, editor, Proceedings ^rd Conference on Rewriting Technigues and Applications, Chapel Bill (W.C., (TEA/, volume 355 of Lecture Notes in Computer Science, pages 109 ­ 120. Springer-Verlag, April 1989. [Daya] Daylight Chemical Information Systems Homepage, http ://www.daylight.com/ . [Dayb] Daylight Chemical Information Systems Inc. RMTLER - A Rimpli/ied Chemical Language, http ://www.daylight .com/dayhtml/doc/theory/theory .smiles.html. [Dayc] Daylight Chemical Information Systems Inc. RMTLER Tutorial, http ://www.daylight .com/dayhtml/smiles/smiles-intro.html . [Der85] Nachum Dershowitz. Computing with Rewrite Systems. Tn/ormation and Control, 65(2/3) =122-157, 1985. [DFOO] Razvan Diaconescu and Kokichi Futatsugi. An overview of CafeOBJ. In Claude Kirch- ner and H6l6ne Kirchner, editors, Electronic Notes in Theoretical Computer Science, vo ­ lume 15. Elsevier, 2000. [DML92] F. P. Di Maio and P. G. Lignola. KING, a Kinetic Network Generator. Chemical Engi ­ neering Science, 47 =2713-2718,1992. [DRPCOl] Philippe Dagaut, Alain Ristori, Gaelle Pengloan, and Michel Cathonnet. Kinetic Effect of Dimethoxymethane on the Oxidation of Indane. Energy and The!, 15 =372 - 376, 2001. [DU73] James Dugundji and Ivar Ugi. An Algebraic Model of Constitutional Chemistry as a Basis for Chemical Computer Programs. Topics in Current Chemistry, 39 =19-64, 1973. [DV] Nachum Dershowitz and Laurent Vigneron. Rewriting Home Page, http : //www. loria . fr/^vigneron/RewritingHP/ . [DZBOl] Peter Dittrich, Jens Ziegler, and Wolfgang Banzhaf. Artificial Chemistries - A Review. Arti/mio! Li/e, 7(3) =225-275, 2001. [EF69] R. B. Edelman and O. F. Fortune. A Quasi-global Chemical Kinetic Model for the Finite Rate Combustion of Hydrocarbone Fuels with Application to Turbulent Burning and Mixing in Hypersonic Engines and Nozzeles. In ALAA 7th Aerospace Sciences Meeting, pages 69-86, 1969. [Fau98] Jean-Loup Faulon. Isomorphism, Automorphism Partitioning, and Canonical Labeling Can be solved in polynomial-Time for Molecular Graphs. Journal o/ Chemical Tn/ormation and Computer Science, 38 =432-444,1998. [FB96] Walter Fontana and Leo W. Buss. Boundaries and Barriers, chapter The barrier of objects = From dynamical systems to bounded organizations, pages 56-116. Addison- Wesley, 1996. [FGK02] Olivier Fissore, Isabelle Gnaedig, and HGlGne Kirchner. CARIBOO = An Induction Based Proof Tool for Termination with Strategies. In Proceedings o/ the Fourth international Con/erence on Principles and Practice o/ Declarative Programming, pages 62-73, Pitts­ burgh (USA), October 2002. ACM Press. [FR91] Eric Fontain and Klaus Reitsam. The Generation of Reaction Networks with RAIN. 1. The Reaction Generator. Journal o/ Chemical Tn/ormation and Computer Science, 31 =96-101, 1991. [FSOl] Jean-Loup Faulon and Allen G. Sault. Stochastic Generator of Chemical Structure. 3. Reaction Network Generation. Journal o/ Chemical Tn/ormation and Computer Science, 41 :894-908,2001. [GADG03] Jeffrey M. Grenda, loannis Androulakis, Anthony M. Dean, and William H. Green. Ap­ plication of Computational Kinetic Mechanism Generation to Model the Autocatalytic Pyrolysis of Methane. Tndustrio! 0 Engineering Chemistry Research, 42 =1000-1010,2003. [GBB+Ol] W.H. Green, P.I. Barton, B. Bhattacharjee, D.M. Matheu, D.A. Schwer, J. Song, R. Suma- thi, H.H. Carstensen, A.M. Dean, and J.M. Grenda. Computer Construction of Detailed 169

Chemical Models for Gas-Phase Reactors. induatrio! 0 Engineering CPemiatrg Research, 40 =5362-5370, 2001. [GBLF+OO] Pierre-Alexandre Claude, Fr6d6rique Battin-Leclerc, Ren6 Fournet, Valerie Warth, Guy- Marie COme, and G6rard Scacchi. Construction and Simplification Model for the Oxidation of Alkanes. Compilation and Elame, 122 =451-462, 2000. [GG95] Thomas Genet and Isabelle Gnaedig. Solving GPO Ordering Constraints with Shared Term Data Structure. Technical Report 95-R-363, GRIN, 1995. [Gla99] Pierre-Alexandre Claude. Construction outomotigue et validation de modules cinAiguea de compilation d'olconea et dVtPera. Th6se de Doctoral d'University, Institut National Polytechnique de Lorraine - ENSIC, Nancy, France, 1999. [GLN48] P. Goldfinger, M. Letort, and M. Niclause. Volume commAnoratif Victor Henri, chapter Contribution & 1'Atude de la structure molAculaire, page 283. Desoer, 1948. [GLT89] Jean-Yves Girard, Yves Lafont, and Paul Taylor. Proofs and i^pea, volume 7 of CamPridge ibacta in Theoretical Computer Science. Cambridge University Press, 1989. [Gui96] Jean-Claude Guibet. CarPuranta et moteura. Technip, 1996. [GWM+OO] Joseph A. Goguen, Timothy Winkler, Jos6 Meseguer, Kokichi Futatsugi, and Jean-Pierre Jouannaud. Introducing OBJ . In Joseph A. Goguen and Grant Malcolm, editors, Eo/tioore Engineering with OBJ : AlgePruic Specification in Action. Kluwer, 2000. Also Technical Report SRI-CSL-88-9, August 1988, SRI International. [Hau82] Laurence Haux. Miae en osuvre informatigue de la mod^liaation de reactions cPimiguea. Th6se de Doctoral d'University, Institut National Polytechnique de Lorraine - ENSIC, Nancy, France, 1982. [HCC01] Report to Congress = Homogeneous Charge Compression Ignition (HCCI) Technology. Technical report, U.S. Department of Energy, July 2001. [Hey02] Barbara Heyberger. MAxiniame de compilation d'olconea, d'olcdnea et de cgclonea. Contri- Pution ou d^veloppement du agatdme EXGAB. Th6se de Doctoral d'UniversitG, Institut National Polytechnique de Lorraine - ENSIC, Nancy, France, 2002. [HL78] GArard Huet and Dallas S. Lankford. On the Uniform Halting Problem for Term Rewriting Systems. Technical Report 283, Laboria, France, 1978. [HP88] Berthold Hoffmann and Detlef Plump. Jungle Evaluation for Efficient Term Rewriting. In Proc. AlgeProic and Logic Programming, volume 49 of Mathematical BeaearcP, pages 191-203. Akademie-Verlag , 1988. Also in Lecture Notes in Computer Science 343, pages 191-203. Springer-Verlag, 1989. [HS] J. Roger Hindley and Johnathan P. Seldin. introduction to ComPinatora and LamPda- calculua. [HT72] John E. Hopcroft and Robert Endre Tarjan. iaomoipPiam of Planar GrapPa, pages 143­ 150. Plenum Press, 1972. [Hul79] J.-M. Hullot. Associative-Commutative Pattern Matching. In Proceedinga PtP internatio ­ nal Joint Conference on Artificial intelligence, 1979. [HW74] John E. Hopcroft and J. K. Wong. Linear Time Algorithms for Isomorphism of Planar Graphs. In Proceedinga of the BiartP Annual ACM Bgmpoaium on Theory of Computing, pages 172-184, 1974. [HX96] Chang-Yu Hu and Lu Xu. On Highly Discriminating Molecular Topological Index. Journal of Chemical information and Computer Bcience, 36 =54-57, 1996. [JK86] Jean-Pierre Jouannaud and HGlyne Kirchner. Completion of a Set of Rules Modulo a Set of Equations. BiAM Journal of Computing, 15(4) =1155-1194,1986. [JK91] Jean-Pierre Jouannaud and Claude Kirchner. Solving Equations in Abstract Algebras = a Rule-based Survey of Unification. In Jean-Louis Lassez and G. Plotkin, editors, Com ­ putational Logic. Eaaaya in Honor of Alan HoPineon, chapter 8, pages 257-321. The MIT press, Cambridge (MA, USA), 1991. 170 BiMograpMe

[JME] JME Molecular Editor, http ://www.molinspiration .com/ . [Jum] JUMBO 3 : XML-CML molecular browser and toolkit, http ://www.zml-cml.org/jumbo3/ . [Kah87] Gilles Kahn. Natural Semantics. Technical Report 601, INRIA Sophia-Antipolis, February 1987. [KB70] Donald E. Knuth and P. B. Bendix. Simple Word Problems in Universal Algebras. In J. Leech, editor, Computational Problems in Attract Algebra, pages 263-297. Pergamon Press, Oxford, 1970. [KKV93] Claude Kirchner, H6l6ne Kirchner, and Marian Vittek. Implementing Computational Sys ­ tems with Constraints. In Paris Kanellakis, Jean-Louis Lassez, and Vijay Saraswat, editors, Proceedings o/ the first Workshop on Principles and Practice o/ Constraint Programming, Providence (R.L, USA/, pages 166-175. Brown University, 1993. [KKV95a] Claude Kirchner, Hddie Kirchner, and Marian Vittek. Designing Constraint Logic Pro ­ gramming Languages using Computational Systems. In P. Van Hentenryck and V. Saras­ wat, editors, Principles and Practice o/ Constraint Programming. The Newport Papers, chapter 8, pages 131-158. The MIT press, 1995. [KKV95b] Claude Kirchner, Hddie Kirchner, and Marian Vittek. ELAN V 1.17 User Manual. Inria Lorraine & Crin, Nancy (France), first edition, November 1995. [KLS96] Claude Kirchner, Christopher Lynch, and Christelle Scharff. A Fine-grained Concurrent Completion Procedure. In Harald Ganzinger, editor, Proceedings o/ RTA 'gg, volume 1103 of Lecture Notes in Computer Science, pages 3-17. Springer-Verlag, July 1996. [KM95] H6l6ne Kirchner and Pierre-Etienne Moreau. Prototyping Completion with Constraints Using Computational Systems. In J. Hsiang, editor, Proceedings #th Con/erence on Re­ writing Technigues and Applications, Kaiserslautern /Cermany/, volume 914 of Lecture Notes in Computer Science, pages 438-443. Springer-Verlag, 1995. [KM96] H6l6ne Kirchner and Pierre-Etienne Moreau. A Reflective Extension of ELAN. In Jos6 Meseguer, editor, Proceedings o/ the first international workshop on rewriting logic, vo ­ lume 4, Asilomar (California), September 1996. Electronic Notes in Theoretical Computer Science. [Kri93] Jean-Louis Krivine. Lambda Calculus, T&pes and Models. Ellis Horwood, 1993. [KRM93] R. J. Kee, F. M. Rupley, and J. A. Miller. CHEMKIN II. Technical Report SAND89- 8009B, Sandia National Laboratories, Livermore, 1993. [Lai87] K. J. Laidler. Chemical Kinetics. Harper & Row, New-York, 3rd edition, 1987. [Luk82] Eugene M. Luks. Isomorphism of Graphs of Bounded Valence can be Tested in Polynomial Time. Journal o/ Computer and .System Sciences, 1982. [Mar] Marvin : A tool for Molecule Drawing and , http ://www.chemaxon.com/marvin/ . [Mar97] Alexandre Mar dial. f$tude de la contribution des /amities chimigues constitutes des gazoles a la /ormation de polluants non rA/lemenMs. TMse de Doctorat d'University, University Orleans, 1997. [MDL] MDL Information Systems Inc. MDL CTfde Formats, http ://www.mdli.com/downloads/ctfile/ctfile_subs.html . [Mes92] JosA Meseguer. Conditional Rewriting Logic as a Unified Model of Concurrency. Theore ­ tical Computer Science, 96(1) =73-155, 1992. [MK97] Pierre-Etienne Moreau and HyiGne Kirchner. Compilation Techniques for Assodative- Commutative Normalisation. In Alex Sellink, editor, Second international Workshop on the Theory and Practice o/ Algebraic .Specifications, Electronic Workshops in Computing, eWiC web site : http ://ewic.springer. co.uk/, Amsterdam, September 1997. Springer- Verlag. 12 pages. Also report LORIA 97-R-109. 171

[MK98] Pierre-Etienne Moreau and H6lGne Kirchner. A Compiler for Rewrite Programs in Associative-Commutative Theories. In "Principled 0/ Declorotiwe PruprunMninp", number 1490 in Lecture Notes in Computer Science, pages 230-249. Springer-Verlag, September 1998. Report LORIA 98-R-226. [MMSC95] Chantal Muller, V. Michel, G6rard Scacchi, and Guy-Marie COme. THERGAS : a Compu ­ ter Program for the Evaluation of Thermochemical Data of Molecules and Free Radicals in the Gas Phase. J. CAim. RAga., 92 =1154-1178,1995. [M0M96] Narciso Martf-Oliet and Jos6 Meseguer. Rewriting Logic as a Logical and Se­ mantic Framework. In Proceeding* Firat international WbrkaAop on Rewriting Lo ­ gic and ita Application*, WRLA'Pg, Aailomar, Cali/omia, ReptemAer g-g, IPPg, vo ­ lume 4 of Electronic .Note* in Theoretical Computer Science. Elsevier, September 1996. http ://www.elsevier.nl/locate/entcs/volume4.html . [MOMV04] Narciso Martf-Ohet, Jos6 Meseguer, and Alberto Verdejo. Towards a Strategy Language for Maude. In Proceeding* 0/ the 5tA workaAop on rewriting logic and application*. Elec­ tronic Notes in Theoretical Computer Science, 2004. [Mor] Pierre-Etienne Moreau. Compilation de rggle* de rd&riture* et de atratdgie* non- d^terminiate*. TMse de Doctorat d'University, University Henri PoincarG - Nancy 1, France. LORIA 99-T-083. [Mor65] H.L. Morgan. The generation of a unique machine description for chemical structures - A technique developed at Chemical Abstracts Service. Journal 0/ Chemical Documentation, 5 =107-113,1965. [Mor93] C. Mor ley. Automatic Analysis of the Mechanism for the Autoignition of Alkanes and Ethers; Correlation with Octane Number. In Anglo-German ComAuation Rgmpoaium, page 548, Cambrige, 1993. Queen's College. [MP98] Michael L. Mavrovouniotis and Suzanne E. Prickett. Generating Complex Systems in the Domain of Chemical Reactions. Khowledge-Roaed Rgatema, 10 =199-211, 1998. [MRR99] Peter Murray-Rust and Henry S. Rzepa. Chemical Markup, XML, and the Worldwide Web. 1. Basic Principles. Journal 0/ Chemical Jn/ormation and Computer Science, 39 =928 - 942, 1999. [MRR03] Peter Murray-Rust and Henry S. Rzepa. XML and Its Application in Chemistry. In Johann Gasteiger, editor, RdndAook 0/ Chemoin/ormatica. fkom Data to .Knowledge, pages 46&A90. Wiley-VCH, 2003. [MSC91] Chantal Muller, G6rard Scacchi, and Guy-Marie COme. A Compiler for a Linear Chemical Notation. Computer* and CAemiatrg, 15(4) =337-342, 1991. [Mul87] Chantal Muller. Logicie! de colcul de grandeur* tAermocAimigue* de molecule* et de radi- cauz liAre* en pAoae gazeuae. Th6se de Doctorat d'UniversitG, Institut National Polytech ­ nique de Lorraine - ENSIC, Nancy, France, 1987. [New42] M. H. A. Newman. On Theories With A Combinatorial Definition of Equivalence. In Annul* 0/ MatA, volume 43, pages 223-243, 1942. [NIS93] Chemical Kinetic Database. NRRDR-NBR, 1993. [0'D77] M. J. O'Donnell. Computing in Rgatema DeacriAed Ag Fguationa, volume 58 of Lecture Note* in Computer Science. Springer-Verlag, 1977. [Ope] = A Package to Decypher , http ://openbabel.sourceforge.net/. [Pap94] Christos H. Papadimitriou. Computational Complezitg. Addison-Wesley, 1994. [Plu93] Detlef Plump. Collapsed Tree Rewriting = Completeness, Confluence, and Modularity. In Proc. Conditional Term Rewriting Rgatema, volume 656 of Lecture Note* in Computer Science, pages 97-112. Springer-Verlag, 1993. 172 Bibh'ographie

[Plu99] Detlef Plump, handbook 0/ Graph Grammars and Computing hy Graph Tkans/ormation, Volume 2 : Apphcatiorw, Languages and Tbols, chapter Term Graph Rewriting, pages 3-61. World Scientific, 1999. [Plu02] Detlef Plump. Essentials of Term Graph Rewriting. In Michel Bauderon and Andrea Corradini, editors, Electronic Notes in Theoretical Computer Science, volume 51. Elsevier, 2002. [PM97] Suzanne E. Prickett and Michael L. Mavrovouniotis. Construction of Complex Reaction Systems-II. Molecule Manipulation and Reaction Application Algorithms. Computer* 0 Chemical Engineering, 21 =1237-1254, 1997. [PRO] PROGRESHomepage.http ://www-i3.informatik.rwth-aachen.de/research/projects/progres/. [PS81] Gerald E. Peterson and Mark E. Stickel. Complete Sets of Reductions for Some Equational Theories. Journal 0/ the ACM, 28 =233-264,1981. [PvE93] Rinus Plasmeijer and Marko van Eekelen. functional Programming and Parallel Graph Reuniting. Addison Wesley, 1993. [Ran98] Milan Ran did. Topological Indices. In Paul von Rague Schleyer, editor, The Encyclopedia 0/ Computational Chemiatrp, pages 3018-3032. John Wiley & Son Ltd, 1998. [RC77] Ronald C. Read and Derek G. Cornell. The Graph Isomorphism Disease. Journal 0/ Graph Theory, 1 =339-363,1977. [RFGS95] Eliseo Ranzi, Tiziano Faravelli, Paolo Gaffuri, and Angelo Sogaro. Low-Temperature Com ­ bustion = Automatic Generation of Primary Oxidation Reactions and Lumping Procedures. Combustion and Plume, 102 =179-192, 1995. [RGBOO] Milan Randid, Xiaofeng Guo, and Sol Bobst. Use of Path Matrices for a Characterization of Molecular Structures. DTMACE Eerie* in Discrete Mathematic* and Theoretical Computer Ecience, 51 =305-322, 2000. [Rin97] Christophe Ringeissen. Prototyping Combination of Unification Algorithms with the ELAN Rule-Based Programming Language. In Proceeding* 2th Con/erence on Rewriting Thchnigue* and Application*, Eitges (%»ainj, volume 1232 of Lecture Notes in Computer Ecience, pages 323-326. Springer-Verlag, 1997. [Rus98] Peter F. Rusch. Nomenclature Searching. In Paul von Rague Schleyer, editor, The Ency ­ clopedia 0/ Computational Chemistry, pages 1876-1881. John Wiley & Son Ltd, 1998. [SB96] Phillip E. Savage and Kelly L. Baxter. Pathways, Kinetics, and Mechanisms for 2- Dodecyl-9,10-dihydrophenanthrene Pyrolysis. Tnduatria! 0 Engineering Chemiatry Re- aearch, 35 =1517-1523,1996. [SDG+97] Roberta G. Susnow, Anthony M. Dean, William H. Green, P. Peczak, and Linda J. Broad- belt. Rate-Based Construction of Kinetic Models for Complex Systems. The Journal 0/ Physical Chemiatry A, 101 =3731-3740,1997. [SFTT01] Yasuhiro Suzuki, Yoshi Fujiwara, Junji Takabayashi, and Hiroshi Tanaka. Artificial Life Applications of a Class of P Systems = Abstract Rewriting Systems on Multisets. In Cristian Calude, Gheorghe Paun, Grzegorz Rozenberg, and Arto Salomaa, editors, Multiset Processing, Mathematical, Computer Ecience, and Molecular Computing Point* 0/ View /Workshop on Multiset Processing, WMP 2000, Curtea de Arges, Romania, August 21-25, 2000/, volume 2235 of Lecture Notes in Computer Ecience, pages 299-346. Springer, 2001. [SM77] Craig A. Shelley and Morton E. Munk. Computer Perception of Topological Symmetry. Journal 0/ Chemical Tn/ormation and Computer Ecience, 17 =110-113, 1977. [SRY+03] Jing Song, Sumathy Raman, Joanna Yu, Catherina D. Wijaya, George Stephanopou- los, and Wilham H. Green. RMG = the Next Generation Automatic Chemical Reaction Mechanism Generator Using Object-Oriented Technology, presented at Novel Computer Applications in Chemical Engineering and submitted at AIChE, November 2003. [SU78] Wolfgang Schubert and Ivar Ugi. Constitutional Symmetry and Unique Descriptors of Molecules. Journal 0/ the American Chemical Eociety, 100 =37-41, 1978. 173

[TTP97] Alison S. Tomlin, Tamils Tur&nyi, and Michael J. Pilling. Mathematical Toole /or the Construction, investigation and .Reduction o/ Combustion Mechanisms, volume 35 of Com ­ prehensive Chemical Kinetics, chapter 4, pages 293-437. Elsevier, Amsterdam, 1997. [Tur37] Alan M. Turing. Computable Numbers with an Application to the Entscheidungs-problem. Rroc. London Math. Roc., 42 =230-65,1937. [UBB+94] Ivar Ugi, Johannes Bauer, Carola Blomberger, Josef Brandt, Andreas Dietz, Eric Fon- tain, Bernhard Gruber, Annette V. Scholley-Pfab, Antje Senff, and Natahe Stein. Models, Concepts, Theories, and Formal Languages in Chemistry and Their Use as a Basis for Com ­ puter Assistance in Chemistry. Journal o/ Chemical Jn/ormation and Computer Rcience, 34 :3-16, 1994. [vdBvDH+01] Mark van den Brand, Arie van Deursen, Jan Hearing, H. A. de Jong, Merijn de Jonge, Tobias Kuipers, Paul Klint, Leon Moonen, Pieter A. Olivier, Jeroen Scheerder, Jurgen J. Vinju, Eelco Visser, and Joost Visser. The ASF+SDF Meta-environment : A Component- Based Language Development Environment. In Computational Complexity, pages 365-370, 2001. [vdBvDK+96] Mark van den Brand, Arie van Deursen, Paul Klint, Steven Klusener, and Emma van der Meulen. Industrial Applications of ASF+SDF. In Martin Wirsing and Maurice Nivat, editors, Proceedings o/ Algebraic Methodology and Ro/ttoare Technology, 5th international Con/erence, AMART 'P5, Munich, Germany, July 1-5, 1PP5, volume 1101 of Lecture Notes in Computer Rcience, pages 9-18. Springer-Verlag, 1996. [Vis95] Philippe Vismara. Reconnaissance et representation dVl^ments structuraux pour la des­ cription d'ob/ets complexes. Application a 1'elaboration de strategies de synthese en chimie organigue. These de Doctoral d'UniversitG, UnivetsitA Monpelher II, 1995. [VisOl] Eelco Visser. Stratego : A Language for Program Transformation based on Rewriting Strategies. System Description of Stratego 0.5. In A. Middeldorp, editor, Reuniting Tech- nigues and Applications (RTA W/, volume 2051 of Lecture Notes in Computer Rcience, pages 357-361. Springer-Verlag, May 2001. [Vit94] Marian Vittek. ELAN .- Un cadre logigue pour le prototypage de langages de programmation avec contraintes. Th6se de Doctoral d'University, University Hemi Poincar6 - Nancy 1, October 1994. [Vit96] Marian Vittek. A Compiler for Nondeterministic Term Rewriting Systems. In Harald Ganzinger, editor, Proceedings 7th Con/erence on Reuniting Technigues and Applications, Nets Brunswick (New Jersey, URA/, volume 1103 of Lecture Notes in Computer Rcience, pages 154-168. Springer-Verlag, July 1996. [WBLF+00] ValGrie Warth, Fryd6rique Battin-Leclerc, Ren6 Four net, Pierre-Alexandre Claude, Guy- Marie COme, and GArard Scacchi. Computer Based Generation of Reaction Mechanisms for Gas-Phase Oxidation. Computers and Chemistry, 24 =541-560, 2000. [WDB00] Mattew J. De Witt, David D. Dooling, and Linda J. Broadbelt. Computer Generation of Reaction Mechanisms Using Quantitative Rate Information = Application to Long-Chain Hydrocarbon Pyrolysis, industrial 0 Engineering Chemistry Research, 39(7) =2228-2237, 2000. [Wei] David Weininger. Smiles, a chemical language and information system. 1. introduction to methodology and encoding rules. [Wei03] David Weininger. SMILES — A Language for Molecules and Reactions. In Johann Gasteiger, editor, Handbook o/ Chemoin/ormatics. Fkom Data to Knowledge, pages 80 ­ 102. Wiley-VCH, 2003. [WF86] Thang W. and Hampson R. F. Chemical Kinetic Database for Combustion Chemistry. Part 1 = Methane and Related Compounds. Journal o/ Physical and Chemical Re/erence Data, 15(3) =1087-1279,1986. [Wis54] William J. Wiswesser. A Line-Formula Chemical Notation, chapter Historical Develop ­ ment of Chemical Symbols, pages 123-129. Crowell, New-York, 1954. 174 Bibliographne

[Wis98] Janusz Leon Wisniewski. Nomenclature : Automatic Generation and Conversion. In Paul von Rague Schleyer, editor, The Encyclopedia 0/ Computational Chemiatry, pages 1881 ­ 1894. John Wiley & Son Ltd, 1998. [Wis03] Janusz Leon Wisniewski. Chemical Nomenclature and Structure Representation : Algo ­ rithmic Generation and Conversion. In Johann Gasteiger, editor, Handbook 0/ Chemoin- /ormatica. fkom Data to Fhoudedye, pages 51-79. Wiley-VCH, 2003. [WLSB03] Hsi-Wu Wong, Xuegeng Li, Mark T. Swihart, and Linda J. Broadbelt. Encoding of Poly ­ cyclic Si-Containing Molecules for Determining Species Uniqueness in Automated Mecha­ nism Generation. Journal 0/ Chemical Jn/ormation and Computer Science, 43(3) =735-742, 2003. [WMD01] Jurgen Warnatz, Ulrich Mass, and Robert W. Dibble. Combination. Phyaica! and Chemical fhndamentala, Modeling and Simulation, Faperimenta, Pollutant Formation. Springer, 3rd edition, 2001. [Wol99] Stephen Wol&am. JTne Mathematica Book, chapter Patterns, Transformation Rules and Definitions. Cambridge University Press, 1999. ISBN 0-521-64314-7. [WSBL+98] ValGrie Warth, N. Stef, Fr6d6rique Battin-Leclerc, G6rard Scacchi, and Guy-Marie COme. Computer-Aided Derivation of Gas-Phase Oxidation Mechanism : Apphcation to the Mo ­ deling of the Oxidation of n-Butane. Combination and Flame, 114 =81-102, 1998. [WWW89] David Weininger, Arthur Weininger, and Joseph L. Weininger. SMILES. 2. Algorithm for Generation of Unique SMILES Notation. Journal 0/ Chemical Jn/ormation and Computer Science, 29 =97-101, 1989. [Yon79] Yukio Yoneda. A Computer Program Package for the Analysis, Creation, and Estimation of Generalized Reactions — GRACE. I. Generation of Elementary Reaction Network in Radical Reactions — A/GRACE(I). Bulletin 0/ the Chemical Society 0/ Japan, 52 =8-14, 1979. Annexe A

Mecanismes primaires generes par EXGAS

A.l Mecanisme de riso-octane

************************************* COMPUTER AIDED DESIGN OF FREE RADICAL REACTION MECHANISMS - NANCY - FEBRUARY 2000 VERSION *************************************

Reactants : (entered in linear form, separated by a coma, the last one followed by a semi-coma.) c(ch3)3/ch2/ch(ch3)2,o//o;

< m3 > //(o)2 02 < m28 > c(/ch3)3/ch2/ch(/ch3)2 C8H18

Maximum number of carbon atoms in free radicals 12

Temperature : TOOK

Primary reactions activated ? Uhimolecular initiation ? (y/n) y for all temperatures or just for high temperature ? (a/h) a Bimolecular initiation ? (y/n) y Addition with oxygen ? (y/n) n Isomerizations ? (y/n) n Beta-scission ? (y/n) y

175 176 Annexe A. M&caznames pnmaires gdn&As par EXGAS

C-H bond breaking ? (y/n) y C-C bond breaking ? (y/n) y only 0-0 bond breaking for the dihydroperoxy ?n Decomposition to o-ring ? (y/n) n Oxidation ? (y/n) y for all radicals, for beta radicals or for beta-mu radicals ? (a/b/m) a Metatheses ? (y/n) y for all radicals, for beta radicals or for beta-mu radicals ? (a/b/m)m with .00R radicals issued from reactants ? n Combinations ? (y/n) y for all radicals, for beta radicals or for beta-mu radicals ? (a/b/m)b Disproportionations ? (y/n)y data generation for simulation : n

+ + + PRIMARY MECHANISM + + C3+ REACTIONS + + +

Number of reactions : 95 unimolecular initiations -- > 4 0 bimolecular initiations ----> 4 0 additions -- > 0 4 additions with oxygen -- > 0 0 isomerizations -- > 0 0 decomposition of 00Q00H into branching agents beta-scissions -- > 26 0 decompositions to o-rings -- > 0 oxidations -- > 13 0 branchings -- > 4 metatheses -- > 44 0 combinations -- > 0 disproportionations -- > 0

Number of new molecules : 37 divided in :

Primary molecules classes : (many molecules may belong to several classes)

Monohydroperoxides (ooh) -- > 3 Dihydroperoxydes (ooh)2 -- > 0 0-rings -- > 0 Allylic molecules YH -- > 6 Alkohols (oh) -- > 3 Ethers (o) -- > 0 A.l. M&canisme de 1'iso-octane 177

Ketones (co) -- > 5 Aldehydes (cho) -- > 4

Number of free radicals : 30

Beta radicals : .h .oh . ch3 .ch//o

Beta-mu radicals : .o/oh .ch2/ch3 .ch(/ch3)2 .c(/ch3)3 .o/ch3 .o/o/ch3 .ch2/oh

Number of lumped molecules : 32

Number of lumped cyclic molecules : 0

Molecular elimination

Ene reactions

Retro-ene reactions

Unimolecular initiations

< 1 > c(/ch3)3/ch2/ch(/ch3)2 -> .ch3 + .c(/ch3)2/ch2/ch(/ch3)2 m28 -> r4 + r21 < 2 > c(/ch3)3/ch2/ch(/ch3)2 -> .ch2/ch(/ch3)2 + .c(/ch3)3 m28 -> r22 + r23 < 3 > c(/ch3)3/ch2/ch(/ch3)2 -> .ch(/ch3)2 + .ch2/c(/ch3)3 m28 -> r24 + r25 < 4 > c(/ch3)3/ch2/ch(/ch3)2 -> .ch3 + .ch(/ch3)/ch2/c(/ch3)3 m28 -> r4 + r26

Bimolecular initiations

< 5 > c(/ch3)3/ch2/ch(/ch3)2 + //(o)2 -> .o/oh + .ch2/c(/ch3)2/ch2/ch(/ch3)2 m28 + m3 -> r3 + r27 < 6 > c(/ch3)3/ch2/ch(/ch3)2 + //(o)2 -> .o/oh + .ch2/ch(/ch3)/ch2/c(/ch3)3 m28 + m3 -> r3 + r28 178 Annexe A. M&caznames primaires gdn&As par EXGAS

< 7 > c(/ch3)3/ch2/ch(/ch3)2 + //(o)2 -> .o/oh + .c(/ch3)2/ch2/c(/ch3)3 m28 + m3 -> r3 + r29 < 8 > c(/ch3)3/ch2/ch(/ch3)2 + //(o)2 -> .o/oh + .ch(/ch(/ch3)2)/c(/ch3)3 m28 + m3 -> r3 + r30

Addition of free radicals on molecules

Addition of free radicals on oxygen

Isomerizations of free radicals

Decomposition of 00Q00H into branching agents

Unimolecular decomposition by beta-scission

< 9 > .ch2/ch2/ch3 -> .ch3 + //(ch2)2 r!9 -> r4 + mil < 10 > .ch2/ch2/ch3 -> .h + ch3/ch//ch2 r!9 -> rl + ml8 < 11 > .ch2/ch2/ch2/ch3 -> .ch2/ch3 + //(ch2)2 r20 -> rll + mil < 12 > .ch2/ch2/ch2/ch3 -> .h + ch3/ch2/ch//ch2 r20 -> rl + m20 < 13 > .c(/ch3)2/ch2/ch(/ch3)2 -> .ch(/ch3)2 + c (Z/ch2)(/ch3)2 r21 -> r24 + m29 < 14 > .c(/ch3)2/ch2/ch(/ch3)2 -> .h + ch(/ch3)2/ch//c(/ch3)2 r21 -> rl + m30 < 15 > .c(/ch3)2/ch2/ch(/ch3)2 -> .h + ch(/ch3)2/ch2/c(//ch2)/ch3 r21 -> rl + m31 < 16 > .ch2/ch(/ch3)2 -> .ch3 + ch3/ch//ch2 r22 -> r4 + ml8 < 17 > .ch2/ch(/ch3)2 -> .h + c(//ch2)(/ch3)2 r22 -> rl + m29 < 18 > .c(/ch3)3 -> .h + c(//ch2)(/ch3)2 r23 -> rl + m29 < 19 > .ch(/ch3)2 -> .h + ch3/ch//ch2 r24 -> rl + ml8 < 20 > .ch2/c(/ch3)3 -> .ch3 + c(//ch2)(/ch3)2 r25 -> r4 + m29 < 21 > .ch(/ch3)/ch2/c(/ch3)3 -> .c(/ch3)3 + ch3/ch//ch2 r26 -> r23 + ml8 < 22 > .ch(/ch3)/ch2/c(/ch3)3 -> .h + c(/ch3)3/ch//ch/ch3 r26 -> rl + m33 < 23 > .ch(/ch3)/ch2/c(/ch3)3 -> .h + c(/ch3)3/ch2/ch//ch2 r26 -> rl + m34 A.l. M&canisme de 1'iso-octane 179

< 24 > .ch2/c(/ch3)2/ch2/ch(/ch3)2 -> .ch2/ch(/ch3)2 + c(//ch2)(/ch3)2 r27 -> r22 + m29 < 25 > .ch2/c(/ch3)2/ch2/ch(/ch3)2 -> .ch3 + ch(/ch3)2/ch2/c(//ch2)/ch3 r27 -> r4 + m31 < 26 > .ch2/ch(/ch3)/ch2/c(/ch3)3 -> .ch2/c(/ch3)3 + ch3/ch//ch2 r28 -> r25 + m!8 < 27 > .ch2/ch(/ch3)/ch2/c(/ch3)3 -> .ch3 + c(/ch3)3/ch2/ch//ch2 r28 -> r4 + m34 < 28 > .ch2/ch(/ch3)/ch2/c(/ch3)3 -> .h + c(/ch3)3/ch2/c(//ch2)/ch3 r28 -> rl + m35 < 29 > .c(/ch3)2/ch2/c(/ch3)3 -> .c(/ch3)3 + c(//ch2)(/ch3)2 r29 -> r23 + m29 < 30 > .c(/ch3)2/ch2/c(/ch3)3 -> .h + c(/ch3)3/ch2/c(//ch2)/ch3 r29 -> rl + m35 < 31 > .c(/ch3)2/ch2/c(/ch3)3 -> .h + c(/ch3)3/ch//c(/ch3)2 r29 -> rl + m36 < 32 > .ch(/ch(/ch3)2)/c(/ch3)3 -> .ch3 + ch(/ch3)2/ch//c(/ch3)2 r30 -> r4 + m30 < 33 > .ch(/ch(/ch3)2)/c(/ch3)3 -> .ch3 + c(/ch3)3/ch//ch/ch3 r30 -> r4 + m33 < 34 > .ch(/ch(/ch3)2)/c(/ch3)3 -> .h + c(/ch3)3/ch//c(/ch3)2 r30 -> rl + m36

Decomposition of R(.)C0

Unimolecnlar decomposition of free radical to cyclo-ethers

Oxidation of free radicals

< 35 > .ch2/ch2/ch3 + //(o)2 -> ch3/ch//ch2 + .o/oh r!9 + m3 -> ml8 + r3 < 36 > .ch2/ch2/ch2/ch3 + //(o )2 -> ch3/ch2/ch//ch2 + .o/oh r20 + m3 -> m20 + r3 < 37 > .c(/ch3)2/ch2/ch(/ch3)2 + //(o)2 -> ch(/ch3)2/ch//c(/ch3)2 + .o/oh r21 + m3 -> m30 + r3 < 38 > .c(/ch3)2/ch2/ch(/ch3)2 + //(o)2 -> ch(/ch3)2/ch2/c(//ch2)/ch3 + . o/oh r21 + m3 -> m31 + r3 < 39 > .ch2/ch(/ch3)2 + //(o)2 -> c(//ch2)(/ch3)2 + . o/oh r22 + m3 -> m29 + r3 < 40 > .c(/ch3)3 + //(o)2 -> c (Z/ch2)(/ch3)2+ .o/oh r23 + m3 -> m29 + r3 < 41 > .ch(/ch3)2 + //(o)2 -> ch3/ch//ch2 + .o/oh r24 + m3 -> ml8 + r3 < 42 > .ch(/ch3)/ch2/c(/ch3)3 + //(o)2 -> c(/ch3)3/ch//ch/ch3 + . o/oh r26 + m3 -> m33 + r3 < 43 > .ch(/ch3)/ch2/c(/ch3)3 + //(o)2 -> c(/ch3)3/ch2/ch//ch2 + .o/oh r26 + m3 -> m34 + r3 < 44 > .ch2/ch(/ch3)/ch2/c(/ch3)3 + //(o)2 -> c(/ch3)3/ch2/c(//ch2)/ch3 + .o/oh r28 + m3 -> m3 5 + r3 180 Annexe A. M&caniames pnmaires gdn&As par EXGAS

< 45 > .c(/ch3)2/ch2/c(/ch3)3 + //(o)2 -> c(/ch3)3/ch2/c(//ch2)/ch3 + .o/oh r29 + m3 -> m35 + r3 < 46 > .c(/ch3)2/ch2/c(/ch3)3 + //(o)2 -> c(/ch3)3/ch//c(/ch3)2 + .o/oh r29 + m3 -> m36 + r3 < 47 > .ch(/ch(/ch3)2)/c(/ch3)3 + //(o)2 -> c(/ch3)3/ch//c(/ch3)2 + .o/oh r30 + m3 -> m3 6 + r3

Oxidation of R(.)(0H) radicals

Metathesis reactions

< 48 > :o + c(/ch3)3/ch2/ch(/ch3)2 -> .oh + .ch2/c(/ch3)2/ch2/ch(/ch3)2 bil + m2 8 -> r2 + r27 < 49 > :o + c(/ch3)3/ch2/ch(/ch3)2 -> .oh + .ch2/ch(/ch3)/ch2/c(/ch3)3 bil + m2 8 -> r2 + r28 < 50 > :o + c(/ch3)3/ch2/ch(/ch3)2 -> .oh + .c(/ch3)2/ch2/c(/ch3)3 bil + m2 8 -> r2 + r29 < 51 > :o + c(/ch3)3/ch2/ch(/ch3)2 -> .oh + .ch(/ch(/ch3)2)/c(/ch3)3 bil + m2 8 -> r2 + r30

< 52 > c(/ch3)3/ch2/ch(/ch3)2 + .h -> /(h)2 + .ch2/c(/ch3)2/ch2/ch(/ch3)2 m28 + rl -> ml + r27 < 53 > c(/ch3)3/ch2/ch(/ch3)2 + .h -> /(h)2 + .ch2/ch(/ch3)/ch2/c(/ch3)3 m28 + rl -> ml + r28 < 54 > c(/ch3)3/ch2/ch(/ch3)2 + .h -> /(h)2 + .c(/ch3)2/ch2/c(/ch3)3 m28 + rl -> ml + r29 < 55 > c(/ch3)3/ch2/ch(/ch3)2 + .h -> /(h)2 + .ch(/ch(/ch3)2)/c(/ch3)3 m28 + rl -> ml + r30 < 56 > c(/ch3)3/ch2/ch(/ch3)2 + .oh -> oh2 + .ch2/c(/ch3)2/ch2/ch(/ch3)2 m28 + r2 -> m2 + r27 < 57 > c(/ch3)3/ch2/ch(/ch3)2 + .oh -> oh2 + .ch2/ch(/ch3)/ch2/c(/ch3)3 m28 + r2 -> m2 + r28 < 58 > c(/ch3)3/ch2/ch(/ch3)2 + .oh -> oh2 + .c(/ch3)2/ch2/c(/ch3)3 m2 8 + r2 -> m2 + r29 < 59 > c(/ch3)3/ch2/ch(/ch3)2 + .oh -> oh2 + .ch(/ch(/ch3)2)/c(/ch3)3 m28 + r2 -> m2 + r30 < 60 > c(/ch3)3/ch2/ch(/ch3)2 + .o/oh -> /(oh)2 + .ch2/c(/ch3)2/ch2/ch(/ch3)2 m28 + r3 -> m4 + r27 < 61 > c(/ch3)3/ch2/ch(/ch3)2 + .o/oh -> /(oh)2 + .ch2/ch(/ch3)/ch2/c(/ch3)3 m28 + r3 -> m4 + r28 < 62 > c(/ch3)3/ch2/ch(/ch3)2 + .o/oh -> /(oh)2 + .c(/ch3)2/ch2/c(/ch3)3 m28 + r3 -> m4 + r29 < 63 > c(/ch3)3/ch2/ch(/ch3)2 + .o/oh -> /(oh)2 + .ch(/ch(/ch3)2)/c(/ch3)3 m2 8 + r3 -> m4 + r30 < 64 > c(/ch3)3/ch2/ch(/ch3)2 + .ch3 -> ch4 + .ch2/c(/ch3)2/ch2/ch(/ch3)2 m2 8 + r4 -> m5 + r27 < 65 > c(/ch3)3/ch2/ch(/ch3)2 + .ch3 -> ch4 + .ch2/ch(/ch3)/ch2/c(/ch3)3 m28 + r4 -> m5 + r28 < 66 > c(/ch3)3/ch2/ch(/ch3)2 + .ch3 -> ch4 + .c(/ch3)2/ch2/c(/ch3)3 m28 + r4 -> m5 + r29 < 67 > c(/ch3)3/ch2/ch(/ch3)2 + .ch3 -> ch4 + .ch(/ch(/ch3)2)/c(/ch3)3 A.l. M&canisme de 1'iso-octane 181

m28 + r4 -> m5 + r30 < 68 > c(/ch3)3/ch2/ch(/ch3)2 + .ch//o -> ch2//o + .ch2/c(/ch3)2/ch2/ch(/ch3)2 m28 + r5 -> m6 + r27 < 69 > c(/ch3)3/ch2/ch(/ch3)2 + .ch//o -> ch2//o + .ch2/ch(/ch3)/ch2/c(/ch3)3 m28 + r5 -> m6 + r28 < 70 > c(/ch3)3/ch2/ch(/ch3)2 + .ch//o -> ch2//o + .c(/ch3)2/ch2/c(/ch3)3 m28 + r5 -> m6 + r29 < 71 > c(/ch3)3/ch2/ch(/ch3)2 + .ch//o -> ch2//o + .ch(/ch(/ch3)2)/c(/ch3)3 m28 + r5 -> m6 + r30 < 72 > c(/ch3)3/ch2/ch(/ch3)2 + .ch2/oh -> ch3/oh + .ch2/c(/ch3)2/ch2/ch(/ch3)2 m2 8 + r6 -> m7 + r27 < 73 > c(/ch3)3/ch2/ch(/ch3)2 + .ch2/oh -> ch3/oh + .ch2/ch(/ch3)/ch2/c(/ch3)3 m28 + r6 -> m7 + r28 < 74 > c(/ch3)3/ch2/ch(/ch3)2 + .ch2/oh -> ch3/oh + .c(/ch3)2/ch2/c(/ch3)3 m28 + r6 -> m7 + r29 < 75 > c(/ch3)3/ch2/ch(/ch3)2 + .ch2/oh -> ch3/oh + .ch(/ch(/ch3)2)/c(/ch3)3 m28 + r6 -> m7 + r30 < 76 > c(/ch3)3/ch2/ch(/ch3)2 + .o/ch3 -> ch3/oh + .ch2/c(/ch3)2/ch2/ch(/ch3)2 m28 + r7 -> m7 + r27 < 77 > c(/ch3)3/ch2/ch(/ch3)2 + .o/ch3 -> ch3/oh + .ch2/ch(/ch3)/ch2/c(/ch3)3 m2 8 + r7 -> m7 + r28 < 78 > c(/ch3)3/ch2/ch(/ch3)2 + .o/ch3 -> ch3/oh + .c(/ch3)2/ch2/c(/ch3)3 m28 + r7 -> m7 + r29 < 79 > c(/ch3)3/ch2/ch(/ch3)2 + .o/ch3 -> ch3/oh + .ch(/ch(/ch3)2)/c(/ch3)3 m28 + r7 -> m7 + r30 < 80 > c(/ch3)3/ch2/ch(/ch3)2 + .o/o/ch3 -> ch3/o/oh + .ch2/c(/ch3)2/ch2/ch(/ch3)2 m28 + r8 -> m9 + r27 < 81 > c(/ch3)3/ch2/ch(/ch3)2 + .o/o/ch3 -> ch3/o/oh + .ch2/ch(/ch3)/ch2/c(/ch3)3 m28 + r8 -> m9 + r28 < 82 > c(/ch3)3/ch2/ch(/ch3)2 + .o/o/ch3 -> ch3/o/oh + .c(/ch3)2/ch2/c(/ch3)3 m28 + r8 -> m9 + r29 < 83 > c(/ch3)3/ch2/ch(/ch3)2 + .o/o/ch3 -> ch3/o/oh + .ch(/ch(/ch3)2)/c(/ch3)3 m28 + r8 -> m9 + r30 < 84 > c(/ch3)3/ch2/ch(/ch3)2 + .ch2/ch3 -> /(ch3)2 + .ch2/c(/ch3)2/ch2/ch(/ch3)2 m28 + rll -> m!2 + r27 < 85 > c(/ch3)3/ch2/ch(/ch3)2 + .ch2/ch3 -> /(ch3)2 + .ch2/ch(/ch3)/ch2/c(/ch3)3 m2 8 + rll -> m!2 + r28 < 86 > c(/ch3)3/ch2/ch(/ch3)2 + .ch2/ch3 -> /(ch3)2 + .c(/ch3)2/ch2/c(/ch3)3 m28 + rll -> m!2 + r29 < 87 > c(/ch3)3/ch2/ch(/ch3)2 + .ch2/ch3 -> /(ch3)2 + .ch(/ch(/ch3)2)/c(/ch3)3 m28 + rll -> m!2 + r30 < 88 > c(/ch3)3/ch2/ch(/ch3)2 + .c(/ch3)3 -> ch(/ch3)3 + .ch2/c(/ch3)2/ch2/ch(/ch3)2 m28 + r23 -> m32 + r27 < 89 > c(/ch3)3/ch2/ch(/ch3)2 + .c(/ch3)3 -> ch(/ch3)3 + .ch2/ch(/ch3)/ch2/c(/ch3)3 m28 + r23 -> m32 + r28 < 90 > c(/ch3)3/ch2/ch(/ch3)2 + .c(/ch3)3 -> ch(/ch3)3 + .c(/ch3)2/ch2/c(/ch3)3 m28 + r23 -> m32 + r29 < 91 > c(/ch3)3/ch2/ch(/ch3)2 + .c(/ch3)3 -> ch(/ch3)3 + .ch(/ch(/ch3)2)/c(/ch3)3 m28 + r23 -> m32 + r30 < 92 > c(/ch3)3/ch2/ch(/ch3)2 + .ch(/ch3)2 -> ch2(/ch3)2 + .ch2/c(/ch3)2/ch2/ch(/ch3)2 m28 + r24 -> m!9 + r27 < 93 > c(/ch3)3/ch2/ch(/ch3)2 + .ch(/ch3)2 -> ch2(/ch3)2 + .ch2/ch(/ch3)/ch2/c(/ch3)3 m28 + r24 -> m!9 + r28 < 94 > c(/ch3)3/ch2/ch(/ch3)2 + .ch(/ch3)2 -> ch2(/ch3)2 + .c(/ch3)2/ch2/c(/ch3)3 182 Annexe A. M&caznames pnmaires gdn&As par EXGAS

m28 + r24 -> m!9 + r29 < 95 > c(/ch3)3/ch2/ch(/ch3)2 + .ch(/ch3)2 -> ch2(/ch3)2 + .ch(/ch(/ch3)2)/c(/ch3)3 m28 + r24 -> m!9 + r30

Combination of free radicals

Disproportionations of free radicals

A.2 Mecanisme de l’ethylcyclohexane

************************************* COMPUTER AIDED DESIGN OF FREE RADICAL REACTION MECHANISMS - NANCY - FEBRUARY 2000 VERSION *************************************

Reactants : (entered in linear form, separated by a coma, the last one followed by a semi-coma.) ch3/ch2/cha/ch2/ch2/ch2/ch2/ch2z,o//o;

< m3 > //(o)2 02

< ml > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l C8H16#6

Maximum number of carbon atoms in free radicals 40

Temperature : 400K

Primary reactions activated ? Unimolecular initiation ? (y/n) y for all temperatures or just for high temperature ? (a/h) a Bimolecular initiation ? (y/n) y Addition with oxygen ? (y/n) n Isomerizations ? (y/n) n Beta-scission ? (y/n) y C-H bond breaking ? (y/n) y C-C bond breaking ? (y/n) y only 0-0 bond breaking for the dihydroperoxy ?n Decomposition to o-ring ? (y/n) n Oxidation ? (y/n) y for all radicals, for beta radicals or for beta-mu radicals ? (a/b/m) a Metatheses ? (y/n) y for all radicals, for beta radicals or for beta-mu radicals ? (a/b/m)m A.2. M&caniame de 1'6thylcycJohexane 183 with . OOR radicals issued from reactants ? n Combinations ? (y/n) y for all radicals, for beta radicals or for beta-mu radicals ? (a/b/m)m Disproportionations ? (y/n)y data generation for simulation : n

+ + + PRIMARY MECHANISM + + C3+ REACTIONS + + +

Number of reactions :171 unimolecular initiations bimolecular initiations additions additions with oxygen isomerizations decomposition of 00Q00H into branching agents 0 beta-scissions > 52 24 decompositions to o-rings -----> 0 oxidations -- > 25 0 branchings > 0 metatheses > 0 54 combinations > 0 disproportionations > 2

Number of new molecules : 42 divided in :

Primary molecules classes : (many molecules may belong to several classes)

Monohydroperoxides (ooh) > 3 Dihydroperoxydes (ooh)2 > 0 0-rings -- > 0 Allylic molecules YH > 5 Alkohols (oh) > 3 Ethers (o) > 0 Ketones (co) > 6 Aldehydes (cho) > 4

Number of free radicals :41

Beta radicals : 184 Annexe A. M&caniames pnmaires gdn&As par EXGAS

.h .oh . ch3 .ch//o

Beta-mu radicals : .ch2/ch3 .o/ch3 .o/o/ch3 .ch2/oh .o/oh

Number of lumped molecules : 36

Number of lumped cyclic molecules : 1

Molecular elimination

Ene reactions

Retro-ene reactions

Unimolecular initiations

< 1 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l -> .h + c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/c(.)h/l

mcl -> rl + rcl < 2 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l -> .h + c(#l)h(/ch2/ch3)/ch2/ch2/ch2/c(.)h/ch2/l

mcl -> rl + rc2 < 3 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l -> .h + c(#l)h(/ch2/ch3)/ch2/ch2/c(.)h/ch2/ch2/l

mcl -> rl + rc3 < 4 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l -> .ch2/ch3 + c(#l)h2/ch2/ch2/c(.)h/ch2/ch2/l

mcl -> rll + rc4 < 5 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l -> .h + c(#l)h(/c(.)h/ch3)/ch2/ch2/ch2/ch2/ch2/l

mcl -> rl + rc5 < 6 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l -> .ch3 + c(#l)h(/c(.)h2)/ch2/ch2/ch2/ch2/ch2/l

mcl -> r4 + rc6 < 7 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l -> .h + c(#l)h(/ch2/c(.)h2)/ch2/ch2/ch2/ch2/ch2/l

mcl -> rl + rc7 A.2. M&caniame de 1'6thylcyclohexane 185

< 8 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l -> .h + c(.)(#l)(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l

mcl -> rl + rc8

Bimolecular initiations

< 9 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + //(o)2 -> c(#l)h(/ch2/c(.)h2)/ch2/ch2/ch2/ch2/ch2/l + .o/oh

mcl + m3 -> rc7 + r3 < 10 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + //(o)2 -> c(#l)h(/c(.)h/ch3)/ch2/ch2/ch2/ch2/ch2/l + .o/oh

mcl + m3 -> rc5 + r3 < 11 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + //(o)2 -> c(.)(#l)(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .o/oh

mcl + m3 -> rc8 + r3 < 12 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + //(o)2 -> c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/c(.)h/l + .o/oh

mcl + m3 -> rcl + r3 < 13 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + //(o)2 -> c(#l)h(/ch2/ch3)/ch2/ch2/ch2/c(.)h/ch2/l + .o/oh

mcl + m3 -> rc2 + r3 < 14 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + //(o)2 -> c(#l)h(/ch2/ch3)/ch2/ch2/c(.)h/ch2/ch2/l + .o/oh

mcl + m3 -> rc3 + r3

Addition of free radicals on molecules

Addition of free radicals on oxygen

Isomerizations of free radicals

Decomposition of 00Q00H into branching agents

Unimolecular decomposition by beta-scission

< 15 > .ch2/ch2/ch3 -> .ch3 + //(ch2)2 r!9 -> r4 + mil < 16 > .ch2/ch2/ch3 -> .h + ch3/ch//ch2 r!9 -> rl + ml8 < 17 > .ch2/ch2/ch2/ch3 -> ,ch2/ch3 + //(ch2)2 r20 -> rll + mil 186 Annexe A. M&caznames primaires gdn&As par EXGAS

< 18 > .ch2/ch2/ch2/ch3 -> .h + ch3/ch2/ch//ch2 r20 -> rl + m20 < 19 > .ch2/ch2/ch2/ch(/ch//ch2)/ch2/ch3 -> .ch2/ch(/ch//ch2)/ch2/ch3 + //(ch2)2 r21 -> r30 + mil < 20 > .ch2/ch2/ch2/ch(/ch//ch2)/ch2/ch3 -> .h + ch(/ch//ch2)(/ch2/ch3)/ch2/ch//ch2 r21 -> rl + m2 8 < 21 > .ch2/ch2/ch2/ch2/ch//ch/ch2/ch3 -> .ch2/ch2/ch//ch/ch2/ch3 + //(ch2)2 r22 -> r31 + mil < 22 > .ch2/ch2/ch2/ch2/ch//ch/ch2/ch3 -> .h + ch3/ch2/ch//ch/ch2/ch2/ch//ch2 r22 -> rl + m29 < 23 > .ch(/ch2/ch3)/ch2/ch2/ch2/ch//ch2 -> .ch2/ch2/ch//ch2 + ch3/ch2/ch//ch2 r23 -> r32 + m20 < 24 > .ch(/ch2/ch3)/ch2/ch2/ch2/ch//ch2 -> .h + ch3/ch2/ch//ch/ch2/ch2/ch//ch2 r23 -> rl + m29 < 25 > .ch(/ch2/ch3)/ch2/ch2/ch2/ch//ch2 -> .h + ch3/ch//ch/ch2/ch2/ch2/ch//ch2 r23 -> rl + m31 < 26 > .ch(/ch2/ch3)/ch2/ch2/ch2/ch//ch2 -> .ch.3 + ch2(/ch2/ch//ch2)2 r23 -> r4 + m30 < 27 > .ch2/ch2/ch(/ch2/ch3)/ch2/ch//ch2 -> .ch(/ch2/ch3)/ch2/ch//ch2 + //(ch2)2 r24 -> r33 + mil < 28 > .ch2/ch2/ch(/ch2/ch3)/ch2/ch//ch2 -> .h + ch(/ch//ch2)(/ch2/ch3)/ch2/ch//ch2 r24 -> rl + m28 < 29 > .ch2/ch(/ch2/ch3)/ch2/ch2/ch//ch2 -> .ch2/ch2/ch//ch2 + ch3/ch2/ch//ch2 r25 -> r32 + m20 < 30 > .ch2/ch(/ch2/ch3)/ch2/ch2/ch//ch2 -> .ch2/ch3 + /(ch2/ch//ch2)2 r25 -> rll + m3 2 < 31 > .ch2/ch(/ch2/ch3)/ch2/ch2/ch//ch2 -> .h + c(//ch2)(/ch2/ch3)/ch2/ch2/ch//ch2 r25 -> rl + m33 < 32 > .ch2/ch2/ch2/ch2/ch//ch2 -> .ch2/ch2/ch//ch2 + //(ch2)2 r26 -> r32 + mil < 33 > .ch2/ch2/ch2/ch2/ch//ch2 -> .h + /(ch2/ch//ch2)2 r26 -> rl + m32 < 34 > .ch2/ch2/ch2/ch2/ch2/ch//ch/ch3 -> .ch2/ch2/ch2/ch//ch/ch3 + //(ch2)2 r27 -> r34 + mil < 35 > .ch2/ch2/ch2/ch2/ch2/ch//ch/ch3 -> .h + ch3/ch//ch/ch2/ch2/ch2/ch//ch2 r27 -> rl + m31 < 36 > .ch2/ch2/ch2/ch2/ch2/ch//ch2 -> .ch2/ch2/ch2/ch//ch2 + //(ch2)2 r28 -> r35 + mil < 37 > .ch2/ch2/ch2/ch2/ch2/ch//ch2 -> .h + ch2(/ch2/ch//ch2)2 r28 -> rl + m30 < 38 > .ch2/ch2/ch2/ch2/c(//ch2)/ch2/ch3 -> .ch2/ch2/c(//ch2)/ch2/ch3 + //(ch2)2 r29 -> r36 + mil < 39 > .ch2/ch2/ch2/ch2/c(//ch2)/ch2/ch3 -> .h + c(//ch2)(/ch2/ch3)/ch2/ch2/ch//ch2 r29 -> rl + m33 < 40 > .ch2/ch(/ch//ch2)/ch2/ch3 -> .ch//ch2 + ch3/ch2/ch//ch2 r30 -> rlO + m20 < 41 > .ch2/ch(/ch//ch2)/ch2/ch3 -> .ch2/ch3 + /(ch//ch2)2 r30 -> rll + m26 < 42 > .ch2/ch(/ch//ch2)/ch2/ch3 -> .h + c(//ch2)(/ch//ch2)/ch2/ch3 r30 -> rl + m34 < 43 > .ch2/ch2/ch//ch/ch2/ch3 -> .ch//ch/ch2/ch3 + //(ch2)2 r31 -> r37 + mil < 44 > .ch2/ch2/ch//ch/ch2/ch3 -> .h + ch3/ch2/ch//ch/ch//ch2 r31 -> rl + m35 A.2. M&camsme de i'Athyicyciohexane 187

< 45 > .ch2/ch2/ch//ch2 -> .ch//ch2 + //(ch2)2 r32 -> rlO mil < 46 > .ch2/ch2/ch//ch2 -> .h + /(ch//ch2)2 r32 -> rl m26 < 47 > .ch(/ch2/ch3)/ch2/ch//ch2 -> .ch//ch2 + ch3/ch2/ch//ch2 r33 rlO m20 < 48 > .ch(/ch2/ch3)/ch2/ch//ch2 -> .h + ch3/ch2/ch//ch/ch//ch2 r33 rl m35 < 49 ) .ch(/ch2/ch3)/ch2/ch//ch2 -> .h + ch3/ch//ch/ch2/ch//ch2 r33 rl m37 < 50 > .ch(/ch2/ch3)/ch2/ch//ch2 -> .ch3 + ch2(/ch//ch2)2 r33 -> r4 + m36 < 51 > .ch2/ch2/ch2/ch//ch/ch3 -> .ch2/ch//ch/ch3 + //(ch2)2 r34 -> r38 + mil < 52 > .ch2/ch2/ch2/ch//ch/ch3 -> .h + ch3/ch//ch/ch2/ch//ch2 r34 -> rl + m37 < 53 > .ch2/ch2/ch2/ch//ch2 -> .ch2/ch//ch2 + //(ch2)2 r35 -> r39 + mil < 54 > .ch2/ch2/ch2/ch//ch2 -> .h + ch2(/ch//ch2)2 r35 -> rl + m36 < 55 > .ch2/ch2/c(//ch2)/ch2/ch3 -> .c(//ch2)/ch2/ch3 + //(ch2)2 r36 -> r40 + mil < 56 > .ch2/ch2/c(//ch2)/ch2/ch3 -> .h + c(//ch2)(/ch//ch2)/ch2/ch3 r36 -> rl + m34 < 57 > .ch//ch/ch2/ch3 -> .ch2/ch3 + ///(ch)2 r37 -> rll + mlO < 58 > .ch//ch/ch2/ch3 -> .h + ch2(/c///ch)/ch3 r37 -> rl + m38 < 59 > .ch2/ch//ch/ch3 -> .h + ch3/ch//c//ch2 r38 -> rl + m39 < 60 > .ch2/ch//ch/ch3 -> .h + /(ch//ch2)2 r38 -> rl + m26 < 61 > .ch2/ch//ch2 -> .h + c(//ch2)2 r39 -> rl + m40 < 62 > .c(//ch2)/ch2/ch3 -> .h + ch3/ch//c//ch2 r40 -> rl + m39 < 63 > .c(//ch2)/ch2/ch3 -> .h + ch2(/c///ch)/ch3 r40 -> rl + m38 < 64 > .c(//ch2)/ch2/ch3 -> .ch3 + c(//ch2)2 r40 -> r4 + m40 < 65 > .c(//o)/ch2/ch3 -> .ch3 + ch2//c//o r41 -> r4 + m!3 < 66 > .c(//o)/ch2/ch3 -> .h + ch(//c//o)/ch3 r41 -> rl + m41 < 67 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/c(.)h/l -> .h + c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch//ch/l (2)

rcl -> rl + mc3 < 68 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/c(.)h/l -> .ch2/ch3 + c(#l)h2/ch2/ch2/ch//ch/ch2/l (1)

rcl -> rll + mc4 < 69 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/c(.)h/l -> .h + c(#l)(/ch2/ch3)/ch2/ch2/ch2/ch2/ch/l (1) 188 Annexe A. M&caznames pnmaires gdn&As par EXGAS

rcl -> rl + mc5 < 70 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/c(.)h/ch2/l -> .h + c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch//ch/l (2)

rc2 -> rl + mc3 < 71 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/c(.)h/ch2/l -> .h + c(#l)h(/ch2/ch3)/ch2/ch2/ch//ch/ch2/l (2)

rc2 -> rl + mc6 < 72 > c(#l)h(/ch2/ch3)/ch2/ch2/c(.)h/ch2/ch2/l -> .h + c(#l)h(/ch2/ch3)/ch2/ch2/ch//ch/ch2/l (4)

rc3 -> rl + mc6 < 73 > c(#l)h2/ch2/ch2/c(.)h/ch2/ch2/l -> .h + c(#l)h2/ch2/ch2/ch//ch/ch2/l (4)

rc4 -> rl + mc4 < 74 > c(#l)h(/c(.)h/ch3)/ch2/ch2/ch2/ch2/ch2/l -> .h + c(#l)h(/ch//ch2)/ch2/ch2/ch2/ch2/ch2/l (3)

rc5 -> rl + mc7 < 75 > c(#l)h(/c(.)h/ch3)/ch2/ch2/ch2/ch2/ch2/l -> .h + c(#l)(//ch/ch3)/ch2/ch2/ch2/ch2/ch2/l (1)

rc5 -> rl + mc8 < 76 > c(#l)h(/c(.)h2)/ch2/ch2/ch2/ch2/ch2/l -> .h + c(#l)h2/c(//ch2)/ch2/ch2/ch2/ch2/l (1)

rc6 -> rl + mc9 < 77 > c(#l)h(/ch2/c(.)h2)/ch2/ch2/ch2/ch2/ch2/l -> .h + c(#l)h(/ch//ch2)/ch2/ch2/ch2/ch2/ch2/l (2)

rc7 -> rl + mc7 < 78 > c(.)(#l)(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l -> .h + c(#l)(/ch2/ch3)/ch2/ch2/ch2/ch2/ch/l (2)

rc8 -> rl + mc5 < 79 > c(.)(#l)(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l -> .ch3 + c(#l)h2/c(//ch2)/ch2/ch2/ch2/ch2/l (1)

rc8 -> r4 + mc9 < 80 > c(.)(#l)(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l -> .h + c(#l)(//ch/ch3)/ch2/ch2/ch2/ch2/ch2/l (2)

rc8 -> rl + mc8 < 81 > c(#l)h(/ch2/c(.)h2)/ch2/ch2/ch2/ch2/ch2/l -> c(#l)h2/ch2/ch2/c(.)h/ch2/ch2/l + //(ch2)2

rc7 -> rc4 + mil < 82 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/c(.)h/l -> .ch2/ch2/ch2/ch(/ch//ch2)/ch2/ch3 (1) rcl -> r21 < 83 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/c(.)h/l -> .ch2/ch2/ch2/ch2/ch//ch/ch2/ch3 (1) rcl -> r22 A.2. M&caniame de 1'Athylcyciohexane 189

< 84 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/c(.)h/ch2/l -> .ch(/ch2/ch3)/ch2/ch2/ch2/ch//ch2 (1) rc2 -> r23 < 85 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/c(.)h/ch2/l -> .ch2/ch2/ch(/ch2/ch3)/ch2/ch//ch2 (1) rc2 -> r24 < 86 > c(#l)h(/ch2/ch3)/ch2/ch2/c(.)h/ch2/ch2/l -> .ch2/ch(/ch2/ch3)/ch2/ch2/ch//ch2 (2) rc3 -> r25 < 87 > c(#l)h2/ch2/ch2/c(.)h/ch2/ch2/l -> .ch2/ch2/ch2/ch2/ch//ch2 (2) rc4 -> r26 < 88 > c(#l)h(/c(.)h/ch3)/ch2/ch2/ch2/ch2/ch2/l -> .ch2/ch2/ch2/ch2/ch2/ch//ch/ch3 (2) rc5 -> r27 < 89 > c(#l)h(/c(.)h2)/ch2/ch2/ch2/ch2/ch2/l -> .ch2/ch2/ch2/ch2/ch2/ch//ch2 (2) rc6 -> r28 < 90 > c(.)(#l)(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l -> .ch2/ch2/ch2/ch2/c(//ch2)/ch2/ch3 (1) rc8 -> r29

Decomposition of R(.)C0

< 91 > .c(//o)/ch2/ch3 -> .ch2/ch3 + :c//o r41 -> rll bi2

Unimolecnlar decomposition of free radical to cyclo-ethers

Oxidation of free radicals

< 92 > .ch2/ch2/ch3 + //(o)2 -> ch3/ch//ch2 + .o/oh r!9 + m3 -> m!8 r3 < 93 > .ch2/ch2/ch2/ch3 + //(o)2 -> ch3/ch2/ch//ch2 + .o/oh r20 + m3 -> m20 r3 < 94 > .ch2/ch2/ch2/ch(/ch//ch2)/ch2/ch3 + //(o)2 -> ch(/ch//ch2)(/ch2/ch3)/ch2/ch//ch2 + .o/oh

r21 + m3 -> m28 + r3 < 95 > .ch2/ch2/ch2/ch2/ch//ch/ch2/ch3 + //(o)2 -> ch3/ch2/ch//ch/ch2/ch2/ch//ch2 + .o/oh r22 + m3 -> m29 r3 < 96 > .ch(/ch2/ch3)/ch2/ch2/ch2/ch//ch2 + //(o)2 -> ch3/ch2/ch//ch/ch2/ch2/ch//ch2 + .o/oh

r23 + m3 -> m29 r3 < 97 > .ch(/ch2/ch3)/ch2/ch2/ch2/ch//ch2 + //(o)2 -> ch3/ch//ch/ch2/ch2/ch2/ch//ch2 + .o/oh

r23 + m3 -> m31 r3 < 98 > .ch2/ch2/ch(/ch2/ch3)/ch2/ch//ch2 + //(o)2 -> ch(/ch//ch2)(/ch2/ch3)/ch2/ch//ch2 + .o/oh

r24 + m3 -> m28 r3 < 99 > .ch2/ch(/ch2/ch3)/ch2/ch2/ch//ch2 + //(o)2 -> c(//ch2)(/ch2/ch3)/ch2/ch2/ch//ch2 + .o/oh

r25 m3 m33 r3 190 Annexe A. M&caniames pnmaires gdn&As par EXGAS

< 100 > .ch2/ch2/ch2/ch2/ch//ch2 + //(o)2 -> /(ch2/ch//ch2)2 + .o/oh r26 + m3 -> m32 + r3 < 101 > .ch2/ch2/ch2/ch2/ch2/ch//ch/ch3 + //(o)2 -> ch3/ch//ch/ch2/ch2/ch2/ch//ch2 + .o/oh

r27 + m3 -> m31 + r3 < 102 > .ch2/ch2/ch2/ch2/ch2/ch//ch2 + //(o)2 -> ch2(/ch2/ch//ch2)2 + .o/oh r28 + m3 -> m30 + r3 < 103 > .ch2/ch2/ch2/ch2/c(//ch2)/ch2/ch3 + //(o)2 -> c(//ch2)(/ch2/ch3)/ch2/ch2/ch//ch2 + .o/oh

r29 + m3 -> m3 3 + r3 < 104 > .ch2/ch(/ch//ch2)/ch2/ch3 + //(o)2 -> c(//ch2)(/ch//ch2)/ch2/ch3 + .o/oh r30 + m3 -> m34 + r3 < 105 > .ch2/ch2/ch//ch/ch2/ch3 + //(o)2 -> ch3/ch2/ch//ch/ch//ch2 + .o/oh r31 + m3 -> m35 + r3 < 106 > .ch2/ch2/ch//ch2 + //(o)2 -> /(ch//ch2)2 + .o/oh r32 + m3 -> m26 + r3 < 107 > .ch(/ch2/ch3)/ch2/ch//ch2 + //(o)2 -> ch3/ch2/ch//ch/ch//ch2 + .o/oh r33 + m3 -> m35 + r3 < 108 > .ch(/ch2/ch3)/ch2/ch//ch2 + //(o)2 -> ch3/ch//ch/ch2/ch//ch2 + .o/oh r33 + m3 -> m37 + r3 < 109 > .ch2/ch2/ch2/ch//ch/ch3 + //(o)2 -> ch3/ch//ch/ch2/ch//ch2 + .o/oh r34 + m3 -> m37 + r3 < 110 > .ch2/ch2/ch2/ch//ch2 + //(o)2 -> ch2(/ch//ch2)2 + .o/oh r35 + m3 -> m36 + r3 < 111 > .ch2/ch2/c(//ch2)/ch2/ch3 + //(o)2 -> c(//ch2)(/ch//ch2)/ch2/ch3 + .o/oh r36 + m3 -> m34 + r3 < 112 > .ch//ch/ch2/ch3 + //(o)2 -> ch(//o)/ch2/ch3 + .ch//o r37 + m3 -> m22 + r5 < 113 > .ch2/ch//ch/ch3 + //(o)2 -> ch3/ch//c//ch2 + .o/oh r38 + m3 -> m39 + r3 < 114 > .ch2/ch//ch2 + //(;o)2 -> c(//ch2)2 + .o/oh r39 + m3 -> m40 + r3 < 115 > .c(//ch2)/ch2/ch3 + //(o: )2 -> ch2//o + .c(//o )/ch2/ch3 r40 + m3 -> m6 + r41 < 116 > .c(//o)/ch2/ch3 + //(o)2 -> ch(//c//o)/ch3 + .o/oh r41 + m3 -> m41 + r3

Oxidation of R(.)(0H) radicals

Metathesis reactions

< 117 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .h -> c(#l)h(/ch2/c(.)h2)/ch2/ch2/ch2/ch2/ch2/l + /(h)2

mcl + rl -> rc7 ml < 118 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .h -> c(#l)h(/c(.)h/ch3)/ch2/ch2/ch2/ch2/ch2/l + /(h)2 A.2. M&camsme de i'Athyicyciohexane 191

mcl + rl -> rc5 ml < 119 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .h -> c(.)(#l)(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + /(h)2

mcl + rl -> rc8 ml < 120 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .h -> c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/c(.)h/l + /(h)2

mcl + rl -> rcl ml < 121 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .h -> c(#l)h(/ch2/ch3)/ch2/ch2/ch2/c(.)h/ch2/l + /(h)2

mcl + rl -> rc2 ml < 122 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .h -> c(#l)h(/ch2/ch3)/ch2/ch2/c(.)h/ch2/ch2/l + /(h)2

mcl + rl -> rc3 ml < 123 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .oh -> c(#l)h(/ch2/c(.)h2)/ch2/ch2/ch2/ch2/ch2/l + oh2

mcl + r2 -> rc7 m2 < 124 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .oh -> c(#l)h(/c(.)h/ch3)/ch2/ch2/ch2/ch2/ch2/l + oh2

mcl + r2 -> rc5 m2 < 125 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .oh -> c(.)(#l)(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + oh2

mcl + r2 -> rc8 m2 < 126 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .oh -> c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/c(.)h/l + oh2

mcl + r2 -> rcl m2 < 127 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .oh -> c(#l)h(/ch2/ch3)/ch2/ch2/ch2/c(.)h/ch2/l + oh2

mcl + r2 -> rc2 m2 < 128 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .oh -> c(#l)h(/ch2/ch3)/ch2/ch2/c(.)h/ch2/ch2/l + oh2

mcl + r2 -> rc3 m2 < 129 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .o/oh -> c(#l)h(/ch2/c(.)h2)/ch2/ch2/ch2/ch2/ch2/l + /(oh)2

mcl + r3 -> rc7 m4 < 130 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .o/oh -> c(#l)h(/c(.)h/ch3)/ch2/ch2/ch2/ch2/ch2/l + /(oh)2

mcl + r3 -> rc5 m4 < 131 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .o/oh -> c(.)(#l)(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + /(oh)2

mcl + r3 -> rc8 m4 < 132 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .o/oh -> 192 Annexe A. M&caznames primaires gdn&As par EXGAS

c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/c(.)h/l + /(oh)2

mcl + r3 -> rcl + m4 < 133 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .o/oh -> c(#l)h(/ch2/ch3)/ch2/ch2/ch2/c(.)h/ch2/l + /(oh)2

mcl + r3 -> rc2 + m4 < 134 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .o/oh -> c(#l)h(/ch2/ch3)/ch2/ch2/c(.)h/ch2/ch2/l + /(oh)2

mcl + r3 -> rc3 + m4 < 135 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .ch3 -> c(#l)h(/ch2/c(.)h2)/ch2/ch2/ch2/ch2/ch2/l + ch4

mcl + r4 -> rc7 + m5 < 136 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .ch3 -> c(#l)h(/c(.)h/ch3)/ch2/ch2/ch2/ch2/ch2/l + ch4

mcl + r4 -> rc5 + m5 < 137 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .ch3 -> c(.)(#l)(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + ch4

mcl + r4 -> rc8 + m5 < 138 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .ch3 -> c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/c(.)h/l + ch4

mcl + r4 -> rcl + m5 < 139 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .ch3 -> c(#l)h(/ch2/ch3)/ch2/ch2/ch2/c(.)h/ch2/l + ch4

mcl + r4 -> rc2 + m5 < 140 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .ch3 -> c(#l)h(/ch2/ch3)/ch2/ch2/c(.)h/ch2/ch2/l + ch4

mcl + r4 -> rc3 + m5 < 141 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .ch//o -> c(#l)h(/ch2/c(.)h2)/ch2/ch2/ch2/ch2/ch2/l + ch2//o

mcl + r5 -> rc7 + m6 < 142 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .ch//o -> c(#l)h(/c(.)h/ch3)/ch2/ch2/ch2/ch2/ch2/l + ch2//o

mcl + r5 -> rc5 + m6 < 143 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .ch//o -> c(.)(#l)(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + ch2//o

mcl + r5 -> rc8 + m6 < 144 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .ch//o -> c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/c(.)h/l + ch2//o

mcl + r5 -> rcl + m6 < 145 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .ch//o -> c(#l)h(/ch2/ch3)/ch2/ch2/ch2/c(.)h/ch2/l + ch2//o A.2. M&camsme de i'Athyicyciohexane 193

mcl + r5 -> rc2 + m6 < 146 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .ch//o -> c(#l)h(/ch2/ch3)/ch2/ch2/c(.)h/ch2/ch2/l + ch2//o

mcl + r5 -> rc3 + m6 < 147 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .ch2/oh -> c(#l)h(/ch2/c(.)h2)/ch2/ch2/ch2/ch2/ch2/l + ch3/oh

mcl + r6 -> rc7 + m7 < 148 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .ch2/oh -> c(#l)h(/c(.)h/ch3)/ch2/ch2/ch2/ch2/ch2/l + ch3/oh

mcl + r6 -> rc5 + m7 < 149 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .ch2/oh -> c(.)(#l)(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + ch3/oh

mcl + r6 -> rc8 + m7 < 150 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .ch2/oh -> c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/c(.)h/l + ch3/oh

mcl + r6 -> rcl + m7 < 151 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .ch2/oh -> c(#l)h(/ch2/ch3)/ch2/ch2/ch2/c(.)h/ch2/l + ch3/oh

mcl + r6 -> rc2 + m7 < 152 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .ch2/oh -> c(#l)h(/ch2/ch3)/ch2/ch2/c(.)h/ch2/ch2/l + ch3/oh

mcl + r6 -> rc3 + m7 < 153 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .o/ch3 -> c(#l)h(/ch2/c(.)h2)/ch2/ch2/ch2/ch2/ch2/l + ch3/oh

mcl + r7 -> rc7 + m7 < 154 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .o/ch3 -> c(#l)h(/c(.)h/ch3)/ch2/ch2/ch2/ch2/ch2/l + ch3/oh

mcl + r7 -> rc5 + m7 < 155 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .o/ch3 -> c(.)(#l)(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + ch3/oh

mcl + r7 -> rc8 + m7 < 156 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .o/ch3 -> c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/c(.)h/l + ch3/oh

mcl + r7 -> rcl + m7 < 157 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .o/ch3 -> c(#l)h(/ch2/ch3)/ch2/ch2/ch2/c(.)h/ch2/l + ch3/oh

mcl + r7 -> rc2 + m7 < 158 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .o/ch3 -> c(#l)h(/ch2/ch3)/ch2/ch2/c(.)h/ch2/ch2/l + ch3/oh

mcl + r7 -> rc3 + m7 < 159 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .o/o/ch3 -> 194 Annexe A. M&caznames primaires gdn&As par EXGAS

c(#l)h(/ch2/c(.)h2)/ch2/ch2/ch2/ch2/ch2/l + ch3/o/oh

mcl + r8 -> rc7 + m9 < 160 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .o/o/ch3 -> c(#l)h(/c(.)h/ch3)/ch2/ch2/ch2/ch2/ch2/l + ch3/o/oh

mcl + r8 -> rc5 + m9 < 161 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .o/o/ch3 -> c(.)(#l)(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + ch3/o/oh

mcl + r8 -> rc8 + m9 < 162 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .o/o/ch3 -> c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/c(.)h/l + ch3/o/oh

mcl + r8 -> rcl + m9 < 163 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .o/o/ch3 -> c(#l)h(/ch2/ch3)/ch2/ch2/ch2/c(.)h/ch2/l + ch3/o/oh

mcl + r8 -> rc2 + m9 < 164 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .o/o/ch3 -> c(#l)h(/ch2/ch3)/ch2/ch2/c(.)h/ch2/ch2/l + ch3/o/oh

mcl + r8 -> rc3 + m9 < 165 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .ch2/ch3 -> c(#l)h(/ch2/c(.)h2)/ch2/ch2/ch2/ch2/ch2/l + /(ch3)2

mcl + rll -> rc7 + m!2 < 166 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .ch2/ch3 -> c(#l)h(/c(.)h/ch3)/ch2/ch2/ch2/ch2/ch2/l + /(ch3)2

mcl + rll -> rc5 + m!2 < 167 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .ch2/ch3 -> c(.)(#l)(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + /(ch3)2

mcl + rll -> rc8 + m!2 < 168 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .ch2/ch3 -> c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/c(.)h/l + /(ch3)2

mcl + rll -> rcl + m!2 < 169 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .ch2/ch3 -> c(#l)h(/ch2/ch3)/ch2/ch2/ch2/c(.)h/ch2/l + /(ch3)2

mcl + rll -> rc2 + m!2 < 170 > c(#l)h(/ch2/ch3)/ch2/ch2/ch2/ch2/ch2/l + .ch2/ch3 -> c(#l)h(/ch2/ch3)/ch2/ch2/c(.)h/ch2/ch2/l + /(ch3)2

mcl + rll -> rc3 + m!2

Combination of free radicals

Disproportionations of free radicals A.2. M&canlame de 1'Athylcyciohexane 195

< 171 > .ch2/ch//ch/ch3 + .o/oh -> //(ch/ch3)2 + //(o)2 r38 + r3 -> m42 + m3 ch2/ch//ch2 + .o/oh -> ch3/ch//ch2 + //(o)2 r39 + r3 -> ml8 + m3 196 Annexe A. M&caznames pnmaires gdn&As par EXGAS Annexe B

Mecanismes primaires generes par GasEI

B.l Mecanisme de l’iso-octane

Reactions List

Unimolecular Initiations by C-C Bond Breaking [ui] (4)

OlJ C(C)(C)CC(C)(C)C -> C(e)(C)C + C(e)C(C)(C)C ! 1 C(C)(C)(C)CC(C)C -> C(e)(C)(C)C + C(e)C(C)C ! 1 03 C(C)(C)CC(C)(C)C -> C(e)(C)CC(C)(C)C + Ce ! 1 04j C(C)(C)(C)CC(C)C -> C(e)(C)(C)CC(C)C + Ce ! 2

Unimolecular Initiations by C-H Bond Breaking [ui_H] (4)

05j C(C)(C)CC(C)(C)C -> C(e)(C)(C)CC(C)(C)C + He ! 1 06j C(C(C)C)C(C)(C)C -> C(e)(C(C)C)C(C)(C)C + He ! 2 07j CC(C)CC(C)(C)C -> C(e)C(C)CC(C)(C)C + He ! 6 03 CC(C)(C)CC(C)C -> C(e)C(C)(C)CC(C)C + He ! 9

Bimolecular Initiations [bi] (4)

09| C(C)(C)CC(C)(C)C + 0=0 -> C(e)(C)(C)CC(C)(C)C + 0(e)O ! 1 to] C(C(C)C)C(C)(C)C + 0=0 -> C(e)(C(C)C)C(C)(C)C + 0(e)O ! 2 21 CC(C)CC(C)(C)C + 0=0 -> C(e)C(C)CC(C)(C)C + 0(e)0 ! 6 1£j CC(C)(C)CC(C)C + 0=0 -> C(e)C(C)(C)CC(C)C + 0(e)0 ! 9

197 198 Annexe D. MAcanlamcs primaircs gAnArAs par GasEI

Methathesis Reactions [me] (20)

13 C(C)(C)CC(C)(C)C + He -> C(e)(C)(C)CC(C)(C)C + HH ! 1 14 C(C)(C)CC(C)(C)C + Ce -> C(e)(C)(C)CC(C)(C)C + C ! 1 C(C)(C)CC(C)(C)C + 0(e)e -> C(e)(C)(C)CC(C)(C)C + Oe ! 1 E C(C)(C)CC(C)(C)C + Oe -> C(e)(C)(C)CC(C)(C)C + O ! 1 i7: C(C)(C)CC(C)(C)C + 0(e)O -> C(e)(C)(C)CC(C)(C)C + 00 ! 1 C(C(C)C)C(C)(C)C + He -> C(e)(C(C)C)C(C)(C)C + HH ! 2 19 C(C(C)C)C(C)(C)C + Ce -> C(e)(C(C)C)C(C)(C)C + C ! 2 M C(C(C)C)C(C)(C)C + 0(e)e -> C(e)(C(C)C)C(C)(C)C + Oe ! 2 nl C(C(C)C)C(C)(C)C + Oe -> C(e)(C(C)C)C(C)(C)C + O ! 2 22 C(C(C)C)C(C)(C)C + 0(e)O -> C(e)(C(C)C)C(C)(C)C + 00 ! 2 23 CC(C)CC(C)(C)C + He -> C(e)C(C)CC(C)(C)C + HH ! 6 24 CC(C)CC(C)(C)C + Ce -> C(e)C(C)CC(C)(C)C + C ! 6 25 CC(C)CC(C)(C)C + 0(e)e -> C(e)C(C)CC(C)(C)C + Oe ! 6 26 CC(C)CC(C)(C)C + Oe -> C(e)C(C)CC(C)(C)C + O ! 6 27 CC(C)CC(C)(C)C + 0(e)O -> C(e)C(C)CC(C)(C)C + 00 ! 6 CC(C)(C)CC(C)C + He -> C(e)C(C)(C)CC(C)C + HH ! 9 CC(C)(C)CC(C)C + Ce -> C(e)C(C)(C)CC(C)C + C ! 9 30 CC(C)(C)CC(C)C + 0(e)e -> C(e)C(C)(C)CC(C)C + Oe ! 9 31 CC(C)(C)CC(C)C + Oe -> C(e)C(C)(C)CC(C)C + O ! 9 32 CC(C)(C)CC(C)C + 0(e)O -> C(e)C(C)(C)CC(C)C + 00 ! 9

[ipso] (0)

Oxidation of Free Radicals [ox] (11)

33 C(e)(C)CC(C)(C)C + 0=0 -> C(CC(C)(C)C)=C + 0(e)O 34 C(e)(C)CC(C)(C)C + 0=0 -> C(C)=CC(C)(C)C + 0(e)O 35 C(e)(C)C + 0=0 > C(C)=C + 0(e) O 36 C(e)(C)(C)CC(C)C + 0=0 -> C(C)(CC(C)C)=C + 0(e)O 37 C(e)(C)(C)CC(C)C + 0=0 -> C(C)(C)=CC(C)C + 0(e)O 35 C(e)(C)(C)CC(C)(C)C + 0=0 -> C(C)(CC(C)(C)C)=C + 0(e)O 39 C(e)(C)(C)CC(C)(C)C + 0=0 -> C(C)(C)=CC(C)(C)C + 0(e)O 40 C(e)(C)(C)C + 0=0 -> C(C)(C)=C + 0(e)O 41 C(e)C(C)CC(C)(C)C + 0=0 -> C=C(C)CC(C)(C)C + 0(e)O 42 C(e)C(C)C + 0=0 -> C=C(C)C + 0(e)O 43 C(e)(C(C)C)C(C)(C)C + 0=0 -> C(C(C)(C)C)=C(C)C + 0(e)O B.l. MAcanlsmc do Hso-ocAanc 199

Unimolecular Decomposition by Beta-Scission of C-C Bond [bs] (11)

44 C(e)(C)CC(C)(C)C -> C(C)=C + C(e)(C)(C)C 45 C(e)(C)(C)CC(C)C -> C(C)(C)=C + C(e)(C)C 46 C(e)(C)(C)CC(C)(C)C -> C(C)(C)=C + C(e)(C)(C)C 47 C(e)C(C)CC(C)(C)C -> C=CCC(C)(C)C + Ce 48 C(e)C(C)CC(C)(C)C ■> C=CC + C(e)C(C)(C)C 49 C(e)C(C)C > C=CC + Ce 50 C(e)(C(C)C)C(C)(C)C -> C(C(C)C)=C(C)C + Ce 51 C(e)(C(C)C)C(C)(C)C -> C(C(C)(C)C)=CC + Ce n C(e)C(C)(C)CC(C)C -> C=C(C)CC(C)C + Ce 53 C(e)C(C)(C)CC(C)C > C=C(C)C + C(e)C(C)C 54 C(e)C(C)(C)C -> C=C(C)C + Ce

Unimolecular Decomposition by Beta-Scission of C-H Bond [bs_H] (11)

55 C(e)(C)CC(C)(C)C -> C(CC(C)(C)C)=C + He 56 C(e)(C)CC(C)(C)C -> C(C)=CC(C)(C)C + He 57 C(e)(C)C -> C(C)=C + He 58 C(e)(C)(C)CC(C)C -> C(C)(CC(C)C)=C + He 59 C(e)(C)(C)CC(C)C -> C(C)(C)=CC(C)C + He 60 C(e)(C)(C)CC(C)(C)C -> C(C)(CC(C)(C)C)=C + He 61 C(e)(C)(C)CC(C)(C)C > C(C)(C)=CC(C)(C)C + He 62 C(e)(C)(C)C -> C(C)(C)=C + He 63 C(e)C(C)CC(C)(C)C -> C=C(C)CC(C)(C)C + He 64 C(e)C(C)C > C=C(C)C + He 65 C(e)(C(C)C)C(C)(C)C -> C(C(C)(C)C)=C(C)C + He

Combination of Free Radicals [co] (0)

Disproportionations of Free Radicals [di] (0) 200 Annexe B. MAcamsmes primaires gAnArAs par GasEI

Statistics

• Total Number of Reactions : 65

• Ummolecular Initiations by C-C Bond Breaking [ui] : 4

• Ummolecular Initiations by C-H Bond Breaking [ui_H] : 4

• Bimolecular Initiations [bi] : 4

• Methathesis Reactions [me] : 20 • [ipso] : 0

• Oxidation of Free Radicals [ox] : 11

• Ummolecular Decomposition by Beta-Scission of C-C Bond [bs] : 11

• Ummolecular Decomposition by Beta-Scission of C-H Bond [bs_H] : 11

e Combination of Free Radicals [co] 0

• Disproportionations of Free Radicals [di] : 0

• Number of Primary Products : 20 B.2. MAcanlsmc do 1'AtbylcycloAcxanc 201

B.2 Mecanisme de l’ethylcyclohexane

Reactions List

Unimolecular Initiations by C-C Bond Breaking [ui] (2)

Olj C(C)C1CCCCC1 -> C(e)C + Cl(e)CCCCCl ! 1 _02j C(C)C1CCCCC1 -> C(e)ClCCCCCl + Ce ! 1

Unimolecular Initiations by C-H Bond Breaking [ui_H] (6)

03 C1(CC)CCCCC1 -> Cl(e)(CC)CCCCCl + He ! 1 04 C(C)C1CCCCC1 •> C(e)(C)ClCCCCCl + He ! 2 05 C(CC1)CCC1CC > C(e)(CCl)CCClCC + He ! 2 06 CCC1CCCCC1 -> C(e)CClCCCCCl + He ! 3 07 C(CCCC1)C1CC -> C(e)(CCCCl)ClCC + He ! 4 08 C(C1)CCCC1CC -> C(e)(Cl)CCCClCC + He ! 4

Bimolecular Initiations [bi] (6)

09 C1(CC)CCCCC1 + 0=0 -> Cl(e)(CC)CCCCCl + 0(e)O ! 1 10 C(C)C1CCCCC1 + 0=0 •> C(e)(C)ClCCCCCl + 0(e)O ! 2 11 C(CC1)CCC1CC + 0=0 -> C(e)(CCl)CCClCC + 0(e)O ! 2 12 CCC1CCCCC1 + 0=0 -> C(e)CClCCCCCl + 0(e)O ! 3 13 C(CCCC1)C1CC + 0=0 -> C(e)(CCCCl)ClCC + 0(e)O ! 4 14 C(C1)CCCC1CC + 0=0 -> C(e)(Cl)CCCClCC + 0(e)O ! 4

Methathesis Reactions [me] (30)

]5| C1(CC)CCCCC1 + He ■> Cl(e)(CC)CCCCCl + HH ! 1 1_6j C1(CC)CCCCC1 + Ce -> Cl(e)(CC)CCCCCl + C ! 1 2Zl C1(CC)CCCCC1 + 0(e)e -> Cl(e)(CC)CCCCCl + Oe ! 1 18 C1(CC)CCCCC1 + Oe -> Cl(e)(CC)CCCCCl + 0:1 231 C1(CC)CCCCC1 + 0(e)O -> Cl(e)(CC)CCCCCl + 00 ! 1 2£j C(C)C1CCCCC1 + He -> C(e)(C)ClCCCCCl + HH ! 2 21] C(C)C1CCCCC1 + Ce -> C(e)(C)ClCCCCCl + C ! 2 2£j C(C)C1CCCCC1 + 0(e)e -> C(e)(C)ClCCCCCl + Oe ! 2 23j C(C)C1CCCCC1 + Oe ■> C(e)(C)ClCCCCCl + O ! 2 24] C(C)C1CCCCC1 + 0(e)O -> C(e)(C)ClCCCCCl + 00 ! 2 y C(CC1)CCC1CC + He -> C(e)(CCl)CCClCC + HH ! 2 26] C(CC1)CCC1CC + Ce -> C(e)(CCl)CCClCC + C ! 2 27] C(CC1)CCC1CC + 0(e)e > C(e)(CCl)CCClCC + Oe ! 2 28 C(CC1)CCC1CC + Oe -> C(e)(CCl)CCClCC + O ! 2 202 Annexe B. MAcamamcs primairca gAnArAa par GasEI

29| C(CC1)CCC1CC + 0(e)O -> C(e)(CCl)CCClCC + 00 ! 2 30] CCC1CCCCC1 + He -> C(e)CClCCCCCl + HH ! 3 3lJ CCC1CCCCC1 + Ce -> C(e)CClCCCCCl + C ! 3 32] CCC1CCCCC1 + 0(e)e -> C(e)CClCCCCCl + Oe ! 3 33j CCC1CCCCC1 + Oe -> C(e)CClCCCCCl + O ! 3 34J CCC1CCCCC1 + 0(e)O -> C(e)CClCCCCCl + OO ! 3 35| C(CCCC1)C1CC + He > C(e)(CCCCl)ClCC + HH ! 4 361 C(CCCC1)C1CC + Ce > C(e)(CCCCl)ClCC + C ! 4 37 C(CCCC1)C1CC + 0(e)e -> C(e)(CCCCl)ClCC + Oe ! 4 38 C(CCCC1)C1CC + Oe > C(e)(CCCCl)ClCC + O ! 4 33 C(CCCC1)C1CC + 0(e)O -> C(e)(CCCCl)ClCC + 00 ! 4 40] C(C1)CCCC1CC + He -> C(e)(Cl)CCCClCC + HH ! 4 C(C1)CCCC1CC + Ce ■> C(e)(Cl)CCCClCC + C ! 4 C(C1)CCCC1CC + 0(e)e -> C(e)(Cl)CCCClCC + Oe ! 4 43| C(C1)CCCC1CC + Oe -> C(e)(Cl)CCCClCC + O ! 4 44 C(C1)CCCC1CC + 0(e)O -> C(e)(Cl)CCCClCC + 00 ! 4

[ipso] (0)

Oxidation of Free Radicals [ox] (36)

45] C(e)(C)ClCCCCCl + 0=0 -> C(C1CCCCC1)=C + 0(e)O 46] C(e)(C)ClCCCCCl + 0=0 -> C(C)=C1CCCCC1 + 0(e)O 47] C(e)(CCCCl)ClCC + 0=0 -> C(CCCC1)=C1CC + 0(e)O 48] C(e)(CCCCl)ClCC + 0=0 -> C(C1CC)=CCCC1 + 0(e)O 49] C(e)(Cl)CCCClCC + 0=0 -> C(CCCC1CC)=C1 + 0(e)O 50] C(e)(Cl)CCCClCC + 0=0 -> C(C1)=CCCC1CC + 0(e)O 5lj C(e)(CCl)CCClCC + 0=0 -> C(CCC1CC)=CC1 + 0(e)O 52] C(e)(CCl)CCClCC + 0=0 -> C(CC1)=CCC1CC + 0(e)O 53] C(e)CClCCCCCl + 0=0 -> C=CC1CCCCC1 + 0(e)O 54] C(e)ClCCCCCl + 0=0 -> C=C1CCCCC1 + 0(e)O 55] Cl(e)(CC)CCCCCl + 0=0 -> C1(CCCCC1)=CC + 0(e)O 56] Cl(e)(CC)CCCCCl + 0=0 -> C1(CC)=CCCCC1 + 0(e)O 57] Cl(e)CCCCCl + 0=0 -> C1=CCCCC1 + 0(e)0 58] C(e)(CC)CCCC=C + 0=0 -> C(CCCC=C)=CC + 0(e)O 59] C(e)(CC)CCCC=C + 0=0 > C(CC)=CCCC=C + 0(e)0 60] C(e)C(CC)CCC=C + 0=0 -> C=C(CC)CCC=C + O(e)0 61] C(e)CC(CC)CC=C + 0=0 -> C=CC(CC)CC=C + 0(e)0 62] C(e)CCC(CC)C=C + 0=0 > C=CCC(CC)C=C + 0(e)0 63] C(e)CCCC(CC)=C + 0=0 -> C=CCCC(CC)=C + 0(e)0 64] C(e)CCCCC=C + 0=0 -> C=CCCCC=C + 0(e)O 65] C(e)CCCCC=CC + 0=0 > C=CCCCC=CC + 0(e)O B.2. MAcamsmc do j'AtbWcydoAcxanc 203

C(e)CCCC=C + 0=0 -> C=CCCC=C + 0(e)0 C(e)CCCC=CCC + 0=0 -> C=CCCC=CCC + 0(e)0 C(e)(CC)CC=C + 0=0 -> C(CC=C)=CC + 0(e)O C(e)(CC)CC=C + 0=0 -> C(CC)=CC=C + 0(e)O C(e)C(CC)C=C + 0=0 -> C=C(CC)C=C + 0(e)O C(e)CC(CC)=C + 0=0 -> C=CC(CC)=C + 0(e)O C(e)CCC=C + 0=0 -> C=CCC=C + 0(e)O C(e)CCC=CC + 0=0 -> C=CCC=CC + 0(e)O C(e)CC=C + 0=0 -> C=CC=C + 0(e)0 C(e)CC=CCC + 0=0 -> C=CC=CCC + 0(e)0 C(e)C=C + 0=0 -> C=C=C + 0(e)0 C(e)C=CC + 0=0 -> C=C=CC + 0(e)O C(e)(CC)=C + 0=0 -> C(=C)=CC + 0(e)0 C(e)(CC)=C + 0=0 -> C(CC)#C + 0(e)O C(e)=CCC + 0=0 -> C#CCC + 0(e) O

Unimolecular Decomposition by Beta-Scission of C-C Bond [bs] (37)

51 C(e)(CCCCl)ClCC -> C(CCCC1)=C1 + C(e)C 82 C(e)CClCCCCCl -> C=C + Cl(e)CCCCCl 53 Cl(e)(CC)CCCCCl -> C1(CCCCC1)=C + Ce “ C(e)(C)ClCCCCCl -> C(e)CCCCC=CC 85 C(e)(CCCCl)ClCC C(e)CCC(CC)C=C 86 C(e)(Cl)CCCClCC -> C(e)CC(CC)CC=C 87 C(e)(CCl)CCClCC -> C(e)C(CC)CCC=C 88 C(e)(CCl)CCClCC -> C(e)C(CC)CCC=C 89 C(e)ClCCCCCl -> C(e)CCCCC=C 90 Cl(e)(CC)CCCCCl -> C(e)CCCC(CC)=C 91 Cl(e)CCCCCl -> C(e)CCCC=C 92 C(e)(C)ClCCCCCl -> C(e)CCCCC=CC 93 C(e)(CCCCl)ClCC -> C(e)CCCC=CCC 94 C(e)(Cl)CCCClCC -> C(e)(CC)CCCC=C 95 C(e)ClCCCCCl -> C(e)CCCCC=C 96 C(e)(CC)CCCC=C -> C(CCCC=C)=C + Ce 97 C(e)(CC)CCCC=C -> C(CC)=C + C(e)CC=C 98 C(e)C(CC)CCC=C -> C=CCCC=C + C(e)C 99 C(e)C(CC)CCC=C -> C=CCC + C(e)CC=C 100 C(e)CC(CC)CC=C C=C + C(e)(CC)CC=C 101 C(e)CCC(CC)C=C -> C=C + C(e)C(CC)C=C 102 C(e)CCCC(CC)=C -> C=C + C(e)CC(CC)=C 103 C(e)CCCCC=C ■> C=C + C(e)CCC=C 104 C(e)CCCCC=CC -> C=C + C(e)CCC=CC 105 C(e)CCCC=C -> C=C + C(e)CC=C 204 Annexe B. MAcamamcs primairca gAnArAa par GasEI

106 C(e)CCCC=CCC -> C=C + C(e)CC=CCC 107 C(e)(CC)CC=C -> C(CC=C)=C + Ce 108 C(e)(CC)CC=C -> C(CC)=C + C(e)=C 109 C(e)C(CC)C=C -> C=CCC + C(e)=C 110 C(e)C(CC)C=C > C=CC=C + C(e)C 111 C(e)CC(CC)=C -> C=C + C(e)(CC)=C 112 C(e)CCC=C -> C=C + C(e)C=C 113 C(e)CCC=CC -> C=C + C(e)C=CC 114 C(e)CC=C -> C=C + C(e)=C 115 C(e)CC=CCC -> C=C + C(e)=CCC 116 C(e)(CC)=C -> C(=C)=C + Ce 117 C(e)=CCC -> C#C + C(e)C

Unimolecular Decomposition by Beta-Scission of C-H Bond [bs_H] (36)

118 C(e)(C)ClCCCCCl > C(C1CCCCC1)=C + He 119 C(e)(C)ClCCCCCl -> C(C)=C1CCCCC1 + He 120 C(e)(CCCCl)ClCC-> C(CCCC1)=C1CC + He 121 C(e)(CCCCl)ClCC -> C(C1CC)=CCCC1 + He 122 C(e)(Cl)CCCClCC > C(CCCC1CC)=C1 + He 123 C(e)(Cl)CCCClCC -> C(C1)=CCCC1CC + He 124 C(e)(CCl)CCClCC -> C(CCC1CC)=CC1 + He 125 C(e)(CCl)CCClCC -> C(CC1)=CCC1CC + He 126 C(e)CClCCCCCl -> C=CC1CCCCC1 + He 127 C(e)ClCCCCCl -> C=C1CCCCC1 + He 128 Cl(e)(CC)CCCCCl -> C1(CCCCC1)=CC + He 129 Cl(e)(CC)CCCCCl -> C1(CC)=CCCCC1 + He 130 Cl(e)CCCCCl -> C1=CCCCC1 + He 131 C(e)(CC)CCCC=C -> C(CCCC=C)=CC + He 132 C(e)(CC)CCCC=C -> C(CC)=CCCC=C + He 133 C(e)C(CC)CCC=C -> C=C(CC)CCC=C + He 134 C(e)CC(CC)CC=C -> C=CC(CC)CC=C + He 135 C(e)CCC(CC)C=C -> C=CCC(CC)C=C + He 136 C(e)CCCC(CC)=C -> C=CCCC(CC)=C + He 137 C(e)CCCCC=C -> C=CCCCC=C + He 138 C(e)CCCCC=CC -> C=CCCCC=CC + He 139 C(e)CCCC=C -> C=CCCC=C + He 140 C(e)CCCC=CCC -> C=CCCC=CCC + He 141 C(e)(CC)CC=C -> C(CC=C)=CC + He 142 C(e)(CC)CC=C -> C(CC)=CC=C + He 143 C(e)C(CC)C=C > C=C(CC)C=C + He 144 C(e)CC(CC)=C > C=CC(CC)=C + He IE C(e)CCC=C -> C=CCC=C + He B.2. MAcamsmc do j'AtbWcydoAcxanc 205

146 C(e)CCC=CC -> C=CCC=CC + He 147 C(e)CC=C > C=CC=C + He 148 C(e)CC=CCC -> C=CC=CCC + He 149 C(e)(CC)=C > C(=C)=CC + He 150 C(e)C=C -> C=C=C + He 151 C(e)C=CC -> C=C=CC + He 152 C(e)(CC)=C > C(CC)#C + He 153 C(e)=CCC -> C#CCC + He

Combination of Free Radicals [co] (8)

154 C(e)C=C + Ce •> C(C)C=C 155 C(e)C=C + Oe > C(0)C=C 156 C(e)C=C + 0(e)0 -> C(C=C)00 157 C(e)C=C + He > C(H)C=C 158 C(e)C=CC + Ce -> C(C)C=CC 159 C(e)C=CC + Oe > C(0)C=CC 160 C(e)C=CC + 0(e)0 -> C(C=CC)00 161 C(e)C=CC + He > C(H)C=CC

Disproportionations of Free Radicals [di] (10)

C(e)C=C + Ce -> C=C=C + C C(e)C=C + Oe -> C=C=C + O C(e)C=C + 0(e)0 -> C=C=C + 00 C(e)C=C + He -> C=C=C + H C(e)C=CC + Ce -> C=C=CC + C C(e)C=CC + Oe -> C=C=CC + O C(e)C=CC + 0(e)0 -> C=C=CC + 00 C(e)C=CC + He -> C=C=CC + H 0(e)0 + C(e)C=C -> 0=0 + CC=C 0(e)O + C(e)C=CC -> 0=0 + CC=CC 206 Annexe B. MAcamsmes primaires gAnArAs par GasEI

Statistics

• Total Number of Reactions : 171

• Unimolecular Initiations by C-C Bond Breaking [ui] : 2

• Unimolecular Initiations by C-H Bond Breaking [ui_H] : 6

• Bimolecular Initiations [bi] : 6

• Methathesis Reactions [me] : 30

• [ipso] : 0

• Oxidation of Free Radicals [ox] : 36

• Unimolecular Decomposition by Beta-Scission of C-C Bond [bs] : 37

• Unimolecular Decomposition by Beta-Scission of C-H Bond [bs_H] 36

• Combination of Free Radicals [co] 8

• Disproportionations of Free Radicals [di] : 10

• Number of Primary Products : 61 Index

alcGne, 6 combustion, 5 alcane, 6 composantes connexes, 25 branch^ ou ramiH6, 6 confluence, 43, 46, 52, 54 cychque, 6 locale, 43 non branch^ ou lin6aire, 6 connect, 117 algGbre, 45 constante, 44 des termes contexte, 57 & la SMILES, T(EgM/igg), 90 convergence, 44 GasEI, T(EGasEi), 95 couper SMILESxc, 92 un cycle, 85 homogGne, 45 cutSimpleLink, 116 initiale, 90, 92, 95 cyclane, 6 libre, 45 cycle, 24 alkyle, 6 cyclo-alkylique, 6 alkylique, 6 a-conversion, 53 d6g6n6rescence, 16, 128 amorgage dismutation, 73, 108 bimolAculaire, 70, 105 domaine, 45 unimolAculaire, 69, 104 donnGes analyse de transport, 19 syntaxique, parse, 90, 92 thermodynamiques, 18 ar&te, 24, 25, 79 Aditeur extr6mit6, 24 de molecule, 89 incidente, 24 effondrement, 52 ordre, 80 6galit6, 48 ar6ne, 6 Equation, 48 arbre, 25 essences, 8 couvrant, 25, 87 6tiquetage canonique, 31-33 mo!6culaire d6cor6, 85, 88 arit6, 44 fermeture aromatique, 6 sym6trique, 43 aryle, 7 transitive, 43 axiome, 48 Hltrage, 49, 50 Hltre bGta-scission, 71, 106 chimique, 104, 115 /3-r6duction, 53 force brute, 32, 33 forme normale, 44 chalne, 24 formule longueur, 24 semi-d6velopp6e, 26 simple, 24 simplifi6e, 6, 26 chemin, 51 cin6tique, 13 gazoles, 9 cliquetis, 8 graphStree, 88 codage canonique d'un graphe, 31-33 graphe, 24, 25, 79 combinaison, 72, 108 ar&te, 24, 25, 79

207 208 Index

arbre, 25 matrice connexe, 25,27 R (des reactions), 29 cycle, 24 BE (Bond-Electron), 23, 28, 29 moieculaire, 25, 79 d'adjacence, 27 decore, 84 de connect!vite, 27 sans hydrogene, 26, 79 modele, 19 sous-graphe, 101 de reacteur, 18 planaire, 25, 27 DU (Dugundji-Ugi), 28, 29, 82 sommet, 24, 25, 79 DU(Dugundji-Ugi), 21 sous-graphe, 25, 101 mecanistique, 18, 20 graphStree, 85 mathematique, 18 physico-chimique, 18 hang, 121 molecule, 55 hydrocarbure, 5 morphisme, 51, 52, 102 hypergraphe, 51 moteur acychque, 51 & essence, 7 chemin, 51 Diesel, 9 hyperarc, 51 HCCI, 9 nceud, 51 motif, 45 nceud argument, 51 nceud atteignable, 51 no_H, 114,120 nceud resultat, 51 nombre cyclomatique, 25, 85 indice d'atomes d'hydrogene, no_at_H, 81, 120 d'octane, 8 notation de cetane, 9 lineaire topologique, 33 canonique, Unique SMILES, 98 InitPhase,130 de Nancy, 36 invariant, 33, 34, 37 ROSDAL, 35 ipso, 70, 106 SMILES, 35, 82, 98 is_aromatic, 115 Wiswesser, 35 is_Y,116 isEqMolecules,98 ordre, 88 isomorphisme des graphes, 31, 32, 99 d'une arete, ordre_arete, 80, 120 oxydation, 71, 107 loi d'Arrhenius, 17 parcours d'Arrhenius-Kooij, 17 en profondeur, df s, 87 parse, 90,92 mecanisme partition en automorphismes, 31 de basse temperature, 68 partition en automorphismes, 32 de haute temperature, 68 position, 45 primaire, 15, 75 variable, 45 reactionnel, 13 PrimaryMechanism,130 metathese, 70, 105 produit machine abstraite chimique, 56, 57 primaire, 15 ARMS, 57 secondaire, 15 AlChemy, 58 propriete de Church-Rosser, 43 CHAM, 57 pyrolyse oxydante, 68 Gamma, 56 molecule, 55 reecriture, 44, 48, 52 reaction, 55 modulo une theorie equationnelle, 48 reduction, 55 reaction solution chimique, 55 d'echauffement, 57 209

de refroidissement, 57 associatif-commutatif, AC, 92 reaction eiementaire, 13 constante, 44 regie prohl, 47 d'extension, 49 systeme de reecriture, 46, 103 regie de reecriture, 46, 103 complet, 47 conditionnelle, 47 conditionnel, 47 membre droit, 46 conditionnel normal, 48 membre gauche, 46 confluent, 47 radical convergent, 47 ^,74 systeme de reduction abstrait, 43 74 p, 74 terme, 44 libre, 16, 26 A-terme, 53 Y, 74 p-terme, 55 relation, 43 & la SMILES, 90 =>cdi, 52 GasEI, 95 compatible, 48 clos, 45 de reecriture, 46, 48 du premier ordre, 45 de reduction, 48, 55 position, T"oa(f), 45 fermeture symetrique, 43 SMILESxc, 92 fermeture transitive, 43 sorte, 47 fortement normalisable, 44 sous-terme, 45 inverse, 43 variables, Vnr(t), 45 stable par instanciation, 48 terme-graphe, 51 stable par contexte, 48 effondrement, 52 remplacement, 45, 50, 53 instance, 52 replace, 121 reecriture, 52 p-terme, 55 representation, termo(u), 51 terminaison, 44, 46, 52 sequence TgaselSTsmiles, 95 de modeiisation, 20 tMorie Aquationnelle, 48 exp&imentale, 19 thermodynamique, 13 set_of ,65 tree2graph, 87,88 signature, 44, 51, 59 treeSsmiles,88 multi-sort6e, 47 Tsmiles2Tgasel, 95 SgM/igg, 89 Unique SMILES, 98

^GasEI, 94 valence, 26, 80 symbole, 44 variable, 44, 51, 53 SMILES, 35, 82, 98 liSe, 53 Unique, 98 smiles2tree,88 libre, 53 sortie, 47 solution chimique, 55 vision, 128 sommet, 24 visualiseur degre, 24, 34 de molecule, 89 degre maximal, 24 vitesse de reaction, 17 valence, 80 sorte, 47 write,91,92 sous-terme, 45 strict, 45 substitution, 45, 53 domaine, _Dom((r), 45 symbole, 47 arite, 44 210 Index Resume

L'objectif principal de cette tMse eat d'explorer 1'utihsation dea syst&nes & base de regies et strategies, pour un probleme complexe de cinAtique chimique : la generation automatique de mecaniames reactionnels. Lea reactions chimiquea s'expriment naturellement par dea regies de reecriture conditionnellea. Le contrble de I'enchalnement dea reactions chimiquea ae decrit facilement dans un langage de strategies, tel que celui du systeme ELAN, developpe dans I'Gquipe Protheo. La these presente lea concepts de base de la cinetique chimique, lea problemes chimiquea et informa- tiques lies & la conception et & la validation d'un mecanisme reactionnel, et propose une structure g6n6rale pour le generateur de mecaniames reactionnels appeie GasEI. Notre recherche s'est focahs6e sur le g6n& rateur de mecanisme primaire. Nous proposons des solutions pour le codage des espAces chimiquea, des reactions et de leur enchainement, et nous presentons le prototype que nous avons developpe en ELAN. La representation dea espAces chimiquea utilise la notion de graphes moieculaires et leur codage par une structure de termes, appeies termes GasEI. Lea reactions chimiquea sont exprimees par dea regies de reecriture sur dea graphes moieculaires et codees par un ensemble de regies de reecriture conditionnellea sur lea termes GasEI. Le langage de strategies du systeme ELAN eat utilise pour exprimer I'enchalnement des reactions dans le generateur de mecanisme primaire. Cette approche eat illustree par dix reactions generiques de la pyrolyse oxydante. Lea validations chimiquea qualitatives du prototype montrent que notre approche donne lea memes resultats que lea generateurs de mecaniames existants pour lea molecules acycliques, et dans le cas dea molecules polycychquea foumit dea resultats originaux. Mots-clAs: reecriture, strategie, langage & base de regies, ELAN, generateur automatique de mecaniames reactionnels, graphe moieculaire Abstract

The primary objective of this thesis is to explore the approach of using rule-based systems and strategies, for a complex problem of chemical kinetic : the automated generation of reaction mechanisms. The chemical reactions are naturally expressed as conditional rewriting rules. The control of the chemical reactions chaining is easy to describe using a strategies language, such as the one of the ELAN system, developed in the Protheo team. The thesis presents the basic concepts of the chemical kinetics, the chemical and computational problems related to the conception and validation of a reaction mechanism, and gives a general structure for the generator of reaction mechanisms called GasEI. Our research focuses on the primary mechanism generator. We give solutions for encoding the chemical species, the reactions and their chaining, and we present the prototype developed in ELAN. The representation of the chemical species uses the notion of molecular graphs, encoded by a term structure called GasEI terms. The chemical reactions are expressed by rewriting rules on molecular graphs, encoded by a set of conditional rewriting rules on GasEI terms. The strategies language of the ELAN system is used to express the reactions chaining in the primary mechanism generator. This approach is illustrated by coding ten generic reactions of the oxidizing pyrolysis. Qualitative chemical validations of the prototype show that our approach gives, for acyclic molecules, the same results as the existing mechanism generators, and for polycyclic molecules produces original results. Keywords: rewriting, strategy, rule-based language, ELAN, automated generator of reaction mechanisms, molecular graph Title : Rule-Based Programming and Strategies for Automated Generation of Detailed Kinetic Models for Gas Phase Combustion of Polycyclic Hydrocarbon Molecules