-
Notifications
You must be signed in to change notification settings - Fork 0
/
lcs_analysis.tex
169 lines (108 loc) · 20.8 KB
/
lcs_analysis.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
\section{Unterschiedliche Geschwindigkeiten des Zielobjekts}\label{geschwindigkeit_zielobjekt_xcs:sec}
In Kapitel~\ref{zielgeschwindigkeiten_analyse:sec} wurde dargestellt, dass bis zu einer Geschwindigkeit von 1 die auf Heuristiken basierenden Agenten das Zielobjekt lediglich andauernd verfolgt haben. Bei größeren Geschwindigkeiten wurde ein deutlicher Abfall der Qualität bemerkt, das Zielobjekt konnte den Agenten also öfters entkommen. Hier werden nun die gleichen Tests für lernende Agenten durchgeführt.\\
In Abbildung~\ref{goal_agent_speed:fig} ist der Vergleich zwischen XCS und SXCS bezüglich der Qualitätsdifferenzen bei verschiedenen Geschwindigkeiten des Zielobjekts dargestellt. Neben der von SXCS erreichten im Vergleich zu XCS deutlich höheren Qualitätsdifferenz ist hier wie bei den Heuristiken wieder ein Knick zu sehen. Bis zu einer Geschwindigkeit von etwa \(0,7\) bleibt die Qualitätsifferenz ungefähr auf einem Niveau um dann abzufallen. Dies zeigt an, dass ein gewisser Teil der erreichten Qualität durch eine Strategie der Verfolgung erreicht wurde.\\
\begin{figure}[htbp]
\centerline{
\includegraphics{speed_intelligent_xcs.eps}
}
\caption[Vergleich der Qualitäten von XCS und SXCS bezüglich der Geschwindigkeit des Zielobjekts] {Vergleich der Qualitäten von XCS und SXCS bezüglich der Geschwindigkeit des Zielobjekts (intelligentes Zielobjekt, \emph{best selection})}
\label{goal_agent_speed:fig}
\end{figure}
\section{Tests im Szenario mit zufällig verteilten Hindernissen}\label{analysis_random_scenario_xcs:sec}
Im vorherigen Abschnitt wurde festgestellt, dass Szenarien mit zufällig verteilten Hindernissen (mit \(\lambda_{h} > 0\)) für XCS und SXCS eine Herausforderung darstellt. Einfache Tests mit andauernder \emph{exploit} Phase lässt beide Varianten an dem sehr hohen Anteil an blockierten Bewegungen scheitern. Neben einer Erweiterung der Sensorfähigkeiten und einer Anpassung der \emph{reward} Funktion scheint hier nur ein Wechsel der Auswahlart zur \emph{roulette wheel selection} bzw. der \emph{tournament selection} mit niedrigerem Wert für \(p\) Abhilfe zu schaffen. Eine Erhöhung der maximalen Populationsgröße bringt keine Verbesserung, da die Zahl der neu erstellten \emph{classifier} in einem solchen Szenario nicht viel höher ist als im Säulenszenario (siehe Kapitel~\ref{sec:max_population_parameter}).\\
Ein Testlauf mit \emph{roulette wheel selection} erbringt für obigen Fall mit Hindernissen und intelligentem Zielobjekt einen ähnlich hohen Wert für die Qualitätsdifferenz (etwa 2,0\%). Eine Verringerung des \emph{tournament factor} Werts mit obiger Konfiguration führt also zu einer Annäherung der Auswahlart \emph{tournament selection} an die Auswahlart \emph{roulette wheel selection}.\\
Desweiteren ist aufgrund der großen Anzahl blockierter Sichtlinien davon auszugehen, dass die Agenten relativ häufig keine anderen Agenten in Sicht bekommen, ein \emph{base reward} Wert von \(0\) wird also eher die Seltenheit als die Regel. Zusätzlich verringert sich dadurch (aus der lokalen Sicht eines Agenten gesehen) die Dynamik des Systems, was die Wiederholung gleicher Aktionen weiter fördert. Um dem entgegenzuwirken, wird hier die in Kapitel~\ref{exploreexploit:sec} erwähnte Auswahlart mit abwechselnder \emph{explore}/\emph{exploit} Phase ausprobiert.\\
Setzt man in der \emph{explore} Phase die Auswahlart \emph{roulette wheel selection} und in der \emph{exploit} Phase die Auswahlart \emph{tournament selection} führt dies zu den Ergebnissen in Abbildung~\ref{vergleich_tournament_factor_roulette:fig}. XCS erreicht auch mit dieser Auswahlart keinen wesentlichen Vorteil gegenüber dem Algorithmus mit zufälliger Bewegung, während beim SXCS Algorithmus speziell bei \(p = 1,0\), also beim Äquivalent zur Auswahlart mit abwechselnder \emph{roulette selection} und \emph{best selection}, ein Ausschlag beim sich intelligent verhaltenden Zielobjekt zu sehen ist. Das Zielobjekt mit einfacher Richtungsänderung bleibt aber auch hier eine zu schwierige Hürde.\\
\begin{figure}[htbp]
\centerline{
\includegraphics{vergleich_tournament_factor_roulette.eps}
}
\caption[Vergleich verschiedener \emph{tournament factor} Werte bei abwechselnder \emph{explore}/\emph{exploit} Phase]{Vergleich verschiedener \emph{tournament factor} Werte bei abwechselnder \emph{explore}/\emph{exploit} Phase (Szenario mit zufällig verteilten Hindernissen mit ($\lambda_{p} = 0,99$ und $\lambda_{h} = 0,2$, SXCS Agenten)}
\label{vergleich_tournament_factor_roulette:fig}
\end{figure}
Von den blockierten Bewegungen her konnte mit dieser Auswahlart einerseits die Zahl der blockierten Bewegungen reduziert (auf etwa 34\%) bei XCS und andererseits weiterhin die Möglichkeit offen gelassen, das Ziel zu verfolgen, wenn es in Sicht ist.\\
Insgesamt ist also zusammenzufassen, dass für ein Szenario mit wenigen Hindernissen die Auswahlart \emph{best selection} die beste Wahl ist und in Szenarien mit vielen Hindernissen ein Wechsel der \emph{roulette wheel selection} und \emph{best selection} Auswahlart die beste Wahl ist.\\
Desweiteren war zu sehen, dass hier eindeutig das Szenario mit einem Zielobjekt mit einfacher Richtungsänderung zu schwierig für die betrachteten Agenten. Zwar erreichen die Agenten höhere Werte als im Fall mit intelligenter Heuristik, jedoch ist auch die Qualität des zufälligen Algorithmus deutlich höher. Insbesondere besitzen beide Zielobjekttypen die Fähigkeit, Hindernisse zu erkennen, d.h. sie bleiben deutlich weniger oft stehen und können somit schneller aus der Reichweite der Agenten fliehen.\\
Würde man, wie im Ausblick in Kapitel~\ref{verbesserung_sensoren:sec} erwähnt, die Sensorfähigkeiten der Agenten und die \emph{reward} Funktion auf Hindernisse erweitern, würden sich in diesem Szenario womöglich Verbesserungen ergeben. Dann wäre es auch möglich, im Szenario mit vielen Hindernissen die Auswahlart \emph{best selection} zu verwenden. Hierzu müssten z.B. Strafen für Aktionen verteilt werden. Da die \emph{reward} Funktion eigentlich nur Situationen und nicht Aktionen bewertet, ist eine Analyse der bisher gespeicherten \emph{action set} Listen nötig. Zeigt der in einer \emph{action set} Liste gespeicherte Sensorstatus ein Hindernis in unmittelbarer Nähe an und zeigt die gespeicherte Aktion in die Richtung des Hindernis, könnte dies mit einem \emph{base reward} Wert von 0 bewertet werden. Wie bei jeder zusätzlichen Heuristik muss man sich aber die Frage stellen, wie allgemeingültig Agenten mit solchen Modifikationen dann noch agieren können und ob dadurch nicht optimale Lösungen wegfallen.\\
\subsection{XCS, SXCS und DSXCS im schwierigen Szenario}\label{xcs_difficult_scenario:sec}
Im schwierigen Szenario wurde in Kapitel~\ref{test_schwieriges_szenario:sec} gezeigt, dass hier sich zufällige bewegende Agenten wie auch Agenten mit einfacher Heuristik versagen. Auch wurde argumentiert, dass Agenten mit intelligenter Heuristik nur deshalb Erfolg haben, weil sie sich gegenseitig durch die Öffnungen "`drängen"'. Hier werden nun lernende Agenten ihre Fähigkeiten unter Beweis stellen. Der wesentliche Vorteil der lernenden Agenten in diesem Szenario ist, dass sie ihr Gelerntes über die, wie bisher, 10 Probleminstanzen behalten können und somit direkt auf den letzten Abschnitt durch die Öffnungen laufen können, sofern sie das Richtige gelernt haben.\\
Auch wird sich hier wieder das Zielobjekt nur in einer Linie bewegen (siehe Kapitel~\ref{no_direction_change:sec}), es ist also im Grunde kein Überwachungsszenario im eigentlichen Sinne. Wenn ein Agent den letzten Abschnitt auf der rechten Seite erreicht, ist das Problem im Grunde schon gelöst. Primär soll, im Vergleich z.B. zum Säulenszenario, auch gezeigt werden, dass SXCS bei einer solchen Problemstellung im Vergleich zu XCS nicht versagt, also durch die Abänderungen nicht die Eigenschaften verliert, die XCS in einfacheren, statischen Problemen zeigt.\\
Zuerst wird mit der einfachen Auswahlart \emph{roulette wheel selection} die Lernrate in Abbildung~\ref{difficult_roulette_learn:fig} getestet. Hier sieht man mehrere Eigenschaften:
\begin{itemize}
\item SXCS und DSXCS haben in etwa denselben Verlauf.
\item XCS liegt unter der Qualität von SXCS.
\item XCS erreicht etwas stabilere Ergebnisse, sichtbar an der glatteren Kurve.
\item Für SXCS und DSXCS ändert sich im betrachteten Bereich für etwa \(\beta > 0,2\) nichts mehr, für XCS für etwa \(\beta > 0,7\).
\end{itemize}
\begin{figure}[htbp]
\centerline{
\includegraphics{difficult_roulette_learn.eps}
}
\caption[Auswirkung der Lernrate auf die Qualität (schwieriges Szenario) von Agenten mit XCS, SXCS und DSXCS]{Auswirkung der Lernrate auf die Qualität (schwieriges Szenario, Agenten mit XCS, SXCS und DSXCS, \emph{roulette wheel selection})}
\label{difficult_roulette_learn:fig}
\end{figure}
Zwar erreicht XCS ähnliche Ergebnisse wie SXCS, allerdings nur durch über eine hohe Lernrate. Wie in Kapitel~\ref{sec:learnrate_parameter} gesehen, führt dies aber zu deutlich schlechteren Ergebnissen in anderen Szenarien, weshalb insgesamt gesagt werden muss, dass für die benutzte Auswahlart XCS auch hier unterliegt. Insgesamt erscheint \(0,2\) als passender Wert für die Lernrate, auch im Hinblick auf die Standardwerte in der Literatur (siehe Kapitel~\ref{uebersicht_parameter:sec}) und bezüglich der Vergleichbarkeit mit Ergebnissen in anderen Szenarien.\\
\subsection{SXCS mit intelligenter Heuristik im schwierigen Szenario}\label{sxcs_intelligent_difficult_test:sec}
Betrachtet man die Ergebnisse der Heuristiken im schwierigen Szenario (siehe Kapitel~\ref{test_schwieriges_szenario:sec}), stellt man fest, dass diese etwas niedriger sind. SXCS hat im betrachteten Szenario in Kapitel~\ref{xcs_difficult_scenario:sec} etwa \(29,24\%\), während die intelligente Heuristik dort einen Wert von etwa \(40,63\%\) erreicht. Im Folgenden wird nun geprüft werden, ob anhand der besprochenen Methoden eine Verbesserung erzielt werden kann.\\
Anstatt \emph{roulette wheel selection} soll nun verstärkt die Verfahren der \emph{exploit} Phase angewendet werden. Hierzu wurden eine Reihe von Experimenten durchgeführt, die erfolgreichsten Ergebnisse erbrachte zuerst eine abwechselnde \emph{explore}/\emph{exploit} Phase mit \emph{roulette wheel selection} und \emph{best selection} mit \(36,22\%\) für SXCS (mit \(\beta = 0,2\)), während sich der XCS Wert nur minimal verbesserte.\\
Noch weiter konnte die Qualität durch die Verwendung einer abwechselnden \emph{explore}/\emph{exploit} Phase (mit \emph{tournament selection} in der \emph{explore} Phase und \emph{best selection} in der \emph{exploit} Phase) gesteigert werden (siehe Abbildung~\ref{difficult_roulette_learn2:fig}, die Tests für SXCS wurden hier zur Sicherheit über 20 Experimente durchgeführt). Der hier ermittelte Optimalwert für \(p = 0,84\) liegt nun mit 43,75\% (bei \(\beta = 0,2\)) deutlich über dem Wert der Heuristik. Damit ist gezeigt, dass die Quelle der Steigerung aus zusätzlicher Erlernung der Hindernisse rührt, eine Eigenschaft, die der intelligenten Heuristik fehlt.\\
\begin{figure}[htbp]
\centerline{
\includegraphics{difficult_roulette_learn2.eps}
}
\caption[Auswirkung der Lernrate auf die Qualität (schwieriges Szenario) von Agenten mit XCS und SXCS mit abwechselnder \emph{explore}/\emph{exploit} Phase]{Auswirkung der Lernrate auf die Qualität (schwieriges Szenario, Agenten mit XCS und SXCS, mit abwechselnder \emph{explore}/\emph{exploit} Phase)}
\label{difficult_roulette_learn2:fig}
\end{figure}
Als letztes wird eine Variation der Anzahl der Probleminstanzen in Verbindung mit dem schwierigen Szenario betrachtet. Es wird Testlauf durchgeführt, bei dem insgesamt jeweils genau 8.000 Schritte durchgeführt werden. Die 8.000 Schritte werden allerdings jeweils auf eine unterschiedliche Anzahl von Problemeninstanzen verteilt, d.h. es wird eine Probleminstanz mit 8.000 Schritten, 2 Probleminstanzen mit jeweils 4.000 Schritten, 4 Probleminstanzen mit jeweils 2.000 Schritten usw. getestet. Neben den oben ermittelten Werten für die Lernrate \(\beta = 0,2\) und dem Standardwert \emph{tournament factor p}~\( = 0,84\) ist außerdem (wie in Kapitel~\ref{groesse_stack:sec} untersucht) die Größe des Stacks von \(32\) statt \(8\) benutzt worden, was zu einer weiteren Erhöhung der Qualität führte.\\
In Abbildung~\ref{difficult_intelligent_sxcs:fig} ist ein Vergleich mit der intelligenten Heuristik dargestellt. Hier sieht man, dass ab 8 Probleminstanzen mit jeweils 500 Schritten der SXCS Algorithmus etwas besser abschneidet als der intelligente Algorithmus. SXCS kann die geringere Schrittzahl durch eine erhöhte Anzahl von Probleminstanzen also durch Erlernen eines Weges durch das Szenario kompensieren. Auch sieht man, dass SXCS bei nur einer Problemzahl eine deutlich niedrigere Qualität erreicht. Dies rührt daher, dass der Weg zum Ziel bis dahin noch nicht gefunden wurde und erst gelernt werden muss, dann aber bis 8 Probleminstanzen mit der intelligenten Heuristik mithält und dann aufgrund der niedrigen Zahl von Schritten abfällt. Dagegen bedarf XCS ganzer 8 Probleminstanzen um das Maximum zu erreichen, die Lerngeschwindigkeit ist also deutlich geringer.\\
\begin{figure}[htbp]
\centerline{
\includegraphics{difficult_intelligent_sxcs.eps}
}
\caption[Qualität bei unterschiedlicher Anzahl von Problemen bei gleichbleibender Gesamtzeit (schwieriges Szenario)]{Qualität bei unterschiedlicher Anzahl von Problemen bei gleichbleibender Gesamtzeit (schwieriges Szenario)}
\label{difficult_intelligent_sxcs:fig}
\end{figure}
\section{Vergleich SXCS mit DSXCS}\label{dsxcs_analysis:sec}
Wie in Tabelle~\ref{table:dsxcs_comp} zu sehen, erreicht DSXCS im Säulenszenario mit und ohne Kommunikation nicht die Qualität von SXCS. Anzumerken ist allerdings, dass die egoistische Kommunikationsgruppe einen etwas höheren Wert als die einzelne Kommunikationsgruppe erreicht, was vielleicht bedeutet, dass die Annahme, dass die indiskriminierende Verteilung des \emph{reward} Werts an alle Agenten nachteilig sein könnte. Desweiteren fällt deutlich der Unterschied in der Varianz der Punkte auf, d.h. im Gegensatz zu SXCS ähnelt sich der Anteil, den jeder Agent am Gesamtergebnis beiträgt, bei den Varianten mit Kommunikation stärker. Dies wiederum könnte auf eine Form kollaborativer Zusammenarbeit deuten. Der geringe Anteil der Varianz von XCS lässt sich durch das niedrige Ergebnis erklären.\\
\begin{table}[ht]
\caption{Vergleich von SXCS mit den DSXCS Varianten (Säulenszenario, \emph{best selection})}
\centering
\begin{tabular}{c c c c}
\hline\hline
Algorithmus & Varianz Punkte & Abdeckung & Qualität \\ [0.5ex]
\hline
XCS & 53,96 & 69,95\% & 12,41\% \\
SXCS & 78,51 & 70,50\% & 19,03\% \\
DSXCS (ohne Kommunikation) & 72,85 & 70,33\% & 16,96\% \\
Einzelne Kommunikationsgruppe & 49,73 & 68,45\% & 14,91\% \\
Egoistische Kommunikationsgruppe & 47,70 & 68,39\% & 15,30\% \\ [1ex]
\hline
\end{tabular}
\label{table:dsxcs_comp}
\end{table}
Eine Betrachtung des gleitenden Durchschnitts führt auch zu keinen neuen Erkenntnissen (siehe Abbildung~\ref{vergleich_plot_sxcs_dsxcs:fig}). Die zwei Varianten mit Kommunikation haben einen sehr ähnlichen Verlauf, DSXCS liegt etwas unter SXCS und SXCS erreicht zu jedem Zeitpunkt den höchsten Wert. Anzumerken sei hier nur die Lernkurve der dargestellten Algorithmen.\\
\begin{figure}[htbp]
\centerline{
\includegraphics{plot_100_goal_agent_observed-31-03-09--05-20-46-136.eps}
}
\caption[Vergleich des Verlaufs des gleitenden Durchschnitts der Qualität von SXCS und DSXCS (Säulenszenario)]{Vergleich des Verlaufs des gleitenden Durchschnitts der Qualität von SXCS und DSXCS (Säulenszenario, \emph{best selection})}
\label{vergleich_plot_sxcs_dsxcs:fig}
\end{figure}
\section{Bewertung Kommunikation}\label{bewertung_komm:sec}
Bei keiner der zwei in Kapitel~\ref{einfache_gruppe_kommunikation:sec} und Kapitel~\ref{egoistic_relation:sec} vorgestellten Kommunikationsarten konnten in den betrachteten Szenarios Vorteile, was die Qualität betrifft, gegenüber dem SXCS Algorithmus ohne Kommunikation festgestellt werden. Einzig eine etwas höhere Qualität der einzelnen Kommunikationsgruppe gegenüber der DSXCS Variante ohne Kommunikation konnte festgestellt werden.\\
Kommunikation war allerdings nicht der Hauptschwerpunkt dieser Arbeit, die Erweiterung bot sich primär an, da sie einfach zu implementieren war. Es ist vor allem in der Theorie mehr Aufwand nötig um Kommunikation in diesem Zusammenhang zu bewerten. Hinsichtlich der Anzahl möglicher Erweiterungen, die im Ausblick in Kapitel~\ref{ausblick:sec} aufgelistet sind, erscheint es sinnvoll, den Punkt der Kommunikation in Verbindung mit auf SXCS basierenden Agenten erst wieder aufzugreifen, nachdem diese Punkte untersucht wurden.\\
Die Untersuchung in Kapitel~\ref{dsxcs_analysis:sec} konnte nicht klären, wo das Problem bei dieser Umsetzung von Kommunikation lag. Aufgrund zeitlicher Begrenzung der Arbeit sind die Untersuchungen aber noch nicht abgeschlossen gewesen. Es können deshalb nur eine Reihe Vermutungen angegeben werden:
\begin{itemize}
\item Die Weitergabe des \emph{reward} Werts basierte auf der Idee, nicht beteiligte Agenten an einem positiven \emph{base reward} zu beteiligen, da sie trotzdem ein Gebiet überwachen.
\item Die Implementierung über den separaten Faktor war nicht zielführend. Möglicherweise muss eine bessere Funktion bei der Auswertung der gespeicherten \emph{action set} Listen gefunden werden (siehe Kapitel~\ref{verzoegerter_reward:sec}).
\item Die Implementierung sorgte bei der Kombination der \emph{reward} Werte bei der egoistischen Kommunikationsgruppe für einen unstetige Verlauf der neuen Verteilung des \emph{reward} Werts unter den \emph{action set} Listen (siehe letzter Graph in Abbildung~\ref{corrected_reward:fig}).
\item Die Erwartungen (in Kapitel~\ref{egoistic_relation:sec} an die Agenten, dass sie Gruppen auf Basis des Aktualisierungsfaktors bilden, war zu hoch gegriffen. Möglicherweise muss der Ansatz der Übermittlung der \emph{reward} Werte mittels Aktualisierungsfaktors überdacht werden.
\item Die indiskriminierende Verteilung des \emph{reward} Werts an alle Agenten sorgte bei der einzelnen Kommunikationsgruppe (siehe Kapitel~\ref{einfache_gruppe_kommunikation:sec}) für die Bewertung von Agenten, die nicht zur der Lösung des Problems beigetragen haben.
\item Der relativ geringe Wert für die Größe des Stacks bei SXCS könnte ein Indiz darauf sein, dass nur relativ kurze Wege gelernt werden müssen, während bei der Kommunikation das Augenmerk mehr auf Belohnung längerfristiger Positionierung lag.
\end{itemize}
\section{Zusammenfassung der Ergebnisse}
In den Tests erreichten die in Kapitel~\ref{analysis_sans_lcs:cha} getesteten Algorithmen mit einfacher und mit intelligenter Heuristik deutlich bessere Werte als die betrachteten XCS Varianten. Dies liegt erst einmal daran, dass das XCS andauernd versucht, mittels genetischer Operatoren neue \emph{classifier} zu generieren, was die Auswahl der Regeln stören kann. Auch versuchen die lernenden Agenten andauernd, Korrelationen zu finden, welche nicht unbedingt vorhanden sind. Tritt beispielsweise ein Hindernis gleichzeitig mit dem Zielobjekt auf, so wird das Hindernis (im übertragenen Sinn) als "`gut"' empfunden, obwohl das Zielobjekt selbst die Hindernisse überhaupt nicht in die Entscheidung miteinbezieht, in welche Richtung es laufen soll.\\
Schafft man es den in dieser Arbeit vorgestellten SXCS Algorithmus weiter zu verbessern, ist es durchaus denkbar, dass ähnliche Qualitäten erreicht werden können. Insbesondere die im Ausblick in Kapitel~\ref{ausblick:sec} diskutierten Erweiterungen bieten sich dazu an.\\
Außerdem wurde beim Test in Szenarien mit vielen Hindernissen in Kapitel~\ref{analysis_random_scenario_xcs:sec} festgestellt, dass ein hoher Anteil von \emph{exploit} Phasen (bzw. ein großer Wert für den \emph{tournament factor} \(p\)) dazu führen kann, dass einzelne Agenten andauernd in Richtung eines Hindernis laufen. Da dies u.U. zu über 70\% blockierten Bewegungen (und entsprechend niedriger Qualität) führt, haben die Agenten es also offensichtlich nicht geschafft, Sensorinformationen über Hindernisse sinnvoll zu verarbeiten und zu erlernen.\\
Ausnahme hierfür bieten die Ergebnisse aus dem schwierigen Szenario, der Weg zum Ziel war hier wesentlicher Bestandteil der Lösung, die Öffnungen wurden erkannt und ausgenutzt.\\
Als Gründe kann man mehrere Punkte anbringen. Sensorinformationen alleine können es nicht sein, denn die betrachteten Heuristiken schaffen es schließlich völlig ohne Information über die Hindernisse. Aber hier liegt auch schon das, für menschliche Beobachter auf den ersten Blick vielleicht etwas seltsam erscheinende, Problem. Ein wesentlicher Punkt ist, dass die Agenten lernen müssen, Hindernisse zu ignorieren. Beim gleichzeitigen Auftreten von Hindernissen und dem Zielobjekt ziehen sie u.U. fehlerhafte Schlüsse, da sich das Zielobjekt (fast) unabhängig von den Hindernissen bewegt. Würde sich das Zielobjekt beispielsweise andauernd um eine ganz bestimmte Hinderniskonfiguration herumbewegen, hätten auf XCS basierende Agenten wohl einen gewissen Vorteil.\\