47
HTWK Leipzig Fachbereich Informatik, Mathematik und Naturwissenschaften Bachelorarbeit Steuerung virtueller Verkehrsteilnehmer durch gewichtete Beraterstimmen Betreuung: Prof. Dr. S. Schönherr Dipl. Kfm. S. Kleinke vorgelegt von Marcus Frenkel Leipzig, August 2007

Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

  • Upload
    ngoque

  • View
    212

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

HTWK Leipzig

Fachbereich Informatik,

Mathematik und Naturwissenschaften

Bachelorarbeit

Steuerung virtueller Verkehrsteilnehmer

durch gewichtete Beraterstimmen

Betreuung:

Prof. Dr. S. Schönherr

Dipl. Kfm. S. Kleinke

vorgelegt von

Marcus Frenkel

Leipzig, August 2007

Page 2: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

2

Inhaltsverzeichnis

1. DAS PROJEKT ............................................................................................ 4

1.1. MOTIVATION ................................................................................................................4

1.2. ZIELSTELLUNG ..............................................................................................................5

1.3. ZUSÄTZLICHE BEMERKUNGEN .......................................................................................5

2. EINLEITUNG .............................................................................................. 7

2.1. KI IM ALLGEMEINEN .....................................................................................................7

2.2. EINSATZGEBIETE FÜR KI ...............................................................................................8

2.3. ARTEN VON KI..............................................................................................................9

2.3.1. Entscheidungsbäume/werkzeugbasierte Entscheidungsarchitekturen .................................9 2.3.2. Automaten/Finite State Machines .................................................................................... 10 2.3.3. Künstliche neuronale Netze ............................................................................................. 11 2.3.4. Regelbasierte Systeme/Agentensysteme .......................................................................... 12 2.3.5. Abstimmungsarchitekturen/Beratersysteme ..................................................................... 12

3. BERATERSYSTEME ................................................................................ 13

3.1. DAS BERATER-KONZEPT ............................................................................................. 13

3.1.1. Funktionsweise von Berater-Systemen ............................................................................ 15 3.1.2. Genereller Aufbau von Berater-Systemen........................................................................ 16

3.1.2.1. Der Controller ....................................................................................................................... 16 3.1.2.2. Die Berater ........................................................................................................................... 16 3.1.2.3. Der Mode-Manager ............................................................................................................... 17

3.1.3. Möglichkeiten der Befehlsbildung ................................................................................... 17 3.1.4. Analoge Befehlsbildung aus diskreten Abstimmungen .................................................... 20

3.2. BERATER IM VERGLEICH MIT ANDEREN SYSTEMEN ...................................................... 22

3.3. UNTERSCHIEDE ZWISCHEN BERATERN FÜR SOFTWARE- UND HARDWAREPRODUKTE ..... 22

3.3.1. Mögliche Funktionsweise einer Hardware-Berater-Struktur ............................................. 23 3.3.2. Mögliche Funktionsweise einer Software-Berater-Struktur .............................................. 23

3.4. DIE BERATER UND DIE FAHRSCHULE ........................................................................... 24

4. EIN BERATERSYSTEM FÜR DIE FAHRSCHULE.............................. 25

4.1. ANFORDERUNGEN AN DAS SYSTEM .............................................................................. 25

4.2. ERWEITERUNG DES URSPRÜNGLICHEN BERATER-KONZEPTES ....................................... 25

4.2.1. Die Aktionsbasis ............................................................................................................. 26 4.2.2. Der Zustandsspeicher ...................................................................................................... 27 4.2.3. Der Intentionenspeicher .................................................................................................. 27 4.2.4. Der Zielspeicher.............................................................................................................. 28 4.2.5. Die Charakterbeschreibung ............................................................................................. 28 4.2.6. Der Zustandsmanager ..................................................................................................... 28

Page 3: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

3

4.2.7. Der Zielmanager ............................................................................................................. 29 4.2.8. Der Intentionenmanager innerhalb der Berater ................................................................ 29

4.3. GENERELLER AUFBAU DES SYSTEMS ........................................................................... 29

4.4. HAUPTMODULE ........................................................................................................... 30

4.4.1. Der Controller ................................................................................................................. 30 4.4.2. Die Berater ..................................................................................................................... 31

4.4.2.1. Sicherheitsberater ................................................................................................................. 31 4.4.2.2. Pfadhaltungsberater .............................................................................................................. 32 4.4.2.3. StVO-Berater ........................................................................................................................ 32 4.4.2.4. Wegfindungsberater .............................................................................................................. 33 4.4.2.5. Zielverfolgungs-Berater ........................................................................................................ 33

4.4.3. Der Mode-Manager ......................................................................................................... 33

4.5. HILFSMODULE ............................................................................................................ 34

4.5.1. Die Aktionsbasis ............................................................................................................. 34 4.5.2. Der Zustandsspeicher ...................................................................................................... 35 4.5.3. Der Intentionenspeicher .................................................................................................. 36 4.5.4. Der Zielspeicher.............................................................................................................. 36 4.5.5. Die Charakterbeschreibung ............................................................................................. 36 4.5.6. Die Manager ................................................................................................................... 36

4.6. BEFEHLSBILDUNG ....................................................................................................... 37

5. IMPLEMENTIERUNG............................................................................... 38

5.1. GENERELLES ............................................................................................................... 38

5.2. DIE CONTROLLER-KLASSE .......................................................................................... 38

5.3. DAS BERATER-INTERFACE .......................................................................................... 39

5.4. STRUKTUREN .............................................................................................................. 39

5.4.1. Aktionsbasis ................................................................................................................... 39 5.4.2. Die Speicher ................................................................................................................... 39 5.4.3. Charakterbeschreibung .................................................................................................... 40

5.5. DER ZUSTANDSMANAGER ........................................................................................... 40

5.6. DIE BERATER .............................................................................................................. 41

5.6.1. Sicherheitsberater............................................................................................................ 41 5.6.2. Pfadhaltungsberater......................................................................................................... 41 5.6.3. StVO-Berater .................................................................................................................. 42 5.6.4. Wegfindungsberater ........................................................................................................ 42 5.6.5. Zielverfolgungsberater .................................................................................................... 43

5.7. KI-VISUALISIERUNG ................................................................................................... 43

6. ZUSAMMENFASSUNG/AUSBLICK ...................................................... 46

6.1. ZUSAMMENFASSUNG ................................................................................................... 46

6.2. AUSBLICK ................................................................................................................... 46

7. QUELLENVERZEICHNIS ....................................................................... 47

Page 4: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

4

1. Das Projekt

1.1. Motivation

Mit der Dartmouth Conference am 13. Juli 1956 (korrekterweise: mit dem Förderantrag von

John McCarthy 1955 an die Rockefeller Foundation für das Thema der Konferenz) wurde der

Begriff AI – „artificial intelligence“ („künstliche Intelligenz“) geprägt und erstmals in einer

Konferenz behandelt. Seitdem hat sich auf dem Gebiet der künstlichen Intelligenz viel getan

und es wurde viel erreicht; dennoch ist die KI als ein Forschungsbereich mit viel Potential zu

sehen, da noch eine Menge Fragen ungeklärt sind und die Entwicklung nicht ganz so rasant

fortschritt wie auf anderen Gebieten der Informatik, wie etwa der Grafikdarstellung oder der

Prozessorleistung. Dennoch – oder gerade deswegen – bietet die KI vielfältige Möglichkeiten

der Forschung, des Experimentierens und Ausprobierens sowie des Philosophierens.

Da künstliche Intelligenz etwas ist, was in allen möglichen Bereichen des Lebens eingesetzt

werden kann, ist dieses Fachgebiet auch entsprechend breit gefächert und teilweise ebenso

unbestimmt. Dies macht sich schon allein bei der Definition von KI bemerkbar – nicht nur in

der verbalen Definition sondern auch darin, was als KI gezählt wird (weitere Ausführungen

dazu in Kapitel 2). Gerade diese Vielfältigkeit macht aber den besonderen Reiz der

„denkenden Maschinen“ aus.

In viele Bereiche unseres Lebens hat die KI schon Einzug gehalten, auch wenn sie nicht

immer als solche erkennbar ist – man denke dabei nur an Navigationssysteme oder moderne

Auto-Computer, die selbstständig die Scheinwerfer einschalten und den Reifendruck prüfen.

Die aus der Science-Fiction bekannten Roboter allerdings gibt es in ihrer bekanntesten Form

als denkende, sprechende und laufende Droiden in der realen Welt noch nicht, auch wenn

fleißig an deren Erschaffung geforscht wird. Im digitalen Kosmos dagegen haben sie schon

festen Fuß gefasst: Computerspiele beherbergen jetzt schon komplexe Denkstrukturen, die

dank fehlender physikalischer Zwänge bereits dazu in der Lage sind, was echte Roboter wohl

erst in einigen Jahren können werden.

Die verwendeten Methoden zum Simulieren von Intelligenz sind dabei unterschiedlichster

Natur und erstrecken sich von simplen Entscheidungs-Bäumen über Algorithmen,

Wegfindungs-Routinen, Automaten, regelbasierten Agentensystemen und Beratersystemen

bis hin zu neuronalen Netzen. Aber nicht nur die Ansätze zum Realisieren der Intelligenz sind

unterschiedlich, auch die Ziele divergieren mitunter stark: wird da ein System entwickelt,

welches bestimmte Aufgaben automatisiert und fehlerfrei erledigen kann, soll dort dagegen

menschliches Verhalten mit all seinen Fehlern entstehen.

Im Rahmen dieser Arbeit soll eine Struktur vorgestellt werden, die das Simulieren

menschlichen Verhaltens ermöglichen soll, ohne dabei auf umfangreiche Regelwerke

angewiesen zu sein. Da bei regelbasierten Systemen das Problem auftritt, dass niemals alle

möglichen Situationen erkannt und mit entsprechenden Regeln abgedeckt werden können,

wird ein anderer Ansatz gewählt: der Einsatz von mehreren Beratern, die für eine gegebene

Situation verschiedene Aktionen bewerten und daraus dann einen resultierenden Befehl

bilden. Ziel ist es, das entwickelte System in dem unter 1.2. vorgestellten Projekt zur

Steuerung von Fahrzeugen im Straßenverkehr einzusetzen.

Page 5: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

5

1.2. Zielstellung

Im Rahmen des Praktikums bei der Media Seasons GmbH wurde ein Projekt begonnen, das

als Ziel eine virtuelle Fahrschule hatte. Der Nutzer des Programms soll dabei ein Fahrzeug

durch eine digitale Stadt steuern können und dabei verschiedene aus dem realen Leben

entnommene Fahrsituationen bewältigen müssen.

Da ein wichtiger Bestandteil des Straßenverkehrs die „anderen“ Verkehrsteilnehmer sind,

wird dabei Wert auf eine dynamische und möglichst realistische KI gelegt. Die Fahrzeuge

sollen entweder zufällig umherfahren oder einem vorher festgelegten Pfad folgen können und

dabei die Verkehrsregeln einhalten. Wichtig hierbei ist das Simulieren menschlicher

Eigenschaften (Ungeduld, Zögern, …) und Charaktere – auf keinen Fall sollen sich alle

Verkehrsteilnehmer auf exakt die gleiche Art verhalten.

Als negatives Vorbild gilt hier das deutsche Konkurrenzprodukt auf dem Markt, die „3D

Fahrschule“, welche besonders durch das geskriptete Verhalten der Fahrzeuge auffällt – es ist

genau vorhersagbar, wie sich die Autos verhalten.

Als Vorgabe für die Programmierung wurde vor allem eine große Flexibilität gefordert, um

den Einsatz des Programms in vielen Ländern und mit unterschiedlichen

Straßenverkehrsordnungen zu gewährleisten.

Folgende Ziele sind mit der KI zu erreichen:

Dynamisches, nicht exakt vorhersagbares Fahrzeugverhalten

Unterschiedliche Verhaltensweisen der Verkehrsteilnehmer

Korrektes Verhalten, Einhaltung der „Regeln“ (Straßenverkehrsordnung), Umgang mit

den unterschiedlichsten Verkehrssituationen, ohne dass diese vorher formal

beschrieben werden müssen

Performantes System – da die Fahrschule als kommerzielles Projekt vertrieben werden

soll, muss eine guter Performance gewährleistet sein

Erweiterbarkeit – die KI muss einfach änderbar und erweiterbar sein

1.3. Zusätzliche Bemerkungen Die ursprüngliche Idee für das in der Fahrschule eingesetzte Berater-Konzept stammt aus

einem Bericht von Julio K. Rosenblatt, veröffentlicht im Journal of Experimental &

Theoretical Artificial Intelligence (Vol. 9, Numbers 2-3/April 1, 1997, Seiten 339 – 360) mit

dem Thema „DAMN – a distributed architecture for mobile navigation“ sowie dem davon

inspirierten Artikel „Eine Abstimmungsarchitektur für verteiltes Schließen“ von John

Hancock im Buch „Spieleprogrammierung Gems 4“ (Seiten 367 – 377). Aus den genannten

Artikeln wurden nur die theoretischen Basisgrundlagen benutzt. Jegliche Erweiterungen des

Konzeptes sowie die Implementierung sind eigene Entwicklungen.

Da der Begriff „Künstliche Intelligenz“ keiner scharf umrissenen Definition genügt und es die

unterschiedlichsten Meinungen darüber gibt, was unter künstlicher Intelligenz zu verstehen

sei, ist es angebracht, das Thema dieser Arbeit klarer zu definieren: im Rahmen dieser

Bachelor-Arbeit soll sich vor allem auf die Bereiche künstlicher Intelligenz bezogen werden,

Page 6: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

6

die mit der Bewegung eines Objektes durch eine virtuelle oder reale Welt zu tun haben.

Genannt sei hierzu vor allem die Steuerung von Akteuren in Computersoftware (Spiele,

Simulationen und ähnliches) oder von Robotern in der physischen Welt.

Mit Objekt bzw. KI-Objekt ist demzufolge im Zuge dieser Arbeit in der Regel eine Entität

gemeint, die durch ein spezifisches KI-Konstrukt gesteuert wird, etwa eine Maschine oder

eine virtuelle Figur.

Als KI-Takt wird der Vorgang bezeichnet, in dem das KI-System seine Berechnungen

durchführt und Einfluss auf das von ihm gesteuerte Objekt nimmt.

Sämtliche in dieser Arbeit verwendeten Abbildungen sind selbst angefertigt worden.

Page 7: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

7

2. Einleitung

In diesem Kapitel sollen grundlegende Dinge zum Begriff „künstliche Intelligenz“ geklärt

sowie häufig eingesetzte KI-Systeme vorgestellt werden.

2.1. KI im Allgemeinen

