Top Banner
Université Mohamed Kheider – BISKRA Faculté des Sciences Exactes, des Sciences de la Nature et de la Vie Département d’informatique Implémentation d’un système de classeurs de type XCSFCA Etudiant: MANSOURI El Hocine
43

Implemetation du system des classeurs de type xcsfca

Apr 13, 2017

Download

Technology

Hocine Mansouri
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Implemetation du system des classeurs de type xcsfca

Université Mohamed Kheider – BISKRAFaculté des Sciences Exactes, des Sciences de la Nature et de la Vie

Département d’informatique

Implémentation d’un système de classeurs de type XCSFCA

Etudiant: MANSOURI El Hocine

Page 2: Implemetation du system des classeurs de type xcsfca

SOMMAIRE

205/02/2023

Page 3: Implemetation du system des classeurs de type xcsfca

I.. INTRODUCTIONII.. LEARNING CLASSIFIER SYSTEM

III.. XCSFCAIV.. XCSFCA POUR PENDULUM SWINGUP

V.. CODE ET EXÉCUTIONVI.. CONCLUSION

305/02/2023

Page 4: Implemetation du system des classeurs de type xcsfca

I.INTRODUCTION

405/02/2023

Page 5: Implemetation du system des classeurs de type xcsfca

Et dans ce travail, je vais présenter comment mettre en œuvre ce système (XCSFCA) et comment il fonctionne pour résoudre le problème de simuler le mouvement inverse du pendule « swing up pendulum »ce qui un problème d’environnement «multistep», avec des actions continues.

Depuis la Hollande, à ce jour , les systèmes de classeurs permettent de résoudre de nombreux problèmes , et qui a été à un moment n’ont pas un résolution, et en raison de son efficacité, ils sont utilisés dans de nombreuses technologies modernes

505/02/2023

Page 6: Implemetation du system des classeurs de type xcsfca

II. Les systèmes de classeurs Learning Classifier System

605/02/2023

Page 7: Implemetation du system des classeurs de type xcsfca

II. a Définition

705/02/2023

Page 8: Implemetation du system des classeurs de type xcsfca

805/02/2023

Les systèmes de classeurs (LCS) sont des architectures de contrôle et d’apprentissage non supervisé d’interactions entre un système artificiel et son environnement. Ils offrent un apprentissage inductif qui généralise un ensemble de règles comportementales en combinant l’apprentissage par renforcement et les algorithmes génétiques (Holland, 1975).

Page 9: Implemetation du system des classeurs de type xcsfca

II. b Principe

905/02/2023

Page 10: Implemetation du system des classeurs de type xcsfca

1005/02/2023

Environnement

Interface d’entrées Interface de sorties

Renforcement

Appariement Electiond’action

Population AlgrithmesEvolutionistes

Systeme de classeurs

Rétribution

t := 0 ; // compteur d’itérations

initClassifierPopulation( P(t) ) ; // population de classeurs initiale

while not done do // critère de terminaison (temps ...)

t := t +1 ;// Perception : 1. codage de la perceptionIe(t) := readDetectors(t) ;// Comparaison : 2a. comparaison de [P] et Ie et sauvegarde les appariements dans [M]M(t) := matchClassifiers( Ie(t),P(t),Comparaison ) ;// Génération (1) Covering : 2b. créer des règles s’appariant avec Ie (si M vide ou criterion1)if ( M.size < criterion0 || criterion1 ) thenM(t) := cover( Ie(t),P(t),Covering ) ;// Sélection : 3. sélection des règles dans [A]A(t) := selectClassifiers( M(t),Sélection ) ;// Actions : 4. envoie de l’action via IoIo(t) := sendEffectors( A(t) ) ;// Rétribution (1) : 5. réception de la rétribution de l’environnementr := receivePayoff(t) ;// Rétribution (2) : 6. distribution de la rétribution aux classeursP(t) := distributeCredit( r,P(t),P(t-1),Rétribution ) ;// Génération (2) A.E. : 7. éventuellement (selon t) un Algorithme Évolutionniste est utilisé sur [P]if ( criterion2 ) thenP(t+1) := reviseRules( P(t),Algorithme_Evolutionniste ) ;

