Organische Künstliche Intelligenz

Werbung
DIPLOMARBEIT
Organische Künstliche Intelligenz
Eine Architektur für verteilte Künstliche Intelligenzen am Beispiel
Roboterfussball
ausgeführt am
TECHNIKUM WIEN
Studiengang Elektronische Informationsdienste
von
Dietmar Schreiner
Matr.Nr. 0310094037
Erstbegutachter: Dipl. Ing. Dr. Robert Pucher
Zweitbegutachter: Dipl. Ing. Dr. Markus Schordan
Wien, Juni 2005
EIDESSTATTLICHE ERKLÄRUNG
Ich versichere,
1. dass ich die Diplomarbeit selbständig verfasst, andere als die angegebenen Hilfsmittel nicht benutzt und mich auch sonst keiner unerlaubten
Hilfe bedient habe.
2. dass ich diese Diplomarbeit bisher weder im In- oder Ausland in irgendeiner Form als Prüfungsarbeit vorgelegt habe.
3. dass die Version der Diplomarbeit, die ich meinen Betreuern zur Approbation vorgelegt habe, inhaltlich ident ist mit jener Version, die ich
im Prüfungsreferat eingereicht habe.
Wien, am 01.06.2005
.....................................
Unterschrift
Abstract
The significant increase in demand for mobile autonomous robots over the last few
years has led to a boost in research and development in the fields of artificial intelligence and robotics. This thesis proposes an architecture for a flexible extendable
and scaleable artificial intelligence for robotic soccer as simplified environment of a
Multi Agent Domain. The architecture is based on the physiological functionality
of the central nervous system of animals and therefore supports highly parallel,
loosely coupled, asynchronous subsystems. A software design paradigm has been
developed to meet the requirements imposed by these considerations. The architecture provides a launchpad for scientific research, and allows the development of
state-of-the-art artificial intelligence for robotic soccer competitions.
iii
Kurzfassung
Die steigende Nachfrage nach mobilen autonomen Robotern hat zu einer Steigerung der Nachfrage im Bereich der Wissenschaft, im speziellen den Fachgebieten
Künstliche Intelligenz und Robotik geführt. In dieser Diplomarbeit wird eine Architektur für eine flexible, erweiter- und skalierbare Künstliche Intelligenz für Roboterfußball entwickelt, die basierend auf biologischen Gehirnfunktionsmodellen von
Tieren hochparallele, asynchrone Funktionssysteme unterstützt. Diese Architektur
bildet zum einen die Grundlage für wissenschaftliche Untersuchungen, zum anderen erlaubt sie die Entwicklung einer state-of-the-art“ Künstlichen Intelligenz für
”
Roboterfußball-Wettkämpfe.
iv
Danksagung
Hiermit möchte ich mich bei all jenen bedanken, die diese Arbeit erst möglich
gemacht haben. Bei Herrn Dr. Robert Pucher für die Möglichkeit diese Arbeit
zu schreiben und für die Freiheit dabei einer eigenen Theorie nachzugehen,
bei Herrn Dr. Markus Schordan und Herrn Dr. Hermann Schobesberger für
die zahllosen fachlichen Diskussionen, sowie beim gesamten RoboCup-Team
des Technikum Wien, im besonderen bei Herrn Dipl.Ing.(FH) Alexander Hofmann, für die gute Zusammenarbeit und ein großartiges Projekt.
Außerdem möchte ich meiner Familie und all meinen Freunden danken, die
mich tatkräftig unterstützt haben und ohne die diese Arbeit wohl nicht zustandegekommen wäre.
Danke.
Inhaltsverzeichnis
1 Einleitung
1.1 Zielsetzungen . . . . . . . . . . . . . . . . . . . .
1.2 Aufbau der Arbeit . . . . . . . . . . . . . . . . .
1.3 Voraussetzungen . . . . . . . . . . . . . . . . . .
1.3.1 RoboCup . . . . . . . . . . . . . . . . . .
1.3.1.1 Entwicklung des RoboCup . . . .
1.3.1.2 Ligen . . . . . . . . . . . . . . .
1.3.1.3 Regelwerk der Small Size League
1.3.2 Vienna Cubes . . . . . . . . . . . . . . . .
1.3.2.1 Aufbau . . . . . . . . . . . . . .
2 Geschichte der KI
2.1 Pionierphase (1943 - 1956) . . . . . .
2.2 Aufbruchsphase (1952 - 1969) . . . .
2.3 Depressionsphase (1966 - 1974) . . .
2.4 Aufschwungphase (1969 - 1979) . . .
2.5 Kommerzialisierungsphase (ab 1980)
2.6 Formalisierungsphase (ab 1986) . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
2
2
3
3
4
4
9
13
14
.
.
.
.
.
.
16
16
17
19
19
21
22
3 Methoden der KI
23
3.1 Symbolismus . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2 Konnektionismus . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.3 Behaviorismus . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4 Klassische Architekturen
28
4.1 Agenten Architekturen . . . . . . . . . . . . . . . . . . . . . . 29
vi
4.1.1 Tabellengesteuerte Agenten .
4.1.2 Einfache Reflex-Agenten . . .
4.1.3 Modellbasierte Reflex-Agenten
4.1.4 Zielbasierte Agenten . . . . .
4.1.5 Nutzenbasierte Agenten . . .
4.1.6 Lernende Agenten . . . . . . .
4.2 Subsumption Architektur . . . . . . .
4.2.1 Anforderungen . . . . . . . .
4.2.2 Aufbau . . . . . . . . . . . . .
4.2.3 Beispiel . . . . . . . . . . . .
4.3 Drei-Schichten Architektur . . . . . .
.
.
.
.
.
.
.
.
.
.
.
5 Organische KI Architektur
5.1 Motivation . . . . . . . . . . . . . . . .
5.2 Aufbau . . . . . . . . . . . . . . . . . .
5.2.1 Grundbausteine . . . . . . . . .
5.2.1.1 Gedächtnisspeicher . .
5.2.1.2 Verarbeitungseinheiten
5.2.1.3 Entscheider . . . . . .
5.2.2 Datenfluss . . . . . . . . . . . .
5.2.2.1 Logische Sicht . . . . .
5.2.2.2 Physische Sicht . . . .
5.3 Abgrenzung . . . . . . . . . . . . . . .
5.4 Software-Entwurfs-Paradigma . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6 Organische KI der Vienna Cubes
6.1 Sensorisches Zentrum . . . . . . . . . . . . . . .
6.2 Antizipatorisches Zentrum . . . . . . . . . . . .
6.3 Motorisches Zentrum . . . . . . . . . . . . . . .
6.3.1 Skills . . . . . . . . . . . . . . . . . . . .
6.3.2 Fusionseinheiten . . . . . . . . . . . . .
6.4 Deliberatives Zentrum . . . . . . . . . . . . . .
6.4.1 Situations- und Stellungsbewertung . . .
6.4.2 Spielzugauswahl und Spielzugausführung
vii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
33
34
36
38
41
42
44
45
46
47
49
.
.
.
.
.
.
.
.
.
.
.
51
51
52
53
53
54
55
58
58
61
66
67
.
.
.
.
.
.
.
.
70
72
74
78
78
79
81
81
83
6.4.3
Rollenvergabe . . . . . . . . . . . . . . . . . . . . . . . 83
7 Ausblick
85
viii
Abkürzungsverzeichnis
AFSM
AI
DEA
EDEA
FSM
GPS
HKSL
HMSL
KI
MAS
MSL
ODE
OKI
PBL
SSL
Augmented Finite State Machine
Artificial Intelligence
Deterministischer Endlicher Automat
Erweiterter Deterministischer Endlicher Automat
Finite State Machine
General Problem Solver
Humanoid Kid Size League
Humanoid Medium Size League
Künstliche Intelligenz
Multi-Agenten-Systeme
Middle Size League
Open Dynamics Engine
Organische Künstliche Intelligenz
Projektbasiertes Lernen
Small Size League
ix
Kapitel 1
Einleitung
Autonome mobile Roboter stehen zunehmend im Mittelpunkt vielfältiger
Forschungsaktivitäten. Dabei stellt die Praxistauglichkeit, also die Einsetzbarkeit der Roboter in der alltäglichen Welt, ein zentrales Thema wissenschaftlicher Arbeiten dar. Die reale Welt weist allerdings eine große Zahl
unbekannter Einflussfaktoren auf einen Roboter auf, wodurch die Komplexität der zu untersuchenden Probleme zu groß wird, um vergleichbare beziehungsweise reproduzierbare Ergebnisse zu erhalten. Aus diesem Grund wird
die Tauglichkeit von Konzepten zumeist in vereinfachten, standardisierten,
künstlichen Umgebungen überprüft, in denen externe Einflussfaktoren ausgeschlossen, oder sofern dies nicht möglich ist, zumindest bekannt sind.
Eine solche standardisierte hochdynamische Umgebung stellt Roboterfußball
dar. In einer einfachen künstlichen Umgebung, dem Fußballspiel, sind unter exakt spezifizierten Regeln verschiedenste Aufgaben der Informatik und
Robotik zu bewältigen. Dabei lassen sich spielerisch verschiedenste konkurrierende Ansätze aus den zugrundeliegenden Forschungsgebieten vergleichen.
Das Technikum Wien engagiert sich mit dem Projekt Vienna Cubes“ 1 seit
”
2002 im Roboterfußball, wobei bereits 2004 mit einer Viertelfinalplatzierung
bei der Weltmeisterschaft in Lissabon ein international beachtlicher Erfolg
erzielt werden konnte.
1
http://cubes.technikum-wien.at
1
1.1
Zielsetzungen
Diese Arbeit ist im Rahmen des Vienna Cubes Roboterfußballprojekts an
der Fachhochschule Technikum Wien entstanden. Zielsetzung war die Entwicklung einer umfassenden Künstliche Intelligenz (KI), die zum einen in
Roboterfußball-Wettbewerben erfolgreich bestehen kann, zum anderen aber
eine flexible Plattform für wissenschaftliche Untersuchungen an den bereits
entwickelten beziehungsweise neu zu entwickelnden Methoden zur Verfügung
stellt. Eine neue wissenschaftlich zu untersuchende Methode ist die Konzeption der Künstlichen Intelligenz als hoch paralleles System, das Daten ähnlich
der organischen Aktivität des menschlichen Gehirns verarbeitet.
Um diesen Anforderungen zu genügen wurde der Ansatz verfolgt im ersten
Schritt eine Software-Architektur zu entwickeln, die aufgrund ihrer Beschaffenheit gut erweiterbar, möglichst sprach- und plattformunabhängig und
nicht an bestehende Konzepte gebunden ist. Im zweiten Schritt wurde dann
unter Verwendung der neuen Architektur eine Künstliche Intelligenz entwickelt, die ab Mitte 2005 zur Anwendung bei Fußballspielen kommen, die
aber auch als Grundlage für weitere Untersuchungen der eingesetzten Methoden und Konzepte dienen wird.
1.2
Aufbau der Arbeit
Der Aufbau dieser Arbeit ist so gewählt, dass in den Kapiteln 1 bis 4 grundlegende Aspekte der Künstlichen Intelligenz sowie deren klassische Architekturen vorgestellt werden, um im Kapitel 5 eine neue Architektur zu entwickeln
und mit dieser in Kapitel 6 eine hochparallele, verteilte Multi-Agenten KI
der Vienna Cubes zu entwerfen.
In Kapitel 1 wird die Zielsetzung dieser Arbeit dargelegt sowie im Abschnitt
1.3.1 das Umfeld des Roboterfußballs im RoboCup vorgestellt.
Kapitel 2 gibt einen historischen Überblick über die Entwicklung der
Künstlichen Intelligenz als wissenschaftliche Disziplin, in Kapitel 3 werden
Teilbereiche der Künstlichen Intelligenz vorgestellt.
2
Die Erläuterung klassischer Architekturen im Bereich der Künstlichen Intelligenz erfolgt in Kapitel 4, wobei in Abschnitt 4.1, welcher Agentenarchitekturen behandelt, eine formale Beschreibung für Agentensysteme eingeführt
wird.
Schlussendlich wird in Kapitel 5 die im Rahmen der Arbeit entwickelte Architektur für eine Organische Künstliche Intelligenz sowie ein zugehöriges
Software-Design-Paradigma vorgestellt und in Kapitel 6 angewandt um die
KI der Vienna Cubes zu entwerfen.
1.3
Voraussetzungen
Wissenschaftliche Untersuchungen an komplexer Software wie einer Künstlichen Intelligenz erfordern ein standardisiertes Environment um zuverlässige
Aussagen über das untersuchte System treffen zu können. Aus diesem Grund
entstand diese Arbeit an der Fachhochschule Technikum Wien im Umfeld des
Roboterfußballprojekts Vienna Cubes“. Dabei konnte im vollen Umfang auf
”
am Technikum Wien vorhandene Ressourcen aus den Bereichen der Informatik, Elektronik und Mechatronik zurückgegriffen werden, wodurch ein Unterfangen wie die Entwicklung einer umfassenden AI sowie einer dazugehörigen
Gesamtarchitektur erst ermöglicht wurde.
1.3.1
RoboCup
RoboCup2 , ursprünglich Robot Worldcup Initiative“ genannt, ist eine inter”
nationale Initiative für Bildung und Wissenschaft, mit dem Ziel die Forschung
im AI- und Robotikbereich dadurch zu unterstützen, dass ein Standardproblem bereitgestellt wird, anhand dessen neue Technologien erprobt beziehungsweise im Rahmen von projektbasierter Lehre genutzt werden können.3
2
3
http://www.robocup.org
[KTS+ 97]
3
1.3.1.1
Entwicklung des RoboCup
Das Jahr 1997 stellt einen bedeutenden Meilenstein in der Geschichte der
Künstlichen Intelligenz dar, im Mai wurde der amtierende Schachweltmeister
Garry Kasparov von der AI des IBM Deep Blue geschlagen. Im Juli gelang
der NASA Pathfinder-Mission eine erfolgreiche Marslandung, wodurch zum
ersten mal der Einsatz eines autonomen Roboters, Sojourner, ermöglicht wurde. Im Jahr 1997 wurden die ersten Schritte im RoboCup in Richtung einer
Fußballmannschaft unternommen, die im Jahr 2050 in der Lage sein soll, eine
menschliche Mannschaft zu schlagen.
Die Idee, Roboter Fußball spielen zu lassen, wurde zum ersten Mal 1992 von
Alan Mackworth4 aufgegriffen und diskutiert. Im Oktober des selben Jahres
beschloss eine Gruppe von japanischen Wissenschaftlern Roboterfußball als
Plattform für internationale Forschung und Wissenschaftspromotion einzusetzen. Dank internationaler Kooperation mit Pionieren des Roboterfußballs
wie Minoru Asada, Yasuo Kuniyoshi, Hiroaki Kitano, Itsuki Noda, Manuela
Veloso oder Peter Stone konnte im August 1995 während der International
”
Joint Conference on Artificial Intelligence (IJCAI-95)5“ die erste Weltmeisterschaft im Roboterfußball für das Jahr 1997 angekündigt werden. Diese
konnte gemeinsam mit einer zugehörigen wissenschaftlichen Konferenz mit
einer aktiven Teilnahme von mehr als 40 Teams und über 5000 Zuschauern
äußerst erfolgreich in Nagoya, Japan, abgehalten werden.
Seitdem wird jährlich eine Weltmeisterschaft im Roboterfußball ausgetragen, zusätzlich finden zahlreiche lokale Veranstaltungen rund um den Globus
statt.
1.3.1.2
Ligen
Im RoboCup werden Bewerbe in unterschiedlichen Ligen ausgetragen, die
verschiedene Zielsetzungen und Rahmenbedingungen aufweisen. Bei den Fußballbewerben wird unterschieden zwischen:
4
5
[Mac92]
[KAK+ 95]
4
Small Size League (SSL) In der Small Size League treten zwei Teams bestehend aus je fünf Robotern zur Austragung eines Fußballspiels gegeneinander an. Das Spiel wird nach den an Roboter angepassten Spielregeln der FIFA6 gespielt. Für die Teams der SSL ist die Verwendung
eines globalen Bilderkennungssystem zulässig, wodurch die Roboter in
der Regel keine eigene, lokale Bilderkennung besitzen, obwohl dies vom
Reglement her erlaubt wäre. Eine kurze Übersicht über die Beschaffenheit eines SSL Spiels wird in Tabelle 1.1 gegeben.
Abmessungen
4, 9m × 3, 4m
70cm × 15cm
Ø 6 18cm, h 6 15cm
Reglementierung
Spieler pro Team 6 5
Ball
Golfball (orange)
Spieldauer
2 x 10 Minuten
Bilderkennung
global
Spielfeld
Tor
Roboter
Tabelle 1.1: SSL Spezifikationen
Da die RoboCup SSL als Environment für diese Arbeit gewählt wurde,
beschäftigt sich Abschnitt 1.3.1.3 genauer mit dem Regelwerk dieser
Liga.
Middle Size League (MSL) Die Roboter der Middle Size League Teams
können nicht wie in der SSL auf eine globale Bilderkennung
zurückgreifen, um ihre eigene Position, die des Gegners, des Balls oder
einfach die der Tore und Begrenzungslinien zu bestimmen. In der Middle Size League besitzt jeder Roboter eine eigene lokale Bilderkennung,
welche ihm eine ich-zentrierte“ Sicht seiner Umwelt liefert. Der Robo”
ter muss somit seine Position und die exakte Beschaffenheit seiner Umgebung durch eigene Augen“ wahrnehmen und erkennen. Selbstloka”
lisierung und Weltrepräsentation stellen somit extrem wichtige Aspekte innerhalb der MSL dar. Den Spielern eines Teams ist es gestattet,
6
http://www.fifa.com
5
Informationen, wenn auch nur mit einer limitierten Bandbreite, auszutauschen, wodurch das Team als Einheit ein quasi-globales Weltmodell
bestimmen kann. Eine Übersicht über die Beschaffenheit eines MSL
Spiels kann auch hier wieder einer Tabelle (Tab.1.2) entnommen werden.
Abmessungen
Spielfeld
12m × 8m
Tor
2m × 1m
Roboter Grundfläche 30cm × 30cm 6 A 6 50cm × 50cm
Roboter Höhe
40cm 6 h 6 80cm
Reglementierung
Spieler pro Team
66
Ball
FIFA Standardgröße 5 (orange)
Spieldauer
2 x 45 Minuten
Bilderkennung
lokal
Tabelle 1.2: MSL Spezifikationen
Four Legged League Ein Fußballmatch in der Four Legged League wird
von Teams aus Robotern der Marke Sony AIBO7 ausgetragen. Diese
handelsüblichen Roboter gleichen in ihrer Form kleinen Hunden, sie bewegen sich daher, im Gegensatz zu den in der SSL und MSL momentan
üblichen mehrrädrigen Robotern, vierbeinig laufend fort. Auch in der
Four Legged League existiert keine globale Bilderkennung, daher stellen Aufgaben wie Selbstlokalisierung und Teamkooperation auch hier
grundlegende Forschungsbereiche dar.
Die Beschaffenheit eines Spiels in der Four Legged League kann Tabelle
1.3 entnommen werden.
Humanoid League Bis zum Jahr 2050 soll ein Fußballspiel zwischen humanoiden Robotern und einer menschlichen Mannschaft möglich sein,
7
http://www.sony.net/Products/aibo/index.html
6
Abmessungen
Spielfeld
5, 4m × 3, 6m
Tor
80cm × 30cm
Roboter
Sony AIBO
Reglementierung
Spieler pro Team 6 4
Ball
AIBO Ball (orange)
Spieldauer
2 x 10 Minuten
Bilderkennung
lokal
Tabelle 1.3: 4-Legged League Spezifikationen
so will es zumindest die Vision des RoboCup. Die humanoide Liga ist
daher die Liga, die das eigentliche Ziel des RoboCup in Angriff nimmt.
Ein Roboter in dieser Liga muss in der Lage sein auf zwei Beinen zu gehen und muss der Form nach einem Menschen ähneln, also zwei Arme
und zwei Beine sowie einen Körper mit einem Kopf besitzen. Um die
Bauweise der humanoiden Roboter nicht zu sehr zu beschränken und
trotzdem ein Fußballspiel zwichen physisch gleichwertigen Spielern zu
erreichen, wird die Humanoid Leage nach Größe (h) der Roboter in
zwei Gruppen aufgeteilt:
• Humanoid Kid Size League (HKSL) für h 6 60cm
• Humanoid Medium Size League (HMSL) für h > 60cm
Die Beschaffenheit eines Spiels dieser Ligen kann Tabelle 1.4 entnommen werden. Dabei ist noch zu beachten, dass der Wettkampf in Form
eines Elfmeter-Schießens ausgetragen wird. In der Humanoid Kid Size
League wird zusätzlich ein Bewerb in Form eines 2 gegen 2 Fußballspiels
ausgetragen.
Simulation League Spiele in der Simulation League finden auf einem virtuellen Spielfeld im RoboCup Soccer Server Simulator“ statt. Da keine
”
Roboter benötigt werden, liegt in dieser Liga das Hauptaugenmerk auf
Problemen der Künstlichen Intelligenz wie Strategie und Kooperation.
In dieser Liga werden drei Arten von Matches“ durchgeführt:
”
7
Spielfeld
Tor
Roboter
Spieler pro Team
Ball
Spieldauer
Bilderkennung
Abmessungen
HKSL
HMSL
3, 2m × 2, 6m 120cm × 80cm 180cm × 120cm
h 6 60cm
h > 60cm
Reglementierung
2
1
AIBO Ball
FIFA Standardgröße 5
2 x 5 Minuten lokal
lokal
Tabelle 1.4: Humanoid Leagues Spezifikationen
• 2D Simulation
• 3D Simulation
• Coach Competition
RoboCup enthält aber auch Ligen, die nichts mit Fußball zu tun haben, aber
ebenfalls im Bereich Multi-Agenten-Systeme (MAS), Künstliche Intelligenz
und Robotik angesiedelt sind. In diesen Ligen werden vermehrt Konzepte
aus den Fußballligen auf deren Tauglichkeit in alltäglicheren Umgebungen
erprobt.
Rescue Robot League In dieser Liga suchen Erkundungsroboter nach Opfern in einem zerstörten Gebäude. Die Aufgabenstellungen sind die Suche nach Opfern und die Erstellung einer Karte, nach der die Opfer
geborgen werden können. Im Wettkampf wird neben der benötigten
Zeit die Güte der Ausführung bewertet.
Rescue Simulation League In der Rescue Simulation League werden in einem simulierten Katastrophenszenario, z.B. einer Erdbebensituation in
einer Großstadt, Einsätze von Rettungskräften in Echtzeit geplant und
koordiniert, um möglichst effektiv verletzte Opfer zu bergen, blockierte
Straßen zu räumen und die Ausbreitung von Bränden zu verhindern.
Der Vollständigkeit halber sind noch weitere Ligen zu erwähnen, die als
Unterhaltungs- und Nachwuchsligen konzipiert sind:
8
• RoboCup Junior Soccer League
• RoboCup Junior Rescue League
• RoboCup Junior Dance League
1.3.1.3
Regelwerk der Small Size League
Die Small Size League ist die schnellste der RoboCup Fußballligen. Dies begründet sich vor allem in der globalen Bilderkennung, die nur in der SSL
erlaubt ist, und in der vergleichsweise kleinen Größe und dem geringen Gewicht der spielenden Roboter.
An dieser Stelle wird nun eine Zusammenfassung der wichtigsten Regeln der
SSL gegeben, da diese durchaus eine entscheidende Rolle für das Design eines
Roboterfußball-Teams und dessen Artificial Intelligence (AI) spielen. Das Reglement im vollen Umfang kann im RoboCup Rules Repository“ 8 eingesehen
”
werden. Da das Reglement ständig Änderungen unterworfen ist, sollte bei der
Teilnahme an Wettkämpfen die vom Veranstalter ausgeschrieben Version des
Reglements berücksichtigt werden.
Fußball Regelwerk Die Fußballspiele in der SSL werden gemäß den aktuellen Regeln des Welt-Fußballverbandes, der FIFA9 , ausgetragen. Aufgrund der Beschaffenheit der Roboter sowie der aktuellen technischen
Möglichkeiten und wissenschaftlichen Anforderungen werden diese Regeln geringfügig adaptiert.
Roboter Einer der wichtigsten Grundsätze für das Design der Roboter im
RoboCup ist Sicherheit. Roboter müssen so konstruiert werden, dass sie
weder sich selbst noch andere Roboter oder sogar Menschen gefährden
können. Außerdem ist die Größe (Tab.1.5), Markierung und Ausrüstung
der Spieler“ genau festgelegt.
”
Die SSL wird aufgrund des maximalen Roboterdurchmessers von
180mm auch als f180 league“ bezeichnet.
”
8
9
http://www.itee.uq.edu.au/ wyeth/F180%20Rules/index.htm
http://www.fifa.com
9
Höhe
Form
Abmessungen
h 6 15cm ohne lokale Bilderkennung
h 6 21cm mit lokaler Bilderkennung
beliebig, begrenzt durch
stehenden Zylinder mit Ø = 18cm
Tabelle 1.5: SSL Regelwerk - Roboterabmessungen
Am Kopf“ jedes Roboters müssen Farbmarkierungen (Tab.1.6) zur
”
Verarbeitung durch die Bilderkennung angebracht werden. Die Teamkennung besteht aus einem kreisrunden Marker, der genau über dem
visuellen Mittelpunkt des Roboters (bei Betrachtung von oben) angebracht werden muss. Der Teammarker soll die exakte Lokalisierung der
Roboter ermöglichen. Die möglichen Teamfarben sind Gelb und Blau,
sie werden vor jedem Spiel zugeteilt.
Weitere Markierungen am Roboter sind erlaubt, die einzige Einschränkung betrifft die Farbwahl (Tab.1.6). Diese Zusatzmarkierungen
werden verwendet, um einzelne Roboter zu identifizieren und deren
Drehrichtung zu erkennen.
Form
Teammarkierung
kreisrund,
Ø = 50mm
Zusatzmarkierung beliebig
Farben
Teamfarben
Gelb
Blau
Zusatzfarben
Grün
Pink
Cyan
Schwarz
Weiß
Tabelle 1.6: SSL Regelwerk - Robotermarkierung
Ball Der in der SSL verwendete Ball ist ein oranger Golf-Ball. Es können
auch andere Balltypen verwendet werden, sofern sie der Spezifikation
10
(Tab.1.7) entsprechen.
Abmessungen
Ø
43mm
Gewicht 47g
Farbe
orange
Tabelle 1.7: SSL Regelwerk - Ballspezifikation
Spielfeld Das Spielfeld ist ein rechteckiger Bereich von 4, 9m × 3, 4m Ausdehnung. Der bespielbare Bereich umfasst das Spielfeld und eine mindestens 30cm breite Umrandung. Diese Umrandung erlaubt den Robotern
die Durchführung von Einwürfen“ beziehungsweise die Ballführung
”
an den Begrenzungslinien. Genaue Abmessungen in mm können Abbildung 1.1 entnommen werden.
Die ebene Oberfläche des bespielbaren Bereiches besteht aus grünem
Filz oder einem gleichwertigen grünen Teppich, Linien sind mit weißer
Farbe und einer Breite von 10mm am Spielfeld aufgemalt.
Tor Die Tore haben eine Breite von 700mm, eine Höhe von 150mm sowie
eine Tiefe von 180mm. Der Abschluss des Tores nach oben wird durch
ein Netz oder Maschendraht gebildet, sodass der Ball nicht von oben
ins Tor gelangen, die Bilderkennung aber sehr wohl Objekte im Tor
wahrnehmen kann.
Team In der SSL besteht ein Team aus 5 Robotern, genauer gesagt aus 4
Feldspielern und einem Tormann. Der Tormann muss zu Spielbeginn
bekannt gegeben werden. Um dem Schiedsrichter eine Unterscheidung
der Roboter zu ermöglichen, müssen diese eindeutig nummeriert beziehungsweise markiert sein.
Spielverlauf Spiele in der SSL werden von einem menschlichen Schiedsrichter geleitet. Ein Schiedsrichter-Assistent überträgt die Anweisungen des
11
2450
4000
40
0
450
3400
700
50
0
1700
5500
4900
Abbildung 1.1: SSL Regelwerk - Spielfeldabmessungen
Schiedsrichters mittels eines eigenen Programms, der referee box“, an
”
die spielsteuernde Software der Teams.
Ein Spiel wird in zwei Halbzeiten zu je 10 Minuten ausgetragen. Zwischen den Halbzeiten wird eine Pause von 10 Minuten gemacht. Jedem
Team stehen 4 Unterbrechungen (Time Out) zur Verfügung, die Gesamtdauer der Unterbrechungen ist auf 10 Minuten beschränkt.
Zusatzregeln und Modifikationen Die Abseits-Regel wird nicht angewandt, um die wissenschaftlichen Problemstellungen nicht mit zu komplexen Spielregeln in den Hintergrund zu drängen. Außerdem wird so
dem, im Gegensatz zum echten Fußball, hohen Spieltempo bei relativ
geringer Feldgröße Rechnung getragen.
Um das Passspiel und somit die dafür erforderliche Multi-AgentenPlanung zu forcieren, gilt eine sogenannte Dribbling-Beschränkung. Ein
12
Roboter darf den Ball nicht weiter als 50cm in einem Stück führen.
Dabei wird nicht unterschieden, ob dies durch eigene Vorrichtungen
(aktives Dribbling) oder durch simples Schieben (passives Dribbling)
bewerkstelligt wird.
Verlässt der Ball das Spielfeld über eine seitliche Begrenzungslinie
(Out) erfolgt ein Seiteneinwurf. Da die Roboter aber keine Arme für
einen Einwurf besitzen, wird der Einwurf wie ein indirekter Freistoß
ausgeführt.
Um den Robotern die Navigation am Spielfeldrand zu vereinfachen,
werden Einwürfe und Eckbälle nicht direkt von den Begrenzungslinien
sondern von einer imaginären, 10cm ins Spielfeldinnere versetzten Linie
aus durchgeführt.
Da die Roboter in Relation zum Tor sehr breit sind, darf außer dem
Tormann kein weiterer verteidigender Spieler im eigenen Strafraum sein,
ein Verstoß gegen diese Regel wird mit einem Strafstoß sanktioniert.
1.3.2
Vienna Cubes
Im Jahr 2002 traf eine Hand voll Studenten am Technikum Wien die Entscheidung, eine Roboterfußballmannschaft zu entwickeln, um 2003 an der
Weltmeisterschaft, dem RoboCup, teilzunehmen. Aus dieser Idee entwickelte
sich ein eigenständiges, äußerst erfolgreiches, interdisziplinäres Projekt mit
momentan fast 20 Mitarbeitern, die Vienna Cubes. Dank tatkräftiger Unterstützung durch das Technikum Wien sowie dem unerschöpflichen Einsatz
aller Teammitglieder konnte sowohl im technischen Bereich eine international
konkurenzfähige Roboter-Equipe entwickelt als auch ein Referenzprojekt für
Projektbasiertes Lernen (PBL) etabliert werden. Das Projekt ist mittlerweile
soweit fortgeschritten, dass neben der Weiterentwicklung der Kampfmann”
schaft“ auch wissenschaftliche Untersuchungen durchgeführt werden können.
13
1.3.2.1
Aufbau
Das System der Vienna Cubes (Abb. 1.2) entspricht dem momentan in der
SSL gängigen Aufbau.
Referee Box
AI
Plausibilitätsprüfung
Video
Vision
Video
Abbildung 1.2: Systemübersicht Vienna Cubes
• Über dem Spielfeld montierte Kameras erfassen den bespielbaren Bereich mit allen darin befindlichen Objekten. Die Bilddaten werden an
das Bilderkennungssystem, die Vision, weitergeleitet.
• Diese führt eine Korrektur der erfassten Bilder durch, da durch Kameras und Beleuchtung Verzerrungen und Farbverfälschungen entstehen.
Anhand der korrigierten Bilder werden dann Attribute wie die Position, Identität sowie Dreh- und Bewegungsrichtung der am Spielfeld
befindlichen Objekte ermittelt.
• Diese von der Vision erkannten Attribute werden im nächsten Schritt
einer Plausibilitätsprüfung unterzogen, um sicherzustellen, dass nur
14
sinnvolle“ Informationen in die AI gelangen. Der Grund hierfür ist
”
in sporadisch auftretenden Erkennungsfehlern zu finden. Wechselnde
Lichtverhältnisse oder Bildfehler können zu falsch errechneten Objektattributen führen.
• Basierend auf den von der Bilderkennung erhaltenen Objektattributen
entwickelt die AI situativ Pläne beziehungsweise Spielzüge, errechnet
strategische und taktische Kommandos für die einzelnen Roboter, zerlegt die Kommandos in einfache Steuerbefehle und übermittelt diese per
Funk an die Roboter. Zusätzlich fließen Informationen in die Berechnungen der AI ein, die per Funk direkt von den Robotern zurückgemeldet
werden. Errechnete Bewegungsvorhersagen werden der Bilderkennung
zur Verfügung gestellt, um Aufenthaltswahrscheinlichkeiten für alle Objekte zu berechnen.
• Die Roboter setzen die empfangenen Befehle um, was wieder von der
Bilderkennung erfasst werden kann. Zusätzlich sind alle Roboter in der
Lage, Informationen über interne Ereignisse per Funk an die AI zu
senden.
15
Kapitel 2
Geschichte der KI
Die geistigen Wurzeln hinter dem Bereich der Künstlichen Intelligenz reichen
beinahe so weit zurück wie die der Menschheit selbst. Schon in der Mythologie der griechischen Antike existierten Maschinen, die mehr oder weniger
intelligentes Verhalten zur Schau stellten. Über die Jahrhunderte wurde die
Idee eines künstlichen Menschen oder einer Maschine, die menschliche Aufgaben bewältigen kann, immer wieder aufgegriffen. Durch die Entwicklung des
modernen Computers wurde es schlussendlich möglich, komplexe intellektuelle Leistungen von Maschinen erledigen zu lassen.
An dieser Stelle soll ein kurzer Überblick über die historische Entwicklung
der Künstlichen Intelligenz gegeben werden. Eine detaillierte kalendarische
Aufstellung kann zum Beispiel auf der Web-Site der American Association
for Artificial Intelligence1 gefunden werden.
2.1
Pionierphase (1943 - 1956)
Die Arbeiten von Warren McCulloch und Walter Pitt (1943) werden als die
ersten Arbeiten auf dem Gebiet der Künstlichen Intelligenz betrachtet. Basierend auf der Neurophysiologie, der formalen Logik von Bertrand Russell und
Alfred N. Whitehead und der Berechenbarkeitstheorie von Alan Turing entwarfen sie ein Modell eines künstlichen neuronalen Netzes. Sie wiesen nach,
1
http://www.aaai.org/AITopics/bbhist.html
16
dass mit diesem Modell alle berechenbaren Funktionen berechnet werden
konnten und dass sich die logischen Junktoren durch einfache Netze realisieren lassen.
Aufbauend auf den Arbeiten von Alan Turing formulierten Allen Newell und
Herbert Simon von der Carnegie-Mellon-University in Pittsburgh die Physical Symbol System Hypothesis2 , nach der Denken eine Form von Informationsverarbeitung und Informationsverarbeitung ein Rechenvorgang, also
Symbolmanipulation, ist.
In den frühen 1950er Jahren schrieben Claude Shannon und Alan Turing
Schachprogramme für konventionelle von-Neumann-Computer.
Marvin Minsky und Dean Edmonds bauten 1951 in Princeton SNARC, den
ersten Computer der das Konzept eines neuronalen Netzes verwirklichte.
John McCarthy organisierte im Sommer 1956 am Dartmouth College einen
zweimonatigen Workshop, zu dem Forscher auf den Gebieten Automatentheorie, Neuronale Netze und Kognitivwissenschaften eingeladen waren. Bei
diesem Workshop präsentierten Allen Newell und Herbert Simon von der
Carnegie Tech3 ihren Logical Theorist, den ersten Theorembeweiser. Auf
Vorschlag McCarthys wurde für das neue gemeinsame Forschungsgebiet die
Bezeichnung Artificial Intelligence“ gewählt.
”
2.2
Aufbruchsphase (1952 - 1969)
Arthur Samuel entwickelte 1952 bei IBM ein Dame-Programm mit
Lernfähigkeit. Es lernte nach kurzer Zeit besser Dame zu spielen als sein
Entwickler.
Newell und Simon entwickelten nach ihrem Logical Theorist den General
Problem Solver (GPS). Er sollte die menschliche Vorgehensweise beim Problemlösen simulieren, konnte Puzzles lösen und ging beim Aufstellen von
2
3
[NS76]
heute Carnegie Mellon University
17
Teilzielen und ihrer Lösung ähnlich vor wie Menschen. GPS gehört damit in
den engeren Bereich der Kognitionswissenschaft.
Herbert Gelernter entwickelte 1959 bei IBM den Geometry Theorem Prover.
Er bewies auf der Basis logischer Repräsentationen Aussagen aus der Geometrie. Beim Gebrauch des Geometry Theorem Prover stellte sich heraus, dass
die Suche in Suchräumen und der damit oft verbundene enorme zeitliche
Aufwand ein allgemeines Problem für Theorembeweiser ist.
Im MIT AI Lab Memo No. 14 definierte John McCarthy 1958 die Programmiersprache Lisp, die in der Folgezeit zur dominierenden KI-Sprache wurde.
Im selben Jahr publizierte er seinen Advice Taker5 . Der Advice Taker war ein
Problemlöser wie der Logical Theorist oder der Geometry Theorem Prover,
im Unterschied zu diesen involvierte er aber auch allgemeines Weltwissen. Er
konnte auch während des Problemlösungsprozesses neue Axiome aufnehmen
und dadurch seine Kompetenz erweitern, ohne dass ein Entwickler eingreifen
musste.
Marvin Minsky entwickelte zusammen mit John McCarthy die Konzepte der KI weiter, allerdings entfernte er sich allmählich von der formalen Logik und der expliziten Wissensrepräsentation und nahm mit der
Zeit einen anti-logischen Standpunkt ein. In seinem Umkreis am MIT
beschäftigten sich verschiedene Leute mit der Lösung spezieller Probleme
mit beschränktem Anwendungsbereich, genannt Mikrowelten. Dazu gehörten
James Slagles SAINT-Programm zur Lösung von Integrationsaufgaben, Tom
Evans ANALOGY-Programm zur Lösung von IQ-Test-typischen Analogieaufgaben, Bertram Raphaels SIR-Programm (Semantic Information Retrieval)
zur Beantwortung von in englischer Sprache gestellten Fragen und Daniel
Bobrows STUDENT-Programm zur Lösung algebraischer Textaufgaben.
1965 entdeckte J.A. Robinson die Resolutions-Methode6 für das Theorembeweisen. Dies beeinflusste die Weiterentwicklung des Advice Takers stark. In
Stanford etablierte sich damit die Methode des logischen Schließens.
4
[McC58a]
[McC58b]
6
[Rob65]
5
18
Parallel dazu wurde die Arbeit an den Neuronalen Netzen fortgesetzt. Bernie
Widrow entwickelte 1962 das Adaline und Frank Rosenblatt das Perzeptron.
2.3
Depressionsphase (1966 - 1974)
Im Lauf der Jahre stießen viele KI-Forschungsprojekte an Grenzen, die
unüberwindbar schienen: Die entwickelten Methoden ließen sich gut an einigen Beispielen demonstrieren, scheiterten aber bei der Übertragung auf
komplexere Probleme. Einer der Gründe hierfür war, dass die frühen KISysteme wenig oder gar kein Kontextwissen des Anwendugsbereiches besaßen
und primär mit einfachen syntaktischen Manipulationen arbeiteten. Da die
Komplexitätstheorie noch nicht entwickelt war, wurde oft fälschlicherweise
angenommen, dass die Skalierung einer gefundenen einfachen Lösung nur
eine Frage der Rechenleistung sei.
Zusätzlich erschwerte die Tatsache, dass Strukturen, die für die Erzeugung
intelligenten Verhaltens benutzt wurden, nur sehr beschränkt zur Verfügung
standen, die Lösung der gestellten, teilweise viel zu komplexen Aufgaben.
Ein typischer Fall ist das Perzeptron. Marvin Minsky und Seymour Papert7
wiesen 1969 nach, dass ein Perzeptron zwar alles lernen, was es repräsentieren
kann, dass aber seine Repräsentationsfähigkeit sehr begrenzt ist. So kann
z.B. die XOR-Funktion nicht durch ein Perzeptron mit zwei Eingängen repräsentiert werden.
2.4
Aufschwungphase (1969 - 1979)
Die frühen KI-Systeme hatten versucht mit einem allgemeinen Mechanismus der Problemlösung, der elementare Lösungsschritte miteinander verband,
vollständige Lösungen zu erreichen. Da diese Methoden nur geringe Informationen über den Anwendungsbereich benutzten, war ihre Leistungsfähigkeit
7
[MP69]
19
in vielen Anwendungsgebieten schwach. Im Gegensatz dazu wurde nun versucht, unter Nutzung von mehr anwendungsbereichsspezifischem Wissen,
größere Lösungsschritte zu machen und dabei Lösungen für Routineaufgaben in eingeschränkten Anwendungsbereichen zu finden.
Eines der ersten Programme dieser Art war DENDRAL8 , das in Stanford
von Edward Feigenbaum, Bruce Buchanan und Joshua Lederberg, entwickelt
wurde. Das Programm sollte molekulare Strukturen aus den Informationen eines Massenspektrometers ableiten. Eingabe war die elementare Formel eines
Moleküls und die Massen der verschiedenen Fragmente des Moleküls, die vom
Massenspektrometer geliefert wurden. Ausgabe waren die wahrscheinlichsten
Strukturen des Moleküls. DENDRAL war das erste erfolgreiche wissensin”
tensive“ System. Seine Expertise entstand durch eine große Zahl spezieller
Regeln. Es war der Beginn der Entwicklung von Expertensystemen.
Ein weiteres bedeutendes Expertensystem wurde von Edward Feigenbaum,
Bruce Buchanan und Edward Shortliffe entwickelt. Es hieß MYCIN9 und
war ein medizinisches Diagnosesystem, das zur Diagnose von Blutinfektionen diente. Das Wissen in MYCIN war in Form von ca. 450 Regeln dargestellt. Es war ähnlich leistungsfähig wie Experten auf diesem Gebiet und
deutlich besser als junge, unerfahrene Ärzte. In MYCIN gab es zwei Neuerungen gegenüber DENDRAL. Zum einen wurde das verfügbare Wissen nicht
aus einem theoretischen Modell sondern aus Expertenbefragungen gewonnen. Zum andern musste die Unsicherheit, mit der medizinisches Wissen im
Allgemeinen behaftet ist, mitrepräsentiert werden. Dies erfolgte durch die
Gewissheitsfaktoren und ein Kalkül zum Umgang mit denselben.
Zu dieser Zeit entstand daher eine starke Nachfrage nach Wissensrepräsentationssprachen. In Europa wurde Prolog entwickelt und in den USA
die Familie der PLANNER-Sprachen. Beide erfuhren eine weite Verbreitung.
Marvin Minsky schlug 1975 in A Framework for Representing Knowledge“ 10
”
8
http://www.cbi.umn.edu/shp/entries/dendral.html
http://www.cbi.umn.edu/shp/entries/mycin.html
10
[Min75]
9
20
sogenannte Frames vor, die eine stark strukturierte Repräsentation von Fakten erlauben und sich besonders zur Darstellung von Taxonomien eignen.
2.5
Kommerzialisierungsphase (ab 1980)
In den 1980er-Jahren waren die Ergebnisse aus dem Bereich der Künstlichen
Intelligenz soweit fortgeschritten, dass der Einsatz von KI-Systemen in realen
Anwendungen kommerziell möglich wurde.
Das erste erfolgreich kommerziell eingesetzte Expertensystem war R111 . Es
wurde bei DEC zur Konfiguration von VAX-Maschinen eingesetzt. Nach Angaben der Firma wurden durch den Einsatz von R1 pro Jahr 40 Millionen
US-Dollar eingespart.
Um dieser Tendenz Rechnung zu tragen, wurde 1981 in Japan das Fifth
Generation-Projekt angekündigt. Innerhalb von 10 Jahren sollten spezielle Prolog-Maschinen entwickelt werden. Das Projekt hatte eine Reihe von
hochtrabenden Anwendungszielen, unter anderem sollte natürliche Sprache
in vollem Umfang verstanden werden.
Im Rahmen der fortschreitenden industriellen Optimierung wurde vermehrt
auf den Einsatz von Robotersystemen gesetzt. Aus deren Anwendung erwuchs eine Vielzahl von völlig neue Anforderungen an die KI.
Trotz des Rückschlags in der Forschung durch die Arbeit von Marvin Minsky
und Seymour Papert12 , gingen die Arbeiten an neuronalen Netzen weiter.
Sie wurden hauptsächlich von Physikern wie John Hopfield und Psychologen
wie David Rumelhart und Geoffrey Hinton vorangetrieben. Mitte der 80er
Jahre wurde der Back-Propagation-Algorithmus wiederentdeckt sowie große
Fortschritte bezüglich Leistungsfähigkeit und Topologie erzielt. Dies führte
zu einer Renaissance der neuronalen Netze in der KI.
11
12
[McD82]
[MP69]
21
2.6
Formalisierungsphase (ab 1986)
Das stetige Steigen der Anforderungen an die KI sowie die Entwicklungen
in der Informatik insgesamt, haben zu einer Ausbildung eines eigenen Forschungszweiges für die Künstliche Intelligenz geführt. Dabei hat sich der Zugang und die Methodik stark verändert. Stand in den Anfangsphasen die
intuitive Entwicklung einfacher Modelle zum Belegen neuer Theorien im Vordergrund, so wird nun versucht, auf existierenden Theorien aufzubauen und
Behauptungen auf strengen Theoremen oder strengen experimentellen Beweisen basieren zu lassen. Alle Hypothesen müssen von streng empirischen
Experimenten abhängig gemacht, die Ergebnisse statistisch auf ihre Bedeutung überprüft werden.
Neuere Entwicklungen sind durch eine stärkere Hinwendung zur Anwendbarkeit gekennzeichnet. Eine Entwicklung auf Basis existierender Theorien
anstelle permanenter Erarbeitung neuer Theorien, sowie die Demonstration
der Relevanz neuer Ansätze an realen Anwendungen denn an spielerischen
Beispielen erscheint heute zielführender. Dies ist besonders gut zu sehen an
den Entwicklungen im Sprachverstehen, beim Planen und beim probabilistischen Schließen. Aber auch in der Robotik, beim Computersehen, beim
maschinellen Lernen und bei der Wissensrepräsentation hat es beträchtliche
Fortschritte gegeben.
22
Kapitel 3
Methoden der KI
Unter dem Fachgebiet der Künstlichen Intelligenz beziehungsweise der Artificial Intelligence versteht man einen Bereich der Informatik mit interdisziplinärem Charakter, der zum Ziel hat, Verstandesleistungen und damit verbundenes Handeln mit Maschinen nachzubilden und so Computersysteme zu
schaffen, die in der Lage sind, Probleme zu lösen, die nur durch den Einsatz
von Intelligenz lösbar sind.
Neben den Forschungsergebnissen der Kerninformatik selbst sind in die KI
Ergebnisse der folgenden Fachgebiete eingeflossen:
• Psychologie und Neurologie
• Mathematik und Logik
• Kommunikationswissenschaften
• Philosophie und Linguistik
Die Beeinflussung der Neurologie hat sich in der Ausbildung des Bereichs Neuroinformatik, die der Biologie in der bioorientierten Informatik gezeigt. Der
Zweig der Kognitionswissenschaft stützt sich wesentlich auf die Ergebnisse
der Künstliche Intelligenz in Zusammenarbeit mit der kognitiven Psychologie und untersucht verschiedenste Aspekte kognitiver Prozesse, insbesondere
menschliche und maschinelle Intelligenzleistungen.
23
Das Verständnis des Begriffs der Künstlichen Intelligenz führt zu einer Unterscheidung zweier grundsätzlicher Anschauungen.
Starke KI In diesem Verständnis von Künstlicher Intelligenz spiegelt sich
die aus der Aufklärung stammende Vorstellung vom Menschen als Maschine wieder. Ziel der starken KI ist es, eine Intelligenz zu erschaffen,
die wie der Mensch nachdenken und Probleme lösen kann und die sich
durch eine Form von Bewusstsein beziehungsweise Selbstbewusstsein
sowie Emotionen auszeichnet.
Schwache KI Im Gegensatz zur starken KI wird in der schwachen KI versucht, konkrete Anwendungsprobleme zu meistern. Insbesondere sind
dabei solche Anwendungen von Interesse, zu deren Lösung nach allgemeinem Verständnis eine Form von Intelligenz notwendig scheint. Vertreter dieses Ansatzes bemühen sich somit um die Simulation intelligenten Verhaltens mit Mitteln der Mathematik und der Informatik. Die
Schaffung von Bewusstsein oder ein tieferes Verständnis von Intelligenz
stehen in der schwachen KI nicht im Vordergrund.
Während die starke KI an ihrer philosophischen Fragestellung bis heute scheiterte, sind auf der Seite der schwachen KI in den letzten Jahren bedeutende
Fortschritte erzielt worden.
Um feststellen zu können, ab wann eine Maschine eine dem Menschen gleichwertige Intelligenz simuliert, wurden zahlreiche Tests entwickelt. Einer der
bekanntesten ist der von Alan Turing entwickelte und nach ihm benannte
Turing-Test1 :
Ein Mensch und eine Maschine beantworten über ein Terminal Fragen. Eine Jury soll anhand der Antworten, ohne jeglichen physischen
Kontakt entscheiden, welcher der Gesprächspartner der Mensch und
welcher die Maschine ist. Solange dies gelingt, ist laut Turing die Maschine nicht intelligent. Der Turing-Test ist ungeeignet, Bewusstsein
festzustellen.
1
[Tur50]
24
Bisher hat keine Maschine den Turing-Test bestanden. Programme wie ELIZA oder AOLiza sind Menschen kurzzeitig als menschlich erschienen, ohne
dass sie den Turing-Test formal bestehen könnten, da sie in ihrer Antwortstrategie nur scheinbar auf ihr Gegenüber eingehen.
Künstliche Intelligenz kann nach Schwerpunkten in mindestens vier Bereiche
eingeteilt werden:
• Der Bereich der visuellen Intelligenz behandelt Themen wie Musterund Objekterkennung.
• Der der sprachlichen Intelligenz wird benötigt um Sprache zu verstehen, zu formulieren und um Text in Sprache oder Sprache in Text
umzuwandeln.
• Manipulative Intelligenz wird in erster Linie von Robotern benötigt
um mit Objekten in ihrer Umwelt zu interagieren.
• Die rationale Intelligenz findet Anwendung bei Aufgaben der Planung, Problemlösung und Diagnose.
Zusätzlich kommen je nach Differenzierungsgrad Intelligenztypen wie emotionale Intelligenz hinzu.
Aufgrund der sehr unterschiedlichen Zugänge zum großen Bereich der
Künstlichen Intelligenz können Teilbereiche nach verwendeter Methode klassifiziert werden.
3.1
Symbolismus
Dieser Bereich der Künstlichen Intelligenz wird auch als klassische KI bezeichnet. Das Paradigma der klassischen KI besagt, dass Informationsverarbeitung
eine Manipulation von Symbolen ist, was in der Physical Symbol System Hypothesis2 von Allen Newell und Herbert Simon explizit hervorgehoben wurde.
2
[NS76]
25
In der symbolistischen KI wird versucht mittels regelbasierter, symbolischer
Berechnungen in logischen Kalkülen von einer begrifflichen Ebene kommend
intelligente Leistungen zu erzielen.
Bedingt durch die Ursprünge der Künstlichen Intelligenz (Kapitel 2) wurden anfänglich hauptsächlich symbolistische Lösungsmöglichkeiten gesucht.
Dies führte zur Entwicklung von automatischen Beweisern wie dem Logical
Theorist3 von Allen Newell und Herbert Simon beziehungsweise zur Entwicklung von Expertensystemen wie MYCIN4 von Edward Feigenbaum, Bruce
Buchanan und Edward Shortliffe.
Die Arbeit an symbolmanipulierenden Systemen hat naturgemäß zur Entwicklung von dafür geeigneten Programmiersprachen und Umgebungen wie
Lisp5 oder Prolog geführt.
3.2
Konnektionismus
Die konnektionistische KI wird auch als subsymbolische KI bezeichnet. Konnektionismus wird häufig als Synonym für das Wissenschaftsgebiet der
künstlichen neuronalen Netze verwendet.
Das Paradigma des Konnektionismus besagt, daß [sic!] Informationsverarbeitung als Interaktion einer großen Zahl einfacher Einheiten (Zellen, Neuronen) angesehen wird, die anregende oder
hemmende Signale an andere Zellen [sic!] senden.6
Intelligente Leistungen sollen aus dem komplexen Wechselspiel vernetzter
einfacher Einheiten erwachsen.
Die Anfänge des Konnektionismus gehen zurück auf Warren McCulloch und
Walter Pitt, die ein Modell eines künstlichen neuronalen Netzes7 entwarfen.
3
[NS56]
http://www.cbi.umn.edu/shp/entries/mycin.html
5
[McC58a]
6
[Zel94] Kapitel 1.4, Seite 26
7
[MP43]
4
26
Nach anfänglichen Rückschlägen wie der Arbeit von Marvin Minsky und
Seymour Papert8 die die Grenzen des Perzeptrons aufzeigten, konnte der
Bereich der Subsymbolik durch Neuerungen wie verbesserte Lernregeln und
komplexere Topologien eine bis heute andauernde Renaissance erleben.
3.3
Behaviorismus
Der Ansatz des Behaviorismus wird auch als situierte oder verhaltensorientierte KI bezeichnet. Ein zentraler Begriff im Behaviorismus ist der des
vollständigen Agenten (siehe Abschnitt 4.1). Die situierte KI zielt nun darauf
ab, die Funktionsweise von Agenten zu verstehen, die in reale Umgebungen
mit kontinuierlichen sensorischen Eingaben eingebettet sind. Die Modellierung eines solchen Systems betrachtet das gesamte Systemverhalten (externe
Sicht), Teilsysteme sind hochspezialisiert auf bestimmte Teilaufgaben, wirken aber gemeinsam auf die Lösung ein, was eine Konfliktlösungsstrategie
notwendig macht.
Der Versuch vollständige Agenten zu erstellen hat zur Erkenntnis geführt,
dass die bisher isolierten Teilbereiche der KI neu organisiert werden müssen,
wenn diese verknüpft werden sollen.
8
[MP69]
27
Kapitel 4
Klassische Architekturen
Eine Methode für die Strukturierung und den Aufbau von Softwaresystemen
wird als Architektur bezeichnet. Eine Architektur umfasst im Allgemeinen
Sprachen und Konzepte für die Entwicklung von Komponenten, also Programmen beziehungsweise Programmteilen, sowie deren Interaktion.
In KI-Architekturen kann zwischen zwei Arten von Steuerung als Grundbaustein einer Architektur unterschieden werden:
• Reaktive Steuerung
Reaktive Steuerungen kommen primär in Reflex-Agenten zum Einsatz.
Sie weisen eine enge Kopplung von Sensoren und Aktuatoren auf und
benötigen kein Modell ihrer Umgebung.
• Modellbasierte eigenständige Steuerungen
Wie schon der Name sagt, benutzen diese Steuerungen ein Modell ihrer
Umwelt wodurch sie in die Lage versetzt werden, Verfahren des Suchens
und Planens anwenden zu können.
Jeder dieser Steuerungstypen hat Vor- und Nachteile. So ist die reaktive
Steuerung prädestiniert, lokale Low-Level“ Entscheidungen in Echtzeit zu
”
treffen, wohingegen die modellbasierte eigenständige Steuerung Entscheidungen auf einer globalen Ebene treffen kann, da sie auch globale Informationen
verarbeitet.
28
Softwarearchitekturen für KI-Systeme müssen entscheiden wie sowohl reaktive als auch modellbasierte eigenständige Steuerungen in einer Gesamtarchitektur verbunden werden können. Architekturen, die beide Steuerungstypen
verbinden werden als hybride Architekturen bezeichnet.
4.1
Agenten Architekturen
In diesem Abschnitt werden verschiedene Agententypen erörtert sowie die
zugehörige formale Beschreibung eingeführt.
Ein Agent ist eine Entität, die ihre Umgebung über Sensoren wahrnehmen
und mittels Aktuatoren darin agieren kann. Agenten können physische Ob”
jekte“ aber auch rein Software-basierte Systeme sein. Software-Agenten werden gerade im Zusammenhang mit Internet-Technologien sehr häufig eingesetzt. Beispiele für ein Agenten-Modell können Tabelle 4.1 entnommen werden.
Sensoren
Aktuatoren
Mensch
Augen,
Ohren,
Tastsinn
Hände,
Füße,
Sprachorgan
Roboter
Kamera,
Ballsensor,
Funkmodul
Motoren,
Kicker,
Dribbler
Funkmodul
Software-Agent
Tastencodes,
Netzwerkpakete,
Konsole
Dateien
Tabelle 4.1: Beispiele für Agenten
Definition 1 Seien B = {true, f alse} und M eine beliebige nichtleere Menge, so bezeichnet Boolsche Funktion fBool eine Abbildung von M nach B:
fBool : M → B
29
Definition 2 Et bezeichnet die Menge aller wahrnehmbaren Ereignisse et
zum Zeitpunkt t. Sei W ahrgenommen eine Boolsche Funktion mit
(
W ahrgenommen(et ) =
true wenn et wahrgenommen wurde
f alse wenn et nicht wahrgenommen wurde
dann heißt wt Wahrnehmung von et zum Zeitpunkt t wenn gilt
W ahrgenommen(et ) = true
Definition 3 Als Wahrnehmungsfolge wird der Verlauf von allem was der
Agent jemals wahrgenommen hat bezeichnet. Sei n die Lebensdauer des Agenten dann ist dessen Wahrnehmungsfolge Wn definiert durch
Wn = w1 · w2 · . . . wn
Definition 4 Die Operation ∈ und 6∈ für Wahrnehmungsfolgen sei definiert
durch
w ∈ Wn : w ist zumindest einmal in Wn enthalten
w 6∈ Wn : w ist nicht in Wn enthalten
Definition 5 W ist die Menge aller möglichen Wahrnehmungsfolgen Wt
über die Lebensdauer des Agenten.
W = {Wt |0 6 t 6 n}
Aufgrund wahrgenommener Ereignisse wählt ein Agent Aktionen für Handlungen aus.
30
Im Allgemeinen kann die Auswahl einer Aktion durch den Agenten zu jedem bestimmten Zeitpunkt von der gesamten bisherigen
Wahrnehmungsfolge abhängig sein.1
Wird die Auswahl der Aktion des Agenten für jede mögliche Wahrnehmungsfolge spezifiziert, erhält man eine Funktion, die das Verhalten des Agenten
genau beschreibt.
Definition 6 Sei A die Menge aller Aktionen, die einem Agenten zur
Ausführung zur Verfügung stehen, dann ist die Agentenfunktion fAgent definiert als
fAgent : W → A
Die Implementierung einer Agentenfunktion wird als Agentenprogramm bezeichnet.
In Abbildung 4.1 ist das Modell eines einfachen Agenten dargestellt, dessen
Agentenprogramm Ereignisse in der Umwelt über die Sensoren des Agenten
erhält und daraus resultierende Aktionen in der Umwelt durch Ansteuerung
der Aktuatoren ausführt.
Unter einem rationalen Agenten versteht man einen Agenten, der für jede
mögliche Wahrnehmungsfolge eine Aktion auswählt, von der erwartet werden
kann, dass sie seine Leistung maximiert, wenn man seine Wahrnehmungsfolge
sowie vorhandenes Wissen, über das er verfügt, in Betracht zieht.
Definition 7 Sei M eine beliebige nichtleere Menge, so bezeichnet die Bewertungsfunktion q eine Abbildung von M nach R:
q:M →R
1
[RN04] Kapitel 2.1, Seite 56
31
Agent
Wahrnehmung
Umwelt
Sensoren
AgentenProgramm
Aktionen
Aktuatoren
Abbildung 4.1: Modell eines Agenten
Die Bewertungsfunktion q für ein Element m ∈ M wird dargestellt als |m|.
Sei m, n ∈ M dann gilt:
|n| < |m| wenn n eine schlechtere Bewertung besitzt als m
|n| = |m| wenn n und m gleichwertig sind
|n| > |m| wenn n eine bessere Bewertung besitzt als m
Definition 8 Sei Qt die Menge der Bewertungen aller Aktionen an mittels
der Bewertungsfunktion q zum Zeitpunkt t:
Qt = {|a1 |t , |a2 |t . . . |an |t }
allgemein somit
Qt = {qt (a)|a ∈ A}
Die Agentenfunktion fAgentR eines rationalen Agenten wird sodann definiert
mit
32
fAgentR : W × A → A
fAgentR (wt ) = a ∈ A
mit |a| = max(Qt )
Die positive Bewertung einer Aktion durch die Leistungsbewertungsfunktion
kann sich in einer neuerlichen Bewertung zu einem späteren Zeitpunkt, die
bereits über eine erweiterte Wahrnehmungsfolge verfügt, als negativ erweisen.
Da die Leistungsbewertung nur für eine Wahrnehmungsfolge, also vergangene
Ereignisse, erfolgen kann, ist ein rationaler Agent nicht allwissend.
4.1.1
Tabellengesteuerte Agenten
Eine relativ triviale Form von Agentenprogrammen sind die tabellengesteuerten Agenten. Diese Form von Agentenprogrammen verwalten die Wahrnehmungsfolge des Agenten und benutzen sie als Index für eine Tabelle, die
festlegt, welche Aktion auszuführen ist. Diese Tabelle repräsentiert explizit
die Agentenfunktion.
Definition 9 Eine Aktionstabelle T ist eine Menge von Tupeln bestehend
aus einem Index i ∈ N und einer eineindeutig zugeordneten Aktion a ∈ A.
T = {< i, a > |i ∈ N, a ∈ A}
Definition 10 Eine Indexfunktion findex für eine Aktionstabelle T ist eine
Abbildung von Wahrnehmungsfolgen Wt auf Indizes i ∈ N.
findex : W → N
findex (Wt ) = i ∈ N
Definition 11 Eine Lookup- oder Nachschlagefunktion flookup für eine Aktionstabelle T ist eine Abbildung von Indizes i ∈ N auf eine dem jeweiligen
Index eineindeutig zugeordnete Aktion a ∈ A.
33
flookup : N → A
flookup (i) = a
mit < x, y > ∈ T , x = i, y = a
Definition 12 Die Agentenfunktion fAgentT eines tabellengesteuerte Agenten wird somit definiert mit
fAgentT = flookup ◦ findex : W → A
Der Nachteil dieser Form von Agentenprogrammen ist die mit der Lebensdauer des Agenten wachsende Wahrnehmungsfolge und die damit unmittelbar
verbundene Größe der Nachschlagetabelle.
Definition 13 Sei E die Menge aller möglichen Wahrnehmungen und n die
Lebensdauer eines Agenten, dann errechnet sich die Größe der Aktionstabelle
T wie folgt2 :
E=
|T | =
n
[
Et
t=1
n
X
|E|t
t=1
4.1.2
Einfache Reflex-Agenten
Der einfache Reflex-Agent ist die einfachste Form eines Agenten. Die Agentenfunktion wählt eine Aktion auf Grundlage der momentanen Wahrnehmung und ignoriert den Verlauf der restlichen Wahrnehmungsfolge. Auf die
sensorische Eingabe hin wird ein interner Zustand erzeugt, der die externe Beobachtung in der sogenannten Weltrepräsentation abbildet. Diese Zu2
[RN04] Kapitel 2.4.1, Seite 71
34
standsänderung stellt eine Bedingung dar, die eine in der Agentenfunktion
festgelegte zur Wahrnehmung zugehörige Aktion (Abb. 4.2) auslöst.
Agent
Wahrnehmung
Sensoren
Produktionen
Umwelt
Weltrepräsentation
AktionsAuswahl
Aktuatoren
Aktionen
Abbildung 4.2: Modell eines einfachen Reflex-Agenten
Die Verbindung zwischen Bedingung und daraus resultierender Aktion wird
als Bedingung/Aktion-Regel, if-then-Regel oder Produktion bezeichnet.
Definition 14 Sei s ein Zustand der Weltrepräsentation des Agenten und
S die Menge aller Zustände also die Weltrepräsentation des Agenten, dann
ist die Sensorfunktion fSensor eine Codierung externer Wahrnehmungen auf
interne Zustände der Weltrepräsentation. Zu beachten ist, dass der einfache
Reflex-Agent nur eine einzelne Wahrnehmung wt ∈ Wt und nicht eine gesamte Wahrnehmungsfolge betrachtet.
fSensor : E → S
S = {fSensor (wt )|wt ∈ Wt }
Sei P die Menge der Produktionen eines Agenten. Eine Produktion p ∈ P ist
eine Abbildung eines Zustands der Weltrepräsentation auf eine Aktion a ∈ A.
35
fP roduktion : S → A
Somit ist die Agentenfunktion fAgentERef eines einfachen Reflex-Agenten definiert als:
fAgentERef = fP roduktion ◦ fSensor : E → A
Einfache Reflex-Agenten sind zwar leicht verständlich in Funktion und Beschaffenheit, diese Einfachheit bedingt aber auch, dass Agenten dieses Typus
nur begrenzt intelligent sind. Da nur die aktuelle Wahrnehmung zur Entscheidungsfindung herangezogen wird, erzielen einfache Reflex-Agenten nur dann
befriedigende Ergebnisse, wenn die Umwelt vollständig beobachtbar ist. Eine Teilbeobachtbarkeit der Umwelt führt schnell zu ernsthaften Problemen.
Zusätzlich kann das Fehlen der Information über vorangegangene Wahrnehmungen und Aktionen sehr leicht zu Endlosschleifen führen.
4.1.3
Modellbasierte Reflex-Agenten
Um das Manko einer nicht vollständig beobachtbaren Umwelt auszugleichen,
können einfache Reflex-Agenten um die Fähigkeit, ihre Weltrepräsentation
zu verändern, erweitert werden (Abb. 4.3). Dazu ist allerdings Wissen um
die Beschaffenheit der Welt nötig.
Die Funktionsweise der Welt an sich wird durch ein Weltmodell beschrieben,
Agenten die ein Weltmodell besitzen werden modellbasierte Agenten genannt.
Die Weltrepräsentation wird unter Verwendung des Weltmodells sowie der
Wahrnehmungsfolge vom Agentenprogramm ständig aktualisiert. Dadurch
stehen dem Agenten auch Informationen über den nichtbeobachtbaren Teil
seiner Umwelt zur Verfügung.
36
Agent
Weltmodell
Weltrepräsentation
Produktionen
AktionsAuswahl
Umwelt
Wahrnehmung
Sensoren
Aktionen
Aktuatoren
Abbildung 4.3: Modell eines modellbasierten Reflex-Agenten
Definition 15 Sei G die Menge aller Funktionen f , die die Welt beschreiben, das Weltmodell des Agenten, dann wird eine Extrapolationsfunktion
fExtrapolation definiert als
fExtrapolation ∈ G
fExtrapolation : S → S
Eine Extrapolationsfunktion bildet also die Weltrepräsentation in sich selbst
ab. Mittels dieser Funktion des Weltmodells kann der Zustand der Weltrepräsentation verändert werden, ohne dass eine korrespondierende Wahrnehmung wt existiert.
Extrapolationsfunktionen extrapolieren aus vergangenen Wahrnehmungen
momentane Zustände im Weltmodell. Sie bieten keine Informationen über
zukünftige Zustände oder Ereignisse.
Definition 16 Die Agentenfunktion fAgentM Ref eines modellbasierten ReflexAgenten ist somit definiert mit
37
S 0 = {fSensor (wt )|wt ∈ Wt }
S 00 = {fExtrapolation (s)|s ∈ S}
S = S 0 ∪ S 00
fAgentM Ref : E × S → A
4.1.4
Zielbasierte Agenten
Das Wissen um den aktuellen Zustand der Umwelt ist aber nicht immer
ausreichend, um eine sinnvolle Aktionsauswahl zu treffen.Vielmehr ist die
Auswahl der Aktion auch von einem Ziel des Agenten abhängig. Zielbasierte
Agenten benötigen daher Informationen über anzustrebende Situationen, sogenannte Zielinformation. Ein Agent kann diese Information verwenden, um
sie mit den zu erwartenden Resultaten möglicher Handlungen zu kombinieren
und so eine Aktionsauswahl zu treffen, die zum Ziel führt. Die Einschätzung
der Auswirkungen etwaiger zukünftiger Handlungen erfordert ein Weltmodell, aus dem die Folgen einer Aktion abgeleitet werden können. Da das
Erreichen eines Ziels zumeist komplexe Aktionsfolgen erfordert, kommen in
zielbasierten Agenten häufig Methoden wie Suchen und Planen zum Einsatz.
Die Art der Entscheidungsfindung in zielbasierten Agenten unterscheidet
sich deutlich von der in Reflex-Agenten. Reflex-Agenten bestimmen die auszuführende Aktion mittels einer Wahrnehmung und den darauf angewandten
Produktionen, zielbasierte Agenten selektieren die Aktion bestimmt von ihren Zielen und unter Berücksichtigung der zukünftigen Folgen der Aktion.
Definition 17 Die Abstandsfunktion δ berechnet den Grad an Verschiedenheit zwischen zwei Zuständen s1 , s2 ∈ S, wobei ein Abstand von 0 Gleichheit
bedeutet.
38
Agent
Wahrnehmung
Sensoren
Weltrepräsentation
Ziele
AktionsAuswahl
Umwelt
Weltmodell
FolgenAbschätzung
Aktionen
Aktuatoren
Abbildung 4.4: Modell eines zielbasierten Agenten
δ :S×S →R
(
δ(s1 , s2 )
= 0 : s1 = s2
6= 0 : Grad an Verschiedenheit zwischen s1 , s2
Definition 18 Sei fSimulation die Simulationsfunktion des Weltmodells G,
dann simuliert fSimulation die Ausführung einer Aktion a ∈ A um die Auswirkungen der Aktion auf die Welt zu untersuchen.
fSimulation ∈ G
fSimulation : A → S
So ist S 000 die Menge aller simulierten Weltrepräsentationszustände.
39
S 000 = {fSimulation (a)|a ∈ A}
Ein Vorhersagesystem untersucht mittels der Simulationsfunktionen des Weltmodells, welche Veränderung in der Weltrepräsentation die Ausführung einer
Aktion im aktuellen Zustand der Weltrepräsentation zur Folge hat und wie
nahe die so erhaltene neue Weltrepräsentation den Zielvorgaben des Agenten
kommt.
Definition 19 Eine Vorhersage v ist ein Tupel bestehend aus einer Aktion
a ∈ A, einer Zielvorgabe z ∈ S und dem Abstand d ∈ R des durch Anwendung
der Simulationsfunktion erzeugten Zustands vom Zielzustand.
v =< a, z, d >
wobei gilt
000
s = fSimulation (a) ∈ S 000
d = δ(s000 , z)
Definition 20 Sei V die Menge aller Vorhersagen zu einer Weltrepräsentation S und D die Menge aller Abstände der simulierten Weltrepräsentationszustände vom Zielzustand z.
V = {< a, z, d > |a ∈ A ∧ z ∈ S ∧ d = δ(fSimulation (a), z)}
D = {δ(fSimulation (a), z)|a ∈ A ∧ z ∈ S∧ < a, z, δ(fSimulation (a), z) >∈ V}
Definition 21 Die Agentenfunktion fAgentZB eines zielbasierten Agenten ist
definiert durch
40
fAgentZB : E × S × V → A
fAgentZB (wt , s, v) = a mit δ(fSimulation (a), z) = min(D)
Der zielbasierte Agent ist deutlich flexibler als ein Reflex-Agent, da das
entscheidungsgrundlegende Wissen explizit im Weltmodell und der Weltrepräsentation, im Gegensatz zu den statischen Produktionen im ReflexAgenten, zur Verfügung steht und daher vom Agenten selbst verändert werden kann.
4.1.5
Nutzenbasierte Agenten
Oft reicht ein Ziel allein nicht aus, um ein hochqualitatives Verhalten zu
erzielen. Zumeist existieren zahlreiche Aktionsfolgen, die mit unterschiedlich
hohem Aufwand das selbe Ziel erreichen. Ein Weltzustand, der einem andern
vorzuziehen ist, weist für den Agenten einen höheren Nutzen auf.
Definition 22 Eine Nutzenfunktion3 u bildet einen Zustand oder eine Zustandsfolge auf eine reelle Zahl ab. Sie drückt somit aus, wie wünschenswert
ein Zustand ist.
u:S→R
Ein Zustand s ∈ S stellt eine vollständige Momentaufnahme der Welt innerhalb der Weltrepräsentation dar. Eine vollständige Spezifikation dieser
Funktion erlaubt rationale Entscheidungen in Fällen wo ein Ziel allein nicht
ausreicht:
• Es existieren zwei oder mehr Ziele, die zueinander in Konflikt stehen
und nur zum Teil erreicht werden können.
3
[RN04] Kapitel 16, Seite 715
41
Agent
Wahrnehmung
Weltmodell
Weltrepräsentation
Ziele
AktionsAuswahl
Nutzen
FolgenAbschätzung
Umwelt
Sensoren
Aktionen
Aktuatoren
Abbildung 4.5: Modell eines nutzenbasierten Agenten
• Es existieren mehrere Ziele, die alle nicht sicher erreicht werden können
und die unterschiedliche Bedeutung für den Gesamterfolg des Agenten
haben.
Jeder rationale Agent verhält sich so, dass er, würde er eine Nutzenfunktion
besitzen, diese durch sein Verhalten maximieren würde. Ein Agent, der eine
Nutzenfunktion besitzt, kann also rationale Entscheidungen treffen.4
Die Funktionsweise eines nutzenbasierten Agentens (Abb. 4.5) ähnelt der eines zielbasierten, anstelle der Bewertung der Abweichung von einem einzelnen
Ziel wird aber eine nutzenorientierte Gesamtbewertung der Umwelt des Agenten, und somit jegliche auch partielle Erfüllung von Teilzielen berücksichtigt.
4.1.6
Lernende Agenten
Der letzte hier besprochene Agententyp ist der des lernenden Agenten. Agenten, die in einer komplexen, eventuell sogar unbekannten Umgebung agieren,
4
[RN04] Kapitel 2.4.5, Seite 78
42
stellen enorme Anforderungen an ihr Agentenprogramm, wenn sie erfolgreich
agieren sollen. Diese Tatsache hat schon Allen Turing 1950 erkannt5 und daher vorgeschlagen, einen Agenten zu entwickeln, der kein großes Basiswissen
vom Entwickler mitgegeben bekommt, dafür aber in der Lage ist, sich solches
durch Lernprozesse anzueignen.
Leistungsstandard
Agent
Kritik
Sensoren
Wahrnehmung
Feedback
Umwelt
Anpassungen
Leistungselement
Lernelement
Wissen
Lernziele
Problemgenerator
Aktuatoren
Aktionen
Abbildung 4.6: Modell eines lernenden Agenten
Ein lernender Agent besteht im Regelfall aus vier konzeptuellen Teilsystemen:
Leistungselement Das Leistungselement ist für die Auswahl der Aktionen
zuständig. Die bisher betrachteten Agententypen entsprechen allesamt
diesem Teilsystem. Wahrnehmungen werden vom Leistungssystem verarbeitet und zur Auswahl von Aktionen herangezogen.
Lernelement Das Lernelement dient in Kombination mit dem Kritikelement dazu, Verbesserungen am Verhalten eines Agenten durch Lernprozesse erzielen zu können. Dabei wird Feedback vom Kritikelement
über vom Agenten erzielte Ergebnisse verwendet, um zu entscheiden
ob und wie das Leistungselement abgeändert werden soll.
5
[Tur50]
43
Kritikelement Das Kritikelement teilt dem Lernelement mit, wie gut sich
der Agent im Hinblick auf einen festgelegten externen Leistungsstandard verhält. Dieses Element ist nötig, da die Wahrnehmungen selbst
nicht zwangsläufig Hinweis auf den Erfolg des Agenten bieten. Der
Agent kann zwar die unmittelbaren Auswirkungen seiner Aktionen in
der Umwelt wahrnehmen, eine Bewertung auf einer übergeordneten
Ebene wie zum Beispiel deren Sinnhaftigkeit oder Effizienz verlangt
aber den festgelegten Leistungsstandard. Die Berechnung der Abweichung vom Leistungsstandard ist Aufgabe der Kritik.
Problemgenerator Aufgabe des Problemgenerators ist es, Aktionen vorzuschlagen, die zwar eventuell kurzfristig von schlechter Effizienz sind, im
Endeffekt aber dazu führen, durch für den Agenten neue Erfahrungen
effizientere Aktionen beziehungsweise Aktionsfolgen zu finden und zu
erlernen. Ohne Problemgenerator würde das Leistungselement immer
die selbe ihm als beste“ bekannte Aktion auf eine spezifische Wahrneh”
mungsfolge ausführen. Dabei wäre es aber eventuell in einem lokalen
Minimum gefangen.
4.2
Subsumption Architektur
Dieser Abschnitt beschreibt die von Rodney Brooks vom Massachusetts Institute of Technology entwickelte Architektur für mobile autonome Agenten,
die Subsumption Architecture6 . Brooks vertritt die Auffassung, dass intelligentes Verhalten in einem System aus dem Zusammenspiel vieler weniger
intelligenter Teilsysteme erwachsen muss, bei der Entwicklung intelligenter
autonomer Agenten, sollte der evolutionäre Prozess, der in der Natur vorherrscht, nachempfunden werden. Die Arbeiten von Brooks sind stark von
der Informationsverarbeitung in niederen Tieren wie Insekten inspiriert.
6
[Bro86]
44
4.2.1
Anforderungen
An die Struktur des Steuerungssystems eines autonomen Agenten werden
unterschiedlichste Anforderungen gestellt. Diese resultieren aus Zweck und
Beschaffenheit des Agenten sowie der Umgebung, in der der Agent agieren
muss. So werden an einen autonomen Agenten, der sich in der realen Welt bewegen soll, die Anforderungen gestellt, Informationen möglichst in Echtzeit
verarbeiten zu können, mit sich häufig ändernden Randbedingungen zurechtzukommen und Eingabedaten von stark verrauschten Kanälen verarbeiten
zu können.
Das Kontrollsystem eines autonomen Agenten muss nach Brooks mit folgenden Anforderungen umgehen können:
Multiple Ziele Prinzipiell kann ein Agent jederzeit mehrere zum Teil auch
gegensätzliche Ziele verfolgen. Diese Ziele können abhängig vom Kontext unterschiedliche Prioritäten und daher eine unterschiedliche Wichtigkeit aufweisen. Das Kontrollsystem muss zum einen Ziele mit höherer
Priorität erreichen, zum anderen auch die notwendigen low level“ Auf”
gaben erledigen.
Multiple Sensoren Im Regelfall besitzt ein Agent mehrere Sensoren, durch
die er seine Umwelt wahrnimmt. Jeder dieser Sensoren weist eine Fehlerkomponente auf, zusätzlich existiert meist keine triviale Abbildung
zwischen den Sensordaten und den gewünschten physikalischen Größen.
Sensoren können sich bezüglich ihrer Wahrnehmungen überlappen. In
diesem Fall führen Sensorfehler zu inkonsistenten Messwerten.
Robustheit Ein Teilausfall von Komponenten des Agentensystems darf
nicht zu einem Totalausfall des gesamten Agenten führen. Ausgefallene Sensoren müssen erkannt und berücksichtigt werden, drastische
Änderungen in der Umwelt dürfen nicht zu einem Dead Lock“ im
”
Agentensystem führen.
Erweiterbarkeit Die Architektur eines Agenten soll das Hinzufügen neuer Funktionalitäten wie Sensoren oder Aktoren auf modularer Basis
ermöglichen.
45
4.2.2
Aufbau
Um den oben beschriebenen Anforderungen an einen autonomen Agenten zu
genügen, wurde nun eine Architektur entwickelt, die folgende Charakteristika
aufweist:
• Es existiert keine Weltrepräsentation. Brooks hat den Ausspruch geprägt The world is its own best model.“
”
• Verhalten ist nicht zentral implementiert sondern ergibt sich aus dem
Zusammenspiel verteilter Teilsysteme. Die verschiedenen Verhaltensmuster werden laufend parallel berechnet, und aus dieser Menge von Verhalten wird anschließend das anzuwendende gewählt.
• Die Reaktion auf Stimuli ist reflexiv, das heißt, die WahrnehmungsHandlungs-Folge wird nicht durch kognitive Prozesse beeinflusst.
• Agenten werden Bottom-Up“ organisiert. Komplexe Verhalten werden
”
durch die Kombination einfacherer modelliert.
• Einzelne Agenten sind kostengünstig und verbrauchen möglichst wenig
Ressourcen.
Die Subsumption Architecture ist in Schichten unterschiedlicher Kompetenz
(bei Brooks Kompetenzlevel) strukturiert (Abb. 4.7). Jede Schicht stellt
dem Gesamtsystem eine Menge hartcodierter (festverdrahteter) Verhalten
zur Verfügung. Höhere Schichten bauen auf niedereren auf, um Verhalten
höherer Komplexität zu bilden. Das Verhalten des Gesamtsystems ist das
Ergebnis vieler interagierender einfacher Verhalten. Die einzelnen Schichten
arbeiten asynchron.
Schichten innerhalb der Subsumption Architektur bestehen aus einem Netzwerk endlicher Automaten7 . Diese Automaten sind allerdings kein einfacher
Deterministischer Endlicher Automat (DEA) (englisch: Finite State Machine
7
[RN04] Kapitel 25.7.1, Seite 1129
46
Level n
Level 2
Level 1
Sensoren
Level 0
Aktuatoren
Abbildung 4.7: Kompetenzschichten
(FSM)), sondern eine erweiterte Form, ein sogenannter Erweiterter Deterministischer Endlicher Automat (EDEA) (englisch: Augmented Finite State
Machine (AFSM)).
Die AFSMs (Abb. 4.8) sind FSMs die um einen Zeitgeber erweitert werden. Der Zeitgeber ermöglicht Zustandswechsel zu vorgegebenen Zeitschritten. AFSMs sind die einzigen Bauteile in der Subsumption Architecture.
Jede AFSM innerhalb der Subsumption Architecture reagiert auf ein Eingangssignal, das von einem Sensor oder einer anderen AFSM stammen kann.
Sobald das Eingangssignal einen vorgegebenen Schwellwert übersteigt, wird
das Verhalten der AFSM aktiviert. Zusätzlich verarbeitet jede AFSM einen
suppressorischen Eingang, der das Standardeingangssignal überschreibt sowie einen inhibitorischen, der jegliche Ausgabe unterbindet.
Die Verwendung von AFSMs führt zu einer unmittelbaren Verknüpfung von
Wahrnehmung und Aktion wodurch Subsumption Systeme“ die für sie typi”
schen hochreaktiven Eigenschaften aufweisen. Der Preis hierfür ist allerdings
die Tatsache, dass alle Verhaltensmuster vorgefertigt, weil hartcodiert, sind.
4.2.3
Beispiel
Das folgende Beispiel (Abb. 4.9) zeigt anhand eines einfachen Agenten, der
die Fähigkeit besitzt möglichst kollisionsfrei umherzuwandern“, wie zwei
”
Kompetenzlevel interagieren.
47
Inhibitor
Input
Output
AFSM
Suppressor
Reset
Abbildung 4.8: Augmented Finite State Machine
Umherwandern
Ausweichen
Hindernislokalisierung
Flucht
Level 1
Sensor
S
Motor
Kollisionserkennung
Level 0
Abbildung 4.9: Subsumption Architecture - Beispiel
Das Kompetenzlevel 0 umfasst drei AFSMs:
• Hindernislokalisierung
Die Hindernislokalisierung wertet Sensordaten aus und ermittelt Vektoren vom Agenten zu den Hindernissen.
• Kollisionserkennung
Die Kollisionserkennung erlaubt das unmittelbare Senden eines HaltKommandos an den Motor, wenn ein Hindernis direkt vor dem Agenten
48
von den Sensoren erfasst wird.
• Fluchtverhalten
Die von der Hindernislokalisierung berechneten Vektoren zu den Hindernissen werden von der Flucht-AFSM verwendet, um vor Objekten,
die dem Agenten im Weg stehen, zu fliehen“.
”
Das Kompetenzlevel 1 umfasst zwei AFSMs:
• Umherwandern
Das Umherwandern-Element generiert in regelmäßigen Intervallen neue
Richtungen, in die sich der Agent bis zum Erzeugen einer weiteren
Richtung bewegen soll. Dies dient dazu, die Umwelt mehr oder weniger
zufällig zu erkunden.
• Ausweichen
Die Ausweichen-AFSM berechnet anhand der Vektoren zu den Hindernissen, die von der Hindernislokalisierung berechnet wurden, eine Ausweichroute, die im Gegensatz zum Flucht-Element die vom
Umherwandern-Element gewünschte Richtung möglichst beibehält.
Wie Diagramm 4.9 zu entnehmen ist, ist der Ausgang des AusweichenElements an den Suppressor des Motors angeschlossen. Das bedeutet, dass
sofern ein Ergebnis am Ausgang des Ausweichen-Elements vorhanden ist, das
Ergebnis des Flucht-Elements überschrieben wird. Das Verhalten des FluchtElements ist implizit im Verhalten des Ausweichen-Elements enthalten.
4.3
Drei-Schichten Architektur
Hybride Architekturen kombinieren reaktive Komponenten mit globalen Entscheidungen. Die bekannteste hybride Architektur ist die Drei-Schichten Architektur.
Die Bezeichnung dieser Architektur leitet sich aus dem Schichtenaufbau ab
(Abb. 4.10), nach dem diese Architektur konzipiert ist. Diese Schichten sind:
49
nachdenkende Schicht
ausführende Schicht
reaktive Schicht
Abbildung 4.10: Drei-Schichten Architektur
• reaktive Schicht
Die reaktive Schicht stellt die Low-Level“ Steuerung für den Agenten
”
bereit. Sie wird durch eine enge Sensor-Aktuatoren-Schleife und die
damit verbundenen kurzen Reaktionszeiten charakterisiert.
• ausführende Schicht
Diese Schicht wird auch als sequenzierende Schicht bezeichnet. Sie dient
als Verbindung zwischen der reaktiven und der nachdenkenden Schicht.
Komplexe Pläne der nachdenkenden Schicht werden in einfache Aufgaben für die reaktive Schicht zerteilt sowie in der Ausführung kontrolliert.
Eine weitere wichtige Aufgabe der ausführenden Schicht ist das Einspeisen der Sensorinformationen in systeminterne Repräsentationen.
• nachdenkende Schicht
Die nachdenkende Schicht erzeugt globale Lösungen für komplexe Aufgaben. Dazu verwendet diese Schicht Modelle der Umwelt (Weltmodell),
die sowohl vorweg zur Verfügung gestellt werden als auch während der
Lebenszeit des Agenten gelernt werden können. Da die Aufgaben dieser
Schicht eine erhebliche Komplexität aufweisen können, ist diese Schicht
im Regelfall nicht echtzeitfähig.
Varianten der Drei-Schichten Architektur finden sich in vielen modernen Robotersystemen. Die Einteilung in Schichten beziehungsweise die Zuordnung
von Komponenten zu einer bestimmten Schicht erfolgt zumeist fließend.
50
Kapitel 5
Organische KI Architektur
Im folgenden Kapitel wird die im Rahmen dieser Diplomarbeit entwickelte Architektur für eine Künstliche Intelligenz vorgestellt. Dabei werden
Überlegungen, die zur Beschaffenheit der Architektur geführt haben näher
erörtert.
5.1
Motivation
Als intelligentes Verhalten kann nach Auffassung des Autors nur solches betrachtet werden, das aus den vorgegebenen grundlegenden Fähigkeiten eines
Agenten emergiert. Für eine Künstliche Intelligenz bedeutet dies, dass vorprogrammierte Handlungen beziehungsweise vorgefertigte Lösungen nicht als
intelligent zu betrachten sind.
Die hier vorgeschlagene Architektur soll daher die Entwicklung von
Künstlichen Intelligenzen unterstützen, die in der Lage sind, eigenständig
intelligentes Verhalten zu entwickeln beziehungsweise zu erlernen und zu verbessern. Allerdings ist diese akademische Herausforderung beim momentanen
Stand der Wissenschaft eher von Nachteil, wenn es um Erfolge bei Roboterfußballturnieren geht. Eine weitere Anforderung an die Architektur ist daher,
dass unintelligente aber momentan effizientere Teilsysteme fließend in die KI
integriert werden können. Mittelfristig sollen sukzessive alle Teilsysteme dem
oben definierten Intelligenzanspruch genügen, wodurch eine Künstliche Intelligenz in der Lage sein wird, ohne vorausberechnete hartcodierte Information
51
effektiv Roboterfußball zu spielen und durch Trainingsspiele ihr Können zu
verbessern.
5.2
Aufbau
Herkömmliche prozesszentrierte Künstliche Intelligenzen, wie auch die bisherige KI der Vienna Cubes, folgen einem klassischen Paradigma der Informationsverarbeitung: Eine sequentielle Abfolge von Befehlen erzeugt aus einer
Menge von Eingangsdaten (Input) eine zweite Menge von Ausgangsdaten
(Output).
Die zeitliche und logische Ausführungsreihenfolge der Befehlsfolgen ergibt
einen linearen Ausführungspfad der KI, es sind immer nur die gerade vom Prozess benötigten Codeteile aktiv. Welche Befehlsfolge als nächstes ausgeführt
wird, welcher Teil der Künstlichen Intelligenz also als nächstes aktiviert wird,
ist eineindeutig durch einen im Programm zumeist implizit codierten Zustandsautomaten festgelegt.
Im Gegensatz dazu soll die hier entwickelte Architektur mehr dem Nervensystem eines Lebewesens nachempfunden werde. Eine große Zahl von einfachen
autonomen Verarbeitungseinheiten bearbeitet parallel vorhandene Informationen wobei Einheiten, die zur Realisierung einer gemeinsamen Funktion
beitragen, in sogenannten Funktionszentren zusammengefasst werden. Die
semantische Interpretation der Informationen obliegt den Rezipienten, also
den Verarbeitungseinheiten. Ergebnisse entstehen durch dynamische Interpretation der im Gesamtsystem vorhandenen Daten. Das im Rahmen dieser
Arbeit entwickelte Konzept wird im weiteren als Organische Künstliche Intelligenz (OKI) bezeichnet, die Funktionsweise einer OKI ist datenzentriert.
Definition 23 Sei F die Menge aller Fakten f und D die Menge aller
verfügbaren Daten. Unter einem Faktum f versteht man einen feststehenden Informationsstand im Sinn einer Tatsache, Fakten werden von Sensoren
wahrgenommen oder von Verarbeitungseinheiten und Entscheidern erzeugt.
Die Repräsentation eines Faktums innerhalb der Künstlichen Intelligenz wird
52
als Instanz des Faktums oder einfach als Datum d ∈ D bezeichnet. Eine OKI
kann multiple Instanzen eines Faktums verarbeiten.
Ein Beispiel hierfür gibt die Überlappung von Sensoren bei der Objektlokalisierung. Das Faktum der Position eines Objekts wird von jedem Sensor
anders wahrgenommen und somit in verschiedenen Instanzen in die Menge
der verfügbaren Daten D eingefügt.
5.2.1
Grundbausteine
Eine Organsiche Künstliche Intelligenz besteht aus einer Reihe von bausteinartigen Teilsystemen, die aufgrund der zugedachten Funktion innerhalb der
KI grob in drei Typen eingeteilt werden können:
• Gedächtnisspeicher (Object Space)
• Verarbeitungseinheit (Unit)
• Entscheider (Arbiter)
Die Bausteine werden seitens der Architektur schnittstellenseitig spezifiziert
um deren Interaktion zu gewähren, die interne Funktionsweise und die Implementierung werden nicht eingeschränkt und als Black-Box behandelt.
5.2.1.1
Gedächtnisspeicher
Gedächtnisspeicher I repräsentieren permanente Datenspeicher für Daten d
nach Definition 23 und realisieren die Fähigkeit lebender Organismen, Informationen biochemisch in abstrakter Form zu speichern. Verarbeitungseinheiten haben jederzeit Zugriff auf im Gedächtnisspeicher enthaltene Daten. Gedächtnisspeicher beinhalten keine Meta-Informationen über Ursprung
und Entstehungszeitpunkt der enthaltenen Daten. Werden solche Informationen benötigt, müssen diese selbst als Fakten in Form von Daten in den
Gedächtnisspeicher geschrieben werden.
53
Definition 24 Sei D die Menge aller innerhalb der KI verfügbaren Daten
und m die Anzahl der Gedächtnisspeicher der KI so gilt
D=
m
[
In
n=1
5.2.1.2
Verarbeitungseinheiten
Die Informationsverarbeitung erfolgt in autonomen, asynchronen Verarbeitungseinheiten, die ihre natürliche Entsprechung in Verarbeitungszentren im
Zentralnervensystem höherer Tiere finden. Diese Bausteine beziehen Eingangsdaten aus Gedächtnisspeichern, verarbeiten diese selbstständig und
stellen Resultate ihrer Berechnungen wieder in Gedächtnisspeichern zur
Verfügung. Verarbeitungseinheiten entsprechen einfachen Software-Agenten
(siehe Abschnitt 4.1), deren Verarbeitungsfunktion eine Sonderform einer
Agentenfunktion nach Definition 6 ist.
Definition 25 Die Verarbeitungsfunktion bildet Daten d ∈ D wieder auf
Daten ab, DE sei die Menge der Eingangsdaten, DA die Menge der Ausgangsdaten einer Verarbeitungseinheit
D = DE ∪ DA
fV erarbeitung : DE → DA
Die von der Verarbeitungsfunktion verwendeten Eingangsdaten stellen Wahrnehmungen der Verarbeitungseinheit dar. Somit kann die Verarbeitungsfunktion auch als Abbildung von Wahrnehmungen auf Daten verstanden werden.
DE ≡ W
fV erarbeitung : W → DA
54
Betrachtet man das Erzeugen und Verändern von Daten innerhalb der OKI
durch eine Verarbeitungseinheit als Aktion so kann die Verarbeitungsfunktion
schlussendlich als Abbildung
DA ≡ A
fV erarbeitung : W → A
ausgedrückt werden, was einer Agentenfunktion fAgent entspricht.
5.2.1.3
Entscheider
Entscheider, auch Arbiter genannt, dienen der Bewertung, Fusion und Filterung von Daten und werden Verarbeitungseinheiten vor- beziehungsweise
nachgeschaltet. So können verschiedene Verarbeitungseinheiten von einander
abweichende Instanzen eines Faktums erzeugen und im Gedächtnisspeicher
ablegen. Benötigt eine Verarbeitungseinheit nun dieses Faktum - genauer eine Instanz des Faktums - als Teil der Eingangsdaten, so kann mittels eines
Entscheiders entschieden werden, wie die Daten im Gedächtnisspeicher zu
interpretieren sind und zu einem verwendbaren Datum fusioniert werden.
Definition 26 Sei O die Menge aller Instanzen eines Faktums f ∈ F so
stellt ein Entscheider die Entscheiderfunktion fEntscheider zur Verfügung. Diese Funktion bildet Instanzen eines Faktums unter Verwendung expliziter Kontrollinformation in die Menge der verfügbaren Daten ab. Sei C die Menge
aller Steuerdaten der Entscheiderfunktion so gilt
Of = {x|x ∈ D ∧ f 7→ x}
fEntscheider : Of × C → D
Entscheider ermöglichen die Reduktion verfügbarer Eingangsdaten für Verarbeitungseinheiten, wodurch die Komplexität des Aufbaus von Verarbeitungs55
Daten
Steuerdaten
Daten
Input
Arbiter
Output
Daten
Abbildung 5.1: Entscheider Fan-In/Fan-Out
einheiten reduziert werden kann. Außerdem kann die Arbeitsweise eines Entscheiders zur Laufzeit mittels Kontrolldaten verändert werden. So ist eine Justierung der Wahrnehmung“ einer Verarbeitungseinheit möglich (Abb. 5.1).
”
Definition 27 Sei DF I die Menge aller Daten, die vom Entscheider eingelesen werden, so heißt DF I Fan-In. Sei DInput ⊆ Of und DSteuerdaten ⊆ C so
gilt:
Fan-In = DInput ∪ DSteuerdaten
Definition 28 Des weiteren sei DF O die Menge aller Daten, die vom Entscheider ausgegeben werden - DF O wird als Fan-Out bezeichnet , so bezeichnet
V den Verdichtungdsgrad eines Entscheiders, das Verhältnis der Kardinalität
des Fan-In zur Kardinalität des Fan-Out.
56
V =
|DInput ∪ DSteuerdaten |
|DF O |
Um der Unterscheidung von Steuerdaten und Nutzdaten Rechnung zu tragen,
wird der Zähler des Bruchs als Summe der Kardinalitäten von DInput und
DSteuerdaten angeschrieben.
V =
|DInput | + |DSteuerdaten |
|DF O |
Der Verdichtungsgrad eines Entscheiders, der 3 unterschiedliche Instanzen eines Faktums mittels genau eines Steuerobjekts zur Kontrolle der Entscheiderfunktion zu einer einzigen neuen Instanz des Faktums fusioniert, wird beschrieben mit:
V =
3+1
1
Die Kombination aus Verarbeitungseinheit und Entscheidern ähnelt den
AFSM Bausteinen (Abb. 4.8) in der Subsumption Architecture1 .
Definition 29 Sei fAF SM die Verarbeitungsfunktion einer AFSM der Subsumption Architecture, so kann eine äquivalente Struktur (Abb. 5.2) in einer
OKI aufgebaut werden.
fAF SM = fEntscheider ◦ fV erarbeitung ◦ fEntscheider
1+1
VEntscheiderin = VEntscheiderout =
1
1
[Bro86]
57
Gedächtnisspeicher
Arbiter
In
Verarbeitungseinheit
Arbiter
Out
Steuerdaten
Abbildung 5.2: Nachbau einer AFSM
5.2.2
Datenfluss
Intelligentes Verhalten in der hier entwickelten Architektur einer Organischen
Künstlichen Intelligenz entsteht zu einem großen Teil durch den Datenfluss
und die Steuerung desselben innerhalb der KI und nicht nur durch die in Software kodierten Algorithmen der datenverarbeitenden Prozesse. Das bedeutet,
dass den Daten und dem Datenfluss in einer OKI eine zentrale Bedeutung
zukommt.
Da eine OKI ein massiv paralleles Software-System darstellt, ist die Anforderung der Verteilbarkeit naheliegend. Dies bedingt allerdings eine physische
Trennung logisch zusammengehöriger Daten. Somit müssen, um den Datenfluss innerhalb der KI beschreiben zu können, zwei Betrachtungsweisen unterschieden werden.
5.2.2.1
Logische Sicht
Wird der Datenfluss von der logischen Seite aus betrachtet, wird also untersucht wie Informationen zwischen logischen Teilsystemen ausgetauscht
werden und wie diese Teilsysteme interagieren, findet die Eigenschaft der
58
physischen Verteilung der KI auf mehrere Rechner keine Berücksichtigung.
Vielmehr wird bei dieser Betrachtung von einer ganzheitlichen, abstrakten
Applikation in einem virtuellen Address- und Objektraum ausgegangen.
Eine Organische Künstliche Intelligenz besteht aus einer Vielzahl von Funktionszentren, also aus Gruppen von Verarbeitungseinheiten. Jedes Funktionszentrum verwaltet das ihm verfügbare Wissen, die Menge aller im
Zentrum verfügbaren Daten. Diese sind im dem Zentrum zugeordneten
Gedächtnisspeicher enthalten und sind für alle Verarbeitungseinheiten des
Zentrums jederzeit zugreifbar. Eine Verarbeitungseinheit kann einer beliebigen Zahl von Funktionszentren zugeordnet werden (Abb. 5.3). Dadurch
können zum einen Daten zwischen Funktionszentren ausgetauscht und zum
anderen Funktionen in multiplen Funktionszentren verfügbar gemacht werden.
Funktionszentrum A
Funktionszentrum B
Unit1
Unit5
Unit2
Gedächtnisspeicher1
Unit4
Gedächtnisspeicher2
Unit3
Abbildung 5.3: Logische Funktionszentren - Beispiel
Der logische Kanal über den genau ein Datum zwischen Gedächtnisspeicher
und Verarbeitungseinheit und vice versa transportiert wird, wird als Fiber
bezeichnet. Da eine Verarbeitungseinheit in der Lage sein soll, auf eine beliebige Anzahl von Daten aus dem Gedächtnisspeicher zuzugreifen, muss diese
59
Einheit eine genau so große Anzahl an logischen Kanälen aufweisen, eben ein
Kanal pro Datum. Eine Fiber kann drei möglichen Kategorien angehören:
• Read Only
Eine Read Only Fiber dient dem reinen Lesezugriff auf den
Gedächtnisspeicher, verändert daher den globalen Wissensstand des
Funktionszentrums nicht. Der lokale Wissensstand innerhalb einer Verarbeitungseinheit kann sich allerdings durch gelesene globale Daten sehr
wohl verändern.
• Write Only
Mittels einer Write Only Fiber wird ein Datum in den
Gedächtnisspeicher des Funktionszentrums geschrieben. Der über
eine Write Only Fiber abgewickelte Datenfluss verändert das globale
Wissen des Funktionszentrums.
• Read Write
Die Vereinigung von Read Only Fiber und Write Only Fiber wird Read
Write Fiber genannt. Über eine Read Write Fiber kann ein Datum sowohl aus dem Gedächtnisspeicher ausgelesen als auch in diesen geschrieben werden.
Werden mehrere Datenfluss-Kanäle zusammengefasst, spricht man von einem
Bundle (Abb. 5.4). Bundles dienen der logischen Strukturierung des Datenflusses und finden ihre Anwendung bei der Implementierung der datenflussrelevanten Software-Schicht, der Transportschicht, der KI.
In Abbildung 5.4 wird die Vernetzung von Verarbeitungseinheiten mit
dem Gedächtnisspeicher über Entscheider skizziert. Ein Datum aus dem
Gedächtnisspeicher gelangt über eine Fiber in den Entscheider einer Verarbeitungseinheit, der Entscheider gibt das Datum unverändert oder modifiziert
an die eigentliche Verarbeitungseinheit weiter. Die von den Verarbeitungseinheiten erzeugten oder veränderten Daten werden an einen Entscheider
übergeben, der diese über eine Fiber in den Gedächtnisspeicher schreibt.
60
Gedächtnisspeicher1
Fiber
Bundle
A
Verarbeitungseinheit1
A
A
Verarbeitungseinheit2
A
A
Verarbeitungseinheitn
A
Abbildung 5.4: Datenfluss - logische Sicht
5.2.2.2
Physische Sicht
An dieser Stelle wird der Informationsaustausch in einer Organischen Künstlichen Intelligenz innerhalb physisch getrennter Instanzen
eines Gedächtnisspeichers betrachtet (Abb. 5.5). Diese Aufteilung des
Gedächtnisspeichers wird notwendig, wenn ein Funktionszentrum über mehrere Computer verteilt wird.
Definition 30 Sei I der Gedächtnisspeicher eines Funktionszentrum und I n
die n-te Instanz von I dann gilt
I=
n
[
In
1
Des weiteren sei ein Datum d ∈ I n charakterisiert durch das Tupel
61
System1
A
System2
Verarbeitungseinheit
A
A
Gedächtnisspeicher
Verarbeitungseinheit
A
Gedächtnisspeicher
Netzwerk
Abbildung 5.5: Datenfluss - physische Sicht
τ =< id, d >
wobei id ein eineindeutiger Identifikator und d das Datum selbst ist.
Wird ein Datum in einer Instanz eines Gedächtnisspeichers verändert oder erzeugt so muss diese Veränderung in allen weiteren Instanzen dieses Speichers
vorgenommen werden. Dazu wird die lokale Datenänderung per Netzwerk
propagiert, das impliziert aber eine zeitliche Verzögerung des Datenabgleichs
innerhalb des Funktionszentrums. Diese Verzögerung sowie die Tatsache, dass
Gedächtnisspeicher der hier entwickelten Architektur keine Information über
den Ursprung eines Datums wie Urheber oder Zeitpunkt der Änderung beinhalten, bedingt die zumindest temporäre Existenz inkohärente Zustände im
Gedächtnisspeicher.
Definition 31 Sei I 1 ,I 2 je eine Instanz eines Gedächtnisspeichers I und
τ1 ∈ I 1 sowie τ2 ∈ I 2 verschiedene Versionen einer Instanz eines Faktums in
I so liegt ein inkohärenter Gedächtnisspeicher vor wenn gilt:
62
τ1 =< id1 , d1 >
τ2 =< id2 , d2 >
id1 = id2 ∧ τ1 6= τ2
Dieser Zustand wird in einer OKI bewusst in Kauf genommen. In einem stetigen Environment sind in kurzen Zeitintervallen keine großen Veränderungen
zu erwarten. Die aus Veränderungen resultierenden Abweichungen zwischen
den Instanzen eines Gedächtnisspeichers bleiben daher gering.
Definition 32 Sei E die Menge aller Daten die sich in zwei Instanzen I 1 ,I 2
eines Gedächtnisspeichers unterscheiden
τ1 =< id1 , d1 > ∈ I 1
τ2 =< id2 , d2 > ∈ I 2
E = {τ < id, d > |id1 = id2 ∧ d1 6= d2}
so wird E als Abweichung der Gedächtnisspeicherinstanzen, die Kardinalität
von E im Verhältnis zur Kardinalität des gesamten Gedächtnisspeichers als
Abweichungsgrad Err bezeichnet.
ErrI 1 ,I 2 =
|E|
|I|
In einer Organischen Künstlichen Intelligenz wird einer permanenten Verarbeitung von jederzeit verfügbaren, dafür aber eventuell fehlerbehafteten
Daten der Vorzug gegenüber punktueller Verarbeitung fehlerfreier Daten gegeben. Dies begründet sich in der Annahme, dass rechtzeitig verfügbare fehlerbehaftete Daten für das Gesamtverhalten einer Künstlichen Intelligenz in
63
hochdynamischen Umgebungen vorteilhafter sind, als zu spät verfügbare exakte, sofern der Abweichungsgrad nicht zu groß wird.
Liegt ein verteiltes Funktionszentrum vor, existieren also Verarbeitungseinheiten und zugehörige Instanzen des Gedächtnisspeichers auf unterschiedlichen
Computern, ergibt sich die Frage nach der Aktualität eines Datums und das
daraus resultierende Problem der Gültigkeit der Daten.
Wird ein Faktum annähernd zeitgleich, das heißt innerhalb einer Zeitspanne
die kleiner als die Propagationszeit eines Datums ist, in verschiedenen Instanzen eines Gedächtnisspeichers aber im selben Datum unterschiedlich abgebildet, kann in einer Organischen KI nicht bestimmt werden, welche Instanz des
Faktums, genauer das Datum aus welcher Instanz des Gedächtnisspeichers,
das aktuellste ist.
Bei der Lösung dieses Problems kommt Entscheidern (siehe Abschnitt 5.2.1.3)
eine besondere Bedeutung zu. In Abbildung 5.6 wird die Entstehung sowie
die Auflösung eines derartigen Gültigkeitsproblems skizziert: Instanz A und
Instanz B bezeichnen unterschiedliche, getrennte Teilsysteme eines Funktionszentrums auf den Rechnern A und B.
• Zum Zeitpunkt t0 schreibt eine Verarbeitungseinheit am Rechner
A die Instanz f 0 des Faktums f in die lokale Instanz A des
Gedächtnisspeichers. Diese Gedächtnisspeicherinstanz übermittelt dieses Datum sofort an alle anderen Gedächtnisspeicherinstanzen auch an
jene am Rechner B.
• Zum Zeitpunkt t1 schreibt eine Verarbeitungseinheit am Rechner
B die Instanz f 00 des Faktums f in die lokale Instanz B des
Gedächtnisspeichers, diese übermittelt f 00 ebenfalls an alle anderen
Gedächtnisspeicherinstanzen.
• Das vom Teilsystem A zum Zeitpunkt t0 versendete Datum f 0 kommt
zum Zeitpunkt t2 bei der Gedächtnisspeicherinstanz B an, die Zeitspanne t2 − t0 wird Propagationszeit genannt. Damit enthält die Instanz B
zwei verschiedene Versionen eines Datums, diese Schlüsselstelle ist mit
einem Kreis markiert.
64
Funktionszentrum
Instanz A
Instanz B
t0
t1
f’
f’’
tPropagation
t2
tArbitration
f’
t3
t4
f’’
g’’
t5
g’
Abbildung 5.6: Datenkonflikt in einem verteilten Funktionszentrum
• Zum Zeitpunkt t3 empfängt die Gedächtnisspeicherinstanz A das Datum f 00 und enthält somit ebenfalls zwei verschiedene Versionen eines
Datums, auch diese Stelle ist mit einem Kreis markiert.
Eine einfache Überschreibung des Datums wie dies bei einem einfachen
lokalen System der Fall wäre, würde dazu führen, dass die Verarbeitungseinheiten des Teilsystems A ab dem Zeitpunkt t3 nur mehr das
Datum des Teilsystems B und die des Teilsystems B ab Zeitpunkt t2
nur mehr Daten des Teilsystems A verarbeiten würden. Da dieses Verhalten nicht immer erwünscht sein muss, kann unter Verwendung von
Entscheidern eine eindeutige, für die Teilsysteme lokale, durch Fusionierung der Versionen f 0 und f 00 gebildete Instanz des Faktums f erzeugt
65
werden.
Das so fusionierte Datum erfährt durch den Entscheider eine lokale Bewertung, in die sowohl die Daten entfernter
Gedächtnisspeicherinstanzen als auch die lokal bearbeiteten einfließen. Um den Einsatz eines Entscheiders zu ermöglichen, müssen
die Daten f 0 und f 00 im Zugriff unterscheidbar sein. Dies wird durch
die Vergabe eines eigenen Identifikators für die teilsystemfremden
Instanzen eines Faktums bewerkstelligt.
• Mit dem Eintreffen des Datums f 0 in der Gedächtnisspeicherinstanz
B zum Zeitpunkt t2 beginnt ein Entscheider des Teilsystems B mit
der Fusionierung von f 0 und f 00 . Dieser Vorgang benötigt Zeit, die mit
tArbitration bezeichnet wird, und ist zum Zeitpunkt t4 abgeschlossen. Ab
t4 steht dem Teilsystem B das Datum g 00 als lokale Verarbeitung der unterschiedlichen Versionen von Instanzen des Faktums f zur Verfügung.
Der selbe Vorgang findet im Teilsystem A statt. Hier beginnt der Prozess der Fusionierung zum Zeitpunkt t3 und ist zum Zeitpunkt t5 mit
der Verfügbarkeit des Datums g 0 abgeschlossen.
5.3
Abgrenzung
Die Hauptmerkmale einer Organischen Künstlichen Intelligenz, die hochparallele Verarbeitung sowie die starke Vernetzung der Verarbeitenden Einheiten, erinnern zum einen an konnektionistische zum anderen an Subsumption
Architekturen.
Die Organische KI verfolgt durchaus konnektionistische Ansätze, allerdings
erlaubt sie die nahtlose Integration nichtkonnektionistischer Teilsysteme in
ein stark vernetztes, datenzentriertes Gesamtsystem. Dies stellt einen enormen Vorteil dar, wenn man den Anstieg der Komplexität klassischer konnektionistischer Systeme bei wachsenden Anforderungen betrachtet. Die ein66
zelnen Verarbeitungseinheiten innerhalb einer Organischen KI sind im Gegensatz zu einer klassischen konnektionistischen nicht direkt verbunden, der
gesamte Datenfluss wird über Gedächtnisspeicher abgewickelt.
Im Gegensatz zu einer klassischen Subsumption Architecture, deren Verarbeitungseinheiten fix verbundene AFSMs sind, ermöglicht eine Organische
Künstliche Intelligenz durch die Verwendung beliebiger Verarbeitungseinheiten und Gedächtnisspeichern die Integration einer Weltrepräsentation und
somit den Einsatz planender Teilsysteme.
5.4
Software-Entwurfs-Paradigma
Um eine Organische Künstliche Intelligenz zu entwickeln, die eine Analogie
in der Informationsverarbeitung im Organismus von Tieren findet, sind beim
Entwurf einige grundsätzliche Prinzipien zu berücksichtigen, die hier zusammengefasst werden. Diese Prinzipien resultieren aus den bisher in diesem
Kapitel festgelegten Definitionen und vermitteln in Kurzfassung die grundlegende Idee hinter einer Organischen Künstlichen Intelligenz.
I. Information besteht permanent.
Sobald ein Faktum in der KI bekannt ist, existieren davon Instanzen,
also Daten im Gedächtnisspeicher. Diese Daten können zu jedem Zeitpunkt gelesen oder verändert werden.
II. Daten haben keine Attribute.
Ein Datum in einem Gedächtnisspeicher wird über eine eindeutige ID,
den Identifikator, identifizierbar. Ein Gedächtnisspeicher enthält keine
weiteren Merkmale eines Datums wie zum Beispiel Informationen über
die Herkunft oder den Entstehungszeitpunkt.
III. Informationsverarbeitung erfolgt kontinuierlich.
Alle Verarbeitungseinheiten einer Organischen Künstlichen Intelligenz sind ständig aktiv. Daten werden kontinuierlich aus dem
67
Gedächtnisspeicher gelesen, verarbeitet und in den Gedächtnisspeicher
geschrieben.
IV. Informationsverarbeitung erfolgt parallel und asynchron.
Die permanente Informationsverarbeitung aller Verarbeitungseinheiten
impliziert die zeitgleiche, also parallele Aktivität aller Verarbeitungseinheiten. Auf Software-Ebene wird eine Verarbeitungseinheit durch eine
Befehlsfolge repräsentiert, die zyklisch ausgeführt wird, was eine Diskretisierung des Verarbeitungsprozesses bedeutet.
V. Verarbeitungseinheiten werden in Funktionszentren zusammengefasst.
Verarbeitungseinheiten, die zur Realisierung einer gemeinsamen Funktion beitragen, werden in einem Funktionszentrum zusammengefasst. Ein
Funktionszentrum beinhaltet einen gemeinsamen Gedächtnisspeicher.
Funktionszentren können auf beliebig viele Computer verteilt werden.
VI. Redundante und widersprüchliche Daten sind zulässig.
In einer OKI können Verarbeitungseinheiten das selbe Faktum in wohlunterschiedenen Instanzen erzeugen, diese Instanzen dürfen sich sowohl
im Wert als auch im Identifikator unterscheiden. Das bedeutet, dass von
einem Faktum mehrere Instanzen existieren können, dass aber auch
von einem Datum mehrere Versionen erlaubt sind. Dies ist zulässig, da
unterschiedliche Interpretationen eines Faktums möglich sind. Die Verarbeitung dieser Datenvielfalt wird mit Entscheidern bewerkstelligt.
VII. Daten dürfen keine zyklischen Abhängigkeiten aufweisen.
Instanzen eines Faktums in verteilten Instanzen eines Gedächtnisspeichers müssen über ihren Identifikator eindeutig unterscheidbar sein.
Diese so unterscheidbaren Versionen einer logischen Instanz eines Faktums können von Entscheidern fusioniert werden.
VIII. Informationsinterpretation obliegt dem Rezipienten.
Die Bedeutung der im Gedächtnisspeicher befindlichen Daten entsteht
68
erst bei der Verwendung in einer Verarbeitungseinheit. So kann ein und
das selbe Datum in verschiedenen Verarbeitungseinheiten eine völlig
unterschiedliche Bedeutung haben.
IX. Eine OKI besitzt keine prozedurale API.
Da eine Organische Künstliche Intelligenz die Verarbeitung von Information bewerkstelligt, indem eine Vielzahl von asynchronen Verarbeitungseinheiten permanent, parallel den Datenstrom modifiziert aber
von diesem auch gesteuert wird, können einzelne Aufgaben nicht im
Sinne einer API aus dem Gesamtsystem herausgelöst werden.
X. Entscheider erlauben Lernprozesse außerhalb der Verarbeitungseinheiten.
Lernprozesse in einer OKI können natürlich in Verarbeitungseinheiten
stattfinden, wenn diese eine entsprechende Funktionalität aufweisen,
zusätzlich bieten aber Entscheider mittels dynamischer Dateninterpretation die Möglichkeit konnektionistische Lernmodelle in die GesamtKI einzuführen.
69
Kapitel 6
Organische KI der Vienna
Cubes
An dieser Stelle wird nun ein Überblick über die Beschaffenheit der Architektur der Organischen Künstlichen Intelligenz der Vienna Cubes gegeben, die
basierend auf den Prinzipien aus Kapitel 5 entworfen wurde.
Diese KI kommt im Zuge der Weltmeisterschaft 2005 im Roboterfußball,
dem RoboCup2005 in Osaka erstmals zur Anwendung. Dabei werden zwei
Varianten eingesetzt. Zum einen werden organisch konzipierte Komponenten, im speziellen das Antizipatorische Zentrum (siehe Abschnitt 6.2) mittels
Gedächtnisspeicher mit der bisherigen prozeduralen KI gekoppelt, zum anderen wird die reine OKI eingesetzt, um Spezialaufgaben im Wettbewerb der
Technical Challenges“ zu lösen.
”
Die OKI der Vienna Cubes besteht aus vier Hauptfunktionszentren (Abb.
6.1), die über gemeinsame Gedächtnisspeicher interagieren. Die Verwendung
der Gedächtnisspeicher ermöglicht eine Verteilung der gesamten OKI auf eine
beliebige Anzahl von Rechnern. Die tatsächliche Anzahl spielt für das Design
der Architektur keine Rolle, da dies auf der logischen Ebene geschieht. Die
Anforderungen auf der physischen Ebene (Abschnitt 5.2.2.2) werden von der
Implementierung der Gedächtnisspeicher erfüllt und bleiben somit transparent.
70
Sensorisches
Zentrum
Deliberatives
Zentrum
Motorisches
Zentrum
Antizipatorisches
Zentrum
Abbildung 6.1: Funktionszentren der Vienna Cubes OKI
Die Hauptfunktionszentren stellen eine grobe Einteilung und Zuordnung von
Verarbeitungseinheiten zu betrachteten Funktionen der Vienna Cubes OKI
dar und dienen dem besseren Verständnis der komplexen Struktur des Gesamtsystems. Tatsächlich ergibt sich die Zugehörigkeit zu einem Funktionszentrum implizit durch die Nutzung des Gedächtnisspeichers des Zentrums.
Die vier zu betrachtenden Hauptfunktionszentren sind:
• Sensorisches Zentrum
Vom sensorischen Zentrum werden Informationen von allen Sensoren
des Systems verarbeitet und in den Datenstrom eingespeist.
• Antizipatorisches Zentrum
Da die Wahrnehmungsverarbeitung mit einem Zeitverlust behaftet ist,
nicht immer alle Umweltveränderungen wahrgenommen werden können
und für eine effektive Planung Folgenabschätzungen nötig sind, werden
alle Verarbeitungseinheiten, die Umweltveränderungen antizipieren im
antizipatorisches Zentrum zusammengefasst.
• Motorisches Zentrum
71
Das motorische Zentrum beinhaltet Verarbeitungseinheiten, die mit Bewegungserzeugung, Bewegungsumsetzung und deren Kontrolle befasst
sind. In diesem Zentrum finden sich hauptsächlich agentenartige Verarbeitungseinheiten.
• Deliberatives Zentrum
Die Aufgabe des Nachdenkens im übertragenen Sinn, also Planung,
Strategiebestimmung und Situationsbewertung, wird von den Verarbeitungseinheiten des deliberativen Zentrums bewerkstelligt.
6.1
Sensorisches Zentrum
Die Künstliche Intelligenz der Vienna Cubes wird ständig mit Informationen
aus Sensoren des Systems versorgt. Diese Informationen müssen für die Weiterverarbeitung durch die KI aufbereitet und dann in das System eingespeist
werden.
Das System verfügt zur Wahrnehmung der Umwelt, konkret des Spielfeldes
und der darauf befindlichen Objekte wie Ball und Spieler sowie des Schiedsrichters, über folgende Sensoren:
• Videokamera
Die Videokameras sind über dem Spielfeld montiert (siehe Abschnitt
1.3.2.1) und liefern Bildinformationen des bespielbaren Bereichs.
• Funkmodul
Die Kommunikation der KI mit den eigenen Robotern erfolgt per Funk.
Dabei steht eine bidirektionale Funkstrecke zur Verfügung. Die KI
überträgt Steuerdaten an die Roboter, und empfängt Informationen
der lokalen Sensoren am Roboter.
• Referee-Box
Der Spielablauf eines Fußballspiels wird vom Schiedsrichter bestimmt,
dessen Kommandos vom Schiedsrichter-Assistenten in die sogenannte
Referee-Box eingegeben werden. Die KI nimmt den Schiedsrichter somit
über die Referee-Box wahr.
72
Sensorischer
Gedächtnisspeicher
Bildverarbeitung
Roboter Feedback
Referee Box
Auswertung
Bilddaten
Roboterzustandsdaten
Referee Eingaben
Antizipatorischer
Gedächtnisspeicher
Abbildung 6.2: Sensorisches Zentrum der Vienna Cubes OKI
Die Schnittstelle vom sensorischen zu den anderen Funktionszentren stellt
der Gedächtnisspeicher dar, die zu den Sensoren wird von spezialisierten Verarbeitungseinheiten realisiert, die die Sensorinformtionen verarbeiten und in
aufbereiteter Form ebenfalls in den Gedächtnisspeicher des Zentrums einspeisen.
Das sensorische Zentrum stellt neben der Menge W , also der Menge aller
Wahrnehmungsfolgen, die Menge aller Instanzen von wahrgenommenen Fakten S 0 ∈ S nach Definition 16, für die Agentensysteme innerhalb einer OKI
zur Verfügung, wobei mehrere Sensorfunktionen existieren.
73
6.2
Antizipatorisches Zentrum
Da Informationspropagation wie auch Informationsverarbeitung in einer OKI
Zeit in Anspruch nimmt, entspricht die Weltrepräsentation immer nur einer
bereits veralteten Momentaufnahme der Umwelt. Dies führt dazu, dass eine
OKI zukünftige Handlungen mittels veralteter Fakten bestimmen muss, wodurch die Ergebnisse der gesetzten Handlungen oft nicht den gewünschten
Erfolg bringen. Um dieses Problem zu verdeutlichen, soll hier ein einfaches
Beispiel betrachtet werden:
Ein anfangs stehender Roboter soll einen vorbeirollenden Ball berühren.
Abbildung 6.3 demonstriert wie die OKI versucht, die gestellte Aufgabe ohne
Bewegungsantizipation zu lösen:
Zum Zeitpunkt t0 wird die Umwelt wahrgenommen und anhand der erhaltenen Objektpositionen wird eine Zielposition für den Roboter berechnet.
Für diese werden nun Bewegungskommandos bestimmt und an den Roboter
übertragen. Zum Zeitpunkt t1 ist der Roboter an der Zielposition angekommen, der Ball hat sich aber inzwischen weiterbewegt, wodurch der Roboter
den Ball verfehlt. Die KI hat die Ballbewegung nicht antizipiert.
Zeitpunkt t0
Zeitpunkt t1
Ball
Ball
Ziel1
Roboter
Roboter
Abbildung 6.3: Ballannahme ohne Antizipation
Im Gegensatz dazu zeigt Abbildung 6.4 wie die OKI die Aufgabe löst, wenn
das antizipatorische Zentrum aktiv ist:
74
Zeitpunkt t0
Zeitpunkt t1
Ball
Ball
Ball
Ziel2
Roboter
Roboter
Abbildung 6.4: Ballannahme mit Antizipation
Die Künstliche Intelligenz nimmt auch hier die Umwelt zum Zeitpunkt t0
wahr, antizipiert aber aufgrund der Ballbewegung eine andere Ballposition
zum Zeitpunkt t1 als das im Beispiel ohne Antizipation der Fall war. Dadurch
wird eine andere Zielposition für den Roboter bestimmt, zum Zeitpunkt t1
berührt der Roboter den Ball auch tatsächlich wie gefordert.
Das antizipatorische Zentrum liefert also parallel zum sensorischen Zentrum ständig prognostische Daten basierend auf sensorischen Wahrnehmungen und gesetzten Aktionen. Die in die OKI eingespeisten Daten des antizipatorischen Zentrums entsprechen der Menge der extrapolierten Weltrepräsentationszustände S 00 ∈ S nach Definition 16 sowie der Menge der simulierten Weltrepräsentationszustände S 000 ∈ S nach Definition 18.
Innerhalb des antizipatorischen Zentrums der Vienna Cubes OKI arbeiten
drei Subzentren (Abb. 6.5), die jeweils einen anderen Ansatz zur Vorhersage
von Weltrepräsentationsänderungen verfolgen:
Modellbasierte Antizipation
Im Subzentrum der modellbasierten Antizipation wird mittels eines
umfangreichen Weltmodells eine physikalische Simulation der Umwelt
basierend auf den aktuellen Daten der Weltrepräsentation berechnet.
75
Antizipatorischer
Gedächtnisspeicher
Modellbasierte
Antizipation
Kalman Filter
Sensorischer
Gedächtnisspeicher
Neuronale
Antizipation
Motorischer
Gedächtnisspeicher
Abbildung 6.5: Antizipatorisches Zentrum der Vienna Cubes OKI
Das verwendete Physikmodell entstammt dem Open Source Projekt
Open Dynamics Engine (ODE)1 .
Die Verarbeitungseinheiten dieses Subzentrums beziehen sowohl Daten
aus dem Gedächtnisspeicher des sensorischen als auch des motorischen
Zentrums. Mittels der Daten aus dem eigenen Gedächtnisspeicher stehen historische Zeitreihen sowie Vorhersagedaten der anderen antizipatorischen Subzentren zur Verfügung.
Die verfügbaren Daten werden kontinuierlich in diskreten Zeitschritten mittels der ODE verarbeitet. Ergebnisse der Verarbeitung
sind simulierte zukünftige Weltrepräsentationszustände, die in den
Gedächtnisspeicher des Funktionszentrums geschrieben werden.
Kalmanfilter
Der Kalmanfilter2 ist ein stochastischer Zustandsschätzer für dynami1
2
http://www.ode.org
[Kal60]
76
sche Systeme und wurde 1960 für zeitdiskrete, lineare Systeme entwickelt. Er wird verwendet, um Weltrepräsentationszustände aufgrund
von teils redundanten Wahrnehmungen, die von Rauschen überlagert
sind, zu schätzen. Dabei wird der mittlere quadratische Fehler minimiert.
Im Gegensatz zu anderen stochastischen Schätzverfahren ist der Kalmanfilter aufgrund seiner iterativen Struktur echtzeitfähig, was ihn zum
Einsatz in einer KI für dynamische Umgebungen prädestiniert.
Der Kalmanfilter besitzt eine Prädiktor-Korrektor-Struktur. Das heißt,
dass zum Zeitpunkt t0 , unter Verwendung der Eingangsdaten, Ausgangsdaten für den Zeitpunkt tn prädiziert werden. Zum Zeitpunkt tn
wird der so vorhergesagte Wert mit dem tatsächlichen wahrgenommenen verglichen, die Abweichung der beiden Werte wird linear gewichtet
und als Korrekturfaktor in die Prädiktion des nächsten Werts eingearbeitet.
Neuronale Antizipation
Dieses Subzentrum verwendet Neuronale Netze, um anhand historischer
Daten der Weltrepräsentation sowie den Gedächtnisspeichern des motorischen, sensorischen und des eigenen Zentrums, zukünftige Weltrepräsentationszustände zu prädizieren. Der Vorteil dieser Methode ist,
dass kein exaktes Weltmodell bekannt sein muss, um sinnvolle Resultate zu erzielen, da ein Neuronales Netz die Vorhersage der Auswirkungen
des Weltmodells implizit aus Trainingsdaten erlernt.3
Die
einfachsten
verwendbaren
Neuronalen
Netze
sind
4
rückkopplungsfreie Netze (feedforward-Netze ), die organische Architektur der Vienna Cubes erlaubt aber auch den Einsatz komplexerer
Netztopologien.
3
4
[GSE+ 03]
[Zel94] Kapitel 5.7.1, Seite 78
77
6.3
Motorisches Zentrum
Roboterfußball stellt ein hochdynamisches Environment dar, weshalb eine
Künstliche Intelligenz äußerst reaktiv sein muss, um im Wettbewerb zu bestehen. Die hohe Dynamik des Fußballspiels erfordert ein möglichst schnelles
Reagieren auf Situationsänderungen. Gerade in Ausführung befindliche Pläne
und Kommandos müssen schnellstmöglich abgebrochen und durch neue, der
Situation entsprechende ersetzt werden können. Aus diesem Grund wird die
motorische Funktionalität der Vienna Cubes OKI mit einem behavioristischreaktiven Ansatz realisiert.
Das motorische Zentrum der Vienna Cubes OKI wird selbst als Multi Agenten System entworfen, eine Vielzahl einzelner Verhalten ist in Form reaktiver
Agenten aktiv. Diese Verhalten konkurrieren um die Vorherrschaft im Zentrum, eine übergeordnete Entscheidungsschicht fusioniert die Ergebnisse der
Verhaltensagenten.
6.3.1
Skills
Verarbeitungseinheiten, die mit der Lösung einer gemeinsamen motorischen
Aufgabe befasst sind, also zum Beispiel dem Fahren zu einer Zielposition,
sowie zugehörige Entscheider, die mit der Fusion der Ausgaben dieser Verarbeitungseinheiten befasst sind, werden als Verhalten (Behaviour) beziehungsweise als Skill bezeichnet (Abb. 6.6).
Skills entsprechen Agenten aus Abschnitt 4.1, der Wahrnehmung
des Agenten entspricht das Lesen von Daten aus den verschiedenen
Gedächtnisspeichern, dem Agieren das Schreiben von Aktionen in den motorischen Gedächtnisspeicher. Skills sind ständig aktiv, dadurch kann kurzfristig
zwischen beliebigen, sogar völlig konträren, Verhalten umgeschalten werden.
Aktionen im Sinn der motorischen Verarbeitungseinheiten sind primitive, aus
Bewegungsvektoren resultierende Steuerkommandos für die Aktuatoren der
Roboter. Der Gedächtnisspeicher des motorischen Zentrums enthält jederzeit
78
A
Verarbeitungseinheit1
A
Arbiter
A
Verarbeitungseinheitn
A
Abbildung 6.6: Aufbau eines Skills
die momentanen Steuerkommandos aller Skills. Da aber Aktuatoren naturgemäß zu jedem Zeitpunkt nur auf ein einziges Steuerkommando reagieren,
muss eine Entscheidungs- beziehungsweise Fusionseinheit das tatsächliche
Steuerkommando für jeden Aktuatoren aus der Menge der verfügbaren Kommandos erzeugen. Dieser Aufbau des motorischen Zentrums der OKI ist in
Abbildung 6.7 skizziert.
6.3.2
Fusionseinheiten
Die Fusionseinheiten des motorischen Zentrums sind Sonderformen von Entscheidern (Abschnitt 5.2.1.3). Ihre Aufgabe ist die Erzeugung eines eindeutigen Steuerkommandos für einen Aktuator eines Roboters.
Um das tatsächlich an den Aktuator zu übermittelnde Steuerkommando zu
bestimmen, verwenden Fusionseinheiten die Menge aller von Skills erzeugten
Steuerkommandos als Eingabemenge.
Zusätzlich haben Fusionseinheiten Zugriff auf die sensorischen, antizipatorischen und deliberativen Gedächtnisspeicher. Mit dem sensorischen
79
Skill1
Skill2
Skill3
Fusion
Sensorischer
Gedächtnisspeicher
Deliberativer
Gedächtnisspeicher
Antizipatorischer
Gedächtnisspeicher
Motorisches
Kommando
Abbildung 6.7: Motorisches Zentrum - Funktionsweise
Gedächtnisspeicher stehen neben den Instanzen der Sensorwahrnehmung
auch jene von gegebenen Schiedsrichterbefehlen zur Verfügung, durch den
deliberativen Gedächtnisspeicher sind Informationen der Spielplanung und
Stellungsanalyse verfügbar. Diese Kontext-Informationen steuern die Art sowie die Beschaffenheit der Kommandofusion.
Die Eigenschaft, die eine Fusionseinheit von einem Standard-Entscheider
unterscheidet, ist die Prozessprioritätskontrolle, die Fusionseinheiten zur
Verfügung steht. Fusionseinheiten sind in der Lage, Skills abhängig vom momentanen Weltmodellzustand und geplanten Handlungen zu priorisieren. Dadurch ist es möglich, Skills, die in der aktuellen Situation nicht relevant für
die Kommandofusion sind, mit geringeren CPU-Ressourcen ablaufen zu lassen um so eine höhere Abarbeitungsfrequenz bei fusionsrelevanten Skills zu
erreichen.
80
6.4
Deliberatives Zentrum
Verarbeitungseinheiten, die der Lösung komplexer Aufgaben nachdenkenden
Inhalts wie Planung, Strategiefindung oder Stellungs- und Situationsbewertung dienen, werden im deliberativen Zentrum zusammengefasst.
In diesem Zentrum gewonnenen Daten dienen den anderen Funktionszentren
als Eingangsdaten für Verarbeitungseinheiten und als Kontroll- und Steuerdaten für Entscheider. Da Verarbeitungseinheiten der deliberativen Schicht in
der Regel umfangreiche Verarbeitungsschritte hoher Komplexität ausführen,
weisen sie hohe Verarbeitungszeiten auf.
Das deliberative Zentrum der Vienna Cubes OKI beherbergt also jene Verarbeitungseinheiten, die sich mit strategischen Überlegungen und der gesamten
Multi-Agenten Planung befassen. Diese sind:
• Situations- und Stellungsbewertung
• Spielzugauswahl und Spielzugausführung
• Rollenvergabe
Die logische Abhängigkeit dieser Funktionszentren innerhalb des deliberativen Hauptfunktionszentrums kann Abbildung 6.8 entnommen werden.
Die Aufgaben der deliberativen Schicht werden im realen Fußball zu einem
großen Teil vom Coach, oder zumindest von einem Spielmacher wahrgenommen.
6.4.1
Situations- und Stellungsbewertung
Die Funktionszentren, die eine Situations- und Stellungsbewertung vornehmen betrachten eine Momentaufnahme des Spielfelds:
Objektpositionen Die Positionen und Drehrichtung der Roboter sowie die
Ballposition sind die grundlegendsten und auch die wichtigsten Informationen für eine erfolgreiche Stellungsbewertung.
81
Stellungsbewertung
Spielzugauswahl
Spielzugüberwachung
Rollenvergabe
Rollen
Abbildung 6.8: Deliberatives Zentrum - logische Abhängigkeiten
Bewegungsvektoren Zusätzlich zu den Positionen erlauben die Bewegungsvektoren der am Spielfeld befindlichen Objekte eine genauere Beurteilung der betrachteten Situation. Durch die Kenntnis von Bewegungsund Drehrichtung und Geschwindigkeit können Spielsituationen unterschieden werden, die bei rein statischer Betrachtung gleiche Ergebnisse
liefern würden.
Schiedsrichterbefehle Schiedsrichterbefehle beeinflussen die Interpretation einer zu analysierenden Spielsituation, da der Zustand eines laufenden Spiels durch den Schiedsrichter vorgegeben wird. So kommen
Objektpositionen im Gegensatz zu einem Normalspielzug andere Bedeutungen zu, wenn der Schiedsrichter auf Freistoß entschieden hat.
Ballbesitz Ein ebenfalls wichtiger Bestandteil analytischer Spielsituationsbewertung ist die Frage des Ballbesitzes. Das Faktum des Ballbesitzes
bestimmt die Beurteilung aller Spielzüge und den daraus resultierenden
Situationen, die die Manipulation des Balls voraussetzen.
Strategie Informationen über die momentane eigene sowie die gegnerische
Strategie erlauben eine komplexe Bewertung von Spielsituationen. So
führt zum Beispiel eine defensive Strategie des Gegners dazu, dass die
82
Bewertung von Freiräumen in der gegnerischen Hälfte eine Aufwertung
erfährt.
Das Ergebnis der Stellungsbewertung sind Daten im Gedächtnisspeicher des
deliberativen Zentrums, die zum einen von anderen deliberativen Verarbeitungseinheiten wie der Rollenvergabe oder der Spielzugauswahl verwendet
werden und zum anderen im motorischen und im antizipatorischen Zentrum
zur Steuerung der lokalen Entscheider zur Anwendung kommen.
6.4.2
Spielzugauswahl und Spielzugausführung
Basierend auf den Ergebnissen der Situations- und Stellungsbewertung wird
von den Funktionszentren der Spielzugauswahl ein der momentanen Spielsituation entsprechender Spielzug ausgewählt.
Ein Spielzug beinhaltet Rollen und Zielpositionen für jeden Spieler, Variationsmöglichkeiten, erlaubte Toleranzen und zeitliche Abfolgen für Teilspielzüge sowie Abbruchbedingungen für den Erfolgs- und Misserfolgsfall.
Nachdem ein Spielzug ausgewählt und mit dessen Ausführung begonnen wurde, gewinnen jene Verarbeitungseinheiten und Entscheider an Bedeutung, die
die Einhaltung der Spielzugvorschriften überwachen, sowie die Abbruchbedingungen kontrollieren. Ein Ballverlust während eines Angriffsspielzugs muss
den sofortigen Spielzugabbruch nach sich ziehen.
Wird ein Spielzug abgebrochen, erlangen die auswählenden Verarbeitungseinheiten und Entscheider wieder ihre Bedeutung zurück. Dieser Bedeutungswechsel zwischen Spielzugauswahl und Spielzugausführung wird in der Organischen Künstlichen Intelligenz mit Entscheidern und der Erzeugung eigener
Steuerdaten bewerkstelligt.
6.4.3
Rollenvergabe
Das dritte große Funktionszentrum innerhalb des deliberativen Zentrums ist
jenes, das mit der Rollenvergabe für einzelne Roboter befasst ist.
83
Rollen sind Aufgabenbeschreibungen, die einem bestimmten Plan oder Spielzug zugeordnet sind. Da die Roboter der Vienna Cubes im Bezug auf ihre
physische Ausführung ident sind, kann die Rollenzuteilung nach rein stellungsspezifischen Aspekten erfolgen. Rollen sind Funktionszentren, die bei
Bedarf einem Roboter zugeteilt werden.
Sobald ein Roboter eine Rolle zugewiesen bekommen hat, versucht dieser,
eigentlich dessen Rolle, die geforderten Aufgaben auszuführen. Scheitert dies,
wird entsprechende Steuerinformation für die spielzugausführenden Funktionszentren erzeugt.
84
Kapitel 7
Ausblick
Im Rahmen dieser Arbeit wurde eine Architektur für Organische Künstliche
Intelligenzen entwickelt. Unter Anwendung des dabei postulierten Paradigmas wurde eine KI für die Roboterfußball-Equipe der Vienna Cubes entworfen und implementiert. Diese Implementierung dient sowohl als System für
den Wettkampfeinsatz als auch als Testumgebung für weitere Untersuchungen des Konzepts der Organischen Künstlichen Intelligenz.
Der enorme Umfang des Bereichs der KI Architektur bietet zahlreiche Ansatzpunkte für weiterführende Forschung und Entwicklung sowohl im Bereich
OKI als auch im Bereich der Vienna Cubes.
Bereits während der Implementierungsphase der Vienna Cubes OKI ließen
sich komplexe dynamische Effekte im Datenfluss beobachten. Weitere Untersuchungen, die bereits im Laufen sind, befassen sich damit, eine genaue
Beschreibung dieser Effekte, sowie deren Entstehung und Auswirkung auf das
Verhalten des Gesamtsystems zu erhalten. Diese Untersuchungen, sowie die
fehlende direkte Rückkopplung assoziierter Verarbeitungseinheiten im vorliegenden Konzept, werden zentraler Inhalt zukünftiger Arbeiten am Vienna
Cubes Projekt darstellen.
Um ein hochgradig lernfähig agierendes Gesamtsystem zu erhalten, wird
die Funktionsweise der dynamischen Gewichtung des Arbitrationsprozesses
in einem laufenden System genauer untersucht werden. Die dabei gewonnenen Erkenntnisse lassen zum einen Rückschlüsse auf die dynamischen Eigen85
schaften des Datenflusses während des Maschinen-Lernprozesses zu, führen
aber zum anderen auch zu einem kompetitiven, lern- und anpassungsfähigen
Wettkampf-System.
Das Wettkampf-System unterliegt einer stetigen Verbesserung, indem bereits
bestehende Komponenten erweitert und trainiert, sowie ständig neue Teilsysteme wie Skills oder Rollen zu den jeweiligen Funktionszentren hinzugefügt
werden. Außerdem werden die Erkenntnisse aus den wissenschaftlichen Untersuchungen dazu verwendet, das System zu optimieren. In Summe soll so
die Leistungsfähigkeit und Robustheit der Vienna Cubes gesteigert werden.
86
Abbildungsverzeichnis
1.1 SSL Regelwerk - Spielfeldabmessungen . . . . . . . . . . . . . 12
1.2 Systemübersicht Vienna Cubes . . . . . . . . . . . . . . . . . 14
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
Modell eines Agenten . . . . . . . . . . . . .
Modell eines einfachen Reflex-Agenten . . .
Modell eines modellbasierten Reflex-Agenten
Modell eines zielbasierten Agenten . . . . . .
Modell eines nutzenbasierten Agenten . . . .
Modell eines lernenden Agenten . . . . . . .
Kompetenzschichten . . . . . . . . . . . . .
Augmented Finite State Machine . . . . . .
Subsumption Architecture - Beispiel . . . . .
Drei-Schichten Architektur . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
32
35
37
39
42
43
47
48
48
50
5.1
5.2
5.3
5.4
5.5
5.6
Entscheider Fan-In/Fan-Out . . . . . . . . . . . . .
Nachbau einer AFSM . . . . . . . . . . . . . . . . .
Logische Funktionszentren - Beispiel . . . . . . . .
Datenfluss - logische Sicht . . . . . . . . . . . . . .
Datenfluss - physische Sicht . . . . . . . . . . . . .
Datenkonflikt in einem verteilten Funktionszentrum
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
56
58
59
61
62
65
6.1
6.2
6.3
6.4
6.5
6.6
Funktionszentren der Vienna Cubes OKI . . . . .
Sensorisches Zentrum der Vienna Cubes OKI . . .
Ballannahme ohne Antizipation . . . . . . . . . .
Ballannahme mit Antizipation . . . . . . . . . . .
Antizipatorisches Zentrum der Vienna Cubes OKI
Aufbau eines Skills . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
71
73
74
75
76
79
87
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6.7 Motorisches Zentrum - Funktionsweise . . . . . . . . . . . . . 80
6.8 Deliberatives Zentrum - logische Abhängigkeiten . . . . . . . . 82
88
Tabellenverzeichnis
1.1
1.2
1.3
1.4
1.5
1.6
1.7
SSL Spezifikationen . . . . . . . . . . .
MSL Spezifikationen . . . . . . . . . .
4-Legged League Spezifikationen . . . .
Humanoid Leagues Spezifikationen . .
SSL Regelwerk - Roboterabmessungen
SSL Regelwerk - Robotermarkierung .
SSL Regelwerk - Ballspezifikation . . .
4.1
Beispiele für Agenten . . . . . . . . . . . . . . . . . . . . . . . 29
89
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 5
. 6
. 7
. 8
. 10
. 10
. 11
Literaturverzeichnis
[Bro86]
Rodney Brooks. A robust layered control system for a mobile
robot. IEEE Journal of Robotics and Automation, 2(1):14–23,
March 1986.
[GSE+ 03] Alexander Gloye, Mark Simon, Anna Egorova, Fabian Wiesel, Oliver Tenchio, Michael Schreiber, Sven Behnke, and Raúl Rojas.
Predicting away robot control latency. Technical Report B-08-03,
FU-Berlin, June 2003.
[KAK+ 95] Hiroaki Kitano, Minoru Asada, Yasuo Kuniyoshi, Itsuko Noda,
and Eiichi Osawa. Robocup: The robot world cup initiative. In
IJCAI-95 Workshop on Entertainment and AI/Alife (1), page 1,
1995.
[Kal60]
Emil Kalman, Rudolph. A new approach to linear filtering and
prediction problems. Transactions of the ASME–Journal of Basic
Engineering, 82(Series D):35–45, 1960.
[KTS+ 97] Hiroaki Kitano, Milind Tambe, Peter Stone, Manuela M. Veloso,
Silvia Coradeschi, Eiichi Osawa, Hitoshi Matsubara, Itsuki Noda,
and Minoru Asada. The robocup synthetic agent challenge 97. In
IJCAI (1), pages 24–30, 1997.
[Mac92]
Alan Mackworth. On seeing robots. In Vision Interface 1992,
Vancouver, May 1992.
[McC58a] John McCarthy. An algebraic language for the manipulation of
symbolic expressions. MIT AI Memo 1, MIT, Cambridge, MA,
September 1958.
90
[McC58b] John McCarthy. Programs with common sense. In Teddington
Conference on the Mechanization of Thought Processes, Dezember 1958.
[McD82]
J. McDermot. R1:A Rule Based Configurer of Computer Systems.
Artificial Intelligence, 1982(19):39–80, 1982.
[Min75]
M. Minsky. A framework for representing knowledge. In P.M
Winston, editor, The Psychology of Computer Vision, pages 211–
277. McGraw Hill, New York, 1975.
[MP43]
Warren McCulloch and Walter Pitt. A logical calculus of the
ideas immanent in nervous activity. Bulletin of Mathematical
Biophysics, (5):115–133, 1943.
[MP69]
Marvin Lee Minsky and Seymour Papert. Perceptrons: An introduction to computational geometry. MIT Press, Cambridge,
Massachusetts, 1969.
[NS56]
Allen Newell and Herbert A. Simon. The logic theory machine:
A complex information processing system. IRE Transactions on
Information Theory, IT-2(3):61–79, September 1956.
[NS76]
Allen Newell and Herbert A. Simon. Computer science as empirical inquiry: Symbols and search. pages 91–119, 1976.
[RN04]
Stuart Russel and Peter Norvig. Künstliche Intelligenz : Ein moderner Ansatz. Pearson Education Deutschland, 2. edition, 2004.
[Rob65]
J. A. Robinson. A machine-oriented logic based on the resolution
principle. J. ACM, 12(1):23–41, 1965.
[Tur50]
A.M. Turing. Computing Machinery and Intelligence. Mind,
59(236):433–460, 1950.
[Zel94]
Andreas Zell. Simulation Neuronaler Netze. Addison-Wesley, 1
edition, 1994.
91
Herunterladen