Der Begriff KI – Künstliche Intelligenz – wird heutzutage recht schnell und leichtfertig für

viele Dinge benutzt, die den Anschein erwecken, etwas mit Computern und Denken zu tun zu

haben. Dabei ist sich nicht einmal die Fachwelt richtig einig, was denn nun unter KI genau zu

verstehen ist und wie man den Begriff definiert.

Alan Turing zum Beispiel beschrieb 1950 den Begriff auf folgende Art:

Es werden eine Maschine und ein menschlicher Gegenspieler in Räumen

untergebracht, die jeweils getrennt von einem zweiten Menschen sind, der als Befrager

bezeichnet wird. Sowohl die Maschine als auch der Gegenspieler können nicht vom

Befrager gesehen oder direkt angesprochen werden. Die Kommunikation erfolgt über

ein Texteingabegerät, wobei der Befrager nicht weiß, wer die Maschine und wer der

Mensch ist. Ist es dem Befrager nun unmöglich, durch das Stellen von Fragen die

Maschine vom Menschen zu unterscheiden, so gilt die Maschine laut Turing als

„intelligent“. [Luger01]

Dieser Test wurde als Turing-Test bekannt und beeinflusste die Entwicklung der künstlichen

Intelligenz maßgeblich. So kann etwa ein Programm, dass in einem bestimmten Fachgebiet

potenziell Intelligenz erworben hat, durch den Vergleich mit einem menschlichen Experten

bewertet werden – eine Methode, die zu einem wichtigen Werkzeug in der Entwicklung von

Expertensystemen geworden ist. [Luger01]

Eine formalere und viel allgemeinere Definition für künstliche Intelligenz lautet:

Künstliche Intelligenz (KI) bzw. Artificial Intelligence (AI) ist ein Teilgebiet der

Informatik mit interdisziplinärem Charakter. Ziel der KI-Forschung ist die

Entwicklung von Maschinen mit intelligentem Verhalten. [Wiki06]

Betrachtet man aber alle Themengebiete, die sich heutzutage unter dem Stichwort „KI“

finden, so ist deren Umfang bei weitem größer als das, was durch obige Definition

beschrieben wird. So gehört zum Beispiel auch die Steuerung von Figuren in

Computerspielen zum Fachgebiet der KI, ebenso wie Muster- und Spracherkennung, mitunter

sogar Pfadfindungsalgorithmen.

Weitere Definitionen von künstlicher Intelligenz sind treffender, verdeutlichen aber auch

recht gut, dass es schwer ist, dieses Fachgebiet scharf zu umreißen.

Page 8: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

8

Artificial Intelligence is the study of ideas which enable computers to do things, that

make people seem intelligent. [...] The central goals of Artificial Intelligence are to

make computers more useful and to understand the principles which make intelligence

possible. [Winston93]

Artificial Intelligence is the study of how to make computers do things at which, at the

moment, people are better. [Rich86]

KI studiert die Mechanismen, die intelligentem Verhalten zu Grunde liegen, durch die

Konstruktion und Evaluierung von Artefakten, die diese Mechanismen imitieren.

[Luger01]

Aus den Definitionen ist zu erkennen, dass das Gebiet der künstlichen Intelligenz schwer

abzugrenzen ist. Allen gemein ist folgendes: Gegenstand der KI ist die Erforschung von

Möglichkeiten, intelligentes Verhalten – im Besonderen von Menschen – zu simulieren.

2.2. Einsatzgebiete für KI

Die Einsatzgebiete für KI sind vielfältig und weitaus verbreiteter, als der Durchschnittsbürger

heutzutage annehmen mag, obwohl die künstliche Intelligenz in all ihren Ausprägungen

mittlerweile einen wichtigen Platz im Leben eines jeden hat. So findet sich KI in Robotern, in

der Steuerung von Fertigungsanlagen, in Computerspielen und Lernsoftware, in Autopiloten

und Navigationssystemen.

Künstliche Intelligenz kann dabei auf unterschiedlichste Art und Weise kategorisiert werden.

Im Rahmen dieser Arbeit und im Hinblick auf die Berater-Systeme sei hier die grobe

Unterscheidung in KI für Hardware-Produkte und KI für Software-Produkte angenommen.

Als Hardware-Produkte gelten alle Systeme, die direkt in der physikalischen Welt operieren

und deren Implementation ohne PCs auskommt. Software-Produkte sind diejenigen Systeme,

die eine virtuelle Welt auf einem PC simulieren oder deren KI-Berechnungen durch eine

Software auf einem PC durchgeführt wird.

Die Anforderungen an eine simulierte Intelligenz unterscheiden sich in diesen Bereichen zum

Teil erheblich.

In Hardware-Produkten, zum Beispiel Fertigungsanlagen, Autopiloten und ähnlichen

mechanischen Objekten steht in der Regel ein fehlerfreies Verhalten im Vordergrund. Oft

müssen dabei Sensor-Daten in vom Rechner verwertbare Formate mit einigem Zeitaufwand

umgerechnet werden, so dass es unter Umständen mehrere KI-Module mit unterschiedlicher

Taktung geben kann.

An KI in Software-Produkten, vornehmlich Computerspielen und Lernsoftware, werden

andere Anforderungen gestellt. So ist zum Beispiel nicht immer das fehlerfreie Verhalten

erwünscht, ab und zu soll sogar gezielt ein menschlicher Charakter mit allen Schwächen und

Fehlern simuliert werden.

Page 9: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

9

In [Luger01] werden einige der wichtigsten Anwendungsgebiete für künstliche Intelligenz

aufgeführt. Die Kategorisierung erfolgt hier nach dem Anwendungsgebiet des Systems. Die

folgenden Gebiete werden genannt (ausführliche Beschreibung der Gebiete in [Luger01]):

- Spiele spielen

- Maschinelles Schließen und Theorembeweise

- Expertensysteme

- Verstehen natürlicher Sprache und semantische Modellierung

- Modellierung menschlichen Verhaltens

- Planung und Robotik

- Sprachen und Umgebungen für KI

- Maschinelles Lernen

- Parallele Verarbeitung und emergentes Rechnen

- KI und Philosophie

2.3. Arten von KI

Es gibt die unterschiedlichsten Arten, eine künstliche Intelligenz mit Hilfe von Soft- oder

Hardware zu implementieren. Nachfolgend sollen einige gängige Methoden vorgestellt

werden, welche so auch zum Einsatz kommen. Dabei werden jedoch nur KI-Systeme

berücksichtigt, die menschliches Denken und Handeln simulieren – Wegfindungsalgorithmen,

Mustererkennung und ähnliche Algorithmen werden also nicht mit aufgeführt. Zu beachten

ist, dass hier längst nicht alle Modelle aufgezählt werden, welche im Gebiet der künstlichen

Intelligenz zum Einsatz kommen – dazu sind es zu viele.

2.3.1. Entscheidungsbäume/werkzeugbasierte Entscheidungsarchitekturen

Entscheidungsarchitekturen sind die wohl ursprünglichste und einfachste Form von

künstlicher Intelligenz. Dabei lässt sich zwischen expliziten und impliziten Strukturen

unterscheiden (beides beschrieben in [Gems4]).

Explizite Entscheidungsarchitekturen oder Entscheidungsbäume sind dabei sozusagen der

Klassiker unter den KI-Systemen: mit Hilfe großer If-Else-Blöcke wird versucht, eine Anzahl

von möglichen Situationen durch Bedingungen zu beschreiben und mit bestimmten Aktionen

zu überdecken, um somit ein quasi-intelligentes Verhalten zu simulieren. Vorteil der Methode

ist, dass sie einfach zu implementieren und leicht in der Funktionsweise nachzuvollziehen ist.

Als Nachteil ergibt sich allerdings, dass mit wachsender Projektgröße die Bedingungs-

Strukturen immer unübersichtlicher werden. Zudem sind sie schwer wartbar, eine neu zu

beachtende Größe zieht oft weit reichende Änderungen in der Baumstruktur nach sich.

Implizite Entscheidungsarchitekturen bzw. werkzeugbasierte Entscheidungsarchitekturen

verstecken die Bedingungen mit den entsprechenden Aktionen hinter Objekten, welche

jeweils eine gewisse Priorität besitzen. Für eine bestimmte Situation wird einfach das Objekt

mit der für die Situation höchsten Priorität ausgewählt und die zugeordnete Aktion ausgeführt.

Page 10: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

10

Durch das Hinzufügen neuer Aktions-Objekte kann der Umfang und das Leistungsvermögen

dieser KI-Architektur auf schnelle Art erweitert werden. Nachteilig ist allerdings anzumerken,

dass das spätere Verhalten der künstlichen Intelligenz aus dem Programmcode kaum noch

abgelesen werden kann und damit die Fehlersuche unter Umständen erschwert wird.

Unabhängig von der Wahl einer expliziten oder impliziten Implementierung ergeben sich für

beide Architekturen einige Charakteristika, die es zu beachten gilt. So sind

Entscheidungsarchitekturen in der Regel nicht in der Lage, ein oder mehrere längerfristige

Ziele zu verfolgen; sie eignen sich eher dafür, das intuitive, spontane Verhalten eines durch

die KI gesteuerten Objektes zu simulieren. Zudem ist es solchen bedingungsorientierten

Systemen – im speziellen den expliziten Strukturen – nicht möglich, auf unbekannte

Situationen zu reagieren, ihr Verhalten wird damit schnell vorhersehbar.

2.3.2. Automaten/Finite State Machines

Finite State Machines (Zustandsautomaten) stellen eine Erweiterung der

Entscheidungsarchitekturen da, bei denen jedoch weniger einzelne Aktionen als vielmehr das

gewünschte Verhalten (der Zustand) eines KI-Objektes beschrieben wird.

Zustandsgesteuerte Intelligenzen wechseln ihren internen Status je nach

Umgebungsbedingung in den einen oder anderen Zustand und führen die damit assoziierten

Aktionen aus. Dabei kann die Implementierung als Moore- oder Mealy-Automat erfolgen,

wobei ein Folgezustand eines Moore-Automaten nur vom aktuellen internen Zustand abhängt,

beim Mealy-Automaten aber auch noch von eventuellen externen Eingaben. [Huss07]

Eine weitere Möglichkeit der Implementierung wären die so genannten Fuzzy State

Machines, bei denen den Zustandsübergängen Fuzzy Werte zugeordnet werden, die Steuerung

also nicht mehr über harte Bedingungen erfolgt.

Ein Beispiel für einen einfachen Zustandsautomaten, der sich um das Fahrverhalten eines

elektrisch betriebenen Fahrzeuges kümmert, sähe zum Beispiel so aus:

Abbildung 1: einfache Finite State Machine (Mealy-Automat)

Page 11: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

11

2.3.3. Künstliche neuronale Netze

Künstliche neuronale Netze sind zweifelsohne die „natürlichste“ Implementierung von

künstlicher Intelligenz, bei der versucht wird, die Funktionsweise des Gehirns auf einer

abstrakten Ebene zu simulieren. Das folgende Kapitel basiert auf den Beschreibungen von

[Patterson97].

Ein neuronales Netz besteht für gewöhnlich aus einer Menge von Eingangszellen (der

Eingabeschicht), einer Menge von Ausgabezellen (der Ausgabeschicht) sowie eventuell

verborgenen Zellen, die in dazwischen liegenden verdeckten Schichten (hidden layers)

angeordnet sind. Die Zellen simulieren die Neuronen eines Gehirns und sind über gewichtete

Kanten (Synapsen) miteinander verbunden. Die Art der Verbindung variiert dabei von Netz

zu Netz; so können etwa nur die Neuronen aufeinander folgender Schichten verbunden sein

(Feedforward-Netze), aber auch Verbindungen innerhalb der Schichten oder sogar

Verbindungen mit vorherigen Schichten (rekurrente neuronale Netze) sind möglich.

Soll das Netz Eingabedaten verarbeiten, müssen diese in Signale umgewandelt und an die

Eingangszellen geleitet werden. Von dort werden die Signale über die gewichteten Kanten an

die jeweilig verbundenen Zellen weitergeleitet, dort aufsummiert und nach einer definierten

Verarbeitungsfunktion transformiert. Anschließend erfolgt die Weiterleitung an die folgenden

Zellen, bis hin zur Ausgabeschicht. Das dort ankommende Signal kann schließlich

ausgewertet werden.

Die Verarbeitungslogik eines künstlichen neuronalen Netzes kann nicht in dem Sinne

programmiert, sondern muss dem Netz antrainiert werden. Auch hierfür gibt es viele

Möglichkeiten. Ein möglicher Ansatz wäre zum Beispiel: zu gegebenen Eingabedaten wird

die Ausgabe vom Netz berechnet und mit den zum Eingabesatz gehörenden Ausgabedaten

verglichen. Im Anschluss daran wird die Kantengewichtung innerhalb des Netzes zufällig

leicht variiert und der Test erneut durchgeführt. Bei verbessertem Ergebnis kann das neue

Netz „übernommen“ und weiter variiert werden, ansonsten müssen die vorhergehenden

Kantengewichte wieder hergestellt werden. Einen besseren Lernansatz stellt das

Backpropagation-Verfahren dar, bei dem die Variation der Kantengewichte nach einem

Algorithmus erfolgt, der gezielt eine Verbesserung des Netzverhaltens berechnet.

Ein Beispiel für ein einfaches Feedforward-Netz mit vier Eingabeneuronen, zwei

Ausgabeneuronen und einer verdeckten Schicht:

Abbildung 2: einfaches Feedforward-Netz mit drei Schichten

Page 12: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

12

2.3.4. Regelbasierte Systeme/Agentensysteme

Regelbasierte Systeme können als moderne, verbesserte Entscheidungsarchitekturen

aufgefasst werden, bei denen die Bedingungen und durchzuführenden Aktionen nicht mehr in

einem klassischen Entscheidungsbaum festgehalten, sondern mit Hilfe einer Regelbasis

definiert werden. Die Regeln können auf unterschiedliche Arten hinterlegt sein, etwa in einer

XML-Struktur oder in einer Datenbank gespeichert. Durch Hinzufügen von Einträgen kann

die Basis auf einfachste Art erweitert werden, ohne am Programmcode etwas ändern zu

müssen.

Ein regelbasiertes System besteht im Wesentlichen aus zwei Komponenten [Winston92]: der

Datenbasis („working memory“), in welcher gültige Fakten des Systems gespeichert sind,

sowie einer Menge von Produktionsregeln (Regelbasis, „rule base“), welche zur Herleitung

neuer Fakten dient.

Die nächste Entwicklungsstufe regelbasierter Systeme sind die Agentensysteme, welche über

das bedingte Ausführen von Aktionen hinaus auch in der Lage sind, längerfristig Ziele zu

