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