Travail d'Etude et de Reherhe :
Le Problème des fusiliers
Auteurs
Fulonis Angélique
Benouali Hamine
Bouhlel Oualid
Casanova Pierre
Enadrants
Verel Sébastien
Clergue Manuel
Le 23mai2008
1 Présentation générale du problème 2
1.1 Sujet . . . 2
1.1.1 Problématique. . . 2
1.1.2 Desriptiondu sujet . . . 3
1.1.3 Dénitions des automates ellulaires . . . 3
1.1.4 Finalités . . . 4
1.2 Etat de l'art . . . 4
1.3 Gestiondu projet . . . 7
1.3.1 Planning . . . 7
1.3.2 Problèmes renontrés . . . 7
1.3.3 Autres travaux réalisés . . . 7
2 Desription de l'étude : Les diérentes approhes 8 2.1 Algorithmeà solutionunique . . . 8
2.1.1 Prinipe . . . 8
2.1.2 Environnement etAlgoritmes . . . 10
2.1.3 Algorithmes . . . 12
2.1.4 Résultatsexpérimentaux . . . 14
2.1.5 Analyse omparatif de diérentsalgorithmes . . . 20
2.2 Algorithmeévolutionnaire . . . 21
2.2.1 Prinipe . . . 21
2.2.2 Dénitions . . . 21
2.2.3 Environnement etalgorithme . . . 24
2.2.4 Implémentation . . . 24
2.2.5 Résultats . . . 25
2.3 Baktraking . . . 27
2.3.1 Prinipe . . . 27
2.3.2 Algorithme . . . 27
2.3.3 Implémentation . . . 29
2.3.4 Résultats . . . 30
2.3.5 Pistes explorées . . . 30
2.3.6 Statistiques obtenus . . . 32
2.4 Approhe par signaux . . . 34
2.4.2 Formes aratéristiquesattendues pour leproblème des fusiliers: . . . . 37
2.5 Approhes ombinées . . . 38
2.5.1 Combinaisonave lebaktraking . . . 38
2.5.2 Algorithmeévolutionnaireet reherhe tabou . . . 39
2.5.3 Résultats . . . 39
3 Conlusion 40 3.1 Perspetives . . . 40
3.2 Intérêts du TER . . . 40
Noustenons àremerier nos enadrants M. VERELetM. CLERGUE,quinous ont aueillide
nombreuses fois dans leur bureau. Le temps qu'ils nous ont onsaré et nos disussions sur le
sujet nous ontaidé ànous orienter dans la résolution du problème.
Présentation générale du problème
Ce hapitre donne les dénitions du problème lui-même et des onepts sur lesquels il repose,
l'état de l'art à son sujet etl'exposé du travail demandé.
1.1 Sujet
Dansettepremière partienousdétaillonslaproblématiqueetlesujetetdonnons lesdénitions
fondamentales.
1.1.1 Problématique
Ononstatel'essorgrandissantdenouveauxtypesd'ordinateur:lesmahinesditesparallèlesqui
possèdent plusieurs proesseurs et une ou plusieurs mémoires. Il existe aujourd'hui une grande
diversité de parallélismes pour lesquels beauoup de travaux restent à faire.Ce projet onerne
un type partiulier de parallélisme : les automates ellulaires qu'avait inventé Von Neumann à
la n des années40. L'autommateellulaire est un modèle pertinent pour l'étudedes mahines
parallèles. En eet, il présente des atouts non négligeable:
•
le nombre importantde proesseurs mis en parallèle.•
son fontionnement synhrone qui permet de visualisersimplement laprogression des al- uls.Le problème de la synhronisation d'une ligne de fusiliers est une manière d'aborder la pro-
grammation d'ordinateur massivement parallèle à fontionnement synhrone. Ce TER permet
en réalitéde s'intéresser à ertaines problématiques:
•
la déouverte d'une méthode de synhronisation de mahines ommuniquant de manière loale,•
déouverte quisefaitdemanièreautomatique:possibilitédedéterminerautomatiquement des protooles de ommuniation loaux,•
étude de lafaisabilitésur un modèle simple et universel de mahinesparallèles: l'auto- mate ellulaire.Il s'agit de résoudre un problème lassique de synhronisation dans le domaine des automates
ellulaires (AC), proposé par J.Mihillen 1957 : omment synhroniser une ligne de fusiliers de
façon à e qu'ils se mettent à tirer ensemble, alors que l'ordre donné par le général depuis l'un
des deux bords de l'esadron met un ertain tempsà se propager?
Chaque fusilier est représenté par une ellule d'un automate ellulaire. Celles-i peuvent être
dans un nombre ni d'états parmi lesquels on trouve les états : repos (ou quiesent) , général
(1), feu oudans l'un des états intermédiaires.
Quelquesoitlenombred'états,leproblèmeonsisteàtrouverdesrèglesdetransitionpermettant
lasynhronisationdesellulesdanslemêmeétatfeu.Ces règlesd'inférene,dénissantl'état
futur de la ellule, sont de tailles 3, i.e. le voisinage de haque ellule ontient ette même
ellule ainsi que elle qui est à sa droite et elle qui est à sa gauhe (qui peuvent orrespondre
aux extrémités). Le but du problème est de trouver les règles de transitionqui vont permettre
d'obtenir une onguration dans laquelle toutes les ellules se trouvent ensemble et pour la
première fois dans l'état feu. Une solution est optimale quand le temps de synhronisation est
minimal,'est à dire
2n − 2
pour un automate àn
ellules.1.1.3 Dénitions des automates ellulaires
Les automates ellulaires sont à la fois un modèle de système dynamique disret et un modèle
de alul. Un automate ellulaire onsiste en une grille régulière de ellules pouvant haune
prendre à un instant donné un état parmi un ensemble ni. Le temps est également disret et
l'état d'une ellule autemps
t + 1
est fontionde l'état autempst
d'un nombre ni de ellulesappeléson voisinage.
On appelleAutomate Cellulaire Linéaire Fini (ACLiF) tout doublet
A =< Q , δ >
,où :• Q
est un ensembleni d'états, dans lequel les plus importantes sont :q l : ditétat latent, quiesent oude repos.
q i :dit état initial,départ ougénéral (ar il donnel'ordre).
q f : ditétat de feu oude synhronisation.
Remarque : On utiliserapar la suite un état appelé état de bord :
q b ∈ Q /
(seul état dusystème que l'on onsidèrera ommen'étant pas interne).
• δ
est appeléfontion de transitionloale et vérie :δ : Q ∪ q b × Q × Q ∪ q b → Q
•
On impose que l'étatq l vérie laondition :
δ(q b , q l , q l ) = δ(q l , q l , q l ) = δ(q l , q l , q b ) = q l
Une ligne de n automates ellulaires (ACLiF), notée
A n, est onstituée par n mahines A
numérotées de
1
àn
. Une ligne est appelée automate ellulaireni de longueur n.Dénition Uneonguration d'un ACLiF de longueur
n
est une fontion :C n : [1, n] → Q
Dénition On appelle fontion de transition globale, la fontion induite par la fontion de
transitionloale
δ
surQ ⋆ = S ∞
i=1 Q i
:∆ : Q ⋆ → Q ⋆
1.1.4 Finalités
Ce problème qui jusqu'à présent a été étudié à la main, nous nous proposons de l'aborder de
toute autre manière en développant des méthodes qui permettront de reherher des solutions
de façon automatique. Ce qui nous amènera aux nalitéssuivantes :
•
l'analyse omparative des diérentes méthodes existantes pour traiter e genre de pro-blèmes,
•
ledéveloppementdenouveaux algorithmesderésolutiondu problèmedesfusiliersde façon générale et plus partiulièrementpour inq états (en temps minimal),•
lamise en plae d'une page web permettant de visualiser lesrésultats obtenus,•
la réation d'une bibliothèque d'algorithmesqui s'appliquent à la résolution du problème des fusiliersà p état,•
nalité pédagogique : apprendre les méthodes d'optimisation stohastique (métaheuris- tiques) et aborder un problème fondamentaldes systèmes dynamiquesdisrets,•
la résolution du problème pour six états si l'état d'avanement dans le planning nous le permet.1.2 Etat de l'art
Cette partie présente lesétudes préédentes ainsi que leprestations demandées.
En1957J.MyhillinventaleproblémeditFiringsquad(Lignede fusiliers)mais e n'estqu'en
1964 que E.F Moore publia le probléme des fusiliers:
Soit un
A n un ACLiF de taillen
donttoutes lesellulessont dansl'état quiesent àl'exep-
tion de laelluled'index1qui est dansl'état général.Trouverunefontion de transitionglobale
telle que toutes les ellules rentrent dans l'état "feu" pour la première fois et simultanément.
Cette fontion de transition globale doit permettre la synhronisation pour tout
n
. Le nombred'itérationsoptimal pour optenirlasynhronisation est
n − 2
,letemps pour l'informationde seUn anplus tardMinsky etM Carthy résolvente problèmeave laméthode Diviser pour
régnerave une omplexitéen tempsde
3n
.Lapremièresolutionnonpubliéeen tempsoptimalfutdéouverte parE.Goto.L'automateom-
portait plusieursmilliers d'états.
Puis en 1967 Waksman et Balzerdéouvrirent parallèlement une solution optimale: l'une pour
16 états etl'autre pour 8 états.
Plus tard Balzerréussit àmontrer que pour 4 états leproblème n'avaitpas de solution.
Puis en 1986, Mazoyer trouva une solution en temps minimalpour 6états[MAZ87℄.
En1993 Yunes aégalement eetuéplusieurs travaux: en temps quelonque, il adémontré que
pour 3états il n'ya pas de solutionet qu'ily en apour 7 et8 états[Yun93℄.
Fig. 1.1 Lasolution de Mazoyerà 6 états.
Réapitulatif :
3 états Pasde solutionBalzer Pas de solutionYunes
4 états Pasde solutionBalzer Ouvert
5 états Ouvert Ouvert
6 états Uneseule solution Mazoyer Ouvert
7 états SolutionMazoyer SolutionYunes
8 états SolutionBalzer-Mazoyer SolutionYunes
Jusqu'à présent, les solutionsont été trouvées àla main.
Enn en 2007, Mirela Frandes a également travaillé sur e problème en utilisant une nouvelle
approhe, etobtenulasynhronisation des
n
fusiliersave 5 étatspourn
entre 2et 15en tempsnon optimal.
Pour 5états, leproblème reste ouvert : auune solutionn'a été trouvée que e soiten temps
optimalounon.C'estlaraisonpourlaquelle'est àe as partiulierquenousnous intéressons.
Nousassignons àhaqueétat uneouleurquiluiserapropreetparlaquelleilsera représenté
sur les diagrammes espae-temps :
•
le blanpour l'état 0(quisent),•
le bleu pour l'état 1(repos),•
le jaune pour l'état 2,•
le vert pour l'état 3,•
et lerouge pour l'état 4 (feu).Nature de prestations demandées
Au ours du TER, nous nous emploieronsà réaliserles tâhes suivantes :
•
analyseomparativedesdiérentes stratégiespour traitere genredeproblème.Lebutestde développeretd'analyserlesdiérentes approhes.On devra ompareres approhes de
façon statistique sur la base d'un éhantillon signiatif d'expérimentations, en fontion
des résultatsqu'elles auront obtenu,mais aussi en fontion de leur failité de oneption.
Celles-isontdétailléesdans lasetionsuivante. Pour ela,il est néessaire d'implémenter
lesalgorithmes et de omparer les résultatsobtenus,
•
mise en plaed'une page web permettantde visualiserles résultatsobtenus,•
réationd'une arhive d'algorithmesqui s'appliquent auproblèmes des fusiliers àp
états.Nousavonséquilibréletempsallouéaudéveloppementetàl'expérimentationdehaqueapprohe
demaniéreàequeleséhantillonsdestatistiquedontnousdisposonspermettentdelesomparer
eaement.
1.3.1 Planning
La mise en oeuvre et l'expérimentation des diérentes approhes ont été réalisées, ainsi que le
site web.
Nous avons respeté les limites en ne onsarant pas trop de temps à développer une seule
approhe. Nousnoussommestenuassez rigoureusementà notreplaningaudétailprêt quenous
avons onsaré plus de temps que prévu à l'approhe ombinée et ausite internet.
1.3.2 Problèmes renontrés
Pour les approhes par métaheuristique il fallu se familiariser ave les librairies paridiseo et
trouverunestruture dedonnée satisfaisante,quipermettedeparourir eaementl'espaede
reherhe. Ilaéténéessairederedénirertaineslassesontenues dansleslibrairiesand'amé-
liorer l'eaité de la fontion d'évaluation.Nous avons renontré des diultés pour résoudre
les problèmes de segmentation fault. Nous avons utilisé un debugger gdb ave la ommande
"bt" et supprimé de nombreux appels réursifs qui sont mal gérés en ++ pour résoudre es
problèmes.
Un autre problème a été l'espae mémoire. Pour palier elui-i, nous avons rajouté des "de-
letes",mais le temps d'exéution a doublé pour n allant de 2 à 12 (1220 au lieu de 778). Pour
éviter la réation et suppression des tableaux trop fréquentes qui font perdre du temps, nous
avons don modié l'implémentation de la pile : au lieu d'avoir un "stak" de tableau, nous
avons un tableau à deux dimensions (96 orrespond au nombre de règles et 5 orrespond aux
trois nombres formant larègle, à la valeur attribuée àla règle et au "n" oùla règle a été rée).
Cette nouvelle implémentation nous permet de savoir ombien de règles sont utilisées et par
rapport à l'anienne version, nous avons une trae de la pile et nous onnaissons don l'ordre
d'apparition des règles.
1.3.3 Autres travaux réalisés
Nous avons rée un site internet sur lequel nous stokons tous les résultats obtenus.Ainsi la
visulisationdes résultatsest plus évidente.
Desription de l'étude : Les diérentes
approhes
Dans leadre de e TER, quatre approhes de résolution ont été envisagées :
2.1 Algorithme à solution unique
2.1.1 Prinipe
Lesmétaheuristiquesàbasedesolutionuniquesontdesalgorithmesdereherhe stohastiquede
voisinage. Ils partent d'une solution initiale (générée aléatoirement),puis itérativement, substi-
tuentlasolutionouranteparune autresolutiondu voisinage,leplus souventmeilleure,jusqu'à
e qu'un ritèred'arrêt soitvérié.
Il existe plusieurstypesde métaheuristique àbase de solutionunique telle queleHill Climbing,
la Reherhe Tabouet leReuit Simulé.
Nous dénissons maintenantle prinipe de haque algorithmes.
Hill Climbing
Hill Climbing est une tehnique de reherhe qui appartient à la famille des métaheuristiques
de reherhe loale. Cette tehnique onsiste à séletionner une solution aléatoire au départ
(ongurationinitiale)etpoursuivrelareherhe en ranantettesolutionréursivement. Áun
ertainpointl'algorithmen'arrivepas àfairedes améliorations,àe momentl'algorithmeutilise
une lassd'équivalenequipermetd'aeptédes solutionsde mêmeperformane quelasolution
ourante en espérant de trouverune solution meilleurultérieurement.
Cette tehnique d'exploration permet de progressé dans espae de reherhe palliépar pallié.
Le hill-limbing est limitée par les maximums loaux mais il est souvent utilisé à ause de son
eaité.
Lareherhetabou[4℄estuneméthodedereherheloaleavanéequifaitappelàunensemblede
règlesetdeméanismesgénérauxpourguiderlareherhe verslessolutionsleplusprometteuses.
Unélémentfondamentaldelareherhetabouestl'utilisationd'unemémoire(listetabou)àourt
terme, qui gardeune ertaine trae des dernières opérations éfeetués.
Cette listepermet d'empêher les bloages dans les minima loaux en interdisant de passer
à nouveau sur des ongurations de l'espae de reherhe préédemment visitées.
Fig. 2.1eetuée un mouvement
Fig. 2.2 interdireun mouvement déjàeetué pendantun nombre d'itérations
Si on passe d'une onguration s à une onguration s il faut interdire e mouvement. Il
sera don taboupendant un ertain nombre d'itérations.
La durée de ette interdition s'appelée longueur tabou (K), est l'un des paramètres impor-
tantsde ette métaheuristique. Elleest liéeà lanaturedu problème. Sisavaleur est trop élevée
alors des solutions non visitées seront inaessibles et la apaité de la méthode à exploiter le
voisinageseraréduite.Inversement,sisavaleur esttrop faiblealors laméthode risquefortement
d'être bloquée dans un minimum loal. La longueur tabou permet don d'éviter tous les yles
de longueur inférieureou égale àk.
La méthode du reuit simulé est inspiré de la physique des matériaux et plus spéialement de
lamétallurgie.Le reuitest une opérationonsistant àlaisserrefroidir lentementun métal pour
améliorer ses qualités. L'idée physique est qu'un refroidissement trop brutal peut bloquer le
métal dans un état peu favorable (alors qu'un refroidissement lent permettra aux moléules de
s'agener au mieux dans une onguration stable). C'est ette même idée qui est à la base du
reuitsimulé. Pour éviter quel'algorithmenereste pas piégédansdes minimaloaux, onfaiten
sorte que latempératureT =T(n) déroisse lentement en fontion du temps.
2.1.2 Environnement et Algoritmes
Dans ette setionnous dénissons les notions de base pour les méthodes métaheuristiques .
Fontion objetif
Pour omparer, en termes de qualité, deux ongurations s et s' de S, on dénit une fontion
de oût(tness),qui est en faitune relation d'ordresur S.
Soit Eval(s), est la fontion d'évaluation d'une solution. Cette fontion permet de donné la
taillede l'automate synhroniser en apliquentla solutions.
Pour mieux omprendre ette fontion nous proposons lexemple suivant:
Soit S une solution et b=Eval(S). Il faut que le nombre de ellules (fusiliers) à l'état feu
obtenu en appliquantla solutionsur une ligne de fusiliersde taillei, égaleà i en temps optimal
(2N-2) pour ide 1à 5.
dénition du voisinage
Pour parourir le bon espae de reherhe de problème de fusiliers, on à dénie un ensemble
de voisinage qui est représenté par un tableau a deux dimensions de tailles égale aux nombre
des Règles possible(216)etle nombre d'états.Cette struture permet d'interdire ouautoriserun
ou plusieurs états pour une règle donnée. Pour trouver une solution voisine, il su de trouvé
un mouvement voisin est l'appliqué à la solution ourante. une règle est Un mouvement est
représenté par le numéro de la règle et un état. Un mouvement voisin est généré de la faon
suivante :
•
Si une règle peut prendre plusieurs états, il su de prendre un état qui n'été pas prisprésidemment.
•
Si tous lesétats sont déjàpris onpasse à larègle suivante.•
Si une règle est xée on passe àla règle suivante.Pour de réduire l'espae de reherhe et permettre aux algorithmes d'obtenir des solutionsplus
prometteuses, nous avons xé des règles de [Tab1℄,et interdir les règles ontenant 2 ou 3 états
bord etlesrègles diérentedes régles de [Tab2℄ de prendre ommevaleur FIRE(feu).
GENERAL REPOS REPOS A
BORD GENERAL REPOS GENERAL
GENERAL REPOS BORD GENERAL
A REPOS REPOS GENERAL
BORD GENERAL GENERAL FIRE
BORD GENERAL GENERAL FIRE
GENERAL GENERAL BORD FIRE
REPOS REPOS REPOS REPOS
BORD REPOS REPOS REPOS
REPOS REPOS BORD REPOS
Tab 1: Les ègle xes.
gauhe entre droite état
BORD GENERAL GENERAL FIRE
GENERAL GENERAL GENERAL FIRE
GENERAL GENERAL BORD FIRE
Tab2 : Lesrègle autorisé àprandre l'état FIRE(feu).
Choix d'un meilleur voisin
Les algorithmes métaheuristiques examinent la totalité du voisinage pour eetuer un mouve-
ment. Il est don impératifde pouvoir évaluer rapidement les oûts des voisins d'une solution,
pour hoisir une des meilleuressolutions voisines('est-à-dire hois du meilleurmouvement).
Une solutionest meilleures qued'autres sisa fontion d'évaluation donneune valeur supérieur.
Enas d'égaliténous avons déniune lassed'équivalene,quipermet d'assemblétouslesmou-
vements (solution) qui on la même performane, en suite hoisir une solution aléatoirement.
Cette ongurationpermet d'aepter d'autresolution de même performane.
Les outils utilisés
Pour ledéveloppementdes diérentsalgorithmes,'est labibliothèqueParadiseoquiaété uti-
lisée, les paquets paradiseo-moetparadiseo-eo en partiulier.
Cette bibliothèque représente une interfae développé en C++ qui permet de mettre en ÷uvre
leparallélismeetladistribution des diérentsalgorithmes métaheuristiques pour aroîtreleurs
eaité.
Le paquet paradiseo-eo :fournit un onept général sur des métaheuristiques pour l'optimi-
sation ombinatoire.
Le paquet paradiseo-mo : dérit le onept général des métaheuristiques à base de solution
unique.
Terminologie
Pour mieux omprendre les algorithmes dénis ultérieurement, nous avons déni les méthodes
et lesobjets suivants : neighbors :l'ensemblede voisinage.
solution :'est la solutiondu problème des fusiliers, qui est onstitué par l'ensembledes règles.
initSolution(): orrespond à lasolution initiale.
move: 'est un mouvement, dans notre as est représenté par la règleet savaleur.
regleMove() :applique un mouvementà une solution.
initMove() :donner une valeur initialeà un mouvement.
nexMove() : générer lemouvementsuivant si'est possible etretourne vrai, faux sinon.
nexRandMove (): générer lemouvement aléatoire .
eval (): évalue une solution.
evalMove() : évalue un mouvement sans l'appliquer.
listTabou : liste qui permet d'interdire ou d'autoriser le hangement de la valeur d'une règle
donné.
initlistTabou(): initialiseune listetabou.
addTabou() :interditun mouvement pendant un nombre d'itérations donné.
updateTabou() :met la listetabouà jour.
isTabou ():indique si une règle est tabouou pas.
ontinu() : indique sila ondition d'arrêt est vériéeou pas.
initContinu() :initialiserla ondition d'arrêt.
initialTemperature: la températureinitiale.
nalTemperature :températurenale.
initTemp(): initialiserla méthode qui permet de mettreà jourla température.
updateTemperature() : mettre àjour latempératureet rend vrai,faux sinon.
2.1.3 Algorithmes
Nous défaisonsdans ettepartie lesdiérents Algorithme.
Algorithme de Hill Climbing
begin
initNeighbors(neighbors) solution =initSolution
bestSolution =solution
urrentFitness = eval(solution)
bestFitness =urrentFitness
initMove(move)
repeat
urrentFitness =evalMove(move,solution)
if
currentF itness ≤ bestF itness
thenregleMove(move , solution)
bestSolution =solution
bestFitness =urrentFitness
end if
until nextMove(move ) and ontinu()
Algorithme de Rherhe Tabou
begin
initlistTabou(listTabou)
initNeighbors(neighbors)
solution= initSolution
bestSolution =solution
urrentFitness = eval(solution)
bestFitness =urrentFitness
initMove(move )
repeat
repeat
nextMove(move )
until isTabou(move)
urrentFitness =evalMove (move, solution)
if
bestF itness ≥ currentF itness
thenregleMove(move , solution)
 bestSolution =solution
bestFitness =urrentFitness
 addTabou(mov, listTabou)
end if
update(listTabou)
nextMove(move)
until ontinu()
returnSolution
Algorithme de Reuit Simulé
begin
initNeighbors(neighbors)
solution= initSolution
bestSolution =solution
urrentFitness = eval(solution)
 bestFitness =urrentFitness
temperature =initialTemperature
repeat
initContinu()
repeat
nextRandMove(move)
urrentFitness = evalMove( Move, solution)
delta =urrentFitness -bestFitness
if urrentFitness >bestFitness then
bestSolution= solution
bestFitness= urrentFitness
else
if andom(0,1) < exp(-delta/temperature) then
regleMove(move,solution)
bestSolution= solution
bestFitness= urrentFitness
endif
until ontinu()
until updateTemperature()
returnsolution
2.1.4 Résultats expérimentaux
Cette setion présente les résultats expérimentaux des algorithmes dénis préédemment pour
un nombre d'itérations égale à 5000.
Résultats expérimentaux de Hill Climbing
Lesrésultatsobtenusdansette setionpour5000 exéutionsde l'algorithme.Laguresuivante
montreladistributiondesrésultatsobtenus,'estàdirelenombred'exéutiondeHCenfontion
de latailledu problème résolu.
Fig. 2.3 nombre d'exéution de HC en fontion de la tailledu probème résolu
taillede ligne fusilierssynhronisés en utilisent leHill Climbing on remarque:
•
La fréquene des solutionsqui permet de synhronisés une ligne de fusiliersde taille5 ou 6 plus grandeque pour les autres solutions.•
Lafréquenedes solutionsquipermet desynhronisés uneligne defusiliersde taille10,11 et 12est très faibleomparé aux autressolutions.À partir des es résultatson apu déterminer:
•
La moyenne = 5,27•
L'éartype =1,36La ourbe suivantereprésentelamoyenne de temps pour trouverla solutionquisynhronise
la taillede ligne de fusiliers.
Fig. 2.4 Temps moyenne pour haque taillede ligne de fusilierssynhroniser
On analysant la ourbe préédene 2.4 on remarque qu'elle est presque onstante pour des
lignes de fusiliers synhronisésde taille2jusqu'à 9 puis elleroitre exponentiellement.Don on
peut déduire qu'on peut trouver des solutions qui synhronisés une ligne de fusiliers de taille
supérieur à 12 mais il faut laner l'appliation pandant une période de temps très grande qui
tend verl'inni.
La meilleur solution 2.5 trouvée permet de synhroniser une ligne de fusiliers de taille 12 en
temps minimal2N-2ave les mêmesrègles.
Résultats expérimentaux de Reherhe Tabou
Les résultats obtenus dans ette setion pour 1000 exéutions de l'algorithme, une listetaboue
de tailleégaleauxnombredesrèglespossible216etunelongueurtabou=30.Laguresuivante
montreladistributiondesrésultatsobtenus, 'estàdirelenombred'exéutiondeRTenfontion
de latailledu problème résolu.
Fig.2.6 nombre d'exéution de RT en fontion de la tailledu probème résolu
Àpartir du graphe 2.6 qui représente la fréquene d'apparitions des solutions pour haque
taillede ligne fusilierssynhronisés en utilisent leReherhe Tabou onremarque :
•
La fréquene des solutions qui permet de synhronisés une ligne de fusiliers de taille 7, 8 et 9plus grande quepour lesautres solutions.•
Lafréquenedes solutionsquipermet desynhronisés uneligne defusiliersde taille11,12 et 13est très faibleomparé aux autressolutions.À partir des es résultatsona pu déterminer :
•
La moyenne = 7,1•
L'éartype =2,19La ourbe suivante représente la moyenne de temps pour trouver la solutionqui synhronise la
taillede ligne de fusiliers.
Fig. 2.7 Temps moyenne pour haque taillede ligne de fusilierssynhroniser
On analysantlaourbepréédene 2.7onremarquequ'elleest presqueonstantepourtoutes
les lignes de fusiliers synhronisés. Don on peut déduire qu'on peut trouver des solutions qui
synhronisésunelignedefusiliersdetaillesupérieurà13enaugmentantlenombred'exéutions,
mais l'augmentation de nombre d'itération n'a pas d'inuene sur les résultats. Les meilleurs
2.8 et 2.9 solutions trouvée permet de synhroniser des lignes de fusiliersde taille 13 en temps
minimal(2N-2) ave lesmêmes règles.
Fig. 2.9 Diagramme éspaetemps de résultat de Reherhe Tabou
Résultats expérimentaux de Reuit Simulé
Les résultats obtenus après avoir testé plusieurs valeurs pour les paramètres de L'algorithme.
Voiilesvaleursde paramètres de meilleurrésultat obtenu pour le reuit simule:
•
Nombre d'exéution =75•
empératureinitiale 10•
températurenale 0.001•
oeient multipliatifpour ladéroissane de température0.999Lagure2.10 montreladistributiondes résultatsobtenus, 'est-à-direlenombred'exéution de
RS en fontion de la tailledu problème résolu.
Fig. 2.10 nombre d'exéution de RTen fontionde latailledu probème résolu
À partir du graphe 2.10 qui représente lafréquene d'apparitions des solutionspour haque
taillede ligne fusilierssynhronisés en utilisent leReuit Simuléonremarqu :
•
Lafréquene des solutionsquipermet de synhronisésune lignede fusiliersde taille4 et5 plus grande quepour lesautres solutions.•
Lafréquenedes solutionsquipermetde synhronisésuneligne de fusilierspour lesautres talles est très faible.Á partir des es résultatsona pu déterminer
•
La moyenne = 4,24•
L'éartype =0,43Les meilleurssolutions 2.11 trouvée permet de synhroniser des lignes de fusiliersde taille5 en
temps minimal(2N-2) ave lesmêmes règles.
Lesrésultatsobtenudans ettesetionmesemblepas onvainanteetseluiladuaumauvais
hoisdeparamètres,arlesprinipauxinonvénientsdureuitsimulérésidentdanslehoixdees
paramètres,tels quelatempératureinitiale,laloidedéroissane delatempérature, lesritères
d'arraîtoulalongueurdes paliersde température.Commeonàtrouvédesbonsrésultatspourle
reherhe tabou,etletempsd'uneexéutiondeRSestgrand(416s)etpourévaluélesparamètres
il fautfaireplusieursexéution, onadésiré d'abandonner lesteste etexplorationde ettepiste.
2.1.5 Analyse omparatif de diérents algorithmes
Nousprésentons dans ettepartie lesrésultatsomparatifsdes diérentsalgorithmes,etvoiile
tableau réapitifdes résultatsobtenus préédemment.
Méthode nb nb Run meilleur temps pour total moyenne éartype
itérations résultat un Run total
Hill Climbing 5000 5000 12 28s 140000s(38h53) 5,27 1,36
Reherhe Tabou 5000 1000 13 22s 27517s(7h64) 7,1 2.12
ReuitSimulé 5000 75 5 416s 32021s(8h53) 4,24 0,42
Tab3 : Tableauréapitif des résultats obtenus
Aux vue de es résultats, nous remarquons que la reherhe tabou est plus eae pour un
même nombre d'itérations.C'est pour ela que nous l'avons utilisée en approhe ombinée ave
lesalgorithmes évolutionnaires.
2.2.1 Prinipe
Cetteméthodeest baséesur lathéoriedel'évolutiondeDarwin.Ils'agitd'eetueruneséletion
des générationsfutures puis des variationssur elles-i.Cesvariationsonsistent àfairemuter la
nouvellepopulationetà laroiser deux à deux .
2.2.2 Dénitions
Individus et population
Dans le monde des algorithmes évolutionnaires, un individu est une solution, plus ou moins
performante, à un problème donné.
L'ensembledes individustraitésparl'algorithmeévolutionnaire,senommeunepopulation.
Parmi les individus d'une population, on distingue les individus
µ
(parents) et les individusλ
qui sontleurs enfants.
Fontion d'évaluation
La fontion objetif (fontionde tness)est lafontionqui sert àmesurer la performane
d'une solution.
Fig. 2.12 boule évolutionnaire
Dans l'étape d'initialisation de la population, on prend
µ
individus. La manière de hoisir lesindividus dépend bien entendu du problème donné.
Evaluation des
µ
individusDans ette étape de la boule évolutionnaire, on évalue haque indivu
µ
de la population avela fontionde tness.
Séletion pour la reprodution
Le prinipe de la séletion pour la reprodution, est de hoisir parmi les parents d'une géné-
ration, eux qui vont se reproduire. La séletion pour le remplaement suppose que parmi une
population d'individus
µ
, on applique un ertain taux de reprodution. Par exemple, si le taux dereprodutionest de80%,elavoudradireque80%desindividusµ
vontêtreséletionnéspour se reproduire. Nousallons tout de suite dénirquelques méthodes de séletion.Séletion par tournois déterministes
Le prinipe de la séletion par tournois déterministes, onsiste à eetuer
n
tournois dek
in-dividus. On suppose que
n
est le nombre d'individus hoisis pour se reproduire.Le prinipe du tournoi est le suivant : pour haque tournoi dek
individus séletionnés aléatoirement dans la populationd'individusµ
,onprendlemeilleur.Etonrefaitlamêmeopérationn
fois(n
tournois).On peut hoisir s'il s'agit d'un tournoi ave ou sans remise, à savoir si l'on autorise ou non de
remettre un individuqui a remporté un tournoipréédent.
Séletion aléatoire
L'idéedeetteméthodeestsimple:onséletionne
n
individusaléatoirementparmilapopulation d'individusµ
poursereproduire.Cetteméthodesimpleprivilégielephénomènedediversiation dessolutions.Onpeutnoterqu'enprenantlaméthode delaséletionpar tournoisdéterministes,il sut de prendre ommeparamètre
k = 1
pour ainsi obtenir laséletion aléatoire.Séletion élitiste
Leprinipedelaséletionélitisteestaussitrèssimple.Ilsutdehoisirles
m
meilleursindividusparmi lesindividus
µ
.Cette méthode privilégieainsi le phénomène d'intensiation.Opérateurs de variation
Pourrevenirànotrebouleévolutionnaire,àl'issudel'étapedeséletionpourlareprodution,on
abesoind'opérateursdevariationpourobtenirdenouvellessolutionsqu'on appelleraindividus
λ
(enfants). Ces opérateurs se nommentroisementet mutation.On va prendre les individus
µ
(parents) préédemment séletionnés, pour se reproduire deux à deux etdonnerdes individusλ
(enfants). L'idéedu roisementest prohe de elled'un brassagegénétique, où on mélange les aratéristiques de haun des individus. Pour haun des deux
individus,on hoisit lemême pointde roisement.Les aratéristiquesqui setrouvent àgauhe
de e point pour lepremier individu, etles aratéristiquesqui se trouvent àdroite de e point
pour le deuxième individu, vont être raollées pour donner naissane à un individu
λ
(gurede droite). On fait de même pour les aratéristiques qui se trouvent à droite du point pour
le premier individu, et les aratéristiques qui se trouvent à gauhe du deuxième individu. On
obtient ainsi un deuxième enfant.
Notre étude
Dans notre étude, une population est omposé d'un ensemble de règles représentées par une
veteur.Lesmutationsonsistentàmodierunerèglealéatoirementetlesroisementsonsistent
à prendre un nombre aléatoire orrespondant àl'indie des veteurs qu'on va interhanger.
Voiiun exemple montrantune mutation puis un roisement d'un génération àl'autre :
Pour le développement de et algorithme nous avons utilisé la bibliothèque Paradiseo et le pa-
kage paradiseo-eo en partiulier. Cette bibliothèque représente une interfae qui permet de
mettre en oeuvre le parallélisme et la distribution des diérents algorithmes métaheuristiques
pour aroître leurseaités.Enn, paradiseo-eofournitdes onepts permettantledéveloppe-
mentd'algorithmes génétique.
•
neighbors: l'ensembledes voisins possibles.•
InitRegle : opérateurd'initialisationpour l'ensembledes règles.•
PopEval : opérateurd'évaluation orrespondant à lafontion objetif.•
Pop : populationde règles•
TournamentSelet: opérateur de séletionde population•
SGATransform : opérateur de transformation pour une population en fontion de la mu- tation, du roisement•
roisement, mutation :opérateur de roisement etde mutation•
MAXGEN :nombre de générationmaximumAlgorithme :
begin
InitRegle init(neighbors)
Pop population
PopEvaleval
TournamentSelet selet, SGATransform transform
roisement ross
mutationmut
repeat
transform(pop, mut, ross)
selet(pop)
until gen
≥
MAXGENend
2.2.4 Implémentation
Chaque solution, (ensemble de régles) est representée par un veteur de taille216. Cette taille
étantjustiée par lesrégles de 000 à555. Bien sur ertaines régles de e veteur ne sont jamais
utilisée (exemple 555 ou 515). Pour ela, nous avons besoin d'un voisinage pour haque régle
representée par un veteur à deux dimensions permettant d'initialiser les valeurs possibles et
elles interdites. Enn,la fontion objetif (ou d'évaluation)onsiste àhoisir ommemeilleure
pour lesautomates de tailleinférieure.
2.2.5 Résultats
Au ours des diérentes expérimentation, le meilleur résultat obtenu pour ette approhe est
une synhronisation jusqu'à 8,illustrée idessous :
Fig. 2.13 Lameilleure solutionobtenue
Voiile tableausigniatif représentant la moyenne des fusilierssynhronisés en fontion de
la population pour 500 générations, le taux de mutationétant xé à 0.3 et elui du roisement
à 0.7:
Onremarquequepluslapopulationaugmentepluslenombredefusilierssynhronisésaugmente.
Fig.2.14 Variationde lapopulation(15 runs pour haque valeur)
varier le tauxde mutationet de roisement pour 500 générations :
Fig. 2.15 Variation du taux de mutation etde roisement (15 runs pour haque valeur)
Enn, iiletauxde roisementest xé à0.7eteluide mutationà0.3. Onremarque queles
valeurs maximums sont pour un taux de mutationde 0.9 etun tauxde roisement de 0.8
Approhe asendante et analytique : à partir de la onguration nale, oneption des régles
loalesde prohe en prohe et utilisationdu baktrakingen as de onit.
2.3.1 Prinipe
Le basktraking est une tehnique d'énumération de l'espae de reherhe dans un ordre par-
tiulier jusqu'à trouver une solution adéquate et qui tente d'éviter l'énumération exhautive de
l'espae de reherhe.
L'idée maîtresse est d'essayer haque alternative (ombinaison)jusqu'à trouver la bonne, ou à
revenir légèrementen arrièresur desdéisionspriseslorsquel'alternativenemènepas àlabonne
solution.
Pour e problème, la reherhe onsiste à trouver des règles permettant de synhroniser les
n
ellules de la ongurationinitialeau bout de
2n − 2
itérations (tempsminimal).Pointsqui font éhouer une solution:
•
L'état feu symbolisant lasynhronisation est obtenuavant e nombre préis d'itérations.•
L'état feu n'est obtenu aubout de e nombre préis d'itérations.•
Ces règlesne synhronise pas lesautomates pour une ongurationinitiale de allant de2
à
n
ellules.Ainsi, lors de l'aetationd'une valeur du onséquent d'une régle, si une possibilité essayée
(attribution d'une valeur à une règle) ne satisfait plus une ontrainte, un retour sur trae à un
point où d'autres alternativess'oraient à nous est eetué etla possibilité suivanteest hoisie
(attributiond'uneautre valeur pourla règle).Siiln'yaplus de tels points,lareherhe éhoue.
La fore du baktraking est que beauoup de ses réalisations évitent d'essayer beauoup de
ombinaisonspartielles,diminuantainsi le tempsd'exéution.
2.3.2 Algorithme
•
InitRegles(hier) :initialise lesrègles à partird'un hier passé en argument.•
InitPile(hier) : initialisela pileàpartir du mêmehier (passé en argument).•
Init (minTaille,maxTaille): initialise la taillede la première onguration minTaille (en général 2) et de la dernière maxTaille(<=12 pour obtenir une solution dans un tempsraisonable) ave deux paramètres passéesen argument.
•
InitConguration(taille):initialise laongurationinitiale•
NbFire :Nombre de ellules àl'état feu•
T :numéro de laongurationourante•
i :numérode laellule ourante de la ongurationourante•
r :valeur de larègle loale•
regle(δ
,Cong,i):retourne lavaleur delarègle orrespondantàlaongurationCong[i℄, 'estàdirequel'onutiliselaongurationourantepour obtenirlaongurationsuivante.i orrespond aupositionnementde laellule traitée.
ongurtion ourante x = ...
X i − 1 X i X i+1
ongurtion suivante x' = ... ...
X ′ i ...
•
NonAete : règle non initialiséepar le hier (auune valeur)•
CreateFire(Cong,i,N):donnelavaleurFireorrespondantàl'étatfeuàlarègleetl'empile en sommetde pileave leN (taille de l'automate)orrespondantau momentau larègle aété rée.
•
Fire : valeur orrespondant à l'étatfeu•
baktrak(N) : dépile larègle se trouvant en sommet de pile tant que la valur est égale àre. Ensuite, modie la règle se trouvant en sommet de pile en inrémentant savaleur de
1 etretourne le N orrespondant à laréation de larègle en question.
InitRegles(hier)
InitPile(hier)
Init(minTaille,maxTaille)
for
N = minT aille
tomaxT aille
doInitConguration(N)
NbFire
←
0;T
←
1;while
T <= 2 ∗ N − 2 & NbF ire 6 = 0
dofor
i = 1
toN
dor
←
regle(δ
, Cong,i);if T= 2*N-2then
if r =NonAete then
CreateFire (Cong,i,N)
NbFire
←
NbFire+1;else if r =Fire then
Cong [i℄
←
rNbFire
←
NbFire+1;else
Baktrak(N)
endif
else
if
r 6 = NonAf f ecte & r 6 = F ire
thenCong [i℄
←
relse if r =Fire then
Baktrak(N)
else
Create (Cong,i,N)
endif
end if
endfor
end while
endfor
2.3.3 Implémentation
Une pilepermet d'implémenter le baktrak. Chaque nouvelle régle rée est enregistrée dans la
pile.Lehoixd'unepilen'estpas anodin,en eet:larègleàmodierdoitêtre ladernièreàavoir
été rée (il y a en quelque sorte des règles plus prioritaires que d'autres), ainsi, lorsque qu'un
onit se produit la règle au dessus de la pile est modiée dans l'ordre de l'énumération des
états. De plus, lehangement de ladernière regleaetée permet de onserverla validitéede la
solution sur des tailles plus petites. Don plus larègle a été rée tardivement(don positionnée
de ellule plus petit). Lesrésultatssont opiésdans un hier etdes diagrammesespaes temps
sont obtenus àla n de l'exéution.
2.3.4 Résultats
Grâe à l'algorithme implémenté, nous avons obtenu des premiers résultats (prometteurs pour
ladernière approhe) :synhronisation en temps minimal(2n-2)d'une ligne de fusiliersave un
nombre initial de ellule allant de 2 à 12 (et bien entendu ave les mêmes règles). Ce sont les
meilleurs résultats trouvés jusqu'alors mais la omplexité est importante pour et algorithme :
788 seondes pour l'exéution ayant fournila meilleuresolution.
Fig. 2.17 Unedes meilleuressolutionsobtenues de 2 à 12
Nousavonseetuédesmesuresdetempspouravoiruneidéedelaomplexitédel'algorithme
en fontiondu nombrede ellulesinitiales.Lediadrammede tempsmontrequelques mesures de
temps et l'on remarque que la ourbe roît exponentiellement dès que l'on dépasse 9. Comme
prévu, en voyant la taillede l'espaede reherhe, ononstate quele tempspose problème.
Le temps pour résoudre le problème de taille n en suposant que la même forme de ourbe est
onservée tendrait vers l'inni.
Nousavons lanél'exétionsurleserveur de alul:Pour nallantde 2à13,plusieursheures
de alulssont néessaires etmalgré ela, auune solution n'est trouvée.
Notre but adon été d'optimiser aumaximuml'algorithmepourdiminuer letemps d'exéu-
tion :
•
sortir lesvariablesde boules•
utiliser lesversions des règles obtenues quisont leplus rapides...2.3.5 Pistes explorées
Nous avons tentés d'explorer lesrésultats obtenuspar l'algorithmedu baktraking ave :
•
l'approhe par signaux. Nous avons voulu déeler l'apparition des signaux sur les dia- grammesespaes temps fournis.•
l'approheombinée.Nousavonsessayerdelesutiliserommebase(règlequ'ilsvontdonneren entrées aux algorithmes).
Ces deux pistes n'ont pas abouti : ave l'approhe par signaux, il faut un nombre de ellules
initiales plus grandpour envisager de déteter un signal. 12est trop petit.
Le départpris, i.eles règlesrées au départpar l'algorithme doiventertainementorrespondre
à une partie de l'espae de reherhe quine ontients pas la solution.
D'autres idées ontété explorées:
•
Partir de n = 13, et essayer de baktraker vers n = 2. Cette approhe a vite été aban-donnée, en aord ave nos enadrants : en eet, dans l'espae de reherhe, sans orienter
les reherhes (en fournissant déjà quelques règles), le temps pour trouver les règles qui
synhronisent lesellules (pour n =13) est trop important.
•
Aulieud'initialiserunerègle nouvellementréeà0(puis 1,2,3et4en as deonit),nous avons ommenéà1 (puis0,2,3 et4en asde onit).Nousavons hoisi de testerela arlorsde nos premièresexpérimentationsàlamain (oùnous avionsobtenuunesynhronisa-
tion pour nallantde 2à8),l'une despremières règlesrée était initialiséeà 1.Pourquoi 0
ou 1: En fait 'est pour tenter de minimiser lenombre de règles (et don de diminuer les
ontraintes).
général), don, en initialisant une règle (lors de sa réation) à 0 ou à 1, on augmente les
hanesde retrouverdesrèglesdéjàréespar lasuite(omposéede0oude 1)etonévitera
ainsi de rée de nouvelles règles (ave d'autre valeurs).
En lançant l'exéution sur leserveur de alul, nous avons obtenu ommerésultat la syn-
hronisationdes ellulespournallantde2à5.Pourn=6,l'exéution nepermetpas pour
l'instant d'avoir une solution : le temps de alul est très important. Nous Avons essayé
d'y parvenir en fournissant plus de règles dès ledépart, et notre algortihme a obtenu une
synhronisation de 2 à 11.
2.3.6 Statistiques obtenus
Ensauvegardant desdiérentes versions derègles permettantlasynhronisationde 2à12,nous
avons obtenu 3299 versions diérentes pour n = 12(d'au moins une règle) en ommençant à
initialiser une nouvelle règle à 0 , et avons don mis en plae un nouveau programme pour
ompter le nombre de fois qu'une règle prend une ertaine valeur.
Ainsinous avons aussilavaleur laplussouvent utiliséepour unerègle. Biensur elane nous
donne un indie que pour une ertaine partie de l'espae de reherhe( en eet, les diérentes
versions appartiennent toutes à une même zone).
Uneautreprogrammenouspermetd'obtenirlediagrammeespaetempsmoyenpourles3299
versions de 12 trouvées : il ompte le nombre de fois qu'une ase du diagramme espae temps
pour n=12 va prendre lavaleur 0,1, ...,4 etretourne lediagramme espaetemps orrespondant
à lamoyenne.
Fig. 2.21 diagramme espae tempsmoyen
2.4 Approhe par signaux
2.4.1 Prinipe et dénitions
À e jour, toutes les solutions au problème des fusiliers sont basées sur e que l'on appelle les
exemple par Balzer et Mazoyer plus tard, toutes propagent des signaux selon des règles bien
préises an de générer des omportements sur l'automate qui se produiront quelle que soit la
taillede la ligne de fusiliers.
La ompréhensionde es signaux est don lalé de ladéouverte de ertaines règles néessaires
à lasynhronisation des fusiliersen tempsoptimal.Connaître es règles nous permetde réduire
l'espae de reherhe sur les autres approhes etainsi améliorerleur eaité.
Fig.2.22 Diagrammede signaux basés sur la stratégies "diviser pour régner".
Comme énoné plus haut, par signal on entend propagation d'une information élémentaire au
sein d'une ligne d'automates.
Unautomate telqu'on enutilisepour leproblème desfusiliers(i.e.donttouteslesellulesau
temps
t = 0
sont dans l'état quiesent à l'exeption de la première, qui est dans l'état général)est appelé ICA (impulseellularautomaton).
Pour préiserladénition intuitived'un signal,onsidérantun diagramme espae-temps, un
signal S est un ensemblede sites (i.e. de ellules d'index
k
à un instantt
) tel quehaque site àpartir du temps
t = 1
,a reçu l'information,soitde elui situé aumêmeindex que luiàl'instant préédent, soit de l'un des deux voisins de e dernier. En d'autres termes, un signal est unepropagation ontinue d'information. Dans notre as, un signal vers la droite se déplae dans le
sens roissantdes indexs etun signalvers lagauhe dans le sens déroissant.
Un signal est ditbasique si laséquene des mouvements élémentaires quile ompose est pé-
riodique, mêmesilapériode n'apparaîtqu'aprèsun ertaintemps.C'est àdirequ'ilest possible
qu'un signal basique ontienne une séquene non périodique avantde nirpar devenir eetive-
mentpériodique.
Un signal basiqueest CA onstrutible 1
.Ce qui signiequ'ilpeut être onstruit par un ICA
et don apparaitredans le problème des fusiliers.
Si on nomme
T
la période d'un signal basique etU
la sommedes mouvements élémentaires qu'il eetue durant ette période, alorsT
U
représente la pente de e signal. On remarque queette pente est néessairement supérieur ouégale à1.
Si
ρ
est une fontion roissante deN
dansN
,ρ
désigne le ratio du signalS
siS
atteint laellule
n
préisémentautempst = r(n)
.Lavitesse d'un signalvers ladroiteest donnée parr(n) n
et est aumaximum de 1puisque
r(n) ≥ n
.Conséquenes pour le problème des fusiliers :
Des signaux de plusieurs typesde ratio sontonstrutibles :
•
quadratiques de laformen k,
•
ontenant des raines de la formexn + ⌊ √
n ⌋ , x ∈ N ∗,
•
ontenant des logarithmes de la formen + ⌊ log x n ⌋
,•
fatorielle de laforme2(n!)
.1
Termeempruntéàl'anglais
d'un nombre d'états supérieur à elui auquel nous nous sommes astreint, si bien qu'il apparaît
que si solutionily a,ellene ontiendra pas de signalde es formes-là.
Fig. 2.23 Signaux prohes de eux utiliséspar Mazoyer, ave 5 états seulement.
2.4.2 Formes aratéristiques attenduespourleproblèmedes fusiliers :
On se représentera un diagramme espae-temps sur lequel le temps s'éoule vers le bas et les
automates sont indexés vers ladroite.
Notre butétantlasynhronisationen tempsoptimal,elaimpliquelairementquel'informa-
tion doit se propager le plus vitepossiblele long de la ligne de fusiliers.
Première phase, de lagauhe vers ladroite :
Peu importe e qui se produit ailleurs sur le diagramme, un signal doit exister tel qu'il se
propage vers la droite et soit de pente 1 pour respeter le temps minimal. Ce signal ne peut
prendre que
n − 3
formes (oun
est le nombre d'états dont on dispose) selon lesn − 3
périodepossibles. Dans le as où l'on n'utiliserait que 5 états omme nous le faisons, les deux formes
possibles sont une suessions d'états 1 ou une suession de d'états 1 et 2 alternés. En eet,
outre les états 4 et 0 qui sont bien entendu inadaptés à être utilisé à ette n, il onvient de
onserver un dernier état en réserve de manière pouvoir revenir vers la gauhe, faute de quoi
e signalrepartirait invariablementvers le bord droit immédiatement aprèsl'avoir quitté. Il est
aisé de forer l'apparitionde la formede son hoixpuisque e signalest de pente 1etqu'il va à
l'enontre de ellules dans l'état quiesent. Par onséquent l'état de la ellule
k
à l'instantt
nedépend que de l'état de la ellule
k − 1
à l'instantt − 1
. Il sut d'une règle de transition parmouvement élémentaire souhaité dans lapériode.
Ainsi, sil'on souhaiteobtenirun signalde période 1 il sut de xer larègle suivante:
1 0 0 → 1
Si 'est le signal de p
ériode 2 que l'on désire voir apparaître, les deux règles qui suivent y
susent :
1 0 0 → 2 2 0 0 → 1
C'est ette dernière forme quel'on a hoisi de xer pour les diérentes m
étaheuristiquesar
elle est seule à même de permettre la génération de signaux transversaux et don de favoriser
l'apparition de motifsqui rendront possible lasyhronisation pour un nombre élevé de fusiliers.
Cette thèseadepuis été onrméeexpérimentalementpar lesrésultatsobtenus par l'algorithme
de baktraking.
Seonde phase, de ladroite vers la gauhe :
Le retour de l'information s'opère bien diéremment puisque de nombreux autres signaux
que eluide pente1 pourront avoirété générés e qui donnera lieuà des interations omplexes
imprévisibles à moins de onnaître tous les signaux et leurs interations. Or, leur onnaissane
impliqueà prioriqu'ilsontété réés àdesseinet quel'onsaitdéjà leomportementqu'ils adop-
teront,e quirevient à résoudre leproblème à la main.
Il n'est don pas possible de des déduiredes ontraintes générales sur laseonde phase.
2.5 Approhes ombinées
2.5.1 Combinaison ave le baktraking
Cetteapproheest justiéearellepermetauprogrammedubaktrakingd'avoiruneinitialisa-
tion (règlesdéniespournpetit, 'estàdire<5)diérentes de elleobtenuequ'ave e dernier.
En eet, l'algorithme modie les règles rées qui se trouvent dans la pile mais ne remonte pas
susamment haut dans elle-i pour hanger lavaleur des règles obtenues au début de l'exéu-
tion. J'avaisenvisagé (hypothèse lorsde mes tests réalisés ave le baktraking uniquement) de
modier manuellement les règles rées avant n=5 pour parourir une autre zone de l'espae de
reherhe, mais mon enadrant m'avais indiqué que 'était plutt le rle de la reherhe tabou
de se harger de ela. En fait,le programme peut le faire mais là enore le temps pour obtenir
un résultatest inonnumais trèsimportant(vulataillede l'espaedereherhe).Enfournissant
des règles diérentes au départ,je vais don explorer une autre partiede l'espaede reherhe.
Pour ette dernière approhe, où le baktraking est ombiné ave un autre algorithme, il
faut que le programme soit exéutable ave seulement un hier de règles (le format de règles
n'était pas ompatible ave elle utilisés par le baktraking).
2.5.2 Algorithme évolutionnaire et reherhe tabou
Nous avons développé un opérateur de rehere de tabou qu'on ombiné ave l'opérateur de
mutation normal dans l'algorithme évolutionnaire. Ainsi, nous avons testé et algorithme en
appliquant lareherhe tabou (1000 itérations)sur 1% puis 5 %des populations.
2.5.3 Résultats
Pour e dernieralgorithme,il n'a paspu améliorerlasolutionà16.Cependant,ilnous apermis
de trouver d'autres solution à 14 et 16. Historique de la solution à 16 : Tout d'abord le Hill
Climbing a donné une règle qui synhronise un automate de 2 à 12. Puis ette solution est
utilisée par l'algorithme évolutionnaire.Une nouvelle solution permet la synhronisation de 2 à
13. Enn, ette dernière solution réupérée pour passer en argument au baktraking a permis
d'avoirla meilleuresolutiononnue à e jour qui synhroniseen temps minimalde 2 à16.
C'est ette approhe, grâeà l'exploitationombinéedes résultatsobtenuspar lesdiérents
algorithmes,quinousapermitd'obtenir unrésultatinédit:lasynhronisationentempsoptimal
pour
n
ompritentre 2et 16.Fig. 2.24 Unedes meilleuressolutionsobtenues de 2 à 16
Conlusion
3.1 Perspetives
Nous pouvons aussi envisager de faire plus de tests an de trouver de bons paramétres pour le
Reuit Simulé. Aussi, pour l'approhe évolutionnaire nous pouvons prévoir une implémentation
des opérateurs d'HillClimbing etde Reuit Suimulé.
Améliorationdel'algorithmedubaktraking.Cetteaméliorationn'apasétéréaliséependant
leterenaordave nosenadrants,nousavons préférénepasapprofondirdavantagear malgré
le faitque ela paraisse être une bonne idée, nous risquions de manquer de temps pour aborder
ladernièreapprohe (ilfaudraitattendrelenouveau ode).L'unedes limitesde notreahierdes
harges étantde ne pas trop reuser la mêmeapprohe.
L'algorithme peut être amélioré de deux manières :
•
Lors de laréation des règles. Enfait il faudrait faireun premier passageoù l'on attribueà haque ellule de la onguration suivante, la valeur de la règle orrespondante (règle
formée des troisellules de laongurationourante). Silarègle apour valeur NonAet,
onontinue quand mêmel'aetation des valeurs pour les autres ellules.
•
Ces deux améliorationsévitent de nombreux tests inutiles.
3.2 Intérêts du TER
Cetravaild'étudeetdereherhe aétéuneexpérieneenrihissantequinousapermisd'explorer
plusieursmétaheuristiquesetlesalgorithmesévolutionaires.Aussi,nousavonsutilisédenouvelles
approhespoure problèmetellesquelebaktrakingoulessignaux.Enn,lesrésultatsobtenus
ont dépassé nos espéranes puisque nous ne pensions pas parvenir à synhroniserplus 12ou 13
fusiliers.
[MAZ87℄ . Mazoyer, A six-state minimal solution to the ring squad synhronization problem,
Theoretial Computer Siene, Volume 314, Issue 3, 10April 2004, Pages 303-334.
[Yun93℄ .B. Yunes, Synhronisation et automatesellulaires : la ligne de fusiliers,Thèse(1993).
[MazTer℄ . Mazoyer, VéroniqueTerrier,Signals in one dimensional ellularautomata, Researh
Report N94-50, Deember1994.
[Ham℄ ean-PhilippeHamizetjin-Keo. 12 Congrès onreonnaissaneet l'intelligene artiielle
-RFIA 2000,Paris(reherhe tabou et Planiation de renontres sportive ,janvier2000.
[AyMa℄ oiseph Ayas,MarANdré Viau.Reherhe TAbou. 16janvier2004.
[Pi℄ Abien Piarougne.Thèse : reherhed'information sur Internetpar Algorithmes métaheu-
ristiques,19 novembre 2004.