Die Q-Tabelle
Wir wählen einen (zunächst vielleicht etwas umständlich erscheinenden) Weg, das Verhalten des Agenten durch Variablen festzulegen. Wir legen ein zweidimensionales Feld von Daten an, in dem für jede Situation gespeichert ist, wie gut eine bestimmte Aktion in dieser Situation eingeschätzt wird, die Qualität der Aktion. Diese Qualitätswerte werden kurz auch als Q-Werte bezeichnet.
Aufgabe 1: Erstellung einer Q-Tabelle auf Papier
Erstelle auf Papier (oder in einer Text-Datei oder in einem Tabellenkalkulationssystem) eine Tabelle, bei der die einzelnen Zeilen die Situationen und die Spalten den Aktionen entsprechen. Es gibt 12 Situationen und 8 Aktionen. Vermerke in den einzelnen Feldern der Tabelle eine 0, wenn bei einer bestimmten Situation die zugehörige Aktion nicht optimal ist und eine 1, wenn die zugehörige Aktion optimal ist.Aufgabe 2: Übertragung der Q-Tabelle in Python
Definiere in der Python-Funktioninitialisiere_agent
die Tabelle Q
. Für einen "feigen" Agenten würde die Funktion dann so aussehen:
def initialisiere_agent(anzahl_situationen_, anzahl_aktionen_):
'''
Initialisiert den Agenten.
Dabei wird als erster Parameter die Anzahl der möglichen Situationen
und als zweiter Parameter die Anzahl der insgesamt möglichen Aktionen angegeben.
'''
global anzahl_situationen
global anzahl_aktionen
anzahl_situationen=anzahl_situationen_
anzahl_aktionen=anzahl_aktionen_
global Q
Q=[[1,0,0,0,0,0,0,0],\
[1,0,0,0,0,0,0,0],\
[1,0,0,0,0,0,0,0],\
[1,0,0,0,0,0,0,0],\
[1,0,0,0,0,0,0,0],\
[1,0,0,0,0,0,0,0],\
[1,0,0,0,0,0,0,0],\
[1,0,0,0,0,0,0,0],\
[1,0,0,0,0,0,0,0],\
[1,0,0,0,0,0,0,0],\
[1,0,0,0,0,0,0,0],\
[1,0,0,0,0,0,0,0]]
Natürlich sollst du aber keinen "feigen", sondern einen optimalen
Agenten implementieren. Vergiss nicht die Zeile
global Q
Sie sorgt dafür, dass die Q-Tabelle auch allen anderen
Funktionen des Python-Programms zur Verfügung steht.