verfolgen, wobei das aktuell zu verfolgende Ziel wiederum durch die Auswertung gegebener

Regeln bestimmt wird.

Im Agentenkonzept werden vor allem drei Aspekte berücksichtigt [Beierle06]:

- Interaktivität mit der Umgebung: ein Agent interagiert kontinuierlich mit seiner

Umgebung durch Wahrnehmungen und Aktionen

- Zielgerichtetes Handeln: ein Agent hat eine Aufgabe zu erfüllen und verfolgt dazu

gewisse Ziele, die er selber generiert oder die ihm vorgegeben werden

- Autonomie: ein Agent arbeitet in gewissem Umfang selbstständig, das heißt er trifft

selber Entscheidungen ohne äußerliche Beeinflussung

2.3.5. Abstimmungsarchitekturen/Beratersysteme

Abstimmungsarchitekturen bilden einen alternativen Weg der künstlichen Intelligenz, der von

der menschlichen Neigung ausgeht, für eine Situation verschiedene Aktionen zu bewerten und

die Beste auszuwählen.

Anders als Menschen, die solch ein Verhalten in der Regel bewusst nur bei größeren

Entscheidungen mit genügend Zeit zum Nachdenken an den Tag legen, kann ein Computer

die Aktionen wesentlich schneller bewerten und somit auch einfachste Entscheidungen auf

diese Art treffen.

Die Bewertung einer Aktion erfolgt gewöhnlich mehrfach, und zwar von unterschiedlich

spezialisierten Beratern. Somit können zur Entscheidungsfindung mehrere Stimmen

herangezogen und aus allen Bewertungen die bestmögliche Aktion bestimmt werden

(basierend auf [Rosenblatt97]).

Im folgenden Kapitel soll auf diese Art der künstlichen Intelligenz genauer eingegangen

werden.

Page 13: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

13

3. Beratersysteme

In diesem Kapitel wird die grundlegende Idee des Berater-Systems sowie die Bedeutung und

Funktionsweise der Hauptmodule des Systems geklärt.

3.1. Das Berater-Konzept

Ein großes Problem vieler KI-Konzepte ist der Umstand, dass sie meist zu einem Zeitpunkt

nur genau ein Ziel verfolgen können. Einige Systeme, etwa der Agenten-Ansatz, sind zwar in

der Lage, längerfristig mehrere Ziele verfolgen zu können, die Entscheidungsfindung für

auszuführende Aktionen berücksichtigt allerdings meist nur ein im Augenblick gewähltes

Ziel. Die Folge davon ist, dass für die aktuelle Situation möglicherweise die „beste“ Aktion in

Hinblick auf das gewählte Ziel durchgeführt, dabei aber entgegen mehrerer anderer zu

erreichender Ziele gehandelt wird.

Als Beispiel hierfür folgende Situation:

Ein KI-gesteuertes Fahrzeug soll sich von Punkt A nach Punkt B bewegen und dabei

eventuellen statischen und dynamischen Hindernissen ausweichen. Abbildung 3

skizziert dabei eine denkbare Situation.

Das KI-System wird eine mögliche Kollision mit dem statischen Hindernis feststellen

und einen Ausweichvorgang einleiten wollen. Dabei stehen zwei Möglichkeiten zur

Auswahl – links (Pfad A) oder rechts (Pfad B) am Hindernis vorbei. Klassische KI-

Systeme werden sich mit hoher Wahrscheinlichkeit für Pfad A entscheiden, da er

näher ans Ziel führt als Pfad B, welcher sich sogar vom Endpunkt entfernt. Das

dynamische Hindernis wird dabei unter Umständen gar nicht berücksichtigt, obwohl

abzusehen ist, dass es Pfad A schneiden wird und so zu einem möglichen

Zusammenstoß führen kann. Somit wäre zwar dem Ziel gedient, dass der Endpunkt

erreicht werden soll, die Vermeidung von Kollisionen aber wird in diesem Szenario

nicht berücksichtigt.

Alternative Systeme, welche aus allen möglichen Lösungsvektoren den Durchschnitt

bilden, führen in dieser Situation sogar zu einem noch katastrophaleren Ergebnis, da

der „neue“ Pfad direkt auf das statische Hindernis führen wird.

Page 14: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

14

Abbildung 3: Situation für Pfadauswahl

Ohne eine größere, umständliche Abfrage-Struktur ist eine solche Situation von den meisten

KI-Systemen nicht ohne weiteres zu bewältigen, da unzählige Faktoren berücksichtigt werden

müssen.

Eine Lösung für das Problem bieten die Berater-Systeme, die durch eine Art von

„Aufgabenteilung“ ein weitaus größeres Spektrum an Situationen ideal abdecken können. Die

Idee dabei ist, die aktuelle Situation des KI-gesteuerten Objektes (konkreter: verschiedene

durch das Objekt durchführbare Aktionen) von mehreren unabhängigen Beratern bewerten zu

lassen, um aus diesen Bewertungen im Anschluss die durchzuführende Aktion zu bestimmen.

Die einzelnen Berater selbst können aufgrund ihrer Unabhängigkeit auf unterschiedliche

Arten implementiert werden, zum Beispiel als künstliches Neuronales Netz oder als

Agentenstruktur. Zusätzlich ist es möglich, Berater hinzuzufügen oder zu entfernen, um die

Funktionalität des Systems zu beeinflussen. So kann es beispielsweise Berater für

längerfristig zu erreichende Ziele geben, Berater, die für die Sicherheit des Objektes

verantwortlich sind, solche für kurzzeitig zu erreichende Ziele oder auch welche für das

forsche Erreichen der Ziele – die Möglichkeiten sind vielfältig (Grundkonzept der Berater

erstmals beschrieben in [Rosenblatt97], Berater-Begriff eingeführt in [Gems4]).

Abschließend ein Vergleich zwischen klassischen KI-Systemen und dem Beratersystem:

Klassisches System:

Die Situation eines Objektes wird von einer KI-Einheit bewertet und aus der

Bewertung die beste durchzuführende Aktion bestimmt.

Berater-System:

Es werden verschiedene mögliche Aktionen in Relation zur aktuellen Situation des

Objektes durch mehrere KI-Einheiten bewertet und aus der Gesamtheit der

Bewertungen die bestmögliche Aktion berechnet.

Page 15: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

15

3.1.1. Funktionsweise von Berater-Systemen

Die Grundlage für das Funktionieren von Berater-Systemen bildet wie bei fast allen KI-

Konzepten das Sammeln der Daten über das Objekt, in der Regel durch Auswertung von

Sensoren bei Hardware-Objekten (dazu gehören zum Beispiel auch Mustererkennung oder

bild- und audioverarbeitende Maßnahmen) beziehungsweise durch Auswertung von im

Programm gespeicherten Strukturen (Listen, Netzen, Bäumen und ähnliches) bei Software-

Objekten. Die Daten müssen dabei in einer Form gespeichert werden, welche die effiziente

Verarbeitung durch die Berater ermöglicht.

Bei der Erstellung eines KI-Objektes wird ihm ein Controller zugewiesen, welcher

verschiedene Berater verwaltet. Im laufenden Betrieb werden dann durch den Controller

nacheinander die Berater zu den verfügbaren Aktionen befragt. [Gems4]

Eine Aktion1 besteht hierbei aus folgenden Teilen:

- Identifizierung der zur Aktion gehörenden Tätigkeit (etwa der Lenkeinschlag)

- Intervall von Werten, in dem die Tätigkeit ausgeführt werden kann (zum Beispiel der

maximal mögliche Lenkeinschlag nach links und rechts)

- Schrittweite für das Wertintervall

Durch Ablaufen des Werteintervalls mit der spezifizierten Schrittweite ergeben sich mehrere

diskrete Aktions-Konfigurationen, im Weiteren als Befehl bezeichnet. Ein möglicher Befehl

mit der Bedeutung, dass leicht nach rechts gelenkt werden soll, wäre etwa:

Tätigkeit: Lenken

Wert: 0.2

Die Berater liefern zu allen Befehlen einer Tätigkeit eine Bewertung zurück, welche sich in

der Regel im Intervall -1 (stark dagegen) bis 1 (stark dafür) befindet. Ausnahmen können hier

durch Berater gemacht werden, die durch stark überhöhte Werte ein Veto gegen

sicherheitskritische Befehle einlegen oder sicherheitsrelevante Befehle bevorzugen. So

entsteht für jeden Berater ein diskretes Signal aufeinander folgender Bewertungen [Gems4].

Im letzten Schritt, der Befehlsbildung, wird aus allen Berater-Signalen der auszuführende

Befehl ausgewählt. Die Befehlsbildung kann dabei auf unterschiedliche Art erfolgen und wird

unter 3.1.3. Möglichkeiten der Befehlsbildung näher erläutert. Zu beachten ist dabei, dass die

Berater unterschiedlich gewichtet sein können, um so bestimmten Beratern Vorrang vor

anderen zu geben. Die Gewichtung der Berater kann durchaus auch dynamisch sein, um so

situationsbedingt verschiedenen Beratern eine wichtigere Rolle zuzuweisen. [Rosenblatt97]

Der Befehl schließlich wird durch den Controller an das KI-Objekt weitergeleitet und von

diesem dann ausgeführt.

Abbildung 4: Schema eines Berater-Systems

1 Aktion und Befehl sind selbst eingeführte Begriffe/Strukturen und werden nicht in [Rosenblatt97]/[Gems4] erwähnt.

Page 16: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

16

3.1.2. Genereller Aufbau von Berater-Systemen

3.1.2.1. Der Controller

Der Controller (im Dokument von Rosenblatt „Arbiter“ genannt) bildet das organisatorische

Zentrum eines Berater-Systems. Er verwaltet die Berater, sendet die Anfragen zu den

Aktionen an diese und bildet aus den erhaltenen Signalen schließlich den auszuführenden

Befehl. Außerdem ist er für die Beachtung der vom Mode-Manager bestimmten

Gewichtungen (siehe unten) und die Weiterleitung der Befehle an das KI-Objekt

verantwortlich. Der Controller bestimmt zudem auch das allgemeine Verhalten des Systems

(vorsichtig, optimistisch) durch die Wahl der Auswertungsfunktion zur Befehlsbildung (siehe

dazu auch 3.1.3. Möglichkeiten der Befehlsbildung).

Controller können in zwei unterschiedliche Kategorien gefasst werden, je nach dem ob sie frei

von Wissen über das kontrollierte Objekt sind (bereichsunabhängig) oder nicht

(bereichsabhängig) [Gems4].

Ein Controller wird dann bereichsunabhängig genannt, wenn er die gebildeten Befehle direkt

an das KI-Objekt weiterleiten kann und nicht erst eine Transformation durchführen muss.

Bereichsabhängig dagegen wird er genannt, wenn die Befehle nicht vom KI-Objekt direkt

interpretiert werden müssen, sondern vorher eine Umrechnung stattfindet.

Als Beispiel:

Gegeben sei ein Controller, der die Steuerung eines Kranarmes zur Aufnahme von

Objekten für bestimmte Aufgaben übernimmt. Ein bereichsunabhängiger Controller

würde die Berater (welche selbst immer bereichsabhängig sind) nach den Werten der

möglichen Einstellwinkel des Kranarmes befragen, die zur Aufnahme des aktuell

geeignetsten Objektes führen würden. Er selbst müsste keine Informationen über die

Objekte in seiner Umgebung haben. Ein bereichsabhängiger Controller dagegen würde

die Berater direkt nach den möglichen Objekten in der Umgebung fragen und die

Einstellwinkel des Kranarmes für das beste Objekt selber berechnen.

3.1.2.2. Die Berater

Die Berater (bei Rosenblatt „Verhalten“ beziehungsweise „Behaviors“ genannt) sind die

Herzstücke des Systems. Ihre Aufgabe ist es, die vom Controller gesendeten Aktions-

Anfragen zu bewerten und zu beantworten. Zur Bewertung betrachtet ein Berater die aktuelle

Situation des zugehörigen KI-Objektes und gibt für jeden Wert der Aktion eine Stimme ab

(Idealerweise im Intervall von -1 bis 1). Die Bewertung erfolgt dabei in Abhängigkeit des

Aufgabenbereichs eines Beraters. Sollen bestimmte Befehle bevorzugt oder auf keinen Fall

ausgeführt werden, kann die Bewertung mit einer weit außerhalb des Intervalls [-1,1]

liegenden Stimme erfolgen [Gems4].

Die Art der Bewertung – konkret: die Implementation des Beraters – kann dabei auf

unterschiedlichste Arten erfolgen; es sind sogar verschiedene Umsetzungen innerhalb eines

Page 17: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

17

Controllers möglich. So wäre es beispielsweise denkbar, dass ein Berater eines Systems als

Entscheidungsbaum programmiert wird, ein weiterer als künstliches neuronales Netz, ein

dritter dagegen als Agent und ein letzter gar wieder als eigenes Berater-System.

Die günstigste Art der Implementation ist abhängig von der Aufgabe des Beraters sowie der

Umgebung des KI-Objektes.

Berater sind im Gegensatz zu Controllern immer bereichsabhängig, da sie die Situation des

KI-Objektes für die Signalbildung bewerten müssen. Um eine möglichst optimale

Befehlsbildung durch den Controller zu ermöglichen, ist es für die Berater wünschenswert,

wenn die Bewertungen der Werte einer Aktion durch eine stetige Funktion erfolgt (siehe dazu

auch 3.1.3. Möglichkeiten der Befehlsbildung und [Gems4]).

3.1.2.3. Der Mode-Manager

Die Aufgabe des Mode-Managers ist es, die Gewichtungen der dem Controller zugeordneten

Berater zu steuern. Die Gewichtung dient zum Steuern der Prioritäten eines Berater-Systems.

Abhängig von der aktuellen Situation kann es dabei nötig sein, die Gewichtung der Berater zu

variieren [Rosenblatt97] [Gems4].

Ein Beispiel:

In einem strategischen Computerspiel gibt es mehrere Berater mit Aufgabengebieten

wie Stadtausbau, Verkehr, Militärverwaltung, Finanzen, Bevölkerungszufriedenheit

oder Forschung. Ein Computerspieler wird je nach gewähltem Charakter ein anderes

Teilgebiet bevorzugen. Populistische Spieler konzentrieren sich bevorzugt auf die

Zufriedenheit der Bevölkerung, technokratisch angehauchte favorisieren dagegen eher

das Gebiet der Forschung. In Abhängigkeit der befürworteten Teilgebiete setzt der

Mode-Manager die Gewichtungen der Berater.

Ändert der Computerspieler jetzt aber seine Gesinnung, müssen die Gewichtungen neu

verteilt werden. Zusätzlich kann eine akute Bedrohung ein Umdisponieren erfordern;