Pseudocode représentant le principe et cycle d’un système de classeurs

Interactions entre l’environnement et le système de classeurs

Page 11: Implemetation du system des classeurs de type xcsfca

II. c Versions

1105/02/2023

ZCS , XCS , XCSF

Page 12: Implemetation du system des classeurs de type xcsfca

1205/02/2023

ZCS (Wilson, 1994)

Page 13: Implemetation du system des classeurs de type xcsfca

1305/02/2023

C’est un système de classeurs basés sur la force. Où chaque classeur ne dispose que d’une évaluation, qui lui tient lieu à la fois d’évaluation de la récompense cumulée que l’agent peut obtenir en le déclenchant et de fitness pour le mécanisme de création et de suppression de classeurs. Ce système fonctionne avec une population de classeurs de taille fixée P.Ce type de système de classeurs utilise des règles sous la forme classique du triplet R = (C, A, f).

Page 14: Implemetation du system des classeurs de type xcsfca

1405/02/2023

[01010111]Interface entrées

Renforcement

List

e de

cla

sseu

rs Condition[#10#0#1#][#1010##1][#10##1#1][10###101][0#10#0#0]

Action[010][100][001][001][001]

Qualité0.50.60.70.10.8

Classeur choisi[#10##1#1] [001] 0.7

001

Interface de sorties

Le principe de fonctionnement de l’interaction d’un agent commandé par ZCS avec son environnement

Page 15: Implemetation du system des classeurs de type xcsfca

1505/02/2023

XCS (Wilson, 1995)

Page 16: Implemetation du system des classeurs de type xcsfca

1605/02/2023

Est une extension de ZCS basés sur la précision, Il a été introduit pour pallier au problème de la maintenance des longues chaînes d’actions.Wilson propose de ne plus considérer la force d’un classeur comme sa valeur sélective. Le XCS propose de remplacer la force d’une règle, définie initialement par les gains qu’elle permet d’espérer, par la précision de ses prédictions de gain.Condition C Action A Force F

Condition C Action A Prédiction P Erreur E Fitness fit

Page 17: Implemetation du system des classeurs de type xcsfca

1705/02/2023

XCSF (Wilson, 2001)

Page 18: Implemetation du system des classeurs de type xcsfca

1805/02/2023

XCSF est le prolongement de XCS dans lequel la prédiction de classeur est calculé comme une combinaison linéaire des entrées de classeur et un vecteur de pondération associé à chaque classeur. Le XCSF étend le XCS pour traiter les entrées réelles.

Page 19: Implemetation du system des classeurs de type xcsfca

III.XCSFCA

1905/02/2023

XCSF avec des actions continues

Page 20: Implemetation du system des classeurs de type xcsfca

2005/02/2023

• Une extension de XCSF utilisé principalement dans les environnements multi- itérations.

• Calculer les actions discrets pour réduire l'espace de recherche dans les problèmes avec un grand nombre d'actions.

• En XCSFCA les actions sont continue en fonction des messages entrants.

Page 21: Implemetation du system des classeurs de type xcsfca

III.a Architecture

2105/02/2023

Page 22: Implemetation du system des classeurs de type xcsfca

2205/02/2023

selectiond’action

[P][M]

[A]

Environnement

a* RécompenseP(x, a)

X

Covering

ESAG

Page 23: Implemetation du system des classeurs de type xcsfca

IV. XCSFCA POUR PENDULUM SWINGUP

2305/02/2023

Page 24: Implemetation du system des classeurs de type xcsfca

IV.a Dynamique de PENDULUM SWINGUP

2405/02/2023

Page 25: Implemetation du system des classeurs de type xcsfca

𝐴=𝜋 𝑟2 𝐴=𝜋𝑟 2La dynamique de pendule étudier dans

notre projet est caractérisé par :

2505/02/2023

𝐹=∆×𝑐𝑜𝑛𝑠𝑡׿

∆=0 .05

𝑐𝑜𝑛𝑠𝑡= 34×𝑝𝑀×𝑝𝐿2

𝑝𝑀𝐿𝐺=𝑝𝑀×𝑝𝐿×𝐺𝑟𝑎𝑣𝑖𝑡𝑦𝐺

Page 26: Implemetation du system des classeurs de type xcsfca

Envi

ronn

emen

tXCSFCA

Classifier 1•Condition.LOWER >= X[] >= Condition.UPPER ?

Classifier 2•Condition.LOWER >= X[] >= Condition.UPPER ?

Classifier n•Condition.LOWER >= X[] >= Condition.UPPER ?

Classifier 1•Action{a}•Prediction{O}

Classifier 2•Action{a}•Prediction{O}

Classifier n•Action{a}•Prediction{O}

X[ , ] T=0

Cl2.action

Cl2.reward

N fois

• ØP1• ØP2• ØPN

Update Classifiers weight + Prediction

error + fitness

Vote Best Classifier (best action a*)

covering

ES

GA

Matching [M]

ActionSet [A]

Population [P]Si aucune classeur satisfait 2605/02/2023

Page 27: Implemetation du system des classeurs de type xcsfca

Envi

ronn

emen

tXCSFCA

Classifier 1•Condition.LOWER >= X[] >= Condition.UPPER ?

Classifier 2•Condition.LOWER >= X[] >= Condition.UPPER ?

Classifier n•Condition.LOWER >= X[] >= Condition.UPPER ?

Classifier 1•Action{a}•Prediction{O}

Classifier 2•Action{a}•Prediction{O}

Classifier n•Action{a}•Prediction{O}

X[ , ] T=1

Cl35.action

Cl35.reward

N fois

• 1.671360P1•ØP2•ØPN

Update Classifiers weight + Prediction

error + fitness

Vote Best Classifier (best action a*)

covering

ES

GA

Matching [M]

ActionSet [A]

Population [P]Si aucune classeur satisfait 2705/02/2023

Page 28: Implemetation du system des classeurs de type xcsfca

Envi

ronn

emen

tXCSFCA

Classifier 1•Condition.LOWER >= X[] >= Condition.UPPER ?

Classifier 2•Condition.LOWER >= X[] >= Condition.UPPER ?

Classifier n•Condition.LOWER >= X[] >= Condition.UPPER ?

Classifier 1•Action{a}•Prediction{O}

Classifier 2•Action{a}•Prediction{O}

Classifier n•Action{a}•Prediction{O}

X[ , ] T=2

Cl18.action

Cl18.reward

N fois

• 1.671360P1•0.38511P2•ØPN

Update Classifiers weight + Prediction

error + fitness

Vote Best Classifier (best action a*)

covering

ES

GA

Matching [M]

ActionSet [A]

Population [P]Si aucune classeur satisfait 2805/02/2023

Page 29: Implemetation du system des classeurs de type xcsfca

Envi

ronn

emen

tXCSFCA

Classifier 1•Condition.LOWER >= X[] >= Condition.UPPER ?

Classifier 2•Condition.LOWER >= X[] >= Condition.UPPER ?

Classifier n•Condition.LOWER >= X[] >= Condition.UPPER ?

Classifier 1•Action{a}•Prediction{O}

Classifier 2•Action{a}•Prediction{O}

Classifier n•Action{a}•Prediction{O}

X[ , ] T=3

Cl108.action

Cl108.reward

N fois

• 1.671360P1•0.38511P2• -1.0475P3

•……..•….

Update Classifiers weight + Prediction

error + fitness

Vote Best Classifier (best action a*)

covering

ES

GA

Matching [M]

ActionSet [A]

Population [P]Si aucune classeur satisfait 2905/02/2023

Page 30: Implemetation du system des classeurs de type xcsfca

V. Code et Exécution

3005/02/2023

Page 31: Implemetation du system des classeurs de type xcsfca

V.a Diagramme de projet

3105/02/2023

Page 32: Implemetation du system des classeurs de type xcsfca

3205/02/2023

Class main

SwingUp_Pendulum_UI

XCSCA_System_Globale

ASelection

Class XCSCA

CoveringGetMatch

GAES

Renforcement

Select act

Saiser le nombre de Population et iterations

La Boucle principale Environnement/XCSFCA

Page 33: Implemetation du system des classeurs de type xcsfca

V.b Quelque Codes <..>

3305/02/2023

Page 34: Implemetation du system des classeurs de type xcsfca

3405/02/2023

Main.java

public static void main(String[] args) throws FileNotFoundException,IOException { SwingUp_Pendulum_UI ui = new

SwingUp_Pendulum_UI(); ui.Ui_main(); }

Page 35: Implemetation du system des classeurs de type xcsfca

3505/02/2023

XCSFCA_system_globale.javafor (long i = 0L; i < problems;) {

if (vr != 1) { for (int rep = 0; rep < runAvg; rep++) {

InitializePendulum();xcsfca[0].ClearAllSets();for (int step = 0; step < NUM_STEPS && reset != 1;

step++) { action = xcsfca[0].SingleStepProblemExplore(x);

rwd = SwingPendulum(action);xcsfca[0].Reinforce(0, -1);

xcsfca[0].ESDiscovery(0, -1); xcsfca[0].GADiscovery(0); if (reset == 1 || step == NUM_STEPS - 1) { xcsfca[0].Reinforce(1, rwd); xcsfca[0].ESDiscovery(1, rwd); xcsfca[0].GADiscovery(1); } xcsfca[0].AffectLastActionSet(rwd); } }……

Page 36: Implemetation du system des classeurs de type xcsfca

3605/02/2023

XCSFCA.java (SingleStepProblemExpore())itTime++; msg = inputmsg; GetMatchSet(msg, matchset, match_size);

Covering(); int winnerPop; if (covering_called > 0 || (epsilon_greedy > 0 && drand()< eps)){ winnerPop = LearningWinnerAction(matchset, match_size); asel.RWSDeterministic(); } else { winnerPop = DeterministicWinnerAction(matchset, match_size); }

GetActionSet(matchset, match_size, cl[winnerPop].action,

actionset, action_size); return cl[winnerPop].action[0];

Page 37: Implemetation du system des classeurs de type xcsfca

3705/02/2023

Aselectionint RWSDeterministic() { int astar = -1; for (int j = 0; j < rwssze; j++) { if (rwsset[j].fitness != 0.) { rwsset[j].data = rwsset[j].payoff / rwsset[j].fitness; } else { rwsset[j].data = 1e-15; } if (astar == -1 || rwsset[astar].data < rwsset[j].data) { astar = j; }

}return rwsset[astar].index;

}

Page 38: Implemetation du system des classeurs de type xcsfca

V.c Exécution

3805/02/2023

Page 39: Implemetation du system des classeurs de type xcsfca

3905/02/2023

Page 40: Implemetation du system des classeurs de type xcsfca

4005/02/2023

Page 41: Implemetation du system des classeurs de type xcsfca

VI. Conclusion

4105/02/2023

Page 42: Implemetation du system des classeurs de type xcsfca

L’intégration du système de classeur de type XCSFCA dans la résolution du problème de swing up pendulum preuve que la technique d’apprentissage peut traiter beaucoup problèmes de ce genre.Et Comme j’explique dans la mémoire, le problème de mouvement de bras d’humanoid artificiel, est un exemple des perspective possible de réalisé et résolu par le XCSFCA.

4205/02/2023

Page 43: Implemetation du system des classeurs de type xcsfca

Merci pour votre attention