Num�ero d'identi�cation : 95 - MON 2 - 2 5 3
Acad�emie de Montpellier
U n i v e r s i t �e M o n t p e l l i e r I I
| Sciences et Technique du Languedoc |
T h �e s e
pr�esent�ee �a l'Universit�e des Sciences et Techniques du Languedocpour obtenir le diplome de DOCTORAT
Sp�ecialit�e : InformatiqueFormation Doctorale : Informatique�Ecole Doctorale : Sciences Pour l'Ing�enieur
Reconnaissance et repr�esentation d'�el�ements
structuraux pour la description d'objets
complexes. Application �a l'�elaboration de
strat�egies de synth�ese en chimie organique.
par
Philippe Vismara
Soutenue le 21 d�ecembre 1995 devant le Jury compos�e de :
M. Michel Habib, Professeur, Universit�e Montpellier II, : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Pr�esidentM. Bernard Carr�e, Ma�tre de Conf�erences, Universite des Sciences et Technologies de Lille,RapporteurMme Monique Thonnat, Directeur de Recherche, Inria, Sophia Antipolis, : : : : : : : : : : : : : : : :RapporteurM. Roland Ducournau, Professeur, Universit�e Montpellier II, : : : : : : : : : : : : : : : : : : : : : : : : : : :ExaminateurM. Jean-Yves Lallemand, Professeur, �Ecole Polytechnique, Paris, : : : : : : : : : : : : : : : : : : : : : : :ExaminateurM. Claude Lauren�co, Directeur de Recherche, Cnrs/Ccipe, Montpellier, : : : : : : : : : : : : : : :ExaminateurM. Olivier Monga, Directeur de Recherche, Inria, Rocquencourt, : : : : : : : : : : : : : : : : : : : : : : : ExaminateurM. Amedeo Napoli, Charg�e de Recherche, Cnrs/Crin, Nancy, : : : : : : : : : : : : : : : : : : : : : : : : : ExaminateurM. Jo�el Quinqueton, Directeur de Recherche, Lirmm/Inria, Montpellier, : : : : : : : : Directeur de Th�ese
TABLE DES MATI�ERES i
Table des mati�eres
Introduction 1
1 Graphes en chimie organique 5
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Quelques notions de base de la th�eorie des graphes . . . . . . . . . . 7
1.2.1 D�e�nition d'un graphe . . . . . . . . . . . . . . . . . . . . . . 7
1.2.2 Cha�nes et cycles . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.3 Quelques propri�et�es d'un graphe . . . . . . . . . . . . . . . . . 9
1.3 Repr�esentation graphique des mol�ecules . . . . . . . . . . . . . . . . . 11
1.4 Mod�elisation des mol�ecules par des graphes . . . . . . . . . . . . . . . 16
1.4.1 Graphe mol�eculaire . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4.2 Propri�et�es du graphe mol�eculaire . . . . . . . . . . . . . . . . 20
1.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2 Synth�ese en chimie organique 23
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2 La synth�ese en chimie organique . . . . . . . . . . . . . . . . . . . . . 25
2.3 Quelques syst�emes de synth�ese assist�ee par ordinateur . . . . . . . . . 28
2.4 Le syst�eme ReSyn . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.4.1 Transformations, objectifs et contextes . . . . . . . . . . . . . 33
2.4.2 Fonctionnement g�en�eral de ReSyn . . . . . . . . . . . . . . . 36
2.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3 Histoires de cycles 41
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
ii TABLE DES MATI�ERES
3.2 L'espace vectoriel C des cycles �el�ementaires . . . . . . . . . . . . . . . 43
3.2.1 D�e�nition de l'espace vectoriel C . . . . . . . . . . . . . . . . . 43
3.2.2 Dimension de C : un peu d'histoire . . . . . . . . . . . . . . . . 45
3.2.3 Composantes 2-connexes . . . . . . . . . . . . . . . . . . . . . 46
3.3 Bases fondamentales de cycles . . . . . . . . . . . . . . . . . . . . . . 48
3.3.1 Ensemble fondamental de cycles associ�e �a un arbre
recouvrant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.3.2 Autre notion de base fondamentale . . . . . . . . . . . . . . . 49
3.4 Bases de cycles de taille minimale . . . . . . . . . . . . . . . . . . . . 51
3.4.1 Base fondamentale de taille minimale . . . . . . . . . . . . . . 51
3.4.2 Base de taille minimale . . . . . . . . . . . . . . . . . . . . . . 52
3.4.2.1 Calcul d'une base minimale �a partir d'une base fon-
damentale . . . . . . . . . . . . . . . . . . . . . . . . 53
3.4.2.2 Recherche directe d'une base minimale . . . . . . . . 54
3.4.3 Un algorithme polynomial . . . . . . . . . . . . . . . . . . . . 58
3.4.3.1 L'algorithme de Horton . . . . . . . . . . . . . . . . 59
3.4.3.2 Complexit�e de l'algorithme . . . . . . . . . . . . . . 60
3.4.3.3 R�eduction de la taille de l'ensemble CI . . . . . . . . 62
3.4.3.4 Deux algorithmes analogues �a la m�ethode de Horton 67
3.5 Recherche de cycles �el�ementaires . . . . . . . . . . . . . . . . . . . . . 70
3.5.1 �Enum�eration de tous les cycles �el�ementaires . . . . . . . . . . 70
3.5.2 Recherche de cycles particuliers . . . . . . . . . . . . . . . . . 74
3.6 Bases de cycles �etendues . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.6.1 Ajout de tous les cycles de longueur donn�ee . . . . . . . . . . 77
3.6.2 ESER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.6.3 ESSR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.6.4 SER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
3.7 Cycles pertinents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
3.7.1 Limite d'une mod�elisation des mol�ecules �a l'aide de graphes . 83
3.7.2 D�e�nition de la pertinence d'un cycle . . . . . . . . . . . . . . 84
3.7.3 Construction d'un ensemble initial C0
I . . . . . . . . . . . . . . 88
3.7.4 D�etermination de CP sous la forme d'un ensemble de familles
de cycles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
TABLE DES MATI�ERES iii
3.7.5 D�etermination du nombre de cycles pertinents . . . . . . . . . 97
3.7.5.1 Taille de CP . . . . . . . . . . . . . . . . . . . . . . . 97
3.7.5.2 Nombre de cycles pertinents contenant un sommet
donn�e . . . . . . . . . . . . . . . . . . . . . . . . . . 97
3.7.6 Un probl�eme ouvert . . . . . . . . . . . . . . . . . . . . . . . . 99
3.8 Syst�emes cycliques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
3.8.1 Classi�cation des syst�emes cycliques en chimie
organique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
3.8.2 Graphe des cycles pertinents . . . . . . . . . . . . . . . . . . . 103
3.8.3 Extension de la notion de cycles pertinents . . . . . . . . . . . 107
3.9 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
4 Analyse structurale d'un graphe mol�eculaire 113
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
4.2 Repr�esentation abstraite d'une mol�ecule . . . . . . . . . . . . . . . . 114
4.2.1 D�e�nitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
4.2.1.1 Squelette d'une mol�ecule . . . . . . . . . . . . . . . . 114
4.2.1.2 Cha�nes carbon�ees . . . . . . . . . . . . . . . . . . . 116
4.2.1.3 Liens h�et�eroatomiques . . . . . . . . . . . . . . . . . 117
4.2.1.4 Liens de cycle . . . . . . . . . . . . . . . . . . . . . . 119
4.2.2 Algorithmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
4.2.2.1 Squelette mol�eculaire . . . . . . . . . . . . . . . . . . 121
4.2.2.2 Cha�nes carbon�ees et liens h�et�eroatomiques . . . . . 122
4.2.2.3 Liens de cycle . . . . . . . . . . . . . . . . . . . . . . 125
4.3 Graphe associ�e �a l'analyse structurale d'une mol�ecule . . . . . . . . . 126
4.3.1 D�e�nition de la repr�esentation par blocs GRB . . . . . . . . . 126
4.3.2 Algorithme de construction de GRB . . . . . . . . . . . . . . . 130
4.4 Centralit�e des aretes d'un graphe mol�eculaire . . . . . . . . . . . . . . 131
4.5 Fonctionnalit�e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
4.6 Sym�etrie et st�er�eochimie . . . . . . . . . . . . . . . . . . . . . . . . . 135
4.6.1 Classes d'�equivalence pour la sym�etrie . . . . . . . . . . . . . 138
4.6.2 D�etermination de la st�er�eochimie . . . . . . . . . . . . . . . . 144
4.6.2.1 Quelques notions �el�ementaires . . . . . . . . . . . . . 144
iv TABLE DES MATI�ERES
4.6.2.2 Les r�egles C.I.P. . . . . . . . . . . . . . . . . . . . . 146
4.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
5 Repr�esentations �a objets dans ReSyn 153
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
5.2 Quelques notions de base en Y3 . . . . . . . . . . . . . . . . . . . . . 156
5.3 Objets composites et motifs structuraux . . . . . . . . . . . . . . . . 159
5.3.1 Liens inverses en Yafool . . . . . . . . . . . . . . . . . . . . 161
5.3.2 Repr�esentation des motifs structuraux . . . . . . . . . . . . . 162
5.3.3 Vers l'�elaboration de strat�egies de synth�ese . . . . . . . . . . . 162
5.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
6 Raisonnement par classi�cation dans ReSyn 169
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
6.2 Le raisonnement par classi�cation . . . . . . . . . . . . . . . . . . . . 170
6.2.1 Repr�esentation des cat�egories . . . . . . . . . . . . . . . . . . 171
6.2.2 Subsomption et appariement . . . . . . . . . . . . . . . . . . . 173
6.2.3 Un algorithme de classi�cation . . . . . . . . . . . . . . . . . . 176
6.2.3.1 D�etermination des pr�ed�ecesseurs imm�ediats . . . . . 176
6.2.3.2 D�etermination des successeurs imm�ediats . . . . . . 179
6.2.3.3 Ajout d'un nouveau concept dans la hi�erarchie . . . . 183
6.2.4 Raisonnement par classi�cation sur des graphes mol�eculaires . 184
6.3 Appariements de graphes . . . . . . . . . . . . . . . . . . . . . . . . . 184
6.4 Les r�eseaux d'objectifs et de contextes dans ReSyn . . . . . . . . . . 187
6.4.1 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
6.4.2 Contextes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
6.5 Appariements dirig�es . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
6.5.1 Quelques d�e�nitions . . . . . . . . . . . . . . . . . . . . . . . 197
6.5.2 Probl�eme 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
6.5.3 Probl�eme 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
6.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Conclusion 223
TABLE DES MATI�ERES v
A Bases de cycles de taille minimale dans un graphe valu�e 227
A.1 Cha�nes minimales dans un graphe valu�e . . . . . . . . . . . . . . . . 228
A.2 Base de cycles de taille minimale . . . . . . . . . . . . . . . . . . . . 230
A.3 Union des bases de cycles de taille minimale . . . . . . . . . . . . . . 233
R�ef�erences bibliographiques 239
vi Remerciements
Je remercie Jo�el Quinqueton d'avoir accept�e de diriger cette th�ese, malgr�e ses nom-
breuses occupations. Sa sympathie et sa constante bonne humeur, ainsi que sa disponibilit�e
quand je le sollicitais, m'ont �et�e d'un grand soutien.
Je remercie Michel Habib de m'avoir fait l'honneur de pr�esider le jury de ma th�ese.
L'int�eret qu'il a port�e �a mon travail au cours de ces derni�eres ann�ees et ses nombreux
conseils dans le domaine de la th�eorie des graphes ont �et�e tr�es pr�ecieux.
Je tiens tout particuli�erement �a remercier Monique Thonnat, Bernard Carr�e et Jean-
MarcGeib d'avoir accept�e d'etre les rapporteurs de cette th�ese. Leurs remarques construc-
tives ont �et�e pour moi tr�es enrichissantes.
Je remercie �egalement Jean-Yves Lallemand et Olivier Monga de m'avoir fait l'hon-
neur de participer �a mon jury de th�ese. Le regard ext�erieur qu'ils ont su porter sur mon
travail, dans leurs domaines respectifs, a �et�e tr�es pro�table.
Je remercie Claude Lauren�co qui a dirig�e cette th�ese dans le domaine de la chimie et
m'a appris tout ce que je sais en synth�ese organique et beaucoup plus encore. Son soutien
moral, la curiosit�e et les qualit�es scienti�ques dont il fait toujours preuve m'ont permis de
d�ecouvrir le travail de chercheur sous son meilleur jour. Qu'il trouve ici le t�emoignage de
mon profond respect et de mon ind�efectible amiti�e.
Je remercie Roland Ducournau, qui m'a permis de d�ecouvrir, par le biais de son
langage yafool, l'int�eret et le plaisir de la programmation par objets. Nos nombreuses
discussions et ses pr�ecieuses relectures de ma th�ese ont �et�e tr�es pro�tables.
Je remercie Amedeo Napoli de l'enthousiasme qu'il a manifest�e pour la lecture de cette
th�ese et pour nos passionnantes discussions sur mon travail et sur bien d'autres choses.
Je remercie tous les membres { et amis { de l'�equipe TICCO avec qui j'ai pu partager
les joies du travail au sein d'un formidable groupe et bien plus encore : Jean-Charles, Pierre,
Olivier, Andreas, Yolande, Jacques, Michel et Jean.
Je tiens �egalement �a remercier les membres du LIRMM qui m'ont fait b�en�e�cier de leurs
conseils et leur soutien aussi bien dans le domaine de la recherche que de l'enseignement.
J'aimerais citer tous les th�esards avec qui j'ai partag�e tant de bons moments, mais s'il me
vient �a l'esprit un Guillaume, un Christophe, un Ollivier, des Philippes et tant d'autres,
combien vais-je en oublier qui, je l'esp�ere, ne douteront pas de l'amiti�e que je leur porte.
En�n, et surtout, j'adresse mes remerciements les plus vifs �a toutes celles et ceux qui
m'ont soutenu par leur a�ection et leur patience, et pour lesquels j'�eprouve des sentiments
que ma modeste prose ne saurait convenablement traduire ici : mes amis autour de Perpi-
gnan, �a Paris, �a S�ete ou ailleurs, mes parents, ma famille et Michelle, bien sur : : :
Introduction 1
Introduction
Parmi les th�emes de recherche d�evelopp�es en Intelligence Arti�cielle, la probl�ema-
tique de l'aide au raisonnement occupe une part importante.Mais pour v�eritablement
aider un humain �a raisonner, une machine devrait disposer de capacit�es de r�e exion
qui appartiennent encore au domaine de la science �ction. Tout syst�eme d'aide �a la
conception se doit de rester modeste dans ses ambitions. Les probl�emes g�en�eralement
trait�es se ram�enent �a une simpli�cation de probl�ematiques qui seraient inabordables
dans toute leur complexit�e. Le risque de s'attaquer �a des questions triviales est sou-
vent di�cile �a �ecarter. Par ailleurs, en s'�eloignant du domaine d'expertise initial, on
minimise l'int�eret d'une collaboration avec de v�eritables sp�ecialistes. Pourtant, beau-
coup de travaux en Intelligence Arti�cielle n'auraient pas pu aboutir sans la patience
de quelques experts, fascin�es comme beaucoup d'informaticiens par l'id�ee saugrenue
de faire entrer un soup�con de raison dans de droles de machines.
Ainsi, lorsqu'un informaticien voit passer un expert avec un joli probl�eme �a r�e-
soudre, il ne peut s'empecher de tendre un peu l'oreille. Si le probl�eme para�t di�-
cile et laisse supposer une de ces fortes combinatoires qui font la joie des droles de
machines, il ouvre de grands yeux. Lorsque apr�es moult palabres, il s'av�ere que le
probl�eme peut se mod�eliser en termes civilis�es, l'informaticien, ravi, peut se mettre
au travail.
Toute similitude avec le probl�eme de la synth�ese en chimie organique ne serait,
bien sur, qu'une simple co��ncidence. Mais il faut bien dire que l'�elaboration d'un plan
de synth�ese pour une mol�ecule donn�ee n'est pas sans pr�esenter de nombreuses di�-
cult�es, y compris d'ordre combinatoire. Or il se trouve que les principaux concepts
2 Introduction
manipul�es en chimie organique sont repr�esent�es sous la forme de structures mol�ecu-
laires qui se d�ecrivent relativement bien �a l'aide de graphes.
La construction d'un plan de synth�ese est g�en�eralement r�ealis�ee de mani�ere ana-
lytique, en appliquant des transformations �a la repr�esentation symbolique de la mo-
l�ecule cible que l'on veut synth�etiser. Une transformation peut etre vue comme l'op�e-
ration inverse d'une r�eaction chimique. Elle permet d'engendrer des pr�ecurseurs de
la mol�ecule cible �a partir desquels le raisonnement analytique est poursuivi jusqu'�a
l'obtention de mol�ecules disponibles. Le nombre de transformations existantes, la
possibilit�e de les appliquer en divers endroits de la mol�ecule et le nombre d'�etapes
constituant un plan de synth�ese, rendent toute recherche syst�ematique impossible. Il
faut alors d�e�nir des strat�egies de synth�ese qui orientent le choix des transformations
�a appliquer. L'�elaboration de telles strat�egies est un probl�eme particuli�erement int�e-
ressant. Cependant, avant d'entreprendre cette �etude, il faut etre capable de d�ecrire
l'ensemble des crit�eres d'ordre chimique qui pr�evalent �a la conception et l'�evalua-
tion de ces strat�egies. Certes, les structures mol�eculaires peuvent etre partiellement
appr�ehend�ees dans le cadre formel de la th�eorie des graphes. Mais les motifs structu-
raux qui d�e�nissent les mots du langage de description des strat�egies de synth�ese ne
sont pas pour autant faciles �a reconna�tre, repr�esenter ou organiser. C'est pourquoi,
nous nous int�eressons dans cette th�ese �a l'analyse structurale d'objets complexes re-
pr�esent�es �a l'aide de graphes. Le champ d'exp�erimentation d�e�ni par la synth�ese en
chimie organique permet non seulement de poser des probl�emes di�ciles mais aussi
de valider les r�esultats obtenus.
Le premier chapitre introduit quelques notions �el�ementaires de la th�eorie des
graphes et �etablit un lien avec le concept de structure mol�eculaire dans le cadre de la
chimie organique. La probl�ematique de la synth�ese est expos�ee dans le chapitre 2 qui
fait un rapide �etat de l'art de syst�emes existants de synth�ese assist�ee par ordinateur.
Ce chapitre d�e�nit �egalement l'architecture du syst�eme ReSyn qui a �et�e en grande
partie d�evelopp�e dans le cadre de cette th�ese.
Le chapitre 3 est d�edi�e �a l'�etude des cycles dans un graphe. Il aborde la notion
d'espace vectoriel engendr�e par l'ensemble des cycles �el�ementaires. Nous y proposons
des algorithmes permettant de rechercher une base de cycles de taille minimale ou
de d�eterminer l'union de toutes les bases de cycle de taille minimale. Nous montrons
comment cet ensemble peut etre utilis�e pour reconna�tre les cycles chimiquement
Introduction 3
pertinents d'une mol�ecule. Nous proposons �egalement un mode de repr�esentation
des syst�emes cycliques d�ecrivant les relations structurales qui peuvent exister entre
les cycles. Ce chapitre est compl�et�e, en annexe, par une g�en�eralisation, aux graphes
valu�es, des algorithmes propos�es.
Le chapitre 4 est consacr�e aux autres analyses structurales d'un graphe mol�ecu-
laire. Il permet de d�e�nir une repr�esentation abstraite des mol�ecules qui rend compte
des liens structuraux qui existent entre les divers motifs caract�eristiques d'une mo-
l�ecule. Nous y abordons �egalement le probl�eme de la sym�etrie dans un graphe et son
lien avec la d�e�nition de la notion de st�er�eochimie d'une mol�ecule.
Le chapitre 5 est d�edi�e �a l'utilisation de repr�esentations par objets dans ReSyn.
Il expose notamment le mode de description des motifs structuraux dans le langage
�a objets yafool.
Quant au dernier chapitre, il traite du raisonnement par classi�cation dans Re-
Syn. Il pr�esente une organisation hi�erarchique des motifs structuraux ainsi que des
algorithmes de classi�cation adapt�es aux hi�erarchies de graphes. Nous introduisons
une relation originale de subsomption qui est d�e�nie, non pas sur un ensemble de
graphes, mais sur leurs appariements avec un meme graphe cible. Nous d�e�nissons
alors une notion d'appariements dirig�es permettant de faciliter le raisonnement par
classi�cation sur une hi�erarchie de graphes et de d�ecrire des connaissances expertes
sur la pertinence des appariements entre les graphes de cette hi�erarchie.
4 Introduction
5
Chapitre 1
Graphes en chimie organique
1.1 Introduction
Lorsque que l'on s'int�eresse �a la r�esolution de probl�emes r�eels par l'intelligence
arti�cielle, il est n�ecessaire d'optimiser l'ad�equation entre le domaine �etudi�e et sa
mod�elisation. Faute de quoi, les r�esultats obtenus s'av�erent inexploitables de par
leur trop grande simplicit�e. Bien sur, il arrive parfois qu'une lointaine abstraction de
probl�emes concrets aboutisse �a des r�esultats th�eoriques particuli�erement int�eressants.
Il faut aussi remarquer que la plupart des probl�ematiques r�eelles sont inabordables
si l'on cherche �a les appr�ehender dans toute leur complexit�e.
On peut ainsi se demander si la pierre philosophale du chercheur en informa-
tique ne ressemble pas �a un domaine d'application qui soit en parfaite ad�equation
avec un th�eme de recherche th�eorique. En dehors d'une situation aussi id�eale, il
convient d'�eviter toute assimilation hative entre la perception super�cielle d'un pro-
bl�eme concret et une jolie th�eorie en mal de cautionnement exp�erimental. Il n'est
d'ailleurs pas toujours facile de bien appr�ehender une probl�ematique qui nous est
�etrang�ere et de s'apercevoir que l'on se cantonne �a l'�etude de ((probl�emes jouet)).
Dans la mesure o�u nous nous int�eressons aux strat�egies de construction d'objets
structur�es repr�esentables par des graphes, il est important de choisir un cadre d'ex-
p�erimentation bien adapt�e �a la th�eorie des graphes. Ce premier chapitre a pour but
6 Chapitre 1. Graphes en chimie organique
de montrer en quoi la synth�ese en chimie organique semble assez bien r�epondre �a
toutes ces exigences.
Comme toute science exp�erimentale, la Chimie s'e�orce de d�e�nir des mod�eles
abstraits visant �a appr�ehender une r�ealit�e qui, par essence, nous �echappe. De cette
quete | probablement sans �n | sont n�ees autant de disciplines que l'avanc�ee des
connaissances a engendr�e de nouvelles th�eories. Bien que tous ces domaines s'int�e-
ressent �a la meme ((mati�ere )), ils apportent par leur diversit�e une compl�ementarit�e de
points de vue tout �a fait indispensable. �A la question (( qu'est ce qu'une mol�ecule? )),
un chimiste r�epondra en fonction de crit�eres propres �a son domaine d'int�eret : la syn-
th�ese, l'analyse spectroscopique, les m�ecanismes r�eactionnels, la chimie th�eorique,
etc. C'est pourquoi, si l'on pose la meme question �a d'autres chimistes, ils propose-
ront toujours une d�e�nition qui sera chaque fois ((ni tout �a fait la meme, ni tout �a
fait une autre)). Certains chercheurs pourront meme s'interroger sur la pertinence du
concept de mol�ecule (cf. [Paoloni, 1985]).
Face �a cette multitude de perceptions, la th�eorie des graphes fournit un cadre for-
mel, parmi tant d'autres, permettant de d�e�nir un langage de description des struc-
tures mol�eculaires. La connivence entre chimie et th�eorie des graphes n'est d'ailleurs
pas nouvelle. Sans remonter jusqu'aux lointaines origines de ces disciplines, on peut
rappeler que l'�etude des graphes a �et�e stimul�ee au xix i�eme si�ecle par leur utilisation
pour d�ecrire les mol�ecules. On peut citer par exemple les travaux de Cayley qui a
grandement contribu�e �a la d�e�nition de la notion de graphe mol�eculaire dans ses
travaux sur le d�enombrement des ((isom�eres constitutionnels)) (voir [Cayley, 1874]).
Il nous para�t donc int�eressant d'�evoquer quelques utilisations de la th�eorie des
graphes dans le cadre de la chimie. Nous nous restreindrons plus pr�ecis�ement �a l'em-
ploi de graphes pour repr�esenter des mol�ecules en chimie organique. La premi�ere
partie de ce chapitre est consacr�ee �a la pr�esentation de quelques notions fondamen-
tales de la th�eorie des graphes. La plupart de ces notions seront utilis�ee dans toute
la suite de cette th�ese. Par souci de concision, ce paragraphe s'apparente plus �a un
glossaire qu'�a un v�eritable r�esum�e d'une th�eorie qui justi�erait, �a elle seule, qu'on
lui consacre tous les prochains chapitres. Pour les memes raisons, la seconde par-
tie revient sur la notion de mol�ecule en pr�esentant succinctement quelques r�egles
d�e�nissant leur mode de dessin. Nous nous baserons en e�et sur ce type de repr�esen-
tation pour d�esigner les structures chimiques tout au long de cette th�ese. Quant �a
1.2. Quelques notions de base de la th�eorie des graphes 7
la derni�ere partie de ce chapitre, elle concerne le type de graphe le plus couramment
associ�e �a une mol�ecule : le graphe mol�eculaire.
1.2 Quelques notions de base de la th�eorie des
graphes
Nous allons rappeler ici bri�evement quelques notions de base de la th�eorie des
graphes. Ces d�e�nitions sont en grande partie inspir�ees de [Berge, 1973] auquel le
lecteur pourra se r�ef�erer pour un compl�ement d'information.
1.2.1 D�e�nition d'un graphe
Un graphe non orient�e G = (X;E) est constitu�e d'un ensemble X de som-
mets et d'un ensemble E d'aretes, o�u chaque arete est un sous-ensemble de X �a
deux �el�ements. Les deux sommets appartenant �a une arete constituent ses extr�e-
mit�es. Une arete est incidente �a un sommet si elle contient ce sommet. Une arete
incidente aux sommets x et y sera not�ee fx; yg. Le degr�e d'un sommet x, not�e d(x),
est �egal au nombre d'aretes incidentes �a ce sommet. Deux sommets sont voisins
s'ils appartiennent �a la meme arete. L'ensemble des voisins d'un sommet x sera not�e
�(x). Il s'en suit : d(x) = j�(x)j.
On d�e�nit g�en�eralement le degr�e maximal (not�e dmax) d'un graphe G par la
valeur maximale du degr�e d'un sommet de G.
Lorsque le graphe est orient�e, les aretes { appel�ees arcs { sont des couples
de sommets, c'est-�a-dire des �el�ements de X � X. Pour un arc (x; y), x constitue
l' extr�emit�e initiale et y l'extr�emit�e terminale. On d�e�nit alors pour chaque
sommet x son degr�e entrant (not�e d�(x)) par le nombre d'arcs dont x constitue
l'extr�emit�e terminale. De la meme fa�con, le degr�e sortant de x (not�e d+(x)) est �egal
au nombre d'arcs ayant x comme extr�emit�e initiale. Par analogie, on peut d�ecomposer
l'ensemble des voisins de x en deux parties : l'ensemble �+(x) de ses successeurs et
l'ensemble ��(x) de ses pr�ed�ecesseurs. Dans un graphe non orient�e, chaque arete
fx; yg est associ�ee aux deux arcs (x; y) et (y; x).
8 Chapitre 1. Graphes en chimie organique
Un sous-graphe de G = (X;E) engendr�e par Y � X est un grapheH = (Y;EH)
tel que 8x; y 2 Y; (x; y) 2 EH , (x; y) 2 E.
Un graphe partiel de G = (X;E) engendr�e par E0 � E est un graphe
H = (X;E0) tel que 8x; y 2 X; (x; y) 2 E0 ) (x; y) 2 E.
Par extension, un sous-graphe partiel de G = (X;E) est un graphe H =
(Y;E0) tel que Y � X et 8x; y 2 Y; (x; y) 2 E0 ) (x; y) 2 E.
Pr�ecisons en�n que nous adopterons, tout au long de cette th�ese, les notations
usuelles pour d�esigner le nombre d'aretes m = jEj et de sommets n = jXj d'un
graphe G = (X;E).
1.2.2 Cha�nes et cycles
Une cha�ne est une s�equence � = (fx1; x2g; fx2; x3g; :::; fxq�1; xqg) d'aretes de
G telle que chaque arete de la s�equence ait une extr�emit�e en commun avec l'arete qui
la pr�ec�ede et l'autre extr�emit�e en commun avec l'arete suivante. On peut �egalement
d�ecrire une cha�ne par la s�equence de sommets [x1; x2; x3:::; xq] ordonn�ee suivant la
s�equence d'aretes d�e�nissant la cha�ne. Une cha�ne est simple si elle ne contient pas
deux fois la meme arete. Une cha�ne qui n'utilise pas deux fois le meme sommet est
dite �el�ementaire. La longueur d'une cha�ne est naturellement d�e�nie par le nombre
d'aretes de sa s�equence.
Dans un graphe orient�e, on peut pr�eciser la notion de cha�ne en d�e�nissant un
chemin par une s�equence d'arcs de la forme ( (x1; x2); (x2; x3); :::; (xq�1; xq) ). En
r�egle g�en�erale, un tel chemin sera not�e par la s�equence (x1; x2; x3; :::; xq). �Etant donn�e
deux sommets x et y, il peut exister une cha�ne entre x et y sans qu'il y ait pour
autant de chemin reliant x �a y du fait de l'orientation des arcs.
Nous appellerons distance entre deux sommets x et y, not�ee dist(x; y) , la
longueur de la plus courte cha�ne reliant x et y. On d�e�nit g�en�eralement le diam�etre
d'un graphe G = (X;E) par �(G) = maxx;y2X dist(x; y) .
Un cycle (parfois appel�e cycle simple) est une cha�ne simple dont les deux som-
mets plac�es aux extr�emit�es de cette cha�ne co��ncident 1.
1. pour etre exacte, la d�e�nition d'un cycle doit etre consid�er�ee ((�a une permutation circulaire
pr�es)) des extr�emit�es de la cha�ne consid�er�ee. Le cycle d�ecrit par la cha�ne [a; b; c; d; a] est en e�et
identique au cycle d�e�ni par la cha�ne [b; c; d; a; b], ou encore [a; d; c; b; a], etc.
1.2. Quelques notions de base de la th�eorie des graphes 9
Dans un graphe orient�e, on peut aussi d�e�nir un circuit par chemin dont les
extr�emit�es co��ncident. De par l'orientation des arcs, un graphe peut contenir un cycle
sans poss�eder pour autant le moindre circuit.
On appelle arbre tout graphe qui ne contient pas de cycles.
Une corde est une arete reliant deux sommets d'un cycle mais qui n'appartient
pas �a ce cycle.
Un cycle est dit �el�ementaire s'il ne contient pas deux fois le meme sommet.
On peut aussi d�e�nir un cycle comme un sous-graphe partiel connexe dont tous les
sommets sont de degr�e pair. Cette d�e�nition consid�ere un cycle comme un ensemble
d'aretes et non comme une s�equence de sommets (l'ordonnancement des aretes dans
le cycle n'�etant pas prise en compte). Dans le chapitre 3, nous nous int�eresserons
principalement aux cycles �el�ementaires pour lesquels cette di��erence de d�e�nitions
n'a pas d'importance. En e�et, un cycle �el�ementaire d�e�nit un ordre circulaire unique
sur les aretes qui le composent. La description d'un tel cycle sous la forme d'un
ensemble d'aretes ne pr�esente donc pas d'ambigu��t�e. Cependant, nous d�esignerons
g�en�eralement un cycle par une s�equence de sommets [x1; x2; :::; xq�1; x1].
1.2.3 Quelques propri�et�es d'un graphe
Un graphe G est connexe si pour toute paire de sommets x; y il existe au moins
une cha�ne dans G qui relie x et y. L'existence d'une cha�ne entre deux sommets d'un
graphe quelconque d�e�nit une relation d'�equivalence sur les sommets de ce graphe.
Les classes d'�equivalence de cette relation constituent les composantes connexes
du graphe. La recherche des composantes connexes peut etre r�ealis�ee en O(n +m)
par un simple parcours du graphe.
On dit qu'un sommet x est un point d'articulation d'un graphe connexe G =
(X;E) si sa suppression d�econnecte le graphe (c.-�a-d. le sous-graphe de G engendr�e
par X n fxg n'est pas connexe).
La notion de connexit�e peut etre g�en�eralis�ee �a celle de k-connectivit�e. Un graphe
est k-connexe si on ne peut le ((d�econnecter )) (i.e. le rendre non connexe) qu'en
supprimant au moins k sommets. On peut �egalement caract�eriser la k-connectivit�e
en utilisant le th�eor�eme de Menger (1926) : ((un graphe est k-connexe si l'on peut
10 Chapitre 1. Graphes en chimie organique
Fig. 1.1 { Un exemple de graphe poss�edant quatre composantes 2-connexes et deux
points d'articulation.
relier deux sommets distincts a et b par k cha�nes �el�ementaires disjointes n'ayant
deux �a deux en commun que les sommets a et b )).
Dans cette th�ese, nous nous int�eresserons plus particuli�erement aux composantes
2-connexes. On dit que deux sommets appartiennent �a la memecomposante 2-connexe
s'il existe un sous-graphe 2-connexe de G qui les contient tous les deux. Notons que
ces composantes 2-connexes ne constituent pas une partition des sommets de G puis-
qu'un meme sommet peut appartenir �a deux composantes di��erentes (voir �gure 1.1).
Un tel sommet est alors n�ecessairement un point d'articulation de G. On peut d�eter-
miner l'ensemble des composantes 2�connexes d'un graphe en O(n+m) en utilisant
le tr�es bel algorithme propos�e dans [Tarjan, 1972].
Par analogie avec la notion de graphe 2-connexe, on dit qu'un graphe est
2-aretes-connexe si on ne peut le ((d�econnecter )) qu'en supprimant au moins 2
aretes. Par exemple, le graphe de la �gure 1.1 est 2-aretes-connexe. Pr�ecisons qu'une
arete dont la suppression d�econnecte le graphe est appel�e un isthme. On peut aussi
caract�eriser un graphe 2-aretes-connexe par le fait que toute arete appartient au
moins �a un cycle. On dit que deux sommets appartiennent �a la meme composante
2-aretes-connexe s'il existe un cycle qui les contient tous les deux. Contraire-
ment aux composantes 2-connexes, les composantes 2-aretes-connexes constituent
une partition des sommets du graphe (voir �gure 1.2). L'ensemble des composantes
2-aretes-connexes peut lui aussi etre calcul�e en O(m + n) (cf. [Tarjan, 1972]).
Un graphe est planaire s'il peut etre repr�esent�e dans le plan de telle sorte que
tous les sommets soient des points distincts et que les aretes qui les relient soient des
courbes qui ne se croisent qu'en leurs extr�emit�es. La v�eri�cation de la planarit�e d'un
1.3. Repr�esentation graphique des mol�ecules 11
Fig. 1.2 { Un graphe poss�edant trois composantes 2-aretes-connexes et deux isthmes.
graphe G peut etre r�ealis�ee en temps lin�eaire par rapport au nombre de sommets
de G. On peut utiliser par exemple l'algorithme de [Chiba et al., 1985] qui construit
�egalement une repr�esentation planaire du graphe.
1.3 Repr�esentation graphique des mol�ecules
Comme il a �et�e dit dans l'introduction, il serait illusoire de chercher �a donner
une d�e�nition �a la fois pr�ecise et universelle du concept de mol�ecule. D'un point de
vue structurel, on peut dire qu'une mol�ecule est un agr�egat d'atomes, li�es entre eux
et dont l'agencement spatial est contraint par de nombreuses r�egles. Une mol�ecule
est donc une entit�e tridimensionnelle poss�edant une forme et des dimensions qui,
bien que parfaitement d�e�nies, ne sont pas pour autant statiques. Toute mol�ecule
est en e�et soumise �a deux types de dynamique : une dynamique interne induisant
des d�eformations au sein de la mol�ecule (vibrations, rotations, inversions d'atomes)
et une dynamique externe li�ee au ((mouvement brownien)). Les mol�ecules sont en
e�et soumises �a des chocs incessants avec d'autres mol�ecules. Ces collisions peuvent
aboutir �a des r�eactions qui forment des mol�ecules di��erentes.
De par leur nature microscopique, les mol�ecules ne sont pas directement visibles.
Il est donc n�ecessaire de d�e�nir un mode de repr�esentation qui permette de les appr�e-
hender. Les mod�eles mol�eculaires sont par exemple utilis�es pour construire une repr�e-
sentation tridimensionnelle d'une mol�ecule sous la forme d'un ensemble de ((boules))
correspondant aux atomes et de ((tiges)) reliant ces boules et d�ecrivant les liaisons
entre atomes. Cette mod�elisation statique des liaisons n'est bien �evidemment pas
exacte. En chimie organique, une liaison, dite ((covalente)), correspond �a la mise en
commun d'une ou plusieurs paires d'�electrons entre deux atomes. Le nombre de paires
12 Chapitre 1. Graphes en chimie organique
Fig. 1.3 { Repr�esentation graphique d'une mol�ecule.
ainsi �echang�ees d�e�nit le type ou ((ordre)) de la liaison : simple pour une paire, double
pour deux paires, etc. La repr�esentation des liaisons par des liens solides est donc
avant tout un moyen tr�es simple de visualiser une relation complexe qui ob�eit �a des
lois aussi bien physiques qu'�electroniques.
En dehors de ses limitations d'ordre purement chimique, le mod�ele mol�eculaire,
de par sa nature tridimensionnelle, n'est pas directement utilisable sur des supports
planaires (tableau, papier, etc.). C'est pourquoi les chimistes ont souvent recours �a
une repr�esentation graphique des mol�ecules g�en�eralement d�esign�ee par le terme de
formule (voir �gure 1.3).
Cette vision bidimensionnelle des mol�ecules peut appara�tre comme le parent
pauvre des mod�eles mol�eculaires. Meme en utilisant une repr�esentation en pers-
pective, il n'est que rarement possible de d�ecrire sur un dessin toute la structure
spatiale d'une mol�ecule. Cependant, en dessinant une mol�ecule suivant un point de
vue particulier, un chimiste pourra plus facilement mettre en �evidence les parties de
la structure mol�eculaire qui illustrent son propos. Il faut aussi pr�eciser que l'arran-
gement spatial des atomes d'une mol�ecule ob�eit �a des r�egles physico-chimiques tr�es
1.3. Repr�esentation graphique des mol�ecules 13
pr�ecises (longueur des liaisons, valeur de l'angle d�e�ni par deux liaisons issues d'un
meme atome, etc). Un informaticien pourra ainsi d�eceler une certaine ambigu��t�e dans
un dessin de mol�ecule alors que cette ambigu��t�e n'aura pas de raison d'etre pour un
chimiste.
Les r�egles r�egissant le mode de repr�esentation graphique des mol�ecules visent �a
�etablir un �equilibre subtil entre pr�ecision et clart�e du dessin. Il va sans dire que ce
simple paragraphe ne saurait pr�etendre �a les d�ecrire toutes. Nous nous contenterons
d'�evoquer les r�egles les plus �el�ementaires, au risque de para�tre parfois un peu trop
simpliste.
Une formule contient principalement trois types d'information sur la mol�ecule :
� la composition qui d�ecrit le nombre et la nature des atomes,
� la constitution pr�ecisant la localisation et le type des liaisons entre atomes.
� quelques �el�ements de st�er�eochimie sp�eci�ant la disposition relative de certains
atomes dans l'espace;
Dans ce type de repr�esentation, les atomes de carbone sont symbolis�es par des
points. Les autres atomes sont repr�esent�es par le symbole atomique qui leur est
associ�e (H pour l'hydrog�ene, N pour l'azote, O pour l'oxyg�ene, etc).
Les liaisons entre atomes apparaissent sur le dessin sous la forme de segments
de droites. Une liaison simple, double ou triple est repr�esent�ee respectivement par
un, deux ou trois traits parall�eles. Certaines liaisons simples �echappent cependant �a
cette r�egle. Elles sont repr�esent�ees par des triangles pleins ou hachur�es. Ce mode de
description vise �a pr�eciser les positions spatiales de certaines parties de la mol�ecule.
Le dessin est alors consid�er�e comme une projection de la structure mol�eculaire dans
un plan. Les liaisons simples, symbolis�ees par un trait �n, sont suppos�ees appartenir
au plan de la projection. Les coins hachur�es correspondent aux liaisons situ�ees en
arri�ere de ce plan et les coins pleins d�esignent des liaisons qui sont plac�ees en avant.
Il faut tout de meme pr�eciser que cette prise en compte de la position spatiale des
liaisons n'est pas parfaite. Le dessin de la �gure 1.3 n'est pas une r�eelle projection
planaire de l'objet tridimensionnel que constitue la mol�ecule. Il s'agit avant tout d'un
dessin respectant un certain nombre de r�egles qui s'e�orcent d'�etablir un compromis
entre deux n�ecessit�es particuli�erement antagonistes : il faut d'une part repr�esenter
un maximum d'informations et d'autre part fournir une abstraction de la mol�ecule
qui soit la plus claire possible. Un meme dessin de mol�ecule pourra ainsi meler
14 Chapitre 1. Graphes en chimie organique
Fig. 1.4 { Quatre notations �equivalentes d'un meme syst�eme aromatique
projections planaires et repr�esentations en perspective de di��erentes parties de la
structure mol�eculaire.
On peut �egalement noter dans la �gure 1.3 la pr�esence d'un syst�eme aromatique
symbolis�e par un cercle. Nous avons d�ej�a vu qu'une liaison covalente se traduit par
une (( circulation )) d'�electrons entre les atomes qui constituent ses extr�emit�es. Dans
le cas des syst�emes aromatiques, l'�echange d'�electrons ne concerne plus deux atomes
mais un ensemble d'atomes r�epartis dans un cycle ou sur plusieurs cycles accol�es. Le
cercle, plac�e sur le dessin au centre du cycle, symbolise donc cette circulation parti-
culi�ere des �electrons. Pr�ecisons que la mise en �evidence des cycles aromatiques par
des cercles n'est pas toujours utilis�ee. On rencontre parfois une mod�elisation �a l'aide
d'une suite altern�ee de liaisons simples et doubles comme le montre la �gure 1.4.
Dans cette repr�esentation, dite de K�ekul�e, on suppose qu'une des deux paires d'�elec-
trons de chaque liaison double se d�elocalise sur l'ensemble du syst�eme aromatique.
L'emplacement des liaisons doubles n'a donc pas d'importance pour peu que l'al-
ternance entre liaisons simples et doubles soit respect�ee. On peut alors repr�esenter
un meme syst�eme aromatique par des repr�esentations di��erentes mais parfaitement
�equivalentes (cf. �gure 1.4).
Les atomes d'hydrog�ene ne sont pas trait�es comme les autres dans les dessins
de mol�ecules. Pour expliquer cette nouvelle r�egle, nous devons introduire la notion
de valence. De fa�con informelle, on peut dire que la valence d'un atome d�esigne le
nombre d'atomes auxquels il doit etre simplement li�e pour que la mol�ecule �a laquelle il
appartient soit chimiquement valide. Par exemple, la valence d'un atome de carbone
vaut 4. Cela signi�e que tout carbone doit etre attach�e par quatre liaisons simples
ou bien deux liaisons doubles ou encore n'importe quelle combinaison de liaisons
respectant sa valence.
1.3. Repr�esentation graphique des mol�ecules 15
Fig. 1.5 { Repr�esentation graphique simpli��ee de la mol�ecule de la �gure 1.3.
En chimie organique, les structures mol�eculaires sont compos�ees d'une grande
quantit�e d'atomes d'hydrog�ene. Ces atomes, dont la valence vaut 1, encombrent in-
utilement le dessin des mol�ecules (voir �gure 1.3). Connaissant la valence d'un atome
- ce qui est le cas de tout bon chimiste - on peut tr�es facilement retrouver le nombre
d'hydrog�enes qu'il faut ajouter �a cet atome pour qu'il soit satur�e. Les chimistes ne
dessinent donc que les atomes d'hydrog�ene qui occupent des positions importantes. Il
s'agit g�en�eralement de ceux qui sont attach�es par des liaisons situ�ees en avant ou en
arri�ere du plan du dessin. Leur pr�esence permet alors de pr�eciser la st�er�eochimie de
l'atome auquel ils sont attach�es. La repr�esentation (( compl�ete )) de la �gure 1.3 n'est
que tr�es rarement utilis�ee. On lui pr�ef�ere g�en�eralement la repr�esentation simpli��ee
(ou formule abstraite) de la �gure 1.5.
Il est donc �evident qu'un dessin de mol�ecule ne saurait rendre compte de toutes
les caract�eristiques de la structure qu'il repr�esente. Une mol�ecule n'�etant pas un objet
statique, elle est soumise �a des d�eformations permanentes qui ne peuvent appara�tre
explicitement dans une repr�esentation graphique. Le dessin des mol�ecules poss�ede
ainsi une grande part de subjectivit�e qui �echappe g�en�eralement aux non chimistes.
Ceci est d'autant plus vrai qu'une meme mol�ecule pourra etre dessin�ee de fa�con
16 Chapitre 1. Graphes en chimie organique
sensiblement di��erente par des experts issus de diverses branches de la chimie ou par
une meme personne d�esirant insister sur des aspects di��erents de la mol�ecule.
1.4 Mod�elisation des mol�ecules par des graphes
La mod�elisation des mol�ecules �a l'aide de graphes est utilis�ee depuis longtemps
en chimie. Nous avons �etudi�e dans le paragraphe pr�ec�edent quelques notions de base
de ce que l'on nomme la (( th�eorie des graphes )). Cette formalisation du concept de
graphe o�re un cadre particuli�erement int�eressant pour repr�esenter des mol�ecules.
1.4.1 Graphe mol�eculaire
Parmi ces repr�esentations, le graphe mol�eculaire est certainement le plus r�e-
pandu. Il permet de d�ecrire la (( constitution )) d'une mol�ecule. Dans ce graphe, les
sommets correspondent aux atomes de la mol�ecule et les aretes d�ecrivent les liaisons
entre ces atomes. Pour tenir compte de la nature des atomes et des liaisons, le graphe
mol�eculaire est doublement �etiquet�e. Consid�erons le graphe mol�eculaire G = (X;E)
associ�e �a une mol�ecule.
Soit TA l'ensemble des symboles atomiques : TA = fC; H; N; O; Cl; ::: g.
Les �etiquettes des sommets de G sont d�e�nies par la fonction :
fA : X �! TAx 7�! fA(x) = symbole de l'atome associ�e �a x
Si TL = f simple; double; triple; aromatique g d�esigne l'ensemble des types de liai-
sons, on d�e�nit la fonction d'�etiquetage des aretes de G :
fL : E �! TLu 7�! fL(u) = type de la liaison associ�ee �a u
Un graphe mol�eculaire est alors parfaitement d�e�nit par le triplet (G; fA; fL ).
La �gure 1.6 donne un exemple de graphe mol�eculaire. Ce graphe correspond �a la
mol�ecule repr�esent�ee par la �gure 1.5. On remarquera ais�ement la correspondance
directe entre ces deux modes de repr�esentation.
Une l�eg�ere di��erence subsiste tout de meme au niveau des liaisons simples. Le
graphe mol�eculaire est en e�et une entit�e abstraite d�epourvue de toute signi�cation
1.4. Mod�elisation des mol�ecules par des graphes 17
H
Simple
Simple
Simple
Double
Simple
N
SimpleTriple
Simple
Simple
Simple
Simple
Simple
Simple
Simple
Simple
Simple
Aromat.
Aromat.
Aromat.
Aromat.
Aromat.
Aromat.
C
C
O
O
C
C
C
C
C
C
C
C
CC
N
C
C
C
Fig. 1.6 { Graphe mol�eculaire associ�e �a la mol�ecule de la �gure 1.5.
tridimensionnelle. Il n'est donc pas adapt�e �a la repr�esentation des aretes qui sont
d�ecrites sur le dessin �a l'aide de triangles pleins ou hachur�es. Bien sur, on pourrait
r�esoudre ce probl�eme en divisant le type d'aretes simple en trois valeurs di��erentes :
simple plan, simple devant et simple derri�ere. Mais cette distinction n'aurait de sens
que pour un dessin particulier de la mol�ecule. Il est donc pr�ef�erable de conserver
l'ensemble de types d'aretes TA qui garantit l'unicit�e du graphe mol�eculaire engendr�e
�a partir d'un dessin quelconque de la mol�ecule.
La deuxi�eme di��erence notable concerne les cycles aromatiques symbolis�es par
un cercle sur le dessin de la �gure 1.5. Ce type de relation n'est que di�cilement
repr�esentable dans un graphe mol�eculaire. C'est pourquoi, on consid�ere g�en�eralement
que l'aromaticit�e du cycle se transmet aux aretes qui le composent. Toute arete
appartenant �a un cycle aromatique sera donc �etiquet�ee par le type (( aromatique )).
Mais la notion d'aromaticit�e ne peut pas se r�esumer �a une simple mise en relation
des atomes concern�es. L'existence d'un cycle aromatique est par exemple condition-
n�ee par le fait que tous les atomes qui le composent doivent appartenir �a un meme
plan. Un graphe mol�eculaire permettra tout au plus de pressentir la pr�esence d'un
syst�eme aromatique (en s'appuyant par exemple sur la repr�esentation en cha�nes
altern�ees de la �gure 1.4). La reconnaissance des syst�emes aromatiques est donc es-
18 Chapitre 1. Graphes en chimie organique
Fe?≅
Fig. 1.7 { Le ferroc�ene : dessin et graphe mol�eculaire.
sentiellement �etrang�ere �a la th�eorie des graphes. De fa�con g�en�erale, la repr�esentation
des ((�electrons d�elocalis�es)) peut di�cilement s'e�ectuer dans les limites du mod�ele
de graphe mol�eculaire. La �gure 1.7 pr�esente par exemple un dessin de la mol�ecule
du ferroc�ene. Il est peu probable que le graphe mol�eculaire qui lui est associ�e d�ecrive
correctement les liaisons aromatiques qui interviennent dans ce type de structure.
Pour r�esoudre ce probl�eme de fa�con plus �el�egante, on pourrait envisager de repr�e-
senter les mol�ecules �a l'aide d'un hypergraphe. Rappelons que dans un hypergraphe,
les aretes sont des ensembles de sommets dont le cardinal peut etre sup�erieur �a 2.
Avec ce type de repr�esentation, une liaison simple, double ou triple correspondrait
toujours �a une paire de sommets. Mais un syst�eme aromatique serait d�e�ni par une
hyper-arete r�eunissant tous les atomes faisant partie du cycle aromatique. Cette
utilisation des hypergraphes, sugg�er�ee encore r�ecemment par [Konstantinova et Sko-
robogatov, 1995], n'est pas enti�erement satisfaisante. Le concept d'hyper-arete �etant
de nature ensembliste, il ne permet pas de traduire correctement les d�elocalisations
d'�electrons qui se produisent r�eellement entre les atomes du syst�eme aromatique.
Dans l'exemple du ferroc�ene, la d�e�nition d'une hyper-arete contenant 5 (ou 10)
atomes de carbone et l'atome de fer n'a pas beaucoup de sens.
Une approche plus int�eressante a �et�e propos�ee r�ecemment par [Dietz, 1995]. Elle
consiste �a utiliser non pas le concept d'hyper-graphe, mais celui de multigraphe 2.
Pour chaque ensemble d'�electrons d�elocalis�es, on d�ecrit toutes les circulations pos-
sibles de ces �electrons entre les sommets du graphe mol�eculaire, sous la forme d'un
ensemble de paires de sommets. La �gure 1.8 pr�esente le cas du ferroc�ene pour lequel
2. Dans un multigraphe, deux sommets peuvent etre reli�es par plusieurs aretes.
1.4. Mod�elisation des mol�ecules par des graphes 19
A
B
C
1110
9 8
7
6
6
54
3
21 1
1110
9 8
7
6
54
3
2
A : ( 6 �electrons , f f1,2g, f2,3g, f3,4g, f4,5g, f5,1g, f1,6g, f2,6g, f3,6g, f4,6g, f5,6g g )
B : ( 6 �electrons , f f7,8g, f8,9g, f9,10g, f10,11g, f11,7g, f7,6g, f8,6g, f9,6g, f10,6g, f11,6g g )
C : ( 6 �electrons , f f1,6g, f2,6g, f3,6g, f4,6g, f5,6g, f7,6g, f8,6g, f9,6g, f10,6g, f11,6g g )
Fig. 1.8 { Description des �electrons d�elocalis�es suivant la mod�elisation de A. Dietz.
on distingue commun�ement trois groupes de 6 �electrons d�elocalis�es. Les paires de
sommets associ�ees �a un groupe donn�e peuvent etre assimil�ees �a de nouvelles aretes
du graphe mol�eculaire. Si l'on �etiquette ces aretes en fonction du groupe auquel elles
sont associ�ees, on obtient un multigraphe mol�eculaire comme celui de la �gure 1.8.
Si les �electrons d�elocalis�es semblent aussi di�cile �a repr�esenter, c'est certainement
parce que la th�eorie chimique �a laquelle ils font r�ef�erence n'est pas parfaitement
mod�elisable en termes de graphes. Quel que soit le mode de repr�esentation utilis�e,
il ne peut qu'�evoquer une structure chimique particuli�ere, mais en aucun cas la
d�ecrire parfaitement. Suivant le type de traitement que l'on veut r�ealiser, on choisira
de mettre en �evidence tel ou tel aspect d'une r�ealit�e qui, meme pour un chimiste,
n'est pas toujours parfaitement connue. Quant �a la reconnaissance des syst�emes
aromatiques �a partir d'une repr�esentation de K�ekul�e (cf. �gure 1.4), elle ne peut etre
r�ealis�ee que dans des cas relativement simples en utilisant, par exemple, l'ensemble
des cycles pertinents que nous d�e�nirons dans le chapitre 3.
Il faut en�n noter que certaines mol�ecules ne sont pas mod�elisables �a l'aide de
graphes mol�eculaires. La �gure 1.9 montre une structure mol�eculaire dont le graphe
associ�e, constitu�e par un unique cycle, ne donne qu'une bien pauvre repr�esentation
de la complexit�e de la mol�ecule.
20 Chapitre 1. Graphes en chimie organique
Fig. 1.9 { Une mol�ecule en forme de n�ud (les traits correspondent en r�ealit�e �a des
encha�nements d'atomes).
O
O
OO
OO
O
O
O
N
N
N
NOO
O
Fig. 1.10 { Le catenane (les aretes O {O correspondent �a des cha�nes OCH2CH2O)
Dans la suite de cette th�ese, il nous arrivera fr�equemment de repr�esenter un
graphe mol�eculaire par le dessin de la mol�ecule �a laquelle il est associ�e. La �gure 1.5
nous para�t en e�et bien plus esth�etique que la �gure 1.6 qui ne contient d'ailleurs
pas plus d'informations.
1.4.2 Propri�et�es du graphe mol�eculaire
La premi�ere caract�eristique des graphes mol�eculaires r�eside dans le fait qu'ils
sont de degr�e born�e. Dans le cadre de la chimie organique, ce degr�e ne d�epasse
g�en�eralement pas la valeur 7. On peut meme a�rmer que dans la mesure o�u les
mol�ecules �etudi�ees sont majoritairement compos�ees d'atomes de carbone, le degr�e
moyen des sommets d'un graphe mol�eculaire est tr�es proche de 4.
1.5. Conclusion 21
OO
O O
O
O O
OC
C
C
C
C
OO
O
O
O
O
O
C
O
O
O
Fig. 1.11 { Un exemple de graphe mol�eculaire non planaire.
La plupart des graphes mol�eculaires sont connexes. Il existe cependant de tr�es
rares exceptions comme la mol�ecule pr�esent�ee dans la �gure 1.10. Il para�t toutefois
raisonnable d'ignorer ces cas particuliers dans les algorithmes manipulant des graphes
mol�eculaires. Ces mol�ecules r�eclament en e�et un traitement bien particulier lors de
la plupart des analyses les concernant. Il faut aussi noter que le graphe mol�eculaire
associ�e au catenane de la �gure 1.10 ne rend pas vraiment compte de la structure de
cette mol�ecule. Ce graphe non connexe, compos�e de deux cycles disjoints, ne peut
pas mod�eliser l'enlacement des cycles qui caract�erise la mol�ecule.
Du point de vue de la planarit�e, on peut dire que presque tous les graphes mol�e-
culaires sont planaires. La mol�ecule de la �gure 1.11 oppose bien sur une exception
�a cette r�egle. Mais il faut dire que la synth�ese de ce type de mol�ecule, en chimie
organique, est tout �a fait exceptionnelle. On peut donc raisonnablement supposer
que tous les graphes mol�eculaires �etudi�es sont planaires.
1.5 Conclusion
Le graphe mol�eculaire n'est pas le seul type de graphe qui peut etre associ�e �a
une mol�ecule. Nous �etudierons dans le chapitre 3 le graphe des cycles pertinents qui
d�ecrit les parties cycliques d'une mol�ecule. On peut �egalement g�en�eraliser un graphe
mol�eculaire en rempla�cant certains types atomiques par des valeurs plus g�en�eriques.
Ce mode de repr�esentation permet de mod�eliser des familles de mol�ecules qui pos-
s�edent des structures identiques mais dont les labels associ�es aux sommets di��erent
l�eg�erement. Nous reviendrons sur ce type de graphe dans les prochains chapitres.
22 Chapitre 1. Graphes en chimie organique
L'utilisation des graphes est en fait tr�es largement r�epandue en chimie. Bien
que la similitude entre graphe mol�eculaire et mol�ecule soit importante, il ne faut
jamais oublier que la th�eorie des graphes ne permet pas de d�ecrire compl�etement
les structures mol�eculaires. Nous verrons par exemple lors de l'�etude des syst�emes
cycliques (chapitre 3) qu'une mauvaise prise en compte de cette limitation peut
amener certains auteurs �a de vaines recherches. Il est en e�et illusoire de vouloir
retrouver toutes les caract�eristiques d'une mol�ecule dans le graphe qui lui est associ�e.
Les propri�et�es chimiques qui d�ependent de la con�guration tridimensionnelle d'une
mol�ecule ne peuvent g�en�eralement pas appara�tre dans le graphe mol�eculaire.
Si l'on sait tenir compte de ces in�evitables limites, la th�eorie des graphes o�re une
multitude d'outils algorithmiques qui sont particuli�erement bien adapt�es au cadre
de la chimie. A l'inverse, par les exemples concrets qu'ils proposent, les chimistes
soumettent aux informaticiens des probl�emes qui s'inscrivent souvent dans le cadre
de la recherche fondamentale. Nous aurons l'occasion tout au long de cette th�ese, de
constater �a quel point cet �echange peut etre fructueux pour les deux communaut�es.
Nous nous somme e�orc�es dans ce chapitre de d�e�nir les graphes comme un langage
de description des structures mol�eculaires que nous cherchons �a �etudier. Ce langage
devra etre compl�et�e pour pouvoir �enoncer les concepts qui lui sont �etrangers. Nous
nous e�orcerons donc dans les prochains chapitres de compl�eter cette mod�elisation
informatique des mol�ecules.
23
Chapitre 2
Synth�ese en chimie organique
2.1 Introduction
La synth�ese est, avec l'analyse, l'un des aspects fondamentaux de l'activit�e des
chimistes organiciens. Un probl�eme de synth�ese se pose lorsque l'on veut pr�eparer une
nouvelle mol�ecule ou trouver une voie d'acc�es originale �a une mol�ecule d�ej�a connue.
�Etant donn�e une mol�ecule cible �a pr�eparer, il s'agit de d�eterminer un ensemble de
r�eactifs de d�epart { c'est-�a-dire des produits naturels ou commerciaux disponibles { et
une suite de r�eactions chimiques qui, appliqu�ees �a ces r�eactifs, permettent d'obtenir
la mol�ecule cible. Cet encha�nement de r�eactions constitue un plan de synth�ese qui
peut etre repr�esent�e par un arbre comme le montre la �gure 2.1.
La synth�ese revet une importance toute particuli�ere aussi bien dans le secteur
industriel (pharmacie, agrochimie, alimentation, photographie, �electronique, mat�e-
riaux, etc.) que dans le cadre de la recherche en chimie. Elle permet de r�efuter ou
de valider des th�eories existantes par la pr�eparation de mol�ecules jusque l�a hypoth�e-
tiques (cubane, prismane, etc.). Par ailleurs, la pr�eparation de mol�ecules naturelles
complexes (chlorophylle, st�ero��des, alcalo��des, etc.) permet de d�ecouvrir de nouveaux
r�eactifs et de nouvelles voies de synth�ese d'un int�eret g�en�eral, tout en contribuant
�a l'�emergence de nouvelles connaissances en chimie, notamment sur les m�ecanismes
r�eactionnels.
24 Chapitre 2. Synth�ese en chimie organique
O
O
O
Réa
ctif
s de
dép
art
Molécule cible
+
+
+O
O
Cl
O
HO O
O
Fig. 2.1 { Un extrait de plan de synth�ese.
La recherche d'un plan de synth�ese est un probl�eme tr�es di�cile qui peut n�eces-
siter le travail d'une �equipe de chimistes durant plusieurs ann�ees. La synth�ese du
Taxol, une substance extraite de l'If du Paci�que et qui poss�ede des propri�et�es anti-
canc�ereuses, a par exemple requis le travail d'une trentaine d'�equipes pendant pr�es
de vingt ans, avant d'aboutir �a un premier r�esultat en 1993 [Holton et al., 1994].
La di�cult�e des probl�emes de synth�ese r�esulte en partie des faiblesses de la th�eorie
de la chimie organique - laquelle est plus apte �a expliquer les r�esultats d'une r�eaction
qu'�a les pr�edire - mais aussi de la complexit�e combinatoire inh�erente �a la recherche
d'un plan de synth�ese. On dispose en e�et de plus de 13 millions de r�eactifs et
de millions de r�eactions chimiques qui se r�epartissent en des dizaines de milliers
de types de r�eactions. Par ailleurs, pour r�ealiser la synth�ese totale d'une mol�ecule
comme le Taxol (�gure 2.2) �a partir de ses �el�ements constitutifs (carbone, hydrog�ene,
oxyg�ene et azote), il faudrait cr�eer successivement les 119 liaisons qui composent cette
mol�ecule. On peut donc th�eoriquement r�ealiser cette synth�ese de 119 ! � 10196 fa�cons
di��erentes, suivant l'ordre choisi. Ces probl�emes d'ordre combinatoire sont d'autant
plus di�ciles �a r�esoudre que l'�evaluation a priori d'une voie de synth�ese reste tr�es
complexe voire impossible. Les crit�eres d'�evaluation d'un plan de synth�ese peuvent
d'ailleurs extremement varier en fonction des motivations du chimiste. Une solution
peut etre bonne d'un point de vue acad�emique, car innovante, mais sans int�eret
industriel parce que trop couteuse.
2.2. La synth�ese en chimie organique 25
O
O
O
OHO
OHH
O
O
O
O
NH
OH
O
O
O
Fig. 2.2 { La mol�ecule du Taxol.
L'objectif de ce chapitre est de pr�esenter quelques aspects fondamentaux de la
synth�ese en chimie organique, a�n de faciliter la compr�ehension des probl�emes de
synth�ese que nous pourrons �evoquer par la suite. Nous r�ealiserons un rapide �etat de
l'art des principaux syst�emes de synth�ese assist�ee par ordinateur et nous pr�esenterons
la d�emarche g�en�erale employ�ee dans ReSyn.
2.2 La synth�ese en chimie organique
La r�esolution d'un probl�eme de synth�ese comporte deux �etapes : l'�elaboration d'un
plan de synth�ese et son exp�erimentation. Pour �elaborer un plan, on peut utiliser deux
types de raisonnement : le premier est synth�etique et proc�ede par ((cha�nage avant)) 1
en appliquant des r�eactions �a des produits connus pour essayer d'aboutir �a la mo-
l�ecule cible; le second est r�etrosynth�etique et consiste �a rechercher, en ((cha�nage
1. les termes de ((cha�nage avant)) et ((cha�nage arri�ere)) sont issus de travaux en Intelligence
Arti�cielle, notamment dans le cadre des syst�emes de production [Lauri�ere, 1986]. Par exemple,
dans un d�emonstrateur de th�eor�emes, on dispose d'une base de faits et d'un ensemble de r�egles de
d�eduction. Le cha�nage avant consiste �a essayer de produire le th�eor�eme �a d�emontrer en appliquant
r�ecursivement les r�egles de d�eduction aux faits disponibles. �A l'inverse, le cha�nage arri�ere part du
th�eor�eme cible pour essayer d'aboutir �a des faits de la base.
26 Chapitre 2. Synth�ese en chimie organique
H
O
X
O
O
X
H
O
SensRétrosynthétique
SensSynthétique+ HX
+
+Réaction
Transformation
Fig. 2.3 { Une meme r�eaction consid�er�ee d'un point de vue synth�etique et r�etrosyn-
th�etique.
arri�ere))1, des pr�ecurseurs de la mol�ecule cible jusqu'�a l'obtention de r�eactifs dispo-
nibles. La �gure 2.3 illustre ces deux modes de raisonnement. L'op�eration inverse
d'une r�eaction permettant de passer d'une mol�ecule �a ses pr�ecurseurs est appel�ee :
transformation .
La mod�elisation du raisonnement en synth�ese organique demeure un probl�eme
largement ouvert. Les perspectives de d�eveloppement des syst�emes informatiques
qui �emerg�erent dans les ann�ees 60, ont largement contribu�e �a stimuler la recherche
dans ce domaine. On ne peut manquer de citer E.J. Corey qui fut un des tout
premiers chercheurs �a s'int�eresser �a la formalisation de la synth�ese [Corey, 1967].
Une classi�cation des probl�emes rencontr�es en synth�ese a �et�e propos�ee par [Wipke,
1974] :
1 : ? �! A 2 : B �! ? 3 : B?�! A
Cette formulation tr�es g�en�erale peut etre utilis�ee sous di��erents points de vue
pour lesquels chaque variable d�esigne une mol�ecule, un ensemble de mol�ecule ou
encore un objectif synth�etique. Le premier cas correspond essentiellement �a une d�e-
marche r�etrosynth�etique : on cherche �a d�eterminer un ensemble de r�eactifs et de r�e-
actions permettant de produire la mol�ecule A. Le second cas d�ecrit un raisonnement
synth�etique : �evolution possible d'un ensemble B de r�eactifs, recherche des produits
pouvant etre obtenus �a partir d'une mol�ecule B (r�eutilisation des produits secon-
daires d'une synth�ese), etc. Quant au troisi�eme cas, il se situe �a mi-chemin entre les
2.2. La synth�ese en chimie organique 27
deux pr�ec�edents dont il peut d�ecrire un protocole de validation : on cherche �a v�eri�er
ou compl�eter une solution obtenue pour un probl�eme de type 1 ou 2.
Dans le cadre d'un mode de raisonnement r�etrosynth�etique, on peut distinguer
trois niveaux d'�elaboration, allant du plus g�en�eral au plus sp�eci�que [Lauren�co et
al., 1990] :
� le niveau strat�egique concerne l'�elaboration d'un plan de construction de la
mol�ecule cible. Il s'agit de d�eterminer un ensemble d'objectifs possibles et d'en
extraire un ou plusieurs sous-ensembles coh�erents. Chaque sous-ensemble doit
etre ensuite ordonn�e pour d�eterminer la s�equence suivant laquelle les objectifs
seront �etudi�es.
� le niveau tactique correspond �a la recherche d'une m�ethode permettant d'at-
teindre un objectif donn�e : recherche des m�ethodes possibles, v�eri�cation de la
pertinence d'une m�ethode dans le contexte �etudi�e, choix des meilleuresm�ethodes
ou encore d�e�nition d'un sous-objectif en l'absence de m�ethodes directes.
� le niveau op�erationnel �etudie les conditions op�eratoires pour l'application
d'une m�ethode : simulation voire exp�erimentation d'une r�eaction, taux de ren-
dement, s�electivit�e de la r�eaction, etc.
Ces trois niveaux ob�eissent par ailleurs �a des contraintes d'ordre politique. Les
crit�eres de s�election utilis�es peuvent, par exemple, extremement varier suivant qu'il
s'agit d'une synth�ese industrielle ou acad�emique. Dans le premier cas, la contrainte
principale est l'innovation. On cherche �a �elaborer un plan plus logique que les pr�e-
c�edents, montrer une nouvelle tactique pour franchir les �etapes cl�es, permettre de
valider ou de r�efuter une th�eorie, etc. Dans le cas d'une synth�ese industrielle, il faut
imp�erativement obtenir la mol�ecule �a synth�etiser; on cherche �a utiliser des produits
de d�epart impos�es par l'abondance; les r�eactions ne peuvent etre employ�ees que si
elles respectent certaines contraintes (rendement, s�ecurit�e, : : : ).
Bien qu'il soit d�ecomposable en di��erents niveaux, le processus d'�elaboration d'un
plan de synth�ese n'est pas pour autant lin�eaire. D'une part, parce qu'il n'y a pas de
fronti�ere bien nette entre deux niveaux successifs. D'autre part, parce qu'il existe
tellement d'impond�erables qu'il faut souvent descendre jusqu'au niveau op�erationnel
pour valider ou invalider les d�ecisions qui ont �et�e prises aux autres niveaux. Cepen-
dant, il est souvent pr�ef�erable d'essayer d'optimiser une �ebauche de plan de synth�ese
28 Chapitre 2. Synth�ese en chimie organique
�a un niveau g�en�eral avant d'entreprendre une phase d'exp�erimentation [Corey et
Cheng, 1989].
Pour terminer cette rapide pr�esentation de la synth�ese, nous devons parler des
r�eactions chimiques. D'apr�es [Ireland, 1969], suivi par [Hendrickson, 1986; Hendrick-
son, 1990] les r�eactions sont les outils de la synth�ese organique : il y a les ou-
tils de construction (formation de liaisons entre atomes de carbone) et les outils
de ((refonctionnalisation)) (modi�cation de la fonctionnalit�e 2). La construction du
((squelette de la mol�ecule)) (cf. x 4.2.1.1) s'appuie g�en�eralement sur la pr�esence de
groupements fonctionnels qui peuvent etre introduits ou retir�es de la mol�ecule par
le recours �a des refonctionnalisations. L'id�ee de cat�egoriser les r�eactions appara�t
�egalement dans [Corey, 1967] et [Corey et Cheng, 1989] o�u elle est beaucoup plus
d�etaill�ee.
2.3 Quelques syst�emes de synth�ese assist�ee par or-
dinateur
Les premiers syst�emes informatiques d�edi�es �a la chimie organique sont apparus
dans les ann�ees 60 pour g�erer des bases de donn�ees de r�eactions ou de mol�ecules.
Certains d'entre eux permettent aujourd'hui de g�erer des centaines de milliers de
r�eactions et sont largement utilis�es dans les laboratoires de synth�ese [Zas, 1990].
Les syst�emes dits de ((synth�ese assist�ee par ordinateur)) se r�epartissent en deux
cat�egories : les syst�emes de pr�ediction ou de simulation de r�eactions, qui fonctionnent
dans le sens synth�etique, et les syst�emes d'aide �a la conception de plan de synth�ese
qui utilisent g�en�eralement le sens r�etrosynth�etique. Dans la mesure o�u nous n'allons
pas pr�esenter tous ces syst�emes, le lecteur int�eress�e par une �etude plus compl�ete
pourra se r�ef�erer �a [Bador et al., 1992; Ott et Noordik, 1992].
Il existe deux approches di��erentes pour concevoir ces syst�emes d'aide : la pre-
mi�ere, due �a Corey, est essentiellement empirique alors que la seconde est plus for-
2. nous reviendrons sur la notion de fonctionnalit�e dans le paragraphe 4.5. On peut dire qu'une
fonctionnalit�e correspond �a des propri�et�es chimiques li�ees �a la pr�esence d'un motif structural dans le
graphe mol�eculaire. Un tel motif structural est g�en�eralement d�esign�e sous le terme de ((groupement
fonctionnel)).
2.3. Quelques syst�emes de synth�ese assist�ee par ordinateur 29
melle et correspond �a l'�ecole de Ugi. Cette derni�ere d�emarche repose sur un forma-
lisme math�ematique d�ecrivant les r�eactions chimiques �a l'aide de quelques sch�emas
g�en�eraux qui traduisent les principes fondamentaux de la th�eorie structurale. Il n'y a
donc pas besoin d'utiliser et de maintenir une base de connaissance sur les m�ethodes
de synth�ese. A l'inverse, la d�emarche empirique fait largement appel �a la connais-
sance des experts, aussi bien pour �evaluer les conditions d'application des r�eactions
que pour �elaborer des strat�egies de synth�ese.
L'approche formelle est plus particuli�erement adapt�ee �a la simulation de r�eactions
ou la recherche de r�eactions nouvelles, comme dans le syst�eme EROS [Gasteiger et al.,
1992]. Dans le syst�eme RAIN [Ugi et al., 1994], l'utilisateur dispose d'un ensemble de
r�egles pour d�ecrire les r�eactions et les interm�ediaires permis. Le syst�eme recherche un
ensemble de solutions combinatoirement complet qui respecte les contraintes d�e�nies
par l'utilisateur. La recherche peut etre r�ealis�ee dans le sens synth�etique ou r�etrosyn-
th�etique, ou encore dans les deux sens. Dans ce dernier cas, l'utilisateur fournit un
ensemble de mol�ecules de d�epart et d'arriv�ee, et le syst�eme d�etermine un moyen pour
passer de l'un �a l'autre en respectant le principe de ((distance chimique minimale))3.
Dans le meme ordre d'id�ees, le syst�eme SYNGEN [Hendrickson et Parks, 1992]
permet de construire automatiquement des chemins de synth�ese �a partir d'une mo-
l�ecule cible fournie par l'utilisateur. C'est le premier syst�eme qui fait la distinction
entre le niveau strat�egique et le niveau tactique d'une recherche. Le syst�eme com-
mence par essayer de fragmenter le squelette de la mol�ecule en deux parties, de toutes
les fa�cons possibles et en d�econnectant une liaison (ou deux dans le cas d'un cycle).
Si les fragments obtenus ne correspondent pas �a des r�eactifs disponibles, le processus
est r�eit�er�e. La phase tactique explore les plans g�en�eraux ainsi �etablis en essayant de
trouver des m�ethodes qui r�ealisent les d�econnexions pr�evues et tiennent compte de
la pr�esence des groupements fonctionnels n�eglig�es lors de la phase strat�egique.
Le premier syst�eme de synth�ese bas�e sur une d�emarche empirique, baptis�e OCSS,
fut d�ecrit par [Corey et Wipke, 1969]. Il a donn�e naissance �a deux syst�emes assez
proches : LHASA [Corey et al., 1985] et SECS [Wipke, 1974; Wipke et al., 1977]. De
tous les programmes d'aide �a la synth�ese, LHASA semble etre le plus performant.
3. on cherche �a minimiser les redistributions d'�electrons entre les atomes pour passer d'un en-
semble �a l'autre.
30 Chapitre 2. Synth�ese en chimie organique
C'est un syst�eme de r�etrosynth�ese interactif qui propose �a l'utilisateur de faire des
choix tactiques et strat�egiques. Les strat�egies sont bas�ees sur la fonctionnalit�e, sur la
topologie (recherche de liaisons strat�egiques dans les syst�emes polycycliques), sur les
transformations les plus importantes que l'on essaie d'appliquer syst�ematiquement
(Diels-Alder, : : : ), sur la st�er�eochimie ou encore sur les produits de d�eparts (recon-
naissance de r�eactifs disponibles pouvant appara�tre dans le graphe mol�eculaire). De
l'avis des auteurs du programme, et apr�es 25 ans de d�eveloppement, LHASA n'est
pas encore assez performant pour devenir un outil indispensable aux chimistes qui
pratiquent la synth�ese. Si les r�esultats au niveau tactique sont relativement int�e-
ressants, le nombre de solutions propos�ees est souvent trop important. Cela oblige
l'utilisateur �a r�ealiser des tris qui sont rendus d'autant plus fastidieux que le syst�eme
n'explique pas ses r�esultats. Le niveau strat�egique est encore trop faible, du fait de
l'anciennet�e de sa conception et de la rigidit�e de son impl�ementation qui empeche
le syst�eme d'�evoluer correctement et rend di�cile la mise �a jour des connaissances.
Les conditions d'application des transformations sont par exemple d�ecrites de fa�con
proc�edurale comme le montre la �gure 2.4
Le syst�eme SYNCHEM [Gelernter et al., 1973; Gelernter et al., 1990] est fond�e
sur des principes similaires mais fonctionne de mani�ere automatique. La recherche de
solutions se fait au moyen d'un algorithme de type A� 4. Le cout du chemin en cours
de d�eveloppement est �evalu�e �a partir du rendement pr�evu et des caract�eristiques
des transformations utilis�ees, auxquels s'ajoute une estimation du parcours restant �a
faire en se basant sur la complexit�e du pr�ecurseur atteint. L'exploration d'un chemin
s'arrete lorsqu'un produit commercial a �et�e engendr�e.
De par la nature combinatoire des probl�emes de synth�ese et en l'absence d'une
th�eorie su�sante pour d�ecrire les strat�egies, les syst�emes de recherche automatique
produisent des r�esultats qui sont g�en�eralement inexploitables. Le programme de Ber-
4. l'algorithme A� [Hart et al., 1968] est un des grands classiques de l'I.A. (cf. [Lauri�ere, 1986]).
On consid�ere le graphe dont les sommets sont les �etats possibles du probl�eme �a r�esoudre et les aretes
d�e�nissent les transitions entre ces �etats. L'algorithmeA� recherche un chemin minimal reliant l'�etat
initial �a un �etat solution, en limitant l'exploration grace �a une fonction heuristique donnant une
minoration de la distance entre l'�etat courant et la solution. Si on cherche la meilleure route reliant
deux villes, la fonction heuristique que l'on emploie naturellement est la distance �a vol d'oiseau.
2.3. Quelques syst�emes de synth�ese assist�ee par ordinateur 31
nom mn�emonique Aldolisation, par exemple
commentaires bibliogra-
phiques
score initial indique l'int�eret synth�etique de la transformation et varie au cours
de l'application de celle-ci en fonction des conditions structurales ou
r�eactionnelles
r�etron sous-structure cl�e dont la pr�esence dans la mol�ecule cible est n�eces-
saire pour que la transformation soit s�electionn�ee
indications strat�egiques
et/ou tactiques
enquetes de la forme si ... alors ..., elles testent l'environnement de la cible
et �xent les limites d'application de la transformation : rejet ou mo-
di�cation du score (par exemple, si un halog�ene est li�e au carbone
n�2 alors la transformation n'est pas applicable)
conditions r�eaction-
nelles
la pr�esence, dans la structure cible, de groupements fonctionnels sen-
sibles aux conditions r�eactionnelles peut entra�ner un abaissement du
score initial
manipulations actions que le syst�eme doit e�ectuer pour engendrer les pr�ecurseurs
�a partir de la cible (casser la liaison entre les atomes n�1 et 2, etc.)
Fig. 2.4 { description d'une transformation dans le syst�eme LHASA.
sohn [Dogane et al., 1992] est ainsi capable de g�en�erer un arbre de synth�ese compor-
tant des centaines de milliers de pr�ecurseurs.
La principale faiblesse des syst�emes interactifs con�cus selon l'approche empi-
rique r�eside dans leur mode de repr�esentation des connaissances. Les transformations
sont d�ecrites de fa�con proc�edurale �a l'aide d'un langage sp�ecialis�e : CHMTRN pour
LHASA (cf. �gure 2.4) ou ALCHEM pour SECS. L'emploi d'un tel langage rend
di�cile la mise �a jour de la connaissance qui est pourtant indispensable dans toute
d�emarche empirique. En dehors du fait que l'utilisation et la compr�ehension de ces
langages n�ecessite de bonnes notions de programmation, la repr�esentation proc�edu-
rale ne permet pas de traduire les relations structurales qui peuvent exister entre
di��erentes transformations.
32 Chapitre 2. Synth�ese en chimie organique
2.4 Le syst�eme ReSyn
Un syst�eme d'aide �a la synth�ese doit essayer de remplir plusieurs roles parmi
lesquels : la conservation et la transmission du savoir, ce qui suppose la capacit�e de
g�erer les connaissances n�ecessaires �a l'�elaboration d'un plan de synth�ese; l'acquisition
et la confrontation de connaissances issues de di��erents experts; ou encore l'aide �a
la d�ecouverte par l'examen d'un grand nombre d'hypoth�eses et une recherche syst�e-
matique (control�ee) permettant de mettre en �evidence des d�emarches inhabituelles.
Tout cela suppose l'existence d'un dialogue syst�eme-utilisateur reposant sur des ex-
plications mutuelles des choix ou des hypoth�eses. Si l'avanc�ee actuelle des techniques
informatiques ne permet pas de r�ealiser pleinement cet objectif, il convient n�eanmoins
d'en tenir compte dans l'�elaboration de tout syst�eme.
�A la suite d'une �etude montrant les insu�sances des syst�emes disponibles en
synth�ese assist�ee par ordinateur, la soci�et�e Roussel Uclaf a lanc�e un projet vi-
sant �a explorer les possibilit�es o�ertes par des techniques d'Intelligence Arti�cielle
plus �elabor�ees que celles employ�ees jusqu'alors. Ce projet, qui a d�ebut�e en collabo-
ration avec le Lirmm par l'interm�ediaire de la soci�et�e Framentec-Cognitech, se
poursuit aujourd'hui dans le cadre du GDR TICCO, un groupement de recherche
r�eunissant entre autres des industriels de la chimie et des laboratoires de recherche
en synth�ese organique et informatique. ReSyn est un prototype de syst�eme d'aide
�a la synth�ese qui a �et�e d�evelopp�e au Lirmm 5 en se basant sur les travaux de C.
Lauren�co [Lauren�co, 1985; Lauren�co et al., 1990] et en b�en�e�ciant des r�esultats de
ces collaborations. ReSyn int�egre de nombreuses connaissances expertes dont celles
qui ont �et�e apport�ees par E. Toromano�, un sp�ecialiste reconnu du domaine de la
synth�ese organique.
Le premier int�eret de ReSyn est d'avoir �et�e �elabor�e �a partir de nombreuses
connaissances expertes en chimie, provenant de di��erentes origines, aussi bien uni-
versitaires qu'industrielles. L'ambition du projet ReSyn n'est pas de concevoir un
syst�eme de synth�ese automatique mais simplement d'apporter une aide lors de l'�ela-
boration d'un plan de synth�ese. Pour ce faire, il �etait primordial de faciliter le dia-
logue entre l'utilisateur et le syst�eme, en choisissant un mode de repr�esentation des
5. �a l'exception de l'�editeur de mol�ecules dont la version initiale a �et�e con�cue par la soci�et�e
Framentec.
2.4. Le syst�eme ReSyn 33
HO
Objectif
casser
doubler
Contexte
O
Minimal
O
x 2
HOO
x 2
OO
H
O
OO
x 2
+
+Rétron
transformation
réaction
O OH
OH
Rétron
Fig. 2.5 { Une r�eaction d'aldolisation et la transformation correspondante.
connaissances qui soit proche du langage de description employ�e par un chimiste.
C'est pourquoi, la majeure partie des connaissances manipul�ees par ReSyn sont des
graphes mol�eculaires. La deuxi�eme pr�eoccupation qui a guid�e l'�elaboration deReSyn
concerne l'explication syst�ematique des d�ecisions prises par le syst�eme, qu'elles soient
positives ou n�egatives (possibilit�e ou non d'appliquer une transformation, etc.).
2.4.1 Transformations, objectifs et contextes
Commenous l'avons d�ej�a dit, une transformation peut etre vue comme l'op�eration
inverse d'une r�eaction. La transformation ne concerne qu'une partie de la mol�ecule
qui correspond au ((r�etron)) de la transformation (cf. �gure 2.5). Le r�etron d�e�nit la
sous-structure minimale caract�erisant la transformation.
Dans le cadre de ReSyn, nous avons choisi de distinguer deux parties du r�etron :
� l'objectif de la transformation est d�e�ni par la sous-structure connexe minimale
contenant l'ensemble des liaisons modi��ees par la transformation,
34 Chapitre 2. Synth�ese en chimie organique
favorable
Objectif
Contexte
défavorableContexte
équivalentContexte
Contexteminimal
très
défavorableContexte
favorableContexte
favorable
H
O
O
H
O
HO
O OH
O OH
O OH
HO
x 2
O
Fig. 2.6 { Hi�erarchie de contextes favorables ou d�efavorables �a l'application d'une
transformation.
� le contexte minimal favorable �a l'application de la transformation correspond
g�en�eralement au r�etron. Il contient l'objectif de la transformation et d�e�nit
l'environnement minimal qui autorise l'application de la transformation. Ce
contexte minimal favorable peut etre �equivalent �a l'objectif lorsqu'il n'y a au-
cune contrainte pour appliquer la transformation. On parle alors de contexte
�equivalent �a l'objectif ;
Tout comme un certain environnement est parfois n�ecessaire pour l'application
d'une transformation, il peut exister des environnements d�efavorables. On d�e�nit
ainsi un ensemble de contextes favorables ou d�efavorables �a l'application de la trans-
formation. Ces contextes s'organisent de fa�con hi�erarchique suivant une relation de
sp�ecialisation li�ee �a la relation d'((inclusion)) de sous-structures, c'est-�a-dire, la rela-
tion de sous-graphe partiel (cf. �gure 2.6). Un contexte favorable peut etre masqu�e
par un contexte d�efavorable plus sp�eci�que que lui. De meme, un contexte d�efavo-
2.4. Le syst�eme ReSyn 35
H
x 2
H
x 2
O
O
O
x 2
OH
OH
x 2
O
x 2
Fig. 2.7 { Hi�erarchie des objectifs de transformations.
rable peut etre masqu�e par un contexte plus sp�eci�que qui est favorable. Il arrive
parfois qu'un contexte favorable soit masqu�e par un autre contexte favorable. Dans ce
cas, on retient le contexte le plus sp�eci�que dans la mesure o�u il d�etient l'information
la mieux adapt�ee au cas �etudi�e.
Dans le chapitre 6, nous reviendrons plus en d�etails sur cette hi�erarchie de
contextes (x 6.4) et sur le raisonnement par ((classi�cation)) qui est utilis�e pour la par-
courir. Ce mode de repr�esentation facilite l'ajout d'une nouvelle information concer-
nant les conditions d'utilisation d'une transformation. Il su�t en e�et d'introduire
une nouvelle structure dans la hi�erarchie des contextes. L'explication de l'�echec ou
du succ�es d'une tentative d'application de transformation peut etre r�ealis�ee en mon-
trant la sous-structure d�e�nissant l'environnement correspondant. Chaque contexte
dispose en outre d'informations suppl�ementaires relatives �a l'explication (r�ef�erences
bibliographiques, �evaluation de la ((rentabilit�e)) de la transformation pour le contexte
consid�er�e, etc.).
Si une transformation est li�ee �a un objectif unique, plusieurs transformations
peuvent r�ealiser un meme objectif. De plus, un objectifO1 donn�e peut etre r�ealis�e par
une transformation dont l'objectif O2 int�egre O1 tout en r�ealisant des modi�cations
suppl�ementaires. L'ensemble des objectifs est ainsi organis�e sous forme hi�erarchique
de fa�con similaire �a la hi�erarchie de contexte (cf. �gure 2.7).
36 Chapitre 2. Synth�ese en chimie organique
transformationsapplicables
contextesdéfavorables
contextesfavorables
ensembled’objectifs
Choix d’un objectif
objectifsélémentaires
Règles destratégie
plus spécifiquesRecherche des objectifs
Reconnaissance etordonnancement des
objectifs élémentaires
réprésentationsabstraites
Perception
objectif initial
précurseursmolécule cible
interditestransformations
Application des transformationsà la molecule
des contextes qui sont favorablesou défavorables à l’application d’une
transformation réalisant l’objectif
Recherche, pour chaque objectif,
Fig. 2.8 { Sch�ema g�en�eral du fonctionnement de ReSyn.
2.4.2 Fonctionnement g�en�eral de ReSyn
Le sch�ema de la �gure 2.8 r�esume le fonctionnement g�en�eral de ReSyn. La pre-
mi�ere �etape consiste �a analyser le graphe mol�eculaire de la cible propos�ee par l'utili-
sateur, a�n d'en percevoir les propri�et�es caract�eristiques. Nous reviendrons sur cette
�etape de perception dans les chapitres 3 et 4. Cette analyse de la mol�ecule doit per-
mettre d'�elaborer une strat�egie de synth�ese. Dans l'�etat actuel de ReSyn, l'aspect
strat�egique reste cependant tr�es rudimentaire. Il se limite �a l'�evaluation de l'impor-
tance strat�egique d'une liaison en se basant sur la topologie (cycles, liens de cycles,
etc.), sur les groupements fonctionnels ou sur la centralit�e des liaisons. Ces crit�eres
permettent de classer un ensemble d'objectifs dits ((�el�ementaires)) qui correspondent
chacun �a une liaison de la mol�ecule. Des m�ethodes de recherche syst�ematique du
r�etron des transformations les plus importantes (Diels-Alder, Claisen, etc.) sont �ega-
2.5. Conclusion 37
lement mises en �uvre. Dans les deux cas, l'utilisateur choisit l'objectif qui lui para�t
le plus prometteur. La troisi�eme phase consiste alors �a rechercher une transformation
r�ealisant cet objectif.
On commence par d�eterminer tous les objectifs plus sp�eci�ques que l'objectif
initialement choisi. On obtient un ensemble d'objectifs dont les transformations as-
soci�ees r�ealisent au moins cet objectif initial. Pour chacune des transformations as-
soci�ees �a un de ces objectifs sp�eci�ques, on cherche le contexte le plus sp�eci�que qui
int�egre cet objectif. Si ce contexte est d�efavorable, la transformation est rejet�ee et le
syst�eme peut utiliser ce contexte pour justi�er sa d�ecision. Si le contexte est favo-
rable, la transformation est appliqu�ee au graphe mol�eculaire cible, a�n d'engendrer
un ou plusieurs pr�ecurseurs. Le processus g�en�eral peut alors etre r�eit�er�e �a partir de
ces pr�ecurseurs. Une base de donn�ee de r�eactifs disponibles permet de d�eterminer si
un pr�ecurseur constitue un produit de d�epart.
Toutes les �etapes de cette recherche sont regroup�ees au sein d'un arbre comme
celui pr�esent�e dans la �gure 2.9. La mol�ecule cible initiale constitue la racine de
cet arbre et les autres n�uds d�ecrivent les diverses voies de synth�ese qui ont �et�e
envisag�ees. L'utilisateur peut acc�eder �a toutes ces informations et choisir le chemin
de synth�ese dont il d�esire poursuivre l'�etude.
2.5 Conclusion
Ce chapitre nous a permis de pr�esenter bri�evement la synth�ese en chimie orga-
nique. Comme on a pu le constater, ce domaine semble constituer un excellent champ
d'exp�erimentation pour la recherche en informatique. La complexit�e des probl�emes
rencontr�es est un v�eritable d�e� �a l'algorithmique. L'�etendue des connaissances ma-
nipul�ees, leur organisation en de multiples hi�erarchies et les faiblesses de certaines
th�eories du domaine, constituent autant de n�uds de complexit�e pour l'acquisition
et la repr�esentation de connaissances, sans parler du raisonnement. D�es lors, on ne
s'�etonnera pas de l'insu�sance des syst�emes actuels de synth�ese assist�ee que nous
avons �evoqu�es dans ce chapitre. On comprendra �egalement que l'ambition du sys-
t�eme ReSyn, d�evelopp�e en grande partie dans le cadre de cette th�ese, ne soit pas
de construire des chemins de synth�ese mais simplement d'aider un chimiste dans la
38 Chapitre 2. Synth�ese en chimie organique
Précurseur
Objectif
Règle de
Molécule
StratégieSpécifiqueObjectif
Élémentaire
Contexte Transformation
Cible
Fig. 2.9 { Un extrait de l'arbre de r�etrosynth�ese pouvant etre construit lors de l'�etude
de l'acide chrysanth�emique.
2.5. Conclusion 39
r�ealisation de cette tache. Dans les deux prochains chapitres, nous exposerons plus
en d�etail les algorithmes permettant de percevoir les propri�et�es structurales de la
mol�ecule cible, a�n d'�elaborer des strat�egies de synth�ese. Cet aspect strat�egique de
la synth�ese reste, comme dans tous les syst�emes de synth�ese assist�ee, la partie de
ReSyn qui doit encore etre la plus d�evelopp�ee. Nous reviendrons sur ce point dans
le chapitre 5. Quant au niveau tactique, il repose sur les concepts d'objectif et de
contexte que nous avons d�e�nis. Les hi�erarchies de graphes qui leur sont associ�ees
facilitent la mise �a jour de la connaissance et la recherche de transformations ap-
plicables, en utilisant un raisonnement par classi�cation qui sera pr�esent�e dans le
chapitre 6.
40 Chapitre 2. Synth�ese en chimie organique
41
Chapitre 3
Histoires de cycles
3.1 Introduction
Si l'�etude des cycles est une vieille histoire, elle n'est certainement pas encore
termin�ee. Il su�t de s'int�eresser d'assez pr�es aux propri�et�es d'un graphe pour que
resurgisse in�evitablement cette notion fondamentale. D'ailleurs, si tous les graphes
�etaient des arbres, la plupart des probl�emes d'algorithmique seraient d�ej�a r�esolus de
fa�con e�cace. Mais les cycles existent et nous sommes condamn�es �a les prendre en
compte pour �eviter, autant que faire se peut, de tourner en rond.
En chimie organique, les cycles constituent un �el�ement essentiel des structures
mol�eculaires. En r�eduisant le degr�e de libert�e des atomes, ils in uencent le niveau
�energ�etique des mol�ecules et contribuent �a l'�emergence de propri�et�es fondamentales
qu'elles soient physiques, chimiques ou biologiques. Ils conditionnent ainsi le choix
des strat�egies et des tactiques employ�ees pour synth�etiser ces mol�ecules. On com-
prend alors pourquoi toute mod�elisation de la synth�ese en chimie organique doit tenir
compte des syst�emes cycliques pr�esents dans la structure mol�eculaire. Cette �etude des
cycles est d'ailleurs indispensable �a tout syst�eme informatique d'aide en chimie : syn-
th�ese assist�ee, simulation de r�eactions, mod�elisation mol�eculaire, construction d'un
nom de nomenclature �a partir d'une formule structurale, etc.
42 Chapitre 3. Histoires de cycles
Fig. 3.1 { La mol�ecule du pagodane.
Un rapide parcours des bases de donn�ees chimiques montre qu'un bon nombre
de mol�ecules poss�edent des syst�emes cycliques relativement simples. Mais ce n'est
�evidemment pas toujours le cas. Les mol�ecules les plus di�ciles �a synth�etiser sont
souvent celles qui poss�edent un noyau cyclique particuli�erement �eto��e. Le pagodane,
repr�esent�e par la �gure 3.1, donne ainsi une id�ee de la complexit�e des syst�emes
cycliques que l'on peut rencontrer.
Ce chapitre est donc enti�erement consacr�e �a l'�etude des cycles dans un graphe, en
se focalisant plus particuli�erement sur le domaine de la chimie organique. Le nombre
d'articles consacr�es aux cycles �etant particuli�erement important, l'�etat de l'art que
nous allons dresser ne pouvait etre que partiel (et donc un tantinet partial). Qu'il
s'agisse de publications issues de la th�eorie des graphes ou de l'informatique chimique,
nous ne retiendrons que les articles qui nous paraissent introduire des solutions ef-
�caces ou particuli�erement �el�egantes. Beaucoup de probl�emes ont �et�e in�egalement
trait�es par l'une ou l'autre de ces deux communaut�es de chercheurs. Notre �etat de
l'art pr�esentera donc les publications importantes sans se soucier d'une quelconque
parit�e entre ces deux domaines. Pr�ecisons en�n que le lecteur int�eress�e par une �etude
presque exhaustive des algorithmes li�es aux cycles en chimie, pourra se r�ef�erer �a
[Downs et al., 1989a]. Cet article pr�esente une bibliographie plus compl�ete bien que
comportant quelques erreurs d'analyse en complexit�e plus ou moins importantes.
Ce chapitre commence par rappeler les d�e�nitions d'espace vectoriel associ�e aux
cycles, de base fondamentale et de base de taille minimale. Nous nous int�eresse-
rons plus particuli�erement �a la recherche d'une base minimale en pr�esentant une
3.2. L'espace vectoriel C des cycles �el�ementaires 43
succession de m�ethodes de calcul aboutissant �a l'algorithme polynomial publi�e dans
[Horton, 1987]. Nous proposerons une nouvelle version de cet algorithme permet-
tant d'en r�eduire la complexit�e (c.-�a-d. le temps de calcul). Nous traiterons ensuite
du probl�eme de la recherche d'un ensemble de cycles chimiquement valides. Nous
pr�esenterons diverses notions de bases �etendues en montrant en quoi ces d�e�nitions
ne nous semblent pas satisfaisantes. Nous introduirons alors une notion originale de
cycle pertinent qui nous para�t bien adapt�ee au domaine de la chimie. Nous pro-
poserons un algorithme polynomial permettant de calculer cet ensemble de cycles.
Quant �a la derni�ere partie de ce chapitre, elle est consacr�ee �a la d�etermination de
l'arrangement relatif des cycles �a l'int�erieur d'un syst�eme cyclique. Nous d�e�nirons
�a ce sujet le graphe des cycles pertinents qui est utilis�e dans ReSyn pour d�ecrire les
parties cycliques d'une mol�ecule.
3.2 L'espace vectoriel C des cycles �el�ementaires
Si la litt�erature concernant les cycles d'un graphe est particuli�erement riche, c'est
peut-etre parce qu'ils se pretent tr�es bien �a une analyse formelle. On peut en e�et
d�e�nir un espace vectoriel sur l'ensemble des cycles d'un graphe. Cet espace vectoriel
introduit une notion de base de cycles qui o�re une repr�esentation concise du syst�eme
cyclique auquel elle est associ�ee. L'ensemble des cycles �el�ementaires d'un graphe
intervient �egalement dans la d�e�nition des matro��des graphiques [Tutte, 1960].
3.2.1 D�e�nition de l'espace vectoriel C
En consid�erant un cycle comme un ensemble d'aretes, il est facile de d�e�nir l'op�e-
rateur d'addition relatif �a deux cycles par l'union disjointe de leurs aretes :
8 C1 et C2 deux cycles de G; C1 + C2 = (C1 [ C2) n (C1 \ C2)
On remarquera ais�ement que la somme de deux cycles �el�ementaires ne constitue pas
toujours un cycle �el�ementaire (voir C1+C2 dans la �gure 3.2). Par contre, il est int�e-
ressant de noter que tout cycle est la somme de cycles �el�ementaires sans aretes com-
munes. Cette d�ecomposition s'obtient simplement en parcourant la s�equence d'aretes
du cycle et en cr�eant un nouveau cycle �el�ementaire chaque fois que l'on atteint un
44 Chapitre 3. Histoires de cycles
G C3C1 C2
C1 + C2 + C3C1 + C2
Fig. 3.2 { Quelques exemples de sommes de cycles
sommet d�ej�a travers�e. On obtient ainsi un ensemble de cycles �el�ementaires aux aretes
disjointes.
En faisant la somme de deux cycles on n'obtient pas toujours un cycle mais
parfois un sous-graphe non-connexe (par exempleC1+C2+C3). Il est donc n�ecessaire
d'�etendre l'ensemble initial des cycles si l'on cherche �a d�e�nir une structure d'espace
vectoriel.
d�e�nition : Soit C l'ensemble des sous-graphes partiels de G dont tous les sommets
sont de degr�e pair .
On v�eri�era ais�ement que C correspond �a l'ensemble des cycles clos par l'op�erateur
d'addition.
Nous pouvons maintenant d�e�nir une structure de groupe commutatif ( C ;+) :
� op�erateur : + (op�eration interne, associative et commutative)
� �el�ement neutre : ?
� inverse : chaque �el�ement est son inverse
Il s'en suit une structure d'espace vectoriel ( C ;+ ; : ) d�e�nie sur le corps des
bool�eens Z=2Z
o�u :
8 C 2 C; 0 � C = ? et 1 � C = C
3.2. L'espace vectoriel C des cycles �el�ementaires 45
Cet espace vectoriel est en fait un sous espace de f0; 1gm o�u m d�esigne le nombre
d'aretes du graphe. En e�et, tout cycle �el�ementaire C peut etre repr�esent�e sous la
forme d'un vecteur de f0; 1gm tel que C[j] = 1 ssi C contient la ji�eme arete du graphe.
Nous verrons par la suite que cette repr�esentation des cycles sous forme de vecteurs
est �a l'origine de nombreux algorithmes manipulant des matrices bool�eennes.
Rappelons, �a titre indicatif, que cette d�e�nition de C peut etre �etendue aux
graphes orient�es en utilisant les vecteurs de Rm. On montre alors que l'espace en-
gendr�e par les cycles �el�ementaires et celui associ�e aux cocycles du graphe sont deux
sous-espaces suppl�ementaires (voir [Berge, 1973]). Un cocycle de G = (X;E) est un
ensemble d'arcs !(A) d�e�ni �a partir d'un sous-ensemble A de X et contenant tous
les arcs qui ont une seule extr�emit�e dans A (mais pas les deux).
En dehors de son aspect purement formel, la notion d'espace vectoriel associ�e aux
cycles permet d'obtenir une repr�esentation concise de l'ensemble des cycles. Il su�t
en e�et de trouver une base de cycles, c'est-�a-dire un ensemble de cycles �a la fois
libre et g�en�erateur de C.
3.2.2 Dimension de C : un peu d'histoire
Pour d�eterminer le nombre de cycles contenus dans toute base de C, on est amen�e
�a calculer la dimension de l'espace vectoriel associ�e aux cycles. Cette valeur est
souvent appel�ee nombre cyclomatique et not�ee 1 par le symbole �. La formule
utilis�ee pour d�eterminer le nombre cyclomatique a une longue et riche histoire. En
parcourant divers articles consacr�es aux cycles, on ne peut manquer de s'�etonner de
la diversit�e des citations utilis�ees pour r�ef�erencer le mode de calcul de ce nombre.
Nous allons donc essayer de faire le point sur ces d�e�nitions �equivalentes.
La plus vieille r�ef�erence utilis�ee remonte �a [Euler, 1752] dont est extraite la c�el�ebre
formule permettant de calculer le nombre de faces d'un poly�edre : n � m + f = 2
(o�u f repr�esente le nombre de faces). Le nombre minimal de cycles permettant de
d�ecrire C est alors �egal �a f � 1 (il su�t de n�egliger la face ext�erieure).
Dans son m�emoire relatif aux poly�edres [Cauchy, 1813], Cauchy s'est attach�e �a
g�en�eraliser le th�eor�eme d'Euler et �a en donner, de ce fait, une nouvelle d�emonstration.
1. Cette notation ne fait pas l'unanimit�e. La lettre � est parfois utilis�ee.
46 Chapitre 3. Histoires de cycles
De ce nouveau th�eor�eme 2 l'auteur d�eduit que le nombre de polygones contenus dans
la projection planaire d'un poly�edre est �egal �a : m� n+ 1.
Dans les articles relatifs �a la chimie, c'est la m�ethode propos�ee par Fr�erejacque qui
est le plus souvent cit�ee sous la forme de ce que les chimistes nomment : le nombre de
Fr�erejacque. Dans son article [Fr�erejacque, 1939], surtout consacr�e �a un concept assez
obscur baptis�e (( condensation d'une mol�ecule )), l'auteur ne fait allusion aux cycles
que par cette simple phrase : ((une formule plane contient autant de cycles qu'il faut
faire d'ouvertures de cha�nes pour transformer cette formule en une formule �a cha�ne
lin�eaire )).
Cette notion d'ouverture de cha�nes fait bien �evidemment penser au concept
d'arbre recouvrant. Nous verrons dans le paragraphe 3.3.1 que la taille de l'ensemble
fondamental de cycles associ�e �a un arbre recouvrant est �egale au nombre cycloma-
tique, ce qui constitue un autre mode de calcul.
Notons en�n que la d�etermination du nombre cyclomatique ne semble pas encore
d�elaiss�ee en chimie, puisque r�ecemment [Elk, 1984] a donn�e une nouvelle formule 3
en notant, tout de meme, sa ressemblance avec celle d'Euler.
3.2.3 Composantes 2-connexes
La notion de composante 2-connexe, que nous avons �evoqu�ee dans le paragraphe 1.2,
permet d'optimiser consid�erablement l'�etude de l'espace vectoriel associ�e aux cycles.
Pour trouver une base de C, il su�t de rechercher une base pour chaque espace
vectoriel de cycles associ�e �a une composante 2-connexe du graphe. En e�et, consid�e-
rons l'ensemble G1; :::; Gk des sous-graphes associ�es aux k composantes 2-connexes
du graphe G. Notons Ci l'espace vectoriel des cycles associ�e au sous-graphe Gi. Si
pour tout i 2 1::k, Bi est une base de Ci, alors l'ensemble B =Si21::k Bi est une base
de C. Cette propri�et�e est li�ee au fait que l'ensemble des Ci constitue un ensemble de
2. Le th�eor�eme de Cauchy :
((Si l'on d�ecompose un poly�edre en tant d'autres que l'on voudra, en prenant �a volont�e dans l'in-
t�erieur de nouveaux sommets; que l'on repr�esente par P le nombre des nouveaux poly�edres ainsi
form�es, par S le nombre total de sommets, y compris ceux du premier poly�edre, par F le nombre
total de faces, et par A le nombre total d'aretes, on aura : S + F = A+ P + 1 ))
3. Le nombre � de cycles est donn�e par la formule : 1 + 1
2
Px2X (d(x) � 2) qui est �evidemment
�egale �a m � n+ 1.
3.2. L'espace vectoriel C des cycles �el�ementaires 47
C = [a,b,c,d,e,f,g,h,i,j,k,l,m,h,n,o,p,d,q,r,a]
C = [a,b,c,d,q,r,a] + [d,e,f,g,h,n,o,p,d]
+ [h,i,j,k,l,m,h]
a
cb
r q p o n m l
k
ji
h
gfe
d
G2 G3G1
Fig. 3.3 { Tout cycle est d�ecomposable en autant de cycles qu'il traverse de compo-
santes 2-connexes.
sous-espaces suppl�ementaires de C. Si C 2 C est un cycle traversant plusieurs compo-
santes 2-connexes, il est d�ecomposable en autant de cycles (sans aretes communes)
qu'il y a de composantes (cf. �gure 3.3). Par ailleurs, les espaces vectoriels associ�es �a
deux composantes sont n�ecessairement disjoints puisque les cycles qui les composent
ne partagent aucune arete.
La notion de composante 2-connexe n'est g�en�eralement pas utilis�ee dans les ar-
ticles de chimie (�a l'exception de [Fan et al., 1993], qui emploie une notion de ((block ))
�equivalente mais calcul�ee �a l'aide d'un algorithme tr�es lourd). Pourtant, cette d�ecom-
position du graphe, calculable en temps lin�eaire (voir [Tarjan, 1972]), permet de sim-
pli�er l'�etude des cycles par d�ecomposition du probl�eme en plusieurs recherches plus
simples. Cette r�eduction est d'autant plus int�eressante que les graphes mol�eculaires
sont ((peu li�es)).
La seule simpli�cation parfois employ�ee consiste �a (( e�euiller )) la mol�ecule en
�eliminant r�ecursivement les sommets de degr�e 1, comme le font [Roos-Kozel et Jor-
gensen, 1981] et [Leach et al., 1990]. Dans le meme ordre d'id�ee, [Baumer et al.,
1991] construit un graphe (( �ecras�e )) 4 o�u les sommets de degr�e 1 et 2 sont �elimin�es et
m�emoris�es (un sommet de degr�e 2 �etant remplac�e par une arete reliant ses deux voi-
sins). La recherche des cycles se fait alors sur le graphe compact�e ainsi obtenu. Cette
technique, permettant d'optimiser les parcours de graphes, se trouve in�evitablement
confront�ee au probl�eme de l'extension des cycles compacts ainsi trouv�es. L'e�cacit�e
de la suppression des sommets de degr�e 2 reste ainsi �a d�emontrer, surtout lorsque le
crit�ere de s�election des cycles est li�e �a la longueur des cha�nes parcourues.
4. traduction libre de (( crunched graph ))
48 Chapitre 3. Histoires de cycles
3.3 Bases fondamentales de cycles
Parmi les types de bases de cycles les plus commun�ement utilis�es, la notion de
base fondamentale occupe une place importante. Nous allons donc �etudier ce concept
en pr�esentant deux d�e�nitions di��erentes d'une base fondamentale. La premi�ere et la
plus courante est due �a [Kirchho�, 1847] alors que la seconde repose sur les travaux
de [Whitney, 1935].
3.3.1 Ensemble fondamental de cycles associ�e �a un arbre
recouvrant
Le premier algorithme de d�etermination d'une base de C est du �a [Kirchho�, 1847]
qui a introduit la notion de base fondamentale de cycles. Cette base correspond �a
l'ensemble fondamental de cycles associ�e �a un arbre recouvrant . Rappe-
lons qu'un arbre recouvrant T = (X;E0) d'un graphe G = (X;E) divise l'ensemble
E des aretes de G en deux parties : les aretes appartenant �a l'arbre et celles qui
constituent des aretes de fermeture de cycle. Dans la suite de ce paragraphe, nous
noterons E n E0 ce second ensemble.
En ajoutant une arete quelconque de l'ensemble E nE0 �a l'arbre T , on obtient un
(et un seul) cycle fondamental . L'ensemble des jE nE0j = m� (n� 1) = � cycles
ainsi engendr�es constitue une base fondamentale de l'espace vectoriel C associ�e �a G.
Cet ensemble est libre puisque chaque cycle ne contient qu'une arete de E nE0. Nous
pouvons aussi montrer que cet ensemble est g�en�erateur de C :
Soit C un cycle de C et a1; a2; :::ak les aretes de C qui n'appartiennent
pas �a l'arbre recouvrant. Consid�erons le cycle C 0 = C1 + C2 + ::: + Ck
o�u Ci d�esigne le cycle fondamental associ�e �a l'arete ai. La somme C +C 0
est un cycle ou une union de cycles disjoints. De plus, C + C 0 ne peut
contenir que des aretes de l'arbre recouvrant. On en d�eduit C + C 0 = ?
d'o�u C = C1 + C2 + :::+ Ck 2
Le probl�eme de la recherche d'une base fondamentale a �et�e abondamment trait�e.
Citons par exemple [Welch, 1966; Gibbs, 1969; Paton, 1969]. Les algorithmes pr�esen-
t�es dans ces articles manipulent des matrices bool�eennes de taille n�m ou n�n. Les
3.3. Bases fondamentales de cycles 49
G T
Fig. 3.4 { Un exemple de base fondamentale associ�ee �a un arbre recouvrant
principales di��erences qui les caract�erisent reposent principalement sur des probl�emes
d'optimisation de l'espace m�emoire requis.
Plus r�ecemment, [Syslo, 1979] et [Cribb et al., 1981] ont pr�esent�e une caract�eri-
sation des bases fondamentales d'un graphe. Soit B une base de cycles associ�ee au
graphe 2-connexe G = (X;E). On peut r�esumer l'ensemble de ces r�esultats en disant
que les propositions suivantes sont �equivalentes :
(1) B est une base fondamentale relativement �a un arbre recouvrant T
(2) B ne contient aucun cycle dont toutes les aretes appartiennent �a
d'autres cycles de B
(3) Si Gk est le sous-graphe partiel de G engendr�e par un sous-ensemble
de B contenant k cycles, Alors le nombre cyclomatique de Gk est �egal �a k.
3.3.2 Autre notion de base fondamentale
La notion de ((base fondamentale )) est parfois employ�ee avec un sens di��erent
de celui relatif �a un arbre recouvrant. Mais cette autre d�e�nition n'a pas vraiment
d'int�eret dans le cadre de l'�etude des cycles en chimie. Il para�t cependant n�ecessaire
d'en exposer le principe a�n d'�eviter toute confusion �eventuelle.
D'apr�es cette d�e�nition, introduite par [Whitney, 1935], une base B = fC1; :::; C�g
est fondamentale s'il existe un ordonnancement � des �el�ements de B tel que :
8j; 2 � j � �; C�(j) nj�1[i=1
C�(i) 6= ?
50 Chapitre 3. Histoires de cycles
G
C1 C2 C3 C4
2
1B
B
Fig. 3.5 { La base B1 est fondamentale au sens de [Whitney, 1935] (suivant l'ordre
1; 2; 3; 4, les aretes n'appartenant pas aux cycles pr�ec�edents sont dessin�ees en gras).
Cette propri�et�e signi�e qu'il existe un ordonnancement de B pour lequel chaque cycle
poss�ede au moins une arete qui n'appartient pas aux cycles pr�ec�edents. Par exemple,
pour la base B1 de la �gure 3.5, il su�t de choisir l'ordre 1; 2; 3; 4 (ou 1; 3; 2; 4 ou
2; 1; 3; 4 ou 3; 1; 2; 4). Par contre, quel que soit l'ordre utilis�e pour la base B2, il ne
v�eri�e pas la propri�et�e pr�ec�edente. Cette base n'est donc pas fondamentale au sens
de Whitney.
En se basant sur cette d�e�nition, Hartvigsen et Zemel ont propos�e un algorithme
permettant de d�eterminer si une base de cycles est fondamentale (voir [Hartvigsen et
Zemel, 1989]). Cette nouvelle notion est plus g�en�erale que la pr�ec�edente puisque toute
base fondamentale associ�ee �a un arbre recouvrant est n�ecessairement fondamentale
au sens de la d�e�nition de Whitney. �A l'inverse, une base fondamentale au sens de
Whitney ne peut pas toujours etre associ�ee �a un arbre recouvrant. Par exemple, pour
la base B1 de la �gure 3.5, toutes les aretes du cycle C1 appartiennent �a au moins
un autre cycle de la base. D'apr�es la proposition (2) du paragraphe pr�ec�edent, B1 ne
peut etre associ�ee �a aucun arbre recouvrant.
D'autres caract�erisations des bases de cycles ont �et�e propos�ees par [Hartvigsen et
Mardon, 1991] :
� B est ((Block Expanding )) relativement �a � si 8j 2 f1::�g;Sji=1 C�(i) est un
graphe 2-connexe.
� B k-recouvrante si B recouvre au moins k fois chaque arete du graphe.
3.4. Bases de cycles de taille minimale 51
Les auteurs de cet article se sont ensuite attach�es �a comparer ces diverses carac-
t�erisations en montrant en quoi elles sont, ou non, compatibles entre elles.
Dans le meme ordre d'id�ees, citons en�n la conjecture de [Dixon et Goodman,
1976], r�efut�ee par [Syslo, 1979]. Elle supposait que si B = fCigi2I est une base
fondamentale associ�ee �a un arbre recouvrant et C un cycle �egal �a la somme des
Cj pour j 2 J � I, on pouvait r�eordonner l'ensemble des Cj de fa�con �a ce que
8i 2 1::(jJ j � 1); C1 + :::+ Ci soit un cycle dont l'intersection avec Ci+1 n'est pas
nulle. Cette jolie propri�et�e, plus forte que la notion de base fondamentale au sens de
Whitney, n'est cependant pas vraie.
3.4 Bases de cycles de taille minimale
Si le nombre de cycles contenus dans une base est �x�e par le nombre cyclomatique,
il n'en va pas de meme de la taille de la base d�e�nie par la somme des longueurs
des cycles qu'elle contient. Dans la mesure o�u une base est cens�ee d�ecrire de fa�con
r�eduite la totalit�e de l'espace vectoriel des cycles, il semble assez naturel d'avoir
cherch�e �a d�eterminer une base qui soit la plus petite possible.
3.4.1 Base fondamentale de taille minimale
En ce qui concerne les bases fondamentales, le probl�eme consiste �a trouver un
arbre recouvrant qui minimise la taille de l'ensemble fondamental de cycles qui lui
est associ�e.
Nous n'allons pas exposer ici tous les algorithmes qui vont dans ce sens. Nous
nous contenterons d'�evoquer les travaux de [Deo et al., 1982] qui montrent que ce
probl�eme est NP-Complet. Les auteurs de cet article ont plus pr�ecis�ement montr�e
que le probl�eme de la recherche d'un arbre recouvrant T de G tel que la somme des
longueurs des cycles fondamentaux de G associ�es �a T soit inf�erieure �a un entier L
est NP-Complet.
52 Chapitre 3. Histoires de cycles
Utilisant une d�emarche classique, ils ont d�emontr�e qu'un probl�eme NP-Complet
connu (voir [Garey et Johnson, 1979]) se transforme en temps polynomial dans le
probl�eme pr�ec�edent. Ils s'agit en l'occurrence du probl�eme suivant :
donn�ees : G = (V;E), K 2 N
question : Existe-t-il un arbre recouvrant T de G tel que la somme, sur
toutes les paires de sommets u; v 2 V , de la longueur de la cha�ne de u �a
v dans T soit inf�erieure �a K ?
Le lecteur int�eress�e par cette d�emonstration pourra se r�ef�erer �a [Deo et al., 1982].
A la �n de cet article, les auteurs proposent quelques heuristiques pour am�eliorer
la recherche d'un arbre recouvrant dont la base fondamentale de cycles associ�ee
est minimale. Ils conjecturent en�n que la borne sup�erieure de la taille de la base
minimale de cycles fondamentaux est de l'ordre de O(n2). Cette hypoth�ese est �etay�ee
par les travaux de [Horton, 1987] qui a montr�e qu'elle se con�rme dans le cas d'une
base minimale de cycles quelconques (la taille d'une telle base �etant major�ee par32(n� 1)(n � 2)).
3.4.2 Base de taille minimale
Il appara�t n�ecessaire d'insister ici sur la di��erence majeure qui existe entre une
base fondamentale minimale et une base minimale. En e�et, une base fondamentale
de cycles est n�ecessairement li�ee �a un arbre recouvrant. Par contre, il peut exister
des bases de cycles qui ne sont li�ees �a aucun arbre recouvrant. La �gure 3.6 donne un
exemple de graphe pour lequel aucune base fondamentale ne constitue une base mi-
nimale. Si le probl�eme de la recherche d'une base fondamentale minimale
est NP-Complet, nous verrons que le probl�eme de la recherche d'une
base minimale, non n�ecessairement fondamentale, est polynomial.
Dans le cadre de l'algorithmique d�evelopp�ee en chimie, la notion de base mini-
male, non n�ecessairement fondamentale, a donn�e naissance au concept de ((plus petit
ensemble des plus petits cycles )) souvent appel�e S.S.S.R (Smallest Set of Smallest
Rings).
3.4. Bases de cycles de taille minimale 53
a
b
Fig. 3.6 { Le plus petit ensemble fondamental de cycles associ�e �a un arbre recou-
vrant ne correspond pas n�ecessairement �a la base de cycles de taille minimale. Dans
l'exemple ci-dessus, tout ensemble fondamental associ�e �a un arbre recouvrant ne
poss�edera au plus que 3 cycles de taille 3 (plus un de taille 4 obtenu pour l'arete b)
contrairement �a la base minimale qui contient 4 cycles de taille 3.
3.4.2.1 Calcul d'une base minimale �a partir d'une base fondamentale
Dans la mesure o�u la base de cycles la plus facile �a calculer est une base fon-
damentale, il n'est pas �etonnant de constater qu'un certain nombre d'algorithmes
de recherche d'une base minimale commencent par calculer une base fondamentale.
Le principe g�en�eral de ces m�ethodes consiste �a remplacer les cycles appartenant �a
l'ensemble fondamental initial BI par des sommes de cycles plus petites. Soit plus
formellement :
8Ci; Cj 2 BI; garder les deux plus petits cycles parmi Ci; Cj et Ci + Cj
L'utilisation de ce simple m�ecanisme (comme dans [Wipke et Dyott, 1975]) ne ga-
rantit pas forc�ement l'obtention d'une base minimale. C'est pourquoi [Corey et Pe-
tersson, 1972] propose d'optimiser la base r�eduite ainsi obtenue. Cet algorithme est
malheureusement trop compliqu�e et impr�ecis pour qu'il soit possible d'en �evaluer la
validit�e et la complexit�e r�eelles.
Nous citerons en�n les travaux de [Hendrickson et al., 1984] qui, �a partir d'une
repr�esentation matricielle particuli�ere (appel�ee ((matrice d'adjacence maximale))),
parvient �a obtenir directement une base fondamentale de faible poids. �Evidemment,
il ne s'agit pas n�ecessairement d'une base minimale, surtout dans le cas de syst�emes
cycliques complexes.
54 Chapitre 3. Histoires de cycles
3.4.2.2 Recherche directe d'une base minimale
L'optimisation d'une base fondamentale ne semble pas constituer une m�ethode
tr�es e�cace pour construire une base minimale. De nombreux travaux ont donc
port�e sur la recherche directe d'une base minimale. Les algorithmes que nous allons
�evoquer dans ce paragraphe sont assez h�et�eroclites. Il semblerait que le probl�eme de la
recherche d'une base minimale ait �et�e surtout trait�e dans des travaux d'informatique
chimique. Il faut pr�eciser que devant la quantit�e de r�esultats obtenus dans ce domaine,
il est n�ecessaire de faire un choix que nous baserons sur un crit�ere d'originalit�e
des heuristiques employ�ees. Si certaines de ces techniques s'av�erent erron�ees, il faut
remarquer qu'elles s'inscrivent dans le cadre de graphes mol�eculaires o�u elles donnent
de bons r�esultats dans la majorit�e des cas.
Les algorithmes utilisant une base fondamentale associent �a chacune des � aretes
n'appartenant pas �a l'arbre recouvrant un cycle qui n'est pas n�ecessairement mini-
mal. Le principe g�en�eral des algorithmes, que nous quali�erons de ((directs )), consiste
�a rechercher pour chaque arete un des cycles minimaux qui la contiennent. Malheu-
reusement, le nombre de cycles obtenus par cette m�ethode est g�en�eralement inf�erieur
au nombre cyclomatique. Toute la di�cult�e du probl�eme r�eside donc dans l'ajout
de nouveaux cycles �a cet ensemble initial jusqu'�a l'obtention d'une base minimale
compl�ete.
3.4.2.2.1 Faces d'une repr�esentation planaire
Les premiers travaux que nous allons �etudier sont dus �a [Zamora, 1976]. Bien
qu'ils n'utilisent pas la notion d'arbre recouvrant, ils reposent sur le principe de
couverture des aretes du graphe par des cycles minimaux. Plus pr�ecis�ement, Zamora
emploie une classi�cation des syst�emes cycliques d�ecrite dans la �gure 3.7.
Partant de ce principe, l'algorithme recherche le plus petit cycle attach�e �a un
sommet, puis recommence avec un sommet non atteint et ainsi de suite jusqu'�a
ce que tous les sommets aient �et�e atteints. On obtient ainsi les cycles de type I. La
recherche se poursuit ensuite �a partir des aretes non atteintes jusqu'�a ce que le graphe
soit recouvert (type II). Ce m�ecanisme s'arrete d�es que le nombre cyclomatique est
atteint. Malheureusement, si le nombre de cycles n�ecessaires n'est pas obtenu �a la �n
de la deuxi�eme phase (syst�eme cyclique de type III), Zamora propose de rechercher
3.4. Bases de cycles de taille minimale 55
I II III
Fig. 3.7 { Les trois types de syst�emes cycliques d'apr�es Zamora. I : aucun sous
ensemble de cycles d'une base minimale ne couvre le graphe, II : il existe un sous-
ensemble qui couvre les sommets mais pas les aretes, III : il existe un sous-ensemble
qui couvre les sommets et les aretes.
les (( faces manquantes )) . C'est lors de cette derni�ere �etape que l'algorithme peut
etre mis en �echec. Le probl�eme repose sur l'absence de relation directe entre une
base minimale et les faces d'une repr�esentation planaire du graphe.
Pour un graphe planaire (comme la plupart des mol�ecules), l'ensemble des faces
int�erieures associ�ees �a une repr�esentation planaire constitue une base de cycles. Cette
propri�et�e se v�eri�e ais�ement �a partir des deux remarques suivantes :
� le nombre de faces int�erieures est �egal au nombre cyclomatique
� l'ensemble des cycles associ�es aux faces int�erieures est lin�eairement ind�ependant.
Bien qu'une telle base de cycles soit relativement facile �a calculer, elle poss�ede
l'inconv�enient majeur de n'etre que rarement minimale. Tout d'abord parce que
les repr�esentations planaires d'un meme graphe ne correspondent pas toutes �a des
bases minimales. Ensuite, et c'est plus grave, parce que certains graphes n'admettent
aucune repr�esentation planaire dont la base de cycles associ�ee soit minimale. La
�gure 3.8 donne un exemple de ce type de graphes. Nous reviendrons sur cette notion
de faces dans le paragraphe 3.6.3 �a propos des bases de cycles �etendues.
3.4.2.2.2 Vers un algorithme polynomial
L'algorithme de Zamora que nous venons d'�etudier ne garantit pas l'obtention
d'une base. L'id�ee de rechercher un ensemble de cycles couvrant toutes les aretes
56 Chapitre 3. Histoires de cycles
Fig. 3.8 { Quelle que soit la repr�esentation planaire utilis�ee pour ces graphes, la
base de cycles qui lui est associ�ee n'est pas minimale. Pour le graphe de gauche, il
manque le cycle de taille 4 et pour celui de droite (la mol�ecule de [1.1.1] Propellane)
on ne peut jamais obtenir les trois cycles de taille 3.
ou les faces du graphe n'est pas satisfaisante. En e�et, il su�t parfois de moins
de � cycles pour recouvrir tout le graphe. La notion de base fondamentale garantit,
quant �a elle, l'obtention d'une ensemble de cycles dont le cardinal est �egal au nombre
cyclomatique.Chacune des � aretes de fermeture de cycle est alors associ�ee �a un cycle
fondamental qui lui est propre.
Cette id�ee d'utiliser les aretes de fermeture de cycle a �et�e reprise par [Gasteiger
et Jochum, 1979] pour construire une base minimale. Bien que leur algorithme ne
propose qu'une heuristique, il n'est pas sans int�eret de d�etailler ici cette m�ethode qui
poss�ede l'�el�egance de la simplicit�e.
On commence par calculer un arbre recouvrant �a l'aide d'un parcours en largeur
�a partir d'un sommet racine quelconque. On recherche ensuite, dans tout le graphe,
le plus petit cycle associ�e �a chacune des aretes de fermeture de cycle (le cycle associ�e
�a l'une de ces aretes pouvant tr�es bien en contenir d'autres).
Malheureusement, lorsqu'un meme cycle est obtenu pour deux aretes di��erentes
l'ensemble �nal de cycles ne constitue pas une base. Pour surmonter ce probl�eme,
les auteurs de l'article proposent de remplacer les aretes du graphe qui font partie
de l'arbre recouvrant par des arcs dirig�es vers la racine. Le plus petit cycle associ�e
�a une arete de fermeture de cycle n'est alors recherch�e que dans la direction de la
racine de l'arbre (voir �gure 3.9.a).
3.4. Bases de cycles de taille minimale 57
21
ba
racine
a) En recherchant (dans le graphe entier)
le plus petit cycle associ�e �a chaque arete de
fermeture de cycle on ne trouve que le cycle
2. Si l'on oriente la recherche en direction
de la racine de l'arbre, on obtient le cycle 1
pour l'arete a et le cycle 2 pour l'arete b.
racine
b) La mol�ecule du bullvalene o�re un
contre-exemple �a cette heuristique. Le
cycle de taille 3 n'est associ�e �a aucune
liaison de fermeture de cycles bien qu'il
fasse partie de toute base minimale.
Fig. 3.9 { L'heuristique de Gasteiger et Jochum
Il existe cependant des graphes pour lesquels cette technique ne permet pas l'ob-
tention d'une base minimale. C'est le cas de la mol�ecule de bullvalene comme le
montre la �gure 3.9.b. Les auteurs proposent alors une �evaluation de (( la complexit�e
du syst�eme cyclique )) permettant de d�etecter les cas o�u la recherche doit etre recom-
menc�ee �a partir d'un nouvel arbre recouvrant. Une rapide analyse de ce crit�ere de
(( complexit�e )) montre qu'il est souvent erron�e.
Nous pourrions cependant envisager une l�eg�ere modi�cation de l'heuristique de
Gasteiger. Il s'agit d'a�ner l'orientation du graphe en num�erotant les aretes suivant
l'ordre dans lequel elles sont atteintes lors du parcours en largeur �a partir du sommet
racine. La recherche du cycle contenant une arete de fermeture de cycle se fait tou-
jours en se restreignant aux aretes de num�ero inf�erieur. Cette d�emarche permet de
r�esoudre le probl�eme du bullvalene puisqu'une des aretes du cycle de taille 3 poss�ede
un num�ero sup�erieur aux deux autres, bien qu'elles correspondent au meme degr�e de
profondeur.
Malheureusement, notre nouvelle heuristique peut etre mise en d�efaut comme le
montre la �gure 3.10. Dans cet exemple, bien que le nombre cyclomatique soit atteint
en associant �a chaque arete de fermeture de cycle le plus petit cycle de num�eros
58 Chapitre 3. Histoires de cycles
racine1
15
16
17
20
23
24 2
3
4
5
6
7
8
9
10
11
12
1314
18
19
22
21
Fig. 3.10 { Un contre-exemple relatif �a la modi�cation de l'heuristique de Gasteiger
et Jochum
inf�erieurs, la base obtenue ne contient pas le cycle de taille 4 (puisque chaque arete
de ce cycle est associ�ee �a un cycle de taille 3). Cette base n'est pas minimale.
3.4.3 Un algorithme polynomial
Les deux algorithmes que nous venons d'�etudier ne garantissent pas l'obtention
d'une base de taille minimale. Comme pour bon nombre d'algorithmes dans le meme
cas, cette faiblesse peut etre imput�ee �a la trop grande ambition de la m�ethode em-
ploy�ee. En e�et, ces algorithmes essaient de trouver une base minimale non seulement
en utilisant un unique arbre recouvrant, mais surtout en ne construisant directement
que les cycles appartenant �a la base recherch�ee. La solution consiste �a construire un
ensemble de cycles de taille sup�erieure �a � dont on extrait ensuite une base minimale.
Cette m�ethode a �et�e employ�ee avec succ�es par [Horton, 1987] dont nous �etudie-
rons l'algorithme dans le prochain paragraphe. Le principe de cet algorithme semble
particuli�erement judicieux puisqu'il �a �et�e publi�e au moins quatre fois. La premi�ere
pr�esentation est due �a [Sorkau, 1985]. Malheureusement, dans cet article �ecrit en al-
lemand et certainement peu di�us�e, Sorkau n'a pas jug�e utile de montrer la validit�e
de son algorithme, ni meme d'en �etudier la complexit�e. Par contre, Horton s'est plei-
nement acquitt�e de ces deux taches. Il est d'ailleurs dommage que la similitude entre
ces deux algorithmes n'ait pas �et�e relev�ee dans la revue des articles consacr�es aux
bases minimales de [Downs et al., 1989a]. Plus surprenante encore est la publication
par [Leach et al., 1990], sans r�ef�erence aux travaux ant�erieurs, d'un algorithme l�eg�e-
3.4. Bases de cycles de taille minimale 59
rement di��erent mais bas�e sur le meme principe. Nous reviendrons sur cet algorithme
dans le paragraphe 3.4.3.4 o�u nous �evoquerons aussi l'article [Balducci et Pearlman,
1994] qui utilise une m�ethode semblable.
3.4.3.1 L'algorithme de Horton
L'algorithme pr�esent�e par Horton repose principalement sur le th�eor�eme suivant :
Th�eor�eme 1 Pour tout sommet x d'un cycle C appartenant �a une base de taille
minimale, il existe une arete fy; zg telle que C est compos�e d'une plus courte
cha�ne reliant x �a y, d'une plus courte cha�ne reliant x �a z et de l'arete fy; zg.
La d�emonstration de ce th�eor�eme consiste principalement �a montrer que dans le
cas contraire on n'aurait pas une base minimale (puisqu'il su�rait de remplacer C
par un cycle v�eri�ant la propri�et�e pour obtenir une base plus petite). Notons qu'il
s'agit l�a d'une condition n�ecessaire. L'ensemble des cycles v�eri�ant cette propri�et�e ne
constitue pas forc�ement une base minimale. L'algorithme de Horton consiste donc �a
ne garder ensuite qu'un plus petit ensemble libre de cardinal �egal au nombre cyclo-
matique �.
Il en d�ecoule l'algorithme suivant qui s'applique �a une composante 2-connexe :
1. 8a; b 2 X chercher une cha�ne P (a; b) de longueur minimum reliant a �a b.
2. Pour tout v 2 X faire :
Pour tout fx; yg 2 E faire :
Si P (v; x) \ P (v; y) = fvg
Alors cr�eer le cycle C(v; x; y) = P (v; x) [ P (v; y) [ fx; yg
3. Ordonner l'ensemble CI des cycles obtenus en fonction de leur taille
4. Utiliser un algorithme glouton pour en d�eduire une base de taille minimale.
En dehors du probl�eme de la complexit�e, Horton s'est d'abord attach�e �a prouver
que son algorithme permet bien d'obtenir une base de taille minimale. La princi-
pale di�cult�e repose sur le choix a priori d'une cha�ne particuli�ere parmi toutes les
cha�nes minimales qui relient deux sommets x et y. La d�emarche employ�ee par Hor-
ton consiste �a prouver qu'une base minimale quelconque B peut etre remplac�ee par
une base de cycles uniquement compos�es �a l'aide des cha�nes initialement choisies.
60 Chapitre 3. Histoires de cycles
Nous n'allons pas reprendre ici l'int�egralit�e de cette preuve. Nous en ferons simple-
ment un rapide r�esum�e en insistant plus particuli�erement sur certains points qui nous
paraissent insu�samment d�evelopp�es dans l'article de Horton. Nous proposons donc
la d�emonstration suivante (illustr�ee par la �gure 3.11) :
Soit B une base de cycles de taille minimale (�gure 3.11.4). Comme dans
la preuve de Horton, on remplace dans chaque cycle de B toute cha�ne
minimale reliant deux sommets u et v par la cha�ne choisie lors de la pre-
mi�ere �etape (en proc�edant dans l'ordre croissant des tailles des cha�nes).
Si tous les ensembles d'aretes ainsi engendr�es sont des cycles �el�ementaires,
on obtient une base minimale.Dans le cas contraire (�gure 3.11.5) le cycle
de la base initiale qui a engendr�e un ((monstre)) peut etre remplac�e par
un cycle �el�ementaire construit �a partir des cha�nes qui ont �et�e choisies
(�gure 3.11.6).
En e�et, s'il existe dans la base initiale un cycle contenant les sommets v,
x et y, c'est qu'il existe dans le graphe une cha�ne [v; :::; z; y] qui n'a pas
d'aretes communes avec la cha�ne choisie pour aller de v �a x (�gure 3.11.3)
et telle que la sous-cha�ne [v; :::; z] ait �et�e choisie pour relier v �a z. Dans
le cas contraire, le cycle de la base initiale serait court-circuit�e par la
cha�ne [p:::w:::q] reliant la cha�ne choisie entre v et x �a la cha�ne choisie
entre v et z. Le cycle initial pourrait alors etre remplac�e dans B par le
cycle [p; :::; x; y; z; :::; q; :::; w; :::p] qui constituerait un de ses composants
strictement plus petit que lui 5 . Ce qui est contraire �a l'hypoth�ese de base
minimale pour B 2
3.4.3.2 Complexit�e de l'algorithme
En terme de complexit�e, l'analyse de l'algorithme de Horton peut se r�esumer
ainsi :
La premi�ere �etape correspond �a des parcours en largeur du graphe et peut etre
r�ealis�ee enO(nm) op�erations. La deuxi�eme�etape correspond �a la g�en�eration d'au plus
5. Si le cycle C = C1 + C2 appartient �a une base de cycles B alors (B n fCg) [ fC1g ou bien
(B n fCg) [ fC2g constitue aussi une base.
3.4. Bases de cycles de taille minimale 61
x
yv
x
yv
x
yv
w
3)
q
p
1) graphe initial
x
yv
yv
x
4) base minimale B
x
yv
x
yv
vy
x
z
zz
2) chaînes minimales choisies
5) ensemble engendré à partirde 4) par les chaînes choisies
6) base minimale correspondantaux chaines choisies
Fig. 3.11 { Illustration de la preuve de l'algorithme de Horton.
n�m cycles de taille au plus �egale �a 2 �(G) (o�u �(G) d�esigne le diam�etre du graphe).
Pour �eliminer les cycles ((d�eg�en�er�es)) (i.e. ni simples, ni �el�ementaires), il faut v�eri�er
si les cha�nes P (v; x) et P (v; y) sont disjointes. Ce qui donne �nalement une com-
plexit�e en O(n �(G)m) pour cette seconde �etape. On pourrait cependant envisager
de n�egliger l'�elimination des cycles non �el�ementaires pour ramener cette complexit�e
�a O(nm). Cette variante, sugg�er�ee par Horton, ne garantit pas une am�elioration glo-
bale de l'algorithme. Le nombre de cycles �el�ementaires est en e�et souvent n�egligeable
par rapport au nombre de cycles ((d�eg�en�er�es)). Or, c'est le nombre de cycles obtenus
lors de l'�etape 2 qui conditionne le cout des �etapes suivantes et tout particuli�erement
de l'�etape 4 qui est la plus gourmande en termes de complexit�e.
Si l'on conserve tous les cycles �el�ementaires obtenus lors de l'�etape 2, chaque cycle
C de cardinal jCj appara�tra jCj fois. Il est donc important d'�eliminer les occurrences
multiples dans l'ensemble construit lors de cette �etape. Pour ce faire, Horton propose
d'utiliser la m�ethode de [Tierman, 1970] qui d�e�nit un ordre � quelconque sur les
sommets du graphe. Lorsqu'un sommet x est �etudi�e, on ne retient que les cycles
compos�es exclusivement de sommets pr�ec�edant x dans l'ordre �. De ce fait, le nombre
de cycles trouv�es dans l'�etape 2 pour le ki�eme sommet correspond au nombre d'aretes
de fermeture de cycle du sous graphe engendr�e par les k premiers sommets. Cette
valeur correspond au nombre cyclomatique �k associ�e �a ce sous-graphe (soit(k�1)(k�2)
2
62 Chapitre 3. Histoires de cycles
dans le cas d'un sous-graphe complet). Ce qui donne �nalement pour l'ensemble du
graphe un nombre total de cycles major�e par n� (soit n(n�1)(n�2)6
pour un graphe
complet).
La troisi�eme �etape se limite �a un tri des O(n�) cycles obtenus pr�ec�edemment. Sa
complexit�e est donc O(n � log n)). On remarquera au passage que le tri des cycles
peut etre r�ealis�e directement en O(n�) en utilisant un tableau de n listes de cycles
correspondant aux n tailles possibles de cycles �el�ementaires.
L'�etape 4 consiste en�n �a rechercher un sous-ensemble libre dont la taille est
�egale au nombre cyclomatique �. La d�etermination de l'ind�ependance des cycles se
fait �a l'aide d'un algorithme glouton. Pour savoir si un cycle donn�e est lin�eairement
ind�ependant des t cycles d�ej�a retenus, il su�t de v�eri�er que la matrice bool�eenne
(t + 1) � m correspondant aux (t + 1) cycles est inversible (Chaque cycle �etant
repr�esent�e par une ligne de la matrice contenant des 0 ou des 1 suivant que l'arete
correspondante appartient ou non au cycle). En r�ealisant par exemple une �elimination
gaussienne sur cette matrice bool�eenne, on peut v�eri�er l'ind�ependance en O(mr) o�u
r est le nombre de lignes. Le nombre de cycles �a tester �etant de l'ordre de O(n �) et la
taille de la matrice �etant limit�ee �a � lignes on obtient �nalement une complexit�e en
O(m�2 n). La quatri�eme �etape �etant la plus couteuse, on en d�eduit que la complexit�e
globale de l'algorithme de Horton est en O(m�2 n).
Horton a en�n montr�e que la longueur d'une base minimale de cycles dans un
graphe dont les aretes ne sont pas valu�ees est au plus �egale �a 32(n � 1)(n � 2). Ce
r�esultat accr�edite la conjecture de [Deo et al., 1982] �enonc�ee au paragraphe 3.4.1
puisqu'il la d�emontre dans le cadre d'une base de cycle quelconque (i.e. non li�ee �a
un arbre recouvrant).
3.4.3.3 R�eduction de la taille de l'ensemble CI
Nous allons proposer maintenant une m�ethode pour d�eterminer un nouvel en-
semble initial de cycles CI dont est extraite la base minimale dans l'algorithme de
Horton. Ce nouveau mode de calcul de CI nous permet d'introduire une variante de
l'algorithme qui r�eduit le nombre de cycles de cet ensemble initial. Nous avons vu
dans le paragraphe pr�ec�edant que la taille de CI conditionne le cout de la derni�ere
3.4. Bases de cycles de taille minimale 63
�etape et par l�a meme toute la complexit�e de l'algorithme. En diminuant la taille de
cet ensemble nous pouvons r�eduire le temps global de calcul.
L'algorithme de Horton pouvant s'appliquer �a un graphe muni d'une valuation
positive, une version de notre variante adapt�ee �a ce type de graphe sera pr�esent�ee
dans l'annexe A.
Consid�erons pour tout sommet r 2 X la base fondamentale Br associ�ee �a un
arbre recouvrant obtenu par un parcours en largeur �a partir de r. Un ensemble de
cycles �equivalent �a CI peut alors se d�e�nir �a partir de l'union des bases fondamen-
tales associ�ees �a chaque sommet du graphe. On ne retient pour chaque ensemble
fondamental que les cycles qui contiennent la racine r du parcours correspondant.
Soit plus formellement :
CI =[r2XfC 2 Br tel que r 2 Cg
Bien que l'ensemble CI obtenu �a l'aide de cette notion ne corresponde pas di-
rectement �a la d�e�nition de Horton, ces deux principes restent tr�es voisins. Tout
cycle appartenant �a ce nouveau CI v�eri�e la propri�et�e du th�eor�eme 1 puisqu'il a
�et�e obtenu par un parcours en largeur. En terme de complexit�e, les deux d�e�nitions
conduisent �a un algorithme de calcul de CI en O(mn2) (en tenant compte du cout
de l'�enum�eration de chaque cycle).
Ce nouvel ensemble initial CI permet d'�eliminer directement certains cycles qui
ne peuvent pas appartenir �a la base minimale. Nous allons maintenant pr�esenter la
propri�et�e qui est utilis�ee dans notre variante pour r�eduire la taille de CI .
Soit � un ordre quelconque sur les sommets de G.
Notons Xr = fx 2 X tel que �(x) � �(r)g et Gr = (Xr ; Er) le sous-graphe de G
induit par Xr.
Consid�erons un sommet quelconque r de X et un sommet x 2 Xr n frg.
Nous d�e�nissons l'ensemble des ((ancetres)) de x (not�e ancetr(x)) par :
ancetr(x) =
8>><>>:a 2 �(r) \ Xr tel que
��������il existe une cha�ne minimale dans G
reliant r �a x, passant par a et dont
tous les sommets appartiennent �a Xr
9>>=>>;
64 Chapitre 3. Histoires de cycles
rza
p
q
r
p
xza
qa
a y
y a
a y
y
p p
q q
p p
q q
Fig. 3.12 {
Proposition 1 Soit C 2 CI un cycle construit �a partir du sommet r (tel que
�(r) = maxx2C �(x)) et des sommets p; q tels que dist(r; p) = dist(r; q) =j jCj�1
2
kSi ancetr(p) \ ancetr(q) 6= ? alors C n'appartient �a aucune base minimale.
D�emonstration
Consid�erons un cycle C 2 CI compos�e des deux cha�nes minimales
[r; ap; :::; p] et [r; aq; :::; q] reli�ees par l'arete fp; qg si jCj est impair ou par
la cha�ne minimale [p; x; q] dans les autres cas (voir �gure 3.12).
Supposons qu'il existe un sommet a tel que a 2 ancetr(p) \ ancetr(q) .
Notons yp (respectivement yq) le premier sommet de la cha�ne [r; ap; :::; p]
(resp. [r; aq; :::; q]) qui poss�ede a parmi ses ancetres.
Le cycle C (en gras dans la �gure 3.12) constitue la somme de trois
cycles C1 = [r; ap; :::; yp; :::; z; :::; a; r], C2 = [r; aq; :::; yq; :::; z; :::; a; r] et
C3 = [z; ::; yp; ::; p; x; q; ::; yq; ::; z] 6 o�u z d�esigne le dernier sommet com-
mun aux cha�nes [r; a; :::yp] et [r; a; :::yq] .
Tous ces cycles sont de taille au plus �egale �a 2j jCj�1
2
k< jCj. Notons
que dans le cas o�u a = aq ou a = ap on obtient seulement deux cycles
strictement plus petits que C. Si C appartenait �a une base B de taille
minimale, en rempla�cant C dans B par C1, C2 ou C3, on obtiendrait une
nouvelle base 5 plus petite que B. Ce qui entra�ne une contradiction 2
La proposition 1 conduit �a une variante permettant d'�eliminer directement cer-
tains cycles de l'ensemble CI sans devoir tester l'ind�ependance d'un ensemble de
cycles comme dans l'�etape 4 de l'algorithme de Horton. Elle permet �egalement de
d�eterminer s'il existe un cycle �el�ementaire reliant les sommets r, p et q sans avoir �a
6. ou bien C3 = [z; :::; yp; :::; p; q; :::; yq; :::; z] lorsque jCj est impair.
3.4. Bases de cycles de taille minimale 65
parcourir les cha�nes [r; ::; p] et [r; ::; q] pour v�eri�er si elles sont disjointes. Cette va-
riante, remplace les deux premi�eres �etapes de l'algorithme de Horton par la m�ethode
suivante :
1. Pour chaque r 2 X faire :
Pour chaque arete de fermeture de cycles fp; qg 2 Er,
obtenue lors d'un parcours en largeur �a partir de r, faire :
Si ancetr(p) \ ancetr(q) = ? Alors ajouter le cycle C(r; p; q) dans CI
La principale di�cult�e r�eside dans la d�etermination des ensembles ancetr(x) lors
du parcours en largeur �a partir de r. Consid�erons un sommet p dont on conna�t
l'ensemble ancetr(p) et un sommet f pouvant etre atteint �a partir de p :
� si le nouveau sommet f n'a jamais �et�e atteint alors ancetr(f) = ancetr(p)
� si f est d�ej�a atteint et dist(r; f) > dist(r; p)
alors ancetr(f) = ancetr(f) [ ancetr(p)
L'ensemble ancetr n'est donc r�eellement calcul�e que pour chaque arete de fer-
meture de cycle dont les deux extr�emit�es n'ont pas le meme niveau de profondeur
(relativement au parcours en largeur �a partir de r). La mise en �uvre de la variante
lors de la construction des cycles de CI relativement au sommet r, sera r�ealis�ee en
O(� d(r)) (le pire cas correspondant �a un graphe sans cycles impairs). Si, comme dans
l'algorithme de Horton, on n'utilise pas l'ensemble des ancetres, il faut v�eri�er pour
chaque cycle qu'il est bien compos�e de deux cha�nes disjointes. Cette v�eri�cation, qui
serait r�ealis�ee en O(dist(r; p)), devient inutile lorsqu'on emploie notre variante.
Pour la globalit�e du calcul de CI , la d�etermination des ((ancetres)) est donc r�ea-
lis�ee en O(� n �d(G)) o�u �d(G) d�esigne le degr�e moyen des sommets du graphe (i.e.�d(G) = 1
n
Px2X d(x)). Cette complexit�e doit etre compar�ee au temps de calcul n�e-
cessaire, dans l'algorithme de Horton, pour �eliminer les cycles d�eg�en�er�es, c'est �a dire
O(� n �(G)).
Notre variante permet donc d'optimiser l'algorithme lorsque le degr�e moyen du
graphe est plus petit que son diam�etre. Par exemple, lorsque le degr�e moyen est
born�e, la complexit�e du calcul des ensembles d'ancetres se r�eduit �a O(� n).
En chimie organique, le diam�etre d'un graphe mol�eculaire est souvent fonction
du nombre n de sommets. Par contre le degr�e maximal peut etre born�e par la valeur
66 Chapitre 3. Histoires de cycles
X 2X 1
a1
r
z
z
z
z
a t
al
i jb
b k
4
3
2
1
Fig. 3.13 { Un graphe pour lequel la variante permet un gain de temps maximal
8. On peut donc facilement repr�esenter chaque ensemble d'ancetres par un vecteur
de bits et r�ealiser toutes les op�erations en O(1).
Quoi qu'il en soit, le cout du traitement des ancetres lors de la construction
de CI reste en O(m2) pour un graphe quelconque. Cette complexit�e est d'ailleurs
relativement faible par rapport �a la complexit�e globale de l'algorithme qui est en
O(m�2 n). La proposition 1 permet g�en�eralement d'�eliminer de nombreux cycles
de CI avec un cout comparable �a celui du test d'un seul cycle lors de l'�etape 4
de l'algorithme de Horton (i.e. O(� m)). Notre variante est donc souvent amen�ee �a
am�eliorer l'algorithme de Horton, meme lorsque le degr�e moyen du graphe n'est pas
born�e.
Consid�erons, par exemple, le graphe de la �gure 3.13 construit autour du biparti
complet entre les sous-ensembles de sommets X1 et X2 (o�u jX1j = jX2j). Toute base
minimale de cycles devra contenir le cycle C1 = [r; a1; z1; z2; z3; z4; r] poss�edant 6
sommets et jX1jjX2j�1 cycles de 4 sommets de la forme [r; ai; bj; al; r] ou [t; bj; ai; bk; t]
(avec 8p; ap 2 X1 et 8p; bp 2 X2). Lors de la construction de CI , l'�etude du sommet
r doit entra�ner la cr�eation d'autant de cycles [r; ai; bj; t; bk; al; r] de taille 6 qu'il y a
d'aretes fbj; tg. Tous ces cycles seront directement �elimin�es grace �a la proposition 1
alors que la phase 4 de l'algorithme de Horton devrait e�ectuer O(n � m) op�erations
(pour peu que C1 soit test�e en dernier). La variante bas�ee sur les ancetres communs
peut donc apporter une r�eduction du temps de calcul de l'ordre de O(n � m) avec un
cout �equivalent au temps de traitement d'un seul cycle de CI . Nous verrons dans le
paragraphe 3.7, que l'utilisation des ancetres est particuli�erement int�eressante lors
de la construction d'un ensemble de cycles pertinents.
3.4. Bases de cycles de taille minimale 67
3.4.3.4 Deux algorithmes analogues �a la m�ethode de Horton
Pour conclure cette �etude des algorithmes de calcul d'une base minimale, nous
allons revenir un instant sur deux articles post�erieurs �a celui de Horton mais utilisant
des m�ethodes semblables.
Nous avons d�ej�a �evoqu�e l'algorithme propos�e par [Leach et al., 1990]. La m�ethode
qu'ils emploient peut se r�esumer ainsi : Apr�es avoir construit un arbre recouvrant,
on commence par chercher le (ou les) plus petit(s) cycle(s) associ�e(s) �a chaque arete
de fermeture de cycle. Si un ensemble libre et g�en�erateur n'est pas obtenu, on re-
commence en cherchant les seconds plus petits cycles et ainsi de suite jusqu'�a ce que
l'ensemble de cycles obtenu contienne une base minimale.
Le lecteur perspicace aura certainement not�e que l'algorithme de Horton construit
un ensemble initial de cycles tout �a fait similaire quoique g�en�eralement plus petit
que celui de Leach. La di��erence majeure entre ces deux approches peut se r�esumer
ainsi : Horton construit un unique ensemble initial, dont il extrait une base minimale;
par contre, Leach fabrique des ensembles de plus en plus gros jusqu'�a ce qu'il trouve
une base minimale. Cette derni�ere m�ethode peut s'av�erer plus e�cace si la base
est obtenue lors des toutes premi�eres recherches. Mais globalement, le cout de ces
investigations successives rend cet algorithme moins int�eressant que celui de Horton.
Il faut pr�eciser que l'absence de d�etails dans la description de l'algorithme de
Leach rend cette comparaison relativement di�cile. Dans la variante de l'algorithme
de Horton que nous avons �etudi�ee, on r�ealise successivement un parcours en largeur �a
partir de chaque sommet du graphe. On ne cherche �a construire la base minimale que
lorsque tous les parcours ont �et�e e�ectu�es. La m�ethode propos�ee par Leach revient �a
r�ealiser en meme temps tous les parcours en largeur �a partir des sommets du graphe.
Ces parcours sont interrompus d�es que l'on a trouv�e au moins un nouveau cycle pour
chaque sommet. On recherche alors la base minimale parmi les cycles d�ej�a construits.
Si cette recherche �echoue, les parcours sont repris l�a o�u ils ont �et�e interrompus.
Cette id�ee de r�ealiser tous les parcours en meme temps �a �et�e utilis�ee par [Balducci
et Pearlman, 1994]. Ces derniers proposent ainsi (mais sans le dire) une mise en �uvre
plus pr�ecise de l'algorithme de Leach. Il serait particuli�erement fastidieux d'exposer
en d�etail l'algorithme de Balducci et Pearlman. Pr�ecisons simplement qu'ils d�ecrivent
les divers parcours en largeur sous la forme d'envois de messages entre les sommets
68 Chapitre 3. Histoires de cycles
a
10 10
f
0
d
g
b
0
65
c
4321
c
d
f
b
a
efirst = 1
BEEP : 10000
nfirst = a
efirst = 1
nlast = a
BEEP : 100000
nfirst = a
efirst = 1
nlast = b
BEEP : 110000
nfirst = a
efirst = 1
nlast = c
BEEP : 111000
nfirst = a
efirst = 6
nlast = g
nfirst = a
efirst = 6
nlast = d
nfirst = a
BEEP : 10000
efirst = 1
BEEP : 11000
efirst = 1
BEEP : 11100
nlast = a
nlast = b
nfirst = f
nlast = f
nfirst = f
nfirst = f
efirst = 1efirst = 6
nlast = a
nfirst = a
nlast = d
nfirst = a
BEEP : 10001
nfirst = a
nlast = f
BEEP : 000011
efirst = 1
BEEP : 10011
BEEP : 000001
nfirst = a
nlast = d
efirst = 6
efirst = 1
BEEP : 000011
BEEP : 000111
nlast = a
4
I
3
cycle impaircycle pair
II
III
52II
II
premier noeud
première arête
dernier noeud
BEEP = chemin parcouru par le message
numéro des arêtes
bits
Pronfondeur de parcours
1
I
2
6
3 4
1
5
I
II
III
II
IIIIII
I
Fig. 3.14 { Envois de messages dans l'algorithme de [Balducci et Pearlman, 1994].
du graphe baptis�es ((n�uds)). Il semblerait d'ailleurs que les auteurs de cet article ne
se soient pas rendu compte que leur algorithme se ram�ene �a des parcours en largeur.
Chaque message correspond �a une cha�ne minimale dans le graphe dont l'origine
est �egale �a la racine du parcours en largeur correspondant. Un message est compos�e
d'un vecteur BEEP de m bits d�ecrivant la cha�ne parcourue et de trois champs
n�rst , e�rst et nlast pr�ecisant respectivement les noms du premier n�ud, de la
premi�ere arete et du dernier n�ud travers�es. La �gure 3.14 donne quelques exemples
de propagation des ces messages.
�A chaque �etape (ou niveau) des parcours en largeur, les n�uds sont s�equentiel-
lement activ�es pour traiter les messages qu'ils ont re�cu. Lorsqu'un n�ud x re�coit
3.4. Bases de cycles de taille minimale 69
deux messages issus d'un meme n�ud racine et dont les cha�nes minimales associ�ees
sont disjointes, il cr�ee un cycle pair d�e�ni par la r�eunion de ces deux cha�nes (voir
�gure 3.14). Si le n�ud x re�coit k messages de ce type (en provenance de k voisins de
x), il cr�eera 12k(k� 1) cycles pairs correspondant �a toutes les combinaisons possibles
de cha�nes. Notons que dans la meme situation, l'algorithme de Horton ne cr�eera
que k � 1 cycles associ�es aux k� 1 aretes de fermeture de cycle entrant en x. Quant
aux cycles de taille impaire, ils sont d�etect�es par un sommet recevant deux messages
disjoints �a l'exception de la premi�ere arete dont chaque extr�emit�e est �a l'origine d'un
des deux messages (voir �gure 3.14).
Comme dans l'algorithme de Leach, on essaie d'agrandir la base minimale cou-
rante �a la �n de chaque niveau des parcours en largeur. En dehors de cette particula-
rit�e, l'algorithme de Balducci et Pearlman di��ere de celui de Horton par le nombre de
cycles pairs engendr�es. Les auteurs de l'article justi�ent ce choix par le fait qu'il o�re
la possibilit�e de construire une ((base minimale pr�ef�er�ee )). Parmi toutes les 12k(k�1)
combinaisons de cha�nes possibles, on peut en e�et choisir celles qui r�epondent le
plus �a des crit�eres li�es �a la nature du cycle engendr�e (nombre d'h�et�eroatomes, nature
des liaisons ou st�er�eochimie).
Cette possibilit�e de s�election des cycles de la base augmente cependant de cout de
l'algorithme. Il n'est pas non plus certain que la m�ethode particuli�erement complexe
que proposent les auteurs soit plus e�cace qu'une simple succession de parcours en
largeur �a partir de chaque sommet du graphe. Quoi qu'il en soit, ces deux d�emarches
ont un cout th�eorique �equivalent. Dans leur �etude de la complexit�e, Balducci et
Pearlman a�rment que leur algorithme est en O(d3n2 log n) (o�u d d�esigne le degr�e
maximal d'un sommet). Ce r�esultat est malheureusement faux.
La partie la plus couteuse de leur algorithme correspond �a l'extraction d'une base
minimale �a partir de l'ensemble de cycles engendr�es. La taille de cet ensemble est
de l'ordre du nombre de cycles pairs. Suite �a une petite erreur de raisonnement,
les auteurs a�rment que cette valeur est en O(d2 n log n). Il su�t de consid�erer le
nombre de cycles de taille 4 dans un graphe biparti complet (i.e. O(d2 n2)) pour
constater que cette majoration est insu�sante. Le nombre de cycles obtenus est
plutot en O(nmd) o�u n correspond aux nombre d'�emetteurs initiaux (les n�srt)
et md �a la somme des combinaisons possibles entre les voisins des n r�ecepteurs
potentiels (i.e.P
x2X d(x)2 � md). Le cout d'une �elimination gaussienne �etant en
70 Chapitre 3. Histoires de cycles
O(� m), on obtient comme complexit�e �nale : O(� m2 nd). Ce r�esultat correspond �a
la complexit�e de l'algorithme de Horton augment�ee d'un facteur d du �a la prise en
compte de toutes les combinaisons de cha�nes.
Lors de la publication de son article en 1987, Horton pr�esentait son algorithme
comme le premier du genre ayant une complexit�e polynomiale. Il semblerait que cet
algorithme soit aussi le seul �a ce jour qui soit ex�ecutable en temps polynomial. Quant
au fait que la m�ethode de Horton ait �et�e plusieurs fois r�einvent�ee depuis, il ne peut
que nous convaincre de l'int�eret de cet algorithme. Bien sur, comme nous l'avons vu
dans le paragraphe pr�ec�edent, des variantes de l'algorithme peuvent permettre de
r�eduire consid�erablement le temps de calcul r�eel, tout en conservant la complexit�e
th�eorique en O(�m2n).
3.5 Recherche de cycles �el�ementaires
En dehors des bases de cycles, le sous-ensemble de C qui est le plus souvent
manipul�e est celui des cycles �el�ementaires. En e�et, un cycle simple est toujours
d�ecomposable en cycles �el�ementaires disjoints. Quant aux autres vecteurs de C, ils
correspondent �a des unions de cycles simples n'ayant aucun sommet en commun.
Nous allons donc �etudier quelques travaux li�es �a la recherche de cycles �el�ementaires.
3.5.1 �Enum�eration de tous les cycles �el�ementaires
Les premiers algorithmes de d�etermination de l'ensemble des cycles �el�ementaires
utilisaient des bases de cycles (principalement fondamentales). C'est le cas de [Welch,
1966] et [Gibbs, 1969]. Le principe de ces algorithmes est tr�es simple : �a partir d'une
base de cycles, on engendre l'ensemble des vecteurs de C puis on �elimine ceux qui ne
correspondent pas �a des cycles �el�ementaires. Malheureusement, cette d�emarche est
g�en�eralement ine�cace. En e�et, [Mateti et Deo, 1975] ont montr�e que cette m�ethode
est susceptible de g�en�erer 2� �1 cycles dont une faible partie correspond �a des cycles
3.5. Recherche de cycles �el�ementaires 71
K3
K4
K4-x K
3,3
Fig. 3.15 { Les quatre graphes r�eduits poss�edant 2� � 1 cycles �el�ementaires.
�el�ementaires. Les seuls graphes r�eduits 7 dont aucun vecteur de C ne correspond �a une
union de cycles �el�ementaires disjoints sont : K3, K4, K4�x et K3;3 (voir �gure 3.15).
Pr�ecisons cependant qu'une ((approche vectorielle)) reste e�cace dans le cadre de
graphes planaires comme l'a montr�e [Syslo, 1981].
Le second type de d�emarche utilis�e pour rechercher les cycles �el�ementaires est
bas�e sur un parcours en profondeur du graphe avec retour arri�ere (backtrack). Il
s'agit d'�enum�erer toutes les cha�nes qui relient deux sommets d et f . L'algorithme
g�en�eralement utilis�e construit une cha�ne �a partir de d en employant la proc�edure
suivante :
Recherche cha�ne ( x,f ) :
? cha�ne courante contient une cha�ne �el�ementaire issue de d
et se terminant en un sommet voisin de x ?
1. Ajouter x �a la cha�ne courante
2. Pour tout y 2 �+(x) faire :
3. Si y = f Alors a�cher le cycle �el�ementaire obtenu
4. Sinon Si y 62 cha�ne courante Alors Recherche cha�ne (y,f );
5. Retirer x de la cha�ne courante
Pour �enum�erer les cycles �el�ementaires du graphe, cette proc�edure peut etre ap-
pliqu�ee �a tous les sommets s par l'appel de recherche cha�ne(s,s). Cette m�ethode
pr�esente cependant l'inconv�enient de g�en�erer un meme cycle autant de fois qu'il
7. la r�eduction appliqu�ee ici �a un graphe non orient�e consiste �a �eliminer les sommets de degr�e 2
dont les deux voisins ne sont pas directement li�es entre eux. La pr�esence de tels sommets ne modi�e
pas le nombre de cycles du graphe.
72 Chapitre 3. Histoires de cycles
x0
1x
2x x
k
s
Fig. 3.16 {
contient de sommets. Pour pallier cette di�cult�e, plusieurs d�emarches ont �et�e pro-
pos�ees. Nous avons d�ej�a �evoqu�e la m�ethode de [Tierman, 1970] qui utilise un ordre �
sur les sommets de fa�con �a restreindre la recherche des cycles contenant un sommet
s aux seuls x 2 X tels que �(x) � �(s). Cette d�emarche �a �et�e optimis�ee par [Read
et Tarjan, 1975]. L'ordre � est d�e�ni par rapport �a un parcours en profondeur sur le
graphe. Il correspond �a l'ordre d'exploration des sommets. Ce parcours construit un
arbre recouvrant T = (X;E0) dont on d�eduit un ensemble d'aretes de fermeture de
cycle E n E0. On n'applique la proc�edure recherche cha�ne(s,s) que sur les sommets
s du graphe qui ont au moins une arete incidente appartenant �a E nE 0. On est ainsi
certain de trouver pour chaque sommet s au moins un cycle qui v�eri�e la contrainte
relative �a l'ordre �. De plus, tous les cycles cr�e�es �a partir de s ne pourront pas etre
engendr�es par d'autres sommets.
Citons en�n la m�ethode employ�ee par [Shelley, 1983]. On commence par recher-
cher un arbre recouvrant G0 = (X;E0). Pour chaque arete fa; bg de EnE0, on ex�ecute
la proc�edure recherche cha�ne(a,b) dans G0 puis on rajoute fa; bg �a G0. L'ensemble
des cycles engendr�es pour fa; bg contient le cycle fondamental qui lui correspond
(dans l'arbre recouvrant initial) ainsi que tous les cycles incluant �a la fois fa; bg et
des aretes ajout�ees �a G0 avant fa; bg. Chaque cycle ne peut donc etre cr�e�e qu'une
seule fois.
Malgr�e toutes ces pr�ecautions pour �eviter les occurrences multiples dans l'en-
semble de cycles engendr�e, ce type de m�ethode est g�en�eralement peu e�cace. De tels
algorithmes peuvent meme avoir un cout exponentiel pour des graphes dont le nombre
de cycles �el�ementaires est polynomial par rapport au nombre de sommets. Consid�e-
rons, par exemple, le graphe de la �gure 3.16. La proc�edure recherche cha�ne(s,s),
�enum�erant tous les cha�nes issues de s, va envisager inutilement les 2k sous-cha�nes
de la forme [x0; :::; xk].
3.5. Recherche de cycles �el�ementaires 73
y1
y2 p
y
1z
2zz
r
s
v
qw w
i+1
wi
w2
w1
Fig. 3.17 {
Ce probl�eme a �et�e r�esolu par [Read et Tarjan, 1975]. Il s'agit de limiter les
(( retours arri�eres )) aux seuls sommets pouvant appartenir �a plusieurs cycles �el�emen-
taires. Comme nous venons de voir, on utilise un parcours en profondeur du graphe
pour d�eterminer l'ordre � permettant de ne trouver chaque cycle qu'une seule fois.
Ce premier parcours d�etermine aussi l'ensemble des sommets s �a partir desquels on
pourra cr�eer au moins un cycle �el�ementaire.
Consid�erons maintenant la recherche des cycles contenant le sommet s. Le prin-
cipe de l'algorithme consiste �a n'e�ectuer le parcours en profondeur issu de s que le
long de cha�nes appartenant �a au moins un cycle �el�ementaire. La nouvelle proc�edure
de recherche (illustr�ee par la �gure 3.17) peut se r�esumer ainsi :
Recherche cycle ( v) :
? Soit � = [s; y1; y2; :::; yp; v] la cha�ne �el�ementaire courante allant de s au sommet v.
Il doit exister au moins un cycle �el�ementaire contenant � ?
1. Pour tout w1 2 �+(v) t:q 9 cha�ne �el�ementaire [w1; w2; wq; s] disjointe de � faire :
2. i 1;
3. Tant que i � q et�il n'existe pas de cha�ne [wi; z1; z2; zt; s]disjointe de � et telle que z1 6= wi+1
�faire :
4. ajouter wi �a �;
5. i i+ 1;
6. Si i > q Alors a�cher le cycle �el�ementaire [s; y1; y2; :::; yp; v; w1; w2; wq; s]
7. Sinon Recherche cycle(wi) fsi
8. Retirer tous les wi de la cha�ne courante �;
Lors de l'�etape 3, la recherche d'un voisin z1 de wi v�eri�ant la propri�et�e est r�ealis�ee
�a l'aide d'un parcours en profondeur �a partir de wi. On cherche �a atteindre s sans
74 Chapitre 3. Histoires de cycles
passer par wi+1. En cas de r�eussite, wi constitue un nouveau point de ((backtrack))
sur la cha�ne courante et on ex�ecute un nouvel appel r�ecursif de la proc�edure. S'il
n'existe pas de zi satisfaisant, on peut ajouter wi �a la cha�ne courante sans risquer de
perdre des cycles �el�ementaires. Le parcours �a partir de wi est r�ealis�e en marquant les
sommets qui ne m�enent pas �a s. Ce marquage n'est pas r�einitialis�e entre le traitement
de sommetswi successifs. De ce fait, les aretes dessin�ees en pointill�es sur la �gure 3.17
ne seront explor�ees que pour le sommet w1. Lors du parcours r�ealis�e �a parti de w2,
elles seront ignor�ees puisqu'elles ne permettent pas d'atteindre s. Le marquage est
�evidemment initialis�e avant le traitement de tout voisin w1 du sommet v (ligne 1)
La m�ethode propos�ee par Read et Tarjan aboutit donc �a un algorithme en
O(n+m+m� nombre de cycles �el�ementaires).
Du point de vue de la chimie, la recherche de tous les cycles reste un probl�eme
d'ordre th�eorique. En e�et, les cycles complexes (aussi appel�es ((cycles enveloppe)))
sont souvent n�eglig�es au pro�t de cycles plus simples qui traduisent r�eellement des
propri�et�es chimiques au niveau des atomes ainsi li�es. Nous verrons au paragraphe 3.6
diverses d�e�nitions de cycles chimiquement valides. L'utilisation de l'ensemble des
cycles �el�ementaires peut aussi poser un probl�eme d'ordre combinatoire. Pour la mo-
l�ecule du pagodane (�gure 3.1), le nombre de cycles �el�ementaires est �egal �a 685 alors
que toute base de C ne contient que 11 cycles.
3.5.2 Recherche de cycles particuliers
Parmi les sous-ensembles de C qui peuvent etre int�eressants en chimie se trouve
l'ensemble des cycles de taille donn�ee. Il s'agit par exemple de rechercher tous les
cycles contenant 6 sommets. Nous verrons dans le prochain paragraphe que cette
notion est parfois utilis�ee pour d�e�nir un ensemble de cycles chimiquement pertinents.
Certaines structures chimiques remarquables sont �egalement associ�ees �a des cycles
de taille pr�ecise qu'il peut etre utile de rechercher. Lorsque l'on veut synth�etiser une
mol�ecule, il peut etre tr�es int�eressant de d�etecter la pr�esence de cycles de taille 6
pour lesquels on conna�t des m�ethodes de construction e�caces (comme la r�eaction
de Diels-Alder).
Dans la mesure o�u ce type de recherche n'est pas fondamental en chimie, nous
nous contenterons d'une br�eve pr�esentation du probl�eme. Citons cependant les tra-
3.6. Bases de cycles �etendues 75
vaux de [Chiba et Nishizeki, 1985] qui proposent un algorithme en O(a(G)m), o�u
a(G) d�esigne l'arboricit�e 8 du graphe, pour �enum�erer tous les cycles de taille 3 et 4.
Cette utilisation de l'arboricit�e dans le calcul de la complexit�e est particuli�erement
int�eressante. En e�et, les auteurs de cet article ont montr�e que l'arboricit�e d'un
graphe v�eri�e les trois propri�et�e suivantes :
1. a(G) �jp
2m+n2
k2. a(G) � n
2 3. a(G) � 3 si G est planaire.
Ils utilisent en�n une quatri�eme propri�et�e tout aussi int�eressante :X(x;y)2E
minfd(x) ; d(y)g � 2 a(G)m
En ce qui concerne les cycles de taille 5 et 6, [Richards, 1986] a propos�e un
algorithme en O(n log(n)) pour d�eterminer leur pr�esence. Citons en�n l'article de
[Fleischner et Woeginger, 1992] qui d�ecrit un algorithme lin�eaire pour trouver un
cycle passant par trois sommets donn�es.
3.6 Bases de cycles �etendues
Si de nombreuses �etudes ont port�e sur les bases de cycles de taille minimale, c'est
certainement parce qu'il s'agit du moyen le plus �economique de repr�esentation des
syst�emes cycliques. Malheureusement, qui dit �economie de place ne signi�e pas pour
autant gain d'e�cacit�e. Lorsque l'ensemble de cycles utilis�e ne se limite pas �a la base
minimale, la seule solution consiste �a �enum�erer tous les cycles �el�ementaires.
Dans le cadre de la chimie, la recherche d'une base de cycles n'a d'int�eret que du
point de vue de la m�emorisation. Lorsqu'il s'agit de d�etecter des propri�et�es chimiques,
pour r�esoudre par exemple un probl�eme de synth�ese, il n'est plus possible de se
contenter d'une base de cycles. Le seul crit�ere qui puisse etre d�e�ni �a partir de cette
base consiste �a savoir si un sommet appartient ou non �a un syst�eme cyclique. En
dehors de certains cas bien particuliers, il est impossible de d�eterminer le nombre et la
nature des cycles auxquels appartient un sommet sans e�ectuer un calcul �equivalent
�a la recherche de tous les cycles. Pour surmonter cette di�cult�e, les chimistes ont
8. l'arboricit�e d'un graphe est �egale au nombre minimal d'arbres (aux aretes disjointes) qu'il faut
pour recouvrir toutes les aretes du graphe.
76 Chapitre 3. Histoires de cycles
b
a
Fig. 3.18 { Certains cycles ne pr�esentent pas de r�eel int�eret en chimie.
cherch�e �a d�eterminer (( l'ensemble des cycles chimiquement valides )). Il s'agit en fait
d'un ensemble de cycles g�en�erateur mais rarement libre.
�Evaluer la validit�e chimique d'un cycle est une tache particuli�erement di�cile.
Le fait que certains atomes appartiennent �a un cycle, d�e�nit sur ces atomes tout un
ensemble de propri�et�es aussi bien physiques que chimiques. Mais pour que de telles
propri�et�es apparaissent, il faut que le cycle soit relativement simple, c'est �a dire qu'il
ne soit pas d�ecomposable en une multitude de cycles plus petits. Dans le graphe
mol�eculaire de la �gure 3.18, il existe un cycle contenant les atomes a et b. Mais
l'existence de ce cycle n'�etablit aucune relation chimique particuli�ere entre ces deux
atomes.
Nous commencerons l'�etude des cycles chimiquement valides par la pr�esentation
de quelques d�e�nitions de ((bases minimales �etendues )). Il s'agit d'ensembles obtenus
par l'adjonction de cycles particuliers �a une base minimale pr�ealablement calcul�ee.
Il va sans dire que ce concept est �etroitement li�e �a l'utilisation �nale de l'ensemble
de cycles obtenu. �A ce titre, nous nous int�eresserons surtout au point de vue de
la synth�ese en chimie organique. Il est d'autant plus di�cile d'analyser les articles
consacr�es �a ce sujet que ces derniers ne pr�ecisent pas toujours l'int�eret r�eel que
pr�esente leur approche par rapport �a un objectif particulier. Quant �a la complexit�e
des m�ethodes employ�ees, elle est souvent oubli�ee au pro�t d'une �etude de validit�e
bas�ee sur l'int�egration de contre-exemples connus.
Nous allons donc �etudier quelques travaux signi�catifs en essayant d'en montrer
l'int�eret mais aussi les limites. Ce rapide �etat de l'art devrait nous permettre de
mieux cerner le sens de la (( validit�e d'un cycle )). Nous pourrons ensuite discuter de
la di�cult�e li�ee �a la d�e�nition de ce concept et proposer une notion originale de
(( cycle pertinent )) dans la prochaine section.
3.6. Bases de cycles �etendues 77
3.6.1 Ajout de tous les cycles de longueur donn�ee
Dans la mesure o�u la plupart des cycles qui ont un int�eret en chimie organique sont
de petite taille, les premiers algorithmes rajoutaient tous les cycles inf�erieurs �a une
certaine longueur. C'est ce que font [Wipke et Dyott, 1975] et [Corey et Petersson,
1972] avec les cycles de taille au plus �egale �a 8 pour Wipke et 6 pour Corey.
Il faut cependant remarquer que si cette d�emarche �a l'avantage d'etre relativement
simple, elle peut etre facilement mise en d�efaut. Paradoxalement, c'est le principe
meme utilis�e pour la justi�er qui peut servir �a en montrer les limites. En e�et, s'il
est exact de dire que bon nombre de cycles chimiquement valides sont de petite
taille, il faut aussi pr�eciser que, dans le cadre de la chimie organique, il n'est pas rare
de rencontrer des mol�ecules o�u presque tous les cycles ne contiennent pas plus de 8
atomes. La mol�ecule du cubane 9, par exemple, ne contient que 6 cycles chimiquement
valides qui sont tous de taille 4. Les autres cycles (de taille 6 et 8) devraient etre
�elimin�es parce que dans un tel contexte, les m�ethodes g�en�eralement employ�ees pour
les synth�etiser ne fonctionnent pas. Ce probl�eme est d'autant plus genant que la taille
maximale servant �a s�electionner les cycles devrait aujourd'hui d�epasser le nombre 8.
En e�et, celle limite est �etroitement li�ee �a l'avanc�ee des connaissances en synth�ese
organique. Elle correspond plus pr�ecis�ement �a la longueur du plus grand cycle que
l'on sait construire au cours d'une synth�ese. Bien que les cycles poss�edant entre 8
et 11 atomes aient toujours �et�e di�ciles �a construire, les progr�es r�ealis�es dans les
m�ethodes de synth�ese depuis vingt ans n'autorisent plus le rejet syst�ematique de tels
cycles. Au del�a de 11 atomes, il existe �egalement des m�ethodes de construction qui
permettent de synth�etiser des cycles de grande taille.
L'ajout dans une base minimale de tous les cycles inf�erieurs �a une longueur don-
n�ee n'a donc plus beaucoup de sens aujourd'hui. �A plus ou moins court terme, cet
ensemble de cycles sera �equivalent �a celui des cycles �el�ementaires et ce quelle que
soit la mol�ecule �etudi�ee.
9. Le cubane est une mol�ecule de formule C8H16 dont les 8 atomes de carbone sont agenc�es de
mani�ere �a former un cube.
78 Chapitre 3. Histoires de cycles
N
N
N
Fig. 3.19 { Les cycles en gras sont (( d�ependants )) puisqu'ils peuvent etre couverts
par un ensemble de cycles li�es v�eri�ant les 4 propri�et�es.
3.6.2 ESER
C'est �a partir de crit�eres principalement issus de la chimie que [Fujita, 1987]
d�e�nit l'ensemble ESER (Essential Set of Essential Rings). Cette d�e�nition est bas�ee
sur la notion de (( cycle li�e )) (tied cycle) qui d�esigne un cycle poss�edant au moins une
corde. Un cycle C est ((d�ependant )) s'il existe un ensemble de cycles li�es tel que : 1.
l'ensemble des aretes de tous les cycles li�es couvre le cycle C; 2. la taille de chaque
cycle li�e est au plus �egale �a celle de C; 3. chaque cycle li�e est compos�e au moins
pour moiti�e d'aretes de C. 4. chaque cycle li�e contient au plus le meme nombre
d'h�et�eroatomes (N, P, O ou S) que C. L'ensemble ESER est obtenu par �elimination
des cycles d�ependants ou li�es �a partir de l'ensemble de tous les cycles �el�ementaires
pr�ealablement calcul�e.
La �gure 3.19 donne ainsi deux exemples de cycles ((d�ependants )).
Pour la mol�ecule de gauche, la ((d�ependance )) du cycle en gras s'appuie sur deux
cycles li�es contenant chacun un atome d'azote (i.e. N). Quant au cycle de taille 6 (en
gras) dans le graphe de droite, il est lui aussi ((d�ependant )) puisque les trois cycles
li�es de taille 4 v�eri�ent les propri�et�es de la d�e�nition. Sur ce meme graphe, le second
cycle de taille 6 (face centrale) est �egalement d�ependant. De ce fait, l'ensemble ESER
de ce graphe ne contiendra que les cycles de taille 3. Pourtant, toute base minimale
doit int�egrer au moins un cycle de taille 6. Il existe donc des graphes pour lesquels
l'ensemble ESER ne contient meme pas une base minimale du graphe.
Outre la recherche de tous les cycles �el�ementaires, l'algorithme de Fujita n�eces-
site la d�etermination de tous les cycles li�es. Cela entra�ne donc une complexit�e non
n�egligeable. Si l'ensemble ESER contient bon nombre de cycles chimiquement va-
3.6. Bases de cycles �etendues 79
Fig. 3.20 { Les cycles en gras font partie de l'ensemble ESER puisqu'ils ne sont pas
d�ecomposables en cycles li�es.
lides, il en est d'autres qui ne pr�esentent pas de r�eel int�eret. Quant �a l'utilisation de
l'ensemble des cycles li�es, elle ne semble pas tr�es justi��ee. Un cycle peut etre chi-
miquement inint�eressant sans pour autant constituer la somme de cycles li�es. (voir
�gure 3.20).
3.6.3 ESSR
La troisi�eme m�ethode que nous allons �etudier est plus proche de la th�eorie des
graphes. �Elabor�ee par [Downs et al., 1989b; Downs et al., 1989c], cette d�emarche
�etudie les projections planaires d'un graphe mol�eculaire pour d�e�nir l'ensembleESSR
(Extended Set of Smallest Rings). Elle repose sur l'id�ee intuitive selon laquelle les
faces d'une repr�esentation planaire sont proches des cycles minimaux d'une base.
Cette similitude n'est cependant pas compl�ete comme nous l'avons vu �a propos de
la recherche d'une base minimale (voir �gure 3.8).
L'ensemble ESSR calcul�e contient tout d'abord l'ensemble des ((faces simples)) :
cycles sans cordes constituant une face d'au moins une projection planaire. Cet en-
semble n'est pas su�sant puisque certains cycles importants ne peuvent pas appa-
ra�tre sous la forme de faces simples. Les auteurs d�e�nissent alors les ((faces coup�ees))
correspondant aux cycles sans cordes qui ne sont pas des faces simples. Parmi ces
cycles, ils isolent les ((faces coup�ees primaires)) qui sont contigu�es �a au moins une
face simple de taille sup�erieure ou �egale (voir �gure 3.21).
80 Chapitre 3. Histoires de cycles
Fig. 3.21 { Le cycle de taille 4 (en gras) constitue une ((face coup�ee primaire ))
puisqu'il est contigu �a au moins une ((face simple )) de taille 5.
e d
c
ba
f
e
f
d
ba
c
Fig. 3.22 { Les cycles en gras correspondent �a des faces simples suivant la d�e�nition
relative au ESSR (la repr�esentation planaire correspondante s'obtient en repla�cant
les aretes en trait �n par celles en pointill�es).
L'algorithme utilis�e pour d�eterminer l'ensemble ESSR est inspir�e de celui de [Za-
mora, 1976] dont la troisi�eme phase a �et�e largement compl�et�ee. Le test d'arret n'�etant
plus bas�e sur le nombre cyclomatique, le nombre total de cycles �nalement retenus
reste di�cile �a �evaluer. De plus, il n'est pas du tout �evident que toute face d'une
repr�esentation planaire corresponde �a un cycle chimiquement valide. La �gure 3.22
donne deux exemples de cycles qui tout en �etant des ((faces simples)) ne sont pas tr�es
int�eressants.
3.6. Bases de cycles �etendues 81
Fig. 3.23 { Un contre-exemple de la conjecture de Elk.
Le probl�eme des projections planaires d'un graphe a �egalement �et�e �evoqu�e par
[Elk, 1985]. Il consid�ere que le crit�ere de planarit�e du graphe mol�eculaire n'est pas
pertinent en chimie. Le cubane, par exemple, est un graphe planaire bien qu'une telle
projection n'ait pas de sens dans le cadre de la chimie. Elk conjecture, �a tort, que tous
les graphes 3-r�eguliers 10 correspondent �a des ((entit�es)) de dimension trois. C'est �a
dire que tout graphe 3-r�egulier ne peut etre repr�esent�e dans le plan de telle sorte que
toutes les aretes soient des segments de droite disjoints et de meme longueur. Cette
jolie conjecture est pourtant fausse comme le montre la �gure 3.23. Cette notion
de ((planarit�e avec des segments de droite de meme longueur )) ne semble d'ailleurs
pas tr�es utile pour la recherche de cycles chimiquement valides. Elle peut permettre
d'�eliminer certaines faces dont la repr�esentation planaire associ�ee ne v�eri�e pas cette
propri�et�e (comme les deux cycles de la �gure 3.22). Mais elle interdit aussi la prise
en compte de cycles importants dans des syst�emes cycliques complexes pour lesquels
toute repr�esentation planaire n�ecessite des segments de di��erentes longueurs. Elle se
heurte en�n au probl�eme des cycles valides qui ne peuvent appara�tre comme face
d'une repr�esentation planaire (comme le cycle de taille 4 dans la �gure 3.8).
Il est donc peu probable que la planarit�e du graphe mol�eculaire puisse jouer un
grand role dans l'�etude des cycles de la mol�ecule. On peut meme se demander si
les tentatives infructueuses que nous avons �etudi�ees ne sont pas li�ees �a une certaine
confusion entre deux notions fondamentalement distinctes : d'une part la repr�esen-
tation d'un graphe mol�eculaire planaire et d'autre part la projection dans un plan
de l'objet tridimensionnel que constitue la mol�ecule. Seule cette deuxi�eme notion est
10. un graphe est 3-r�egulier si tous ses sommets sont de degr�e 3.
82 Chapitre 3. Histoires de cycles
susceptible de fournir un crit�ere e�cace pour s�electionner les cycles chimiquement
int�eressants. Mais son utilisation ne semble pas facile, ce qui expliquerait cette vaine
recherche de propri�et�es spatiales dans un graphe mol�eculaire qui ignore sciemment
les coordonn�ees des atomes.
3.6.4 SER
Nous terminerons cette �etude des bases de cycles �etendues par la pr�esentation des
travaux de [Takahashi, 1994]. Ce dernier d�e�nit l'ensemble SER (Set of Elementary
Rings o�u le terme ((Elementary)) n'a rien �a voir avec la notion de cycle �el�ementaire).
Cette d�e�nition est bas�ee sur le concept de (( �-graphe )). Un �-graphe est un graphe
connexe dont tous les sommets poss�edent 2 voisins �a l'exception de deux sommets
non adjacents qui sont de degr�e 3. Un tel graphe est donc induit par deux cycles
partageant au moins deux aretes contigu�es.
L'ensemble SER est construit �a partir d'une base de taille minimale. Pour chaque
paire de cycles (C1, C2), si le sous-graphe partiel induit par C1 [ C2 est un �-graphe
alors le cycle C1 + C2 est ajout�e �a l'ensemble SER. Ce processus est r�eit�er�e avec
le nouvel SER jusqu'�a ce que cet ensemble soit stable (voir �gure 3.24). Bien que
cette d�e�nition donne de bons r�esultats pour des mol�ecules relativement simples,
elle a le facheux inconv�enient de s�electionner des cycles sans grand int�eret. Dans
la �gure 3.24, les cycles C1+C2+C3 et C1+C2+C3+C4 sont construits par cette
m�ethode bien que leur pertinence soit plus que douteuse.
3.7 Cycles pertinents
Comme nous avons pu le voir dans le paragraphe pr�ec�edent, la recherche d'un
sous-ensemble de cycles importants reste tr�es di�cile �a d�e�nir. Pourtant, bien que
la validit�e chimique d'un cycle soit tr�es subjective, cette perception des syst�emes
cycliques est indispensable �a toute analyse approfondie des graphes mol�eculaires. Le
probl�eme r�eside alors dans la recherche de modes de repr�esentation qui mettent en
valeur les cycles potentiellement les plus importants tout en permettant la g�en�eration
de tous les autres cycles.
3.7. Cycles pertinents 83
+
C1C1 + C2
C2
C1 + C2 + C3
+
C4
+
C3
C1 + C2 + C3 + C4
Fig. 3.24 { Quelques cycles ajout�es au SER pour la mol�ecule de la �gure 3.1.
3.7.1 Limite d'une mod�elisation des mol�ecules �a l'aide de
graphes
Bien que la plupart des mol�ecules correspondent �a des graphes planaires, elles
constituent avant tout des objets tridimensionnels. Nous avons d�ej�a vu que la re-
pr�esentation planaire du graphe mol�eculaire n'a que peu de rapport avec une r�eelle
projection planaire de la mol�ecule. Il su�t de s'int�eresser au probl�eme du dessin des
mol�ecules pour voir �a quel point ces deux notions di��erent. Le cadre ((traditionnel))
de la th�eorie des graphes semble ainsi mal adapt�e �a la mod�elisation d'objets tridi-
mensionnels. On peut certes envisager le recours �a des mod�eles de graphes plus com-
plexes, comme les ((graphes topologiques)) qui int�egrent des informations suppl�emen-
taires d'ordre topologique (d�e�nition d'un ordre circulaire sur les aretes incidentes �a
un sommet, notion d'arete reliant des faces contigu�es, etc.).
On peut aussi associer une valuation au graphe a�n de mod�eliser la (( longueur ))
des aretes. Mais cette valuation n'a de sens que dans la mesure o�u elle repr�esente
bien l'�eloignement entre deux sommets. Par exemple, on peut tr�es bien mod�eliser une
carte routi�ere �a l'aide d'un graphe valu�e. Si l'on se d�eplace en voiture, la distance �a
vol d'oiseau n'a pas grand int�eret. Seule compte la longueur des routes repr�esent�ees
84 Chapitre 3. Histoires de cycles
par les aretes. Une cha�ne dans le graphe mod�elise alors tr�es bien un trajet �a travers
le r�eseau routier. Nous pouvons ainsi �enoncer cette �evidence : la th�eorie des graphes
n'est pertinente que lorsqu'elle est appliqu�ee �a des entit�es qui se r�eduisent �a des
ensembles de sommets et d'aretes, c'est-�a-dire �a des graphes !
Il va sans dire que ce n'est pas enti�erement le cas en chimie. Pour pouvoir r�eel-
lement �evaluer l'int�eret chimique d'un cycle, il faudrait au moins l'�etudier dans le
cadre d'un espace vectoriel de dimension 3. Mais une telle mod�elisation ne serait cer-
tainement pas satisfaisante sans avoir recours, �a son tour, �a d'autres th�eories (pour
tenir compte, par exemple, des interactions atomiques). Et c'est ici qu'appara�t tout
l'int�eret en chimie de la th�eorie des graphes. Si une mol�ecule n'est pas un graphe, son
�etude dans le cadre de cette th�eorie permet de r�ealiser certaines analyses de fa�con
tr�es e�cace. On peut ainsi d�e�nir un mod�ele des syst�emes cycliques qui soit satisfai-
sant dans la majorit�e des cas. Mais il ne faut pas esp�erer retrouver dans un graphe
toutes les propri�et�es spatiales voire �electroniques qui d�e�nissent l'importance de tel
ou tel cycle. Aussi rigoureuse soit-elle, toute d�e�nition issue de la th�eorie des graphes
ne peut etre enti�erement satisfaisante du point de vue de la chimie. Faute de recon-
na�tre cette in�evitable imperfection, on aboutit immanquablement �a des d�e�nitions
bancales qui sacri�ent g�en�eralit�e et coh�erence au pro�t de quelques cas particuliers.
C'est donc en respectant ce pr�ecepte que nous allons tenter de d�eterminer l'ensemble
des cycles pertinents d'une mol�ecule.
3.7.2 D�e�nition de la pertinence d'un cycle
L'�etude de divers travaux portant sur des bases minimales �etendues nous a montr�e
qu'aucune notion universelle n'a pu etre d�e�nie jusqu'�a pr�esent. Toutes ces tentatives
ont cependant le m�erite de proposer une d�e�nition plus ou moins formelle d'une
notion de validit�e chimique pour le moins abstraite. Ce relatif �echec est en partie li�e
�a la multitude de points de vue que l'on peut rencontrer en chimie. Si nous n'avons
pas encore �enonc�e dans ce chapitre de d�e�nition pr�ecise de la ((pertinence chimique
d'un cycle )), c'est justement parce qu'il n'existe pas de d�e�nition universelle. Chaque
expert poss�ede son propre point de vue qui lui-meme d�epend du type d'analyse
r�ealis�ee.
3.7. Cycles pertinents 85
Pour r�esoudre ce probl�eme par une unique d�e�nition, nous pouvons adopter deux
d�emarches. La premi�ere consiste �a d�eterminer l'ensemble des cycles qui peuvent etre
jug�es importants selon au moins un point de vue. Cette m�ethode est peu r�ealiste
puisqu'elle suppose que l'on conna�t tous les points de vue possibles. Elle aurait aussi
pour cons�equence de d�e�nir un ensemble de cycles tr�es proche de celui de tous les
cycles �el�ementaires. La d�emarche oppos�ee s'attache �a reconna�tre les cycles qui sont
importants pour presque tous les points de vue. Elle permet d'�etablir un consensus
�a partir duquel on peut toujours d�e�nir un ensemble de cycles plus important qui
r�eponde �a un besoin pr�ecis.
Nous avons vu dans le paragraphe pr�ec�edant que le second �ecueil dans notre quete
de la d�e�nition id�eale est directement li�e �a la mod�elisation des mol�ecules sous forme
de graphes. Nous devons donc chercher une d�e�nition qui ait un sens dans le cadre
de la th�eorie des graphes.
�A partir de ces deux remarques, nous pouvons uni�er l'ensemble des notions de
cycle chimiquement important par la propri�et�e suivante :
Tout cycle qui ne constitue pas la somme de cycles strictement plus petits
que lui est chimiquement pertinent.
Cette constatation nous conduit �a la d�e�nition suivante :
C 2 C est pertinentdef() 9/ C1; C2; :::; Ck 2 C tels que
8>><>>:8i 2 [1::k]; jCij < jCj
et
C = C1 + C2 + :::+ Ck
Cette d�e�nition correspond �a l'ensemble des cycles qui sont pertinents relative-
ment �a n'importe quel point de vue. Il est important de noter que cet ensemble est
unique pour un graphe G donn�e. Cette d�e�nition s'inscrit pleinement dans le cadre
de la th�eorie des graphes. Elle est d'ailleurs tr�es proche de la notion de base minimale.
Notons CP l'ensemble des cycles pertinents.
Propri�et�e 1 CP =Union des bases de cycles de G de taille minimale.
D�emonstration
Tout cycle appartenant �a une base minimale est n�ecessairement pertinent
puisque dans le cas contraire la base ne serait pas minimale. A l'inverse,
86 Chapitre 3. Histoires de cycles
C2C1a
h
a
db ci
lef
g
k
j
h
Fig. 3.25 { Tous les cycles de taille 6 de ce graphe sont pertinents puisqu'ils appar-
tiennent �a au moins une base minimale.
soit C un cycle de CP et B une base de taille minimale.
Posons C = B1 + :::+Bk avec 8i; Bi 2 B.
Puisque C est pertinent et B minimale, il doit exister un cycle Bi tel que
jBij = jCj. L'ensemble de cycles (B n fBig ) [ fCg constitue donc une
base de cycles de taille �egale �a celle de B 2
Ainsi, pour le graphe de la �gure 3.25, tous les cycles de taille 6 seront consid�er�es
comme pertinents. Par contre, dans une base minimale, on ne retiendrait que deux
cycles parmi C1 = [a; b; c; h; g; f; a], C2 = [c; d; e; f; g; h; c] et C3 = [a; b; c; d; e; f; a].
C'est pour cette raison que l'on ne peut pas se contenter d'une simple base minimale.
Si l'on choisit les cycles C1 et C2, le sommet h appartient �a deux cycles de la base
alors que le sommet a n'appara�t que dans un seul. Cette distinction n'a pas de sens
puisque h occupe une position sym�etrique �a celle de a.
L'utilisation de l'union des bases de cycles de taille minimale a d�ej�a �et�e sugg�er�ee
par [Plotkin, 1971] pour rechercher les cycles chimiquement importants. Mais l'heu-
ristique qu'il propose pour calculer cet ensemble de cycles ne fonctionne que pour
des graphes relativement simples et avec un temps de calcul parfois exponentiel. Un
autre article �evoquant le probl�eme de la non unicit�e des bases minimales a �et�e pu-
bli�e par [Roos-Kozel et Jorgensen, 1981]. Ces derniers sugg�erent d'ajouter �a la base
minimale les cycles �equivalents �a ceux qui ont �et�e s�electionn�es. Malheureusement, la
m�ethode particuli�erement confuse qu'ils proposent �a cet e�et ne semble pas garan-
3.7. Cycles pertinents 87
u
vyx
b d
ca
w
Fig. 3.26 { Suivant la d�e�nition des cycles pertinents, l'ensemble CP inclut 2n4 cycles
de longueur 3n4( [x; b; u; v; d; w; :::; y; :::; x]; [x; a; u; v; d; w; :::; y; :::; x]; etc).
tir l'obtention de l'union des bases minimales. Il ne semble donc pas tr�es utile de
pr�esenter ici ces deux d�emarches qui peuvent souvent etre mises en �echec.
La principale cons�equence de la propri�et�e 1 r�eside dans le fait que le nombre total
de cycles pertinents d'un graphe peut s'av�erer tr�es important. Si dans le cas d'un
graphe complet le nombre de cycles obtenus reste polynomial (il est alors �egal au
nombre de cycles de taille 3), il existe des graphes pour lesquels le nombre de cycles
pertinents est exponentiel par rapport au nombre de sommets. La �gure 3.26 donne
un exemple de graphe de ce type. Chaque base minimale contient tous les n4 cycles
de taille 4 et un cycle �el�ementaire quelconque de longueur 3n4 . Comme tous les cycles
de ce type appartiennent �a une base minimale, ils sont tous pertinents.
Notons au passage que la plupart des d�e�nitions de bases �etendues que nous
avons �etudi�ees se heurtent au meme probl�eme. Ainsi, l'ensemble ESER associ�e �a la
�gure 3.26 contiendrait lui aussi un nombre exponentiel de cycles puisque ce graphe
ne poss�ede pas de (( cycles li�es )) (il n'y a pas de cordes). De meme, chaque cycle �el�e-
mentaire de taille 3n4 est une (( face simple )) de ce graphe et fait donc partie de l'en-
semble ESSR. Quant �a l'ensemble SER, il contient aussi tous ces cycles qui peuvent
etre obtenus �a partir d'une base minimale par une s�erie de sommes de deux cycles
(un grand et un petit) formant un (( �-graphe )).
L'existence de ce type de graphe ne doit pas masquer l'int�eret des cycles per-
tinents. Pour certains domaines, comme la chimie organique, de tels graphes sont
exceptionnels voire impossibles. La mol�ecule du pagodane (�gure 3.1) ne contient
par exemple que 13 cycles pertinents. De plus, nous allons montrer qu'il existe un
algorithme permettant de d�eterminer CP sous la forme d'un nombre polynomial de
familles de cycles. L'ensemble de ces familles constitue une partition de CP. L'al-
88 Chapitre 3. Histoires de cycles
gorithme que nous allons proposer permet d'exhiber pour chaque famille un cycle
prototype ainsi que le nombre total de cycles qu'elle contient. On peut alors �enum�erer
tous les cycles pertinents en O(n jCP j).
L'algorithme construisant CP est inspir�e de la variante de celui de Horton que
nous avons propos�ee au paragraphe 3.4.3.3. Nous consid�ererons que le graphe trait�e
est 2-connexe (dans le cas contraire, la recherche des cycles est appliqu�ee �a chaque
composante 2-connexe).
Notre algorithme commence par d�eterminer un ensemble initial de cycles not�e
C0
I . Cet ensemble est construit comme CI �a l'aide de parcours en largeur �a partir de
chaque sommet de degr�e au moins �egal �a 3. Nous utilisons en e�et un ordre � sur
les sommets du graphe pour �eviter les occurrences multiples de cycles (on ne retient
pour chaque sommet racine que les cycles compos�es de sommets plus petits que lui
relativement �a l'ordre �). Cet ordre est d�e�ni par une extension lin�eaire de l'ordre
partiel induit par le degr�e des sommets du graphe. On ne peut donc pas trouver de
cycle �a partir d'un sommet de degr�e 2. L'ensemble C0
I peut contenir plus de cycles
que CI mais sa taille reste polynomiale par rapport au nombre de sommets.
La deuxi�eme partie de l'algorithme extrait de C0
I tous les cycles qui sont perti-
nents. On en d�eduit alors autant de familles de cycles qui constituent des parties de
l'ensemble CP .
Pr�ecisons en�n qu'une version de cet algorithme adapt�ee aux graphes valu�es est
pr�esent�ee dans l'annexe A.
3.7.3 Construction d'un ensemble initial C0
I
Pla�cons nous dans le cadre d'un parcours en largeur �a partir d'un sommet r.
Soient p et q deux sommets de Xr11, reli�es �a r par au moins une cha�ne minimale
ne contenant que des sommets de Xr, tels que dist(r; p) = dist(r; q) et qui v�eri�ent
la propri�et�e relative au parcours ancetr(p) \ ancetr(q) = ?.
Deux cas peuvent se pr�esenter :
� Si fp; qg 2 E, on cr�ee un seul cycle impair [r; ::; p; q; ::; r] (voir 1 );
11.Xr �etant l'ensemble des sommets de X qui pr�ec�edent r dans l'ordre �
3.7. Cycles pertinents 89
� Sinon on cr�ee autant de cycles pairs [r; ::; p; x; q; ::; r] qu'il y a de sommets x 2 Xr
tels que dist(r; x) = dist(r; p) + 1 et fp; xg; fq; xg 2 E (voir 2 ).
r xx'
p
q
p
q
r
p
q
xp'r
1 2 3
Cette d�emarche est di��erente de celle employ�ee pour construire l'ensemble CIdans la variante de l'algorithme de Horton. En e�et, s'il existe un sommet p0 tel que
ancetr(p0) \ ancetr(q) = ?, on ajoutera deux cycles �a C0I contenant l'arete fq; xg
(voir 3 ). Lors de la construction de CI , on n'en conserverait qu'un seul.
L'utilisation d'un ordre � sur les sommets permet d'�eviter la g�en�eration de cycles
identiques (on restreint la recherche aux sommets x tels que �(x) � �(r)) . De ce
fait, le parcours peut etre interrompu d�es que tous les sommets situ�es �a la p�eriph�erie
de l'ensemble explor�e n'appartiennent pas �a Xr.
Pour d�eterminer le nombre de cycles pertinents, nous aurons besoin d'�evaluer le
nombre r(x) de cha�nes minimales reliant dans G un sommet x �a la racine r et qui
constituent des sous-graphes partiels de Gr. Soit, plus formellement :
8x 2 Xr; r(x) = j f� = [r; y1; :::; yk; x] tel que j�j = dist(r; x) et 8z 2 �; z 2 Xr g j
Pour tout sommet x de Xr, d�e�nissons l'ensemble p�eresr(x) :
p�eresr(x) =
(z 2 Xr \ �(x) tel que
����� il existe une cha�ne minimale [r; :::; z; x]
dans G qui est incluse dans Gr
)
On v�eri�era alors ais�ement la propri�et�e suivante :
8x 2 Xr; r(x) =X
z2p�eresr(x)
r(z)
A partir de l'ensemble p�eresr(x) nous d�e�nissons l'ensemble �egaux(x) :
8x 2 Xr; �egaux(x) = fz 2 Xr \ �(x) tel que p�eresr(z) 6= ? et dist(r; x) = dist(r; z)g
Nous pouvons maintenant �enoncer l'algorithme de construction de C0
I . Cet algo-
rithme construit l'ensemble C0
I en utilisant la proposition 1 sur les (( ancetres )) qui
90 Chapitre 3. Histoires de cycles
s'av�ere ici particuli�erement int�eressante (le cardinal de C0
I �etant g�en�eralement plus
important que celui de CI ).
1. Pour tout r 2 X faire :
2. Pour tout x 2 X faire : niveau(x) +1; p�eresr(x) ?; �egaux(x) ? fpour
3. r(r) 1; p�eresr(r) frg; sph�ere frg; niveau(r) 0; explor�es ?
4. Tantque sph�ere \Xr 6= ? faire :
5. copie sph�ere sph�ere; sph�ere ?
6. Pour x 2 copie sph�ere faire :
7. Pour y 2 �(x) faire :
8. Si niveau(x) < niveau(y) Alors :
9. si y 2 Xr et p�eresr(x) 6= ? alors p�eresr(y) p�eresr(y) [ fxg fsi
10. niveau(y) niveau(x) + 1; sph�ere sph�ere [ fyg
11. Sinon :
12. si p�eresr(y) 6= ? et p�eresr(x) 6= ? alors �egaux(y) �egaux(y) [fxg
13. 8p; q 2 p�eresr(x) tels que ancetr(p) \ ancetr(q) = ?
ajouter le cycle pair [r; :::; p; x; q; :::; r] �a C0
I14. 8e 2 �egaux(x) \ explor�es tel que ancetr(e) \ ancetr(x) = ?
ajouter le cycle impair [r; :::; x; e; :::; r] �a C0
I15. explor�es explor�es [ fxg;
16. choisir une cha�ne r! x parmi les p�eresr(x)
17. r(x) =P
z2 p�eresr(x) r(z)
En terme de complexit�e, nous pouvons �enoncer le th�eor�eme suivant :
Th�eor�eme 2 L'ensemble C0
I contient O(m2) cycles.
D�emonstration L'ensemble C0
I est compos�e soit de O(nm) cycles im-
pairs reliant un sommet r �a une arete (p; q) (cf. ligne 13), soit de cycles
pairs joignant r et x (cf. ligne 14).
Le nombre de cycles pairs est major�e parP
r2XP
x2Xrjp�eresr(x)j2.
Si l'ensemble des sommets de G est class�e dans l'ordre des degr�es crois-
sants (i.e. 8x 2 Xr; d(x) � d(r) ), on peut aussi majorer le nombre de
cycles pairs de C0
I parP
r2X (d(r) �P
x2Xrd(x)) � m2
2
3.7. Cycles pertinents 91
Les divers parcours en largeur e�ectu�es par la r�ep�etitive globale de la ligne 1 sont
r�ealis�es en O(nm). Le calcul des ensembles ancetr(x), pour x 2 Xr, est e�ectu�e en
O(� m), comme au paragraphe 3.4.3.3.
La m�emorisation de la cha�ne choisie entre r et x �a la ligne 16, correspond en fait
�a la construction d'un arbre recouvrant dont r est la racine. Elle est donc directement
r�ealis�ee par le parcours en largeur issu de r et n�ecessite un espace m�emoire en O(n2)
pour la totalit�e des parcours.
Pour m�emoriser chaque cycle il su�t de conserver un quadruplet r; p; q; x (resp.
un triplet r; p; q) pour chaque cycle pair (resp. impair) dans la mesure o�u les cha�nes
vers r sont d�ej�a m�emoris�ees.
Pour v�eri�er si un cycle peut etre �elimin�e grace �a la proposition 1 sur les ancetres,
on calcule l'intersection de deux ensembles ancetr en O(d(r)). Le cardinal de C0
I �etant
au plus �egal �a m2, on obtient une complexit�e globale de l'algorithme en O( dmaxm2 ).
Lorsque le degr�e des sommets du graphe est born�e, la complexit�e se r�eduit �a O(m2).
3.7.4 D�etermination de CP sous la forme d'un ensemble de
familles de cycles
La deuxi�eme phase de l'algorithme de construction de CP consiste �a rechercher
l'ensemble des cycles pertinents contenus dans C0
I .
Pour ce faire, nous allons construire une base de cycles de taille minimale.
Soit B = fB1; B2; :::; B�g cette base minimale ordonn�ee de fa�con �a ce que pour
tout i 2 [2::�]; jBij � jBi�1j.
Soit C un cycle de C0
I . Notons Bk le cycle de B de taille strictement inf�erieure �a
celle de C et dont l'indice dans B est le plus grand.
Proposition 2 C est pertinent , fC;B1; B2; :::; Bkg est un ensemble libre
L'int�eret de cette proposition est de permettre la v�eri�cation de la pertinence
d'un cycle de fa�con polynomiale. La recherche d'un ensemble de cycles susceptibles
de montrer la non pertinence d'un cycle C peut ainsi se limiter aux cycles plus petits
que C faisant partie d'une base minimale.
La d�emonstration de cette proposition ne pr�esente pas de di�cult�e particuli�ere.
L'implication \C pertinent ) fC;B1; B2; :::; Bkg libre" est une cons�equence de la
92 Chapitre 3. Histoires de cycles
d�e�nition de la notion de pertinence. Quant �a la r�eciproque, elle peut se montrer de
la fa�con suivante :
Supposons que C ne soit pas pertinent. Il existe alors un ensemble de
cycles C1; C2; :::Ct tels que : 8i 2 [1::t]; jCij < jCj et C = C1+C2+:::+Ct
Pour tout cycle Ci, si l'ensemble fCi; B1; B2; :::; Bkg �etait libre alors Ci
serait la somme d'�el�ements de B, dont au moins un cycle d'indice su-
p�erieur �a k. En rempla�cant ce cycle par Ci dans B, on obtiendrait une
base de taille inf�erieure �a celle de B (puisque Ci < C < Bk+1), ce qui est
contraire �a l'hypoth�ese initiale de base minimale.
Donc 8Ci; fCi; B1; B2; :::; Bkg est un ensemble li�e.
Cela entra�ne que fC;B1; B2; :::; Bkg est li�e, ce qui est contraire �a l'hypo-
th�ese de d�epart 2
La recherche des cycles pertinents est e�ectu�ee lors de la construction d'une
base minimale B. Comme dans l'algorithme de Horton, on parcourt l'ensemble C0
Idans l'ordre des tailles croissantes en essayant d'ajouter un nouveau cycle �a la sous-
base minimale courante. La pertinence d'un cycle C est alors test�ee en v�eri�ant si
l'ensemble compos�e de C et des k cycles de B strictement plus petits que C constitue
un ensemble libre. Ce test peut etre r�ealis�e au moyen d'une �elimination gaussienne
sur la matrice de taille (k + 1) �m associ�ee �a cet ensemble.
Le parcours de C 0I s'arrete lorsque l'on a �etudi�e tous les cycles dont la taille est
au plus �egale �a celle du plus grand cycle de la base minimale compl�ete 12.
Durant l'�etude d'un cycleC, notons B< (respectivementB=) l'ensemble des cycles
de la sous-base courante qui ont une taille strictement inf�erieure (respectivement
�egale) �a celle de C. L'algorithme construisant CP \ C0
I peut alors s'�ecrire :
B< ?; Explor�es ?; R�esultat ?; taille 0;
R�ep�eter
C plus petit cycle de C0
I n Explor�es;
Explor�es Explor�es [ fCg;
Si jCj > taille Alors :
taille jCj; B< B< [ B=; B= ?;
12. Puisque 8 B1 et B2 deux bases de cycles de taille minimale, maxB2B1
jBj = maxB2B2
jBj.
3.7. Cycles pertinents 93
Si B< [ fCg est ind�ependant Alors :
R�esultat R�esultat [ fCg;
Si B< [ B= [ fCg est ind�ependant Alors :
B= B= [ fCg;
Jusqu'�a (jB<j+ jB=j = �) et ( 9/ C 0 2 C0
I n Explor�es tel que jC0j = taille )
La taille de C0I �etant en O(m2) et chaque test de pertinence n�ecessitant au plus
O(� m) op�erations, l'ensemble C0I \ CP peut etre calcul�e en O(� m3).
Nous allons maintenant associer une famille de cycles �a chaque �el�ement de
l'ensemble C0I \ CP .
Consid�erons le cycle C = [r; ::; p; q; ::; r] (resp.[r; ::; p; x; ; q; ::; r]), de longueur im-
paire (resp. paire), construit �a partir des sommets r; p et q o�u r d�esigne le plus grand
sommet de C et p; q les sommets de C tels que dist(r; p) = dist(r; q) =j jCj�1
2
k. Le
cycle C est compos�e de deux cha�nes minimales [r:::p] et [r:::q] reli�ees par l'arete
fp; qg si C est impair ou par la cha�ne minimale [p; x; q] si C est pair.
Notons F(C) la famille des cycles pertinents associ�ee �a C d�e�nie comme suit :
F(C) =
(C 0 2 CP tel que
C 0 s'obtient en rempla�cant dans C les cha�nes (r:::p)
et (r:::q) par des cha�nes �equivalentes inclues dans Gr
)
Tous les cycles appartenant �a F(C) constituent des ((prototypes)) de cette famille.
On peut caract�eriser tout cycle C 0 de F(C) par le fait qu'il contient n�ecessairement :
� le sommet r tel que �(r) = miny2C0 �(y),
� deux cha�nes minimales [r:::p] et [r:::q] telles que dist(r; p) = dist(r; q) =j jCj�1
2
k,
� l'arete fp; qg si C est impair ou par la cha�ne minimale [p; x; q] si C est pair.
La famille F(C) est parfaitement repr�esent�ee par un triplet (C; H(r; p); H(r; q))
o�u H(r; p) d�esigne le sous graphe partiel de Gr compos�e de l'union des cha�nes mi-
nimales reliant r �a p en ne passant que par des sommets y tels que �(y) � �(r).
Le sous-graphe H(r; p) peut etre m�emoris�e lors de la construction de l'ensemble C0Isans modi�er la complexit�e de ce calcul et en utilisant un espace m�emoire en O(nm).
En e�et, comme toute sous-cha�ne d'une cha�ne minimale est n�ecessairement mi-
nimale, le sous-graphe H(r; x) associ�e �a un sommet x est forc�ement recouvert par le
sous-graphe H(r; y) correspondant �a un sommet y atteint depuis r en passant par x.
94 Chapitre 3. Histoires de cycles
La m�emorisation de tous les H(r; x)x2Xr se fait donc en orientant Gr suivant le sens
inverse du parcours en largeur issu de r et en �eliminant les aretes qui n'apparaissent
dans aucun H(r; x).
On d�e�nit ainsi un graphe orient�e Dr = (Xr; U0
r) tel que :
U0
r = f (y; z) tel que y 2 Xr et z 2 p�eresr(y) g
rp
qy
z
z’
Ce graphe poss�ede deux propri�et�es majeures :
� il ne contient aucun circuit ,
� et 8x 2 Xr, tout chemin (x; :::; r) dans Dr correspond �a une cha�ne minimale
[r; :::; x] dans G.
L'�enum�eration des cycles pertinents appartenant �a la famille F(C) peut alors
etre facilement r�ealis�ee. Il su�t de parcourir le graphe orient�e Dr de fa�con �a obtenir
toutes les cha�nes minimales de G reliant r �a p et r �a q.
Pour ce faire, on d�e�nit la fonction r�ecursive suivante :
Fonction �Enum�erer Cha�nes( x; cha�ne courante)
ajouter x �a la �n de cha�ne courante;
Si x = r Alors Retourner(fcha�ne couranteg)
Sinon :
R�esultat ?;
Pour tout z tel que (x; z) 2 U0
r Faire
R�esultat R�esultat [ �Enum�erer Cha�nes(y, cha�ne courante);
Retourner(R�esultat)
Pour construire F(Crp;q), on commence par remplacer dans Cr
p;q la cha�ne [p; :::; r]
par chacune des cha�nes r�esultant de l'appel �Enum�erer Cha�nes(p, [ ]). Puis on rem-
place, dans chacun des cycles ainsi cr�e�es, la cha�ne [q; :::; r] par chacune des cha�nes
retourn�ees par �Enum�erer Cha�nes(q, [ ]).
Tous les cycles ainsi obtenus sont n�ecessairement pertinents. En e�et, si ce n'�etait
pas le cas, C ne pourrait pas appartenir �a C.
3.7. Cycles pertinents 95
y4y2
C'
C
y3
z6z5z4z3z2z1
y5y1
Cycle impair
r
q
p
xr
p
q
Cycle pair
L'�enum�eration des cycles de F(C) est donc r�ealis�ee en O(dist(r; p) jF(C)j ).
Th�eor�eme 3 l'ensemble fF(C) gC 2C0I\CP constitue une partition de l'ensemble
des cycles pertinents.
Pour prouver ce th�eor�eme, il faut d'abord montrer que toutes les familles de cycles
construites �a partir de C0I \ CP sont disjointes. Cette propri�et�e d�ecoule directement
du mode de construction de C0I . En e�et, chaque famille F(C) est caract�eris�ee par le
cycle qui lui sert de prototype et plus pr�ecis�ement par le triplet r; p; q (ou le quadru-
plet r; p; q; x si l'arete fp; qg n'existe pas). Comme il ne peut y avoir d'occurrences
multiples dans C0I , toutes les familles de cycles sont bien disjointes.
Nous devons ensuite v�eri�er que tout cycle de CP appartient bien �a une famille.
Le cas des cycles appartenant aussi �a C0I est directement r�egl�e par construction. Il
nous reste �a prouver la proposition suivante :
Proposition 3 8 C 2 CP nC0
I il existe un unique C 0 2 CP \ C0
I tel que C 2 F(C 0).
D�emonstration
Soient r le plus grand sommet du cycle C et p; q les deux sommets de C
tels que dist(r; p) = dist(r; q) =j jCj�1
2
k.
Notons C 0 le cycle de C0
I construit �a partir du sommet r et de l'arete
fp; qg si C est impair ou bien de l'arete fp; xg ou fq; xg si C est pair. Par
construction de C0
I , le cycle C0 doit n�ecessairement avoir �et�e cr�e�e lors de
l'�etude du sommet r (C 0 est d'ailleurs unique).
Posons C \ C 0 = [r; y1; :::; yk�1; p; (x; )q; zr�1; :::z1] (avec r = z0 = y0; p =
yk et q = zr) o�u les sommets yi; i � 0 (resp. zj; j � 0) sont indic�es suivant
le sens de parcours r ! p (resp. r! q) dans C.
Le cycle C peut alors etre obtenu �a partir de C 0 en rempla�cant chaque
cha�ne [yi; ::; yi+1] (resp. [zj; ::; zj+1]) de C 0 par la cha�ne correspondante
96 Chapitre 3. Histoires de cycles
dans C. Notons Cyi (resp. Cz
j ) le cycle engendr�e par l'union des cha�nes
[yi; ::; yi+1] (resp. [zj; ::; zj+1]) de C et de C 0. Tous ces cycles sont de
taille strictement inf�erieure �a celle de C. De plus, ils v�eri�ent l'�egalit�e
C = C 0 + Cy0 + :::+ Cy
k�1 + Cz0 + :::+ Cy
r�1.
Si C 0 n'�etait pas pertinent, il constituerait la somme de cycles strictement
plus petits que lui. D'o�u, d'apr�es l'�egalit�e pr�ec�edente, C 62 CP ce qui est
contraire �a l'hypoth�ese de d�epart. Donc C 0 2 CP 2
Nous venons d'�etudier les diverses �etapes d'un algorithme polynomial permettant de
d�eterminer une repr�esentation de l'ensemble CP correspondant �a l'union de toutes les
bases de cycles de taille minimale. Cet algorithme construit enO(� m3) un ensemble
de familles de cycles pertinents constituant une partition de CP . Chaque famille est
repr�esent�ee par un ensemble de sommets r; p; q (ou r; p; q; x) et un sous-graphe partiel
H(r) de G.
Tout l'int�eret de cet algorithme r�eside dans l'utilisation de ((prototypes)) pour re-
pr�esenter les familles de cycles de fa�con implicite. On peut ainsi manipuler un nombre
polynomial de cycles pertinents meme lorsque la taille de CP est exponentielle. Dans
un pareil cas, on veut g�en�eralement conna�tre un repr�esentant d'une famille de cycles
sans s'int�eresser pour autant �a tous les cycles qui lui sont �equivalents. La notion de
familles de cycles constitue en fait une description ((en intension)) de CP .
Reprenons, par exemple, le graphe de la �gure 3.26. En utilisant un ordre �
qui est une extension lin�eaire de l'ordre partiel induit par le degr�e des sommets,
on obtient un unique repr�esentant pour tous les cycles de taille 3n4 . La �gure 3.27
pr�esente l'ensemble des prototypes de familles de cycles pertinents pour ce graphe.
Chaque cycle de taille 4 appartient �a une famille dont il est l'unique membre. On
obtient donc �nalement un nombre polynomial de cycles pertinents qui d�ecrivent
parfaitement la structure cyclique du graphe.
De fa�con g�en�erale, l'ensemble des prototypes de familles permet d'�enum�erer tous
les cycles pertinents en O(n jCP j).
Grace �a l'utilisation des prototypes pour construire CP , le nombre de v�eri�cations
de la pertinence d'un cycle est toujours polynomial. Ces v�eri�cations se limitent en
e�et aux cycles de l'ensemble C 0I dont le cardinal est toujours en O(m2).
3.7. Cycles pertinents 97
...
Fig. 3.27 { L'ensemble des ((prototypes )) de familles de cycles pertinents pour le
graphe de la �gure 3.26(page 87).
Nous allons maintenant montrer comment on peut d�eterminer le nombre de cycles
pertinents en temps polynomial, c'est-�a-dire sans avoir besoin de les �enum�erer.
3.7.5 D�etermination du nombre de cycles pertinents
3.7.5.1 Taille de CP
La d�ecomposition de CP en familles de cycles permet d'�evaluer la taille de cet
ensemble sans avoir besoin d'�enum�erer tous les cycles pertinents.
L'algorithme construisant C0
I d�etermine aussi le nombre r(x) de cha�nes mini-
males reliant r et x en ne traversant que des sommets plus petits que r.
Notons Crp;q un cycle de CP \ C
0
I construit �a partir du sommet racine r et des
sommets p et q d�e�nis comme pr�ec�edemment.Consid�erons la famille de cyclesF(Crp;q)
associ�ee �a Crp;q. D'apr�es la d�e�nition des familles de cycles, nous pouvons d�eterminer
le cardinal de F(Crp;q) en utilisant la fonction r :
j F(Crp;q) j = r(p) � r(q)
Puisque l'ensemble des familles de cycles engendr�ees par CP \ C0
I constitue une
partition de CP, nous pouvons �enoncer le r�esultat suivant :
j CP j =X
Crp;q 2CP \C0I
r(p)� r(q)
3.7.5.2 Nombre de cycles pertinents contenant un sommet donn�e
L'�etude des syst�emes cycliques est parfois utilis�ee pour comparer les atomes d'une
mol�ecule. Il peut etre ainsi tr�es int�eressant de d�eterminer le nombre de cycles perti-
nents contenant un sommet donn�e. Plus pr�ecis�ement, nous voulons savoir pour tout
98 Chapitre 3. Histoires de cycles
p
q
r
y
a 44
3
1
2
11
1
11
1
1
1
2
2
2
2
2
6
Fig. 3.28 { Comme r(p) = 4 et r(q) = 6, la famille de cycles F(Crp;q), associ�ee
au cycle Crp;q (en traits pleins), contient 24 cycles pertinents.
sommet y combien de cycles pertinents de taille donn�ee contiennent y. Par exemple,
le sommet a de la �gure 3.28 appartient �a deux cycles de taille 4, un cycle de taille
6 et douze cycles de longueur 13.
Consid�erons la famille de cycles F(Crp;q) dont le prototype est C
rp;q.
Notons nb cy (y;F(Crp;q)) le nombre de cycles de F(Cr
p;q) contenant le sommet y.
Supposons maintenant que le sommet y appartient �a une cha�ne minimale [r; ::; q]
incluse dans Gr (on remarquera alors que y ne peut pas faire partie d'une cha�ne
minimale [r; ::; p] puisque Crp;q est pertinent).
Soit �r(y; q) le nombre de cha�nes minimales reliant les sommets y et q en ne
passant que par des sommets plus petits que r. Par exemple, dans la �gure 3.28
�r(y; q) = 3. La fonction �r constitue en fait une g�en�eralisation de la fonction r que
nous avons d�ej�a utilis�ee ( 8x 2 Xr; r(x) = �r(r; x) ). On peut d�eterminer la valeur
de �r(y; q), en r�ealisant un parcours en largeur d'abord dans le sous-graphe partiel
H(r; q). En e�et, puisque y appartient �a au moins une cha�ne minimale [r; ::; q], toute
cha�ne minimale reliant q �a y est une sous-cha�ne d'une cha�ne minimale reliant q �a
r. Le calcul de la fonction �r(y; q) pour y 2 Xr sera donc r�ealis�e en O(m). Puisqu'il
y a O(m2) familles de cycles, le temps de calcul global des fonctions � est en O(m3).�Etant donn�e un sommet y et une famille de cycles pertinents F(Cr
p;q), on v�eri�era
ais�ement le r�esultat suivant :
nb cy (y;F(Crp;q)) = r(y)� �r(y; q)� r(p)
Dans la �gure 3.28, le sommet y appartient aux 24 cycles pertinents de la famille
F(Crp;q). On a bien nb cy (y;F(Cr
p;q)) = 2� 3� 4 = 24 = jF(Crp;q)j.
3.7. Cycles pertinents 99
ab c d
y
ab
v
a
b c dy
v
c d...
Fig. 3.29 { L'ensemble des ((prototypes )) de familles de cycles pertinents d'un graphe
G = (X;E) pour un ordre � tel que �(v) = maxx2X �(x)
3.7.6 Un probl�eme ouvert
L'ensemble des cycles pertinents est d�e�ni de fa�con unique pour un graphe donn�e.
Par contre, l'ensemble des prototypes de familles de cycles pertinents d�epend de
l'ordre � utilis�e pour d�eterminer CP . Consid�erons par exemple le graphe de la �-
gure 3.29. Ce graphe contient n
2+ 2 sommets de degr�e 3.
Le nombre de prototypes de familles de cycles pertinents d�epend de l'ordre �
d�e�ni sur les sommets du graphe. Si le plus grand sommet relativement �a � est
choisi parmi les sommets a, b, c, ..., tous les cycles pertinents de longueur 3n4 seront
regroup�es dans la meme famille. Par contre, si c'est le sommet v qui est maximal,
on obtiendra deux familles. Celle des cycles passant par v et celle de ceux qui ne le
traversent pas.
Ceci nous am�ene �a poser le probl�eme suivant :
Comment choisir un ordre � tel que le nombre de prototypes de familles
de CP qui lui est associ�e soit minimal.
Il serait en e�et utile d'�eviter de d�ecouper une meme cat�egorie de cycles pertinents
en plusieurs familles parce qu'on a mal choisi l'ordre �. Ce probl�eme se pose surtout
dans le cas de graphes poss�edant un nombre important { voire exponentiel { de cycles
pertinents. Dans les autres cas, on peut directement manipuler tous les cycles de CPsans avoir recours aux prototypes.
100 Chapitre 3. Histoires de cycles
La recherche d'un ordre � optimal peut etre plus ou moins contrainte. On peut,
dans un premier temps, se restreindre aux ordres qui constituent une extension li-
n�eaire de l'ordre partiel d�e�ni par le degr�e des sommets. Mais il faudrait aussi s'int�e-
resser aux graphes pour lesquels l'ordre qui minimise le nombre de familles ne v�eri�e
pas cette propri�et�e. Dans le graphe ci-dessous, le sommet v sera maximal relative-
ment �a � si l'on respecte le degr�e des sommets. Les cycles de taille 3n�34
seront donc
r�epartis entre deux familles selon qu'il contiennent v ou pas. Pourtant, en choisissant
le plus grand sommet parmi a; b; c; ... on obtiendrait une famille de cycles pertinents
en moins.
ab c d
v
3.8 Syst�emes cycliques
Nous nous sommes int�eress�es jusqu'�a pr�esent �a la d�etection des cycles chimi-
quement importants. Cette �etude nous a permis de d�eterminer l'ensemble de cycles
pertinents sans conna�tre pour autant les relations qui peuvent exister entre eux.
Mais pour etre compl�ete, toute analyse de la structure cyclique d'une mol�ecule ne
peut se contenter d'un simple ensemble de cycles. Nous allons donc nous int�eresser
maintenant aux syst�emes cycliques.
3.8.1 Classi�cation des syst�emes cycliques en chimie
organique
Comme nous l'avons d�ej�a dit, les cycles ont une grande importance dans le cadre
de la chimie organique. Ils font partie de la nomenclature chimique et sont utilis�es
pour associer un nom canonique �a chaque mol�ecule. Ils permettent �egalement de
caract�eriser certaines familles de mol�ecules. Les st�ero��des sont ainsi reconnaissables
3.8. Syst�emes cycliques 101
�a leur syst�eme cyclique qui est constitu�e par agencement particulier de trois cycles
de taille 6 et d'un cycle de longueur 5 (voir �gure 3.30).
H
HO
H H
Fig. 3.30 { La mol�ecule du cholest�erol fait partie de la famille des st�ero��des
Dans le cadre de la chimie organique, la d�e�nition des divers types de syst�emes
cycliques ne fait pas toujours l'unanimit�e. Il est toutefois possible de d�etacher quatre
formes de relations entre les cycles (comme le montre la �gure 3.31) :
� un cycle est isol�e s'il ne partage aucun sommet avec un autre cycle.
� deux cycles sont condens�es s'ils n'ont qu'une arete en commun.
� deux cycles sont spiraniques s'ils n'ont qu'un sommet en commun.
� deux cycles constituent un syst�eme pont�e s'ils ont plusieurs aretes en commun.
Il faut cependant noter que ces quatre familles ne sont pas r�eellement disjointes
(�a l'exception des cycles isol�es). Il s'agit plus de relations entres les cycles que d'une
r�eelle partition de l'ensemble des syst�emes cycliques. La mol�ecule de la �gure 3.32
contient deux cycles spiraniques C1 et C2 qui sont condens�es �a un meme cycle C3.
Cette d�emarche de mod�elisation des syst�emes cycliques peut etre poursuivie lors-
qu'il s'agit de mettre en valeur des propri�et�es chimiques portant sur des con�gura-
tions tr�es pr�ecises. C'est ainsi que dans le cadre de la synth�ese organique, [Corey
et Cheng, 1989] d�e�nit divers types de relations entre les aretes des syst�emes cy-
cliques condens�es. Il s'agit plus pr�ecis�ement de caract�eriser les positions relatives des
(( aretes de condensation )) qui appartiennent �a plusieurs cycles. La �gure 3.33 donne
un exemple des quatre classes de relations que les auteurs de cette �etude distinguent.
Les deux premiers graphes montrent la di��erence entre des aretes de conden-
sation reli�ees par une arete (directement li�ees) et celles qui sont attach�ees par une
102 Chapitre 3. Histoires de cycles
isol�e
pont�e
spiranique
condens�e
Fig. 3.31 { Les divers types de syst�emes cycliques.
O
O
C1 C2
C3
Fig. 3.32 { un exemple de syst�eme �a la fois spiranique et condens�e.
cha�ne (non directement li�ees). Quant aux relations pr�esent�ees dans les deux derniers
exemples, elles correspondent �a des syst�emes cycliques plus complexes dans lesquels
plusieurs aretes de condensation peuvent etre adjacentes. Cette analyse des syst�emes
cycliques condens�es est utilis�ee pour �enoncer des r�egles de strat�egie en synth�ese or-
ganique.
La d�etection des syst�emes cycliques ne pose pas de r�eelle di�cult�e. Il faut cepen-
dant prendre quelques pr�ecautions quant �a l'utilisation de la notion de composante
2-connexe. On ne peut pas directement rechercher les syst�emes cycliques de type
spiranique �a l'int�erieur des composantes 2-connexe (un syst�eme spiranique pouvant
s'�etaler sur deux composantes). Il faut utiliser les points d'articulation pour recons-
3.8. Syst�emes cycliques 103
directement liéesnon directement liées contiguës cyclo-contiguës
Fig. 3.33 { Les divers types de relations, d'apr�es Corey, entre les (( aretes de conden-
sation )) des syst�emes cycliques condens�es.
Fig. 3.34 { Di��erence entre les composantes 2-connexes (�a gauche) qui cassent le
syst�eme polycyclique, au niveau de la connexion spiranique, et les composantes 2-
aretes-connexes (�a droite) qui le conservent.
truire les syst�emes spiraniques �a partir des cycles obtenus dans di��erentes compo-
santes 2-connexes. Comme le montre la �gure 3.34, une solution plus simple consiste
�a d�ecomposer le graphe en composantes 2-aretes-connexes. Les syst�emes de type
spiraniques sont alors pr�eserv�es par cette d�ecomposition.
En se r�ef�erant �a la classi�cation des syst�emes cycliques (�gure 3.31), nous pouvons
dire qu'un cycle isol�e est une composante 2-connexe dont le nombre cyclomatique
est �egal �a 1. Dans la plupart des cas, un syst�eme spiranique est associ�e �a un point
d'articulation. La �gure 3.32 oppose cependant un contre exemple �a cette d�e�nition.
3.8.2 Graphe des cycles pertinents
L'ensemble des cycles pertinents que nous venons d'�etudier constitue une pre-
mi�ere �etape dans la description des syst�emes cycliques. Pour que cette analyse soit
satisfaisante, nous devons nous int�eresser �a l'arrangement relatif de ces cycles. C'est
104 Chapitre 3. Histoires de cycles
c
1 2
3
a b
de
f
g
h
ij
G
c
1 2
3
a bd
e
i
h
j
fg
ext.*G
ext.
Fig. 3.35 { Graphe dual des faces d'une repr�esentation planaire de G
dans ce but que nous allons d�e�nir le graphe des cycles pertinents qui repose sur une
relation de contigu��t�e entre les cycles.
Cette notion de graphe associ�e �a un ensemble de cycles n'est pas enti�erement
nouvelle. Elle a d�ej�a �et�e utilis�ee dans le cadre de graphes planaires. Consid�erons
un graphe planaire G = (X;E) et une repr�esentation planaire de ce graphe. On
peut associer un cycle �a chacune des faces int�erieures de cette repr�esentation. Par
exemple, dans la �gure 3.35, on obtient trois cycles. L'ensemble des cycles ainsi
engendr�es constitue une base B de l'espace vectoriel des cycles de G.
Pour repr�esenter le syst�eme cyclique de G, on peut alors d�e�nir un multigraphe 13
dual G� = (X�; E�) tel que :
� l'ensemble X� des sommets de G� est �egal �a B [ fCext g o�u Cext d�esigne le
cycle associ�e �a la face ext�erieure de la repr�esentation planaire;
� pour toute arete u de G, on ajoute l'arete fCi; Cjg dans E� o�u Ci et Cj sont
les deux cycles de B qui contiennent l'arete u.
On parle ici de graphe dual dans la mesure o�u G�� est isomorphe �a G. En e�et,
les faces du graphe planaire G� correspondent aux sommets de G (voir �gure 3.35).
En appliquant la meme d�emarche au graphe G� on obtient bien le graphe G.
La notion de graphe dual des faces ne peut pas etre directement utilis�ee pour re-
pr�esenter la structure chimique d'un graphe mol�eculaire. Une restriction de ce graphe
ne contenant pas le sommet associ�e �a la face externe a �et�e cependant employ�ee par
13. dans un multigraphe, deux sommets peuvent etre reli�es par plusieurs aretes
3.8. Syst�emes cycliques 105
[Corey et Cheng, 1989] pour repr�esenter des mol�ecules contenant un syst�eme cyclique
condens�e. Pour ce type de mol�ecules, la repr�esentation planaire g�en�eralement utilis�ee
induit une base de cycle qui est minimale. Mais cette propri�et�e n'est pas vraie dans
la majorit�e des cas. Nous proposons plutot d'utiliser l'ensemble des cycles pertinents.
Nous d�e�nirons donc le graphe des cycles pertinents que nous noterons GP .
Pour tout cycle C du graphe G = (X;E), notons som(C) (resp. aret(C)) l'en-
semble des sommets de C (resp. l'ensemble des aretes).
Soit GP = (CP ; EP) le graphe �etiquet�e d�e�ni sur l'ensemble des cycles pertinents
du graphe G et tel que :
8C1; C2 2 CP ; fC1; C2g 2 EP , som(C1) \ som(C2) 6= ?
Soit E : EP �! N � N la fonction d'�etiquetage des aretes de GP telle que :
8u = fC1; C2g 2 EP; E(u) = ( j som(C1) \ som(C2) j ; j aret(C1) \ aret(C2) j )
La �gure 3.36 donne quelques exemples de graphes de cycles pertinents. Elle
montre ainsi comment divers types de syst�emes cycliques peuvent etre facilement
caract�eris�es au niveau de GP .
Nous avons choisi d'utiliser un couple de valeurs pour �etiqueter les aretes de fa�con
�a faire appara�tre certains types de con�guration. En se limitant au nombre d'aretes
communes, on ne peut pas mettre en �evidence les syst�emes spiraniques qui sont ici
identi��es par le couple (1; 0). Ce type d'�etiquettes permet aussi de distinguer d'autres
structures remarquables. Dans la �gure 3.37, le cycle B partage deux aretes avec les
cycles A et C. Par contre, le nombre de sommets communs varie de quatre �a trois.
Dans le graphe des cycles, l'arete reliant A �a B sera �etiquet�ee (4; 2) alors que celle
qui relie B et C portera le couple (3; 2).
Quant �a la construction du graphe des cycles pertinents, elle ne pr�esente pas de
r�eelle di�cult�e. Elle peut etre r�ealis�ee en temps polynomial par rapport au cardinal
de CP (on peut largement majorer ce temps de calcul par O(mjCP j2)).
Notons en�n que contrairement au graphe dual des faces d'une repr�esentation pla-
naire, le graphe des cycles pertinents d'une mol�ecule est unique. Cette propri�et�e par-
ticuli�erement int�eressante repose sur l'unicit�e de l'ensemble CP . Le fait qu'il n'existe
qu'un seul graphe des cycles pertinents pour une mol�ecule donn�ee ne signi�e pas
106 Chapitre 3. Histoires de cycles
Spiraniques
PontésC1 C2( 3,2 )
( 2,1)C1 C2
( 1,0 )C2C1
Condensés
( 2,1)( 2,1)
( 1,0 )
Spiranique
et
CondenséO
O
C1 C2
C3
C1 C2
C1 C2
C2C1
C1 C2
C3
6
6 6
6
5 5
5
5
6
Fig. 3.36 { Quelques exemples de graphes des cycles pertinents.
5 , 4
3 , 2
4 , 25 , 4
9 , 8
2 , 1
4 , 2
2 , 1
2 , 1
7 , 6
2 , 1
3 , 2
A BC
B
CA
Fig. 3.37 {
3.8. Syst�emes cycliques 107
4
( 6,4 )
7
7
( 2,1)
7
4
C1
C3
C211
4
11
( 2,1)
C3
C2
C1 C1 C3
C2
( 2,1)
( 3,2 )
( 2,1)
( 2,1)
( 2,1)
( 3,2 )
( 3,2 ) C3
C1
C2
C3
C4
C2
C1
C5
C1
C2
C3
C4
C5
C5
C4
Fig. 3.38 { Quelques exemples de graphes ayant le meme graphe des cycles pertinents
pour autant que la r�eciproque soit vraie. La �gure 3.38 pr�esente deux exemples de
graphes des cycles pertinents qui peuvent etre associ�es �a des graphes di��erents.
Dans le cadre de la chimie organique, la plupart des mol�ecules ont des graphes
des cycles pertinents di��erents. Ce mode de repr�esentation des syst�emes cycliques
fournit donc un outil tout �a fait e�cace pour analyser les mol�ecules.
3.8.3 Extension de la notion de cycles pertinents
Au cours des paragraphes pr�ec�edents, nous avons vu �a quel point il �etait di�cile
de d�e�nir une notion de validit�e chimique pour un cycle. Le probl�eme vient surtout
de certains syst�emes pont�es pour lesquels deux cycles pertinents engendrent un cycle
non pertinent mais pouvant etre utile dans un raisonnement de chimie organique.
Par exemple, pour la mol�ecule de la �gure 3.39, on aimerait conserver le cycle de
taille 6 mais rejeter celui de taille 7.
108 Chapitre 3. Histoires de cycles
?
f
jc
d
e
b
i
a
h
Fig. 3.39 { Comment peut-on d�eterminer les cycles chimiquement importants mais
qui ne sont pas dans CP ?
Comme nous l'avons d�ej�a dit, il semble illusoire d'esp�erer trouver une d�e�nition
parfaite de l'int�eret chimique d'un cycle sans sortir du cadre de la th�eorie des graphes.
Nous pouvons cependant essayer d'�etendre l'ensemble des cycles pertinents �a certains
types de cycles particuliers. Pour ce faire, nous pouvons utiliser le graphe des cycles
pertinents.
Le cas le plus classique de cycle important n'appartenant pas �a CP est celui du
cycle de taille 6 dans la �gure 3.39. Il s'agit d'un cycle pont�e dont l'ensemble des
atomes se situent dans un plan moyen auquel n'appartient pas le ((pont )). Ce type
de cycles nous am�ene �a d�e�nir l'ensemble des cycles pont�es simples que nous
noterons PS . Ce sont des cycles de taille paire obtenus par la r�eunion de deux cycles
de taille impaire imm�ediatement inf�erieure (cf. �gure 3.40).
Soit plus formellement : 8C1; C2 2 CP tels que jC1j = jC2j = 2 k + 1 (o�u k 2 N�)
C1 + C2 2 PS , 9u 2 EP telle que u = fC1; C2g et E(u) = (k; k � 1)
L'ensemble PS permet ainsi d'obtenir le cycle de taille 8 de la �gure 3.41.A . Par
contre, le cycle de taille 9 dans la mol�ecule B ne correspond pas �a la d�e�nition de
cycle pont�e simple. Dans la mesure o�u ces deux cycles sont relativement voisins, on
pourrait chercher �a �etendre la d�e�nition de PS �a ce type de cycles.
3.9. Conclusion 109
( k , k - 1 )x2
x3
x1
C2
xk
C12k+1 2k+1
C1 C2
Fig. 3.40 {
A B
Fig. 3.41 {
Il su�rait pour cela de r�eduire les contraintes impos�ees �a l'un des cycles C1 et C2.
On conserverait alors le cycle C1+C2 dans le cas o�u C1 serait un cycle de taille 2 k+1
et C2 un cycle quelconque reli�e �a C1 dans GP par une arete d'�etiquette (k; k � 1).
Cette nouvelle d�e�nition englobe bien le cycle de taille 9 de la �gure 3.41.B.
Mais elle admet aussi un certain nombre de cycles dont l'int�eret chimique est moins
important. Comme le montre la �gure 3.42, on retrouve un des cycles engendr�es par
la notion de SER pour la mol�ecule du pagodane.
3.9 Conclusion
Nous nous sommes e�orc�es, tout au long de ce chapitre, de faire le point sur le
probl�eme de l'�etude des cycles, en nous int�eressant plus particuli�erement au domaine
de la chimie. L'�etat de l'art que nous avons dress�e a permis de mettre en �evidence
la diversit�e des d�e�nitions et des m�ethodes utilis�ees pour d�eterminer un ensemble
de cycles importants. Nous nous sommes attach�es �a replacer ces d�emarches dans le
110 Chapitre 3. Histoires de cycles
+
Fig. 3.42 {
cadre formel de la th�eorie des graphes en faisant appara�tre leur originalit�e mais aussi
leurs limites.
Nous avons introduit une d�e�nition des cycles pertinents correspondant �a l'union
des bases de cycles de taille minimale. De par sa d�e�nition, cet ensemble (not�e CP)
peut contenir un nombre de cycles important, voire exponentiel. Pour des graphes
mol�eculaires, le cardinal de CP est g�en�eralement faible ce qui rend cet ensemble
facilement utilisable en chimie. Dans un cadre plus g�en�eral, l'int�eret de l'union des
bases de cycles de taille minimale est �etroitement li�e �a l'existence d'un algorithme
e�cace pour construire cet ensemble.
Nous avons montr�e dans le paragraphe 3.7 que l'ensemble CP peut toujours etre
d�ecompos�e en un nombre polynomial de ((familles de cycles)) qui constituent une
partition de CP. L'algorithme que nous proposons permet de calculer en temps poly-
nomial un ensemble de cycles qui d�e�nissent les ((prototypes)) de ces diverses familles.
�A partir d'un cycle prototype, on peut directement d�ecrire tous les cycles de la fa-
mille correspondante par de simples remplacements de cha�nes �equivalentes. Quant
�a l'�enum�eration de tous les cycles pertinents, elle est r�ealis�ee en O(njCP j) �a partir de
cet ensemble polynomial de familles de cycles.
La notion de cycle pertinent sert de base �a la description des syst�emes cycliques et
contribue �a l'�elaboration d'heuristiques pour les strat�egies de synth�ese. Il va sans dire
que l'ensemble des cycles ainsi s�electionn�es ne saurait pr�etendre �a une quelconque
3.9. Conclusion 111
optimalit�e ou universalit�e. Son seul objectif est de proposer un crit�ere simple et pr�ecis
permettant de d�eterminer les cycles qui sont chimiquement importants suivant la
plupart des points de vue. Le graphe des cycles pertinents que nous avons pr�esent�e
d�epeint quant �a lui les relations �el�ementaires qui peuvent exister entre ces cycles. Il
o�re aussi un mod�ele relativement simple pour d�ecrire certaines structures cycliques
remarquables que l'on veut reconna�tre.
Mais quels que soient nos e�orts, nous nous heurterons toujours aux limites de la
repr�esentation des mol�ecules sous forme de graphes. Seule une mod�elisation tenant
compte de toutes les propri�et�es chimiques permettrait de r�esoudre ce probl�eme de
fa�con optimale. En attendant, la notion de cycle pertinent semble constituer un
compromis tout �a fait acceptable. Dans le cadre du projet ReSyn, cette notion
pourra etre am�elior�ee �a long terme par une confrontation avec des probl�emes r�eels.
La d�e�nition d'un ensemble de cycles pertinents n'est en fait que l'�etape initiale -
mais o combien indispensable - d'un travail de description des syst�emes cycliques,
du point de vue de la synth�ese en chimie organique, qui ne fait que commencer.
La d�etermination de l'union des bases de cycles de taille minimale peut s'av�erer
utile en dehors du cadre de la chimie organique, pour peu que les concepts manipul�es
soient mod�elisables par des graphes. On peut par exemple envisager d'appliquer les
r�esultats obtenus �a la recherche d'isomorphismes de graphes. Nous avons en e�et pr�e-
sent�e un algorithme polynomial permettant de d�eterminer le nombre et la taille des
cycles pertinents d'un graphe. Ces caract�eristiques constituent un ((invariant)) pour
l'isomorphisme de graphes qu'il serait int�eressant d'�etudier (puisque deux graphes
isomorphes contiennent n�ecessairement les memes cycles pertinents). On peut esp�e-
rer que cette d�emarche donne de bons r�esultats pour des graphes majoritairement
2-connexes qui posent g�en�eralement le plus de di�cult�es pour les probl�emes d'iso-
morphisme.
Rappelons, pour �nir, que l'�etude de l'union des bases de cycles de taille minimale
peut etre �etendue aux graphes munis d'une valuation positive (cf. Annexe A) avec
une complexit�e similaire.
112 Chapitre 3. Histoires de cycles
113
Chapitre 4
Analyse structurale d'un graphe
mol�eculaire
4.1 Introduction
Quel que soit le probl�eme de d�ecision que l'on cherche �a r�esoudre, on ne peut
pas �elaborer la moindre strat�egie de r�esolution si l'on ne dispose pas, au pr�ealable,
d'une connaissance tr�es �ne de la situation �a traiter. Dans le cadre de la synth�ese,
cette �etape initiale passe par l'analyse structurale de la mol�ecule �etudi�ee et plus
pr�ecis�ement de la principale repr�esentation dont on dispose : le graphe mol�eculaire.
Nous avons vu dans le chapitre pr�ec�edent comment pouvait etre trait�e le probl�eme de
la reconnaissance des syst�emes cycliques. Il convient maintenant de s'int�eresser aux
autres aspects structuraux d'une mol�ecule qui sont susceptibles d'intervenir dans la
description de strat�egies de synth�ese.
L'objectif de ce chapitre est de montrer comment des notions appartenant au
domaine de la chimie peuvent etre trait�ees de mani�ere informatique en s'appuyant
sur le cadre formel de la th�eorie des graphes. Nous pr�esenterons des algorithmes
e�caces permettant de reconna�tre di��erents motifs structuraux comme les cha�nes
carbon�ees, les liens de cycle ou les liens h�et�eroatomiques. Nous montrerons ensuite
114 Chapitre 4. Analyse structurale d'un graphe mol�eculaire
comment tous ces motifs structuraux peuvent etre rassembl�es de fa�con �a construire
une repr�esentation abstraite d'une mol�ecule qui permette de mettre en exergue la
structure g�en�erale du graphe mol�eculaire.
Nous nous int�eresserons �egalement �a d'autres propri�et�es structurales de la mo-
l�ecule comme la d�etermination de la centralit�e des liaisons, la reconnaissance des
groupements fonctionnels et surtout l'analyse de la sym�etrie de la mol�ecule. Nous
pr�esenterons �a cet e�et un algorithme e�cace permettant de d�eterminer les princi-
pales sym�etries d'un graphe en construisant une relation d'�equivalence sur l'ensemble
des sommets. Cette relation est utilis�ee pour optimiser le calcul de la st�er�eochimie
suivant les r�egles CIP.
4.2 Repr�esentation abstraite d'une mol�ecule
4.2.1 D�e�nitions
Les d�e�nitions que nous allons pr�esenter dans ce paragraphe sont directement
inspir�ees de concepts issus de la chimie organique. Bien que ces notions soient relati-
vement universelles, leur d�e�nition exacte ne fait pas toujours l'unanimit�e. L'objectif
de ce paragraphe est donc double. D'une part, il s'agit de pr�eciser la s�emantique as-
soci�ee �a quelques termes emprunt�es au langage chimique. D'autre part, il convient
de d�ecrire les concepts qui leur sont associ�es dans le cadre formel de la th�eorie des
graphes. Pour ce faire, nous utiliserons la notion de graphe mol�eculaire introduite
dans le paragraphe 1.4.1.
4.2.1.1 Squelette d'une mol�ecule
En chimie organique, les mol�ecules sont principalement compos�ees d'atomes de
carbone et d'hydrog�ene. Mais d'autres types d'atomes peuvent aussi intervenir dans
la composition des mol�ecules : ce sont les h�et�eroatomes. Les principaux h�et�eroa-
tomes que l'on trouve dans des mol�ecules organiques sont l'oxyg�ene (O), l'azote (N),
le chlore (Cl), le soufre (S), le phosphore (P), le brome (Br), l'iode (I), le uor (F)
et le silicium (Si).
4.2. Repr�esentation abstraite d'une mol�ecule 115
S O
N
S NN
a ) Squelette carboné
b ) connexitéc ) Squelette
OH
O
N
NSCl
O
Fig. 4.1 { D�e�nition du squelette d'une mol�ecule
Pour d�e�nir un graphe mol�eculaire G = (X;E), nous avons utilis�e une fonction
d'�etiquetage fA : X �! TA o�u TA d�esigne l'ensemble des symboles atomiques.
On peut ainsi construire une partition des sommets de G en fonction du symbole
atomique qui leur est associ�e :
� XCarb: = f x 2 X tel que fA(x) = C g (atomes de carbone)
� XHydr: = f x 2 X tel que fA(x) = H g (atomes d'hydrog�ene)
� XHet: = f x 2 X tel que fA(x) 2 TA n fC; Hg g (h�et�eroatomes)
L'architecture d'une mol�ecule est principalement d�etermin�ee par l'ensemble des
liaisons qui relient ses atomes de carbone. Ces liaisons entre carbones d�e�nissent le
squelette carbon�e de la mol�ecule.
Par rapport au graphe mol�eculaire, le squelette carbon�e correspond au sous-graphe
de G engendr�e par l'ensembleXCarb: associ�e aux atomes de carbone. Pour beaucoup
de mol�ecules, ce sous-graphe est connexe. Mais il existe un nombre non n�egligeable de
structures mol�eculaires pour lesquelles cette propri�et�e de connexit�e n'est pas v�eri��ee
(voir �gure 4.1.a). Le squelette carbon�e ne repr�esente donc pas parfaitement l'ar-
chitecture de la mol�ecule. C'est pourquoi, il est n�ecessaire de lui rajouter certaines
aretes comportant des atomes qui ne sont pas des carbones.
116 Chapitre 4. Analyse structurale d'un graphe mol�eculaire
Les atomes d'hydrog�ene ayant une valence �egale �a 1, ne peuvent etre rattach�es
qu'�a un seul autre atome. Ils ne sont donc jamais responsables de la non connexit�e
du squelette carbon�e. On dit que les atomes d'hydrog�ene sont terminaux .
Dans le cadre de la th�eorie des graphes, cette propri�et�e est souvent d�e�nie par la
notion de sommet pendant . Nous dirons donc qu'un sommet x du graphe G = (X;E)
est pendant si son degr�e dans le graphe G est �egal �a 1.
Pour obtenir une repr�esentation connexe �a partir du squelette carbon�e, il faut
int�egrer certains h�et�eroatomes. Cependant, le seul crit�ere de connexit�e ne saurait etre
satisfaisant. Pour la mol�ecule de la �gure pr�ec�edente, l'ajout des deux h�et�eroatomes
voisins S et N �a l'ensemble des atomes de carbone permet de d�e�nir un sous-graphe
qui est connexe (voir �gure 4.1.b) Mais ce sous-graphe ne d�ecrit pas convenablement
l'architecture de la mol�ecule initiale. Il ne contient pas le cycle de 5 aretes qui passe
pourtant par trois atomes de carbone. De fa�con g�en�erale, il convient de conserver
tous les h�et�eroatomes qui appartiennent au moins �a un cycle.
Pour ce faire, nous devons d�e�nir l'ensemble XCycles des sommets d'un graphe
mol�eculaire G = (X;E) qui appartiennent �a un cycle :
XCycles =[
Cy 2CPsommets(Cy )
Nous d�e�nissons donc le squelette SG = (XS ; ES) d'un graphe mol�eculaire G
par le sous-graphe de G engendr�e par l'ensemble de sommets XS tel que :
XS = XCarb: [ XCycles [
8>><>>:x 2 XHet: tel que
��������il existe une cha�ne �el�ementaire
[y; :::; x; :::; z] dans G telle que
y et z appartiennent �a XCarb:
9>>=>>;
La �gure 4.1.c donne un exemple de squelette de graphe mol�eculaire r�epondant �a
cette d�e�nition. On v�eri�era ais�ement que le squelette associ�e �a une mol�ecule donn�ee
est n�ecessairement unique de par sa d�e�nition.
4.2.1.2 Cha�nes carbon�ees
Comme nous l'avons vu pr�ec�edemment, les atomes de carbone occupent une place
pr�epond�erante en chimie organique. Il est donc important de d�eterminer les parties
4.2. Repr�esentation abstraite d'une mol�ecule 117
O
RamifiéeChaîne carbonée
Linéaire
C C
C
C C O
C COO Si
O
C
C
C OC C C
O
C OC
Fig. 4.2 { Quelques exemples de cha�nes carbon�ees.
d'une mol�ecule qui sont exclusivement compos�ees d'atomes de carbone. Dans la me-
sure o�u les sous-structures cycliques font l'objet d'une description particuli�ere, nous
nous int�eressons ici uniquement aux carbones acycliques de la mol�ecule.
Nous d�e�nissons l'ensemble des cha�nes carbon�ees d'un graphe mol�eculaire par
l'ensemble des composantes connexes du sous-graphe engendr�e par XCarb: nXCycles .
Le terme de ((cha�ne carbon�ee )) appartient au langage de la chimie organique.
Dans le cadre de la th�eorie des graphes, l'expression ((arbre carbon�e)) serait plus
exacte. On distingue en e�et en chimie les ((cha�nes carbon�ees lin�eaires)) dont le graphe
associ�e se r�eduit �a une cha�ne et les ((cha�nes carbon�ees rami��ees)) qui correspondent
�a des arbres (voir �gure 4.2).
4.2.1.3 Liens h�et�eroatomiques
Lors de la d�e�nition du squelette d'un graphe mol�eculaire, nous avons remarqu�e
que certains h�et�eroatomes doivent etre rajout�es au squelette carbon�e pour pouvoir
d�ecrire la structure d'une mol�ecule. Si l'on exclut les h�et�eroatomes qui appartiennent
au moins �a un cycle, on constate que les h�et�eroatomes restants assurent la connexit�e
du squelette de la mol�ecule. Ont dit alors qu'ils d�e�nissent des liens h�et�eroatomiques
entre les diverses parties de ce squelette.
De fa�con plus formelle, nous dirons qu'un lien h�et�eroatomique Lhet: du graphe
mol�eculaire G est d�e�nit par son noyau et sa p�eriph�erie, o�u :
� le noyau de Lhet: est une composante connexe du sous-graphe de SG engendr�e
par (XS nXCycles ) \ XHet:
118 Chapitre 4. Analyse structurale d'un graphe mol�eculaire
O
O
O
Cl
Br
Br
Br
noyau périphérie
PN O
NS
C0
O
N
C
C CO Si
O
O
C
C
C OC C C
O
Fig. 4.3 { Quelques exemples de liens h�et�eroatomiques.
C CO Si
O
O
C
C
C OC C C
O
Chaîne carbonnée
Lien hétéroatomique
noyau périphérie
Fig. 4.4 { Relations entre cha�nes carbon�ees et liens h�et�eroatomiques.
� et la p�eriph�erie de Lhet: est d�e�nie par l'ensemble des aretes de SG qui sont
incidentes �a au moins un sommet du noyau de Lhet:.
La �gure 4.3 donne quelques exemples de liens h�et�eroatomiques.
La perception des cha�nes carbon�ees et des noyaux de liens h�et�eroatomiques per-
met de d�e�nir une d�ecomposition des parties non cycliques du squelette d'un graphe
mol�eculaire en composantes connexes homog�enes, c'est-�a-dire dont tous les sommets
sont de meme nature. Les ensembles d'aretes correspondant aux p�eriph�eries de liens
h�et�eroatomiques d�ecrivent, quant �a elles, les relations de connexit�e qui existent entre
ses diverses composantes (voir �gure 4.4). Nous reviendrons sur le cas particulier des
liens h�et�eroatomiques contigus �a un cycle dans le prochain paragraphe consacr�e aux
liens de cycles.
4.2. Repr�esentation abstraite d'une mol�ecule 119
4.2.1.4 Liens de cycle
�A ce stade de l'analyse d'un graphe mol�eculaire, nous sommes en mesure de
d�ecrire trois types de motifs structuraux : les syst�emes cycliques, les cha�nes carbon�ees
et les liens h�et�eroatomiques. Notre objectif est de repr�esenter la structure d'une
mol�ecule �a l'aide d'un graphe comprenant ces di��erentes composantes. Pour que ce
graphe puisse etre connexe, il nous faut maintenant �etudier les relations qui existent
entre les parties cycliques et le reste de la mol�ecule. Pour ce faire, nous allons d�e�nir
la notion de lien de cycle.
De fa�con informelle, on peut dire qu'un lien de cycle est caract�eris�e par un som-
met appartenant �a un cycle et qui est adjacent �a au moins une arete non cyclique
du squelette mol�eculaire GS . Ce sommet particulier assure la connexit�e du graphe
mol�eculaire aux abords d'un cycle.
Notons ECycles l'ensemble des aretes d'un graphe mol�eculaire G = (X;E) qui
appartiennent �a un cycle :ECycles =
[Cy 2CP
aretes(Cy )
Pour tout sommet x de XCycles qui est adjacent �a au moins une arete de ES n
ECycles , on d�e�nit un lien de cycle Lcy par son noyau et sa p�eriph�erie, o�u :
� le noyau de Lcy se r�eduit au sommet x
� et la p�eriph�erie de Lcy contient les aretes de ES n ECycles adjacentes �a x.
Dans cette d�e�nition des liens de cycle, nous avons choisi de mettre en valeur le
sommet ((noyau)) qui relie le cycle �a une partie non cyclique du squelette mol�eculaire.
On peut ainsi caract�eriser un lien de cycle suivant la nature de son noyau. On dira
qu'un lien de cycle est ((h�et�eroatomique)) si son noyau est un h�et�eroatome. Cette
distinction est particuli�erement int�eressante dans le cadre de la synth�ese en chimie
organique. En e�et, lors d'une analyse r�etrosynth�etique de la mol�ecule, on pourra
rep�erer les liens de cycle de type h�et�eroatomique et, par exemple, privil�egier leur
suppression.
La ((p�eriph�erie)) d'un lien de cycle contient l'ensemble des aretes qui assurent
la connexit�e du squelette mol�eculaire aux abords d'un cycle. Comme pour les liens
h�et�eroatomiques, cet ensemble est directement d�e�ni par le noyau du lien de cycle
et ce de fa�con unique. On pourra remarquer dans la �gure 4.6 qu'une meme arete
peut appartenir aux p�eriph�eries d'un lien de cycle et d'un lien h�et�eroatomique. Cette
120 Chapitre 4. Analyse structurale d'un graphe mol�eculaire
O
O
noyau périphérie
O
O
P O
O
PPO
O
O
O
PS N
N
O
C C
Fig. 4.5 { Quelques exemples de liens de cycles.
�gure pr�esente aussi un graphe mol�eculaire contenant un lien h�et�eroatomique qui
est contigu �a un lien de cycle dont le noyau est un h�et�eroatome. Dans un tel cas, le
noyau de lien h�et�eroatomique ne peut pas contenir le sommet d�e�nissant le noyau du
lien de cycle puisque ce sommet appartient �a Xcycles. Par contre, l'arete qui relie ce
sommet au noyau de lien h�et�eroatomique appartient aux p�eriph�eries des deux liens.
4.2.2 Algorithmes
Nous allons proposer ici quelques algorithmes permettant de rechercher les divers
types de motifs structuraux que nous venons de d�e�nir. On pourra ainsi constater
que toutes ces sous-structures peuvent etre d�etermin�ees en temps lin�eaire par rapport
�a la taille du graphe mol�eculaire (i.e. en O(m+ n)).
4.2. Repr�esentation abstraite d'une mol�ecule 121
SiC C
Cpériphérie
Lien de cycle
Lien hétéroatomique
noyau périphérieCP O
N
N
noyau
Fig. 4.6 { Relations entre lien h�et�eroatomique et lien de cycle.
4.2.2.1 Squelette mol�eculaire
La construction du squelette mol�eculaireGS = (XS ; ES) ne pr�esente pas de r�eelle
di�cult�e. Il su�t de supprimer dans le graphe G = (X;E) les sommets de XHydr:
puis d'�eliminer r�ecursivement tous les sommets de XHet: qui sont pendants.
L'algorithme de construction du squelette mol�eculaire peut donc se r�esumer ainsi :
Donn�ees : G = (X;E) un graphe mol�eculaire, XHet: et XHydr: deux sous-ensembles
disjoints de X.
R�esultat : GS = (XS ;�S) le squelette mol�eculaire issu de G, o�u �S d�esigne l'ensemble
des listes d'adjacence des sommets de GS .
1. XS X nXHydr:;
2. Som Term ?; ? ensemble des sommets terminaux �a supprimer ?
3. Pour tout x 2 XS faire :
4. �S(x) �(x);
5. si x 2 XHet: et j�S(x)j = 1 alors Som Term Som Term [ fxg fsi
6. fpour
7. Tant que Som Term 6= ? faire :
8. Choisir x 2 Som Term; Som Term Som Term n fxg;
9. y le sommet de GS tel que �S(x) = fyg;
10. Supprimer x dans GS ;
11. si j�S(y)j = 1 alors Som Term Som Term [ fyg fsi
12. ftq
122 Chapitre 4. Analyse structurale d'un graphe mol�eculaire
En utilisant des structures de donn�ees appropri�ees, on peut ex�ecuter cet algo-
rithme en O(m + n) (o�u m et n d�esignent le nombre de sommets et d'aretes de
G).
4.2.2.2 Cha�nes carbon�ees et liens h�et�eroatomiques
Pour d�eterminer l'ensemble des cha�nes carbon�ees et liens h�et�eroatomiques, nous
utilisons un algorithme inspir�e des m�ethodes de calcul des composantes 2-connexe
d'un graphe. En se limitant aux parties non cycliques du graphe, on r�ealise un par-
cours en profondeur �a partir d'un sommet quelconque. Il s'agit alors de d�ecomposer
l'ensemble des sommets et aretes parcourus en di��erentes ((composantes connexes
homog�enes)) (cha�nes carbon�ees ou liens h�et�eroatomiques).
Consid�erons l'exploration d'un sommet y. Si tous les sommets accessibles �a partir
de y sont de meme nature que y (des carbones, par exemple) on devra construire
une composante connexe homog�ene contenant y et tous ces sommets atteints (une
cha�ne carbon�ee dans le cas de carbones). Supposons maintenant que le sommet y ait
�et�e explor�e �a partir d'un sommet x (i.e. y 2 �(x)). Deux cas peuvent se pr�esenter.
Ou bien x et y ne sont pas de la meme nature et il faut alors cr�eer la composante
contenant y avant de poursuivre l'exploration de x. Ou bien x et y sont de meme
type et l'on doit int�egrer x �a la composante de y.
La cr�eation de la composante homog�ene contenant un sommet donn�e est retard�ee
au maximum de fa�con �a obtenir des composantes de taille maximale. Il faut donc
m�emoriser les sommets explor�es jusqu'�a ce que l'on soit en mesure de construire
la composante qui les contient. Cette construction ne peut en e�et intervenir que
lorsque le dernier sommet de la composante aura �et�e explor�e. La principale di�cult�e
provient du fait que l'on peut commencer �a explorer une nouvelle composante avant
d'avoir termin�e l'exploration de la composante en cours. Consid�erons par exemple le
graphe de la �gure 4.7. Lors de la cr�eation de la premi�ere composante qui contient les
sommets 6 et 7, deux autres composantes sont en cours d'exploration : la composante
III dont on n'a alors atteint que les sommets 4 et 5 et la composante IV qui se limite,
�a cet instant, aux sommets 1, 2 et 3.
La structure de donn�ees permettant de m�emoriser les composantes en cours d'ex-
ploration doit tenir compte de cette particularit�e. Pour ce faire, on utilise une struc-
4.2. Repr�esentation abstraite d'une mol�ecule 123
4
IV
II
2
31
5III
I
6 7
8 910II
6
Sens du parcours
Ordre de création
des sommetsOrdre de parcours
en profondeur
des composantes
Fig. 4.7 { Construction de composantes connexes ((homog�enes ))
ture de pile pour stocker les sommets d�ej�a atteints. Lorsque l'on commence �a explorer
un sommet, on le place en haut de la pile. Nous avons d�ej�a vu qu'une composante
est cr�e�ee chaque fois que l'on revient de l'exploration d'un sommet y qui n'est pas
du meme type que le sommet x �a partir duquel il a �et�e atteint. �A cet instant, tous
les sommets de la pile situ�es au dessus de y sont n�ecessairement de meme nature que
y. Il su�t donc de les d�epiler pour construire la nouvelle composante.
Dans la �gure 4.7, lorsque l'on revient de l'exploration du sommet 6, la pile de
sommets correspond �a la liste ( 7; 6; 5; 4; 3; 2; 1 ) o�u 7 se situe en haut de la pile. En
d�epilant jusqu'au sommet 6 inclus, on obtient bien la premi�ere composante.
Une d�emarche similaire est utilis�ee pour m�emoriser les aretes atteintes lors du
parcours en profondeur. Une l�eg�ere di��erence intervient cependant pour le traitement
de l'arete fx; yg reliant les sommets x et y de nature di��erente. Cette arete doit en
e�et etre associ�ee au lien h�et�eroatomique qui correspond �a la composante du sommet
x ou du sommet y.
Le parcours en profondeur commence �a partir d'un sommet de XS n XCycles.
Lorsque ce premier parcours se termine, on recommence avec un nouveau sommet
non cyclique qui n'a pas encore �et�e atteint. Tous les parcours sont r�ealis�es �a travers
les aretes de ES n ECycles. Lorsque le sommet x explor�e est un h�et�eroatome li�e �a un
sommet y deXCycles , l'arete fx; yg est plac�ee dans la pile des aretes pour etre int�egr�ee
au lien h�et�eroatomique correspondant. Par contre, le sommet y n'est pas empil�e ni
explor�e puisqu'il appartient �a un cycle.
Apr�es avoir expos�e les grandes lignes de la d�emarche employ�ee, nous pouvons
maintenant d�etailler l'algorithme de recherche des cha�nes carbon�ees et des liens h�e-
124 Chapitre 4. Analyse structurale d'un graphe mol�eculaire
t�eroatomiques d'un squelette de graphe mol�eculaire GS = (XS ;�S) :
Recherche des cha�nes carbon�ees et des liens h�et�eroatomiques :
1. Atteints XCycles ;
2. Initialiser(Pile Aretes);
3. Initialiser(Pile Sommets);
4. Pour tout x 2 XS faire :
5. Si x =2 Atteints Alors :
6. Recherche Prof(x);
7. Construire composante (x; x );
8. fpour
Proc�edure Recherche Prof (x )
? Proc�edure r�ecursive d'exploration en profondeur d'un sommet x ?
? Construit la composante associ�ee �a tout voisin de x qui n'est pas du meme type?
? (Remarque : Cette fonction ne construit pas la composante contenant x) ?
1. Atteints Atteints [ fxg;
2. Empiler(Pile Sommets ; x );
3. Pour tout y 2 �(x) faire :
4. Si y 2 Atteints Alors :
5. Si ( x 2 XHet: et y 2 XCycles ) Alors Empiler(Pile Aretes ; fx; yg ) fsi
6. sinon
7. Empiler(Pile Aretes ; fx; yg );
8. Recherche Prof(y);
9. si fA(x) 6= fA(y) alors : Construire composante (x; y ) fsi
10. fpour
Proc�edure Construire composante (x; y )
? Construit la composante homog�ene associ�ee au sommet y explor�e depuis x ?
? en utilisant et modi�ant les piles de sommets et d'aretes. ?
? (lorsque x n'a pas de pr�ed�ecesseurs dans le parcours, on pose y = x) ?
4.2. Repr�esentation abstraite d'une mol�ecule 125
1. Aret: ?; Somm: ?;
2. R�ep�eter
3. z D�epiler(Pile Sommets );
4. Somm: Somm: [ fzg;
5. Jusqu'�a z = y;
6. Si fA(y) = C Alors :
7. Tant que ( : V ide(Pile Aretes ) et Premier(Pile Aretes ) 6= fx; yg ) faire :
8. u D�epiler(Pile Aretes ); Aret: Aret: [ fug;
9. ftq
10. Cr�eer nouvelle cha�ne carbon�ee (Somm: ; Aret:);
11. Sinon :
12. R�ep�eter
13. u D�epiler(Pile Aretes );
14. Aret: Aret: [ fug;
15. Jusqu'�a ( u = fx; yg ou V ide(Pile Aretes ) )
16. Cr�eer nouveau lien h�et�eroatomique (Somm: ; Aret:);
17. fsi
Les fonctions de cr�eation des deux types de composantes ne pr�esentent pas de
di�cult�e. Dans le cas de liens h�et�eroatomiques, il convient cependant de rechercher,
parmi l'ensemble d'aretes d�etermin�e par la proc�edure Construire composante, les
aretes qui appartiennent au noyaux et celles qui font partie de la p�eriph�erie du lien.
Quant �a la complexit�e de l'algorithme principal, on v�eri�e ais�ement qu'elle est en
O(jXS j+ jESj).
4.2.2.3 Liens de cycle
L'algorithme de recherche des liens de cycle d�ecoule directement de leur d�e�nition.
Il su�t de rechercher les sommets faisant partie d'un cycle et qui ont au moins une
arete adjacente n'appartenant �a aucun cycle.
On en d�eduit l'algorithme suivant qui s'applique �a un squelette de graphe mol�e-
culaire GS = (XS ;�S) :
126 Chapitre 4. Analyse structurale d'un graphe mol�eculaire
Recherche des liens de cycle:
1. Pour tout x 2 XCycles faire :
2. P �eriph�erie ?;
3. Pour tout y 2 �(x) faire :
4. Si fx; yg =2 ECycles Alors : P �eriph�erie P �eriph�erie [ ffx; yg g fsi
5. fpour
6. Si P �eriph�erie 6= ? Alors : Cr�eer Lien de Cycle (x; P �eriph�erie ) fsi
7. fpour
Si l'on r�ealise le test d'appartenance d'une arete �a ECycles de mani�ere e�cace, on
obtient une complexit�e de cet algorithme en O( jXS j+ jESj).
4.3 Graphe associ�e �a l'analyse structurale d'une
mol�ecule
Nous venons de d�eterminer un certain nombre de motifs structuraux permettant
d'analyser un graphe mol�eculaire. Il s'agit maintenant de regrouper toutes ces sous-
structures et de d�ecrire les relations de proximit�e qui existent entre elles.
4.3.1 D�e�nition de la repr�esentation par blocs GRB
Nous adopterons les notations suivantes :
� CP = ensemble des cycles pertinents,
� Cha�nesC = ensemble des cha�nes carbon�ees,
� LiensHet: = ensemble des liens h�et�eroatomiques,
� LiensCycle = ensemble des liens de cycle;
Pour pouvoir comparer ces divers motifs structuraux, nous devons uni�er leur
mode de description. Cette uni�cation est assez naturelle puisqu'il s'agit de sous-
graphes connexes du squelette du graphe mol�eculaire. Toutefois, dans le cas de liens
h�et�eroatomiques ou de liens de cycles, nous avons choisi de scinder le graphe connexe
correspondant en deux parties : le noyau et la p�eriph�erie. A�n d'uni�er les d�e�nitions
4.3. Graphe associ�e �a l'analyse structurale d'une mol�ecule 127
périphérie
noyau
61
8
7
9
3
4
5
2
N(b) = { 6, 7, 8, 9 }
P(b) = { 1, 2, 3, 4 }
Fig. 4.8 { Partition des sommets d'un bloc b en deux ensembles N(b) et P (b).
des motifs structuraux, nous dirons que pour une cha�ne carbon�ee ou un cycle perti-
nent, le noyau regroupe tous les sommets et les aretes de la sous-structure associ�ee,
alors que la p�eriph�erie est vide.
Cette pr�ecision �etant donn�ee, nous pouvons entreprendre la d�e�nition d'une abs-
traction du graphe mol�eculaire. Nous cherchons �a construire un graphe dont les
sommets correspondent aux di��erents motifs structuraux per�cus. Nous dirons que ce
graphe, not�e GRB d�e�nit une repr�esentation par blocs du squelette du graphe
mol�eculaire.
Les sommets de GRB, que nous appellerons ((blocs)) appartiennent �a l'ensemble :
XRB = CP [ Cha�nesC [ LiensHet: [ LiensCycle
Pour tout bloc b appartenant �a XRB nous d�e�nissons une partition des sommets
du sous-graphe associ�e �a b. Soit N(b) l'ensemble des sommets qui appartiennent au
noyau de b. Nous noterons P (b) l'ensemble des sommets inclus dans une arete de la
p�eriph�erie de b et qui n'appartiennent pas �a N(b). La �gure 4.8, donne un exemple
de d�e�nition de cette partition.
L'ensemble ERB des aretes de GRB se d�e�nit alors de la fa�con suivante :
ERB = f fb1; b2g � XRB tels que N(b1) \ N(b2) 6= ? ou N(b1) \ P (b2) 6= ? g
Cette d�e�nition signi�e simplement que deux blocs appartenant �a XRB sont reli�es
dans GRB si au moins un sommet du noyau du premier bloc appartient au noyau ou
�a la p�eriph�erie du second.
Consid�erons par exemple le graphe mol�eculaire de la �gure 4.9. L'analyse struc-
turale du squelette qui lui est associ�e permet de distinguer 9 di��erents blocs qui
128 Chapitre 4. Analyse structurale d'un graphe mol�eculaire
Liens de cycle
Chaînes carbonées
Cycles
Lien hétéroatomique
S N
O
N
S N
O
N
CC
S
C C
N
Graphe moléculaire
OH
O
N
NSCl
O
C C
C C
C
N
S
C
GRB
Fig. 4.9 { Repr�esentation par blocs associ�ee �a un graphe mol�eculaire.
d�e�nissent l'ensembleXRB. Le graphe GRB peut alors etre directement construit en
respectant la d�e�nition de ERB.
De par sa d�e�nition, l'ensemble ERB est n�ecessairement unique pour une d�e-
composition en blocs donn�ee. La recherche des motifs structuraux �etant elle-meme
d�eterministe, on en d�eduit que tout graphe mol�eculaire admet une unique repr�esen-
tation par blocs GRB.
L'objectif de la construction du graphe GRB est avant tout de fournir une repr�e-
sentation abstraite de la mol�ecule. Bien qu'il soit utile de conna�tre le contenu de
chaque bloc, nous nous int�eressons surtout �a sa nature. C'est pourquoi, nous repr�e-
senterons g�en�eralement les graphes GRB en �etiquetant chaque sommet par la nature
du bloc qu'il repr�esente. On peut ainsi voir dans la �gure 4.10, quelques repr�esenta-
tions par blocs visualis�ees, dans ReSyn, en respectant cette d�emarche.
4.3. Graphe associ�e �a l'analyse structurale d'une mol�ecule 129
Fig. 4.10 { Visualisation dans ReSyn des repr�esentations par blocs associ�ees �a
quelques graphes mol�eculaires (les liens de cycles sont repr�esent�es par des cercles
noirs comportant �eventuellement la lettre H si le noyau du lien est un h�et�eroatome).
130 Chapitre 4. Analyse structurale d'un graphe mol�eculaire
4.3.2 Algorithme de construction de GRB
Connaissant l'ensemble de blocs XRB, il s'agit de d�eterminer l'ensemble ERB des
aretes de la repr�esentation par blocs GRB.
Pour tout �el�ement b de XRB, nous avons d�e�ni dans le paragraphe pr�ec�edent les
ensembles N(b) et P (b) contenant les sommets du noyau et de la p�eriph�erie de b.
Soit x un sommet du graphe mol�eculaire G = (X;E). Nous noterons :
� Blocs(x) = f b 2 XRB tel que x 2 N(b) [ P (b) g
� Noyaux Blocs(x) = f b 2 XRB tel que x 2 N(b) g
Notons Bmax le nombre maximal de blocs auquel peut appartenir un sommet
de G (i.e. Bmax = maxx2X jBlocs(x)j).
Pour la quasi-totalit�e des mol�ecules, le nombre Bmax est major�e par le degr�e
maximal dmax de G. En e�et, tout sommet ne peut appartenir �a plus de liens ou de
cha�nes carbon�ees qu'il n'a de voisins. Par ailleurs, on peut raisonnablement a�rmer
que, pour la plupart des graphes mol�eculaires, un sommet appartient au plus �a dmax
cycles pertinents.
La construction des ensembles Blocs(x) et Noyaux Blocs(x) peut etre r�ealis�ee
en O(jXS jBmax) par l'algorithme suivant :
1. Pour tout x 2 XS faire : Blocs(x) ?; Noyaux Blocs(x) ? fpour
2. Pour tout b 2 XRB faire :
3. Pour tout x 2 N(b) faire : Noyaux Blocs(x) Noyaux Blocs(x) [ fxg fpour
4. Pour tout x 2 N(b) [ P (b) faire : Blocs(x) Blocs(x) [ fxg fpour
5. fpour
Nous pouvons alors construire l'ensemble ERB de la mani�ere suivante :
1. ERB ?
2. Pour tout x 2 XS faire :
3. Pour tout b1 2 Noyaux Blocs(x) faire :
4. Pour tout b2 2 Noyaux(x) n fb1g faire :
5. ERB ERB [ ffb1; b2g g
6. fpour
4.4. Centralit�e des aretes d'un graphe mol�eculaire 131
Cet algorithme peut etre ex�ecut�e en O(P
x2XSjNoyaux Blocs(x)j�jNoyaux(x)j),
ce qui donne �nalement un temps de calcul en O(jXS jBmax2) pour construire ERB.
Dans la mesure o�u Bmax ' dmax pour la plupart des mol�ecules, on peut dire que
la construction des aretes de GRB est g�en�eralement r�ealis�ee en O(jXS j d2max), c'est
�a dire en temps lin�eaire par rapport au nombre de sommets du graphe mol�eculaire
(puisque ce dernier est de degr�e born�e).
4.4 Centralit�e des aretes d'un graphe mol�eculaire
Au cours de l'analyse d'un graphe mol�eculaire, on est souvent amen�e �a d�eterminer
la partie centrale de la mol�ecule. Par exemple, lors de l'�elaboration d'une strat�egie de
r�etrosynth�ese, on va chercher �a ((casser)) la mol�ecule au centre de fa�con �a obtenir deux
parties de tailles semblables. Cette d�emarche { dite convergente { peut permettre de
scinder le probl�eme trait�e en deux sous-probl�emes de complexit�e deux fois moindre.
Nous allons donc nous e�orcer de formaliser cette notion de ((centralit�e)).
La recherche du centre d'un graphe n'est pas nouvelle en informatique (cf. [Berge,
1973]). On commence par d�e�nir, pour tout sommet x d'un graphe G = (X;E), son
�ecartement not�e e(x) o�u :
e(x) = maxy2Xnfxg
dist(x; y)
Tout sommet x0 d'�ecartement minimum est alors appel�e centre du graphe G.
Cette d�e�nition du centre d'un graphe n'est pourtant pas su�sante dans le cadre
de la chimie. En e�et, lorsque l'on e�ectue une d�emarche r�etrosynth�etique, on s'in-
t�eresse plus �a la centralit�e des aretes du graphe mol�eculaire qu'�a celle des sommets.
Cette di��erence s'explique simplement par le fait qu'une r�eaction chimique (ou une
transformation r�etrosynth�etique) modi�e surtout les liaisons de la mol�ecule et par l�a
meme les aretes du graphe mol�eculaire.
Par ailleurs, il faut reconna�tre que cette notion de ((centre du graphe mol�eculaire))
n'est qu'une mod�elisation assez lointaine de ce qu'un chimiste pourra d�esigner comme
�etant le ((centre de la mol�ecule)). Le premier �ecueil li�e �a cette formalisation correspond
au choix du graphe sur lequel le centre va etre recherch�e. Bien que le choix du graphe
mol�eculaire semble le plus naturel, on peut aussi lui pr�ef�erer le squelette mol�eculaire
qui rend mieux compte de la structure g�en�erale de la mol�ecule. Dans le meme ordre
132 Chapitre 4. Analyse structurale d'un graphe mol�eculaire
d'id�ees, il peut etre tout a fait judicieux de d�eterminer le centre du graphe associ�e �a
la repr�esentation par blocs de la mol�ecule.
Cet �eventail de choix du graphe utilis�e pour repr�esenter la mol�ecule, engendre
autant de solutions pour en d�esigner le centre. Bien sur, quelle que soit la repr�e-
sentation utilis�ee, les r�esultats obtenus ne seront jamais totalement oppos�es. Mais il
para�t di�cile de limiter la d�e�nition du centre de la mol�ecule �a un ensemble r�eduit
de liaisons qui d�epende �a ce point du mod�ele de graphe utilis�e pour le d�eterminer.
Il nous semble pr�ef�erable de d�e�nir la centralit�e d'une arete de fa�con relative sans
chercher �a isoler a priori une petite partie des aretes �etudi�ees.
Consid�erons donc un graphe G = (X;E) non orient�e et connexe.
Nous allons �etendre la notion d'�ecartement d'un sommet aux aretes de G. Pour
toute arete u = fx; yg 2 E nous d�e�nissons l'�ecartement de u not�e � (u) par :
� ( fx; yg ) = e(x) + e(y)
On en d�eduit alors la centralit�e de l'arete u :
centralit�e(u) = � (u)�minu02E
� (u0)
Suivant cette d�e�nition, les aretes les plus ((centrales)) auront une centralit�e �egale
�a 0, celles qui les entourent seront associ�ees �a la valeur 1 et ainsi de suite. On peut
alors d�e�nir le ((centre de la mol�ecule)) par l'ensemble des aretes dont la centralit�e
est au plus �egale �a une valeur donn�ee. Cette valeur sera d'autant plus petite que l'on
cherche �a d�e�nir le centre du graphe mol�eculaire de fa�con ponctuelle.
La d�etermination de la centralit�e des aretes repose avant tout sur le calcul de la
distance entre toute paire de sommets du graphe. Pour d�eterminer cet ensemble de
valeurs, il su�t de r�ealiser un parcours en largeur d'abord �a partir de chaque sommet,
ce qui donne une complexit�e globale en O(nm). Quant au calcul de l'�ecartement des
sommets, il peut etre ex�ecut�e en O(n2). La d�etermination de la centralit�e des aretes
�etant alors r�ealis�ee en O(m), on obtient �nalement un algorithme dont la complexit�e
globale est en O(nm).
4.5. Fonctionnalit�e 133
4 0 2
242
40
6
6
5 4
4
4
5 63
11
9
97
7
7911
1112
0centralité
d’une arête3
écartement
d’un sommet7
écartement
d’une arête
5
0
Fig. 4.11 { D�etermination de la centralit�e des aretes �a partir de l'�ecartement des
sommets.
4.5 Fonctionnalit�e
La fonctionnalit�e d'une mol�ecule d�ecrit l'ensemble des groupements fonction-
nels qui apparaissent dans cette mol�ecule : ((On appelle groupement fonctionnel
l'atome ou le groupe d'atomes qui caract�erisent une classe de compos�es organiques et
qui en d�etermine les propri�et�es)) [Allinger et al., 1975]. Cette d�e�nition se traduit en
terme de graphes en disant qu'un groupement fonctionnel est un sous-graphe partiel
connexe du graphe mol�eculaire (cf. �gure 4.12).
La perception des groupements fonctionnels revet une place fondamentale au
cours de l'�elaboration d'un plan de synth�ese. Leur importance est telle que l'on peut
dire que sans les groupements fonctionnels la synth�ese de mol�ecules serait impossible.
Il est donc primordial pour un syst�eme d'aide �a la synth�ese de pouvoir reconna�tre
les groupements fonctionnels qui apparaissent dans la mol�ecule �etudi�ee.
La reconnaissance des groupements les plus simples, se limitant par exemple �a
une cha�ne de 2 �a 3 aretes, peut etre r�ealis�ee �a l'aide de m�ethodes ad hoc e�ectuant
de simples parcours du graphe mol�eculaire. Pour les groupements plus �elabor�es cor-
respondant �a des motifs structuraux de grande taille, il faut recourir �a une d�emarche
plus g�en�erale li�ee au probl�eme de l'isomorphisme de sous-graphe partiel. Mais la
134 Chapitre 4. Analyse structurale d'un graphe mol�eculaire
O
Cou
Cétone
O
O
C C
C
C
H
C
O
Oléfine
C
C
O
C
C
C
O
C
C
C
C
C
O
C
C
C
C
O
C C
Anhydride
ou
H
Enone
H
Carbonyle
ou
Ester
CC
C
O
C C
Enone
Ester
C O C
O
Fig. 4.12 { Un exemple de hi�erarchie de groupements fonctionnels.
principale di�cult�e provient du fait qu'un graphe d�e�nissant un groupement fonc-
tionnel peut etre inclus dans un autre graphe caract�erisant un groupement di��erent.
Il para�t ainsi n�ecessaire d'organiser de fa�con hi�erarchique l'ensemble des graphes d�e-
�nissant un groupement fonctionnel (cf. �gure 4.12). La recherche des groupements
fonctionnels s'apparente alors �a un processus de classi�cation dans cette hi�erarchie.
Nous reviendrons plus en d�etail sur cette d�emarche dans le chapitre 6 et notamment
dans le paragraphe 6.5.2.
4.6. Sym�etrie et st�er�eochimie 135
4.6 Sym�etrie et st�er�eochimie
La sym�etrie occupe une part importante de l'analyse structurale d'un graphe.
Dans le cadre de la synth�ese, il est primordial de pouvoir d�eterminer les parties
sym�etriques d'une mol�ecule pour �eviter d'envisager des solutions parfaitement �equi-
valentes du fait de leur sym�etrie. En constatant qu'une mol�ecule est compos�ee de
deux parties sym�etriques, on peut �egalement rechercher une strat�egie de r�etrosyn-
th�ese permettant de scinder la mol�ecule en deux pr�ecurseurs identiques. On retrouve
en�n la notion de sym�etrie dans la d�e�nition de la st�er�eochimie laquelle fait r�ef�erence
�a la chimie en trois dimensions. Nous reviendrons sur la d�e�nition de la st�er�eochimie
dans le paragraphe 4.6.2 o�u nous pr�esenterons �egalement les r�egles CIP [Cahn et al.,
1966] permettant de d�esigner les divers types de st�er�eocentres.
Qu'il s'agisse de rechercher les appariements sym�etriques d'un motif structural
dans un graphe mol�eculaire, ou encore de d�eterminer la st�er�eochimie d'une mol�ecule,
nous devons etre en mesure de reconna�tre les parties sym�etriques d'un graphe. D'un
point de vue formel, ce probl�eme se ram�ene �a l'�etude des automorphismes du graphe
et, plus g�en�eralement, �a la recherche d'isomorphismes entre graphes.
�Etant donn�e deux graphes G = (X;E) et G0 = (X 0; E0) munis de fonctions de
valuations sur les sommets et les aretes (not�ees respectivement fX : X ! V et
fE : E ! E pour G et fX 0 : X 0 ! V et fE0 : E0 ! E pour G0), tout morphisme
� : X ! X 0 est un isomorphisme de G dans G0 si et seulement si :
� � est bijectif;
� � pr�eserve l'adjacence : 8x; y 2 X; fx; yg 2 E , f�(x); �(y)g 2 E0;
� � pr�eserve les fonctions de valuation : 8x 2 X; fX(x) = fX 0(�(x)) et
8fx; yg 2 E; fE(fx; yg) = fE0(f�(x); �(y)g).
Les probl�emes d'isomorphisme et d'automorphisme sont relativement �equivalents.
Un automorphisme du graphe G est un isomorphisme de G dans lui-meme. �A l'in-
verse, rechercher un isomorphisme entre deux graphes G et G0 se ram�ene �a un pro-
bl�eme d'automorphisme. Il su�t de choisir un sommet r de G et un sommet r0 de
G0 puis de construire un nouveau graphe (not�e G00) contenant G et G0 ainsi qu'une
arete suppl�ementaire entre les sommets r et r0. La �gure 4.13 donne un exemple de
cette construction. On v�eri�era ais�ement que l'existence d'un isomorphisme de G
dans G0, transformant r en r0, est �equivalente �a l'existence d'un automorphisme de
136 Chapitre 4. Analyse structurale d'un graphe mol�eculaire
...
G’’
G
G’
r
G’
G
G’’
r
r’
r’
Fig. 4.13 { Transformation d'un probl�eme d'isomorphisme entre deux graphes G et
G0 en un probl�eme d'automorphisme.
G00 r�ealisant la meme transformation. En faisant varier le sommet r0 choisi dans X 0 {
et en construisant autant de graphes G00 { on peut d�eterminer tous les isomorphismes
de G dans G0.
L'op�eration de composition des morphismes conf�ere �a l'ensembleA(G) des auto-
morphismes d'un graphe G une structure de groupe commutatif. Le cardinal de cet
ensemble peut etre tr�es �elev�e pour peu que le graphe poss�ede de nombreuses sym�e-
tries. C'est pourquoi, on �evitera g�en�eralement l'�enum�eration syst�ematique de tous les
automorphismes en privil�egiant la recherche d'un automorphisme sp�eci�que trans-
formant tel sommet donn�e en tel autre. Il faut cependant pr�eciser que la recherche
d'un automorphisme est un probl�eme di�cile bien que non class�e 1.
Pour d�eterminer un automorphisme d'un graphe G, il faut essayer d'apparier
chaque sommet de G avec un autre sommet de fa�con �a ce que les contraintes de
voisinage et de valuations soient respect�ees. �A priori, un sommet donn�e peut s'appa-
rier avec n'importe quel autre sommet du graphe. Il existe cependant des contraintes
�el�ementaires (degr�e, valuations) qui permettent de restreindre le nombre de choix
possibles. Lorsqu'apr�es avoir appari�e deux sommets x et y, on ne parvient pas �a
construire un automorphisme complet, il faut remettre en cause le choix initial en
appariant le sommet x avec un autre sommet possible. Il s'agit d'un m�ecanisme
de recherche avec ((retour arri�ere)) (ou ((backtrack))). Nous montrerons dans le pa-
ragraphe 6.3, comment ce probl�eme peut etre r�esolu en utilisant le formalisme des
1. la question de savoir si l'isomorphisme de graphes appartient �a la classe des probl�emes polyno-
miaux (c'est-�a-dire que l'on peut r�esoudre en temps polynomial en fonction de la taille des donn�ees)
reste un des grands d�e�s actuels de la recherche en algorithmique.
4.6. Sym�etrie et st�er�eochimie 137
CSP dans le cadre plus g�en�eral de la recherche d'isomorphismes de sous-graphes.
Mais quelle que soit la m�ethode utilis�ee, le temps de calcul est d'autant plus r�eduit
que le nombre de choix d'appariements possibles est limit�e. De fa�con g�en�erale, on
commence par r�ealiser une phase de pr�e-traitement visant �a r�eduire le nombre de
sommets avec lesquels un sommet donn�e peut s'apparier. Cette phase initiale s'ap-
puie sur l'utilisation ((d'invariants pour l'isomorphisme)). Il s'agit de propri�et�es qui
d�e�nissent des conditions n�ecessaires { mais pas su�santes { pour que deux sommets
puissent etre appari�es. Par exemple, deux sommets ne peuvent etre associ�es par un
automorphisme que s'ils ont le meme degr�e.
L'invariant utilis�e dans ReSyn repose sur une id�ee assez classique, pr�esent�ee
notamment dans [Saucier, 1971], mais propose une d�emarche originale adapt�ee aux
automorphismes et qui donne d'excellents r�esultats dans le cadre de graphes mol�ecu-
laires en chimie organique. Le probl�eme de l'isomorphisme de graphes a fait l'objet de
nombreuses �etudes en algorithmique et, dans une moindre mesure, en informatique
appliqu�ee �a la chimie. Par soucis de concision, nous avons choisi de ne pas exposer
tous ces travaux ici. On peut cependant citer quelques classiques [Read et Corneil,
1977; Corneil et Kirkpatrick, 1980].
Si, comme nous l'avons dit pr�ec�edemment, l'isomorphisme de graphes est un pro-
bl�eme ((non class�e)), il existe certains types de graphes pour lesquels des algorithmes
polynomiaux sont connus. En dehors des arbres, on peut citer les graphes planaires
[Hopcroft et Wong, 1974; Tarjan, 1977; Chiba et al., 1985] ou les graphes de degr�e
born�e [Luks, 1982]. Bien que de nombreux graphes mol�eculaires entrent dans ces ca-
t�egories, il faut pr�eciser que ces algorithmes ne sont pas toujours tr�es e�caces dans
le cadre de la chimie. Les graphes mol�eculaires �etudi�es sont g�en�eralement de taille
r�eduite et surtout fortement �etiquet�es, ce qui permet d'obtenir de bons r�esultats par
des m�ethodes classiques (avec ((retour arri�ere))) pour peu que l'on utilise de bons
invariants.
138 Chapitre 4. Analyse structurale d'un graphe mol�eculaire
4.6.1 Classes d'�equivalence pour la sym�etrie
Pour pouvoir �evaluer la sym�etrie d'un graphe G = (X;E), on aimerait disposer
d'un algorithme polynomial permettant de d�eterminer la relation d'�equivalenceauto�
d�e�nie comme suit :
8x; y 2 X; xauto� y () 9� 2 A(G) tel que �(x) = y (et ��1(y) = x)
Malheureusement, un tel algorithme n'est pas connu dans la mesure o�u le pro-
bl�eme de l'isomorphisme n'est pas ((class�e)). Nous allons proposer un algorithme po-
lynomial permettant de construire une partition de l'ensembleX, qui soit moins �ne
que celle d�e�nie par X=auto� , mais qui garantisse que deux sommets �equivalents pour
la relationauto� soient dans la meme partie.
On commence par partitionner l'ensemble des sommets du graphe G en fonction
de l'�etiquette associ�ee �a chaque sommet (fonction fX). On obtient une premi�ere
partition P = fPigi2I (o�u I � N). Pour tout sommet x, on notera p(x) l'indice de la
partie �a laquelle appartient x.
Dans un premier temps, nous supposerons qu'il n'existe pas de fonction de va-
luation sur les aretes. La m�ethode que nous pr�esentons peut etre facilement �etendue
aux graphes doublement valu�es comme nous le verrons �a la �n de ce paragraphe.
Consid�erons maintenant deux sommets r et x de G. Nous d�e�nissons l'environne-
ment de x par rapport �a r (not�e env(r; x)) par le quintuplet :
env(r; x) = (dist(r; x); �; �; ; p(x) )
o�u �, � et d�esignent respectivement le nombre de voisins de x qui sont plus proches,
�a �egale distance et plus �eloign�es du sommet r que x. La �gure 4.14 illustre cette
d�e�nition.
Pour un sommet r donn�e, consid�erons l'ensemble fenv(r; x)gx2X de tous les envi-
ronnements de sommets par rapport �a r. Cet ensemble peut etre d�etermin�e en O(m)
en r�ealisant un parcours en largeur �a partir de r.
Le calcul d'un tel ensemble d'environnements est relativement classique. On le
retrouve dans [Saucier, 1971] et [Corneil et Gotlieb, 1971] pour les probl�emes d'iso-
morphisme de graphe. Les m�ethodes qu'ils pr�esentent n'�etant pas adapt�ees au pro-
bl�eme qui nous int�eresse (d�etermination de la fonctionauto� ), nous allons proposer une
d�emarche originale qui a �et�e utilis�ee dans le cadre de ReSyn.
4.6. Sym�etrie et st�er�eochimie 139
2 310 niveau
x1
x2
x3 x5
r
x4
P2 = fx2; x3; x4gP1 = fx1; x5; rg
env(r; x1) = env(r; x5) = (2; 1; 1; 1; 1)
env(r; x3) = env(r; x4) = (1; 1; 0; 1; 2)
env(r; x2) = (3; 2; 0; 0; 2)
env(r; r) = (0; 0; 0; 2; 1)
Fig. 4.14 { D�e�nition de l'environnement des sommets d'un graphe par rapport �a un
sommet donn�e r
Notons Lenv(r) la liste tri�ee dans l'ordre lexicographique des �el�ements de l'en-
semble fenv(r; x)gx2X. La liste Lenv(r) peut etre calcul�ee en O(n) en utilisant un
algorithme de tri de type RADIX 2.
�Etant donn�e une partition P des sommets du graphe, nous pouvons d�e�nir une
relation d'�equivalence sur X que nous noteronsLenv� :
8x; y 2 X; xLenv� y () Lenv(x) = Lenv(y)
Pour v�eri�er si ((xLenv� y)), il faut comparer les deux listes tri�ees Lenv(x) et Lenv(y),
ce qui est r�ealisable en O(n).
L'ensemble quotient X=Lenv� permet de d�e�nir une nouvelle partition de X (not�ee
P 0 = fP 0igi2I 0) qui est plus �ne 3 que la partition initiale P.
Pour d�eterminer P 0, il su�t d'ordonner l'ensemble fLenv(r)gr2X suivant l'ordre
lexicographique. Ce calcul est r�ealisable en O(n2 log n).
Le processus g�en�eral est ensuite r�eit�er�e, en posant P = P 0, jusqu'�a ce que la
partition engendr�ee soit stable. Dans la mesure o�u au moins une partie est r�eduite
�a chaque it�eration, on obtient une complexit�e totale en O(n3 log n). Il faut cepen-
dant pr�eciser que lors d'une �etude portant sur environ 10 000 mol�ecules, nous avons
constat�e que la partition �nale est toujours obtenue apr�es la premi�ere ou la seconde
2. Ce superbe algorithme est une variante du ((tri par base)) (cf. [Cormen et al., 1994]) et a connu
de multiples versions, dont [Davis, 1992]. L'utilisation d'un tri RADIX est possible dans la mesure
o�u chaque �el�ement de fenv(r; x)gx2X est un quintuplet de nombres compris entre 0 et n.
3. la partition P 0 est plus �ne que P ssi 8P 0 2 P 0; 9P 2 P tel que P 0 � P
140 Chapitre 4. Analyse structurale d'un graphe mol�eculaire
2
2
2
2
1
2
2
1
1
2
2
2
2
2
2
2
2
2
2
1
2
2
1
1
0x
Partition :
y0
zz
(0; 0; 0; 3; 1); (1;1;1; 1; 1); (1;1; 1; 1;1); (1; 1; 2;9;2); (2;2;1;0; 1);
(2; 2; 1; 0; 1); (2;1;2; 0; 1); :::; (2;1; 2; 0;1))
Lenv�(x) = Lenv�(y) = (
P1
dist(x; z)
P2dist(y; z)
Fig. 4.15 { Un exemple de graphe pour lequel les relationsauto
� etLenv�
� ne sont pas
�equivalentes.
it�eration. Dans le cadre de la chimie organique, on peut raisonnablement supposer
que la complexit�e totale de notre algorithme reste en O(n2 log n).
NotonsLenv�� la relation d'�equivalence obtenue �a la �n de l'algorithme.Par construc-
tion, on a n�ecessairement :
8x; y 2 X; xauto� y =) x
Lenv�� y (ou encore x
Lenv�
6� y =) xauto
6� y )
Il va sans dire que la r�eciproque de cette implication n'est pas vraie. La �gure 4.15
en pr�esente un contre-exemple. �A la �n de l'algorithme on n'obtient que deux parties
pour le graphe de cette �gure. Tous les sommets de degr�e 3 ont en e�et les memes
listes d'environnements.
Il faut pourtant pr�eciser que ce type de graphes ne peut pratiquement pas exister
en chimie organique dans la mesure o�u la valence des atomes est g�en�eralement inf�e-
rieure �a 8. On peut cependant noter une certaine analogie entre ce graphe et celui
que nous avions associ�e �a la mol�ecule du ferroc�ene (�gure 1.7, page 18). Mais comme
nous l'avons dit, ce graphe ne traduit pas correctement la structure de la mol�ecule,
notamment au niveau des �electrons d�elocalis�es.
En pratique, nous avons test�e notre algorithme sur une base de 10 000 mol�ecules
organiques connues sans trouver de graphes mol�eculaires pour lesquels les relationsauto� et
Lenv� ne soient pas �equivalentes. Bien sur, ce n'est pas une preuve. Mais on
4.6. Sym�etrie et st�er�eochimie 141
peut raisonnablement penser que, dans le cadre de la chimie organique, la partition
de sommets associ�ee �a la relationLenv�� est g�en�eralement �egale �a celle d�e�nie par la
relationauto� .
Dans la mesure o�u, pour un graphe mol�eculaire, le nombre de sommets appar-
tenant �a la meme classe d'�equivalence de la relationLenv�� est en g�en�eral tr�es faible,
la d�etermination de la relationauto� �a partir de
Lenv�� peut etre r�ealis�ee rapidement.
La relationLenv�� appara�t donc comme une excellente heuristique pour l'�etude des
sym�etries d'un graphe mol�eculaire.
Quelques pr�ecisions �a propos de la fonction de valuation sur les aretes
Dans le paragraphe pr�ec�edent, nous avons suppos�e qu'il n'existait pas de fonction
de valuation sur les aretes du graphe. La prise en compte de cette fonction ne pr�esente
pas de r�eelle di�cult�e. Une premi�ere solution consiste �a modi�er la d�e�nition de
l'environnement d'un sommet x par rapport �a un sommet r de r�ef�erence. Rappelons
que env(r; x) = (dist(r; x); �; �; ; p(x) ).
Dans la pr�ec�edente version, �, � et d�esignaient le nombre de voisins de x suivant
les di��erents niveaux de profondeur par rapport �a r. Pour tenir compte des �etiquettes
sur les aretes, nous pouvons d�e�nir � (respectivement � et ) par la liste ordonn�ee
des �etiquettes des aretes reliant x �a chaque sommet y tel que dist(r; x) > dist(r; y)
(respectivement dist(r; x) = dist(r; y) et dist(r; x) < dist(r; y)).
Dans cette nouvelle d�e�nition, illustr�ee par la �gure 4.16, la taille de chaque
environnement env(r; x) n'est plus �egale �a 5 mais d�epend du degr�e du sommet x. La
taille de chaque liste Lenv(()x) sera donc en O(m) (et non plus O(n)), ce qui accro�t
le cout du calcul de chaque nouvelle partition qui passe deO(n2 log n) �a O(nm log n).
Une seconde solution peut etre envisag�ee lorsque l'ensemble des �etiquettes des
aretes se limite aux valeurs simple, double et triple. Dans ce cas, la m�ethode employ�ee
consiste �a rajouter des sommets �ctifs au graphe. Pour toute arete fx; yg du graphe
telle que fE(fx; yg) = double, on cr�ee deux sommets ((�ctifs)) x0 et y0 tels que fX(x0) =
fX(x) et fX(y0) = fX(y). Puis on cr�ee une arete fx; y0g et une arete fy; x0g (voir
�gure 4.17). Dans le cas o�u l'arete consid�er�ee est �etiquet�ee par la valeur triple, on
cr�ee quatre sommets �ctifs et quatre nouvelles aretes.
142 Chapitre 4. Analyse structurale d'un graphe mol�eculaire
0 1 2 3 4
r x z
env(r; x) = (1; (simple); (); (simple, double); 1) env(r; z) = (1; (simple); (); (triple); 1)
Fig. 4.16 { Une nouvelle d�e�nition de l'environnement d'un sommet pour tenir
compte de la fonction de valuation sur les aretes.
yx
yx x yy0 x0
x
y x00
x0y0
y00
Fig. 4.17 { Prise en compte de la fonction de valuation sur les aretes par ajout de
sommets �ctifs.
Lorsque cette modi�cation du graphe a �et�e op�er�ee, les �etiquettes des aretes sont
ignor�ees. On peut alors appliquer l'algorithme construisant les classes d'�equivalence
de la relationLenv�� , en prenant cependant quelques pr�ecautions. Le traitement des
sommets �ctifs ne peut pas etre identique �a celui des sommets initiaux. Dans la
�gure 4.18, le graphe incluant les sommets �ctifs (sch�ema A) pr�esente une sym�etrie
qui n'existe pas dans le graphe mol�eculaire initial 4. Si l'on se contente d'ajouter de
nouveaux sommets aux extr�emit�es de chaque arete double ou triple, on perd toute
information sur la nature du sommet qui constitue l'autre extr�emit�e de l'arete en
question. En e�et, consid�erons une arete double fx; yg et notons y0 le sommet �ctif
associ�e �a y et reli�e �a x. En consid�erant y0 comme un sommet �a part enti�ere du meme
type que y, on n'exprime pas le fait que x est ((doublement reli�e)) �a y mais plutot que
4. dans le cas pr�ecis de cet exemple, la mol�ecule associ�ee est aromatique et poss�ede donc une
sym�etrie. Cependant, un cas analogue non aromatique peut exister pour des cycles de plus grande
taille pr�esentant la meme alternance de liaisons simples et doubles.
4.6. Sym�etrie et st�er�eochimie 143
C /B /
A /
D /
6
5
4
6
2
1
15
4
11
1
51
81
3
1
1
1
11
1
1
1
3
2
21
1
1
1
10
1
41
14
1
12
3
45
6
2
5
6
7
7
99
8 10
4
5
2
31
1
x
y
y
x’y’
x
x
y
y’ x’ x’y’
x
y
Fig. 4.18 { Traitement des sommets �ctifs lors du calcul deLenv�
�
x est reli�e �a deux sommets du meme type que y. C'est cette perte d'information qui
pose un probl�eme dans le cas de la �gure 4.18.
Pour obtenir un r�esultat correct, lors du calcul de la relationLenv�� d�e�nie sur
le graphe mol�eculaire, nous devons appliquer un traitement particulier aux atomes
�ctifs. Puisque l'atome y0 n'est qu'une ((image)) de l'atome y, on calcule les environ-
nements de sommets en posant : p(y0) = p(y) (o�u p(y) d�esigne l'indice de la partie
�a laquelle appartient y). Dans le cas de la �gure 4.18, on obtient la bonne partition
apr�es la deuxi�eme it�eration de l'algorithme (cf. sch�emas B �a D).
Pour terminer, il faut remarquer que la m�ethode utilisant des sommets �ctifs
peut etre grandement simpli��ee si l'on construit un graphe multiple. En rempla�cant
chaque arete fx; yg �etiquet�ee ((double)) par deux aretes reliant les sommets x et y,
on obtient un r�esultat �equivalent.
144 Chapitre 4. Analyse structurale d'un graphe mol�eculaire
4.6.2 D�etermination de la st�er�eochimie
L'objectif de ce paragraphe est d'apporter quelques pr�ecisions sur le calcul de la
st�er�eochimie dans une mol�ecule. Il s'agit d'un probl�eme tr�es complexe qui fait appel
�a de nombreuses connaissances aussi bien chimiques que physiques. C'est pourquoi,
la pr�esentation que nous en ferons sera volontairement simpli��ee, voire simpliste.
La notion de st�er�eochimie est �etroitement li�ee �a la nature tridimensionnelle des
mol�ecules. Comme nous l'avons dit au chapitre 1, le graphe mol�eculaire ne d�ecrit
que la structure topologique d'une mol�ecule, c'est-�a-dire l'ensemble des liaisons qui
existent entre les atomes. Cependant, il est souvent n�ecessaire de conna�tre certains
aspects spatiaux de la structure d'une mol�ecule. Un meme graphe mol�eculaire peut
etre associ�e �a des mol�ecules qui n'ont pas la meme ((forme)) tridimensionnelle. Ces
caract�eristiques spatiales d'une mol�ecule peuvent avoir des cons�equences tr�es impor-
tantes sur les propri�et�es chimiques, physiques et biologiques de la mol�ecule.
4.6.2.1 Quelques notions �el�ementaires
Nous commencerons par d�e�nir bri�evement les notions de con�guration et de
conformation. Cette pr�esentation est en partie inspir�ee du chapitre traitant de la
st�er�eochimie dans [Allinger et al., 1975].
Deux mol�ecules ayant le meme graphe mol�eculaire mais des dispositions spatiales
di��erentes sont appel�ees st�er�eoisom�eres. Consid�erons, par exemple, les mol�ecules
A et B de la �gure 4.19. Elles correspondent aux deux con�gurations possibles du
chloro-2 butane. Il s'agit ici d'�enantiom�eres, c'est-�a-dire de deux con�gurations qui
se pr�esentent comme un objet et son image dans un miroir plan. Lorsque la repr�esen-
tation d'une mol�ecule et son image dans un miroir sont superposables (cf. C et D),
on dit que la mol�ecule n'est pas chirale. Il ne peut pas alors exister d'�enantiom�eres
de cette mol�ecule.
Lorsque deux con�gurations, qui ne sont pas superposables, ne correspondent pas
�a un objet et son image dans un miroir plan, on parle de diast�er�eoisom�eres (cf. E et
F).
Deux con�gurations distinctes correspondent �a des produits di��erents. Il n'est pas
possible de passer d'une con�guration �a une autre sans fournir la quantit�e d'�energie
n�ecessaire pour rompre une liaison.
4.6. Sym�etrie et st�er�eochimie 145
{ Configurations {
C
CH3
H3CH2C
ClHC
CH3
CH2CH3
Cl H
A B
�enantiom�eres
C
H
HO
CH2CH3H3CH2C`C
H
OH
H3CH2C CH2CH3
C D
Pas de chiralit�e
H
H
H
Br
H
Br
H
H
H
Br
Br
HE F
diast�er�eoisom�eres
{ Conformations {
C
CH
H
H
CH3
H3C
H
C
CH
H
H
CH3
H
CH3
C
CH
CH3
H
CH3
H
H
Fig. 4.19 { Quelques exemples de st�er�eoisom�eres
146 Chapitre 4. Analyse structurale d'un graphe mol�eculaire
b
a a
xxd
c c b
d
RS
x
d
x
d
a
bccb
a
Fig. 4.20 { D�esignation des �enantiom�eres suivant les r�egles CIP : con�gurations R
ou S
Lorsque deux st�er�eoisom�eres sont �equivalents �a une rotation pr�es autour d'une
liaison simple, on parle de conformation (cf. �gure 4.19). �A l'inverse des con�gu-
rations, les conformations d�esignent des structures relativement proches qui s'inter-
convertissent sans cesse.
4.6.2.2 Les r�egles C.I.P.
Dans la mesure o�u la notion de st�er�eochimie est de nature spatiale, la d�esignation
d'un st�er�eoisom�ere n�ecessite le recours �a une repr�esentation tridimensionnelle de la
mol�ecule. Pour caract�eriser une con�guration dans une repr�esentation planaire, on
e�ectue une factorisation en ne consid�erant que les st�er�eocentres, le plus souvent des
carbones asym�etriques, et en leur attribuant un descripteur suivant les r�egles d�e�nies
par Cahn, Ingold et Prelog [Cahn et al., 1966]. Ces r�egles, g�en�eralement d�esign�ees
sous le terme de CIP, sont beaucoup trop complexes pour que nous envisagions de
les pr�esenter ici. Nous nous limiterons �a un cas relativement simple a�n de pouvoir
exposer les probl�emes d'ordre algorithmique qui sont li�es �a la d�etermination de la
con�guration d'un atome suivant les r�egles CIP.
Consid�erons un atome de carbone poss�edant 4 voisins (c'est-�a-dire dont le sommet
correspondant dans le graphe mol�eculaire est de degr�e 4). D'un point de vue spatial,
cet atome est situ�e au centre d'un t�etra�edre dont les quatre coins sont occup�es par
ses voisins (cf. �gure 4.20). Pour que cet atome soit un st�er�eocentre, il faut que ces
quatre voisins ne soient pas �equivalents. Dans le cas contraire, il ne peut y avoir de
chiralit�e puisque la con�guration et son image miroir sont superposables.
4.6. Sym�etrie et st�er�eochimie 147
Notons a; b; c et d les voisins de l'atome de carbone x �etudi�e. Supposons qu'il
existe un ordre total quelconque sur ces atomes et posons a > b > c > d. Consid�erons
maintenant le plan d�e�ni par les atomes a, b et c. En regardant ce plan suivant la
direction��!xd , on d�etermine le sens de rotation, autour de l'axe
��!xd , d�e�ni par
la s�equence a; b; c. Suivant l'�enantiom�ere consid�er�e, ce sens correspond �a celui des
aiguilles d'une montre (con�guration R) ou au sens inverse (con�guration S), comme
le montre la �gure 4.20.
Pour calculer la con�guration d'un atome, il faut tout d'abord savoir s'il s'agit
d'un st�er�eocentre, c'est-�a-dire s'il poss�ede quatre voisins qui sont tous di��erents.
Lorsque tel est le cas, il faut ensuite ordonner ces voisins pour pouvoir d�eterminer
la con�guration du st�er�eocentre. Ces deux d�emarches sont g�en�eralement r�ealis�ees en
utilisant les r�egles CIP. Ces r�egles permettent d'ordonner les voisins d'un atome en
tenant compte de propri�et�es topologiques (graphe mol�eculaire) mais aussi chimiques
(cf. [Prelog et Helmchen, 1982] pour une pr�esentation d�etaill�ee).
Pour d�eterminer la con�guration d'un atome x, on commence par construire,
�a partir du graphe mol�eculaire, un arbre dont la racine est x (cf. �gure 4.21). La
description de la m�ethode de construction de cet arbre est souvent obscure. Il s'agit
en fait de ((l'arbre de recherche d'un parcours en profondeur �a partir du sommet x))5
dans le graphe mol�eculaire. Si on exclu les n�uds dont le num�ero est repr�esent�e en
gras, l'arbre CIP contient tous les chemins �el�ementaires ayant x pour extr�emit�e dans
le graphe mol�eculaire.
Pour savoir si les quatre voisins du sommet x sont di��erents, on v�eri�e ensuite
que les sous-arbres ayant pour racine les voisins de x dans l'arbre CIP ne sont pas
isomorphes. On peut en e�et montrer que deux voisins de x dans le graphe mol�eculaire
occupent des positions sym�etriques par rapport �a x si et seulement si les sous-arbres
qui leur correspondent dans l'arbre CIP sont isomorphes (cf. [Custer, 1986]).
5. pour r�esumer, on peut dire qu'un arbre de recherche d�ecrit tous les �etats possibles que l'on
peut rencontrer au cours d'une recherche. Dans le cas d'un parcours en profondeur issu de x,
l'exploration commence par le sommet x qui est la racine de l'arbre CIP. �A partir de x on peut
prendre 4 directions qui correspondent aux 4 �ls de x dans l'arbre, et ainsi de suite : : : Lorsqu'apr�es
etre parvenu �a un sommet y en passant par un sommet z, on trouve une nouvelle arete permettant
de revenir sur z, cette arete est rajout�ee �a l'arbre (n�uds en gras) mais la recherche n'est pas
poursuivie dans cette voie. On r�ealise alors un ((retour arri�ere)).
148 Chapitre 4. Analyse structurale d'un graphe mol�eculaire
1
2
3
4
5
6
7
8
9
10
11 12
14
15
16
1719
2224
25
23
21
20
18
16
17
18
21
23
20
20
22
24
25
23
21
21
23
18
22
18
20
2419
22
19
17
1922
17
20
23
2414
15
1211
97
10
8
6
5
31
2
4
3
1
2
4
97
86
12
43 5
4213
19
16
16
21
25
16
21145
5
10
10
2519
16
2524
12
5
5
x
x
13
13
Fig. 4.21 { Arbre associ�e au calcul de la st�er�eochimie de x suivant les r�egles CIP
D�eterminer si deux arbres sont isomorphes n'est pas un probl�eme di�cile. Il existe
de nombreux algorithmes (dont celui propos�e dans [Tarjan, 1977]) qui permettent
de r�esoudre ce type de probl�eme en temps lin�eaire par rapport au nombre de n�uds
de l'arbre. Par contre, dans la mesure o�u l'arbre CIP �enum�ere tous les chemins
�el�ementaires issus de x dans le graphe mol�eculaire, le nombre de n�uds de cet arbre
peut s'av�erer tr�es important, voire exponentiel par rapport au nombre de sommets
du graphe mol�eculaire. Par exemple, l'arbre CIP construit �a partir du sommet x
du graphe de la �gure 4.22 contient 470 n�uds alors que le graphe mol�eculaire ne
comporte que 10 sommets.
La m�ethode CIP pour d�eterminer si les voisins d'un sommet donn�e sont sym�e-
triques n'est donc pas tr�es e�cace. On peut lui pr�ef�erer une d�emarche plus simple
bas�ee sur l'utilisation de la relationLenv� que nous avons pr�esent�ee dans le para-
graphe 4.6.1. Avant d'exposer cette m�ethode, il faut pr�eciser que le recours �a la
4.6. Sym�etrie et st�er�eochimie 149
xy
z
yauto� z y
auto
6�x
zet
Classes d'�equivalence de la relationauto
�
Fig. 4.22 { Les relationsauto
� etauto
�x
ne sont pas �equivalentes.
construction d'un arbre CIP est indispensable si l'on veut d�eterminer la con�gu-
ration exacte de l'atome �etudi�e. Les r�egles CIP sont en e�et d�e�nies �a partir de
l'arbre correspondant, notamment en ce qui concerne l'ordonnancement des voisins
de l'atome consid�er�e. Mais on a tout int�eret �a limiter le recours aux r�egles CIP,
surtout lorsqu'il s'agit de savoir si les voisins d'un atome occupent des positions
sym�etriques par rapport �a ce sommet.
Soit x un sommet du graphe mol�eculaire G = (X;E). On peut formaliser le fait
que deux sommets occupent des positions sym�etriques par rapport �a x en d�e�nissant
une nouvelle relation d'�equivalence not�eeauto�x:
8y; z 2 X; yauto�xz () 9� 2 A(G) tel que �(x) = x et �(y) = z (et ��1(z) = y)
On v�eri�era ais�ement que :
8y; z 2 X; yauto�xz ) y
auto� z ou encore y
auto
6� z ) yauto
6�x
z
La r�eciproque de cette implication n'est pas vraie puisqu'il peut exister un auto-
morphisme transformant un sommet y en z sans que le sommet x soit invariant pour
cet automorphisme (cf. �gure 4.22).
En reprenant les r�esultats obtenus pour la relationLenv�� d�e�nie dans le paragraphe
pr�ec�edent, nous pouvons �enoncer la propri�et�e suivante :
Propri�et�e 2 8x; y; z 2 X; yLenv�
6� z =) yauto
6� z =) yauto
6�x
z
Pour d�eterminer si le sommet x d'un graphe mol�eculaire correspond �a un st�er�eo-
centre de la mol�ecule, on commence par regarder si ses voisins appartiennent �a des
150 Chapitre 4. Analyse structurale d'un graphe mol�eculaire
classes d'�equivalence di��erentes pour la relationLenv�
6� . Lorsque tel est le cas, on est sur
que x est un st�er�eocentre. Si l'on dispose d'informations sur la disposition spatiale
des voisins de x dans la mol�ecule, on peut utiliser les r�egles CIP pour d�eterminer la
con�guration exacte de x. Par contre, si ces informations ne sont pas disponibles, il
est inutile de construire l'arbre CIP puisqu'il ne permettra pas de pr�eciser la nature
du st�er�eocentre d�etect�e grace �a la relationLenv�
6� .
Par ailleurs, lorsque au moins deux voisins y et z de x sont dans la meme classe
d'�equivalence pour la relationLenv�� , on ne peut pas directement savoir si x est un
st�er�eocentre. En e�et, si yLenv�� z, on ne peut pas en d�eduire que y
auto�xz, et cela pour
deux raisons : d'une part parce que les relationsLenv�� et
auto� ne sont pas �equivalentes,
et d'autre part, parce le fait que yauto� z n'implique pas n�ecessairement que y
auto�xz.
Pour v�eri�er qu'un sommet x n'est pas un st�er�eocentre, il faut donc exhiber
un automorphisme qui associe deux voisins de x et pour lequel x est invariant. La
construction de cet automorphisme sera r�ealis�ee en s'appuyant sur la partition d�e�nie
par la relationLenv�� . Le recours �a un arbre CIP dans ce cas serait en e�et beaucoup
plus couteux.
D'une mani�ere g�en�erale, on peut dire que le calcul de la st�er�eochimie, tout en
s'appuyant sur les r�egles CIP, peut etre grandement optimis�e en utilisant la relationLenv�� d�e�nie dans le paragraphe 4.6.1.
4.7 Conclusion
Comme pour tout autre probl�ematique r�eelle, la reconnaissance de caract�eris-
tiques structurales d'une mol�ecule n'est pas sans poser de nombreuses di�cult�es.
Le fait que la synth�ese organique ne soit pas enti�erement formalis�ee rend d'autant
plus complexe tout travail de mod�elisation. Il importe alors non seulement de par-
faire l'ad�equation entre les mod�eles propos�es et les notions qu'ils repr�esentent mais
aussi, et surtout, de garantir la clart�e de ces mod�elisations. �A d�efaut d'etre exact,
un mod�ele doit toujours s'appuyer sur une d�e�nition pr�ecise qui garantisse sa coh�e-
rence dans le cadre de la th�eorie dans laquelle il est d�ecrit. Faute de quoi, on est
immanquablement confront�e au risque d'assimilation entre le mod�ele et la r�ealit�e.
Ce probl�eme est particuli�erement important lorsque l'on veut concevoir un syst�eme
4.7. Conclusion 151
d'aide au raisonnement qui n�ecessite des interactions avec un intervenant humain.
Il ne peut y avoir de dialogue sans compr�ehension mutuelle. Dans la mesure o�u les
syst�emes informatiques ne sont toujours pas ((intelligents)), on ne peut leur deman-
der de comprendre des nuances qui leurs sont �etrang�eres. Il faut donc compter sur la
sup�eriorit�e de l'intervenant humain pour qu'il sache reconna�tre, dans une r�eponse
erron�ee, les limites du mod�ele manipul�e par le syst�eme. Sans pr�ejuger des capaci-
t�es de cet intervenant, on choisira une d�e�nition simple, bien qu'incompl�ete, plutot
qu'une mod�elisation plus pr�ecise mais trop di�cile �a appr�ehender.
Une fois que l'on a mod�elis�e diverses caract�eristiques structurales, il convient
d'�elaborer des algorithmes permettant de les percevoir. Le choix d'un mod�ele peut
d'ailleurs etre in uenc�e par l'existence de m�ethodes e�caces pour rechercher le motif
structural qui lui est associ�e. Dans la mesure o�u la d�emarche de mod�elisation s'appuie
sur la th�eorie des graphes, la recherche de m�ethodes de perception b�en�e�cie d'une
multitude de travaux en algorithmique de graphes. On peut cependant remarquer que
seuls des algorithmes sp�eci�ques permettent de r�esoudre les probl�emes rencontr�es de
fa�con e�cace. Mais la plupart des m�ethodes que nous avons �elabor�ees pour r�ealiser
l'analyse structurale d'un graphe mol�eculaire pourraient trouver leur place dans tout
autre probl�eme voisin utilisant un formalisme similaire. L'�etude de la sym�etrie d'un
graphe dans le paragraphe 4.6 en est un parfait exemple.
Les algorithmes de perception qui on �et�e �elabor�es dans le cadre de cette th�ese
nous permettent de disposer d'un indispensable langage de description structurale
des mol�ecules pour l'�elaboration de strat�egies de synth�ese. Ces algorithmes ont tous
�et�e int�egr�es au syst�eme ReSyn. Parmi les perspectives de recherche possibles, il faut
�evoquer le probl�eme de la perception incr�ementale. Lorsque l'on applique une trans-
formation sur un graphe mol�eculaire pour obtenir un ou plusieurs pr�ecurseurs, on
ne r�ealise g�en�eralement qu'un nombre limit�e de modi�cations. Il serait int�eressant
d'�etudier dans quelle mesure on peut d�eterminer les caract�eristiques des graphes
r�esultants sans devoir pour autant recommencer une analyse compl�ete. Il faut ce-
pendant pr�eciser qu'il s'agit l�a d'un probl�eme tr�es complexe dans la mesure o�u le
moindre changement dans la structure du graphe initial peut avoir des cons�equences
tr�es importantes sur ses propri�et�es structurales. Il est en�n fort probable que les r�e-
sultats du travail actuel de formalisation des strat�egies de synth�ese feront appara�tre
152 Chapitre 4. Analyse structurale d'un graphe mol�eculaire
la n�ecessit�e de percevoir de nouveaux motifs structuraux, en posant par l�a meme de
jolis probl�emes d'algorithmique.
153
Chapitre 5
Repr�esentations �a objets dans
ReSyn
5.1 Introduction
Depuis les d�ebuts de l'informatique, les langages de programmation n'ont cess�e
d'�evoluer. Si les premiers programmes �etaient �ecrits en utilisant directement les ins-
tructions de la machine, la n�ecessit�e de d�e�nir des langages plus �evolu�es, en s�eparant
donn�ees et proc�edures, est apparue dans les ann�ees 60. La r�ealisation de logiciels tou-
jours plus complexes, n�ecessitant le travail de plusieurs programmeurs, a encourag�e
l'�emergence de la programmation modulaire. Un programme est alors d�ecompos�e en
plusieurs modules qui constituent autant de ((bo�tes noires)). Les autres modules y
acc�edent par le biais de proc�edures dont ils connaissent les sp�eci�cations mais pas
les d�etails de programmation.
Cette id�ee de ((boite noire)) a �et�e reprise dans les langages �a objets qui proposent
une ((encapsulation)) plus �ne des donn�ees et des proc�edures. Il n'y a plus d'acc�es
direct �a la connaissance contenue dans un objet mais seulement un envoi de messages
vers les points d'entr�ee autoris�es par l'objet que l'on appelle m�ethodes ou attributs
selon qu'il s'agit de proc�edures ou de donn�ees.
154 Chapitre 5. Repr�esentations �a objets dans ReSyn
Il existe aujourd'hui de nombreux langages �a objets qui ne sont pas toujours faciles
�a di��erencier dans la mesure o�u ils reposent sur des principes assez voisins. De plus,
comme dans tout autre domaine, les meilleures id�ees ont tendance �a se g�en�eraliser.
On peut cependant �enoncer un certain nombre de propri�et�es caract�eristiques :
� organisation hi�erarchique des objets : les objets sont ordonn�es suivant une rela-
tion d'ordre partiel appel�ee relation d'h�eritage. La d�e�nition d'un objet ((h�erite))
de celle d'un autre objet plus g�en�eral, aussi bien au niveau des m�ethodes que
des attributs;
� priorit�e aux m�ethodes : l'acc�es aux objets se fait par le d�eclenchement de m�e-
thodes, c'est-�a-dire de proc�edures d�e�nies au niveau de l'objet et pour lesquelles
chacun des attributs de l'objet peut etre vu comme une variable locale et r�ema-
nente 1 de la proc�edure. Cette d�emarche caract�erise principalement les ((langages
de classes));
� priorit�e aux attributs : ce sont des langages bas�es sur le principe de ((frames))
d�e�ni par [Minsky, 1975]. L'acc�es �a un objet se fait au niveau des attributs,
mais il peut entra�ner le d�eclenchement de proc�edures ((r�e exes)) associ�ees �a
l'attribut concern�e et d�ependant du type d'acc�es r�ealis�e;
� autonomie d'ex�ecution : les objets sont r�eellement autonomes, aussi bien au
niveau de leur description que de leur comportement. Les m�ethodes qui leur sont
associ�ees peuvent s'ex�ecuter en parall�ele, l'envoi de messages �etant asynchrone.
On retrouve ces caract�eristiques dans les ((langages d'acteurs)).
Le syst�eme ReSyn a �et�e �ecrit en Yafool [Ducournau, 1989], un langage int�e-
grant les notions de frames et de classes, qui a �et�e d�evelopp�e par R. Ducournau, avec
la collaboration initiale de J. Quinqueton.Yafool est �ecrit en Le Lisp [Chailloux et
al., 1986]. Il int�egre une interface graphique Yafen ainsi qu'un ((moteur d'inf�erence))
Yaflog. L'ensemble est g�en�eralement d�esign�e sous le terme d'Y3.
Pour concevoir un syst�eme tel que ReSyn, on est principalement confront�e �a un
probl�eme de mod�elisation, aussi bien au niveau des structures que des m�ethodes. Le
recours �a un langage �a objets comme Y3 s'est av�er�e bien adapt�e aux caract�eristiques
de la connaissance manipul�ee dans un syst�eme d'aide en synth�ese organique :
1. En programmation, on dit qu'une variable est r�emanente lorsque sa valeur est conserv�ee entre
deux appels de la proc�edure qui la manipule.
5.1. Introduction 155
� la connaissance est parcellaire : la confrontation d'expertises multiples ne facilite
pas la construction d'une vision globale du probl�eme. Elle encourage au contraire
la d�e�nition de mod�eles d�ecrivant une aire d'expertise r�eduite. La modularit�e
propre aux langages �a objets s'av�ere ainsi bien adapt�ee �a la repr�esentation de la
connaissance. La notion de facette associ�ee aux attributs, et plus particuli�ere-
ment de r�e exe, procure un grand pouvoir d'expression des caract�eristiques des
concepts et des contraintes qui leurs sont associ�es;
� la connaissance est �evolutive. Le domaine de la synth�ese �etant partiellement
formalis�e, le travail de mod�elisation n'est jamais parfaitement termin�e. ReSyn
est un prototype qui doit permettre de tester la validit�e et la pertinence de
mod�eles de connaissance ou de m�ethodes d'analyse et de r�esolution. Le principe
d'((encapsulation)) associ�e �a la programmation par objets facilite l'�evolution de
la connaissance. Les objets �etant relativement autonomes, il est possible de mo-
di�er un mod�ele en limitant les risques d'interaction avec les autres concepts d�e-
crits dans le syst�eme. L'interaction entre objets est en e�et fortement contrainte
par la d�e�nition de points d'entr�ees obligatoires au niveau des objets (m�ethodes
ou attributs);
� la connaissance peut etre hi�erarchis�ee. Le m�ecanisme d'h�eritage autorise l'orga-
nisation des concepts suivant divers niveaux d'abstraction. Cette repr�esentation
hi�erarchique de la connaissance simpli�e la d�e�nition de nouveaux concepts. La
description de ces derniers peut s'appuyer sur des mod�eles d�ej�a existants qu'il
su�t de sp�ecialiser;
� un syst�eme d'aide �a la synth�ese doit permettre l'acc�es aux connaissances qu'il
manipule. Leur lisibilit�e est facilit�ee par la modularit�e inh�erente aux langages
�a objets. La pr�esence d'interfaces d�edi�ees �a la visualisation des connaissances
est g�en�eralement commune �a tous les langages �a objets. Dans Y3, l'existence
d'un ((browser))2 �evolu�e s'est av�er�ee tr�es utile lors de la conception de ReSyn.
Par ailleurs, dans la mesure o�u Yafen est lui-meme d�e�ni par un ensemble
d'objets, l'�elaboration de nouvelles interfaces consiste g�en�eralement �a sp�ecialiser
des objets graphiques pr�eexistants.
2. le terme de ((browser)) (de l'anglais to browse = feuilleter) d�esigne l'interface graphique qui
permet de visualiser un objet et de se d�eplacer dans la hi�erarchie d'h�eritage ou suivant les relations
qui existent entre les objets.
156 Chapitre 5. Repr�esentations �a objets dans ReSyn
L'objectif de ce chapitre est de pr�esenter les principales caract�eristiques d'Y3 en
les illustrant par quelques aspects de ((l'impl�ementation)) des travaux r�ealis�es dans
le cadre de cette th�ese. Cette pr�esentation concerne principalement la d�e�nition des
motifs structuraux sous la forme d'((objets composites)) et l'utilisation de la relation
de composition lors de l'�elaboration de strat�egies de synth�ese. Pr�ecisons en�n que le
lecteur int�eress�e par un compl�ement d'informations sur les langages �a objets pourra
se r�ef�erer �a [Masini et al., 1989].
5.2 Quelques notions de base en Y3
Tout objet en Y3 est bas�e sur le concept de frame. Un frame comporte un certain
nombre d'attributs, eux-memes divis�es en facettes qui peuvent etre d�eclaratives ou
proc�edurales.
Une facette d�eclarative contient des informations d�e�nissant l'attribut. La facette
value est la plus courante car elle d�ecrit la valeur de l'attribut. Mais il existe d'autre
facettes d�eclaratives comme les facettes de typage (un ou des pour un attribut �a
valeur unique ou multiple). Par exemple, un objet ensemble-d'entiers poss�edera deux
attributs : les-�elements et cardinal ayant respectivement pour facette de typage (( des
= entiers )) et (( un = entier )).
Les facettes proc�edurales d�ecrivent des proc�edures qui sont d�eclench�ees ((par r�e-
exe)) lors d'un acc�es �a l'attribut. Il existe quatre facettes proc�edurales (ou r�e exes)
qui sont pr�e-d�e�nies dans Y3 :
� les facettes si-ajout et si-enl�eve sont activ�ees lorsque l'on modi�e la valeur de
l'attribut (ajout ou retrait du contenu de la facette value). Dans le cas de l'objet
ensemble-d'entiers, l'attribut les-�elements poss�edera deux r�e exes : (( si-ajout =
incr�ementer cardinal )) et (( si-enl�eve = d�ecr�ementer cardinal ))
� la facette si-besoin permet d'appeler une fonction calculant la valeur de l'attribut
lors d'un premier acc�es en lecture sur cet attribut;
� la facette si-possible sert �a v�eri�er si la valeur que l'on veut ajouter �a l'attribut
est compatible avec les facettes de typage qui on �et�e d�e�nies.
5.2. Quelques notions de base en Y3 157
Les r�e exes si-ajout et si-enl�eve sont g�en�eralement utilis�es pour assurer la co-
h�erence entre les valeurs 3 des attributs d'un ou plusieurs objets. Quant au r�e exe
si-besoin, il permet de repousser le calcul de la valeur d'un attribut jusqu'au mo-
ment o�u l'on en a r�eellement besoin. Une fois que cette valeur est calcul�ee, elle est
plac�ee dans la facette value de l'attribut. Cela suppose que cette valeur n'est plus
susceptible d'�evoluer. �A l'inverse, pour acc�eder �a une caract�eristique de l'objet dont
la valeur peut constamment �evoluer, il faut recourir �a unem�ethode. Comme dans tous
les langages de classes, Y3 permet d'associer des m�ethodes aux objets. Une m�ethode
est en fait un attribut particulier dont le contenu est une fonction Le Lisp.
L'ensemble des objets est organis�e de fa�con hi�erarchique suivant une relation
d'ordre partiel appel�ee relation d'h�eritage. La �gure 5.1 d�ecrit le graphe d'h�eritage
des descendants de l'objet atome. La relation d'h�eritage est mat�erialis�ee au niveau
des objets par l'attribut est-un. Un objet ((h�erite)) des attributs et des m�ethodes
d�e�nis dans ses ascendants. Par exemple, l'objet azote h�erite de la valeur de l'attribut
valence d�e�ni dans l'objet VA-atome. Par contre, il red�e�nit l'attribut symbole en lui
donnant une valeur qui lui est propre. On dit alors que la valeur d�e�nie dans un
objet ((masque)) toutes celles qui pourraient l'etre dans ses ascendants.
Il faut pr�eciser que l'h�eritage d�e�ni dans Y3 est dit ((multiple)) dans la mesure o�u
un objet peut h�eriter des propri�et�es de deux objets di��erents qui sont incomparables
pour la relation d'h�eritage. Si la multiplicit�e de l'h�eritage facilite la d�e�nition des
objets, elle pose de s�erieux probl�emes de con its. Un objet peut h�eriter des valeurs
d'un attribut qui est d�e�ni dans deux ascendants di��erents. Il faut alors d�eterminer
laquelle de ces deux valeurs doit etre choisie. Pour ce faire, on peut construire une
extension lin�eaire de la relation d'h�eritage de fa�con �a obtenir un ordre total de priorit�e
sur les objets. On retrouve cette approche dans yafool [Ducournau et Habib, 1989]
ou shirka [Rechenmann, 1988]. D'autres syst�emes laissent �a l'utilisateur le soin de
r�esoudre les con its comme dans smalltalk [Goldberg et Robson, 1983]. Citons
en�n l'approche originale propos�ee dans rome [Carr�e et Geib, 1990] et bas�ee sur
la notion de ((point de vue)). Chaque ascendant d'un objet d�e�nit un point de vue
particulier sur les m�ethodes qu'il lui transmet. Les di��erentes d�e�nitions h�erit�ees ne
sont plus oppos�ees mais compl�ementaires.
3. lorsque nous parlons de la ((valeur d'un attribut)) il s'agit en fait du contenu de sa facette value.
158 Chapitre 5. Repr�esentations �a objets dans ReSyn
Fig. 5.1 { Le graphe d'h�eritage des atomes dans ReSyn
5.3. Objets composites et motifs structuraux 159
D'autres probl�emes de con its apparaissent lorsque l'on veut d�e�nir des excep-
tions �a la relation d'h�eritage. L'objet manchot h�erite des propri�et�es de l'objet oiseau
sauf en ce qui concerne le fait de voler. Ce probl�eme est r�esolu en Y3 au moyen d'une
facette sauf permettant de d�e�nir ce type d'exceptions [Ducournau et Habib, 1991].
�A l'instar des langages �a classes, yafool permet de distinguer les objets d�e-
�nissant des ((mod�eles)) de leurs repr�esentants physiques appel�es ((instances)). Par
exemple, le mod�ele carbone poss�edera autant d'instances que n�ecessaire pour d�ecrire
tous les atomes de carbone d'une mol�ecule donn�ee. Il faut cependant noter que la
di��erence entre mod�eles et instances n'est pas tr�es nette en yafool. Elle repose
principalement sur le fait qu'une instance ne peut pas avoir de descendants pour la
relation d'h�eritage.
5.3 Objets composites et motifs structuraux
La notion d'h�eritage ne permet pas de traduire tous les liens qui peuvent exis-
ter entre les objets. Il faut souvent recourir �a d'autres relations comme la relation
de ((composition)) qui �etablit un lien structural entre des objets. Un objet est dit
((composite)) s'il est form�e par l'agr�egation d'un ensemble d'objets qui constituent
ses ((composants)). Chaque composant d�ecrit une partie de l'objet composite 4 auquel
il est rattach�e. Un objet mol�ecule est ainsi compos�e d'un ensemble d'atomes et de
liaisons comme le montre la �gure 5.2. L'attribut atomes d'unemol�ecule d�esigne l'en-
semble des objets de type atome qui composent cette mol�ecule. �A l'inverse, l'attribut
est-contenu-par d'un atome a pour valeur le nom de la mol�ecule dont cet atome est
un composant. Les valeurs d�e�nies par ces deux attributs �etant �etroitement li�ees, il
faut mettre en place un m�ecanisme permettant de maintenir leur coh�erence.
4. le terme ((objet composite)) sera toujours employ�e dans son sens g�en�eral et non pas suivant la
d�e�nition sp�eci�que qui lui est associ�ee dans Yafool. On peut ajouter, �a l'intention d'un lecteur
((ma�tre es Y3)), que l'utilisation des objets composites de Yafool n'a pas �et�e retenue dans ReSyn
�a cause des contraintes qu'elle impose au niveau de la cr�eation et de la destruction des composants.
160 Chapitre 5. Repr�esentations �a objets dans ReSyn
(defmodele molecule
(atomes (des . atome)
(lien-inverse . est-contenu-par)
(to-kill))
(liaisons (des . liaison)
(lien-inverse . est-contenue-par)
(to-kill))
(cycles-pertinents (des . cycle-pertinent)
(to-kill))
(chaines (des . chaine)
(to-kill))
(liens-cycles (des . lien-cycle)
(to-kill))
(liens-hetero (des . lien-hetero-atome)
(to-kill))
... )
(defmodele atome
(est-contenu-par (un . molecule)
(to-remove)
(lien-inverse . atomes))
(mes-liens-cycle (des . lien-cycle))
... )
(defmodele lien-cycle
(est-un (value motif-structural))
(mes-atomes (des . atome)
(to-remove)
(si-ajout (mapc (lambda(x) (:+ mes-liens-cycle x frame*))
value*))
(si-enleve (mapc (lambda(x) (:- mes-liens-cycle x frame*))
value*)))
(mes-liaisons (des . liaison) ... )
... )
Fig. 5.2 { Quelques mod�eles d'objets dans ReSyn.
5.3. Objets composites et motifs structuraux 161
5.3.1 Liens inverses en Yafool
Supposons que l'on veuille ((retirer)) un atome d'une mol�ecule, c'est-�a-dire suppri-
mer son nom de la liste d'atomes d�ecrite par l'attribut atomes de la mol�ecule. Pour
maintenir la coh�erence de la base de connaissances, il faut que l'atome concern�e
soit ((averti)) du fait qu'il n'est plus un composant de la mol�ecule. Le nom de cette
derni�ere est alors enlev�e de l'attribut est-contenu-par de l'atome retir�e.
Pour faciliter la d�e�nition de ce type de relations, la notion de ((lien inverse)) a �et�e
introduite dans Yafool. Cette notion est mise en �uvre par l'introduction d'une
facette lien-inverse. Dans le cas de l'attribut atomes de l'objet mol�ecule, la facette
lien-inverse d�esigne l'attribut est-contenu-par qui lui correspond dans le mod�ele atome.
L'�etablissement d'un ((lien inverse)) correspond en fait �a la mise en place de r�e exes si-
ajout et si-enleve sur l'attribut concern�e. La �gure 5.2 pr�esente la d�e�nition 5 explicite
de ces r�e exes pour l'attribut mes-atomes de l'objet composite lien-cycle. Cet objet
d�ecrit 6 le mod�ele associ�e �a la notion de ((lien de cycle)) que nous avons pr�esent�ee dans
le paragraphe 4.2.1.4.
La d�e�nition de ((liens inverses)) entre les objets n�ecessite la mise en place d'un m�e-
canisme de maintien de la coh�erence lors de la destruction des objets. Ce m�ecanisme
se traduit par l'ajout d'une facette to-remove indiquant que les valeurs de l'attribut
concern�e doivent etre retir�ees avant que l'objet ne soit d�etruit. Ce retrait automa-
tique peut alors entra�ner le d�eclenchement des r�e exes associ�es au lien inverse. Dans
le cas d'une relation de composition, la survie des composants n'a g�en�eralement pas
de sens lorsque l'objet composite est d�etruit. Une facette to-kill, plac�ee dans l'at-
tribut d�esignant les composants de l'objet composite, permet alors de d�eclencher la
destruction automatique de ces composants.
5. les op�erateurs ((:+)) et ((:-)) qui apparaissent dans cette d�e�nition correspondent respectivement
�a l'ajout ou au retrait d'une valeur dans un attribut. Quant aux termes frame* et value* ils d�esignent
respectivement le nom de l'objet courant et la valeur qui est ajout�ee ou retir�ee de l'attribut �a partir
duquel est d�eclench�e le r�e exe.
6. la distinction entre ((noyau)) et ((p�eriph�erie)) n'est pas pr�esent�ee ici.
162 Chapitre 5. Repr�esentations �a objets dans ReSyn
5.3.2 Repr�esentation des motifs structuraux
Les divers motifs structuraux que nous avons d�e�nis dans les chapitres pr�ec�e-
dents constituent des sous-graphes partiels du graphe mol�eculaire. Nous avons vu
qu'un graphe mol�eculaire est repr�esent�e dans ReSyn par un objet composite de
type mol�ecule. Les objets associ�es aux motifs structuraux sont eux aussi des objets
composites qui partagent des composants avec la mol�ecule correspondante. Chaque
atome ou liaison est donc un composant �a la fois d'une mol�ecule et d'un ou plusieurs
motifs structuraux (cycles, liens, cha�nes, : : : ). La relation de composition entre un
atome et un motif structural est d�e�nie au moyen de liens sp�eci�ques comme ceux
qui sont pr�esent�es dans la �gure 5.2 pour l'objet lien-cycle. Chaque motif structural
est un descendant du mod�ele ((motif structural)) qui poss�ede les attributs mes-atomes
et mes-liaisons d�esignant ses composants. �A l'inverse, un atome poss�edera un attri-
but ma-chaine s'il appartient �a une cha�ne carbon�ee, un attribut mes-cycles s'il fait
partie d'un cycle et ainsi de suite (cf. �gure 5.3). On peut dire que cette relation de
composition est moins ((forte)) que celle qui relie un atome �a une mol�ecule dans la
mesure o�u la destruction de l'objet associ�e �a un motif structural n'entra�ne pas celle
de ses composants.
Chaque motif structural est d�e�ni en fonction d'un point de vue particulier sur
le graphe mol�eculaire. Par exemple, l'�etude de la fonctionnalit�e permet d'isoler des
parties du graphe mol�eculaire { les groupements fonctionnels { auxquelles il associe
certaines propri�et�es chimiques. Pour pouvoir �elaborer des strat�egies de synth�ese, il
faut etre en mesure de confronter divers points de vue. La repr�esentation des motifs
structuraux par des objets composites qui partagent leurs composants permet d'uni-
�er la d�e�nition des concepts manipul�es par ces points de vue. Deux points de vue
seront susceptibles d'interagir dans l'�elaboration d'une strat�egie s'ils reconnaissent
des motifs structuraux partageant des atomes ou des liaisons. Les composants com-
muns �a plusieurs motifs structuraux peuvent etre consid�er�es comme des passerelles
entre di��erents points de vue.
5.3.3 Vers l'�elaboration de strat�egies de synth�ese
L'objectif de ReSyn, �a plus ou moins long terme, est d'aider un chimiste �a �elabo-
rer des strat�egies de synth�ese. Il est peu vraisemblable qu'un tel syst�eme parvienne
5.3. Objets composites et motifs structuraux 163
C9
simplea
8
1
C
3
Chaîne.1C8 9
iC
C
C
mes-atomes =
mes-arêtes =
6
f
mes-grp-fonc =
5b
24
ma-chaîne =
C
C
C O C
O
CouH
g h i
j
71 8
9
10
Chaîne.1
C
C
Ester.1
C
C
C
C
C
c
C
C
1
e d
a
8
C
C O C
O
1
2
3
4
5
6
7 8
10
a b
c
de
f
g h i
j
9
Ester.1
Cycle-six.1
mes-grp-fonc =
mes-cycles =
Cycle-six.1
mes-arêtes =
mes-atomes = CC C C C C1 2 3 4 5 6
a b c d e f
simple, simple, simple, simple, simple, simple.
Ester.1
h i j
mes-arêtes =
mes-atomes = C C C1
g
7 8 9 10OO
simple, simple, simple, double.
Fig. 5.3 { Repr�esentation des motifs structuraux par des objets composites.
un jour �a concevoir des plans de synth�ese complets sans tomber dans les probl�emes
de combinatoire ou de trop grande simpli�cation que nous avons �evoqu�es dans le
chapitre 2. L'intervention d'un chimiste pour e�ectuer les choix de strat�egies semble
in�evitable. Mais on peut raisonnablement esp�erer concevoir un syst�eme qui sache
�enoncer des strat�egies plus ou moins pr�ecises.
Pour �echafauder une strat�egie de synth�ese, il faut g�en�eralement s'appuyer sur une
analyse de la mol�ecule suivant plusieurs points de vue. Les connaissances sur la mo-
l�ecule cible, associ�ees �a chaque point de vue, sont d�ecrites par des motifs structuraux
164 Chapitre 5. Repr�esentations �a objets dans ReSyn
du graphe mol�eculaire. Nous avons choisi de repr�esenter ces motifs par des objets
composites partageant leurs composants qui sont des atomes et des liaisons. Nous
allons montrer comment ce mode de repr�esentation peut etre utilis�e pour �elaborer
une strat�egie de synth�ese.
Consid�erons la mol�ecule de la confertine repr�esent�ee dans la �gure 5.4. L'ana-
lyse structurale du graphe mol�eculaire fait appara�tre un certain nombre de cycles,
cha�nes carbon�ees, liens de cycles et groupements fonctionnels. Si l'on consid�ere cette
mol�ecule du point de vue de la constitution, le syst�eme cyclique va appara�tre comme
n�ud principal de di�cult�e. Les autres �el�ements de la constitution { les cha�nes et
les liens qui leur sont associ�es { semblent moins importants dans la mesure o�u les
cha�nes carbon�ees se limitent �a un seul atome. La premi�ere strat�egie de r�etrosynth�ese
que l'on peut �enoncer serait de d�econnecter le syst�eme cyclique.
Ce syst�eme cyclique est compos�e de trois cycles repr�esent�es par les objets com-
posites : cycle.1, cycle.2 et cycle-h�et�ero.1. Le troisi�eme cycle, contenant un h�et�eroa-
tome (un oxyg�ene), n'appartient pas �a la meme classe que les deux pr�ec�edents dans
la mesure o�u il poss�ede des propri�et�es suppl�ementaires. Les trois objets composites
partagent, deux �a deux, une liaison simple et deux atomes. On en d�eduit qu'il s'agit
d'un syst�eme cyclique ((condens�e)) qui se caract�erise, au niveau de la repr�esentation
par blocs, par une arete �etiquet�ee (2; 1) entre deux cycles (cf. x 3.8.2).
La strat�egie de r�etrosynth�ese devient alors : ((il faut commencer par casser un des
trois cycles)). Pour permettre de choisir le cycle �a casser, on �evalue l'importance de
chaque cycle du point de vue de la constitution :
� cycle.1 : il ne poss�ede pas de caract�eristiques exceptionnelles et il est susceptible
d'appara�tre dans un produit de d�epart. On aura tendance �a le pr�eserver.
� cycle.2 : c'est un type de cycle assez rare dans la mesure o�u il poss�ede 7 atomes.
Comme il y a peu de chances de le trouver dans un produit de d�epart, il faudra
le casser tot ou tard (c'est-�a-dire le construire dans le sens synth�etique). Par
ailleurs, comme il est situ�e au centre du syst�eme cyclique, sa d�econnexion doit
permettre de simpli�er la complexit�e constitutionnelle de la mol�ecule;
� cycle-h�et�ero.1 : en tant que cycle h�et�eroatomique, il est plus facile �a synth�etiser
qu'un cycle ne contenant que des carbones.
5.3. Objets composites et motifs structuraux 165
OH
O
O
cycle
chaîne
cyclelien de
lien de
lien de
O
Lactone
cycle
O
O
O
O
O
ester.1
1
2
1
2
3
4
4
cycle-hétéro.1
7
6
5
3
cycle.1 cycle.2
3
7
6
5
chaîne chaîne
cycle.1cycle-hétéro.1
cycle.2
(2,1) (2,1)
Représentation par blocs
molécule
Fig. 5.4 { Interaction de motifs structuraux lors de l'�elaboration d'une strat�egie de
synth�ese pour la confertine
166 Chapitre 5. Repr�esentations �a objets dans ReSyn
�A partir de ces seules informations, un chimiste aura tendance �a privil�egier la
d�econnexion du cycle repr�esent�e par l'objet cycle.2. Pourtant, si l'on a�ne l'analyse
en tenant compte du point de vue de la fonctionnalit�e, le r�esultat sera tout autre. En
e�et, l'objet cycle-h�et�ero.1 poss�ede une partie commune avec le groupement fonc-
tionnel d�e�ni par l'objet ester.1 (cf. �gure 5.4). Cette structure correspond �a une
lactone qui constitue un site tr�es sensible dans la mol�ecule. Cela signi�e que cette
partie de la mol�ecule est susceptible d'etre modi��ee par une r�eaction chimique qui
n'�etait pas cens�ee la concerner. Il faut donc retarder le plus possible la construc-
tion de la lactone dans le sens synth�etique, c'est �a dire la supprimer d�es le d�ebut
de l'analyse r�etrosynth�etique. La reconnaissance de la lactone s'av�ere indispensable
pour expliquer la d�ecision de d�econnecter le cycle cycle-h�et�ero.1 en premier.
Cette pr�esentation simpli��ee d'une strat�egie de synth�ese a pour but de mettre
en �evidence la n�ecessit�e de faire interagir divers points de vue. Toute la di�cult�e de
cette entreprise provient du fait que deux points de vue distincts font appel �a des
connaissances qui sont g�en�eralement orthogonales. Leurs points communs se limitent
au mode de repr�esentation des donn�ees �a l'aide de motifs structuraux. En d�ecrivant
un motif structural par un objet composite, on facilite la d�etection de points de vue
compl�ementaires puisque chaque objet de type atome (ou liaison) conna�t l'ensemble
des objets d�ecrivant des motifs structuraux dont il est un composant.
De fa�con g�en�erale, chaque point de vue permet de d�eterminer des parties de la
mol�ecule qu'il semble pr�ef�erable de d�econnecter ou de pr�eserver. Deux points de vue
vont interagir s'ils proposent des traitements di��erents sur la meme sous-structure
de la mol�ecule. La capacit�e de d�etection de ces interactions est primordiale dans tout
syst�eme d'aide �a la conception. Qu'il s'agisse de con its ou d'analyses convergentes,
le syst�eme doit etre en mesure de les pr�esenter �a l'utilisateur, en fournissant une
explication dans le cadre de chaque point de vue.
On peut imaginer un traitement de ce probl�eme dans un contexte ((multi-agents))
[Ferber, 1989; Gasser, 1991]. Chaque agent regroupe la connaissance relative �a un
point de vue pr�ecis. En �echangeant le r�esultat de leurs analyses sur des motifs struc-
turaux, les agents peuvent mettre en �evidence des interactions entre ces points de
vue. Cette approche laisse envisager plusieurs perspectives de recherche. Il faut pr�e-
ciser le type d'�echanges devant etre r�ealis�es entre agents pour d�etecter les con its
et les pr�esenter le plus clairement possible �a un utilisateur expert du domaine. Le
5.4. Conclusion 167
r�esultat de ce dialogue doit conduire �a une mise �a jour de la connaissance des agents
qui sera r�ealis�ee de mani�ere plus ou moins automatique suivant l'importance des
modi�cations n�ecessaires. D'autre part, il faut �elaborer un mode de raisonnement de
chaque agent qui lui permette de tenir compte des informations qu'il peut recevoir
des autres agents.
Ces perspectives d'�evolution de ReSyn r�ea�rment un des objectifs de tout sys-
t�eme d'aide �a la synth�ese : faciliter l'acquisition de connaissances dans un domaine
qui, �a l'heure actuelle, n'est pas parfaitement formalis�e.
5.4 Conclusion
Ce chapitre nous a permis de pr�esenter quelques caract�eristiques du langage Ya-
fool dans lequel est �ecrit le syst�eme ReSyn. Les avantages de la programmation
orient�ee objet n'ont plus besoin d'etre d�emontr�es de nos jours. Le choix de Yafool,
parmi tous les langages �a objets existants, est �a la fois ((historique)) et justi��e par le
fait que ce langage o�re de nombreuses libert�es de programmation, dans la mesure
o�u il r�eunit avantageusement les notions de classe et de frame.
Nous n'avons pas abord�e, dans ce chapitre, les probl�emes li�es �a l'�elaboration
d'interfaces graphiques qui ont pourtant une importance capitale dans tout syst�eme
d'aide �a la synth�ese. Les nombreuses images de fenetres ReSyn qui illustrent cette
th�ese devraient cependant donner une id�ee du travail r�ealis�e, et qui reste encore gran-
dement perfectible. La construction de ces interfaces b�en�e�cie d'ailleurs des facilit�es 7
de r�eutilisation des mod�eles d'objets graphiques d�e�nis dans Yafen.
Nous avons plus particuli�erement insist�e sur la notion de r�e exe qui permet d'as-
surer un maintien de la coh�erence des valeurs des attributs de di��erents objets.
Nous nous sommes int�eress�es �a la d�e�nition d'objets composites et �a leur utilisation
pour repr�esenter les motifs structuraux. Nous avons montr�e comment un partage des
atomes et des liaisons composant les motifs structuraux pouvait faciliter la confron-
tation de divers points de vue. Cette id�ee fait actuellement l'objet d'une �etude plus
approfondie dans le cadre d'un environnement ((multi-agents)).
7. nous �eviterons cependant d'�evoquer la documentation de Yafen : : :
168 Chapitre 5. Repr�esentations �a objets dans ReSyn
Les probl�emes ((�a objets)) rencontr�es au cours de l'�elaboration de ReSyn ont
�et�e multiples. Si la plupart d'entre eux ont �et�e r�esolus, il en est d'autres qui restent
toujours d'actualit�e comme le probl�eme de la gestion de grandes hi�erarchies d'objets.
Pour d�ecrire les hi�erarchies d'objectifs ou de contextes que nous avons d�e�nies dans le
chapitre 2, il faut pouvoir manipuler un grand nombre d'objets. �A un instant donn�e,
seule une partie d'entre eux est conserv�ee en m�emoire, ce qui n'est pas sans poser
quelques di�cult�es.
169
Chapitre 6
Raisonnement par classi�cation
dans ReSyn
6.1 Introduction
Nous avons vu dans le chapitre 2 que chaque �etape d'un plan de synth�ese consiste
�a appliquer une transformation �a une mol�ecule cible pour engendrer un ou plusieurs
pr�ecurseurs. Une transformation modi�e un ensemble de liaisons et d'atomes de la
mol�ecule. Le graphe induit par cet ensemble constitue l'objectif de la transforma-
tion. Une transformation peut etre vue comme l'op�eration inverse d'une r�eaction chi-
mique. De ce fait, l'application d'une transformation ob�eit �a des contraintes d'ordre
chimique qui d�e�nissent les environnements favorables ou d�efavorables �a l'utilisation
de la transformation. Nous d�ecrivons ces environnements sous la forme de graphes
appel�e contextes qui �etendent l'objectif de la transformation aux liaisons et atomes
conditionnant son application.
Nous nous int�eressons dans ce chapitre au niveau tactique de l'�elaboration d'un
plan de synth�ese. On suppose que la recherche d'une strat�egie a permis de d�eterminer
un but �a atteindre s'exprimant sous la forme d'un objectif de transformation. On
cherche, par exemple, �a casser telle liaison de la mol�ecule.
170 Chapitre 6. Raisonnement par classi�cation dans ReSyn
On dispose d'une base de connaissance contenant :
� un ensemble d'objectifs;
� un ensemble de transformations r�ealisant ces objectifs;
� un ensemble de contextes d�e�nissant les environnements favorables ou d�efavo-
rables �a l'application des transformations.
Dans la mesure o�u il existe des dizaines de milliers de r�eactions chimiques, on
peut facilement imaginer la taille de cette base de connaissances, meme lorsque l'on
se limite aux transformations les plus importantes. Il convient donc d'organiser ces
connaissances de fa�con �a pouvoir optimiser la recherche d'un objectif, d'une trans-
formation ou d'un contexte.
Nous d�ebuterons ce chapitre en exposant bri�evement les principes du raisonne-
ment par classi�cation que nous utilisons pour e�ectuer cette recherche. Le lecteur
int�eress�e par une �etude plus compl�ete de ce mode de raisonnement pourra se r�ef�erer au
chapitre qui lui est consacr�e dans [Haton et al., 1991]. Les m�ethodes de classi�cation
utilisent un m�ecanisme d'appariement que nous d�e�nirons dans le cadre de concepts
repr�esent�es par des graphes. Nous nous int�eresserons alors aux syst�emes de raisonne-
ment par classi�cation adapt�es aux graphes et nous pr�esenterons les m�ethodes mises
en �uvre dans ReSyn. Nous exposerons la notion d'appariements dirig�es qui carac-
t�erise ce syst�eme en pr�esentant les travaux de formalisation et de validation de cette
notion qui ont �et�e r�ealis�es dans le cadre de cette th�ese.
6.2 Le raisonnement par classi�cation
Depuis longtemps d�ej�a de nombreux esprits ont essay�e de percer le myst�ere du
raisonnement humain. Parmi les questions rest�ees sans r�eponses, il en est une qui
passionne �a la fois les psychologues et les informaticiens : comment un etre humain
parvient-il �a prendre une d�ecision face �a une situation nouvelle ? Pour essayer de
donner un �el�ement de r�eponse �a cet �epineux probl�eme, on a imagin�e le principe de
((rem�emoration)). Cette notion est issue de travaux en psychologie comme ceux de
Bartlett (1932) ou Piaget (�n des ann�ees 70).
On consid�ere que tout individu poss�ede des connaissances �el�ementaires, ou exp�e-
riences, sur les situations ant�erieures auxquelles il a �et�e confront�e. Lorsqu'un nouveau
6.2. Le raisonnement par classi�cation 171
cas se pr�esente, il cherche �a retrouver des connaissances lui permettant d'appr�ehen-
der la nouvelle situation. Il essaie ensuite d'adapter les concepts obtenus au probl�eme
qu'il doit r�esoudre. Le succ�es ou l'�echec de ce processus d'adaptation aboutit alors
soit �a la poursuite du raisonnement, soit �a la cr�eation d'une nouvelle connaissance
m�emorisant la nouvelle exp�erience rencontr�ee.
Parmi l'�enorme quantit�e de concepts dont il dispose, un etre humain doit etre
capable de retrouver ceux qui sont en rapport avec le probl�eme qui lui est pos�e. On
peut raisonnablement supposer que l'ensemble des connaissances est organis�e de fa-
�con structur�ee, voire hi�erarchique. La recherche d'un concept d�ecrivant une situation
analogue �a celle qui est rencontr�ee s'apparente �a un processus de ((classi�cation)). Il
s'agit de d�eterminer �a quelle ((cat�egorie)) d'exp�eriences pass�ees appartient la nouvelle
situation.
6.2.1 Repr�esentation des cat�egories
Parmi les modes de repr�esentation des cat�egories les plus courants, on peut citer
trois types de d�e�nitions : en extension, en intension et sous la forme de prototypes.
La premi�ere d�emarche consiste �a d�e�nir une cat�egorie par la liste exhaustive des in-
dividus qui la composent. Par exemple, pour d�e�nir le concept de ((bovin)), il faudrait
visiter tous les pr�es de la terre a�n de recenser tous les membres de cette cat�ego-
rie. On peut raisonnablement supposer que cette attitude n'est jamais employ�ee par
un etre humain, en dehors de quelques cat�egories tr�es sp�eci�ques pour lesquelles le
nombre d'individus est extremement limit�e.
Le second mode de repr�esentation des cat�egories consiste �a d�e�nir les concepts
en intension, c'est-�a-dire en d�eterminant un ensemble de conditions n�ecessaires et
su�santes permettant de caract�eriser la cat�egorie. Un bovin sera un animal de grande
taille, qui poss�ede quatre pattes et deux cornes, qui mange de l'herbe, etc.
Diverses �etudes ont �et�e men�ees, notamment en psychologie ([Roch, 1977], [Du-
bois, 1986]), pour proposer d'autres modes de d�e�nition des cat�egories. La th�eorie
des ((prototypes)) suppose, par exemple, qu'un individu appartient �a une cat�egorie
s'il pr�esente su�samment de similitudes avec un ((individu type)) jug�e repr�esentatif
de la cat�egorie. Le concept de bovin sera ainsi d�e�ni par le souvenir d'une vache par-
ticuli�ere. L'individu prototype poss�ede toutes les propri�et�es qui sont communes aux
172 Chapitre 6. Raisonnement par classi�cation dans ReSyn
membres de sa cat�egorie. Un individu pourra cependant etre ((atypique)) pour une
propri�et�e particuli�ere qui le di��erencie du prototype. Un z�ebu peut etre consid�er�e
comme un bovin meme s'il poss�ede une bosse que n'ont pas les vaches.
Sans entrer dans le d�ebat sur l'int�eret d'une d�e�nition des cat�egories �a l'aide de
prototypes, il faut noter que la notion de prototype peut permettre de repr�esenter
des connaissances implicites. Une d�e�nition en intension est le fruit d'un travail de
r�e exion visant �a expliciter les propri�et�es fondamentales qui caract�erisent une cat�e-
gorie. Ce processus de r�e exion est en fait assez proche de la d�emarche permettant
de choisir le prototype d'une cat�egorie. Mais dans le cas d'un prototype, on dispose
d'un individu type dont on conna�t aussi bien les propri�et�es fondamentales que celles
qui paraissent secondaires. Ces derni�eres traduisent les propri�et�es implicites li�ees �a la
cat�egorie du fait de leur pr�esence sur l'individu prototype. On peut citer par exemple
le cas de jeunes enfants �a qui on avait demand�e de dessiner une vache. Il s'est av�er�e
que la plupart des enfants avaient dessin�e une superbe vache mais qui �etait colori�ee
en bleu. On peut supposer que leur prototype de vache correspondait plus �a celles
qui apparaissent sur les emballages et les publicit�es d'une c�el�ebre marque de choco-
lat, qu'�a celles qui regardent passer les trains. Pourtant, il est fort probable que la
d�e�nition en intension du concept de vache que leurs a�n�es ont pu leur donner ne
mentionnait pas la couleur des vaches mais le fait qu'elles fabriquent le lait, mangent
de l'herbe, etc.
Que le concept de prototype soit proche du raisonnement humain ou pas, il reste
tr�es di�cile �a utiliser en intelligence arti�cielle. En dehors du fait qu'un individu
type ne peut etre repr�esent�e que de fa�con relativement incompl�ete, le probl�eme de
la comparaison d'un individu quelconque avec le prototype d'une cat�egorie reste en-
tier. En e�et, un individu est d'autant plus proche d'une cat�egorie qu'il ressemble
au prototype de cette cat�egorie. Bon nombre de syst�emes utilisant le raisonnement
par classi�cation n'int�egrent pas cette notion d'appartenance pond�er�ee �a une cat�e-
gorie, en dehors de la pr�esence de propri�et�es atypiques ou exceptions 1. Par ailleurs,
l'�evaluation de la distance entre une situation �a traiter et une exp�erience pass�ee est
�a la base des raisonnements par analogie et par cas [Hall, 1989; Haton et al., 1991;
Py, 1992]. Ces deux domaines de l'intelligence arti�cielle s'int�eressent aux m�ethodes
1. on peut cependant citer la ((classi�cation oue)) de [Rossazza, 1990]
6.2. Le raisonnement par classi�cation 173
permettant de mesurer l'analogie entre des cas m�emoris�es et un probl�eme �a traiter.
Apr�es avoir d�etermin�e le cas le plus proche de la situation courante, on essaie d'adap-
ter au probl�eme �a traiter la solution employ�ee pour le cas s�electionn�e. Cette �etape
d'adaptation s'appuie sur les di��erences structurelles que l'on a mesur�ees entre les
deux situations.
Pour clore cette �etude des modes de repr�esentation des cat�egories, nous devons
citer les travaux de M. Minsky et R. Schank ([Minsky, 1975; Minsky, 1988; Schank,
1982]). Le premier d�e�nit chaque cat�egorie sous la forme de ((frame)) poss�edant des
propri�et�es pour lesquelles une valeur est d�e�nie (une vache poss�ede 4 pattes) ou ob�eit
�a certaines contraintes (une vache est de couleur blanche ou noire ou marron ou : : :
). Quant au second, il introduit la notion de ((script)) d�ecrivant des comportements
de mani�ere analogue au frames. Comme nous l'avons vu dans le chapitre 5, la notion
de frame est �a l'origine de nombreux langages de repr�esentation des connaissances
ou de programmation par objets.
Dans le cadre de la chimie, on rencontre principalement des d�e�nitions en in-
tension et en extension des cat�egories. La classi�cation des atomes de Mendele��ev
o�re un parfait exemple de d�e�nition en extension. Pour ce qui est des ((familles)) de
mol�ecules, les individus que l'on manipule sont d�ecrits de mani�ere structurelle par
leur graphe mol�eculaire. L'appartenance �a une famille donn�ee (st�ero��des, sucres, : : : )
peut etre conditionn�ee par la pr�esence de certaines fonctionnalit�es dans la mol�ecule,
ou par la possession d'un squelette mol�eculaire caract�eristique. Pour repr�esenter une
cat�egorie, il su�t de d�ecrire le graphe mol�eculaire associ�e �a la sous-structure qui
caract�erise cette cat�egorie. Il s'agit donc d'une d�e�nition en intension, puisque la
pr�esence du motif structural est une condition n�ecessaire et su�sante pour l'appar-
tenance �a la cat�egorie.
6.2.2 Subsomption et appariement
La d�e�nition de cat�egories n'a de sens que si elle s'accompagne d'une organisa-
tion de ces cat�egories de fa�con hi�erarchique. Cette mise en relation des cat�egories
permet d'optimiser la classi�cation d'un nouvel individu et aussi de repr�esenter des
propri�et�es atypiques. Le processus consistant �a construire une hi�erarchie de cat�e-
gories est g�en�eralement d�esign�e par le terme de ((cat�egorisation)). Nous n'aborde-
174 Chapitre 6. Raisonnement par classi�cation dans ReSyn
rons pas ici ce th�eme mais nous pr�eciserons simplement qu'il touche �a de nombreux
domaines de recherche, comme l'analyse de donn�ees [Bouroche et Saporta, 1987],
l'apprentissage symbolique et la cat�egorisation conceptuelle [Michalski et al., 1983;
Michalski et al., 1986], ou des d�emarches �a la fois symboliques et num�eriques [Gascuel
et Gu�enoche, 1990].
Nous consid�ererons donc comme donn�ee, une hi�erarchie de cat�egories organis�ee
suivant une relation d'ordre partiel que l'on d�esigne couramment sous le nom de
((subsomption)). On dit qu'une cat�egorie A subsume une cat�egorie B si l'ensemble des
individus appartenant �a A contient celui des individus appartenant �a B (d�e�nition en
extension, cf. [Levesque et Brachman, 1987]), ou encore, si tout individu appartenant
�a B poss�ede n�ecessairement les propri�et�es sp�eci�ques �a la cat�egorie A (d�e�nition en
intension, cf. [Finin, 1986]).
Il existe de nombreux syst�emes raisonnant par classi�cation qui se distinguent,
entre autres, par le mode de repr�esentation des connaissances utilis�e. Pour ce qui
est des mod�eles �a base de frames, on retrouve des m�ethodes de classi�cation dans
[Minsky, 1975] ainsi que dans des syst�emes comme SHIRKA [Rechenmann, 1988]
ou TROPES [Mari~no Drews, 1993]. La notion de frame est �egalement �a la base
de KL-ONE [Brachman et Schmolze, 1985] qui est �a l'origine du mod�ele de logiques
terminologiques et a connu une descendance proli�que dont LOOM [McGregor, 1988],
KRIPTON [Brachman et al., 1983], BACK [Nebel, 1988] et CLASSIC [Brachman et
al., 1991] en sont quelques exemples. Citons en�n les travaux de R.A. Levinson
[Levinson, 1985; Levinson, 1992] qui propose un syst�eme de classi�cation pour g�erer
divers types de graphes dont les graphes mol�eculaires et les graphes conceptuels [Sowa,
1984], ou encore dans le meme domaine, les travaux de [Guinaldo, 1995a; Guinaldo,
1995b].
Dans le cadre de ReSyn, chaque cat�egorie A est d�ecrite �a l'aide d'un graphe non
orient�e GA = (XA; EA), d'une fonction d'�etiquetage sur les sommets fXA: XA ! TX
et d'une fonction d'�etiquetage sur les aretes fEA : EA ! TE. On suppose que les
ensembles TX et TE sont munis des relations d'ordre partiel �X et �E.
L'ensemble TX peut par exemple contenir tous les types atomiques et la relation
d'ordre �X etre d�e�nie par le graphe de la �gure 5.1 (page 158) que nous avons
pr�esent�e dans le chapitre 5.
6.2. Le raisonnement par classi�cation 175
liaison-simple liaison-double
liaisonIVA-atome
carbonechlore
halog�ene
atome
1 7! 3
2 7! 4
' :
GB : XB = f3; 4; 5gXA = f1; 2g
UA = fag
GA :
�U
�X
BA
fUA :
halog�ene IVA-atome
liaison
a 21
liaison-simple liaison-double
carbonecarbonechlore
b c3 4 5
2 7! IVA-atome
1 7! halog�enefXA:
c 7! liaison-double
fUB :
5 7! carbone
3 7! chlore
4 7! carbone
fXB:
a 7! liaisonb 7! liaison-simple
UB = fb; cg
Fig. 6.1 { Illustration de la d�e�nition de la relation de subsomption entre deux
graphes (A � B).
La subsomption entre deux cat�egories de graphes, parfois appel�ee co-subsomption
[Napoli, 1992], se d�e�nit de la mani�ere suivante (cf. �gure 6.1) :
D�e�nition 1
A subsume B
(not�e A � B)
),
8>>>>>>>><>>>>>>>>:
il existe un morphisme injectif ' de XA dans XB tel que :
� ' pr�eserve l'adjacence du graphe GA :
8x; y 2 XA; fx; yg 2 EA ) f'(x); '(y) g 2 EB
� 8x 2 XA; fXA(x) �X fXB
('(x))
� 8fx; yg 2 EA; fEA(fx; yg) �E fEB(f'(x); '(y) g)
Cette relation de subsomption s'apparente �a une relation d'isomorphisme de sous-
graphe partiel. En e�et, si A subsume B, alors il existe un isomorphisme entre le
graphe GA repr�esentant A et un sous-graphe partiel de GB qui respecte les relations
d'ordre �X et �E. Il faut peut-etre s'attarder ici sur le sens de la relation de sub-
somption entre deux graphes : si A subsume B alors le graphe associ�e �a A est plus
176 Chapitre 6. Raisonnement par classi�cation dans ReSyn
petit que celui qui d�ecrit B (on pourrait dire que GA est ((inclus)) dans GB). Par
contre, GA est plus g�en�eral que GB, puisque l'ensemble des graphes qui contiennent
GA est plus grand que celui des graphes qui contiennent GB, ce qui explique le sens
A � B de la relation de subsomption.
Le processus de classi�cation permettant de d�eterminer les cat�egories les plus
proches d'un individu repose sur un m�ecanisme d'appariement . Un individu s'apparie
avec une cat�egorie A s'il fait partie de la description en extension de A ou s'il poss�ede
toutes les propri�et�es caract�erisant A. Pour les cat�egories repr�esent�ees par des graphes,
l'appariement correspond �a l'isomorphisme de sous-graphe partiel. Nous reviendrons
sur ce probl�eme dans le paragraphe 6.3.
6.2.3 Un algorithme de classi�cation
�Etant donn�e une hi�erarchie quelconque de concepts (cat�egories, prototypes, graphes,
etc.) ordonn�ee par une relation de subsomption � et �etant donn�e un nouveau concept
c on veut d�eterminer :
� l'ensemble des Pr�ed�ecesseurs Imm�ediats de c, not�e PredI(c) 2, d�e�ni par l'en-
semble des concepts les plus sp�eci�ques parmi ceux qui subsument c :
8x 2 PredI(c); x � c et 9/ y 2 PredI(c) n fxg tel que x � y
� l'ensemble des Successeurs Imm�ediats de c, not�e SuccI(c) 3, d�e�ni par l'ensemble
des concepts les plus g�en�eraux parmi ceux qui sont subsum�es par c :
8x 2 SuccI(c); c � x et 9/ y 2 SuccI(c) n fxg tel que y � x
La �gure 6.2 donne un exemple de pr�ed�ecesseurs et de successeurs imm�ediats
pour une hi�erarchie de graphes.
6.2.3.1 D�etermination des pr�ed�ecesseurs imm�ediats
Il existe deux principales m�ethodes pour d�eterminer l'ensemble des pr�ed�ecesseurs
imm�ediats. La premi�ere repose sur un parcours en profondeur de la hi�erarchie. Elle
est issue du syst�eme KL-ONE [Lipkis, 1982]. Quant �a la seconde, elle utilise un
parcours en largeur et fut propos�ee par [Levinson, 1985]. Ces deux approches tentent
2. on le note parfois SPS(c) pour Subsumants les Plus Sp�eci�ques.
3. on le note parfois SPG(c) pour Subsum�es les Plus G�en�eraux.
6.2. Le raisonnement par classi�cation 177
Immédiats
Immédiats
Prédécesseurs
SuccesseursO
O
O
O
O
O
Onouveau
concept
Fig. 6.2 { Un exemple de Pr�ed�ecesseurs Imm�ediats et Successeurs Imm�ediats
de limiter le nombre de concepts �etudi�es en se basant sur les propri�et�es suivantes
li�ees �a la transitivit�e de la relation de subsomption :
� si x subsume c alors tous les concepts qui subsument x subsument aussi c,
� si x ne subsume pas c alors aucun concept subsum�e par x ne peut subsumer c;
L'algorithme en profondeur de KL-ONE consiste �a appliquer la proc�edure r�ecur-
sive suivante aux objectifs les plus g�en�eraux de la hi�erarchie (c'est-�a-dire �a ceux qui
n'ont aucun pr�ed�ecesseur). A la �n des appels r�ecursifs, l'ensemble not�e S - et ini-
tialis�e avec la valeur ? - est �egal �a PredI(c). La fonction Recherche(x, c) retourne
vrai ou faux suivant que x subsume c ou non.
Fonction Recherche(x, c)
Si x ne subsume pas c Alors
Retourner( faux );
Sinon
plus-sp�eci�que vrai;
178 Chapitre 6. Raisonnement par classi�cation dans ReSyn
Pour tout y 2 SuccI(x) Faire :
Si Recherche(y; c) = vrai alors plus-sp�eci�que faux;
Si plus-sp�eci�que = vrai alors S S [ fxg;
Retourner( vrai );
L'inconv�enient de cette m�ethode r�eside dans l'utilisation d'un parcours en pro-
fondeur. Si l'on ne prend pas de pr�ecautions, un meme concept peut etre explor�e
plusieurs fois. Il su�t qu'il soit subsum�e par deux concepts di��erents n'ayant aucun
ancetre commun. Pour r�esoudre ce probl�eme, on peut m�emoriser le passage dans un
concept x en conservant le r�esultat du premier appel de Recherche(x, c) de fa�con �a
retourner ce r�esultat lors des appels suivants, sans refaire le calcul. Cette technique
suppose que tous les concepts poss�edent une variable qui est initialis�ee avec la valeur
non-calcul�ee et qui peut prendre les valeurs vrai ou faux par la suite. Pour �evi-
ter de devoir syst�ematiquement r�einitialiser tous les concepts de la base entre deux
recherches, il su�t de m�emoriser les concepts qui ont �et�e explor�es.
Une autre solution pour �eviter d'�etudier plusieurs fois un meme contexte consiste
�a parcourir la hi�erarchie dans un ordre d�e�ni par une extension lin�eaire de la relation
de subsomption 4. Cette m�ethode, propos�ee par Robert Levinson, utilise un marquage
sur les concepts qui peut prendre les valeurs vrai, faux et non-marqu�e. Au d�ebut de
l'algorithme, aucun concept n'est marqu�e et l'ensemble r�esultat S est vide.
Recherche des pr�ed�ecesseurs imm�ediats de c :
S ?;
Tantque
�����il existe un concept x non marqu�e, tel que PredI(x) = ?
ou 8z 2 PredI(x); z est marqu�e avec la valeur vrai
����� Faire :
Si x subsume c Alors
marquer x avec la valeur vrai ;
S (S n PredI(x) ) [ fxg;
Sinon marquer x avec la valeur faux ;
Cet algorithme est en fait tr�es voisin de celui de KL-ONE. Pour pouvoir d�eter-
miner de fa�con e�cace s'il existe un concept v�eri�ant la propri�et�e du Tantque, on
maintient sur chaque contexte x un compteur d�esignant le nombre de pr�ed�ecesseurs
4. La relation de subsomption �etant une relation d'ordre partiel, on construit une extension
lin�eaire de cette relation a�n d'obtenir un ordre total sur les concepts.
6.2. Le raisonnement par classi�cation 179
imm�ediats marqu�es avec la valeur vrai . Lorsque ce compteur atteint le cardinal de
PredI(x), le concept x est ajout�e �a la liste des concepts �a �etudier. La gestion de ces
compteurs et du marquage des concepts n�ecessite donc les memes �etapes d'initialisa-
tion que celles que nous avons sugg�er�ees pour l'algorithme de KL-ONE. La di��erence
entre cet algorithme et celui de Levinson se limite donc �a l'ordre d'exploration des
concepts. Dans l'algorithme de Levinson, un concept n'est jamais �etudi�e avant ceux
qui le subsument. On peut ainsi directement �eliminer un concept dont au moins un
des pr�ed�ecesseurs imm�ediats ne subsume pas le nouveau concept c. Dans l'algorithme
de KL-ONE, la recherche en profondeur ne permet pas d'utiliser cette propri�et�e.
Pour am�eliorer la classi�cation sur une hi�erarchie de graphes, Levinson sugg�ere
d'y ajouter de nouveaux graphes baptis�es ((graphes index)). Ces graphes sont de petite
taille et permettent de focaliser la recherche des pr�ed�ecesseurs sur un ensemble r�eduit
de graphes de la hi�erarchie qui sont susceptibles de subsumer le graphe c �a classer. En
e�et, si c est subsum�e par un certain nombre de graphes index, les pr�ed�ecesseurs de
c seront aussi subsum�es par ces memes graphes index. Les graphes index sont plac�es
en haut de la hi�erarchie dont ils constituent les �el�ements les plus g�en�eraux. Ils sont
reli�es aux graphes les plus g�en�eraux parmi ceux qu'ils subsument (c'est-�a-dire leurs
successeurs imm�ediats) comme le montre la �gure 6.3. Ils peuvent etre incomparables
du point de vue de la subsomption ou organis�es en hi�erarchie.
Il faut cependant noter que la d�etermination d'un ensemble optimal de graphes
index pour une hi�erarchie donn�ee reste un probl�eme di�cile �a r�esoudre. Dans le
cadre de ReSyn, les hi�erarchies manipul�ees contiennent toujours des graphes de
petite taille qui constituent en fait autant de graphes index.
6.2.3.2 D�etermination des successeurs imm�ediats
La d�etermination des successeurs imm�ediats d'un concept c s'appuie sur le calcul
des pr�ed�ecesseurs imm�ediats. En e�et, pour etre subsum�e par c, un concept x doit
n�ecessairement l'etre par les pr�ed�ecesseurs imm�ediats de c. Il faut cependant noter
que les successeurs imm�ediats de c ne sont que rarement des successeurs imm�ediats
des �el�ements de PredI(c). Comme dans l'exemple de la �gure 6.2, les successeurs
imm�ediats peuvent se trouver beaucoup plus bas dans la hi�erarchie.
180 Chapitre 6. Raisonnement par classi�cation dans ReSyn
(f)(d)(e)(d)(a) (b) (b) (d) (d)(c)
(c)(a) (b)
(d) (e)
(a) (b)(a) (c)(a) (b)
(c) (d)
(d)
(e) (f)
(a) (a) (b) (c)
(e)(c)(d)
(e) (f)
(f)(e) Graphes
Index
Graphes
Concepts
(a) (b) (c) (d)
Fig. 6.3 { Graphes index dans les hi�erarchies de graphes de Levinson
L'algorithme g�en�eralement utilis�e pour calculer l'ensemble des successeurs imm�e-
diats de c peut se r�esumer ainsi. On commence par d�eterminer la sous-hi�erarchie
contenant tous les concepts qui sont subsum�es par tous les pr�ed�ecesseurs imm�e-
diats de c. Cette sous-hi�erarchie, qui n'est pas n�ecessairement connexe, correspond
�a l'intersection de toutes les sous-hi�erarchies ayant pour racine un des pr�ed�ecesseurs
imm�ediats de c. On utilise ensuite une extension lin�eaire de la relation de subsomp-
tion pour parcourir cette sous-hi�erarchie de fa�con �a toujours �etudier un concept x
avant les concepts qu'il subsume. Si x est subsum�e par c, il est plac�e dans l'ensemble
SuccI(c) et tous ses descendants sont retir�es de la sous-hi�erarchie. Le processus s'ar-
rete lorsque la sous-hi�erarchie est vide.
La mise en �uvre de cet algorithme pr�esente quelques subtilit�es qu'il para�t n�e-
cessaire d'expliciter. La premi�ere di�cult�e concerne la d�etermination de la sous-
hi�erarchie compos�ee de l'ensemble des descendants communs �a tous les pr�ed�eces-
seurs imm�ediats de c. Pour chaque concept p appartenant �a PredI(c), on r�ealise un
parcours quelconque �a partir de p de fa�con �a marquer tous ses descendants. La sous-
6.2. Le raisonnement par classi�cation 181
hi�erarchie recherch�ee est alors compos�ee des concepts qui sont marqu�es 5 par tous les
pr�ed�ecesseurs imm�ediats de c.
�A ce stade de la recherche, on pourrait envisager de cr�eer une nouvelle hi�erar-
chie compos�ee des concepts subsum�es par tous les pr�ed�ecesseurs de c. Bien que cette
solution permette de simpli�er grandement la suite du calcul, elle n'est pas utili-
sable dans le cadre d'une application r�eelle manipulant une hi�erarchie de tr�es grande
taille. Le probl�eme se pose alors de savoir comment parcourir la sous-hi�erarchie en
respectant l'ordre d�e�ni par une extension lin�eaire de la relation de subsomption.
L'algorithme classique permettant de respecter cet ordre repose sur l'utilisation
d'une structure de ((�le))6 comme pour un parcours en largeur. Un nouveau concept
est ajout�e �a la �le lorsqu'on explore le dernier de ses pr�ed�ecesseurs (au lieu du premier
pour un parcours en largeur). Dans le cas qui nous int�eresse, on ne parcourt qu'une
partie de la hi�erarchie de concepts, en partant d'un des pr�ed�ecesseurs imm�ediats de c.
De ce fait, les concepts explor�es peuvent avoir des pr�ed�ecesseurs qui n'appartiennent
pas �a la sous-hi�erarchie parcourue. Il faut donc modi�er l'algorithme de parcours
pr�ec�edent pour qu'il ne tienne compte que des concepts qui font partie de cette sous-
hi�erarchie. On ajoute donc un concept dans la �le lorsque l'on explore le dernier de
ces pr�ed�ecesseurs appartenant �a la sous-hi�erarchie (c'est-�a-dire qui est un descendant
de l'�el�ement de PredI(c) par lequel a d�ebut�e le parcours).
La seconde di�cult�e concerne la suppression, lorsqu'un successeur imm�ediat de
c a �et�e trouv�e, de la sous-hi�erarchie ayant pour racine ce successeur. Dans la mesure
o�u l'on travaille directement sur la hi�erarchie globale, cette suppression n'est pas
possible. Dans l'algorithme �nal que nous pr�esentons ci-dessous, nous avons choisi
de maintenir un ensemble de concepts ((�a ignorer)) qui contient tous les concepts d�ej�a
atteints qui auraient du etre supprim�es.
Nous noterons Descend.(p) l'ensembledes descendants d'un concept p quelconque.
5. dans la mesure o�u on veut tester si un concept est marqu�e par tous les �el�ements de PredI(c),
on peut r�ealiser le marquage �a l'aide d'un simple compteur associ�e �a chaque concept. L'initialisation
de ces compteurs peut etre �evit�ee si l'on conserve la valeur maximale que peut prendre le compteur
de n'importe quel concept de la hi�erarchie globale.
6. une structure de �le fonctionne comme une ((�le d'attente)) : les �el�ements sont extraits de la
�le dans l'ordre suivant lequel ils y sont entr�es.
182 Chapitre 6. Raisonnement par classi�cation dans ReSyn
L'algorithme propos�e construit l'ensemble S des successeurs imm�ediats de c. Il
r�ealise un parcours �a partir d'un quelconque pr�ed�ecesseur imm�ediat de c et suivant
un ordre correspondant �a une extension lin�eaire de la relation de subsomption.
Recherche des successeurs imm�ediats de c �a partir de pk 2 PredI(c) :
1. D�ej�a Explor�es ?; �A Ignorer ?; S ?;
2. Cr�eer File(File); Ajout File(File; pk);
3. Tantque File n �A Ignorer 6= ? Faire :
4. x Extraire Premier(File);
5. D�ej�a Explor�es D�ej�a Explor�es [ fxg;
6. Si x 62 �A Ignorer Alors
7. Si ( x 2Tp2PredI(c)Descend.(p) ) et ( c subsume x ) Alors
8. S S [ fxg;
9. �A Ignorer �A Ignorer [ SuccI(x);
10. Sinon �A Ignorer �A Ignorer [ SuccI(x); fsi
11. Pour tout y 2 SuccI(x) Faire :
12. Si (PredI(y) \ Descend.(pk) ) � D�ej�a Explor�es Alors Ajout File(File; y);
Lorsque le concept �etudi�e n'appartient pas �a l'ensemble des descendants com-
muns �a tous les pr�ed�ecesseurs imm�ediats de c, il est inutile de tester s'il s'agit d'un
successeur de c (cf. ligne 7). Par contre, la d�etermination de cet ensemble n�ecessite le
parcours de chacune des sous-hi�erarchies ayant pour racine un �el�ement de PredI(c).
Cette solution n'est donc int�eressante que si le cout des tests de subsomption �evi-
t�es est inf�erieur �a celui du parcours de toutes les sous-hi�erarchies ayant pour racine
un pr�ed�ecesseur imm�ediat de c. Lorsque le cout d'un test de subsomption est n�egli-
geable, il est inutile de d�eterminer l'ensemble des descendants communs aux �el�ements
de PredI(c). On se contente alors de parcourir deux fois 7 la sous-hi�erarchie associ�ee
�a un seul des pr�ed�ecesseurs imm�ediats de c.
7. une premi�ere fois pour d�eterminer l'ensemble Descend.(pk) et une seconde pour rechercher les
successeurs imm�ediats de c.
6.2. Le raisonnement par classi�cation 183
SuccesseursImmédiats
ImmédiatsPrédécesseurs
O
O
O
O
O
O
O
Fig. 6.4 { Ajout d'un nouveau concept dans la hi�erarchie
6.2.3.3 Ajout d'un nouveau concept dans la hi�erarchie
Lorsque la recherche des pr�ed�ecesseurs imm�ediats et des successeurs imm�ediats
d'un nouveau concept c est termin�ee, on peut ajouter c �a la hi�erarchie. Pour ce faire,
il su�t d'ex�ecuter les op�erations suivantes :
� relier c �a tout pr�ed�ecesseur imm�ediat p : ajout de l'arc (p; c),
� relier c �a tout successeur imm�ediat s : ajout de l'arc (c; s),
� �eliminer les arcs de transitivit�e : tout arc de la forme (p; s) o�u p 2 PredI(c) et
s 2 SuccI(c);
La �gure 6.4 donne un exemple d'ajout d'un nouveau concept dans une hi�erarchie.
184 Chapitre 6. Raisonnement par classi�cation dans ReSyn
6.2.4 Raisonnement par classi�cation sur des graphes mol�e-
culaires
Les premiers travaux li�es �a l'organisation hi�erarchique d'une base de graphes
mol�eculaires sont dus �a [Dubois et al., 1975; Dubois, 1976]. Ils proposent de d�e�nir
un graphe orient�e dont les sommets sont des structures mol�eculaires et dont les arcs
d�ecrivent des relations entre ces structures. Ces relations peuvent etre de nature
purement structurelle (relation de sous-graphe partiel) ou d�e�nir une parent�e dans
le cadre de la Chimie (chemins de synth�ese, etc.).
Quant aux travaux de Levinson que nous avons �evoqu�es dans le paragraphe 6.2.3.1,
ils ont �et�e utilis�es pour g�erer des hi�erarchies de graphes mol�eculaires ou de r�eactions
chimiques [Wilcox et Levinson, 1986].
6.3 Appariements de graphes
Nous avons vu dans les paragraphes pr�ec�edents que la relation de subsomption
entre deux graphes s'apparente �a un isomorphisme de sous-graphes partiels. On dit
qu'un graphe G1 subsume un graphe G2 s'il existe un isomorphisme de G1 dans un
sous-graphe partiel de G2 qui respecte les relations d'ordre �X et �E d�e�nies sur les
�etiquettes des sommets et des aretes.
Nous appellerons appariement de G1 = (X1; E1) dans G2 = (X2; E2) tout
isomorphismede sous-graphe partiel respectant ces relations d'ordre. Un appariement
' est donc un morphisme injectif de X1 dans X2 qui associe �a tout sommet x de X1
un sommet '(x) de X2 tel que :
� fX1(x) �X fX2('(x)),
� 8y 2 �(x); '(y) 2 �('(x)) et fE1(fx; yg) �E fE2(f'(x); '(y) g);
La recherche d'un appariement deG1 dans G2 est un probl�emeNP-complet, meme
pour les graphes mol�eculaires. Il convient donc d'utiliser des m�ethodes ra�n�ees pour
esp�erer limiter le cout de cette recherche.
L'algorithme utilis�e dans ReSyn a �et�e d�evelopp�e au LIRMM par Jean-Charles
R�egin [R�egin, 1995] et repose sur une mod�elisation �a l'aide d'un r�eseau de contraintes.
Les premiers travaux sur le probl�eme de satisfaction de contraintes, g�en�eralement
6.3. Appariements de graphes 185
d�esign�e par le sigle CSP 8, on �et�e r�ealis�es par Montanari en 1974. On pourra trouver
dans [Tsang, 1993] une �etude assez compl�ete sur les nombreuses recherches qui ont
�et�e men�ees sur ce th�eme au cours des vingt derni�eres ann�ees.
Un r�eseau de contraintes est d�e�ni par un ensemble de variables - chacune �etant
associ�ee �a un domaine de valeurs - et un ensemble de contraintes mettant en relation
ces variables en d�e�nissant les combinaisons de valeurs qui v�eri�ent la contrainte.
Rechercher un appariement de G1 dans G2 revient �a rechercher une solution dans
le r�eseau des contraintes suivant :
� l'ensemble des variables x est constitu�e par l'ensemble des sommets de G1,
� le domaine de chaque variable x contient tous les sommets y de G2 dont le degr�e
est sup�erieur ou �egal �a celui de x et dont l'�etiquette est compatible avec celle
de x (i.e. d(x) � d(y) et fX1(x) �X fX2(y)),
� le r�eseau contient autant de contraintes binaires qu'il y a d'aretes dans G1 et
poss�ede en plus une contrainte n-aire.
Pour chaque arete fx1; x2g de G1, on d�e�nit une contrainte binaire entre les
variables x1 et x2 (c.f. �gure 6.5). Cette contrainte contient tous les couples de
valeurs (y1; y2) o�u y1 et y2 sont des sommets de G2 tels que l'arete fy1; y2g appartient
�a G2 et son �etiquette est compatible avec celle de fx1; x2g (i.e. fE1(fx1; x2g) �E
fE2(fy1; y2g)). La contrainte entre les variables x1 et x2 contient donc tous les couples
de sommets de G2 que l'on peut apparier avec les sommets x1 et x2 en respectant la
pr�esence de l'arete fx1; x2g.
Quant �a la contrainte n-aire, elle exprime le fait que toutes les variables du r�eseau
doivent avoir des valeurs di��erentes, c'est �a dire que tous les sommets de G1 doivent
etre appari�es avec des sommets di��erents de G2. Pour repr�esenter cette contrainte
n-aire, on ne peut pas utiliser l'ensemble de n-uplets possibles dans la mesure o�u
le nombre de n-uplets est de l'ordre de n!. La solution employ�ee dans [McGregor,
1979] consiste �a repr�esenter cette contrainte sous la forme de n2 contraintes binaires
d�e�nissant chacune les O(n(n�1)) couples de valeurs di��erentes entre deux variables
xi et xj. Si cette m�ethode garantit la validit�e des solutions du r�eseau, elle ne permet
pas d'optimiser la recherche d'une solution.
8. Constraint Satisfaction Problem
186 Chapitre 6. Raisonnement par classi�cation dans ReSyn
x1
x2
x3
liaison
simple
G1
G2
y2, y4
y1, y2, y3, y4, y5
variables domaines
X2X1x1
x2
x3
y1
y2
y3
y4
y5
à la contrainte de différence
(en gras : un couplage couvrant X1)
Graphe biparti associé
y1 y2 y3
y4
y5
{ x2 , x3 }
( y2 , y4 )
( y2 , y3 )
( y4 , y2 )
( y1 , y2 )
( y4 , y2 )
{ x1 , x2 }
carbone
soufrecarboneliaison
double
liaison
simpleoygène
liaison
x1 x2 x3
atomeatomecarbone
liaison
double
Contraintes
binaires
liaisonsimple
carbone
( y5 , y4 )
y1, y4, y5
Fig. 6.5 { D�e�nition d'un CSP pour chercher les appariements de G1 dans G2
La d�emarche propos�ee par J.C R�egin, pour repr�esenter la contrainte n-aire de
di��erence, repose sur la construction d'un graphe biparti entre les ensembles X1 et
X2. Un sommet x de X1 est reli�e �a un sommet y de X2 si y appartient au domaine
de valeurs de la variable x (voir �gure 6.5). Toute solution du r�eseau de contraintes
- ou CSP - correspond �a un couplage 9 couvrant l'ensemble X1 des variables dans ce
graphe biparti.
Pour r�esoudre un CSP, on commence par appliquer un algorithme de ((relaxation))
pour essayer de d�etecter des inconsistances dans les domaines des variables �a partir
des contraintes qui sont d�e�nies. On applique ensuite une proc�edure avec ((retour
arri�ere))10 qui instancie successivement chaque variable, en revenant �eventuellement
9. un couplage dans un graphe biparti est un sous-ensemble d'aretes tel que tout sommet ap-
partienne au plus �a une arete. Le couplage couvre l'ensemble X1 si tous les �el�ements de X1 appar-
tiennent �a une (et une seule) arete du couplage.
10. pour ne pas dire ((backtrack)) ...
6.4. Les r�eseaux d'objectifs et de contextes dans ReSyn 187
en arri�ere lorsque les choix ant�erieurs ont conduit �a �eliminer toutes les valeurs du
domaine d'une variable non instanci�ee. L'e�cacit�e de la r�esolution d'un CSP d�epend
ainsi en grande partie de l'algorithme de relaxation. Le cout du ((retour arri�ere))
sera d'autant moins important que les domaines des variables auront �et�e r�eduits.
Tout l'art de la r�esolution d'un CSP r�eside donc dans la recherche d'un �equilibre
subtil entre le temps consacr�e �a la relaxation et celui qui est employ�e pour le ((retour
arri�ere)).
L'algorithme de relaxation mis en �uvre dans le cadre deReSyn utilise la consis-
tance d'arcs pour les contraintes binaires [Bessi�ere, 1994; Bessi�ere et al., 1995] et la
consistance d'arcs g�en�eralis�ee pour la contrainte de di��erence [R�egin, 1994].
6.4 Les r�eseaux d'objectifs et de contextes dans
ReSyn
6.4.1 Objectifs
La recherche d'une strat�egie permet de d�eterminer non seulement un objectif
sur lequel on veut appliquer une transformation, mais surtout �a quel endroit de la
mol�ecule se situe cet objectif. On dispose donc d'un objectif GO et de son appariement
'O dans le graphe mol�eculaire Gmol �etudi�e.
La base de connaissance utilis�ee contient un ensemble O d'objectifs. Pour op-
timiser la construction du plan de synth�ese, on cherche les objectifs de O qui sont
plus sp�eci�ques que l'objectifGO initial. Les transformations associ�ees �a ces objectifs
permettent de r�ealiser plus d'op�erations que ne le font celles qui sont li�ees �a GO (((qui
peut le plus, peut le moins))).
L'ensemble O est organis�e de fa�con hi�erarchique suivant la relation de subsomp-
tion � de la d�e�nition 1 (page 175). Dans toute la suite de ce chapitre, nous repr�e-
senterons les objectifs par des graphes utilisant les memes types d'�etiquettes que le
graphe mol�eculaire. Nous avons vu, dans le chapitre 2, qu'il est pr�ef�erable de sp�ecia-
liser les �etiquettes des aretes d'un objectif en tenant compte de l'op�eration e�ectu�ee
sur ces aretes par la transformation associ�ee �a l'objectif. On distingue ainsi une
((liaison simple �a casser )) d'une ((liaison simple �a doubler )). Cette d�emarche permet
188 Chapitre 6. Raisonnement par classi�cation dans ReSyn
GO
'ON
N
OiOj'0i
'j'i
Gmol
Fig. 6.6 { Appariements d'objectifs dans un graphe mol�eculaire
de d�e�nir une meilleure relation de subsomption sur les objectifs. On ne peut pas dire
en e�et qu'un objectif qui casse une liaison soit comparable avec un objectif qui la
rend double. Mais en ce qui concerne l'appariement d'un objectif dans le graphe mo-
l�eculaire, cette sp�ecialisation du type des aretes ne doit plus etre prise en compte. Il
faut qu'une ((liaison simple �a casser )) de l'objectif puisse s'apparier avec une ((liaison
simple)) de la mol�ecule. Nous ne ferons donc pas appara�tre ces types particuliers
de liaisons dans les �gures, meme entre les divers objectifs. Les m�ethodes que nous
allons d�ecrire supposent simplement l'existence d'un ordre partiel �E sur les valeurs
des �etiquettes des aretes.
On cherche donc �a d�e�nir l'ensemble des objectifs qui sont �a la fois plus sp�eci�ques
que l'objectif initial GO et plus g�en�eraux que le graphe mol�eculaire Gmol. Parmi ces
objectifs, on ne s'int�eresse qu'�a ceux qui peuvent ((int�egrer)) l'appariement 'O, c'est
�a dire tous les objectifs Oi de O tels que :
� Oi est subsum�e par GO,
� et il existe un appariement 'i de Oi dans Gmol tel que 'i ((contienne)) 'O, ou
plus formellement, que l'image de GO dans Gmol par 'O, not�ee 'O(GO), soit un
sous-graphe partiel de 'i(Oi);
La �gure 6.6 donne un exemple d'objectif Oi v�eri�ant ces conditions. Cette �gure
illustre �egalement deux remarques importantes qu'il convient d'�enoncer :
� un meme graphe Oi peut s'apparier plusieurs fois dans le graphe mol�eculaire.
Mais seuls certains des ces appariements contiennent 'O (cf. 'i) alors que
d'autres ne l'int�egrent pas (cf. '0i),
� un graphe Oj peut tr�es bien etre �a la fois subsum�e par GO et plus g�en�eral que
Gmol sans pour autant admettre d'appariement int�egrant 'O;
6.4. Les r�eseaux d'objectifs et de contextes dans ReSyn 189
Nous pouvons en d�eduire que la relation de subsomption � n'est pas su�sante
pour d�eterminer les objectifs Oi qui peuvent s'apparier dans Gmol en int�egrant 'O.
Il para�t donc n�ecessaire d'introduire une nouvelle relation �app qui soit d�e�nie non
pas sur l'ensemble des objectifs mais plutot sur celui de leurs appariements dans le
graphe mol�eculaire.
D�e�nition 2 On dit que l'appariement 'i du graphe Oi dans Gmol subsume l'ap-
pariement 'j de Oj dans Gmol, not�e 'i �app 'j , si et seulement si 'i(Oi) est
un sous-graphe partiel de 'j(Oj) (not�e 'i(Oi) v 'j(Oj)).
Cette nouvelle relation de subsomption est �etroitement li�ee �a la relation v : ((est
sous-graphe partiel de)). Elle en h�erite les propri�et�es de r�e exivit�e et de transitivit�e.
Pour ce qui est de l'antisym�etrie, la propri�et�e n'est pas toujours v�eri��ee pour deux
appariements d'un meme graphe. Il su�t qu'un graphe soit sym�etrique (ou auto-
morphe) pour qu'il admette deux appariements di��erents qui correspondent au meme
sous-graphe partiel de Gmol. La relation �app constitue donc un pr�eordre partiel sur
l'ensemble des appariements d'objectifs possibles. Pour pouvoir d�e�nir une relation
d'ordre partiel, il faut se restreindre �a un ensemble d'appariements qui ne contienne
pas deux appariements sym�etriques pour un meme objectif. La construction de ce
sous-ensemble d'appariements repose sur la d�e�nition d'une relation d'�equivalence
entre deux appariements d'un graphe Oi li�es par un automorphisme de Oi. Nous
reviendrons sur ce point dans le paragraphe 6.5.1.
Les solutions recherch�ees pour l'appariement 'O correspondent aux appariements
qui sont subsum�es par 'O relativement �a la relation�app. Pr�ecisons que l'on recherche
bien tous les appariements subsum�es par 'O et pas seulement les plus sp�eci�ques.
On veut obtenir toutes les transformations qui r�ealisent les modi�cations sp�eci��ees
par l'objectif GO; aussi bien celles qui se limitent �a cet objectif que celles qui op�erent
sur un objectif plus sp�eci�que.
Si la nouvelle relation de subsomption peut para�tre satisfaisante d'un point de
vue formel, elle l'est beaucoup moins en pratique. Elle est en e�et d�e�nie sur un
ensemble d'appariements qui n'ont de sens que pour un graphe mol�eculaire donn�e.
Il n'est donc pas possible d'utiliser la hi�erarchie induite par la relation �app pour
rechercher e�cacement les appariements plus sp�eci�ques que 'O. Cette hi�erarchie
190 Chapitre 6. Raisonnement par classi�cation dans ReSyn
ne pourrait etre construite qu'apr�es avoir calcul�e tous les appariements, ce qui n'a
aucun sens.
Nous utiliserons donc la hi�erarchie d�e�nie sur les objectifs, par la relation �, pour
d�eterminer tous les appariements qui sont subsum�es par 'O relativement �a �app. On
peut s'appuyer sur la propri�et�e suivante :
Propri�et�e 3 Si 'i et 'j sont des appariements respectifs de Oi dans Gmol et de
Oj dans Gmol, alors 'i �app 'j =) Oi � Oj .
Pour trouver tous les appariements qui int�egrent 'O, on d�etermine parmi les des-
cendants de GO, dans la hi�erarchie d�e�nie par �, ceux qui subsument Gmol (relative-
ment �a �). Pour chaque objectif Oi ainsi trouv�e, on ne retient que les appariements
'i tels que 'O �app 'i.
Nous pr�esenterons dans le paragraphe 6.5, une m�ethode originale permettant
d'am�eliorer cette recherche en limitant le nombre d'objectifs �etudi�es et en facilitant
la d�etermination des appariements subsum�es par 'O. Cette m�ethode est bas�ee sur la
d�e�nition d'appariements dirig�es entre les objectifs de la hi�erarchie.
6.4.2 Contextes
Une fois que l'on a d�etermin�e tous les appariements d'objectifs qui sont compa-
tibles avec 'O, il faut d�eterminer, pour chacun de ces appariements, si on peut lui
appliquer une transformation. Pour savoir si une transformation est applicable, nous
avons introduit la notion de contexte dans le chapitre 2. �Etant donn�e un objectif
Oi, un contexte Cj associ�e �a Oi est un graphe tel que Oi � Cj. Le contexte Cj
contient le graphe Oi auquel il ajoute un certain nombre d'atomes qui d�e�nissent un
environnement favorable ou d�efavorable �a l'application d'une transformation sur Oi.
Soit T1 une telle transformation. L'objectifOi peut s'apparier de di��erentes fa�cons
dans le contexte Cj (cf. �gure 6.7) :
� pour certains appariements, le contexte Cj d�e�nit un environnement favorable
�a l'application de T1 (cf. 1),
� pour d'autres appariements, Cj d�e�nit un environnement d�efavorable �a l'appli-
cation de T1 (cf. 2),
6.4. Les r�eseaux d'objectifs et de contextes dans ReSyn 191
favorable
?
ObjectifN
N
Ndéfavorable
3
2
1
Oi
Contexte Cj
Fig. 6.7 { appariements d'un objectif dans un contexte.
� et pour les appariements restants, le contexte Cj n'apporte aucune information
sur l'application de T1 (cf. 3);
Revenons maintenant aux appariements dans le graphe mol�eculaire. Soit 'i un
appariement de l'objectif Oi dans le graphe mol�eculaire et 'j un appariement du
contexte Cj dans Gmol tel que 'i �app 'j.
D�e�nition 3 L'appariement 'j du contexte Cj autorise (respectivement inter-
dit) l'application de la transformation T1 pour l'appariement 'i de l'objectif Oi
s'il existe un appariement k de Oi dans Cj qui soit favorable (resp. d�efavorable)
pour l'application de T1 et tel que 'i = 'j � k.
Cette d�e�nition est illustr�ee par la �gure 6.8 qui donne un exemple d'appariement
'j , d'un contexte Cj dans Gmol, qui est favorable pour un appariement 'i (subsumant
un appariement initial 'O) et d�efavorable pour un appariement '0i (subsumant '0o).
Pour savoir si la transformation T1 peut etre appliqu�ee pour l'appariement 'i, il
faut donc chercher des appariements de contextes qui autorisent ou interdisent cette
application. Consid�erons deux appariements 'j1 et 'j2 des contextesCj1 et Cj2 dans le
graphe mol�eculaire tels que Cj1 � Cj2 . Supposons que l'on ait : 'i �app 'j1 �app 'j2.
On peut alors distinguer trois cas (cf. �gure 6.9) :
� si 'j1 et 'j2 interdisent (ou autorisent) tous les deux l'application de T1 pour
'i, alors il faut retenir uniquement 'j2 qui donne une explication plus pr�ecise
que 'j1 (cf. A ),
� si 'j1 interdit (resp. autorise) l'application de T1 et 'j2 l'autorise (resp. l'inter-
dit), on ne retient �egalement que 'j2 puisque, �etant plus sp�eci�que que 'j1 , il
en masque les propri�et�es (cf. B ),
192 Chapitre 6. Raisonnement par classi�cation dans ReSyn
N
NN
N
N
N
N
N
N
défavorable
?
Objectifs
favorable
Contexte
G O
'j
2
3�
1
'0O'j
'0i'i
'j autorise 'i = 'j � 1 'j interdit '0i = 'j � 2
Gmol
'O
pour T1 / Oi
pour T1 / OiOi Cj
Fig. 6.8 { Appariement d'un contexte dans Gmol interdisant ou autorisant l'appli-
cation d'une transformation pour l'appariement d'un objectif.
� si 'j1 interdit (ou autorise) l'application de T1 et 'j2 n'apporte aucune infor-
mation sur cette application, alors on retient simplement 'j1 (cf. C );
Ce m�ecanisme de ((masquage)) des appariements est �a rapprocher de la notion
d'h�eritage dans les langages �a objets [Ducournau et Habib, 1989]. Comme dans le cas
de l'h�eritage multiple, l'existence de contextes favorables ou d�efavorables �a l'appli-
cation d'une transformation peut engendrer l'apparition de con its. Il su�t en e�et
qu'il existe deux contextes Cj1 et Cj2 dont les appariements dans Gmol soient respecti-
vement favorables et d�efavorables �a l'application de T1 pour 'O. Si ces appariements
sont incomparables par rapport �a la relation �app{ bien qu'ils soient subsum�es par
'O { c'est que les graphes Cj1 et Cj2 sont incomparables pour la relation �. De ce
fait, aucun appariement de l'un de ces contextes ne peut masquer les appariements
de l'autre.
Pour r�esoudre ces probl�emes de con its, on peut mettre en �uvre des m�ethodes
g�en�erales comme celles qui sont employ�ees dans le cadre des langages �a objets [Du-
6.4. Les r�eseaux d'objectifs et de contextes dans ReSyn 193
N
N
N
N
C
B
A
N
N
NN
N
N
NN
N
Contextes
favorable
?
favorable
défavorable
Objectif
�
'j2 : Pas d'informations pour 'i
�app
'j2 : Interdit 'i
�app
�app
'j1 : Autorise 'i
'j2 : Autorise 'i
'j1 : Autorise 'i
'j1 : Autorise 'i
'j1
'i
'i
'i
'j1
'j2
'j1
'j2
'j2
Cj1
Cj2
pour T1 / Oi
pour T1 / Oi
pour T1 / Oi
Oi
Gmol
Gmol
Fig. 6.9 { Appariement de plusieurs contextes interdisant ou autorisant l'application
d'une transformation pour un meme appariement d'objectif.
194 Chapitre 6. Raisonnement par classi�cation dans ReSyn
cournau et Habib, 1991]. Une seconde d�emarche consiste �a maintenir la coh�erence
de la hi�erarchie de contextes en garantissant l'impossibilit�e de rencontrer de tels
con its. Pour ce faire, il faut d�eterminer si deux contextes Cj1 et Cj2, concernant une
transformation T1, poss�edent une sous-structure commune contenant l'appariement
de objectif associ�e �a T1. Si tel est le cas, il conviendra d'ajouter un nouveau contexte
subsum�e par Cj1 et Cj2 (relation �) a�n qu'il r�esolve les con its �eventuels pour la
transformation T1. La cr�eation de ce nouveau contexte peut d'ailleurs etre retar-
d�ee jusqu'�a l'apparition d'un con it lors de l'�etude d'un graphe mol�eculaire. Cette
derni�ere solution permet non seulement d'�eviter la recherche syst�ematique de sous-
structures communes entre tous les contextes, mais aussi de b�en�e�cier des connais-
sances expertes que l'on pourra recueillir aupr�es d'un chimiste en lui pr�esentant le
con it dans le cadre d'une situation r�eelle.
Cette question des con its �etant �ecart�ee, revenons sur la recherche des appa-
riements de contextes les plus sp�eci�ques, parmi ceux qui autorisent ou interdisent
l'application d'une transformation T1 pour un appariement 'i de Oi. Cette recherche
repose sur un m�ecanisme de classi�cation analogue �a celui de la recherche des pr�e-
d�ecesseurs imm�ediats du paragraphe 6.2.3.1. L'ensemble des contextes est structur�e
de fa�con hi�erarchique relativement �a la relation de subsomption �. On suppose qu'il
existe un contexte dont le graphe est isomorphe �a celui de l'objectif Oi. L'algo-
rithme que nous proposons consiste �a appliquer une fonction r�ecursive Recherche2 �a ce
contexte. Cette fonction permet de descendre dans la hi�erarchie jusqu'aux contextes
les plus sp�eci�ques parmi ceux qui subsument le graphe mol�eculaire. On ne retient
un appariement 'j1 d'un contexte que s'il autorise ou interdit l'application de T1, et
s'il ne subsume aucun autre appariement plus sp�eci�que 'j2 qui apporte une infor-
mation sur T1. Pour tester si 'j1 �app 'j2 (c'est �a dire 'j1(Cj1) v 'j2(Cj2)), il su�t
de v�eri�er si toutes les aretes du sous-graphe partiel 'j1(Cj1) font partie de 'j2(Cj2).
Fonction Recherche2(Cj, 'i)
Si Cj ne subsume pas le graphe mol�eculaire Alors
Retourner( ? );
Sinon
R �ensemble des appariements 'j de Cj dans Gmol tels que 'j �app 'iet 'j autorise ou interdit l'application de T1 pour 'i
F ?;
6.4. Les r�eseaux d'objectifs et de contextes dans ReSyn 195
Pour tout x 2 SuccI(Cj) Faire :
F F [ Recherche2(x; 'i);
Supprimer les �el�ements de R qui subsument des �el�ements de F (relation �app);
Retourner( R [ F );
Jusqu'�a pr�esent, nous avons consid�er�e une unique transformation T1 applicable �a
l'objectifOi. Il peut cependant exister d'autres transformations associ�ees �a cet objec-
tif. On pourrait alors envisager de d�e�nir une hi�erarchie de contextes pour chacune
des transformations associ�ees �a cet objectif. Cette solution ne semble pas optimale
pour deux raisons ; d'une part, il est fort probable que ces di��erentes hi�erarchies in-
t�egrent beaucoup de contextes identiques qui seraient dupliqu�es; d'autre part, dans
la mesure o�u l'on cherche toutes les transformations associ�ees �a l'objectif, on de-
vra syst�ematiquement parcourir ces di��erentes hi�erarchies. S�eparer les contextes en
fonction des transformations ne permet pas d'optimiser la recherche par rapport �a
l'utilisation d'une hi�erarchie unique pour un objectif donn�e.
Pour chaque contexte Cj et pour chaque appariement k de l'objectif Oi dans Cj,
nous d�e�nissons la liste des transformations pour lesquelles k est favorable et la liste
de celles pour lesquelles il est d�efavorable. Il su�t alors de modi�er l�eg�erement la
proc�edure Recherche2 pour qu'elle traite s�epar�ement les informations recueillies sur
chacune des transformations. Un appariement 'j2 du contexte Cj2 pourra masquer
un appariement 'j1 de Cj1 (o�u 'j1 �app 'j2) pour une transformation Ta, mais ne
pas masquer 'j1 pour une autre transformation.
Pour terminer, il nous faut pr�eciser le lien qui existe entre les hi�erarchies de
contextes et celle des objectifs. Dans la version actuelle de ReSyn, il n'existe que
deux hi�erarchies : la premi�ere contient les objectifs et la seconde inclut tous les
contextes. Comme nous l'avons d�ej�a dit, ces deux hi�erarchies sont organis�ees sui-
vant la relation de subsomption �. Pour chaque objectif Oi, il existe un lien vers un
contexte Ci d�e�ni par le meme graphe que Oi. On dit alors que Cj est le ((contexte
�equivalent �a Oi)) (cf. �gure 6.10.A). Chaque contexte contient les informations d�e-
terminant, le cas �ech�eant, quels appariements de quels objectifs sont favorables ou
d�efavorables pour telles transformations li�ees �a ces objectifs.
Cette repr�esentation compacte des objectifs ne nous para�t pas optimale. D'une
part, elle complique �enorm�ement la description des connaissances puisqu'il faut dis-
196 Chapitre 6. Raisonnement par classi�cation dans ReSyn
- T4 / O4
+ T1
+ T2- T2
+ T1
- T5
+ T5+ T5
+ T3
- T3+ T3
- T4
+ T1 / O1
+ T5 / O2
- T2 / O1
+ T1 / O1
+ T4 / O4
O1
O3
- T3 / O3
+ T3 / O3
O4
O2
O4
O3
O1
O2
+ T3 / O3
+ T4
+ T2 / O1
- T5 / O2
+ T5 / O2
Fig. 6.10 { Relations entre les hi�erarchies de contextes et d'objectifs
6.5. Appariements dirig�es 197
tinguer, au sein d'un meme contexte, des informations relatives �a des objectifs di��e-
rents qui ne sont pas n�ecessairement comparables du point de vue de la subsomption.
D'autre part, elle ralentit le processus de classi�cation associ�e �a la recherche de trans-
formations applicables pour un objectif donn�e. En e�et, lorsque l'on �etudie les divers
contextes pr�esents dans la hi�erarchie actuelle de ReSyn (environ 200 �el�ements), on
constate qu'une tr�es faible partie d'entre eux (moins de 5%) concernent des objectifs
di��erents. Si cette tendance se con�rme pour une base de connaissances plus �eto��ee,
le gain de place li�ee �a une unique hi�erarchie de contexte semble relativement limit�e.
D'autant plus que l'on est oblig�e de pr�eciser �a quel objectif se rapporte un apparie-
ment favorable ou d�efavorable, ce qui augmente la taille des descriptions sur tous les
contextes. De plus, la perte d'e�cacit�e lors du parcours de la hi�erarchie peut s'av�erer
importante. Lorsque l'on s'int�eresse �a un objectif donn�e, il est inutile, voire aberrant,
d'�etudier des contextes qui concernent uniquement d'autres objectifs.
Nous proposons donc de modi�er la hi�erarchie actuelle de ReSyn en s�eparant les
contextes en autant de hi�erarchies qu'il y a d'objectifs (cf. �gure 6.10.B). Notons que
si un contexte appara�t dans deux hi�erarchies di��erentes, il n'est pas pour autant
dupliqu�e. Seules les informations associ�ees aux n�uds de la hi�erarchie (pr�ed�ecesseurs
et successeurs imm�ediats, appariements favorables ou d�efavorables, etc.) di��erent
entre deux occurrences du meme contexte.
6.5 Appariements dirig�es
Nous allons pr�esenter dans ce paragraphe une m�ethode originale pour am�eliorer
les �etapes d'appariements lors d'un processus de classi�cation dans une hi�erarchie de
graphes (objectifs, contextes, groupements fonctionnels, etc.). Cette m�ethode permet
d'utiliser les solutions d�etermin�ees pour un graphe Gi lors de l'�etude d'un graphe Gk
tel que Gi � Gk.
6.5.1 Quelques d�e�nitions
Pour tout graphe �etiquet�e Gi, notons A(Gi) le groupe des automorphismes de Gi
qui pr�eservent les �etiquettes des sommets et des aretes.
198 Chapitre 6. Raisonnement par classi�cation dans ReSyn
N321
4
b c
d
a
1
4 N Nb c
e
a
1
4
c
e
d
b
1
4
N
b c
d
a1
4
N Nb c
e
a
1
4
b c
e
d1
4
N
Gi
Gk
Na b c
e
d
1 2 3 4
b cd a
b c ed
b c e
b
b c
e c a
d
a b c d
e
aA
BC
C
B
A
�i!k
�
Fig. 6.11 { Appariements sym�etriques
�Etant donn�e deux graphes �etiquet�es Gi = (Xi; Ei) et Gk = (Xk; Ek) tels que
Gi � Gk, on s'int�eresse aux morphismes injectifs de Gi dans Gk.
Nous noterons11 �i!k l'ensemble des appariements de Gi dans Gk qui pr�eservent
l'adjacence et les relations �X et �E sur les �etiquettes des sommets et des aretes.
L'�enum�eration de tous les �el�ements de �i!k ne pr�esente qu'un int�eret limit�e
lorsque le graphe Gi est automorphe (c'est-�a-dire, si A(Gi) ne se limite pas �a l'iden-
tit�e). Il est g�en�eralement inutile de d�ecrire tous les appariements possibles de Gi
dans Gk qui sont �equivalents �a un automorphisme de Gi pr�es. Dans la �gure 6.11,
le graphe Gi �etant automorphe, tout appariement de Gi dans Gk admet un apparie-
ment sym�etrique relativement �a Gi. Parmi les six morphismes appartenant �a �i!k,
on ne retiendra g�en�eralement que trois d'entre eux, a�n de distinguer les cas A, B et
C. Mais il est souvent inutile, voire super u, d'�enum�erer les trois autres morphismes,
surtout lors d'une interaction avec un agent humain.
11. La notation �Gi!Gkserait plus juste mais �egalement plus lourde.
6.5. Appariements dirig�es 199
Nous allons donc d�e�nir une relation i� sur l'ensemble �i!k par :
8';'0 2 �i!k; ' i� '0 , 9 � 2 A(Gi) tel que ' = '0 � �
On v�eri�era ais�ement que i� 12 est une relation d'�equivalence. L'ensemble �i!k est
donc partitionn�e en un ensemble de classes d'�equivalence d�e�ni par �i!k =i�.
Tout �el�ement d'une classe d'�equivalence peut etre utilis�e pour la repr�esenter.
�Etant donn�e une relation d'�equivalence � d�e�nie sur un ensemble E, on appelle sys-
t�eme complet de repr�esentants tout sous-ensemble de E contenant un repr�esentant {
et un seul { de chacune des classes d'�equivalence. Nous noterons R(E =�) l'ensemble
de tous les syst�emes complets de repr�esentants pour la relation d'�equivalence � d�e�nie
sur E.
Tout ensemble � appartenant �a R(�i!k =i�) v�eri�e donc la propri�et�e suivante :
8' 2 �i!k; 9 '0 2 � tel que ' i� '0 et 8'; '0 2 �; si ' 6= '0; alors ' 6 i� '0
La �gure 6.12 donne un exemple de calcul d'un ensemble � 2 R(�i!k =i�) pour
deux graphes Gi et Gk tels que Gi � Gk.
Notons '(Gi) le sous-graphe partiel de Gk qui est l'image de Gi par le morphisme
' appartenant �a �i!k. On peut d�eterminer un syst�eme complet de repr�esentants pour
la relation i� en utilisant la propri�et�e suivante :
Propri�et�e 4 8';'0 2 �i!k; ' i� '0, '(Gi) = '0(Gi)
Cette propri�et�e signi�e simplement que chaque classe d'�equivalence de la relationi� est parfaitement d�e�nie par le sous-graphe partiel de Gk qui est l'image de Gi par
tout morphisme de cette classe. Pour ne conserver qu'un seul �el�ement par classe,
on associe chaque morphisme ' de �i!k au sous-graphe de Gk d�e�ni par '(Gi).
Tout sous-graphe peut etre d�ecrit de fa�con bi-univoque par l'ensemble des aretes de
Gk qu'il contient, ou encore par la liste de ces aretes, ordonn�ees suivant un ordre
total d�e�ni sur toutes les aretes de Gk. On repr�esente donc chaque appariement ' de
�i!k par une liste ordonn�ee d'aretes de Gk. Puis on trie l'ensemble des listes ainsi
obtenues suivant un ordre lexicographique a�n d'�eliminer les occurrences multiples.
On en d�eduit alors un syst�eme complet de repr�esentants de �i!k =i�.
12. Nous choisirons de noter ((i
�)) cette relation par souci de simpli�cation. Elle est en fait d�e�nie
sur l'ensemble �i!k �a partir de l'ensemble A(Gi) des automorphismes de Gi, ce qui explique la
notation choisie.
200 Chapitre 6. Raisonnement par classi�cation dans ReSyn
Na b c
e
d
1 2
1 2
4 2
3
3
3
4
4
1
N321
4
1 2 3 4
id.
�
�
�
�
1 2 3 4
a b c e
b
b
c
cd e
d a
b cd a
b c ed
a b c e
b
b c
e c a
d
a b c d
e
Gi
Gk
�
A(Gi)
�i!k
�
Fig. 6.12 { D�etermination d'un syst�eme complet de repr�esentants � 2 R(�i!k =i�).
6.5.2 Probl�eme 1
On cherche �a r�esoudre le probl�eme suivant :
Donn�ees : Un graphe Gmol, un ensemble de graphes G = fG1; :::; Gzg, la hi�erar-
chie H� = fG; URg d�e�nie par le graphe de Hasse de la relation de subsomption �
d�e�nie sur G.
Question : Pour tout graphe Gi de G, v�eri�er si Gi � Gmol et construire, le cas
�ech�eant, un ensemble � d'appariements de Gi dans Gmol tel que � 2 R(�i!mol =i�).
On peut rencontrer ce probl�eme lors de la recherche de tous les groupements
fonctionnels pr�esents dans le graphe mol�eculaire (cf. paragraphe 4.5). Chaque grou-
pement fonctionnel est d�e�ni par un graphe et cet ensemble de graphes est organis�e
en hi�erarchie suivant la relation �. On cherche �a d�eterminer tous les appariements de
groupements fonctionnels dans la mol�ecule. Si un groupement fonctionnel, d�ecrit par
le graphe Gi, pr�esente des automorphismes, on �eliminera les solutions �equivalentes �a
un automorphisme de Gi pr�es.
6.5. Appariements dirig�es 201
Comme nous l'avons vu pr�ec�edemment, une des premi�eres fa�cons d'optimiser la
r�esolution de ce probl�eme consiste �a utiliser le r�eseau H� pour parcourir G. L'explo-
ration de G est r�ealis�ee �a travers H�, en partant des graphes maximaux relativement
�a � (c'est-�a-dire les graphes les plus petits) et en n'�etudiant les descendants d'un
graphe Gi que s'il existe au moins une solution pour ce dernier.
Cette am�elioration de l'algorithme brutal parcourant syst�ematiquement tout l'en-
semble G, peut etre �egalement optimis�ee. Les �etapes les plus couteuses de cette m�e-
thode correspondent �a la construction, pour un graphe Gi donn�e, d'un ensemble
� 2 R(�i!mol =i�).
Pour d�eterminer ces ensembles, nous devons recourir �a un algorithme d'isomor-
phisme de sous-graphes partiels. Nous n'allons pas revenir ici sur le fait que ce pro-
bl�eme est NP-Complet (cf. [Garey et Johnson, 1979]). Rappelons simplement que
construire un morphisme injectif ' 2 �i!mol revient �a associer successivement chaque
sommet de Gi �a un sommet de Gmol en pr�eservant le voisinage des sommets de Gi.
Pour que cette recherche soit la plus rapide possible, il faut �eviter de devoir remettre
en cause l'a�ectation d'un sommet de Gi �a un sommet deGmol lorsque celle-ci conduit
�a une impasse, c'est-�a-dire limiter les ((retours arri�eres)).
On peut alors se demander comment utiliser le travail r�ealis�e pour un graphe Gi
lors de l'�etude d'un graphe Gk tel que Gi � Gk.
Si Gk est un descendant de Gi dans H� c'est qu'il existe un ensemble �i!k
d'appariements de Gi dans Gk.
On peut alors �enoncer la propri�et�e suivante :
Propri�et�e 5 Soient �i 2 R(�i!mol =i�) et �k 2 R(�k!mol =
k�) deux ensembles de
morphismes associ�es aux graphes Gi et Gk tels que Gi � Gk:
8'0 2 �k il existe 2 �i!k et ' 2 �i tels que ' = '0 �
Cette propri�et�e n'est qu'une cons�equence directe du fait que Gi subsume Gk. Elle
exprime de fa�con formelle l'id�ee selon laquelle tout appariement de Gk dans Gmol
doit n�ecessairement ((contenir)) un appariement de Gi dans Gmol puisque Gi � Gk.
Quant aux morphismes de �i!k, ils expriment simplement comment un appariement
de Gi se ((positionne)) �a l'int�erieur de l'appariement de Gk qui le ((contient)).
Consid�erons par exemple les graphes de la �gure 6.13. L'ensemble �i est �egal �a
f'1; '2; '3g, �i!k = f 1; 2g et �k = f'01; '02; '
03g.
202 Chapitre 6. Raisonnement par classi�cation dans ReSyn
N321
4
Gk
N1 2 3Gi
Na b c
e
d
1 2 3
a b c
b c
b c
d
e
'2
'1
'3
1 2 3
1 2 3
4 2 3
1
2
�i!k
1 2 3 4
a b c e
b cd a
b cd
'01
'02
'03
e
Gmol
�i 2 R(�i!mol =i�)
�k 2 R(�k!mol =k�)
Fig. 6.13 { Lien entre �i 2 R(�i!mol =i�) et �k 2 R(�k!mol =
k�).
On peut alors v�eri�er que : '1 = '01 � 1 = '02 � 2, '2 = '02 � 1 = '03 � 1
et '3 = '03 � 2 = '01 � 2.
La propri�et�e 5 permet d'optimiser la construction de �k. Chaque �el�ement de �i
peut etre consid�er�e comme un appariement incomplet de �k. Pour limiter les ((retours
arri�eres)) lors de la recherche des morphismes de �k, on peut essayer d'�etendre �a Gk
les morphismes de �i. Cette d�emarche permet de d�eterminer les parties de Gmol
qui sont susceptibles de ((contenir)) Gk dans la mesure o�u elles contiennent d�ej�a Gi.
Il est en e�et inutile d'essayer d'apparier les sommets de Gk avec un ensemble de
sommets de Gmol qui ne sont l'image d'aucun sommet de Gi par un morphisme de �i.
6.5. Appariements dirig�es 203
1 2 3 4
a b c
b c e
b ce
b c a
?
?
?
?
'1 � �1
1
'2 � �11
'1 � �12
; '01
; '02
; '01
; '02
'2 � �1
2
1 32
4
N
N
1 2 3
4 2 3
ii iii
i ii iii
1
2
a b c
b ce
i ii iii
1 2 3 4
a b c e
b c ae
'1
'2
'02
'01
�i
�i!k
Nb ca
d
ef
Gk
iGi
�k!mol
Gmol
1 2 3 4
a b c e'01
�k
Fig. 6.14 { Construction de �k 2 R(�k!mol =k�) �a partir de �i 2 R(�i!mol =
i�).
Consid�erons deux graphes Gi = (Xi; Ei) et Gk = (Xk; Ek) tels que Gi � Gk.
Quels que soient le morphisme ' de �i 2 R(�i!mol =i�) et le morphisme de �i!k,
nous allons construire tous les morphismes '0 de �k!mol tels que :
8xk 2 (Xi); '0(xk) = ' � �1(xk)
Consid�erons, par exemple, les graphes Gi et Gk de la �gure 6.14.
Nous avons : �i = f'1; '2g et �i!k = f 1; 2g.
En composant '1 et �11 on obtient la restriction �a l'ensemble 1(Xi) = f1; 2; 3g
du morphisme '01 de �k tel que '01(1) = a, '01(2) = b et '01(3) = c. La seule extension
de cette restriction correspond bien au morphisme '01 qui associe le sommet 4 de Gk
au sommet e de Ge.
204 Chapitre 6. Raisonnement par classi�cation dans ReSyn
En poursuivant ce processus, on constate que le morphisme '01 est �egalement
obtenu �a partir de la restriction associ�ee �a '2 � �12 .
Cette duplication des r�esultats n'est �evidemment pas satisfaisante dans la mesure
o�u nous cherchons �a optimiser la construction d'un ensemble �k 2 R(�k!mol =k�).
En �etudiant la �gure 6.14, on peut remarquer que les morphismes 1 et 2 de
�i!k ne sont pas ind�ependants. Ils d�ecrivent des projections de Gi dans Gk qui sont
�equivalentes �a un automorphisme de Gk pr�es.
C'est cette sym�etrie qui est responsable de la duplication du morphisme '01. En
e�et, puisque Gi ((appara�t)) dans Gk en deux positions sym�etriques, toute projection
'01 de Gk dans Gmol doit n�ecessairement int�egrer les deux restrictions sym�etriques de
'01 au graphe Gi, �a savoir : '1 = '01 � 1 et '2 = '01 � 2.
Il semble donc pr�ef�erable d'�eliminer dans �i!k les morphismes de Gi dans Gk qui
sont �equivalents �a un automorphisme de Gk pr�es. Nous allons d�e�nir une nouvelle
relation d'�equivalence, not�ee �k, sur l'ensemble �i!k :
8 ; 0 2 �i!k; �k 0 , 9 � 2 A(Gk) tel que = � � 0
Deux morphismes d'un ensemble �i!k seront li�es par la relation �ks'ils sont �equi-
valents �a un automorphisme de Gk pr�es. On notera l'analogie avec la relation i�
qui, d�e�nie comme pr�ec�edemment sur le meme ensemble �i!k, correspond �a une
�equivalence de morphismes suivant les automorphismes de Gi.
En respectant les notations pr�ec�edentes, nous d�esignerons par R(�i!k =�k) l'en-
semble des syst�emes complets de repr�esentants de �i!k = �k.
Nous allons montrer que l'on peut toujours construire un ensemble
�k 2 R(�k!mol =k�) �a partir de deux ensembles�i 2 R(�i!mol =
i�) et �i;k 2 R(�i!k =�k).
Pour ce faire, nous allons utiliser l'algorithme g�en�eral suivant, que nous emploie-
rons dans un premier temps en prenant Fi = �i et Fi;k = �i;k :
Fonction Construire Appariements (Fi; Fi;k) :
Donn�ees : un ensemble Fi � �i!mol et un ensemble Fi;k � �i!k
R�esultat : un ensemble �k 2 R(� =k�) o�u
� = f '0 2 �k!mol; tel que 9' 2 Fi et 9 2 Fi;k avec ' = '0 � g
6.5. Appariements dirig�es 205
1. � ? ? � est un sous-ensemble de �k!mol ?
2. Pour tout ' 2 Fi faire :
3. Pour tout 2 Fi;k faire :
4. d�e�nir sur (Xi) � Xk un morphisme '0 = ' � �1
5. Ajouter dans � toutes les extensions valides de '0 aux autres sommets de Xk
6. fpour
7. �k un �el�ement de R(� =k�)
La r�ep�etitive Pour de la ligne 3 commence par construire un morphisme '0 de
�k!mol en utilisant ' et . �A la �n de cette �etape, seuls sont ((instanci�es)) les sommets
de Gk appartenant �a (Xi). On cherche ensuite �a �etendre cette solution partielle
(ligne 5) et on ajoute tous les morphismes valides ainsi obtenus �a l'ensemble �.
La �gure 6.15 donne un exemple de construction de �k.
Nous allons maintenant montrer que si on applique cet algorithme en prenant
Fi 2 R(�i!mol =i�) et Fi;k 2 R(�i!k =�
k), on construit un ensemble�k 2 R(�k!mol =
k�).
Nous commencerons par montrer que l'algorithme v�eri�e le lemme suivant :
Lemme 1 Quel que soit '0 2 �k!mol tel qu'il existe ' 2 �i!mol et 2 �i!k
v�eri�ant : ' = '0 � .
S'il existe '2 2 Fi tel que '2i� ' et 2 2 Fi;k tel que 2 �
k ,
et si par ailleurs, l'ensemble Fi;k v�eri�e :
8 2 Fi;k et 8�i 2 A(Gi), il existe 0 2 Fi;k tel que 0 �
k( � �i).
Alors, l'algorithme construit un appariement '02 2 �k!mol tel que '02k� '0.
D�emonstration
Puisque '2i� ', c'est qu'il existe �i 2 A(Gi) tel que '2 = ' � �i.
De la meme fa�con, 2 �k entra�ne l'existence d'un automorphisme
�k 2 A(Gk) tel que 2 = �k � .
D'apr�es l'hypoth�ese faite sur Fi;k , si 2 2 Fi;k alors il doit exister 3 2 Fi;k
tel que 3 �k 2 � �i, c-�a-d 9�0k 2 A(Gk) avec 3 = �0k � 2 � �i
Puisque (' � �i) 2 Fi et (�0k � 2 � �i) 2 Fi;k , l'algorithme doit construire
tous les appariements '02 2 �k!mol tels que (' � �i) = '02 � (�0k � 2 � �i)
ce qui donne �nalement : ' = ('02 � �0k � �k) �
206 Chapitre 6. Raisonnement par classi�cation dans ReSyn
1 32
4
N
1 2
4
N
3 56
7
Gi
Fi
Gk
1
a
2 3 4
b c
b c
c
5 6 7
a
g h
h g
g d c h
g d h
a
d
d
e
e
b
aeb
e
1 2 3 4
a b c e
cg d h
1 2 3 4
1 2 3 4
1
a
2 3 4
b c
5 6 7
e d g h
'1
'2
Fi;k
�
'1
'2
Nb ca
ef
dg
h
Gmol
�k 2 R(� =k�)
Fig. 6.15 { Construction de �k
Parmi tous les '02 respectant cette �egalit�e, on construira n�ecessairement
celui qui v�eri�e : '02 = '0 � ��1k � �0�1k . D'o�u �nalement '02
k� '0 2
Consid�erons deux graphes Gi et Gk tels que Gi � Gk, et un ensemble �k quelconque
appartenant �a R(�k!mol =k�).
Soit �k l'�el�ement de R(� =k�) obtenu �a la ligne 7 de l'algorithme appliqu�e �a deux
ensembles Fi et Fi;k tels que Fi = �i 2 R(�i!mol =i�) et Fi;k = �i;k 2 R(�i!k =�
k).
Proposition 4 8'01 2 �k; 9'02 2 �k tel que '
01
k� '02
6.5. Appariements dirig�es 207
D�emonstration
Soit un �el�ement quelconque de �i!k. Notons ' = '01 � .
' �etant un �el�ement de �i!mol, il doit n�ecessairement exister '2 2 Fi tel
que '2i� '.
Par ailleurs, puisque l'ensemble Fi;k appartient �a R(�i!k =�k), il existe
2 2 Fi;k tel que 2 �k . De plus, 8 0 2 Fi;k et 8�i 2 A(Gi); ( 0 � �i) 2
�i!k. Donc il existe 00 2 Fi;k tel que 00 �k( 0 � �i).
On en d�eduit, d'apr�es le lemme 1, la pr�esence dans �k, �a la �n de l'algo-
rithme, d'un appariement '02 tel que '01
k� '02 2
�Etant donn�e deux graphes Gi et Gk de G, tels que Gi � Gk, l'ensemble �i;k ,
utilis�e par l'algorithme, est ind�ependant du graphe mol�eculaire Gmol pour lequel on
cherche �a construire les ensembles �i et �k. On peut donc d�eterminer �i;k une fois
pour toutes et l'employer quel que soit le graphe Gmol �etudi�e.
Nous avons choisi de stocker cette information au niveau des arcs du r�eseau
H� = fG; URg (�egal au graphe de Hasse de la relation � sur G). �A tout arc (Gi; Gk)
de H�, on associe un ensemble �i;k correspondant.
Pour r�esoudre le probl�eme 1, on parcourt la hi�erarchieH� en partant des graphes
les plus g�en�eraux vers les graphes les plus sp�eci�ques. �Etant donn�e un graphe Gk,
deux cas peuvent se pr�esenter :
� s'il existe au moins un graphe Gi, parmi ceux qui subsument Gk, pour lequel
�i!mol = ?, alors on en d�eduit directement �k!mol = ?,
� sinon, on choisit un graphe Gi parmi les subsumants de Gk, puis on utilise
l'ensemble �i � �i!mol obtenu pour Gi a�n de construire un ensemble �k pour
le graphe Gk;
Le choix d'un graphe Gi parmi les subsumants de Gk est actuellement arbitraire.
Il serait int�eressant de d�eterminer des heuristiques permettant de choisir le meilleur
graphe de fa�con �a optimiser la recherche des appariements de Gk. On peut envisager
de choisir le graphe Gi qui maximise le ((taux de recouvrement)) de Gk par Gi, ou
encore celui qui poss�ede le plus petit nombre d'appariements dans Gmol.
208 Chapitre 6. Raisonnement par classi�cation dans ReSyn
N321
4
1 2
1 2
a b
Gk
1 2 3 4
a b c e
b
b
c
cd e
1 2 3 4
a b c e
b c
d a
d a
�k
GO
Gm'o
�'ok
Nc
e
d
a b
'o
Fig. 6.16 { D�etermination d'un ensemble �'Ok
6.5.3 Probl�eme 2
Le probl�eme 2 int�egre la notion de subsomption entre appariements :
Donn�ees : Un graphe Gmol, un ensemble de graphes G = fG1; :::; Gzg, le r�eseau
H� = fG; URg �egal au graphe de Hasse de la relation � sur G et un graphe GO tel
qu'il existe un morphisme 'O 2 �O!mol.
Question : Pour tout graphe Gk de G, construire l'ensemble �'Ok des apparie-
ments de Gk dans Gmol qui sont subsum�es par 'O (relation �app) et qui ne sont pas
�equivalents �a un automorphisme de Gk pr�es (relation k�).
�Etant donn�e un ensemble d'appariements �k 2 R(�k!mol =k�), l'ensemble �'Ok se
d�e�nit formellement par : �'Ok = f 'k 2 �k tel que 'O �app 'k g.
La �gure 6.16, donne un exemple d'ensemble �'Ok d�etermin�e �a partir de �k et
d'un morphisme 'O.
Le probl�eme 2 correspond, par exemple, �a la recherche d'objectifs plus sp�eci�ques
qu'un objectif GO d'appariement 'O, ou �a la d�etermination des appariements de
contextes qui autorisent ou interdisent l'application d'une transformation pour 'O.
Pour le probl�eme pr�ec�edent, nous avons montr�e comment le r�eseau H� peut
faciliter l'exploration de G. On utilise le fait que pour deux graphes Gi et Gk de G
6.5. Appariements dirig�es 209
N
N
N
N
N1 2 3 4
a b c e
1 2 3
1 2
3
1 2
b c
a d
e
1 2
e b c
a b c
4
b c
iii iii
Gi
Gj
Gk
i ii iii
'O
�'Ok
GO�'Oj
�'Oi = ?
'k
'O
Gmol
Fig. 6.17 { Un graphe Gk peut admettre un appariement dans Gmol subsum�e par
'O, alors que le graphe Gi � Gk n'en admet pas.
tels que Gi � Gk, si Gi n'admet aucun appariement dans Gmol alors Gk n'en admet
pas non plus.
Malheureusement, cette propri�et�e n'est plus v�eri��ee lorsqu'il s'agit de r�esoudre le
probl�eme 2. Comme le montre la �gure 6.17, le fait qu'il n'existe pas d'appariement
de Gi dans Gmol int�egrant 'O, ne permet pas de conclure qu'il n'en existe pas pour
Gk.
Une premi�ere solution pour r�esoudre ce probl�eme consisterait �a rechercher tous
les appariements des graphes de G dans Gmol, sans se soucier de 'O. On �eliminerait
ensuite les appariements qui ne seraient pas subsum�es par 'O. Cette solution n'est
pas satisfaisante dans la mesure o�u elle ne permet pas de limiter la recherche des
appariements autour du sous-graphe partiel de Gmol d�e�ni par 'O(GO). Nous propo-
210 Chapitre 6. Raisonnement par classi�cation dans ReSyn
N
N
N
N
2
1 2 3
1 2 4
3 1
4
e
1 2 3
a b c
e b c
a b c
1
4
2 3
1 2 4
1 2
3
1 2 3
a d
e
b c
i ii iii
�
�0
�'Ok
'k
i ii iii�'Oj
'0j
'j
iii iii
Gk
Gj
�j;i i ii iii
1 2 3
Gi
�i;k
�j;k
'O
�00
Gmol
Fig. 6.18 {
sons donc d'�etendre au probl�eme 2 les m�ethodes utilis�ees pour r�esoudre le probl�eme 1
en d�eterminant, par avance, les appariements entre certains graphes de la hi�erarchie.
Consid�erons, par exemple, les graphes Gj , Gi et Gk de la �gure 6.18 v�eri�ant
Gj � Gi � Gk. Comme dans la �gure 6.17, la r�esolution du probl�eme 2 pour ces
graphes donne : �'Oj = f'j; '0jg, �'Oi = ? et �'Ok = f'kg. Puisque l'ensemble �'Oi
est vide, on ne peut pas l'utiliser pour construire �'Ok .
Si l'on d�etermine un ensemble d'appariements �j;k appartenant �a R(�j!k =�k), on
constate que cet ensemble poss�ede trois morphismes �, �0 et �00 tels que � subsume
l'appariement de �i;k 2 R(�i!k =�k) alors que �0 et �00 ne le subsument pas.
On peut donc dire que l'appariement de �i;k ((transmet)) l'appariement � mais
ne transmet pas �0 ni �00. Or c'est justement l'appariement �0 qui pourrait permettre
de construire le morphisme 'k de �'Ok �a partir du morphisme 'j de �'Oj dans la
mesure o�u 'j = 'k � �0.
6.5. Appariements dirig�es 211
Cet exemple nous montre que pour calculer un ensemble �'Ok , on ne peut pas se
contenter ((d'�etendre)) les appariements obtenus pour les pr�ed�ecesseurs imm�ediats de
Gk. Il est parfois n�ecessaire de s'appuyer sur les appariements de pr�ed�ecesseurs non
imm�ediats. Toute la di�cult�e provient du fait que l'on dispose uniquement d'une
hi�erarchie de graphes H� qui est ordonn�ee suivant la relation �. Or le probl�eme 2 se
pose avant tout en termes de subsomption d'appariements suivant le relation �app.
Dans la hi�erarchie H�, l'arc reliant le graphe Gj �a Gk ne sera pas pr�esent s'il
existe un graphe Gi tel que Gj � Gi � Gk. Il constituerait alors un arc de transiti-
vit�e. Pourtant, si l'on consid�ere les arcs (Gj ; Gi) d'une part et (Gi; Gk) d'autre part,
on ne peut pas dire que cette succession d'arcs remplisse pleinement son ((role de tran-
sitivit�e)). Le morphisme �0 de �j;k n'est pris en compte par aucune des compositions
possibles entre les �el�ements de �j!i et ceux de �i!k.
Cette lacune n'a aucune importance pour le probl�eme 1 dans la mesure o�u l'on
s'int�eresse �a tous les appariements dans le graphe mol�eculaire. Par contre, quand on
se limite �a ceux qui sont subsum�es par 'O, on ne peut se permettre de perdre des
appariements du fait de la suppression d'un arc de transitivit�e. Nous proposons donc
d'ajouter un arc, entre les graphes Gj et Gk, qui soit �etiquet�e par le seul morphisme
�0 de �j;k qui ne subsume pas d'appariements de �i!k.
�Etant donn�e un graphe Gj tel que Gj � Gk et un ensemble �j;k 2 R(�j!k =�k),
on d�e�nit l'ensemble des appariements dirig�es de Gj dans Gk par l'ensemble des
appariements de �j;k qui ne subsume aucun appariement d'un graphe Gi dans Gk
tel que Gj � Gi � Gk. De fa�con plus formelle, l'ensemble des appariements dirig�es,
not�e AppDir j!k, se d�e�nit par :
AppDir j!k =n� 2 �j;k tel que 9/ 2 �i!k v�eri�ant � �app et Gj � Gi � Gk
oSi le graphe Gj est un pr�ed�ecesseur imm�ediat de Gk, alors l'ensemble AppDir j!k
est �egal �a �j;k .
�Etant donn�e deux graphes Gj et Gk de G, on ajoute l'arc (Gj ; Gk) dans la hi�e-
rarchie H� si l'ensemble AppDir j!k n'est pas vide.
La �gure 6.19 donne quelques exemples d'appariements dirig�es.
Les ensembles d'appariements dirig�es v�eri�ent la propri�et�e suivante :
Propri�et�e 6 8' 2 AppDir j!k et 8�j 2 A(Gj), il existe '0 2 AppDir j!k tel que
'0 k� (' � �j)
212 Chapitre 6. Raisonnement par classi�cation dans ReSyn
N
3
O N
N
2
3
1
1
321
N
N
321
2
N
1 2
3
1
4
2 3
56 7
1 2
1 2
3
3 4
49
3
8
8 9
3
1 2
2
3
3 1
1 2 3 10 56
7
8 9
4
iii iii
Gb
Ga
Gc
i iiiii
i iiiii
i iiiii
AppDir a!dAppDir c!d
AppDir b!dAppDir b!c
AppDira!b
AppDira!c
Gd
Fig. 6.19 { Appariements dirig�es dans une hi�erarchie de graphes.
D�emonstration (par l'absurde)
S'il n'existe pas de '0 tel que '0 k� (' � �j), c'est qu'il existe un graphe
Gi, avec Gj � Gi � Gk, pour lequel 9 2 �i!k tel que (' � �i) �app .
Il s'en suit (' � �j)(Gj) v (Gi) =) '(Gj) v (Gi). D'o�u ' �app , ce
qui est contraire �a l'hypoth�ese de d�epart : ' 2 AppDir j!k 2
6.5. Appariements dirig�es 213
L'algorithme permettant de r�esoudre le probl�eme 2 est alors similaire �a celui du
probl�eme 1. Il utilise simplement plus d'arcs dans la hi�erarchie H�.
Pour construire l'ensemble �'Ok , on essaie ((d'�etendre)) tous les appariements des
ensembles �'Oi obtenus pour des graphes Gi plus g�en�eraux que Gk et reli�es �a ce
graphe par un arc de la hi�erarchie. On applique la fonction Construire Appariements
de la page 204 en prenant Fi;k = AppDir i!k.
Construction de �'Ok :
A ?;
Pour tout Gi 2 G tel que AppDir i!k 6= ? et �'Oi 6= ? faire :
A A [ Construire Appariements(�'Oi ;AppDir i!k);
�'Ok un �el�ement de R(A=k�);
Proposition 5 En appliquant l'algorithme pr�ec�edant aux graphes de G, dans un
ordre correspondant �a une extension lin�eaire de la relation �, on construit pour
chaque graphe Gk 2 G, o�u GO � Gk, un ensemble �'Ok tel que :
�'Ok 2 R(�'O
k!mol =k�) o�u �'O
k!mol = f'k 2 �k!mol; 'O �app 'kg
D�emonstration
Quel que soit le graphe Gk �etudi�e, pour que l'ensemble �'Ok ne soit pas
vide, il faut qu'il y ait au moins un appariement 'k de Gk dans Gmol qui
soit subsum�e par 'O. Dans ce cas, 'O(GO) est un sous-graphe partiel de
'k(Gk). Il existe donc un morphisme O 2 �O!k tel que 'O = 'k � O.
Pour d�emontrer la propri�et�e, nous allons utiliser un raisonnement par in-
duction sur l'ordre de traitement des graphes appartenant �a G (extension
lin�eaire de la relation �).
Le premier graphe �etudi�e est un successeur imm�ediat de GO. Il s'en
suit AppDirO!k 2 R(�O!k =�k). Il existe donc 0O 2 AppDirO!k v�e-
ri�ant 0O �k O, c'est-�a-dire 9�k 2 A(Gk) tel que 0O = �k � O. La
fonction Construire Appariements, appliqu�ee aux ensembles Fi = f'Og et
Fi;k = AppDirO!k, doit construire, d'apr�es le lemme 1 (page 205), tous
les morphismes '0k 2 �k!mol tels que 'O = '0k � 0O = '0k ��k � O. Parmi
eux, l'appariement '0k = 'k � ��1k sera n�ecessairement construit et v�eri�e
'0kk� 'k.
214 Chapitre 6. Raisonnement par classi�cation dans ReSyn
Supposons maintenant que la propri�et�e soit vraie pour tout graphe Gi
trait�e avant le graphe Gk. Deux cas peuvent alors se produire :
� s'il existe 0O 2 AppDirO!k v�eri�ant 0O �k O, alors on se ram�ene
au cas pr�ec�edant.
� sinon, il doit exister un graphe Gi tel que GO � Gi � Gk et
pour lequel l'ensemble AppDir i!k contient un morphisme i tel que
O �app i. La restriction 'i du morphisme 'k au graphe Gi rela-
tivement �a i (i.e. 'i = 'k � i), v�eri�e n�ecessairement 'O �app 'i
(puisque 'O(GO) v 'i(Gi) v 'k(Gk)).
Puisque Gi � Gk et par hypoth�ese d'induction, l'algorithme appli-
qu�e au graphe Gi doit avoir construit un ensemble �'Oi valide. Cet
ensemble contient donc un morphisme '0i tel que '0i
i� 'i. D'apr�es le
lemme 1 et la propri�et�e 6, la fonction Construire Appariements, appli-
qu�ee aux ensembles Fi = �'Oi et Fi;k = AppDir i!k, doit construire
un morphisme '0k tel que '0k
k� 'k.
Il nous reste maintenant �a exposer la m�ethode permettant de d�eterminer les
ensembles d'appariements dirig�es.
On consid�ere une hi�erarchie H� = (G; UH) telle que UH est l'ensemble des arcs
reliant un graphe Gj au graphe Gi tel que AppDir j!i 6= ?.
Soit Gk le graphe que l'on d�esire ajouter �a cette hi�erarchie.
On commence par d�eterminer les pr�ed�ecesseurs imm�ediats de Gk. L'algorithme
que nous allons pr�esenter repose sur un parcours en largeur de la hi�erarchie en par-
tant des graphes les plus g�en�eraux, comme dans l'algorithme de Levinson (cf. para-
graphe 6.2.3.1). Lors de ce parcours, on d�etermine les appariements dirig�es vers Gk
pour tout graphe Gj tel que Gj � Gk. L'ensemble AppDir j!k est initialis�e en d�eter-
minant un ensemble �j;k �a partir de �j!k. Lorsque l'on �etudie un nouveau graphe
Gi tel que Gj � Gi � Gk, on �elimine les �el�ements de AppDir j!k qui subsument des
�el�ements de �i!k.
�A la �n du calcul des pr�ed�ecesseurs imm�ediats, on relie un graphe Gi �a Gk si
l'ensemble AppDir i!k �nal n'est pas vide (cf. �gure 6.20).
D'o�u l'algorithme calculant les pr�ed�ecesseurs imm�ediats de Gk :
6.5. Appariements dirig�es 215
N
1
3
21
N
3
3
N
2
21
21
3
N
4
32
4
O
N
N
1
321
32
4
1
O
N
321
N
56 7
9
3
8
8 9
3
1 2
2
3
3 1
1
4
2 3 8 56
7
1 2
1 2
3
3 4
4
6 7
6 7
8
10
5
5
1
4
2 3 56
7
8 9
10
Gb
AppDir c!k
AppDir a!b
ii iiii
Gaiiii ii
AppDir c!d
AppDir b!k
i iiiii
AppDir a!d
AppDir b!c
i iiiii
AppDir a!c
AppDir b!dGc
Gk
AppDirk!d
Gd
Fig. 6.20 { Ajout du graphe Gk dans la hi�erarchie.
216 Chapitre 6. Raisonnement par classi�cation dans ReSyn
�Etude des pr�ed�ecesseurs de Gk :
S ?; �A tester ?;
Tantque
�����il existe un graphe Gi non marqu�e, tel que PredI(Gi) = ?
ou 8Gj 2 PredI(Gi); Gj est marqu�e avec la valeur vrai
����� Faire :
Si Gi subsume Gk Alors
marquer Gi avec la valeur vrai ;
S (S n PredI(Gi) ) [ fGig;
d�eterminer �i!k;
AppDir i!k un �el�ement de R(�i!k =�k);
Pour tout Gj 2 �A tester \ Pr�ed�ecesseurs(Gi) Faire :
AppDir j!k f j 2 AppDir j!k t. q. 8 i 2 �i!k; j 6�app i g;
Si AppDir j!k = ? alors �A tester �A tester n fGjg Fsi;
�A tester �A tester [ fGig;
Sinon marquer Gi avec la valeur faux ;
Pour tout Gi 2 �A tester Faire :
Ajouter l'arc (Gi; Gk) dans UH avec l'�etiquette AppDir i!k;
On d�etermine ensuite l'ensemble des successeurs imm�ediats de Gk, suivant la re-
lation � dans la hi�erarchie de graphes. Pour ce faire, on utilise une m�ethode similaire
�a celle qui est pr�esent�ee dans le paragraphe 6.2.3.2.
Pour chaque graphe Gs appartenant �a l'ensemble SuccI(Gk), on calcule un en-
semble AppDir k!s = �k;s o�u �k;s est un �el�ement de R(�k!s =�s). On ajoute ensuite
l'arc (Gk; Gs) dans la hi�erarchie avec l'�etiquette AppDirk!s.
Le fait d'ajouter un nouvel �el�ement Gk dans la hi�erarchie peut remettre en cause
les appariements dirig�es reliant un pr�ed�ecesseur Gi du graphe Gk avec un succes-
seur imm�ediat Gs de Gk. Il convient donc d'�eliminer les appariements de l'ensemble
AppDir i!s qui subsument des �el�ements de �k!s. Notons que le graphe Gi n'est pas
n�ecessairement un pr�ed�ecesseur imm�ediat de Gk.
Comme le montre la �gure 6.20, l'ajout du graphe Gk dans la hi�erarchie peut en-
tra�ner la suppression de certains appariements dirig�es (cf. AppDir b!d et AppDir c!d)
mais ne pas remettre en cause la pr�esence d'autres appariements dirig�es entre des
pr�ed�ecesseurs et des successeurs de Gk (cf. AppDira!d).
6.5. Appariements dirig�es 217
La fonction Controler appariements dirig�es pr�esent�ee ci-dessous permet de r�ealiser
ces mises �a jour �eventuelles concernant un successeur Gs de Gk.
Controler appariements dirig�es(Gk, Gs, �k!s) :
Pour tout Gi 6= Gk tel que AppDir i!s 6= ? Faire :
AppDir i!s f i 2 AppDir i!s tel que 8 k 2 �k!s; i 6�app k g;
Si AppDir i!s = ? alors supprimer l'arc (Gi; Gs) de l'ensemble UH;
Pour terminer la mise �a jour de la hi�erarchie, il faut encore d�eterminer les appa-
riements dirig�es concernant les successeurs non imm�ediats de Gk.
Notons SuccNonI(Gk) l'ensemble des successeurs non imm�ediats de Gk.
La premi�ere �etape consiste �a construire un �eventuel ensemble AppDirk!s entre le
graphe Gk et un �el�ement Gs de SuccNonI(Gk). Cet ensemble AppDirk!s contient
tous les appariements d'un ensemble �k;s 2 R(�k!s =�s) qui ne subsument pas l'ap-
pariement d'un successeur de Gk dans le graphe Gs. Parmi tous les appariements
possibles de successeurs de Gk, il su�t de d�eterminer les plus sp�eci�ques par rapport
�a la relation �app. Cet ensemble d'appariements correspond en fait �a l'union des
ensembles AppDir i!s pour tous les graphes Gi tels que Gk � Gi � Gs.
La seconde �etape concerne la suppression des appariements dirig�es reliant un
pr�ed�ecesseur de Gk �a un �el�ement Gs de SuccNonI(Gk). Comme dans le cas des suc-
cesseurs imm�ediats, il faut �eliminer les appariements qui subsument un appariement
de Gk dans Gs.
L'algorithme suivant pr�esente la fonction d'exploration d'un successeur non im-
m�ediat de Gk. Cette fonction est appel�ee pour chacun des �el�ements de SuccNonI(Gk)
qui est �etudi�e suivant un parcours en largeur de la hi�erarchie, de fa�con �a n'examiner
un graphe Gs que lorsque tous ces pr�ed�ecesseurs l'ont �et�e.
�A la �n de cette derni�ere phase, le graphe Gk fait partie de la hi�erarchie de graphes
qui est �a nouveau bien form�ee.
Exploration de Gs :
d�eterminer �k!s;
R �k!s; App ?; AppDirk!s ?;
Pour tout Gi 2 successeurs(Gk) tel que AppDir i!s 6= ? Faire :
App App [ AppDir i!s;
218 Chapitre 6. Raisonnement par classi�cation dans ReSyn
Tantque R 6= ? Faire :
k un �el�ement de R;
R R n f 0k 2 R tel que 0k �s kg;
Si 8 i 2 App; i 6�app k Alors
AppDirk!s AppDirk!s [ f kg;
Si AppDirk!s 6= ? Alors Ajouter l'arc (Gk; Gs);
Controler appariements dirig�es(Gk, Gs, �k!s);
Si la d�etermination des appariements dirig�es peut para�tre complexe, il faut si-
gnaler que dans le cadre de ReSyn, l'ajout d'un nouveau graphe dans une hi�erarchie
est relativement rare. On peut donc autoriser une certain cout pour l'ajout d'un
nouveau graphe dans la mesure o�u les appariements dirig�es permettent d'am�eliorer
la construction des ensembles �'Ok . On �evite en e�et de rechercher des appariements
de Gk sur des parties du graphe mol�eculaire o�u tout appariement est impossible,
du fait de l'absence d'appariements de graphes Gi tels que Gi � Gk. Or c'est cette
op�eration qui est de tr�es loin la plus utilis�ee dans le syst�eme ReSyn.
En autre int�eret de la d�e�nition des appariements dirig�es concerne la suppression
des appariements inutiles. Consid�erons, par exemple, la hi�erarchie de contextes asso-
ci�ee �a un objectif (cf. �gure 6.21). Comme nous l'avons vu dans le paragraphe 6.4.2,
on ne dispose pas toujours d'une information sur tous les appariements de l'objectif
dans un contexte. On ignore si certains appariements sont favorables ou d�efavorables
pour l'application d'une transformation. Les appariements dirig�es peuvent alors per-
mettre d'�eviter la transmission d'appariements qui ne m�enent �a aucune information
sur des transformations. On ne conserve que les appariements indispensables pour
d�eterminer des appariements de l'objectif qui sont favorables ou d�efavorables �a l'ap-
plication d'une transformation.
Pour mettre en �uvre cette optimisation, il su�t de modi�er l�eg�erement les
m�ethodes de construction des appariements dirig�es. Lorsque l'on ajoute un nouveau
contexte de graphe Gk, on ne consid�ere pas tous les appariements d'un graphe Gi
de la hi�erarchie dans Gk. On se limite aux appariements de �i!k qui subsument un
appariement de l'objectif GO dans Gk pour lequel on conna�t une transformation
favorable ou d�efavorable. Les autres appariements de �i!k n'ont pas besoin d'etre
((transmis)) puisqu'ils conduisent �a des impasses (cf. �gure 6.21).
6.5. Appariements dirig�es 219
5431 2
96
5
10
43
8
1
7
N
2
défavorableN
N
N
1
2
3
5
4favorable
10
9
8
7 6
?
1 2 3
1 2 3
3 1245
123
pour T1pour T1
favorable pour T3
AppDir o!c
AppDir c!d
Contexte Gc
Contexte Gd
Objectif GO
Fig. 6.21 { Les appariements dirig�es permettent de ne pas transmettre les apparie-
ments pour lesquels on ne dispose d'aucune information.
Cette simpli�cation des ensembles d'appariements dirig�es permet d'optimiser la
recherche des appariements de contextes dans la mol�ecule en int�egrant des connais-
sances chimiques. Lorsqu'un expert recherche dans une mol�ecule le motif structural
associ�e �a un contexte, il ne consid�ere pas tous les appariements possibles mais simple-
ment ceux qui ont un ((sens chimique)). Suivant le type de transformations recherch�e
ou la nature de la mol�ecule �etudi�ee, un expert peut directement rejeter des appa-
riements qu'il sait ne pouvoir aboutir �a aucune transformation. On retrouve cette
capacit�e dans bon nombre de raisonnements humains d�es que le domaine de d�e�ni-
tion des solutions est trop vaste pour etre explor�e de fa�con exhaustive. Un bon joueur
d'�echecs n'envisage pas tous les coups possibles pour d�eterminer sa strat�egie. Il est
capable de se limiter aux coups susceptibles d'aboutir �a une r�eussite.
220 Chapitre 6. Raisonnement par classi�cation dans ReSyn
La mod�elisation et la simulation de ce type de raisonnement est un des domaines
de recherche privil�egi�es de l'Intelligence Arti�cielle. En l'absence de m�ethodes e�-
caces pour r�esoudre un probl�eme donn�e, il faut th�eoriquement explorer tout l'espace
de recherche pour trouver la meilleure solution. La dimension de cet espace est sou-
vent trop importante pour permettre une �etude exhaustive. La meilleure fa�con de
limiter cette exploration consiste �a d�eterminer des conditions �ables permettant d'�eli-
miner des parties de l'espace de recherche qui ne m�enent �a aucune solution. Cette
d�emarche permet d'((�elaguer des branches de l'arbre de recherche)) a�n de r�eduire le
temps de calcul. On trouvera dans [Lauri�ere, 1986] une bonne pr�esentation de divers
algorithmes permettant de r�ealiser cet ((�elagage)), en d�eterminant par exemple la voie
de recherche qui semble se rapprocher le plus de la solution (algorithme A* ) ou en
supprimant un branche de l'arbre de recherche lorsqu'elle ne permet pas d'am�eliorer
les solutions sous-optimales d�ej�a obtenues (algorithme Alpha-Beta, ...). En dehors
de ces m�ethodes g�en�erales d'optimisation, on peut utiliser des d�emarches sp�eci�ques
au domaine �etudi�e. La suppression des morphismes inutiles dans les appariements
dirig�es, appara�t ainsi comme une mod�elisation du savoir de l'expert qui peut �elimi-
ner une voie de recherche lorsque son exp�erience lui garantit qu'elle conduira �a une
impasse.
6.6 Conclusion
Nous avons pr�esent�e, dans ce chapitre, les principes du ((raisonnement par clas-
si�cation)). Nous nous sommes plus particuli�erement int�eress�es �a la repr�esentation
hi�erarchique de bases de connaissances compos�ees de graphes. Nous avons pr�esent�e
une notion originale d'((appariements dirig�es)) qui permet d'am�eliorer la recherche
d'appariements des graphes de la base dans un graphe mol�eculaire. Cette notion sug-
g�ere la d�etermination a priori et le stockage d'appariements entre certains graphes
de la base. Connaissant les appariements d'un graphe Gi dans le graphe mol�eculaire
�etudi�e, on peut utiliser les appariements dirig�es pour construire les solutions d'un
graphe Gk plus sp�eci�que que Gi. Cette m�ethode permet de restreindre la recherche
des appariements de Gk en se limitant aux parties du graphe mol�eculaire qui sont
susceptibles de contenir Gk dans la mesure o�u elles contiennent d�ej�a Gi.
6.6. Conclusion 221
Les appariements dirig�es permettent aussi de repr�esenter des connaissances ex-
pertes d�ecrivant les liens qui existent entre les divers graphes de la base. Lorsqu'un
graphe Gi est plus g�en�eral qu'un graphe Gk, on peut d�e�nir quels sont les apparie-
ments de Gi dans Gk qui ont un sens chimique et ceux qui n'en ont pas.
Quel que soit le type des donn�ees manipul�ees, l'organisation d'une base de connais-
sance est �etroitement li�ee aux op�erations qui sont r�ealis�ees sur cette base. C'est pour-
quoi, on peut envisager d'appliquer la notion d'appariement dirig�es �a tout domaine
n�ecessitant le meme type de recherches sur des graphes que celles r�ealis�ees dans le
cadre deReSyn. Il s'agit principalement de d�eterminer les appariements des graphes
de la base dans un graphe Gm, qui subsument (i.e. ((contiennent))) un appariement
particulier d'un graphe GO donn�e. Pour ce type de recherche, les appariements diri-
g�es permettent de tenir compte de la s�emantique associ�ee aux graphes, en �eliminant
a priori les appariements entre graphes de la base qui ne sont pas valides pour la
th�eorie du domaine. Cette repr�esentation quasi extensionnelle des appariements entre
graphes est souvent la seule qui peut etre utilis�ee pour des domaines r�eels d'appli-
cation. Il est en e�et g�en�eralement impossible de mod�eliser en termes de propri�et�es
de graphe les connaissances qui permettent �a un expert d'optimiser la recherche
d'appariements.
Les appariements dirig�es ne constituent pas pour autant l'unique moyen d'optimi-
ser ces recherches. Comme toujours en informatique, seule une solution combin�ee de
plusieurs d�emarches peut conduire �a un algorithme e�cace, �a d�efaut d'etre optimal.
On peut ainsi utiliser des m�ethodes d'indexation sur les graphes pour restreindre le
nombre de graphes �etudi�es. Ces m�ethodes peuvent employer, par exemple, les r�esul-
tats de l'analyse structurale d'un graphe que nous avons pr�esent�e dans les chapitres 3
et 4 (nombre de cycles pertinents, appartenance �a une cha�ne, etc.). Quoi qu'il en
soit, la gestion d'une base de graphes reste un probl�eme �eminemment complexe de
par la di�cult�e que l'on rencontre �a comparer deux graphes. Il est peu probable
que l'on puisse un jour �elaborer une solution universelle, mais on entrevoit d�ej�a des
solutions sp�eci�ques relativement e�caces, qu'il conviendra toujours d'am�eliorer.
222 Chapitre 6. Raisonnement par classi�cation dans ReSyn
Conclusion 223
Conclusion
Dans ce travail, nous nous sommes int�eress�es �a l'analyse structurale d'objets com-
plexes repr�esentables par des graphes. Nous avons choisi pour domaine d'application
le cadre de la synth�ese de mol�ecules en chimie organique. Les �etudes th�eoriques que
nous avons r�ealis�ees ont �et�e mises en �uvre dans ReSyn, un syst�eme d'aide �a la
conception de plans de synth�ese qui o�re une approche tout �a fait originale en syn-
th�ese assist�ee par ordinateur.
Dans un premier temps, nous avons pr�esent�e divers algorithmes permettant de
reconna�tre les �el�ements structuraux d'un graphe mol�eculaire :
� Une part importante de cette th�ese est consacr�ee �a l'�etude des parties cycliques
d'un graphe. Nous avons propos�e une d�e�nition de l'ensemble CP des cycles
pertinents d'une mol�ecule par l'union des bases de cycles de taille minimale.
Nous avons montr�e comment cet ensemble peut etre repr�esent�e par un nombre
polynomial de ((familles)) de cycles qui constituent une partition de CP. Nous
avons propos�e un algorithme polynomial d�eterminant un cycle prototype pour
chaque famille de cycles. �A partir de ces prototypes, on peut �enum�erer tous les
cycles pertinents en O(n jCP j). Nous avons �egalement pr�esent�e un algorithme
polynomial d�eterminant le cardinal de CP ainsi que le nombre de cycles perti-
nents contenant un sommet donn�e, sans n�ecessiter l'�enum�eration de CP . Nous
avons d�e�ni un graphe de cycles pertinents d�ecrivant un syst�eme cyclique en
�etablissant les relations de contigu��t�e entre les cycles.
224 Conclusion
� Nous avons compl�et�e l'analyse structurale d'un graphe mol�eculaire par la d�eter-
mination d'autres �el�ements structuraux comme les liens de cycles, les cha�nes
carbon�ees et les liens h�et�eroatomiques. Nous avons d�e�ni une repr�esentation abs-
traite d'un graphe de fa�con �a d�ecrire les relations structurelles qui existent entre
les divers motifs per�cus.
� Nous nous sommes �egalement int�eress�es �a l'�etude de la sym�etrie dans un graphe.
Nous avons propos�e un algorithme polynomial construisant une relation d'�equi-
valence entre les sommets potentiellement sym�etriques. Bien que cette relation
ne d�e�nisse qu'une condition n�ecessaire �a l'existence d'un automorphisme asso-
ciant deux sommets, elle n'a jamais �et�e mise en d�efaut sur des bases de donn�ees
de graphes mol�eculaires.
La suite de notre �etude concerne la repr�esentation et l'organisation des �el�ements
structuraux qui ont �et�e reconnus :
� Nous avons montr�e l'int�eret d'utiliser un langage �a objet pour repr�esenter les
�el�ements structuraux �a l'aide d'objets composites partageant leurs composants;
� Nous avons propos�e l'utilisation de hi�erarchies de graphes pour organiser les
connaissances de la synth�ese en chimie organique qui sont repr�esentables par des
motifs structuraux. Nous nous sommes int�eress�es au raisonnement par classi�-
cation sur des hi�erarchies de graphes. Nous avons d�e�ni une relation originale de
subsomption entre appariements de graphes. Cette relation nous a permis d'in-
troduire la notion originale d'appariements dirig�es qui facilite le calcul d'appa-
riements de graphes lors d'un processus de classi�cation. La d�emarche propos�ee
consiste �a exploiter les solutions obtenues lors de la recherche des appariements
d'un graphe G1 dans un graphe cible G, a�n de construire les appariements
d'un graphe G2 dans G, lorsque G2 est plus sp�eci�que que G1 (c'est-�a-dire, G2
((contient))G1). La notion d'appariements dirig�es permet �egalement de repr�esen-
ter des connaissances expertes d�ecrivant les liens de subsomption valides parmi
ceux qui relient deux graphes de la hi�erarchie;
Les perspectives de recherches qui apparaissent �a la �n de ce travail sont multiples.
Nous envisageons d'utiliser les r�esultats de l'analyse structurale dans des do-
maines aussi vari�es que l'organisation de bases de donn�ees chimiques ou le dessin
d'une mol�ecule �a partir de son graphe mol�eculaire.
Conclusion 225
Le travail de repr�esentation et d'�elaboration de strat�egies de synth�ese, qui a �et�e
�ebauch�e dans le cadre de cette th�ese, doit etre poursuivi. Le recours �a un paradigme
((multi agents)) peut etre envisag�e pour g�erer des points de vue strat�egiques compl�e-
mentaires ou contradictoires. La prise en compte d'expertises multiples et la facult�e
de dialogue et d'explication font �egalement partie des axes de recherche qui sont
toujours d'actualit�e pour les syst�emes de synth�ese assist�ee par ordinateur.
Il serait �egalement int�eressant de compl�eter l'�etude du raisonnement par clas-
si�cation sur des hi�erarchies de graphes en associant le principe des appariements
dirig�es �a d'autres techniques d'optimisation, comme l'utilisation d'index.
226 Conclusion
227
Annexe A
Bases de cycles de taille minimale
dans un graphe valu�e
Nous avons �etudi�e, dans le chapitre 3, deux algorithmes relatifs aux bases de
cycles de taille minimale dans un graphe non-orient�e 2-connexe : une variante de
l'algorithme de Horton permettant de calculer une base minimale et un algorithme
construisant l'union des bases de cycles de taille minimale (i.e. l'ensemble des cycles
pertinents).
Cette annexe pr�esente une version de ces algorithmes adapt�ee aux graphes munis
d'une valuation strictement positive. En termes de complexit�e, nous verrons que le
passage �a un graphe valu�e ne modi�e pas leur complexit�e globale. Elle augmente tout
au plus le cout de la construction des ensembles ((initiaux)) de cycles construits par
ces deux algorithmes.
Soit w : E ! R�+ une valuation des aretes du graphe G = (X;E). Si fx; yg est
une arete de G, on appelle ((poids)) de fx; yg la valeur w( fx; yg ).
Pour toute cha�ne � = [x0; x1; :::; xk] de G, nous d�e�nirons le poids de � par :
w(�) =Pk
i=1w( fxi�1; xig )
Si B est un ensemble de cycles, on d�e�nira la ((taille)) (ou le ((poids))) de B par la
somme des poids des cycles qui le composent.
228 Annexe A. Bases de cycles de taille minimale dans un graphe valu�e
A.1 Cha�nes minimales dans un graphe valu�e
Lorsque le graphe consid�er�e n'est pas valu�e, la recherche d'une cha�ne minimale
entre tout couple de sommets est r�ealis�ee au moyen d'un parcours en largeur �a partir
de chaque sommet. La complexit�e de ce calcul est alors O(nm).
Si le graphe est valu�e, il faut utiliser une m�ethode plus �elabor�ee. De nombreux
travaux traitent de ce sujet. Le lecteur int�eress�e par ce probl�eme pourra trouver dans
[Cormen et al., 1994] une pr�esentation d�etaill�ee des principales m�ethodes de r�esolu-
tion. On peut citer par exemple les algorithmes de [Dijkstra, 1959] et [Floyd, 1962]
qui d�eterminentO(n3) une cha�ne de poids minimal entre deux sommets quelconques.
Nous choisirons de pr�esenter ici l'algorithme de Dijkstra qui est relativement
simple mais reste limit�e aux graphes �a valuation positive.
Cet algorithme d�etermine, �a partir d'un sommet r de d�epart, une cha�ne minimale
P (r; x) pour tout sommet x du graphe. Il utilise une d�emarche ((gloutonne)) mainte-
nant un ensemble S de sommets pour lesquels une cha�ne minimale a �et�e trouv�ee et
rajoutant �a chaque �etape un nouveau sommet �a cet ensemble.
Pour tout sommet x du graphe on d�e�nit la ((distance de r �a x relativement �a S))
par le poids (not�ee distS(r; x)) de la plus courte cha�ne reliant r �a x dans le sous-
graphe de G induit par le sous-ensemble S. Si une telle cha�ne n'existe pas, on pose :
distS(r; x) = +1.
L'algorithme de Dijkstra repose sur l'invariant suivant :
Si x appartient �a S alors
(distS(r; x) = dist(r; x) et
8y 2 X n S; distS(r; y) � dist(r; y) � dist(r; x)
�A chaque �etape, on choisit le sommet z de X nS qui est le plus proche de r, puis
on l'ajoute �a l'ensemble S et on modi�e �eventuellement les distances distS(r; y), pour
tout sommet y de X n S, en consid�erant les chemins minimaux passant par z.
L'ensemble X n S est repr�esent�e par une �le de priorit�e F ordonn�ee suivant
les valeurs distS(r; x). On applique �a F les op�erations suivantes : Initialiser �le(F),
Ajout �le(F, x), Modi�er Priorit�e(F, x, priorit�e) et Extraire Minimum �le(F).
Pour m�emoriser les cha�nes minimales P (r; x), on d�e�nit une fonction �r sur X
telle que : 8x 2 X; �r(x) d�esigne le pr�ed�ecesseur de x dans une cha�ne minimale de
r �a x.
A.1. Cha�nes minimales dans un graphe valu�e 229
[Algorithme 1]
Initialiser �le(F ); distS(r; r) 0;
Pour tout x 2 X n frg faire :
Si x 2 �(r) Alors
distS(r; x) w( fr; xg ); �r(x) r;
Sinon distS(r; x) +1 FinSi;
Ajout �le(F; x);
Tant que F 6= ? faire :
x Extraire Minimum �le(F );
Pour tout v 2 �(x) Faire :
Si distS(r; v) > distS(r; x) + w( fx; vg ) Alors :
distS(r; v) distS(r; x) + w( fx; vg );
�r(v) x;
Modi�er Priorit�e(F; v; distS(r; v));
L'�etude du voisinage de chaque sommet x est r�ealis�ee en O(m), sans tenir compte
du traitement de la �le de priorit�e. Si F est repr�esent�ee par un tableau [1::n] d'en-
tiers, la recherche du sommet de priorit�e minimale est r�ealis�ee en O(n). Quant �a la
modi�cation de la priorit�e d'un sommet, elle est ex�ecut�ee en O(1). Ce qui donne au
total O(n2) pour l'exploration gloutonne �a partir d'un sommet r. Lorsque la �le de
priorit�e utilise un tas binaire, la complexit�e de toutes les op�erations sur F est en
O(log n). D'o�u, au total O((m+ n) log n).
Le calcul d'une cha�ne minimale entre tout couple de sommet est donc r�ealis�e en
O(n3) ou O(n (m + n) log n). Cette complexit�e peut etre r�eduite �a O(n logn + m)
en repr�esentant la �le par un tas de Fibonacci (cf. [Fredman et Tarjan, 1987]). Ce
r�esultat reste cependant th�eorique dans la mesure o�u les algorithmes utilis�es sont
di�ciles �a mettre en �uvre et leur complexit�e soumise �a un facteur multiplicateur
�elev�e.
230 Annexe A. Bases de cycles de taille minimale dans un graphe valu�e
A.2 Base de cycles de taille minimale
Dans la section 3.4.3.1, nous avons �etudi�e l'algorithme de [Horton, 1987] permet-
tant de d�eterminer une base de cycles de taille minimale en temps polynomial. Cet
algorithme peut se r�esumer ainsi :
1) 8a; b 2 X construire une cha�ne P (a; b) de poids minimal reliant a �a b.
2) CI ?
3) Pour tout v 2 X faire :
Pour tout fx; yg 2 E faire :
Si P (v; x) \ P (v; y) = fvg
Alors ajouter �a CI le cycle C = P (v; x) + P (v; y) + [x; y]
4) Trier l'ensemble de cycles CI par ordre de poids croissants
5) Extraire de CI une base de poids minimal.
La mise en �uvre des �etapes 4 et 5 est ind�ependante de l'existence ou non d'une
valuation sur les aretes du graphe. Nous ne d�etaillerons donc que les premi�eres �etapes
construisant l'ensemble de cycle CI .
Dans toute la suite de cette annexe, nous reprendrons les d�e�nitions suivantes,
introduites dans le paragraphe 3.4.3.1 :
� Xr = fx 2 X t:q: �(x) � �(r)g o�u � est un ordre d�e�ni sur X
� ancetr(x) =
(a 2 �(r) t:q:
�����il existe une cha�ne minimale dans G, passant par a
et ne traversant que des sommets appartenant �a Xr
)
Soit C un cycle de CI et le sommet de C tel que : �(r) = maxx2C �(x).
Si C contient un sommet x tel que dist(r; x) = w(C)2 , on dit que C est ((pair ))
(w(C) = 2dist(r; x)). Sinon, C est ((impair )) (voir �gure A.1).
Notons p et q les deux sommets de C tels que C est compos�e de deux cha�nes
minimales [r; ap; :::; p] et [r; aq; :::; q], reli�ees par l'arete fp; qg lorsque C est impair ou
par la cha�ne minimale [p; x; q] si C est pair (voir �gure A.1).
Les sommets p et q v�eri�ent : dist(r; p) < w(C)2
et dist(r; q) < w(C)2.
Le lemme relatif aux ancetres s'�ecrit alors :
Lemme 2 Si ancetr(p) \ ancetr(q) 6= ? Alors C n'appartient �a aucune base
minimale.
A.2. Base de cycles de taille minimale 231
p p
q q
p p
q q
w(C)
2r
p
qy
ya
a
r
q
pya
a a z
y
z
a
x
Cycle Pair Cycle ImpairFig. A.1 {
La d�emonstration de ce lemme ne pr�esente pas de grand int�eret dans la mesure
o�u elle est tr�es similaire �a celle pr�esent�ee page 64 pour un graphe non valu�e.
Notre algorithme construisant CI s'appuie sur celui de Dijkstra que nous avons
�etudi�e dans le paragraphe pr�ec�edent. Les principales modi�cations concernent le
calcul des ensembles d'ancetres et la g�en�eration des cycles.
Les cha�nes minimales sont toujours d�ecrites par une fonction �r d�e�nie sur X.
Cependant, a�n d'�eviter la duplication des cycles cr�e�es, nous ne retiendrons que les
cha�nes minimales traversant exclusivement des sommets de Xr. Si pour un sommet
x donn�e, il n'existe pas de cha�ne minimale P (r; x) v�eri�ant cette condition, nous
poserons : �r(x) = ".
�A chaque �etape de l'algorithme glouton, un nouveau sommet est explor�e. En
�etudiant son voisinage, on peut atteindre trois types de sommets comme le montre
la �gure A.2 :
{ si dist(r; v) � dist(r; x) + w(fx; vg) alors v n'est pas encore explor�e. Puisque
[r; :::; �r(x); x; v] est une cha�ne minimale, l'ensemble ancetr(v) est compl�et�e par
les ancetres de x.
{ si dist(r; x) = dist(r; v) + w(fx; vg) et v 6= �r(x) alors fx; vg est une arete de
fermeture de cycle, relativement �a l'arbre recouvrant d�e�ni par �r. Un cycle
pair C = P (r; x) + P (r; v) + fx; vg est alors cr�e�e si les cha�nes ne contiennent
que des sommets de Xr et si ancetr(v) \ ancetr(�r(x)) = ?.
{ si dist(r; x) < dist(r; v)+w(fx; vg) un cycle impair peut alors etre cr�e�e suivant
les memes conditions (i.e. ancetr(v) \ ancetr(x) = ?).
232 Annexe A. Bases de cycles de taille minimale dans un graphe valu�e
sommets
explorésdéjà
(x)
x v1r
v3
v2
Cycle Pair
Cycle Impair rρ
Fig. A.2 { Exploration du sommet x lors d'un parcours glouton �a partir de r.
[Algorithme 2]
Pour tout r 2 X faire :
Initialiser �le(F); distS(r; r) 0; �r(r) r; ancetr(r) ?;
Pour tout v 2 X n (frg [ �(r)) Faire :
distS(r; v) = +1; �r(v) "; Ajout File(F; v; +1);
Pour tout v 2 �(r) Faire :
ancetr(v) fvg; distS(r; v) w(fr; vg); Ajout File(F; v; distS(r; v));
Si v 2 Xr Alors �r(v) r Sinon �r(v) " FinSi;
Tantque F \ Xr 6= ? Faire :
x Extraire Minimum File(F );
Pour tout v 2 �(x) Faire :
Si distS(r; v) � distS(r; x) + w(fx; vg) Alors :
Si distS(r; v) 6= distS(r; x) + w(fx; vg) Alors :
distS(r; v) distS(r; x) + w(fx; vg); �r(v) ";
Modi�er Priorit�e(F; v; distS(r; v)); ancetr(v) ?;
ancetr(v) ancetr(v) [ ancetr(x);
Si �r(x) 6= " et v 2 Xr Alors �r(v) x FinSi;
Sinon Si �r(x) 6= " et v 6= �r(x) et �r(v) 6= " Alors :
f v est d�ej�a explor�e et fx; vg est une arete de fermeture de cycle g
Si0BBBB@
( distS(r; v) + w(fx; vg) = distS(r; x) et
ancetr(v) \ ancetr(�r(x)) = ? ) fCycle Pairg
ou ( distS(r; v) + w(fx; vg) > distS(r; x) et
ancetr(v) \ ancetr(x) = ? ) fCycle Impairg
1CCCCA
Alors : Ajouter �a CI le cycle C = P (r; x) + P (r; v) + fx; vg;
A.3. Union des bases de cycles de taille minimale 233
Cet algorithme r�ealise simultan�ement trois calculs :
1. d�etermination d'une cha�ne minimale pour tout couple de sommets,
2. d�etermination des ensembles ((ancetr(x))),
3. cr�eation des cycles de CI .
Comme nous l'avons vu pr�ec�edemment, la premi�ere partie peut etre r�ealis�ee,
comme dans l'algorithme de Horton, en O(n3).
La seconde partie n�ecessiteO(P
r2Xmd(r) ) = O(m2) = O(nm �d(G)) op�erations,
o�u �d(G) d�esigne le degr�e moyen de G. Dans la troisi�eme partie, les cycles ne sont pas
�enum�er�es mais stock�es sous la forme d'un triplet r; x; v en supposant que la fonction
�r est conserv�ee pour tout sommet r du graphe. La complexit�e de cette �etape vaut
donc elle aussi O(P
r2X md(r) ).
La complexit�e du calcul de l'ensemble CI par notre variante est donc en O(m2 +
n3). Elle di��ere l�eg�erement de la complexit�e en O(m2) obtenue dans le chapitre 3
pour un graphe non valu�e. La di��erence entre ces deux r�esultats ne concerne que la
recherche des cha�nes minimales qui varie de O(n3) �a O(nm) suivant que le graphe
est valu�e ou non.
Nous ne reviendrons pas sur la comparaison entre notre m�ethode en O(nm �d(G))
et celle de Horton qui est en O(nm�(G)) pour la cr�eation de cycles �el�ementaires (cf.
page 65). Notre variante reste plus e�cace pour des graphes dont le degr�e moyen est
born�e. Quant �a la r�eduction du cardinal de CI par le biais des ((ancetres)), elle permet
le meme type d'am�eliorations que le graphe soit valu�e ou non.
A.3 Union des bases de cycles de taille minimale
Nous avons d�e�ni, dans le paragraphe 3.7.2, l'ensemble des cycles pertinents (not�e
CP) par l'union des bases de cycles de taille minimale.
L'ensemble CP est partitionn�e en un nombre polynomial (O(m2) ) de ((familles
de cycle)). Chaque famille F(Crp;q) est d�e�nie �a partir d'un cycle prototype Cr
p;q.
En reprenant les notations pr�ec�edentes, on suppose que ce cycle est compos�e de
deux cha�nes minimales [r; ::; p] et [r; ::; q] telles que dist(r; p) � dist(r; q) < 12w(Cr
p;q).
Ces cha�nes sont reli�ees par l'arete fp; qg lorsque Crp;q est impair ou par la cha�ne
minimale [p; x; q] si le cycle est pair (avec dist(r; x) = 12w(C
rp;q) ).
234 Annexe A. Bases de cycles de taille minimale dans un graphe valu�e
On d�esigne toujours par r le sommet de Crp;q tel que �(r) = minx2Cr
p;q�(x).
La famille F(Crp;q) est alors d�e�nie par :
F(Crp;q) =
8>><>>:C
0 2 CP
��������C 0 peut etre obtenu �a partir de Cr
p;q en rempla�cant
[r; :::; p] et [r; :::; q] par des cha�nes minimales �equivalentes
ne traversant que des sommets appartenant �a Vr
9>>=>>;
p,q
21
C’
rC
p
qr
q
p
rx
w( C21 r
p,q ) w( C )p,qr
Cycle Impair Cycle Pair
Tous les cycles de F(Crp;q) ne di��erent que par les cha�nes minimales P (r; p) et
P (r; q) qu'ils contiennent. Par ailleurs, on peut ais�ement v�eri�er le lemme suivant :
Lemme 3 �Etant donn�e un ordre � sur les sommets, il existe une unique partition
de CP en famille de cycles et tout cycle pertinent C appartient �a une et une
seule famille F(Crp;q).
Comme dans le cas d'un graphe non valu�e, on d�esigne par H(r; p) le sous-graphe
partiel de G engendr�e par l'union des cha�nes minimales de r �a p qui ne traversent
que des sommets de Vr.
Chaque famille F(Crp;q) est alors repr�esent�ee par le triplet (C
rp;q; H(r; p); H(r; q)).
Pour construire CP , nous devons trouver un prototype de chaque famille. Cet
ensemble de prototypes est extrait d'un ensemble initial C0
I construit de mani�ere
analogue �a l'ensemble CI du paragraphe pr�ec�edent.
Si l'ensemble C0
I contient un et un seul prototype de chaque famille, l'ensemble
des prototypes d�e�nissant toutes les familles de CP est alors �egal �a CP \ C0
I .
Cette propri�et�e n'est pas v�eri��ee pour l'ensemble CI . Consid�erons en e�et un
cycle pertinent Crp;q. Ce cycle doit etre construit lors de la recherche gloutonne issue
de r de l'algorithme 2. On peut alors distinguer trois cas :
� Si fp; qg existe (voir 1 ) alors elle constitue une arete de fermeture de cycle par
rapport �a l'arbre recouvrant induit par la fonction �r. Un prototype de F(Crp;q)
sera cr�e�e lors de l'exploration du dernier sommet explor�e parmi p et q.
A.3. Union des bases de cycles de taille minimale 235
� Si l'arete fp; qg n'existe pas, le cycle Crp;q est pair et contient un sommet x tel
que dist(r; x) = 12w(Cr
p;q) :� si toutes les cha�nes minimales de r �a x (incluses dans H(r; x)) traversent p
ou q, alors ou bien p = �r(x) ou bien q = �r(x). Donc un cycle de F(Crp;q)
doit etre cr�e�e puisque fq; xg, ou bien fp; xg, est une arete de fermeture de
cycle (cf. 2 ).
� sinon, il existe une cha�ne minimale (r; :::; p0; x), incluse dans H(r; x) tel
que p0 6= p et p0 6= q. Supposons que �r(x) soit �egal �a p0. Lors de l'explo-
ration de x, on cr�eera les deux cycles obtenus en associant l'arete fp0; xg
avec d'une part l'arete fq; xg et d'autre part l'arete fp; xg. Par contre,
puisque fq; xg et fp; xg sont toutes les deux des aretes de fermeture de
cycle, aucun cycle de la famille F(Crp;q) ne sera cr�e�e (voir 3 ).
21 3
p
q
r r
p
q
x p’
q
p
xr
Il faut donc modi�er l'algorithme 2 pour que C0
I int�egre un cycle de chaque famille.
Comme dans le chapitre 3, on d�e�nit l'ensemble des ((p�eres)) d'un sommet x par :
p�eresr(x) =
(z 2 �(x) \ Xr tels que
�����il existe au moins une cha�ne minimale
[r; :::; z; x] incluse dans H(r; x)
)
Un cycle est alors construit pour toute paire de sommets P , q appartenant �a p�eresr(x)
et tels que ancetr(p) \ ancetr(q) = ? et fp; qg 62 E.
Dans le section 3.7.5, nous avons pr�esent�e quelques m�ethodes permettant de d�e-
terminer le nombre de cycles pertinents �a partir de l'ensemble des cycles prototypes et
sans devoir �enum�erer tout CP. Ces m�ethodes restant valables dans le cas des graphes
valu�es, nous devons d�eterminer la fonction r sur laquelle elles s'appuient.
Rappelons que pour tout sommet x, r(x) d�esigne le nombre de cha�nes minimales
reliant r �a x en ne passant que par des sommets de Xr. La fonction r v�eri�e la
propri�et�e suivante :
8x 2 Xr; r(x) =X
z2 p�eresr(x)
r(z)
236 Annexe A. Bases de cycles de taille minimale dans un graphe valu�e
Nous pouvons maintenant pr�esenter l'algorithme construisant C0
I . Les principales
di��erences par rapport �a l'algorithme 2 concernent la g�en�eration des cycles et la
d�etermination des ensembles p�eresr et des fonctions �r.
[Algorithme 3]
Pour tout r 2 X Faire :
Initialiser �le(F); distS(r; r) 0; �r(r) r; ancetr(v) ?;
p�eresr(r) ?; r(r) 1;
Pour tout v 2 X n (frg [ �(r)) Faire :
distS(r; v) = +1; Ajout File(F; v; +1); p�eresr(v) ?
Pour tout v 2 �(r) Faire :
ancetr(v) fvg; distS(r; v) w(r; v); Ajout File(F; v; distS(r; v));
Si v 2 Xr Alors p�eresr(v) frg Sinon p�eresr(v) ? FinSi;
Tantque F \ Xr 6= ? Faire :
x Extraire Minimum File(F );
Si p�eresr(x) = ? Alors �r(x) " Sinon �r(x) un sommet de p�eresr(x);
r(x) P
z2p�eresr(x) r(z) ;
Pour tout v 2 �(x) Faire :
Si distS(r; v) � distS(r; x) + w(fx; vg) Alors :
Si distS(r; v) 6= distS(r; x) + w(fx; vg) Alors :
distS(r; v) distS(r; x) + w(fx; vg); Modi�er Priorit�e(F; v; distS(r; v));
p�eresr(v) ?; ancetr(v) ?;
ancetr(v) ancetr(v) [ ancetr(x);
Si �r(x) 6= " et v 2 Xr Alors p�eresr(v) p�eresr(v) [ fxg FinSi;
Sinon
Si
distS(r; v) + w(fx; vg) > distS(r; x) et �r(x) 6= "
et �r(v) 6= " et ancetr(v) \ ancetr(x) = ?)
!
Alors : Ajouter �a CI le cycle impair C = P (r; x) + P (r; v) + (x; v);
Pour toute paire de sommets p; q de p�eresr(x) tels que
( �r(p) 6= " et �r(q) 6= " et ancetr(p) \ ancetr(q) = ? )
Faire : Ajouter �a CI le cycle pair C = P (r; p) + P (r; q) + (p; x; q);
A.3. Union des bases de cycles de taille minimale 237
Comme pour un graphe non valu�e, le nombre de cycles impairs cr�e�es est inf�erieur
�a � n et le nombre de cycles pairs est major�e par la valeurP
r2XP
x2Xrd(x)2 qui est
inf�erieure �a m2 si l'ordre � v�eri�e : 8x; y 2 X; �(x) � �(y)) d(x) � d(y).
La complexit�e de l'algorithme 3 se d�eduit en partie de celle de l'algorithme 2 qui
est en O(m2 + n3). La principale augmentation concerne la g�en�eration des cycles
pairs. Un cycle pair est cr�e�e pour toute paire de sommets p; q 2 p�eresr(x) o�u x
est un sommet explor�e durant la recherche gloutonne issue de r. La complexit�e de
cette �etape se d�eduit du nombre de cycles cr�e�es (i.e. O(m2)) et du temps de calcul
n�ecessaire pour le test ancetr(p) \ ancetr(q) = ?, soit O(d(r)) � dmax. Si la fonction
�r est conserv�ee, les cycles peuvent etre m�emoris�es sous la forme d'un quadruplet
(r; p; q; x) sans qu'il soit n�ecessaire de les �enum�erer. On peut donc construire C0
I en
O(dmaxm2) op�erations.
Lemme 4 C0
I contient un et un seul prototype de chaque famille de cycles.
La d�emonstration de ce lemme est comparable �a celle pr�esent�ee dans le chapitre 3.
Elle repose sur le fait qu'une famille de cycles F(Crp;q) est parfaitement d�ecrite par
les trois sommets r, p et q si le cycle est impair ou par quatre sommets r, p, q et x
si Crp;q est pair. Or l'algorithme garantit la cr�eation d'un et un seul cycle pour une
telle combinaison de sommets, que le cycle correspondant soit pertinent ou non.
En ce qui concerne la recherche des cycles prototypes, elle consiste, comme dans le
cas de graphes non valu�es, �a d�eterminer l'ensembleC 2 CP \ C0
I . Ce calcul, consistant
�a parcourir C0
I par ordre croissant du poids des cycles, peut etre r�ealis�e en O(�m3)
(cf. page 92).
Quant �a l'�enum�eration de CP , �a partir de CP \ C0
I , elle est r�ealis�ee comme dans
le chapitre 3 en O(n jCP j).
238 Annexe A. Bases de cycles de taille minimale dans un graphe valu�e
R�EF�ERENCES BIBLIOGRAPHIQUES 239
R�ef�erences bibliographiques
[Allinger et al., 1975] N.L Allinger, M.P. Cava, D.C. De Jongh, C.R. Johnson, N.A. Lebel
et C.L. Stevens. Chimie Organique. Ediscience / McGraw-Hill, 1975.
[Bador et al., 1992] P. Bador, M.N. Surrel et J.P. Lardy. Les syst�emes informatiques de
recherche d'information sur les r�eactions chimiques et les syst�emes de synth�ese assist�ee
par ordinateur. New J. Chem., 16:413{423, 1992.
[Balducci et Pearlman, 1994] R. Balducci and R. S. Pearlman. E�cient exact solution of
the ring perception problem. J. Chem. Inf. Comput. Sci., 34(4):822{831, 1994.
[Baumer et al., 1991] L. Baumer, G. Sala and G. Sello. Ring perception in organic struc-
tures: A new algorithm for �nding SSSR. Computers Chem., 15(4):293{299, 1991.
[Berge, 1973] C. Berge. Graphes et Hypergraphes. Dunod, Paris, 1973.
[Bessi�ere et al., 1995] C. Bessi�ere, E.C. Freuder and J.-C. R�egin. Using inference to re-
duce arc consistency computation. In: IJCAI'95, Proceedings 14th International Joint
Conference on Arti�cial Intelligence, pp. 592{598, Montr�eal, 1995.
[Bessi�ere, 1994] C. Bessi�ere. Arc-consistency and arc-consistency again. Arti�cial Intelli-
gence, 65(1):179{190, 1994.
[Bouroche et Saporta, 1987] J.M. Bouroche et G. Saporta. L'analyse de donn�ees. PUF,
Paris, 1987.
[Brachman et al., 1983] R. J. Brachman, R. E. Fikes and H. J. Levesque. KRIPTON: a
functional approach to knowledge representation. Computer, 16:67{73, 1983.
[Brachman et al., 1991] R. J. Brachman, D. L. McGuiness, P. F. Patel-Schneider, L. A.
Resnick and A. Borgida. Living with CLASSIC: when and how to use KL-ONE-like
languages. In: Principles of semantic networks: explorations in the representation of
240 R�EF�ERENCES BIBLIOGRAPHIQUES
knowledge, J. Sowa, ed., chapter 14, pp. 401{456. Morgan Kaufmann, San Mateo, Ca-
lifornie, 1991.
[Brachman et Schmolze, 1985] R. J. Brachman and J. G. Schmolze. An overview of the
KL-ONE knowledge representation system. Cognitive Science, 9:171{216, 1985.
[Cahn et al., 1966] R.S. Cahn, C.K. Ingold and V. Prelog. Speci�cation of molecular
chirality. Angew. Chem. Int. Ed. Engl., 5:385{415, 1966.
[Carr�e et Geib, 1990] B. Carr�e et J-M Geib. The point of view notion for multiple inhe-
ritance. In: Proceedings of OOPSLA-ECOOP'90, pp. 312{321, Ottawa, Canada, 1990.
ACM SIGPLAN Notices.
[Cauchy, 1813] A. L. Cauchy. Recherche sur les poly�edres. J. Ecole Polytechnique,
9(16):68{86, 1813.
[Cayley, 1874] A. Cayley. On the mathematical theory of isomers. Philosophical Magazine,
47:444{447, 1874.
[Chailloux et al., 1986] J. Chailloux, M. Devin, F. Dupont, J-M. Hullot, B. Serpette et
J. Vuillemin. LE LISP, Manuel de r�ef�erence. INRIA, 1986.
[Chiba et al., 1985] N. Chiba, T. Nishizeki, S. Abe and T. Ozawa. A linear algorithm for
embedding planar graphs using PQ-trees. Journal of computer and system sciences,
30:54{76, 1985.
[Chiba et Nishizeki, 1985] N. Chiba and T. Nishizeki. Arboricity and subgraph listing
algorithms. SIAM J. Comput., 14:210{223, 1985.
[Corey et al., 1985] E. J. Corey, K. A. Long et S. D. Rubenstein. Computer-assisted
analysis in organic synthesis. Science, 228:408{418, 1985.
[Corey et Cheng, 1989] E. J. Corey and X.-M. Cheng. The logic of chemical synthesis.
Wiley-InterScience, New York, 1989.
[Corey et Petersson, 1972] E. J. Corey and G. A. Petersson. An algorithm for machine
perception of synthetically signi�ant rings in complex organic structures. J. Am. Chem.
Soc., 92(2):460{465, 1972.
[Corey et Wipke, 1969] E. J. Corey and W. T. Wipke. Computer-assisted analysis of
complex organic syntheses. Science, 166:178{192, 1969.
R�EF�ERENCES BIBLIOGRAPHIQUES 241
[Corey, 1967] E. J. Corey. General methods for the construction of complex molecules.
Pure & Appl. Chem., 14:19{37, 1967.
[Cormen et al., 1994] T. Cormen, C. Leiserson et R. Rivest. Introduction �a l'algorith-
mique. Dunod, Paris, 1994.
[Corneil et Gotlieb, 1971] D. G. Corneil and C. C. Gotlieb. An e�cient algorithm for
graph isomorphism. J. ACM, 17(1), 1971.
[Corneil et Kirkpatrick, 1980] D. G. Corneil and D. G. Kirkpatrick. A theoretical analysis
of various heuristics for the graph isomorphism problem. SIAM J. Comput., 9(2):281{
297, May 1980.
[Cribb et al., 1981] D.W. Cribb, R.D. Ringeisen and D.R. Shier. On cycle bases of a
graph. Congr. Numer., 32:221{229, 1981.
[Custer, 1986] R.H. Custer. Mathematical statements about the revised CIP-system.
match, 21:3{31, 1986.
[Davis, 1992] I.J. Davis. A fast radix sort. The Computer Journal, 35(6):636{642, 1992.
[Deo et al., 1982] N. Deo, G. M. Prabhu and M. S. Krishnamoorthy. Algorithms for
generating fundamental cycles in a graph. ACM Trans. Math. Software, 8:26{42, 1982.
[Dietz, 1995] A. Dietz. Yet another representation of molecular structure. J. Chem. Inf.
Comput. Sci., 35(5):787{802, 1995.
[Dijkstra, 1959] E. W. Dijkstra. A note on two problems in connection with graphs.
Numerische Mathematik, 1:269{271, 1959.
[Dixon et Goodman, 1976] E. T. Dixon and S. E. Goodman. An algorithm for the longest
cycle problem. Networks, 6:139{149, 1976.
[Dogane et al., 1992] I. Dogane, T. Takabatake et M. Bersohn. Computer-executed syn-
thesis planning, a progress report. Recl. Trav. Chim., Pays-Bas, 111:291{296, 1992.
[Downs et al., 1989a] G. M. Downs, V. J. Gillet, J. D. Holliday and M. F. Lynch. Re-
view of ring perception algorithms for chemical graphs. J. Chem. Inf. Comput. Sci.,
29(3):172{187, 1989.
242 R�EF�ERENCES BIBLIOGRAPHIQUES
[Downs et al., 1989b] G. M. Downs, V. J. Gillet, J. D. Holliday and M. F. Lynch. Theore-
tical aspects of ring perception and development of the Extended Set of Smallest Rings
concept. J. Chem. Inf. Comput. Sci., 29(3):187{206, 1989.
[Downs et al., 1989c] G. M. Downs, V. J. Gillet, J. D. Holliday and M. F. Lynch. Com-
puter storage and retrieval of generic chemical structures in patents. 9. An algorithm
to �nd the extended set of smallest rings in structurally explicit generics. J. Chem. Inf.
Comput. Sci., 29(3):207{214, 1989.
[Dubois et al., 1975] J.E. Dubois, D. Laurent, A. Panaye et Y. Sobel. Syst�eme Darc :
concept d'hyperstructure formelle. C. R. Acad. Sc. Paris, S�erie C - 851, 1975.
[Dubois, 1976] J.E. Dubois. Ordered chromatic graph and limited environment concept.
In: Chemical applications of graph theory, A.T. Balaban, ed., chapter 11, pp. 333{370.
Academic Press, 1976.
[Dubois, 1986] D. Dubois. La compr�ehension de phrases : Repr�esentations s�emantiques et
processus. Th�ese de doctorat d'�Etat, Universit�e Paris VIII, 1986.
[Ducournau et Habib, 1989] R. Ducournau et M. Habib. La multiplicit�e de l'h�eritage dans
les langages �a objets. Techniques et Sciences Informatiques, 8(1):41{62, 1989.
[Ducournau et Habib, 1991] R. Ducournau and M. Habib. Masking and con icts, or to
inheritis is not to own! In: Inheritance hierarchies in knowledge representation and
programming languages, M. Lenzerini, D. Nardi and M. Simi, ed. John Wiley & Sons
Ltd, Chichester, West Sussex, 1991.
[Ducournau, 1989] R. Ducournau. Y3. Langage �a objets, Manuel de r�ef�erence. Sema
Group, Montrouge, 1989.
[Elk, 1984] S. B. Elk. Derivation of the principle of smallest set of smallest rings from
Euler's polyhedron equation and a simpli�ed technique for �nding this set. J. Chem.
Inf. Comput. Sci., 24(4):203{206, 1984.
[Elk, 1985] S. B. Elk. Topologically di�erent models to be used as the basis for ring
compound taxonomy. J. Chem. Inf. Comput. Sci., 25(1):17{22, 1985.
[Euler, 1752] L. Euler. Elementa doctrinae solidorum. Novi. Comm. Acad. Sci. Imp.
Petropol., 4:109{140, 1752.
R�EF�ERENCES BIBLIOGRAPHIQUES 243
[Fan et al., 1993] B. T. Fan, A. Panaye, J-P. Doucet and A. Barbu. Ring perception. a
new algorithm for directly �nding the Smallest Set of Smallest Rings from a connection
table. J. Chem. Inf. Comput. Sci., 33(5):657{662, 1993.
[Ferber, 1989] J. Ferber. Objets et agents : une �etude des structures de repr�esentation et
de communications en Intelligence Arti�cielle. Th�ese de doctorat d'�Etat, Universit�e de
Paris 6, Juin 1989.
[Finin, 1986] T. W. Finin. Interactive classi�cation: a technique for acquiring and main-
taining knowledge bases. Proc. IEEE, 74:1414{1421, 1986.
[Fleischner et Woeginger, 1992] H. Fleischner and GJ Woeginger. Detecting cycles
through three �xed vertices in a graph. Inf. Process. Lett., 42(1):29{33, 1992.
[Floyd, 1962] R.W. Floyd. Algorithm 97 : shortest path. Comm. ACM, 5(6):345, 1962.
[Fredman et Tarjan, 1987] M. L. Fredman and R. E. Tarjan. Fibonacci heaps and their
uses in improved network optimization algorithms. J. ACM, 34(3):596{615, 1987.
[Fr�erejacque, 1939] M. Fr�erejacque. Condensation d'une mol�ecule organique. Bull. Soc.
Chim. Fr., (6):1008{1011, 1939.
[Fujita, 1987] S. Fujita. A new algorithm for selection of synthetically important rings :
the Essential Set of Essential Rings for organic structures. J. Chem. Inf. Comput. Sci.,
28(2):78{82, 1987.
[Garey et Johnson, 1979] M. R. Garey and D. S. Johnson. Computers and Intractability:
A guide to the theory of NP-completness. W. H. Freeman, San Francisco, 1979.
[Gascuel et Gu�enoche, 1990] O. Gascuel et A. Gu�enoche. Aspects de l'interface entre
symbolique et num�erique. In: Actes des 3�emes journ�ees du GRECO-PRC IA, pp. 91{
112, Paris, 1990. Herm�es.
[Gasser, 1991] L. Gasser. Social conceptions of knowledge and action: DAI foundations
and open systems semantics. Arti�cial Intelligence, 47:107{138, 1991.
[Gasteiger et al., 1992] J. Gasteiger, W.D. Ihlenfeldt et P. R�ose. A collection of computer
methods for synthesis design and reaction prediction. Recl. Trav. Chim., Pays-Bas,
111:270{290, 1992.
244 R�EF�ERENCES BIBLIOGRAPHIQUES
[Gasteiger et Jochum, 1979] J. Gasteiger and C. Jochum. An algorithm for the perception
of synthetically important rings. J. Chem. Inf. Comput. Sci., 19(1):43{48, 1979.
[Gelernter et al., 1973] H. Gelernter, N. S. Shridharan, A. J. Hart et S. C. Yen. The
discovery of organic synthesis routes by computer. Top. Curr. Chem., 41:113{150,
1973.
[Gelernter et al., 1990] H. Gelernter, J. R. Rose and C. Chen. Bulding and re�ning a
knowledge base for synthetic organic chemistry via the methodology of inductive and
deductive machine learning. J. Chem. Inf. Comput. Sci., 30(4):492{504, 1990.
[Gibbs, 1969] N. Gibbs. A cycle generation algorithm for �nite undirected linear graphs.
J. ACM, 16:564{568, 1969.
[Goldberg et Robson, 1983] A. Goldberg and D. Robson. Smalltalk-80, the language and
its implementation. Addison Wesley, Massachusetts, 1983.
[Guinaldo, 1995a] O. Guinaldo. Filtering and hashing techniques for the search for iso-
morphic conceptual graphs. In: Proc. 4th Workshop on Peirce and tools for Conceptual
Graphs, pp. 58{69, Santa Cruz, CA, USA, 1995.
[Guinaldo, 1995b] O. Guinaldo. Techniques d'indexation pour aider �a la classi�cation
dans le mod�ele des graphes conceptuels. In: Actes LMO'95, pp. 53{66, Nancy, 1995.
[Hall, 1989] R. P. Hall. Computational approaches to analogical reasoning: a comparative
analysis. Arti�cial Intelligence, 39:39{120, 1989.
[Hart et al., 1968] P. Hart, N.J. Nilsson et B. Raphael. A formal basis for the heuristic
determination of minimum cost paths. IEEE Trans. Systems Man Cybernet, 4:100{107,
1968.
[Hartvigsen et Mardon, 1991] D. Hartvigsen and R. Mardon. Cycle basis from orderings
and coverings. Discrete Mathematics, 94(2):81{94, 1991.
[Hartvigsen et Zemel, 1989] D. Hartvigsen and E. Zemel. Is every cycle basis fundamen-
tal? Journal of Graph Theory, 13(1):117{137, 1989.
[Haton et al., 1991] J.P. Haton, N. Bouzid, F. Charpillet, M.C. Haton, B. Laasri,
H. Laasri, P. Marquis, T. Mondot et A. Napoli. Le raisonnement en Intelligence Arti-
�cielle. InterEditions, Paris, 1991.
R�EF�ERENCES BIBLIOGRAPHIQUES 245
[Hendrickson et al., 1984] J. B. Hendrickson, D. L. Grier and A. G. Toczko. Condensed
structure identi�cation and ring perception. J. Chem. Inf. Comput. Sci., 24(4):195{203,
1984.
[Hendrickson et Parks, 1992] J. B. Hendrickson et C. A. Parks. A program for the forward
generation of synthetic routes. J. Chem. Inf. Comput. Sci., 32:209{215, 1992.
[Hendrickson, 1986] J. B. Hendrickson. Approaching the logic of synthesis design. Acc.
Chem. Res., 19:274{281, 1986.
[Hendrickson, 1990] J. B. Hendrickson. Organic synthesis in the age of computers. Angew.
Chem. Int. Ed. Engl.., 29:1286{1295, 1990.
[Holton et al., 1994] R.A Holton, C. Somoza, H.B. Kim, F. Liang, R.J. Biediger, P.D.
Boatman, M. Shindo, C.C. Smith, S. Kim, N. Nadizadeh, Y. Suzuki, C. Tao, P. Vu,
S. Tang, P. Zhang, K.K. Murthi, L.N. Gentile and J.H. Liu. First total synthesis of
taxol. J. Am. Chem. Soc., 116:1597{1600, 1994.
[Hopcroft et Wong, 1974] J. E. Hopcroft and J. K. Wong. Linear time algorithm for
isomorphism of planar graphs (preliminary report). In: Proc. 6th Ann. ACM Symp.
on Theory of Computing, pp. 172{184, New York, 1974. Association for Computing
Machinery.
[Horton, 1987] J. D. Horton. A polynomial-time algorithm to �nd the shortest cycle basis
of a graph. SIAM J. Comput., 16(2):358{366, 1987.
[Ireland, 1969] R. E. Ireland. Organic Synthesis. Prentice-Hall, Inc., N. J., 1969.
[Kirchho�, 1847] G. Kirchho�. �Uber die Au �osung der Gleichungen, auf welche man bei
der Untersuchung der linearen Verteilung galvanischer Str�ome gef�uhrt wird. Poggendorf
Ann. Physik, 72:497{508, 1847. English translation in Trans. Inst. Radio Engrs., CT-
5:4{7, 1958.
[Konstantinova et Skorobogatov, 1995] E. V. Konstantinova et V. A. Skorobogatov. Mo-
lecular hypergraphs: The new representation of nonclassical molecular structures with
polycentric delocalized bonds. J. Chem. Inf. Comput. Sci., 35:472{478, 1995.
[Lauren�co et al., 1990] C. Lauren�co, M. Py, A. Napoli, J. Quinqueton et B. Castro. Re-
pr�esentation de connaissance en synth�ese organique �a l'aide d'un langage �a objets. New
J. Chem., 14(12):921{931, 1990.
246 R�EF�ERENCES BIBLIOGRAPHIQUES
[Lauren�co, 1985] C. Lauren�co. Synth�ese Organique Assist�ee par Ordinateur. Th�ese de
doctorat d'�Etat, Universit�e Louis Pasteur (Strasbourg I), Septembre 1985.
[Lauri�ere, 1986] J-L. Lauri�ere. Intelligence Arti�cielle : r�esolution de probl�emes par
l'Homme et la machine. Eyrolles, Paris, 1986.
[Leach et al., 1990] A. R. Leach, D. P. Dolata and K. Prout. Automated conformational
analysis and structure generation: Algorithms for molecular perception. J. Chem. Inf.
Comput. Sci., 30(3):316{324, 1990.
[Levesque et Brachman, 1987] H. J. Levesque and R. J. Brachman. Expressiveness and
tractability in knowledge representation and reasoning. Computational Intelligence,
3:78{93, 1987.
[Levinson, 1985] R. A. Levinson. A self-organizing retrievial system for graphs. PhD
thesis, University of Texas, Austin, 1985.
[Levinson, 1992] R. A. Levinson. Pattern associativity and retrievial of semantic networks.
Computers Math. Applic., 23(6-9):573{600, 1992.
[Lipkis, 1982] T. A. Lipkis. A KL-ONE classi�er. In: Proc. of the 1981 KL-ONE workshop,
pp. 128{145, 1982.
[Luks, 1982] E. Luks. Isomorphism of graphs of bounded valence can be tested in poly-
nomial time. Journal of Computer and System Science, 25:42{65, 1982.
[Mari~no Drews, 1993] O. Mari~no Drews. Raisonnement classi�catoire dans une repr�esen-
tation �a objets multi-points de vue. Th�ese de doctorat, Universit�e Grenoble I, 1993.
[Masini et al., 1989] G. Masini, A. Napoli, D. Colnet, D. L�eonard et K. Tombre. Les
langages �a objets. InterEditions, Paris, 1989.
[Mateti et Deo, 1975] P. Mateti and N. Deo. On algorithms for enumerating all circuits
of a graph. SIAM J. Comput., 5:90{101, 1975.
[McGregor, 1979] J.J. McGregor. Relational consistency algorithms and their application
in �nding subgraph and graph isomorphisms. Information Science, 19:229{250, 1979.
[McGregor, 1988] R. McGregor. A deductive pattern matcher. In: Proc. 7th AAAI'88,
pp. 403{408, St. Paul, Minnesota, 1988.
R�EF�ERENCES BIBLIOGRAPHIQUES 247
[Michalski et al., 1983] R. S. Michalski, J. G. Carbonell and T. M. Mitchell, ed. Machine
learning: an Arti�cial Intelligence approach. Tioga Publ. Comp., Palo Alto, Californie,
1983.
[Michalski et al., 1986] R. S. Michalski, J. G. Carbonell and T. M. Mitchell, ed. Machine
learning: an Arti�cial Intelligence approach (volume II). Morgan Kaufmann, Los Altos,
Californie, 1986.
[Minsky, 1975] M. Minsky. A framework for representing knowledge. In: The psychology
of computer vision, P. Winston, ed., pp. 211{281. MacGraw-Hill, New York, 1975.
[Minsky, 1988] M. Minsky. La soci�et�e de l'esprit. InterEditions, Paris, 1988.
[Napoli, 1992] A. Napoli. Repr�esentations �a objets et raisonnement par classi�cation en
intelligence arti�cielle. Th�ese de doctorat d'�Etat, Universit�e Nancy I, janvier 1992.
[Nebel, 1988] B. Nebel. Computational complexity of terminological reasoning in BACK.
Arti�cial intelligence, 34:371{383, 1988.
[Ott et Noordik, 1992] M.A. Ott et J.H. Noordik. Computer tools for reaction retrieval
and synthesis planning in organic chemistry. A brief review of their history, methods,
and programs. Recl. Trav. Chim., Pays-Bas, 111:239{246, 1992.
[Paoloni, 1985] L. Paoloni. La repr�esentation des mol�ecules en chimie : une image de la
r�ealit�e ou la r�ealit�e d'une image? L'Actualit�e Chimique, 47{52, 1985.
[Paton, 1969] K. Paton. An algorithm for �nding a fundamental set of cycles of a graph.
Comm. ACM, 12:514{518, 1969.
[Plotkin, 1971] M. Plotkin. Mathematical basis of ring-�nding algorithms in CIDS. J.
Chem. Doc., 11:60{63, 1971.
[Prelog et Helmchen, 1982] V. Prelog et G. Helmchen. Basic principles of the CIP-system
and proposal for a revision. Angew. Chem. Int. Ed. Engl., 21:567{583, 1982.
[Py, 1992] M. Py. Un agent rationnel pour raisonner par analogie. Th�ese de doctorat,
Universit�e Montpellier II, novembre 1992.
[Read et Corneil, 1977] R. C. Read and D. G. Corneil. The graph isomorphism disease.
Journal of Graph Theory, 1:339{363, 1977.
248 R�EF�ERENCES BIBLIOGRAPHIQUES
[Read et Tarjan, 1975] R. C. Read and R. E. Tarjan. Bounds on backtrack algorithms for
listing cycles, paths and spanning trees. Networks, 5:237{252, 1975.
[Rechenmann, 1988] F. Rechenmann. SHIRKA : syst�eme de gestion de bases de connais-
sances centr�ees-objet, manuel de r�ef�erence. INRIA / ARTEMIS, Grenoble, 1988.
[R�egin, 1994] J.-C. R�egin. a �ltering algorithm for constraints of di�erence in CSPs. In:
Proc. 12th AAAI'94, pp. 362{367, Seattle, Washington, 1994.
[R�egin, 1995] J.-C. R�egin. D�eveloppement d'outils algorithmiques pour l'Intelligence Arti-
�cielle et application �a la chimie organique. Th�ese de doctorat, Universit�e Montpellier
II, D�ecembre 1995.
[Richards, 1986] D. Richards. Finding short cycles in planar graphs using separators.
Journal of Algorithms, 7:382{394, 1986.
[Roch, 1977] E. Roch. Human categorization. In: Studies in Cross-Cultural Psychology,
Warren, ed., volume 1. Academic Press, New York, 1977.
[Roos-Kozel et Jorgensen, 1981] B. L. Roos-Kozel and W. L. Jorgensen. Computer-
assisted mechanistic evaluation of organic reactions. 2. perception of rings, aromaticity
and tautomers. J. Chem. Inf. Comput. Sci., 21:101{111, 1981.
[Rossazza, 1990] J.P. Rossazza. Utilisation de hi�erarchies de classes oues pour la repr�e-
sentation de connaissances impr�ecises et sujettes �a exceptions ; le syst�eme SORCIER.
Th�ese de doctorat, Universite Paul Sabatier, Toulouse, 1990.
[Saucier, 1971] G. Saucier. Un algorithme e�cace recherchant l'isomorphisme de 2
graphes. R.I.R.O., R-3:39{51, 1971.
[Schank, 1982] R. Schank. Dynamic memory : A theory of reminding and learning in
Computers an People. Cambridge University Press, Cambridge, 1982.
[Shelley, 1983] C. Shelley. Heuristic approach for displaying chemical structures. J. Chem.
Inf. Comput. Sci., 23:61{65, 1983.
[Sorkau, 1985] E. Sorkau. Ringerkennung in chemischen Strukturen mit dem Computer.
Wiss. Z. Tech. Hochsch. Leuna-Meuseburg, 27:765{770, 1985.
[Sowa, 1984] J. F. Sowa. Conceptual structures information processing in mind and ma-
chine. Addison-Wesley, Massachusetts, 1984.
R�EF�ERENCES BIBLIOGRAPHIQUES 249
[Syslo, 1979] A. A. Syslo. On cycle bases of a graph. Networks, 9:123{132, 1979.
[Syslo, 1981] A. A. Syslo. An e�cient cycle vector space algorithm for listing all cycles of
a planar graph. SIAM Journal on Computing, 10:797{808, 1981.
[Takahashi, 1994] Y. Takahashi. Automatic extraction of ring substructures from a che-
mical structure. J. Chem. Inf. Comput. Sci., 34(1):167{170, 1994.
[Tarjan, 1972] R. E. Tarjan. Depth-�rst search and linear graph algorithms. SIAM J.
Comput., 1:146{160, 1972.
[Tarjan, 1977] R. E. Tarjan. Graph algorithms in chemical computation. In: Algorithms
for Chemical Computations, R.E. Christo�erson, ed., volume 46, pp. 1{20. Am. Chem.
Soc. Symposium Series, 1977.
[Tierman, 1970] J. Tierman. An e�cient search algorithm to �nd the elementary circuits
of a graph. Comm. ACM, 13:722{726, 1970.
[Tsang, 1993] E. Tsang. Foundations of Constraint Satisfaction. Academic Press, 1993.
[Tutte, 1960] W. T. Tutte. An algorithm for determining whether a given binary matroid
is graphic. Proc. Amer. Math. Soc., 11:905{917, 1960.
[Ugi et al., 1994] I. Ugi, J. Bauer, C. Blomberger, J. Brandt, A. Dietz, E. Fontain, B. Gru-
ber, A. Von Scholley-Pfab, A. Sen� et N. Stein. Models, concepts, theories and formal
languages in chemistry and their use as a basis for computer assistance in chemistry. J.
Chem. Inf. Comput. Sci., 34:3{16, 1994.
[Welch, 1966] J. Welch. A mechanical analysis of the cyclic structure of undirected linear
graphs. J. ACM, 13:205{210, 1966.
[Whitney, 1935] H. Whitney. On the abstract properties of linear dependence. Am. J.
Math., 57:509{533, 1935.
[Wilcox et Levinson, 1986] C. S. Wilcox and R. A. Levinson. A self-organized knowledge
base for recall, desing, and discovery in organic chemistry. In: Arti�cial Intelligence
Applications in Chemistry, T. H. Pearce and B. A. Holme, ed., pp. 209{230. American
Chemical Society, 1986.
250 R�EF�ERENCES BIBLIOGRAPHIQUES
[Wipke et al., 1977] W. T. Wipke, H. Braun, G. Smith, F. Choplin and W. Sieber. SECS-
similation and evaluation of chemical synthesis: Strategy and planning. In: Computer-
Assisted Organic Synthesis, W.T. Wipke and W.J. Howe, ed., 61, pp. 97{127. ACS
Symposium, 1977.
[Wipke et Dyott, 1975] W. T. Wipke and T. M. Dyott. Use of ring assemblies in a ring
perception algorithm. J. Chem. Inf. Comput. Sci., 15(3):140{147, 1975.
[Wipke, 1974] W. T. Wipke. Computer-assisted three-dimentional synthetic analysis. In:
Computer Representation and Manipulation of Chemical Information, W. T. Wipke, S.
R. Heller, R. J. Feldmann and E. Hyde, ed., pp. 147{174. Wiley, New York, 1974.
[Zamora, 1976] A. Zamora. An algorithm for �nding the smallest set of smallest rings. J.
Chem. Inf. Comput. Sci., 16:40{43, 1976.
[Zas, 1990] E. Zas. A user's view of chemical reaction information sources. J. Chem. Inf.
Comput. Sci., 30:360{372, 1990.
251
Index des d�e�nitions
�(x), 7
dist(x; y), 8
�, 45
d(x), 7
dmax, 7
CP , 85
appariements, 184
dirig�es, 211
arbre, 9
base de cycles
fondamentale, 48, 50, 51
minimale, 51, 52
taille, 51
centralit�e
d'une arete, 132
cha�ne, 8
�el�ementaire, 8
carbon�ee, 117
simple, 8
chemin, 8
circuit, 9
composante
2-aretes-connexe, 10
2-connexe, 10
connexe, 9
contexte d'une transformation, 34, 190
corde, 9
cycles, 8
�el�ementaires, 9
base, 48, 51, 52, 76
condens�es, 101
corde, 9
espace vectoriel associ�e, 44
fondamentaux, 48
isol�es, 101
pertinents, 82
pont�es, 101
spiraniques, 101
SSSR, 52
espace vectoriel associ�e aux cycles, 44
dimension, 45
graphe, 7
2-aretes-connexe, 10
connexe, 9
degr�e maximal, 7
des cycles pertinents, 105
diam�etre, 8
k-connexe, 9
mol�eculaire, 16
partiel, 8
planaire, 10
252 INDEX DES D�EFINITIONS
sous-graphe, 8
h�et�eroatome, 114
isthme, 10
lien
de cycle, 119
h�et�eroatomique, 117
nombre cyclomatique, 45
objectif d'une transformation, 33, 187
point d'articulation, 9
pr�ed�ecesseurs imm�ediats, 176
r�etrosynth�ese, 25
sommet
degr�e, 7
pendant, 116
successeurs, 7
voisins, 7
subsomption, 174
entre appariements, 189
graphes, 175, 184
successeurs imm�ediats, 176
transformation, 26, 33