so muss etwa dem Militärberater zeitweise eine höhere Priorität gegeben werden,

wenn das Gebiet des Computerspielers durch eine fremde Armee bedroht wird.

3.1.3. Möglichkeiten der Befehlsbildung

Die in diesem Kapitel beschriebenen Methoden und Techniken zur Befehlsbildung beruhen

auf der in [Gems4] beschriebenen Funktionsweise, die Formeln sind selbst aufgestellt.

Um aus allen Berater-Signalen geBeratermenibbbS iii

i },,,{ 321 ( i

jb ist die Bewertung

des Befehls mit dem Wert jteSchrittwei * durch den Berater i ) einer Tätigkeit den tatsächlich

auszuführenden Befehl zu bestimmen, werden die einzelnen Befehls-Bewertungen i

jb der

Signale mittels einer Auswertungsfunktion f verknüpft.

Page 18: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

18

Das neue Signal },,{ 321 neuneuneu

neu bbbS ergibt sich dann folgendermaßen:

),,,(: 321 jjj

neu

j bbbfbgeBefehlsmenj

Aus dem neuen Signal wird das Maximum )(maxmax neu

jj

k bb extrahiert und der zugehörige

Wert kteSchrittwei * als Wert für den auszuführenden Befehl benutzt.

Für die Auswertungsfunktionen f kann es unterschiedliche Ansätze geben. Abhängig vom

Ansatz wird das Verhalten des Systems (sein Charakter) variieren.

Im Folgenden sollen drei Auswertungskriterien näher erläutert werden:

Maximax-Kriterium

Aus allen eingehenden Beraterstimmen werden die mit dem höchsten Wert als relevant

ausgewählt. Das Maximax-Kriterium ist dem Charakter nach ein optimistisches

beziehungsweise risikofreudiges Kriterium, da immer der Befehl mit der besten

Bewertung benutzt wird.

)(max),,,( 321 i

ji

jjj

neu

j bbbbfb

Maximin-Kriterium

Aus allen eingehenden Beraterstimmen werden die mit dem niedrigsten Wert als

relevant ausgewählt. Das Kriterium ist dem Charakter nach eher risikoscheu, da der

Befehl mit der am wenigsten schlechten Bewertung genutzt wird.

)(min),,,( 321 i

ji

jjj

neu

j bbbbfb

Maxsum-Kriterium

Das Maxsum-Kriterium summiert alle Beraterstimmen für einen Wert auf, das

entstehende Signal ist also die Summe der Beraterstimmen. Da bei diesem Kriterium

alle Stimmen in die Bewertung eingehen, ist es besonders für sicherheitskritische

Anwendungen geeignet, da nicht geeignete Befehle durch Sicherheitsberater mit

einem Veto belegt werden können und bei der Aufsummierung dann nur eine sehr

geringe Bewertung erhalten.

i

i

jjjj

neu

j bbbbfb )(),,,( 321

Da eine gleichmäßige Stimmverteilung zu einer besseren Auswahl des Befehls führt (ähnliche

Befehle einer Aktion sollten ähnliche Bewertungen durch einen Berater erhalten), werden

entweder die Beraterstimmen durch eine stetige Funktion generiert oder die Signale vor ihrer

Verknüpfung mit einem Tiefpassfilter (zum Beispiel einem Gauß-Filter) behandelt, um sie zu

glätten.

Zusätzlich gehen die einzelnen Berater-Signale mit unterschiedlicher Gewichtung in die

Verknüpfung ein, um so zum Beispiel sicherheitsrelevanten Beratern höheres Stimmrecht

einzuräumen. [Gems4]

Im Folgenden soll beispielhaft ein System gezeigt werden, welches aus drei

gleichgewichteten Beratern besteht und eine Aktion bearbeitet, deren Intervall [-1,1] ist und

eine Schrittweite von 0.1 besitzt.

Page 19: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

19

Die erste Abbildung zeigt die von den drei Beratern generierten Signale, die Abszisse

bezeichnet das Intervall der Aktion mit der zugehörigen Schrittweite, die Ordinate entspricht

den zugehörigen Bewertungen durch den Berater. Jeder diskrete Wert auf der Abszisse (mit

dem Abstand der Schrittweite) entspricht einem möglichen Befehl.

Die drei nachfolgenden Abbildungen zeigen jeweils das Ergebnis unterschiedlicher

Auswertungsfunktionen.

Abbildung 5: mögliche Beraterstimmen

Der Controller, der das Minimum der Stimmen maximiert (Maximin-Kriterium) wird sich für

einen Befehl mit dem Wert -0.4 entscheiden, da dort das Signal sein Maximum erreicht.

Abbildung 6: Maximin-Kriterium

Page 20: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

20

Der Maximax-Koordinator wird sich dementsprechend für einen Befehl mit dem Wert von 0.5

oder 0.6 entscheiden. Welcher von beiden ausgewählt wird, hängt dabei von der

Implementation des Controllers ab.

Abbildung 7: Maximax-Kriterium

Der Maxsum-Koordinator kann zwischen den Befehlen mit den Werten -0.3 und 0.4 wählen.

Abbildung 8: Maxsum-Kriterium

3.1.4. Analoge Befehlsbildung aus diskreten Abstimmungen

Dieses Kapitel beruht auf den Aussagen in [Rosenblatt97] und [Gems4], welche die

Genauigkeit diskreter Befehle sowie die analoge Befehlsbildung aus diskreten Signalen

betreffen.

Die von den Beratern generierten Stimmen sind strukturbedingt diskrete Signale mit einer

endlichen Auflösung. Als Resultat dessen kann es passieren, dass der vom Controller

berechnete auszuführender Befehl nur bedingt dem eigentlich besten Befehl entspricht.

Page 21: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

21

Eine Lösung des Problems wäre es, die Auflösung der generierten Signale zu erhöhen, in dem

man die Schrittweite der zugehörigen Aktion verringert. Unweigerliche Folge dessen wäre

aber ein erhöhter Rechenaufwand.

Einen besseren Ansatz bietet die Befehlsfindung mit Hilfe der quadratischen Interpolation.

Dazu muss zuerst wieder das Maximum kb der verknüpften Beraterstimmen an der Stelle k

gefunden werden (siehe vorheriges Kapitel). Zusätzlich wird noch der jeweils links und rechts

des Maximums liegende Stimmwert (1kb und

1kb ) mit der zugehörigen Stelle )1,1( kk

benötigt (am Anfang und Ende des Signals muss deren Vorhandensein durch geeignete

Formalismen gewährleistet werden, etwa durch Spiegelung des vorhandenen komplementären

Wertes 1kb bzw.

1kb ). Durch die drei erhaltenen Punkte wird eine quadratische Gleichung

der folgenden Form beschrieben, die ihr Maximum im Intervall ]1,1[ kk hat:

xxxf **)( 2

Durch Einsetzen der Werte 1k , k und 1k sowie der zugehörigen Funktionswerte )(xf

können die Parameter und bestimmt werden (Anmerkung: Auf die Herleitung der beiden

Parameter wird aufgrund der Länge und Unübersichtlichkeit der Formeln im Zuge dieser

Arbeit verzichtet.). Das Maximum der dadurch gegebenen Parabel befindet sich an der Stelle

0*2)'()(

xxfx

xf

Der optimale Wert für den auszuführenden Befehl ergibt sich somit zu

2

optimalx

