• Aucun résultat trouvé

ae1fai e Tavai

N/A
N/A
Protected

Academic year: 2022

Partager "ae1fai e Tavai"

Copied!
44
0
0

Texte intégral

(1)

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

(2)

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

(3)

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

(4)

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.

(5)

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.

(6)

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 autemps

t

d'un nombre ni de ellules

appeléson voisinage.

On appelleAutomate Cellulaire Linéaire Fini (ACLiF) tout doublet

A =< Q , δ >

, :

• 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 du

systè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'état

q l

vérie laondition :

δ(q b , q l , q l ) = δ(q l , q l , q l ) = δ(q l , q l , q b ) = q l

(7)

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

δ

sur

Q = 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 taille

n

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 nombre

d'itérationsoptimal pour optenirlasynhronisation est

n − 2

,letemps pour l'informationde se

(8)

Un 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 :

(9)

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 étatspour

n

entre 2et 15en temps

non 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.Lebutest

de 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.

(10)

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.

(11)

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é.

(12)

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.

(13)

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 faŸon

suivante :

Si une règle peut prendre plusieurs états, il su de prendre un état qui n'été pas pris

pré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).

(14)

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.

(15)

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

then

regleMove(move , solution)

bestSolution =solution

bestFitness =urrentFitness

end if

until nextMove(move ) and ontinu()

(16)

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

then

regleMove(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

(17)

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

(18)

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,36

La 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.

(19)

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.

(20)

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,19

La 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.

(21)

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

(22)

oeient multipliatifpour ladéroissane de température0.999

Lagure2.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,43

Les 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.

(23)

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.

(24)

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

(25)

Dans l'étape d'initialisation de la population, on prend

µ

individus. La manière de hoisir les

individus dépend bien entendu du problème donné.

Evaluation des

µ

individus

Dans ette étape de la boule évolutionnaire, on évalue haque indivu

µ

de la population ave

la 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 de

k

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 de

k

individus séletionnés aléatoirement dans la populationd'individus

µ

,onprendlemeilleur.Etonrefaitlamêmeopération

n

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

meilleursindividus

parmi 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.

(26)

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 brassage

gé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

λ

(gure

de 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 :

(27)

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érationmaximum

Algorithme :

begin

InitRegle init(neighbors)

Pop population

PopEvaleval

TournamentSelet selet, SGATransform transform

roisement ross

mutationmut

repeat

transform(pop, mut, ross)

selet(pop)

until gen

MAXGEN

end

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

(28)

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)

(29)

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

(30)

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 de

2

à

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 temps

raisonable) ave deux paramètres passéesen argument.

InitConguration(taille):initialise laongurationinitiale

NbFire :Nombre de ellules àl'état feu

T :numéro de laongurationourante

(31)

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.

(32)

InitRegles(hier)

InitPile(hier)

Init(minTaille,maxTaille)

for

N = minT aille

to

maxT aille

do

InitConguration(N)

NbFire

0;

T

1;

while

T <= 2 ∗ N − 2 & NbF ire 6 = 0

do

for

i = 1

to

N

do

r

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℄

r

NbFire

NbFire+1;

else

Baktrak(N)

endif

else

if

r 6 = NonAf f ecte & r 6 = F ire

then

Cong [i℄

r

else 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

(33)

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.

(34)

l'approheombinée.Nousavonsessayerdelesutiliserommebase(règlequ'ilsvontdonner

en 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 ar

lorsde 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).

(35)

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.

(36)

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.

(37)

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

(38)

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".

(39)

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 instant

t

) 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 une

propagation 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 et

U

la sommedes mouvements élémentaires qu'il eetue durant ette période, alors

T

U

représente la pente de e signal. On remarque que

ette pente est néessairement supérieur ouégale à1.

Si

ρ

est une fontion roissante de

N

dans

N

,

ρ

désigne le ratio du signal

S

si

S

atteint la

ellule

n

préisémentautemps

t = r(n)

.Lavitesse d'un signalvers ladroiteest donnée par

r(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 laforme

n k

,

ontenant des raines de la forme

xn + ⌊ √

n ⌋ , x ∈ N

,

ontenant des logarithmes de la forme

n + ⌊ log x n ⌋

,

fatorielle de laforme

2(n!)

.

1

Termeempruntéàl'anglais

(40)

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 (ou

n

est le nombre d'états dont on dispose) selon les

n − 3

période

possibles. 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 à

(41)

l'enontre de ellules dans l'état quiesent. Par onséquent l'état de la ellule

k

à l'instant

t

ne

dépend que de l'état de la ellule

k − 1

à l'instant

t − 1

. Il sut d'une règle de transition par

mouvement é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.

(42)

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

(43)

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 passage 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.

(44)

[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.

Références

Documents relatifs

5 - Lancer S-PLUS en cliquant sur le raccourci du dossier de travail et vérifier que la seule ligne éditée dans la fenêtre de commande contient le nom du dossier :.. 6 -

le coefficient m………teur qui permet de passer de la ……… ligne d’un tableau de proportionnalité à la ………. ligne de

Votre table de cuisson à induction, qui vous permet de faire des écono- mies de temps et d'argent, doit être utilisée avec des casseroles appropriées pour.. la cuisson à

CONCEPTION &amp; DÉVELOPPEMENT DE SOLUTIONS APPLICATIVES DIGITALES – 95 HEURES Activité A6 – Concevoir et développer des solutions applicatives. UE Développement

Pour autant, la multiplication des unités spatiales permet de mitiger les effets de l’hétérogénéité en taille des secteurs, puisque la plus grande partie des effectifs de

Calculer la durée du Un solide S, que l’on assimilera à un point matériel, de masse m = 0.1 kg, glisse le long de la ligne de plus grande pente d’un plan incliné qui forme un angle

Le th6or~me 3 nous permet d'obtenir la r6ciproque sous des hypotheses plus g6n6rales que celles connues auparavant, avec une d6monstration unifi6e et plus simple (cf..

« 6° Des représentants des usagers qui suivent une formation dans la communauté d’universités et établissements ou dans un établissement membre. « Les statuts de la