SlideShare une entreprise Scribd logo
1  sur  43
Université Mohamed Kheider – BISKRA
Faculté des Sciences Exactes, des Sciences de la Nature et de laVie
Département d’informatique
Implémentation d’un système de classeurs
de type XCSFCA
Etudiant:
MANSOURI El Hocine
SOMMAIRE
26/16/2016
I.. INTRODUCTION
II.. LEARNING CLASSIFIER SYSTEM
III.. XCSFCA
IV.. XCSFCA POUR PENDULUM SWINGUP
V.. CODE ET EXÉCUTION
VI.. CONCLUSION
36/16/2016
I.INTRODUCTION
46/16/2016
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
56/16/2016
II. Les systèmes de classeurs
Learning Classifier System
66/16/2016
II. a Définition
76/16/2016
86/16/2016
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).
II. b Principe
96/16/2016
106/16/2016
Environnement
Interface d’entrées Interface de sorties
Renforcement
Appariement Election
d’action
Population
Algrithmes
Evolutionistes
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 perception
Ie(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 ) then
M(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 Io
Io(t) := sendEffectors( A(t) ) ;
// Rétribution (1) : 5. réception de la rétribution de l’environnement
r := receivePayoff(t) ;
// Rétribution (2) : 6. distribution de la rétribution aux classeurs
P(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 ) then
P(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
II. c Versions
116/16/2016
ZCS , XCS , XCSF
126/16/2016
ZCS (Wilson,
1994)
136/16/2016
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).
146/16/2016
[01010111]
Interface entrées
Renforcement
Listedeclasseurs
Condition
[#10#0#1#]
[#1010##1]
[#10##1#1]
[10###101]
[0#10#0#0]
Action
[010]
[100]
[001]
[001]
[001]
Qualité
0.5
0.6
0.7
0.1
0.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
156/16/2016
XCS (Wilson,
1995)
166/16/2016
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
176/16/2016
XCSF (Wilson,
2001)
186/16/2016
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.
III.XCSFCA
196/16/2016
XCSF avec des actions continues
206/16/2016
• 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.
III.a Architecture
216/16/2016
226/16/2016
selection
d’action
[P]
[M]
[A]
Environnement
a*
Récompense
P(x, a)
X
Covering
ES
AG
IV. XCSFCA POUR PENDULUM
SWINGUP
236/16/2016
IV.a Dynamique de PENDULUM
SWINGUP
246/16/2016
𝐴 = 𝜋 𝑟2
𝐴 = 𝜋𝑟2
La dynamique de pendule étudier dans
notre projet est caractérisé par :
256/16/2016
𝐹 = ∆ × 𝑐𝑜𝑛𝑠𝑡 × ( 𝑎𝑐𝑡 + 𝑝𝑀𝐿𝐺 + sin(𝜃)
∆ = 0.05
𝑐𝑜𝑛𝑠𝑡 =
3
4 × 𝑝𝑀 × 𝑝𝐿2
𝑝𝑀𝐿𝐺 = 𝑝𝑀 × 𝑝𝐿 × 𝐺𝑟𝑎𝑣𝑖𝑡𝑦𝐺
Environnement
XCSFCA
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}
• Ø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 266/16/2016
Environnement
XCSFCA
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}
•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 276/16/2016
Environnement
XCSFCA
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}
•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 286/16/2016
Environnement
XCSFCA
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}
•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 296/16/2016
V. Code et Exécution
306/16/2016
V.a Diagramme de projet
316/16/2016
326/16/2016
Class main
SwingUp_Pendulum_UI
XCSCA_System_Globale
ASelection
Class XCSCA
Covering
GetMatch
GAES
Renforcement
Select act
Saiser le nombre de Population et
iterations
La Boucle principale
Environnement/XCSFCA
V.b Quelque Codes <..>
336/16/2016
346/16/2016
Main.java
public static void main(String[] args)
throws FileNotFoundException,IOException {
SwingUp_Pendulum_UI ui = new
SwingUp_Pendulum_UI();
ui.Ui_main();
}
356/16/2016
XCSFCA_system_globale.java
for (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);
}
}
……
366/16/2016
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];
376/16/2016
Aselection
int 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;
}
V.c Exécution
386/16/2016
396/16/2016
406/16/2016
VI. Conclusion
416/16/2016
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.
426/16/2016
Merci pour votre attention