Sind alle drei Werte 1kb , kb und 1kb gleich, muss der Wert des Befehls auf ein

]1,1[ kkk festgelegt werden.

Abbildung 9: Quadratische Interpolation

Page 22: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

22

3.2. Berater im Vergleich mit anderen Systemen

Berater-Systeme beschränken sich im Gegensatz zu anderen KI-Systemen nicht auf eine

einzige Art der Implementierung sondern gestatten für jedes ihrer Teilsysteme eine eigene Art

der Einbindung. Dadurch kann je nach zu lösender Aufgabe eine optimale

Problemlösungsstrategie verfolgt werden, deren Effektivität durch das Zusammenspiel mit

anderen Implementierungsmethoden sogar noch erhöht werden kann.

Durch die Aufteilung der Situationsbewertung auf mehrere untergeordnete Module ist es dem

Berater-System möglich, ohne eine komplizierte Abfragelogik mehrere Ziele zur gleichen

Zeit zu verfolgen. Da jeder Berater eigene Ziele verwirklichen will und die Befehlsbildung

aus der Verknüpfung mehrerer Beraterstimmen erfolgt, ist die Beachtung mehrerer

Zielstellungen implizit gewährleistet. Der große Vorteil gegenüber anderen Systemen (etwa

dem Agenten-Ansatz, welcher auch mehrere Absichten verfolgen kann) ist die gleichzeitige

Berücksichtigung der Ziele.

Ein weiterer Unterschied zu gängigen Systemen ist die Herangehensweise an die

Befehlsbildung. Gewöhnlicherweise wird die Situation des Objektes bewertet und aus dieser

Bewertung eine optimale Aktion bestimmt. Berater-Systeme wählen den umgekehrten Weg:

verschiedene mögliche Befehle werden erwogen und bewertet; aus allen möglichen

Bewertungen wird dann der beste auszuführende Befehl bestimmt, wobei die eigentliche

Befehlsbildung selbst völlig unabhängig von der Situation ist und nur von den abgegebenen

Stimmen der Berater beeinflusst wird.

Durch den modularen Aufbau ist es zudem möglich, ohne Strukturänderungen neue Aktionen

und Berater in das System zu integrieren. Komplizierte Anpassungen des Programmcodes,

wie sie zum Beispiel beim Erweitern eines Entscheidungsbaumes zwangsläufig nötig sind,

entfallen hierbei komplett.

Einen gravierenden Nachteil gibt es trotzdem: die vielfache Bewertung der Objekt-Situation

zieht bei ungünstiger Implementation der Berater unweigerlich Performanceeinbußen nach

sich. Aus diesem Grund muss die Implementation mit äußerster Sorgfalt und im Hinblick auf

bestmöglichste Performance erfolgen.

3.3. Unterschiede zwischen Beratern für Software- und Hardwareprodukte

Berater-Systeme eignen sich sowohl für Hard- als auch für Softwareprodukte, jedoch sind je

nach Einsatzgebiet bestimmte Rahmenbedingungen für die Implementation zu beachten. Vor

allem die benötigte Zeitdauer zum Umrechnen von Sensordaten in durch die Berater

auswertbare Informationen bei Hardwareimplementationen zieht gewisse Unterschiede in der

Arbeitsweise der Controller nach sich.

Gemeinsam bleibt beiden Systemen die Befehlsbildung aus verschiedenen Berater-Signalen

sowie die Implementation und Arbeitsweise der Berater. Nachfolgend sollen kurz die

wesentlichsten Unterschiede zwischen Soft- und Hardwareimplementationen aufgezeigt

werden.

Page 23: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

23

3.3.1. Mögliche Funktionsweise einer Hardware-Berater-Struktur

Hardware-Systeme erhalten in der Regel ihre Informationen über die Umgebung aus der

Umrechnung von gesammelten Sensordaten, etwa von Videokameras, Mikrophonen, Laser-

Sensoren zur Abstandsmessung und ähnlichem. Da zum einen die Auswertung der von den

Sensoren gelieferten Daten nicht mit gleicher Geschwindigkeit vonstatten geht und zum

anderen auch nicht jeder Berater unbedingt alle Daten benötigt, würde ein Synchronschalten

der Berater unweigerlich zur Verlangsamung des Systems führen, hervorgerufen durch einen

Engpass bei der Informationsbeschaffung.

Um diesem Problem zu entgehen, können die Berater asynchron getaktet werden. Die

Befehlsbildung durch den Controller erfolgt dabei kontinuierlich mit den zuletzt von den

Beratern produzierten Signalen, welche zu diesem Zweck zwischengespeichert werden

müssen. Die Berater aktualisieren ihre Signale selbstständig, wenn neue Sensorinformationen

vorliegen (vlg. [Rosenblatt97], asynchrone Arbeitsweise von Behaviors).

Um eine möglichst große Performance zu gewährleisten, kann die Implementation mehrerer

parallel zueinander arbeitender Controller erwogen werden. Dabei werden jedem Controller

eine oder mehrere Aktion(en) zugeteilt, die von ihm bearbeitet werden, anstatt einen

Controller alle Aktionen abarbeiten zu lassen. Die maximale Anzahl der parallel arbeitenden

Module hängt dabei von der Zahl der Berechnungseinheiten und der möglichen Aktionen des

Objektes ab.

3.3.2. Mögliche Funktionsweise einer Software-Berater-Struktur

Software-Berater-Systeme sehen sich in der Regel nicht mit dem Problem der

Sensordatenumrechnung konfrontiert. Durch die digitale Bereitstellung der Informationen

kann gewährleistet werden, dass alle Berater bei Anfrage ein aktuelles Signal produzieren

können. Aus diesem Grund bietet es sich an, die Module alle synchron zu takten, um so einen

kontinuierlichen Signalfluss zu gewährleisten. Dabei würde auch das Zwischenspeichern von

Signalen entfallen. Allerdings kann es auch hier Ausnahmen geben, etwa wenn ein Berater

nur mit niedriger Frequenz relevante Signale produziert oder die Bewertung von Aktionen

eine lange Rechenzeit erfordert, so dass der Berater nur in größeren Abständen aktiviert

werden sollte.

Da für eine Softwareimplementation gewöhnlich nur eine Recheneinheit zur Verfügung steht,

ist der Einsatz mehrerer Controller für ein Objekt nicht anzuraten. Verschiedene Controller

könnten ohnehin nur sequentiell abgearbeitet werden, so dass sich auch ein einziger

Controller um alle Aktionen des Objektes kümmern kann. Auch hier gibt es Ausnahmen,

wenn etwa mehrere Recheneinheiten zur Verfügung stehen und eine Parallelverarbeitung

durch den Rechner unterstützt wird.

Page 24: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

24

3.4. Die Berater und die Fahrschule

Für das Fahrschul-Projekt musste als erstes entschieden werden, was für ein KI-System zum

Einsatz kommen soll.

Von Anfang an ausgeschlossen werden konnten Automaten wegen ihrer fehlenden

Komplexität sowie künstliche neuronale Netze wegen ihres Übermaßes an Komplexität und

benötigter Vorarbeit (hauptsächlich das Trainieren des Netzes würde viel zu umständlich

werden).

Gegen eine einfache Entscheidungsstruktur sprach der Umstand, dass es auf den Straßen zu

viele mögliche Situationen gibt, um sie alle in einem Baum zu beschreiben. Das entstehende

Konstrukt wäre zudem stark unübersichtlich und schwer zu verwalten gewesen.

Damit blieben als Möglichkeiten der Einsatz eines regelbasierten Agentensystems oder einer

Berater-Struktur. Im direkten Vergleich haben sich einige Nachteile der Agentenstruktur

gezeigt, welche von deren Nutzung abrieten.

So müssen – ähnlich zu den Entscheidungsbäumen – die möglichen Situationen der KI-

Objekte in einer Regelbasis abgelegt werden. Dadurch würde sich wieder das Problem einer

großen, undurchsichtigen Struktur ergeben, die nur schlecht erweitert werden kann. Zudem

sehen Agentensysteme vor, dass einer bestimmten Regel auch eine spezifische Aktion

zugeordnet wird. Die Fahrzeuge verfügen jedoch im Allgemeinen über nur sehr wenige

Aktionen (Beschleunigen, Lenken, …), die aber mit sehr vielen unterschiedlichen Werten

ausgeführt werden können. Somit wird eine Zuordnung von Aktionen zu Situationen deutlich

erschwert. Ein weiteres Problem ist, dass Agentensysteme zwar über längere Zeit mehrere

Ziele verfolgen, für die Befehlsfindung aber jeweils nur das am höchsten priorisierte Ziel

beachten können. Da aber das Führen eines Fahrzeuges die gleichzeitige Verfolgung mehrerer

Absichten erfordert (nächste Straße anvisieren, Kollisionen mit anderen Autos vermeiden,

StVO beachten usw.), schien ein Agentensystem ungeeignet für die Problemstellung.

Der Berater-Ansatz ist hingegen geradezu ideal dafür, um für die Fahrschule eingesetzt zu

werden. Die Aufteilung der Situationsbewertung in mehrere Module ermöglicht eine

getrennte und nur das notwenigste enthaltende Berechnung und Bewertung der Situation.

Somit ist es nicht mehr nötig, alle möglichen Verkehrssituationen vorauszuahnen, sondern es

reicht, jeden Berater nur einen Teilaspekt des aktuellen Zustandes betrachten zu lassen. Da

jeder Berater für andere Ziele verantwortlich ist, ist durch die Art der Befehlsbildung auch die

Verfolgung mehrerer Absichten gleichzeitig gewährleistet.

Einen Nachteil des Systems gibt es trotzdem. Da für jeden Verkehrsteilnehmer eigene Berater

implementiert werden müssen, könnte eine schlechte Programmierung dieser zu erheblichen

Performanceeinbußen führen. Die Tatsache, dass verschiedene Berater unter Umständen die

gleichen Daten benötigten, macht es erforderlich, das System in einer Weise zu organisieren,

die Mehrfachberechnungen ausschließt.

Page 25: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

25

4. Ein Beratersystem für die Fahrschule

In diesem Kapitel sollen die theoretischen Grundlagen für das in der digitalen Fahrschule

eingesetzte Berater-System diskutiert werden.

4.1. Anforderungen an das System

Die Anforderungen des Systems entsprechen im Wesentlichen dem, was auch an jeden

Verkehrsteilnehmer in der realen Welt an Forderungen gestellt wird. Das bedeutet konkret die

Einhaltung der Verkehrsregeln, das Reagieren auch auf unvorhersehbare und neue Situationen

sowie das Gewährleisten der eigenen Sicherheit und der Sicherheit der anderen

Verkehrsteilnehmer. Hinzu kommt eine möglichst flexible Implementierung, die gut mit

Änderungen der Verkehrsregeln (etwa zur Portierung in andere Länder) klar kommt.

Weiterhin ist zu beachten, dass es unterschiedliche Verkehrsteilnehmer mit jeweils eigenem

Verhalten geben kann, so etwa Autos, Straßenbahnen, Züge, Fußgänger und weitere. Jede

dieser Gruppen sollte nach Möglichkeit das gleiche System benutzen können, ohne das große

Änderungen vonnöten sind.

Gleichzeitig muss das System so performant wie möglich sein, um nicht nur auf den neuesten

Rechnern ausgeführt werden zu können.

Als weitere Vorgabe fand sich der Wunsch, den KI-Objekten einen eigenen Charakter zu

geben, damit das Verkehrsverhalten möglichst originalgetreu simuliert werden kann.

Schließlich fahren auf der Straße auch nicht alle Autos gleich.

Ein wichtiger Punkt ist, dass es sich um eine reine Software-Lösung handelt. Dadurch

entfallen Strategien wie das asynchrone Takten der Berater oder der Einsatz mehrerer

Controller.

4.2. Erweiterung des ursprünglichen Berater-Konzeptes

Damit alle gestellten Anforderungen erfüllt werden können, muss das ursprüngliche, von

Rosenblatt beschriebene Konzept erweitert werden. Um etwa ein wiederholtes Berechnen von

häufig benötigten Informationen zu vermeiden, sind Strukturen notwendig, welche die

längerfristige Speicherung von Daten zulassen. Die hier beschriebenen Erweiterungen des

Berater-Konzeptes sind eine Eigenentwicklung und finden sich nicht in der benutzten

Literatur.

Page 26: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

26

Die hinzugefügten Module lassen sich in vier Kategorien einteilen:

Aktionsbasis:

Die Aktionsbasis enthält eine Liste aller verfügbaren Aktionen, die der zugeordnete

Verkehrsteilnehmer ausführen kann.

Speicher:

Die Speicher enthalten Daten über eine spezifische Gruppe von Informationen, um

diese allen Beratern verfügbar zu machen.

Charakter:

Der Charakter dient zum Beschreiben der persönlichen Eigenschaften des KI-

Objektes.

Manager:

Die Manager sind für das Füllen der Speicher verantwortlich und werden zu Beginn

jedes KI-Taktes einmal aufgerufen.

Die hinzugefügten Module sind dabei nicht auf eine Verwendung innerhalb der Fahrschule

beschränkt, sondern können auch außerhalb dieser benutzt werden (näheres dazu im Kapitel

5. Implementierung). Im Folgenden soll die allgemeine Verwendung der zusätzlichen Module

erklärt werden.

4.2.1. Die Aktionsbasis

Die Aktionsbasis dient zum Festhalten der möglichen Aktionen des KI-Objektes. Eine Aktion

besteht dabei aus den im Kapitel 3.1.1.Funktionsweise von Berater-Systemen genannten

Bestandteilen (Identifizierung der Aktion, minimaler und maximaler Wert, Schrittweite)

sowie einem Indikator, ob der zugehörige Aktionswert ein analoger Wert sein kann oder sich

streng diskret aus den Grenzen und der Schrittweite ergibt. Analoge Werte können im Verlauf

der Befehlsbildung mit Hilfe der quadratischen Interpolation (siehe 3.1.4. Analoge

Befehlsbildung aus diskreten Abstimmungen) gebildet werden.

Durch Modifizieren der Liste können so dem KI-Objekt auf einfache Art neue Aktionen

hinzugefügt werden. Der Controller greift im Zuge eines KI-Taktes auf diese Liste zurück und

befragt die Berater zu den darin enthaltenen Aktionen.

Durch die Aktionsbasis-Struktur ist es damit möglich, verschiedene KI-Objektgruppen mit ein

und denselben Beratern zu erstellen und ihnen lediglich eine leicht veränderte Aktionsbasis

zuzuweisen.

Am Beispiel des Straßenverkehrs: es werden die Gruppen „Personenkraftwagen“,

„Schienenfahrzeuge“ und „Busse“ erstellt, welche die gleichen Berater und die gleiche

Aktionsbasis benutzen. Lediglich die Aktion „Fahrgäste aufnehmen“ würde in der Liste der

Busse und Schienenfahrzeuge hinzugefügt werden, um ihnen das Mitnehmen von Passagieren

zu ermöglichen. Gleichzeitig wird den Schienenfahrzeugen die Aktion „Steuern“ aberkannt,

da ihre Strecke durch die Schienen vorgegeben ist. Die Möglichkeit zum Wechseln der Gleise

an einer Weiche wäre dagegen eine exklusive Aktion der Schienenfahrzeuge.

Page 27: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

27

4.2.2. Der Zustandsspeicher

Aufgabe des Zustandsspeichers ist es, in einer eigens dafür angelegten Struktur den aktuellen

Weltzustand des Objektes festzuhalten, damit er von den einzelnen Beratern ausgewertet

werden kann.

Der Zustandsspeicher ist jeweils nur für einen KI-Takt gültig, danach hat sich in der Regel die

Welt um das Objekt geändert und der Speicher muss für gewöhnlich neu befüllt werden.

Der Zustandsspeicher trägt einen wesentlichen Teil zum Performancegewinn bei, da

aufwandsintensive Daten nur einmal pro KI-Takt berechnet werden müssen und dann allen

Beratern zur Verfügung stehen.

4.2.3. Der Intentionenspeicher

Der Intentionenspeicher hat eine ähnliche Aufgabe wie der Zustandsspeicher, ist aber für das

Aufbewahren von Intentionen der Berater zuständig. Intentionen sind Absichten oder

temporäre Ziele der Berater, die nur für den aktuellen KI-Takt Gültigkeit besitzen.

Auch der Intentionenspeicher wird in der Regel zu Beginn jedes Taktes geleert, um dann von

den Beratern neu befüllt zu werden.

Die Notwendigkeit des Intentionenspeichers ergab sich aus folgender Überlegung:

Da die Berater mit einer Gewichtung versehen sind und zusätzlich noch gegen ungünstige

Befehle ein Veto einlegen können, werden mitunter in einer Situation manche Befehle durch

sicherheitsrelevante Berater überhaupt nicht zugelassen, etwa das Nach-Links-Steuern, wenn

eigentlich die Spur gehalten werden sollte. Unter gewissen Umständen wäre es ab und zu

jedoch wünschenswert, die Meinung eines höher priorisierten Beraters zu missachten und

einen eigentlich ungünstigen Befehl auszuführen, als Beispiel das „Links überholen“ auf einer

einspurigen Straße.

Eine mögliche Lösung wäre natürlich gewesen, den Beratern eine Möglichkeit zum

Unterdrücken anderer Berater zu geben, was jedoch zu fatalen Fehlern der KI führen könnte

(wenn zum Beispiel links überholt werden möchte, aber sich neben dem eigenen Fahrzeug

bereits ein anderes befindet). Ein sicherheitsrelevanter Berater darf demzufolge nicht einfach

unterdrückt werden.

Eine andere, bessere Lösung bietet der Intentionenspeicher. In ihm werden zu Beginn des KI-

Taktes die Wünsche und Absichten aller Berater zum Durchführen einer bestimmten

Handlung vermerkt. Im weiteren Verlauf des Taktes steht es den einzelnen Beratern jetzt frei,

ob sie den Wünschen der anderen Berater Beachtung schenken (etwa, in dem ein

Sicherheitsberater nicht gegen das Nach-Links-Steuern votiert, obwohl es eigentlich nötig

wäre) oder nicht.

Der Intentionenspeicher stellt also in dem Sinne die einzige Möglichkeit dar, mit Hilfe derer

die einzelnen Berater miteinander kommunizieren können.

Page 28: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

28

4.2.4. Der Zielspeicher

Die Entstehung des Zielspeichers ergab sich aus der Absicht, das KI-System so stark wie

möglich vom eigentlichen KI-Objekt zu trennen. Um also längerfristig zu verfolgende Ziele

nicht im eigentlichen KI-Objekt ablegen zu müssen, wurde der Zielspeicher eingeführt. Auch

er wird einmal zu Beginn jedes KI-Taktes aktualisiert, muss jedoch nicht zwangsläufig vorher

geleert werden, schließlich können Ziele über längere Zeit hinweg bestehen.

Im weiteren Verlauf des Taktes können die Berater dann die Informationen des Speichers

abrufen, um ihre Situationsbewertung daran auszurichten.

4.2.5. Die Charakterbeschreibung

Die Charakterbeschreibung stellt im Grunde auch nichts weiter als einen Speicher dar, der

jedoch im Verlauf der Programmausführung relativ konstant bleibt und nur selten verändert

wird. Die Charakterbeschreibung soll es dem KI-System ermöglichen, seine Aktionen etwas

individueller zu gestalten, um so mehr Abwechslung in den Programmablauf zu bringen. Die

Berater können während eines KI-Taktes auf die in der Beschreibung gespeicherten Daten

zurückgreifen, und anhand der dortigen Informationen ihre Situationsbewertung anpassen.

Ein Beispiel hierfür wäre, wenn die Charakterbeschreibung ein Feld „Aggressivität“ hätte und

der Berater, welcher für die Einhaltung der StVO verantwortlich ist, die maximal zulässige

Geschwindigkeit des Fahrzeuges abhängig von der Aggressivität des KI-Objektes macht.

Zusätzlich ist in der Charakterbeschreibung die Auswertungsfunktion (zum Beispiel Maxsum

oder Maximax) gespeichert, welche vom Controller zur Auswertung der Beratersignale

genutzt wird. Die Funktion wird innerhalb der Charakter-Daten gespeichert, da sie das

grundlegende Verhalten des Systems (optimistisch, vorsichtig, …) beschreibt.

4.2.6. Der Zustandsmanager

Der Zustandsmanager ist dafür verantwortlich, den Zustandsspeicher des KI-Objektes aktuell

zu halten. Da hier ein Großteil der rechenintensiven Aktionen durchgeführt wird

(insbesondere die mathematischen Vorgänge zum Bestimmen der Positionen und

Entfernungen zu anderen Welt-Objekten), ist auf eine performancegünstige Implementierung

des Managers zu achten. Der Zustandsmanager benötigt direkten Zugriff auf das zugeordnete

KI-Objekt, um die Situation des Objektes geeignet beschreiben zu können.

Page 29: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

29

4.2.7. Der Zielmanager

Aufgabe des Zielmanagers ist es, den Zielspeicher aktuell zu halten. Zu Beginn jedes KI-

Taktes wird der Manager aufgerufen, um die bisher gesetzten Ziele auf ihre Erfüllung hin zu

testen und um eventuell neue Ziele festzulegen.

Der Zielmanager benötigt dazu vollen Zugriff auf das KI-Objekt, da er nicht auf den aktuellen

Zustandsspeicher zurückgreifen kann. Ursache dafür ist, dass strukturbedingt der Zielmanager

vor dem Zustandsmanager aufgerufen wird. Da die Ziele und der Weltzustand eines Objektes

in gegenseitiger Wechselwirkung stehen, musste einem von beiden Managern der Vorrang

gegeben werden. Die Entscheidung fiel schließlich auf den Zielmanager, da die Ziele eines

Objektes dessen Weltzustand stärker beeinflussen als umgekehrt.

Als Beispiel sei hier der Weltzustand „Entfernung zum Ende der Straße“ der Fahrschul-KI

genannt, welcher vom Zustandsmanager berechnet wird. Würde der Zustandsmanager vor

dem Zielmanager aktiv werden, könnte der Zielmanager diesen Wert theoretisch für die

Bestimmung benutzen, ob sich das Fahrzeug noch auf der aktuellen Straße befindet oder

schon die nächste erreicht hat. Im letzteren Fall wüsste der Manager dann, dass er das Attribut

„aktuelle Straße“ des KI-Objektes aktualisieren muss. Als Folge davon aber wäre das Attribut

„Entfernung zum Ende der Straße“ für diesen KI-Takt nicht mehr aktuell und würde unter

Umständen zu fehlerhaftem Verhalten führen. Wird dagegen zuerst der Zielmanager aktiv,

erfordert das möglicherweise doppelte Berechnungen von gewissen Werten, vermeidet aber

definitiv interne Logik-Fehler.

4.2.8. Der Intentionenmanager innerhalb der Berater

Da Intentionen an die einzelnen Berater gebunden sind, kann es keinen zentralen

Intentionenmanager geben, welcher den Intentionenspeicher befüllt. Stattdessen wird jeder

Berater vor der eigentlichen Befehlsbildung nach seinen Intentionen (Wünschen, Absichten)

befragt, die er dann im Speicher hinterlegen kann. Die Intentionen sind in der Regel vom

Berater, dem aktuellen Weltzustand und von den gegenwärtigen Zielen abhängig.

4.3. Genereller Aufbau des Systems

Das eigentliche Berater-System soll so aufgebaut werden, dass es auch unabhängig von der

Fahrschule für andere KI-Projekte eingesetzt werden kann. Um das zu erreichen, werden nur

Module mit projektunabhängiger Aufgabe fest implementiert, die restlichen Module liegen

lediglich als Interfaces vor und müssen projektabhängig programmiert werden.

Komplett projektunabhängige Module sind allerdings nur die Aktionsbasis (bestehend aus

einem Speicher für durchführbare Aktionen und der Definition der Aktions-Struktur) sowie

der Controller. Da aber der Controller die gesamte Funktionsweise des KI-Systems steuert,

beschränkt sich die Implementierung der restlichen Module auf wenige, stark gekapselte

Methoden pro Interface.

Page 30: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

30

Damit umfasst diese Arbeit eigentlich sogar zwei Projekte: das Berater-System an sich als

unabhängige Engine sowie eine konkrete Implementierung für die Fahrschule. Der

Einfachheit halber soll aber in den folgenden Kapiteln diese Unterscheidung nicht explizit

getroffen werden. Bei der Beschreibung der einzelnen Module kann davon ausgegangen

werden, dass die Methoden durch das Interface der Engine vorgegeben werden, die

Implementierung aber der Fahrschule entsprechend getätigt wurde. Eine Ausnahme ist

lediglich der bereits genannte Controller, da dieser generell vom Projekt unabhängig agiert.

4.4. Hauptmodule

In diesem Kapitel sollen die Hauptmodule der Fahrschul-KI besprochen werden. Als

Hauptmodule gelten alle ursprünglich zum Berater-Konzept gehörenden Module (nach

[Rosenblatt97] bzw. [Gems4]), sprich Controller, Berater und Mode-Manager.

Nachfolgend sollen die Aufgaben der einzelnen Module, ihre Funktionsweise und ihre

Variationen vorgestellt werden. Da sich weder in [Rosenblatt97] noch in [Gems4] genauere

Details zur Umsetzung und Implementierung für die Module finden, sind alle folgenden

Ansätze und Techniken auf eigenen Überlegungen begründet.

4.4.1. Der Controller

Die Controller an sich sind eine fest implementierte Klasse, können jedoch durch ihre

Zusammensetzung aus verschiedenen Beratern, Managern und Speichern voneinander

unterschieden werden. Für jede Gruppe von Verkehrsteilnehmern wird es einen separaten

Controller geben.

Im Einzelnen werden folgende Gruppen unterschieden:

- Fahrzeuge (Pkws, Lkws, Busse und ähnliches )

- Fußgänger

- Straßenbahnen

- Züge/andere Schienenfahrzeuge

Die Unterscheidung der Controller wird dabei hauptsächlich über die eingesetzten Berater

getroffen, da für jede Gruppe teilweise eigene Berater implementiert werden müssen (andere

Berater, etwa jene, die für das Beschleunigen verantwortlich sind, können in weitgehend allen

Gruppen gleichermaßen eingesetzt werden).

Um die KI-Objekte durch den fest implementierten Controller steuerbar zu machen, müssen

beide Objekte durch ein AIObject-Interface verbunden werden. Das Interface stellt eine

Methode zum Versenden einer Aktions-Nachricht zur Verfügung und wird an das KI-Objekt

angehangen. Die Aktions-Nachricht wiederum besteht aus einem die Aktion identifizierenden

Wert und dem durch den Controller bestimmten Befehls-Wert. Die Auswertung der

durchzuführenden Aktion kann dann normal in der Art einer switch-Struktur im eigentlichen

KI-Objekt erfolgen.

Page 31: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

31

Der Abstimmungsraum des Berater-Systems besteht aus Fließkommazahlen, das heißt jede

auszuführende Aktion kann durch eine ID und einen Fließkommawert beschrieben werden

(für eine Liste der möglichen Aktionen siehe 4.5.1. Die Aktionsbasis).

4.4.2. Die Berater

Die Berater bilden den umfangreichsten Teil des KI-Systems, da sie für die Bewertung der

aktuellen Situation eines KI-Objektes sowie den daraus resultierenden Vorschlag für die

durchzuführende Aktion verantwortlich sind.

Da für jede Gruppe von Verkehrsteilnehmern einige Berater teilweise neu implementiert

werden müssen und es somit innerhalb der Fahrschule sehr viele Berater mit zum Teil

ähnlicher Funktion gibt, werden im Folgenden lediglich die Berater der Gruppe „Cars“, also

Fahrzeuge, vorgestellt.

Neben den eigentlichen Aufgaben soll dabei auch die Funktion des dem Berater eigenen

Intentionenmanagers aufgezeigt werden.

4.4.2.1. Sicherheitsberater

Der Sicherheitsberater hat innerhalb des Systems die höchste Priorität, da er für die Sicherheit

des Fahrzeuges verantwortlich ist. Zu seinen Aufgaben gehören die Vermeidung des

Umkippens und Schlitterns sowie die Verhinderung von Auffahrunfällen.

Um diese Ziele möglichst optimal zu erreichen, führt der beratereigene Intentionenmanager

eine „Voranalyse“ der Situation durch. Dabei werden alle sich in der Nähe befindenden

Verkehrsteilnehmer auf ihre Position hinsichtlich des KI-Objektes geprüft. Befinden sich die

gegnerischen Teilnehmer unmittelbar rechts oder links neben dem Objekt, so wird die

Intention „Rechtssteuern nicht erlaubt“ bzw. „Linkssteuern nicht erlaubt“ aktiviert. Befindet

sich ein Fahrzeug direkt vor dem Objekt und unterschreitet die Distanz zu ihm den minimalen

Bremsweg, so wird im Intentionenspeicher ein Wert für einen Lenkeinschlag zu einem

möglichen Ausweichkurs hinterlegt. Wird die Bremsdistanz nicht unterschritten, kann der

Sicherheitsberater im weiteren Verlauf der Signalbildung mit einem einfachen Brems-Signal

auf das gegnerische Fahrzeug reagieren.

Diese Maßnahmen ersparen das spätere, erneute Prüfen der Positionen von Gegnerfahrzeugen

bei der Bewertung der Verkehrssituation und ermöglichen anderen Beratern, eine der

aktuellen Situation entsprechende Aktion zu favorisieren. So möchte der Wegfindungsberater

etwa nur dann einen Spurwechsel nach Links oder Rechts ausführen, wenn die Intentionen

„Linkssteuern nicht erlaubt“ bzw. „Rechtssteuern nicht erlaubt“ nicht gesetzt sind.

Dieses Verfahren mag zwar etwas umständlich und die oben aufgeführten Intentionen nicht

als echte Wünsche oder Absichten erscheinen, jedoch ergab sich dieser Weg als der

Bestmöglichste, um das folgend geschilderte Problem zu umgehen:

Um ein generelles Linkslenken oder Rechtslenken des Objektes zu unterbinden, hätte

der Sicherheitsberater die entsprechenden Lenkeinschläge mit einer sehr stark

negativen Stimme belegen können. Das hätte zwar den Wegfindungsberater davon

abgehalten, die Spur zu wechseln, gleichzeitig aber auch leichte Kurskorrekturen des

Page 32: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

32

Pfadhaltungsberaters verhindert. Wäre die Negativ-Stimme dagegen nicht hoch genug

gewesen, hätte sie leicht durch die aufsummierten Stimmen der Wegfindungs- und

Pfadhaltungsberater überstimmt werden können. Es war also eine Lösung zu finden,

die gleichzeitig den Spurwechseln unterbinden kann, wenn sich gegnerische

Fahrzeuge unmittelbar links oder rechts des KI-Objektes befinden, trotzdem aber

leichte Kurskorrekturen durch den Pfadhaltungsberater ermöglicht.

Die eben genannte Problematik verdeutlicht recht gut die Schwierigkeit, die in der

Implementation der einzelnen Berater liegt. Auf der einen Seite sollen sie möglichst

unabhängig voneinander agieren können, um eine günstige Bewertung der Situation zu

erreichen und die Sicherheit des KI-Objektes zu gewährleisten. Auf der anderen Seite ist eine

vollständig wissensfreie Bewertung (d.h. ohne Kommunikation der Berater untereinander)

ohne die Generierung von Fehlern schwer möglich.

4.4.2.2. Pfadhaltungsberater

Der Pfadhaltungsberater ist für die Ausrichtung des Fahrzeuges entlang der Straßenlinie

verantwortlich. Da der Berater damit für das Abbiegen an Kreuzungen und Kurven

verantwortlich ist, muss er mit besonderer Sorgfalt implementiert werden.

Folgendem Problem galt dabei besondere Aufmerksamkeit:

Angenommen, dass KI-Fahrzeug hat gegenüber der optimalen Spur eine leichte

Neigung nach links. Der Pfadhaltungsberater hat die Aufgabe, diese Abweichung

durch Steuern nach rechts zu korrigieren. Sollte der Steuer-Impuls allerdings zu stark

ausfallen, könnte es in Verbindung mit der Steuerträgheit des Fahrzeuges leicht zu

einem Übersteuern kommen, das heißt als Endergebnis der Spurkorrektur hat das KI-

Fahrzeug nun eine leichte Abweichung nach rechts, welche wiederum korrigiert

werden muss. Durch ständige Wiederholung dieses Vorgangs wird eine zittrige Fahrt

des Fahrzeuges verursacht.

Es ist also nötig, bei der Bestimmung der Steuersignale einen dämpfenden Faktor mit

einzubauen, welcher die Fahrt des Fahrzeuges stabilisiert.

Der Pfadhaltungsberater hat nur in geringem Umfang sicherheitsrelevante Funktionen und ist

damit von relativ niedriger Priorität. Auch der Intentionenmanager des Pfadhaltungsberaters

hat keine Funktion.

4.4.2.3. StVO-Berater

Aufgabe des StVO-Beraters ist die Einhaltung der Verkehrsregeln. Im Kontext der Fahrschule

ist das vor allem die Beachtung von Ampeln, der Vorfahrtsregelung auf Vorfahrtsstraßen und

gleichrangigen Kreuzungen sowie die Rücksichtnahme auf Fußgänger und andere

Verkehrsteilnehmer beim Abbiegen.

Der StVO-Berater ist nach dem Sicherheitsberater der sicherheitsrelevanteste Berater und hat

eine dementsprechend hohe Priorität. Der Intentionenmanager hat keine Funktion.

Page 33: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

33

4.4.2.4. Wegfindungsberater

Der Wegfindungsberater ist zum einen für das Einhalten der Straßengrenzen verantwortlich

und sorgt zum anderen dafür, dass die Fahrzeuge einen Spurwechsel vollziehen können. Als

drittes ist er Hauptverantwortlicher für das Blinkverhalten des Fahrzeuges und sorgt außerdem

noch dafür, dass das KI-Objekt beim Abbiegen an einer Kreuzung nicht zu schnell fährt.

Der Spurwechsel besteht dabei aus zwei Bestandteilen: dem eigentlichen Lenken auf eine

andere Spur und dem Abbremsen oder Beschleunigen, wenn sich neben dem Fahrzeug auf der

Zielspur schon andere Fahrzeuge befinden. Der Wegfindungsberater nutzt für diese

Auswertung benachbarter Fahrzeuge die Angaben aus dem Intentionenspeicher.

Aufgabe des beratereigenen Intentionenmanagers ist es, das Erfordernis eines Spurwechsels

sowie die Richtung des Wechsels festzustellen.

Der Berater hat, wie der Pfadhaltungsberater, eine niedrige Priorität aufgrund der geringen

sicherheitsrelevanten Funktionen. Dennoch ist die Priorität etwas höher als die des

letztgenannten Beraters, da das Einhalten der Straßengrenzen wichtiger ist als das Ausrichten

an der Spur. Gleiche oder niedrigere Priorität als der Pfadhaltungsberater würde sogar dazu

führen, dass bei zu großer Entfernung zur Spurmitte diese Distanz nicht mehr verkleinert

werden könnte, da jeder Lenkversuch durch den Wegfindungsberater durch das Bestreben

blockiert werden würde, das Fahrzeug an der Spur auszurichten.

4.4.2.5. Zielverfolgungs-Berater

Die Aufgabe des Zielverfolgungs-Beraters ist es, das Fahrzeug auf schnellstmöglichem Weg

ans Ziel zu bringen. Dazu gehört unter anderem das Beschleunigen des KI-Objektes auf die

maximal zulässige (und vom Charakter abhängige) Geschwindigkeit sowie das Überholen

langsamerer Fahrzeuge. Auch der Einsatz von Hupe oder Lichthupe unterliegen der Kontrolle

des Zielverfolgungsberaters. Der Intentionenmanager hat die Aufgabe, einen eventuellen

Wunsch des Überholens zu kennzeichnen.

Der Zielverfolgungs-Berater hat die niedrigste Priorität aller Berater, ist aber durch das

Bestreben zur Beschleunigung des Fahrzeuges integraler Bestandteil des Systems.

4.4.3. Der Mode-Manager

Dem Mode-Manager kommt innerhalb des Berater-Systems für die Fahrschule keine

Bedeutung zu, da die Prioritäten der einzelnen Berater festgelegt sind und sich im Laufe der

Zeit auch nicht ändern. Trotz der vielen unterschiedlichen Situationen im Straßenverkehr ist

das Fahren an sich ein relativ statischer Vorgang, der als Ziel in der Regel nur die

Fortbewegung von A nach B unter der Prämisse maximaler Sicherheit für das Fahrzeug kennt.

Infolgedessen ist es auch nicht nötig, die Prioritäten innerhalb des Systems an neue Ziele

anzupassen.

Page 34: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

34

4.5. Hilfsmodule

In diesem Kapitel sollen die Hilfsmodule der Fahrschul-KI besprochen werden. Als

Hilfsmodule gelten alle nachträglich dem ursprünglichen Berater-Konzept von Rosenblatt

hinzugefügten Module, also die Speicher, die Manager, die Aktionsbasis und die

Charakterbeschreibung.

4.5.1. Die Aktionsbasis

In diesem Kapitel sollen die Aktionen vorgestellt werden, welche durch die KI-Objekte

ausgeführt werden können. Die Aktionen werden dabei in die verschiedenen Gruppen von

Verkehrsteilnehmern untergliedert. Es wird jeweils ihre Bedeutung, das Wertintervall sowie

die Schrittweite aufgeführt.

Die Gruppe der Fahrzeuge verfügt über folgende Aktionen:

- Steuern:

Mit Hilfe dieser Aktion wird der Lenkeinschlag der Fahrzeuge bestimmt. Der

Wertebereich reicht dabei von -1 (starker Linkseinschlag) über 0 (kein

Einschlag) bis zu 1 (starker Rechtseinschlag). Die Schrittweite wurde zu 0.2

gewählt, um einen brauchbaren Mittelweg zwischen günstiger Auflösung und

gute Performance zu gewährleisten.

- Beschleunigen:

Die Bezeichnung dieser Aktion ist nicht vollständig korrekt, da mit ihr sowohl

das Beschleunigungs- als auch das Bremsverhalten der Fahrzeuge gesteuert

wird. Der Wertebereich liegt zwischen -1 und 1, wobei negative Werte für

Bremsen, positive Werte für Beschleunigung und 0 für Geschwindigkeit halten

steht. Die Schrittweite liegt wieder bei 0.2, könnte aber unter Umständen noch

vergrößert werden, da durch die Berater häufig Extremwerte (-1, 0 oder 1)

favorisiert werden.

- Blinken:

Diese Aktion steuert das Blinkverhalten der Fahrzeuge. Es werden lediglich

drei Werte unterschieden: -1 (links Blinken), 0 (nicht blinken), 1 (rechts

blinken). Demzufolge ist die Schrittweite auch 1.

- Hupe:

Die Hupe soll es der KI ermöglichen, akustisch auf eventuelles Fehlverhalten

anderer Verkehrsteilnehmer hinzuweisen. Es müssen lediglich zwei Werte

unterschieden werden, 0 für nicht Hupen und 1 für Hupen.

- Lichthupe:

Für die Aktion Lichthupe gelten die gleichen Aussagen wie für die Hupe: sie

dient der visuellen Kommunikation mit der Umwelt und unterscheidet die

Werte 0 (Lichthupe aus) und 1 (Lichthupe an).

Page 35: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

35

- Licht:

Das Licht des Fahrzeuges muss von den Beratern entsprechend der aktuellen

Lichtverhältnisse (Tageszeit, Tunnel, Gewitter) entweder an- (1) oder

ausgeschalten (0) werden.

Für die Fußgänger gelten folgende Aktionen:

- Drehen:

Die Person dreht sich in die angegebene Richtung. Negative Werte bedeuten

nach links drehen, positive bedeuten nach rechts drehen. Die Schrittweite ist

mit 0.2 genau wie bei den Fahrzeugen gewählt, das Intervall reicht wiederum

von -1 bis 1.

- Gehen:

Die Person wird sich fortbewegen. Hierbei werden nur die Werte 0 (nicht

gehen), 0.5 (gehen) und 1 (rennen) unterschieden, da die

Fortbewegungsgeschwindigkeit auf einen konstanten, personenabhängigen

Wert gesetzt wird.

Straßenbahnen, Züge und andere Schienenfahrzeuge verfügen über die folgenden Aktionen:

- Beschleunigen:

Für die Aktion des Beschleunigens von Schienenfahrzeugen gelten die

gleichen Vorgaben wie für normale Fahrzeuge (Autos, Busse und ähnliche).

Das Intervall reicht von -1 bis 1, die Schrittweite beträgt 0.2.

- Lenken:

Schienenfahrzeuge können in der Regel lediglich an Weichen eine

Entscheidung über ihre Richtung treffen. Demzufolge gelten auch nur die

Werte -1 (der Weiche nach links folgen), 0 (geradeaus fahren) und 1 (der

Weiche nach rechts folgen).

- Blinken, Licht, „Hupe“ (Klingel, Horn):

Auch hier gelten die gleichen Vorgaben wie für die entsprechenden Aktionen

der normalen Fahrzeuge.

4.5.2. Der Zustandsspeicher

Im Zustandsspeicher für die Fahrzeuge sind hauptsächlich Werte hinterlegt, welche die

Position des Fahrzeuges in Bezug auf seine Umwelt beschreiben. Dazu gehören unter

anderem die Entfernungen zum Anfang und Ende der aktuellen Straße sowie zur

Straßenmitte, die Winkel zur momentanen und nächsten Straße oder eine Liste aller sich in

der näheren Umgebung befindlichen Fahrzeuge. Auch die Angabe des minimalen

Bremsweges, den das Fahrzeug bis zum vollständigen Stillstand benötigt, ist hier gespeichert.

Die Zustandsspeicher der anderen Verkehrsteilnehmer sind ähnlich aufgebaut und benötigen

daher keine weitere Beschreibung.

Page 36: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

36

4.5.3. Der Intentionenspeicher

Der Umfang des Intentionenspeichers ist weitaus kleiner als der des Zustandsspeichers.

Lediglich die Fahrzeuge verfügen über einen solchen Speicher, für Fußgänger und

Schienenfahrzeuge wird er auf Grund des geringen Funktionsumfanges nicht benötigt.

Im Intentionenspeicher ist hinterlegt, ob das Fahrzeug die Spur wechseln oder überholen

möchte, ob diese Aktionen überhaupt erlaubt sind (ein Spurwechsel ist zum Beispiel nicht

gestattet, wenn sich auf der Zielspur schon Fahrzeuge befinden) oder ob ein scharfes Links-

/Rechtslenken erforderlich ist, um einem Hindernis auszuweichen.

Der Intentionenspeicher wird damit nicht allein als Liste von Wünschen, sondern auch für die

Kommunikation der Berater untereinander genutzt, da einige Angaben für die

Entscheidungsfindung aller Berater nötig sind. Welche Intention durch welchen Berater

vorgegeben wird, findet sich im Kapitel 4.2.2. Die Berater.

4.5.4. Der Zielspeicher

Der Zielspeicher enthält den Pfad, dem der Verkehrsteilnehmer zu seinem Ziel folgen soll

sowie einige zusätzliche Angaben, die auf dem Weg dorthin zu beachten sind. Ist dem Objekt

kein Pfad zugeteilt, sind hier auch die Angaben für das zufällige Umherwandern hinterlegt.

4.5.5. Die Charakterbeschreibung

Die Charakterbeschreibung für ein Fahrzeug hat zum Ziel, den einzelnen Fahrzeugen ein

individuelles Verhalten zu geben, um somit für mehr Abwechslung im Straßenverkehr zu

sorgen. Wenige Charakter-Werte reichen schon aus, um eine große Vielfalt auf den Straßen

der Fahrschule zu gewährleisten.

Jedes Fahrzeug verfügt über die Charaktereigenschaften „Aggressivität“ und „Voraussicht“.

Auswirkung hat der Charakter zum Beispiel auf die Einhaltung der gebotenen

Maximalgeschwindigkeit. Sehr aggressive und wenig vorausschauende Fahrer werden eher

die Höchstgeschwindigkeit überschreiten; vorausschauende, aber wenig aggressive Fahrer

dafür eher darunter bleiben. Ebenso werden aggressiv agierende Verkehrsteilnehmer später

bremsen oder schneller durch die Kurven fahren.

4.5.6. Die Manager

Die Manager der Fahrschule (Zustandsmanager, Zielmanager und die Intentionenmanager)

haben die Aufgabe, die oben beschriebenen Speicher zu füllen. Dabei werden verschiedene

Attribute des Fahrzeuges im Zusammenhang mit der Fahrzeugumgebung mathematisch

ausgewertet und im Speicher hinterlegt. Genauere Beschreibungen der zu berechnenden

Werte finden sich in den Kapiteln zu den einzelnen Speichern.

Page 37: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

37

4.6. Befehlsbildung

Als Auswahlkriterium für die Fahrschule wurde das Maxsum-Kriterium gewählt. Begründung

für diese Wahl ist, dass dieses Kriterium am ehesten der realen Entscheidungsfindung durch

mehrere Berater entspricht, da alle Stimmen Beachtung finden. Das Maximax-Kriterium hat

sich im Test als nicht brauchbar erwiesen, da starke Negativ-Stimmen von

sicherheitsrelevanten Beratern bei der Befehlsbildung nicht beachtet werden.

Ergeben sich bei der Suche nach dem Maximum der kombinierten Signale mehrere mögliche

Positionen, die als beste Werte in Frage kommen, so wird strukturbedingt der letzte

ausgewählt.

Page 38: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

38

5. Implementierung

In diesem Kapitel soll auf einige Feinheiten der Implementierung des Berater-Systems und

der Fahrschul-KI eingegangen werden. Vor allem sollen dabei die Strukturen beschrieben

werden, die zur Implementation genutzt wurden.

5.1. Generelles

Als Programmiersprache wurde durch die benutzte Engine für das Fahrschulprojekt die

Sprache C++ vorgegeben. Die hohe Flexibilität der Sprache bildet zudem eine gute

Ausgangsbasis für eine günstige und möglichst allgemeine Implementation des Systems.

Entwickelt wurde mit dem Microsoft Visual Studio 2005, alle benutzten Hilfsklassen (z.B.

Listen und Arrays) wurden selbst entwickelt.

Neben den Strukturen für das Berater-System und die Fahrschul-KI umfasst das Projekt auch

ein Werkzeug zur Visualisierung der Berater-Stimmen.

Die Implementierungen sind vollständig in Eigenregie entstanden, weder [Rosenblatt97] noch

[Gems4] lieferten Ansätze hierfür.

5.2. Die Controller-Klasse Neben der Klasse für die Aktionsbasis ist die Controller-Klasse die einzige vollständig

ausprogrammierte Klasse innerhalb des Berater-Systems, welche unabhängig von einem

konkreten Projekt ist. Der Controller enthält die für das Arbeiten des Systems notwendigen

Interfaces (also die Manager, die Speicher, die Charakterbeschreibung sowie eine Liste der

verfügbaren Berater). Mit Hilfe von Set- und Get-Methoden können diese Attribute bei der

Initialisierung gesetzt und später wieder abgerufen werden. Zusätzlich enthält der Controller

eine Liste, in der die zuletzt gebildeten Befehle hinterlegt werden.

Um den Controller zu aktivieren, das heißt ihn die Berater nach ihren Stimmen abfragen zu

lassen, wird die Methode Activate zur Verfügung gestellt. Einziger Parameter dieser

Funktion ist die Anzahl der Millisekunden, die seit dem letzten Aufruf vergangen sind.

Da der Controller für ein fehlerfreies Arbeiten allerdings nicht in jedem Takt die

Befehlsbildung durchführen muss, wurde ein Timer eingefügt. Erst wenn der Timer

abgelaufen ist, werden die Berater erneut befragt. Bei zwischenzeitlichen Aufrufen der

Activate-Methode werden die zuletzt gebildeten Befehle einfach wiederholt.

Page 39: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

39

5.3. Das Berater-Interface

Das Berater-Interface erfordert bei der Implementation als Berater zwei Methoden:

QueryAdvisor fragt den Berater zu der übergebenen Aktion ab und erwartet eine

Liste von Stimmen als Rückgabewert.

StoreIntentionsToController ist die Aktivierungsmethode für den

beratereigenen Intentionenmanager und ist für das partielle Befüllen des

Intentionenspeichers verantwortlich.

5.4. Strukturen

Im Folgenden wird die Implementation der in der Fahrschule eingesetzten Strukturen näher

beschrieben.

5.4.1. Aktionsbasis

Die Aktionsbasis besteht aus einer Liste von Aktionen, welche bei der Initialisierung des

Controllers durch den Programmierer durch den mehrfachen Aufruf von AddAction befüllt

werden muss. Eine einzelne Aktion besteht aus einem Identifier, dem Werteintervall und der

Schrittweite sowie einer Angabe, ob das Intervall der Aktion als diskret oder analog

interpretiert werden soll. Bei einer analogen Aktion wird die Befehlsbildung nach dem unter

3.1.4. Analoge Befehlsbildung aus diskreten Abstimmungen beschriebenen Verfahren

durchgeführt. Als diskret sollten all jene Aktionen markiert werden, die nur eine bestimmte

Anzahl von Werten zulassen (z.B. die Aktion „Blinken“ der Fahrzeuge mit den Werten -1, 0

und 1). Analoge Aktionen sind in der Regel Steueraktionen mit kontinuierlichem

Wertebereich.

5.4.2. Die Speicher

Das Interface für die einzelnen Speicher verlangt lediglich nach den Methoden Reset und

Release zum Rücksetzen beziehungsweise Freigeben der Speicher sowie nach der Methode

GetWorldstate/GetIntention/GetGoal zum Erhalten spezifischer Werte

unabhängig von der eigentlichen Implementation.

Zusammen mit dem Berater-System wurde für jeden Speicher eine projektunabhängige

Implementation angefertigt, welche die Werte intern in einer Liste verwaltet.

Für die Fahrschule dagegen wurden spezielle Speicher implementiert, welche die benötigten

Werte fest als Attribute einprogrammiert haben. Der Zugriff erfolgt damit unmittelbar und

nicht über den Umweg über eine Suche in der Liste.

Page 40: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

40

5.4.3. Charakterbeschreibung

Das Interface für die Charakterbeschreibung ist ähnlich dem der Speicher aufgebaut, es fehlt

lediglich die Reset-Methode, da der Charakter nicht in regelmäßigen Abständen

zurückgesetzt werden muss.

Auch für die Charakterbeschreibung wurde mit dem ursprünglichen Berater-System eine

Implementation als Liste beigefügt, für die Fahrschule wurde allerdings wieder die

Ausprogrammierung als Set von Attributen gewählt.

5.5. Der Zustandsmanager

Der Zustandsmanager hat von allen Managern die komplexesten und zeitintensivsten

Aufgaben. Stellvertretend soll hier die Auswertung der eigenen Fahrzeugposition in Hinblick

auf die anderen Verkehrsteilnehmer erläutert werden, da diese Berechnung bei weitem am

längsten dauert.

Die Positionsbestimmung gegnerischer Verkehrsteilnehmer wird im Vorfeld durch einfache

Distanzberechnung der Objekt-Mittelpunkt „Eigenes Fahrzeug – Gegnerfahrzeug“

durchgeführt. Im Anschluss erfolgt die detaillierte Positionsauswertung über einen Bounding-

Box-Kollisions-Test. Von Interesse sind dabei vor allem Verkehrsteilnehmer, deren

Entfernung zum KI-Objekt geringer als der minimale Bremsweg desselben ist (der minimale

Bremsweg ist auch abhängig vom Charakter – vorausschauende Fahrer bremsen eher). Die

beiden auf Kollision zu testenden Bounding-Boxen sind zum einen die umgebende Box des

gegnerischen Fahrzeuges, zum anderen der durch die seitlichen Fahrzeugabmessungen, die

aktuelle Ausrichtung und den Bremsweg definierte Bereich vor dem eigenen Fahrzeug. Um

vorausschauendes Fahren zu simulieren, wird zusätzlich noch der Bereich auf Kollision

getestet, der durch den Einschlagwinkel der Räder vorgegeben wird und somit das Ziel des

KI-Objektes in nächster Zukunft verdeutlicht.

Zur Verdeutlichung des Sachverhaltes zwei Abbildungen. Die schraffierten Flächen

kennzeichnen dabei die Bounding-Boxen.

Abbildung 10: Bounding-Box-Test in Richtung der Fahrzeugfront

und des Rad-Einschlages (blau) mit festgestellter Kollision (rot)

Page 41: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

41

Alle Objekte in unmittelbarer Umgebung des eigenen Fahrzeuges werden dabei im

Zustandsspeicher in einer Liste hinterlegt, bei gefundener Kollision zwischen den Bounding-

Boxen wird noch ein zusätzlicher Vermerk angelegt.

5.6. Die Berater

Die Berater bilden das Herzstück für das Funktionieren der KI und ihre Implementation

entscheidet über Güte und auch Geschwindigkeit des Systems. Eine ineffiziente

Programmierung kann das ganze Programm unbrauchbar oder durch zu hohe Hardware-

Anforderungen uninteressant machen. Zudem muss gerade bei einer Fahrschule Wert darauf

gelegt werden, dass sich die computergesteuerten Verkehrsteilnehmer realistisch und vor

allem entsprechend der Straßenverkehrsordnung verhalten.

Bei der Implementierung der Berater wurde vor allem Wert darauf gelegt, keinen einfachen

Entscheidungsbaum zu Grunde zu legen, da ein solcher wieder zu relativ starrem Verhalten

bei der Entscheidungsfindung führen würde. Vielmehr sollen die optimalen Werte für die

gebildeten Signale durch Benutzung von Formeln errechnet werden.

Nachfolgend soll kurz dargestellt werden, auf welche Art die Berater ihre Entscheidungen

„berechnen“. Da lediglich die Steuer- und Beschleunigungs-Aktionen analoge Signale

benötigen, wird auch nur auf diese beiden Aktionen eingegangen.

5.6.1. Sicherheitsberater

Der Sicherheitsberater ist für den nötigen Abstand zu anderen Verkehrsteilnehmern sowie für

eventuelle Ausweich-Reaktionen verantwortlich und muss daher alle dynamischen Objekte in

der näheren Umgebung einer genaueren Prüfung unterziehen.

Die Positionen gegnerischer Fahrzeuge und Fußgänger sowie mögliche Kollisionen wurden

bereits durch den Zustandsmanager errechnet, im Sicherheitsberater erfolgt nun die

Auswertung dieser Daten. Bei einer gefundenen drohenden Kollision übernimmt der Sicherheitsberater die

Geschwindigkeit des betroffenen Objektes, sofern sie geringer ist als die eigene. Sollte die

Distanz zum gegnerischen Fahrzeug zu gering sein, um noch abbremsen zu können, wird

zudem ein möglicher Ausweichkurs bestimmt, um der Kollision zu entgehen.

5.6.2. Pfadhaltungsberater

Der Pfadhaltungsberater führt die mathematisch einfachsten Berechnungen zur Bestimmung

seiner Signale durch. Da er nur für Steuer-Aktionen zuständig ist, wird die Beschleunigungs-

Aktion ignoriert. Für die Bestimmung des idealen Lenkeinschlages wird der aktuelle Winkel

zur Straße aus dem Zustandsspeicher herangezogen. Abhängig vom bereits bestehenden

Einschlag der Räder und der momentanen Fahrsituation (Geradeausfahren auf einer Straße

Page 42: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

42

oder Abbiegen auf einer Kreuzung) wird über einfache Multiplikation mit einem

Korrekturfaktor der beste Einschlagwinkel berechnet. Der Korrekturfaktor ermöglicht dabei

ein annähernd naturgetreues Fahren einer Kurve.

Um ein periodisches Schwanken des Lenkeinschlages um den optimalen Wert zu verhindern,

wird zum einen keine absolut exakte Anpassung an den besten Winkel verlangt und zum

anderen der berechnete Einschlagwinkel mit einem Dämpfungsfaktor multipliziert, der umso

größer ist, je näher die aktuelle Fahrzeugausrichtung an die optimale heranreicht.

5.6.3. StVO-Berater

Bei dem StVO-Berater konnte, trotz aller Vorgaben, ein Entscheidungsbaum hinter der

Implementierung nicht ganz verhindert werden. Grund dafür ist, dass der Berater vor allem

für das Einhalten der Vorfahrtsregelung verantwortlich ist, welche sich lediglich über das

Abarbeiten mehrerer Fallunterscheidungen realisieren lässt.

Zur Entscheidungsfindung wird die Liste aller in der Nähe befindlichen Verkehrsteilnehmer

durchlaufen, und für jedes Fahrzeug dessen Position und Ziel relativ zum eigenen Fahrzeug

bestimmt. Anschließend kann über einen Vergleich der Straßenprioritäten (Vorfahrtsstraßen

haben höhere Priorität) entschieden werden, ob das eigene Fahrzeug warten muss oder fahren

darf.

Eine Besonderheit stellt die Handhabung von gleichrangigen Kreuzungen dar. An solchen

Straßenverbindungen kann es vorkommen, dass aus jeder Richtung ein Fahrzeug kommt und

somit im Grunde keines von ihnen Vorrang hat. Theoretisch wäre diese Situation durch die KI

leicht zu handhaben, da einfach der zuerst Angekommene fahren könnte – lediglich die

Erkennung einer solchen Situation stellt die Schwierigkeit dar, da es keine Struktur im

Programm gibt, welche die Kreuzungen an sich überwacht. Damit der Verkehr bei so einer

Konstellation nicht zum Erliegen kommt, wurde folgendes System implementiert:

Jede Kreuzung verfügt über ein Signalflag. Kommt ein Fahrzeug an einer Kreuzung mit

aktiviertem Flag an (was bedeutet, dass es das erste Fahrzeug an dieser Kreuzung ist), so

deaktiviert es das Kreuzungssignal und speichert es intern selber ab. Wird durch den StVO-

Berater nun ein gegnerischer Verkehrsteilnehmer mit Vorfahrt bestimmt, wird an diesen das

Signal weitergesendet. Das Weitersenden des Signals erfolgt nun so lange, bis entweder ein

Fahrzeug nicht durch ein anderes, von rechts kommendes blockiert wird (und somit fahren

darf) oder das Signal wieder am Ursprung ankommt. In diesem Fall weiß der StVO-Berater,

dass die Kreuzung blockiert ist und das eigene KI-Objekt als erstes ankam und somit fahren

darf.

5.6.4. Wegfindungsberater

Die Berechnungs-Routinen des Wegfindungsberaters sind ähnlich denen des

Pfadhaltungsberaters recht einfach gehalten. Zum Spurwechsel wird einfach der Winkel zur

nächsten Straße verwendet, multipliziert mit einem Korrekturfaktor um übermäßiges Steuern

zu verhindern.

Page 43: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

43

Die Einhaltung der Straßengrenzen erfordert dagegen etwas mehr Logik (was aber nicht

unbedingt eine komplexere Rechnung bedeutet). Es darf nur dann zur Straßenmitte hin

gelenkt werden, wenn das Fahrzeug nicht ohnehin schon auf diesem Kurs ist oder das

Lenkrad nicht bereits Richtung Mitte eingeschlagen wurde.

Das Abbremsen oder Beschleunigen zum Zweck des Spurwechsels hingegen folgt einfachen

Entscheidungen: ist das Ende der Straße weit genug entfernt und die erlaubte

Höchstgeschwindigkeit noch nicht ausgereizt, dann wird beschleunigt. Ansonsten wird

gebremst, um einen Spurwechsel durchführen zu können.

5.6.5. Zielverfolgungsberater

Auch der Zielverfolgungs-Berater zeichnet sich durch Einfachheit aus. Ist die maximal

erlaubte Geschwindigkeit noch nicht erreicht, so wird beschleunigt. Die Stärke der

Beschleunigung hängt dabei vom Charakter des KI-Objektes ab. Auch zum Überholen

beschleunigt der Berater, mitunter sogar über die Höchstgeschwindigkeit hinaus. In allen

anderen Fällen behält der Berater die aktuelle Geschwindigkeit bei.

Die Berechnung des nötigen Einschlagwinkels zum Überholen erfolgt über die Auswertung

der Fahrzeuge vor dem KI-Objekt. Ist ein Ausweichen nötig, so wird ein entsprechender

Lenkeinschlag nach rechts oder links angegeben, ansonsten wird das Fahrzeug möglichst

gerade an der Straße ausgerichtet. Ist der Überholvorgang abgeschlossen, wird zurück in die

Spur gelenkt, die genaue Ausrichtung an der Straße übernimmt dann der Pfadhaltungsberater.

5.7. KI-Visualisierung Um die Entscheidungsfindung der KI nachvollziehen und eventuelle Fehler entdecken zu

können, wurde parallel zum eigentlichen Berater-System ein Programm entwickelt, welches

die Berater-Signale anzeigen kann. Das Programm ist unabhängig von einer konkreten

Implementierung des Berater-Systems und kann aus dem eigentlichen KI-Projekt gestartet

und aktualisiert werden. Zu Programmstart muss dem Visualisierer mitgeteilt werden, welche

Controller, Berater und Aktionen es gibt. Im Verlauf der KI-Simulation werden die einzelnen

Stimmen zu den möglichen Befehlen an den Visualisierer gesendet, welcher aus ihnen ein

Diagramm erstellt und dieses anzeigt.

Einige Bilder des Programms am Beispiel der Fahrschule (die schwarze Linie symbolisiert

das durch das Maxsum-Kriterium definierte Signal, der dickere senkrechte Strich markiert das

Optimum des Signals, nachdem die quadratische Interpolation durchgeführt wurde):

Page 44: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

44

Page 45: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

45

Page 46: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

46

6. Zusammenfassung/Ausblick

6.1. Zusammenfassung Hauptthema dieser Arbeit war die Diskussion eines auf Beratern basierenden KI-Systems im

Vergleich mit anderen Systemen sowie die Erörterung einer Implementation für eine

Fahrschul-Software. Es wurde dabei auf verschiedene Arten von Berater-Systemen

eingegangen und einige Punkte erläutert, die bei der Ausprogrammierung der Berater

beachtet werden müssen. Als letztes wurden noch einige konkrete Implementationen von

Beratern für die Fahrschule näher vorgestellt.

Es ließ sich dabei feststellen, dass Berater-Systeme gegenüber herkömmlichen Systemen vor

allem den Vorteil haben, dass sie durch ihren modularen Aufbau extrem flexibel sind sowie

gleichzeitig mehrere Ziele verfolgen können. Vor allem der letzte Punkt machte sie für den

Einsatz in der Fahrschule interessant, da das Verhalten im Straßenverkehr ständigen

Änderungen und Anpassungen an unterschiedlichste Ziele unterworfen ist.

6.2. Ausblick

Eine Eigenschaft von Berater-Systemen macht sie für den zukünftigen Einsatz in Soft- und

Hardware-Lösungen besonders interessant: ihre Möglichkeit, parallel zu arbeiten. Da die

Bewertung der aktuellen Situation durch alle Berater unabhängig voneinander erfolgt, kann

durch den Einsatz mehrerer Recheneinheiten ein immenser Geschwindigkeitszuwachs bei der

Entscheidungsfindung erreicht werden.

Auch die starke Modularität sowie die implizite Verfolgung mehrerer Ziele zur gleichen Zeit

sind große Vorteile von Berater-Systemen.

Page 47: Bachelorarbeit - FernUniversität in Hagen: Fernstudium · PDF fileArtificial Intelligence is the study of how to make computers do things at which, at the moment, people are better

47

7. Quellenverzeichnis

Beierle06 Beierle, Christoph und Kern-Isberner, Gabriele

„Methoden wissensbasierter Systeme“

Vieweg & Sohn Verlagsgesellschaft, 3. Auflage, 2006

Gems4 Hancock, John

„Eine Abstimmungsarchitektur für verteiltes Schließen“ in

Spieleprogrammierung Gems 4 (Seiten 367 – 377)

Carl Hasser Verlag München Wien, 2004, deutsche Ausgabe

Huss07 Huss, Sorin (Prof. Dr.-Ing.), TU Darmstadt

Folien zur Vorlesung „Technische Grundlagen der Informatik I“

http://www.vlsi.informatik.tu-

darmstadt.de/student_area/tgdi/folien/tgdi1-WS0506-Kap7x6.pdf

Stand: 1.8.2007

Luger01 Luger, George F.

„Künstliche Intelligenz – Strategien zur Lösung komplexer Probleme“

Pearson Education Limited, 2002

Patterson97 Patterson, Dan

Künstliche neuronale Netze : das Lehrbuch

Prentice Hall Verlag GmbH, 1997, deutsche Ausgabe

Rich86 Rich, Elaine

“Artificial intelligence”

McGraw-Hill Verlag New York, 1983

Rosenblatt97 Rosenblatt, Julio K.

„DAMN – a distributed architecture for mobile navigation“

Journal of Experimental & Theoretical Artificial Intelligence

(Vol. 9, Numbers 2-3/April 1, 1997, Seiten 339 – 360)

Wiki06 Wikipedia (Stand: Dezember 2006), www.wikipedia.de

Winston92 Winston, Patrick Henry

“Artificial intelligence”

Addison-Wesley Verlag Reading, 1992

Winston93 Winston, Patrick Henry

“Artificial intelligence”

Addison-Wesley Verlag Reading, 1993