Contenu connexe

En vedette

Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellSaba Software
 

En vedette (20)

Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 

Implemetation du system des classeurs de type xcsfca

  • 1. Université Mohamed Kheider – BISKRA Faculté des Sciences Exactes, des Sciences de la Nature et de laVie Département d’informatique Implémentation d’un système de classeurs de type XCSFCA Etudiant: MANSOURI El Hocine
  • 3. I.. INTRODUCTION II.. LEARNING CLASSIFIER SYSTEM III.. XCSFCA IV.. XCSFCA POUR PENDULUM SWINGUP V.. CODE ET EXÉCUTION VI.. CONCLUSION 36/16/2016
  • 5. 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 56/16/2016
  • 6. II. Les systèmes de classeurs Learning Classifier System 66/16/2016
  • 8. 86/16/2016 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).
  • 10. 106/16/2016 Environnement Interface d’entrées Interface de sorties Renforcement Appariement Election d’action Population Algrithmes Evolutionistes 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 perception Ie(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 ) then M(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 Io Io(t) := sendEffectors( A(t) ) ; // Rétribution (1) : 5. réception de la rétribution de l’environnement r := receivePayoff(t) ; // Rétribution (2) : 6. distribution de la rétribution aux classeurs P(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 ) then P(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
  • 13. 136/16/2016 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).
  • 16. 166/16/2016 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
  • 18. 186/16/2016 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.
  • 20. 206/16/2016 • 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.
  • 23. IV. XCSFCA POUR PENDULUM SWINGUP 236/16/2016
  • 24. IV.a Dynamique de PENDULUM SWINGUP 246/16/2016
  • 25. 𝐴 = 𝜋 𝑟2 𝐴 = 𝜋𝑟2 La dynamique de pendule étudier dans notre projet est caractérisé par : 256/16/2016 𝐹 = ∆ × 𝑐𝑜𝑛𝑠𝑡 × ( 𝑎𝑐𝑡 + 𝑝𝑀𝐿𝐺 + sin(𝜃) ∆ = 0.05 𝑐𝑜𝑛𝑠𝑡 = 3 4 × 𝑝𝑀 × 𝑝𝐿2 𝑝𝑀𝐿𝐺 = 𝑝𝑀 × 𝑝𝐿 × 𝐺𝑟𝑎𝑣𝑖𝑡𝑦𝐺
  • 26. Environnement XCSFCA 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} • Ø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 266/16/2016
  • 27. Environnement XCSFCA 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} •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 276/16/2016
  • 28. Environnement XCSFCA 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} •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 286/16/2016
  • 29. Environnement XCSFCA 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} •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 296/16/2016
  • 30. V. Code et Exécution 306/16/2016
  • 31. V.a Diagramme de projet 316/16/2016
  • 32. 326/16/2016 Class main SwingUp_Pendulum_UI XCSCA_System_Globale ASelection Class XCSCA Covering GetMatch GAES Renforcement Select act Saiser le nombre de Population et iterations La Boucle principale Environnement/XCSFCA
  • 33. V.b Quelque Codes <..> 336/16/2016
  • 34. 346/16/2016 Main.java public static void main(String[] args) throws FileNotFoundException,IOException { SwingUp_Pendulum_UI ui = new SwingUp_Pendulum_UI(); ui.Ui_main(); }
  • 35. 356/16/2016 XCSFCA_system_globale.java for (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); } } ……
  • 36. 366/16/2016 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];
  • 37. 376/16/2016 Aselection int 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; }
  • 42. 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. 426/16/2016
  • 43. Merci pour votre attention