|
Fachhochschule Wiesbaden
Fachbereich Informatik
|
|
KI
Sven Eric Panitz
|
Startseite Inhaltsverzeichnis weiter
Kapitel
1 Einführung
\newcommand{\li}{\cntext{立}}
\newcommand{\chun}{\cntext{春}}
\newcommand{\yu}{\cntext{雨}}
\newcommand{\shui}{\cntext{水}}
\newcommand{\jing}{\cntext{惊}}
\newcommand{\zhe}{\cntext{蛰}}
\newcommand{\fen}{\cntext{分}}
\newcommand{\qing}{\cntext{清}}
\newcommand{\ming}{\cntext{明}}
\newcommand{\gu}{\cntext{谷}}
Hallo. Guten Tag.
Hallo!
Haben Sie einen Namen?
Wenn Sie mir einen geben.
Dann werde ich Sie jetzt Bert nennen. Mein Name ist Bengt.
Okay.
Bert, wie geht es Erni?
Warum wollen Sie das wissen?
Macht es Ihnen etwas aus, daß ich das wissen will?
Es erscheint mir recht irrelevant.
Warum erscheint es Ihnen irrelevant?
Ich wollte hier über keinen Erni sprechen, sondern etwas über künstliche
Intelligenz lernen.
Sind Sie extra hergekommen, um hier etwas über künstliche Intelligenz zu lernen?
Ja.
Wollen Sie mehr darüber sprechen?
Das Fach interessiert mich. Von Haus aus bin ich eigentlich
Germanist.
Belastet es Sie, das Sie Germanist sind?
Nein, wieso sollte es.
Sie glauben nicht, daß es sollte?
Nein
Sind Sie sicher?
Ich glaube, man kann nie wirklich sicher sein.
Wieso glauben Sie, man kann nie wirklich sicher sein
Nun, ist das nicht eine alte Regel?
Was bedeuten Regeln für Sie?
Regeln können sehr hilfreich sein, sich zu orientieren.
Gut, damit Sie sich in dieser Veranstaltung über künstliche Intelligenz
besser orientieren können, gebe ich Ihnen eine kleine Regel mit.
Überreicht ein Regelblatt mit dem Algorithmus aus Abbildung~.
Betrachten Sie die Zeichen einer Aufgabe, die in einer Zeile stehen.
Vor manchen Zeichen steht das Symbol $\neg$.
Suchen
Sie zwei Zeilen, die ein chinesisches Zeichen $x$ gemeinsam haben, so daß in einer Zeile vor diesem
Zeichen das Symbol $\neg$ steht und in der anderen Zeile nicht.
Schreiben Sie dann eine neue
Zeile, in der Sie alle Zeichen aus den zwei gewählten Zeilen kopieren, nur das
gemeinsame Zeichen $x$ bzw.~$\neg x$ ist nicht zu kopieren.
Taucht ein weiteres Zeichen in der resultierende Zeile einmal mit
vorangestellten Symbol $\neg$ und einmal ohne auf, so kann dieses Zeichen
inklusiven dem davorstehenden Symbol $\neg$ gelöscht werden. Tritt ansonsten
ein Zeichen doppelt auf, so kann das doppelte Auftreten gelöscht werden.
Fahren Sie so lange rekursiv mit den Zeilen fort, bis Sie eine leere Zeile
erzeugt haben. Markieren Sie diese mit dem Symbol $\Box$.
In der Aufgabe sind sieben Zeilen gegeben:\\
\begin{equation}\mbox{\li \chun \yu}\label{e1}\end{equation}
\begin{equation}\neg\mbox{\li} \neg\mbox{\chun}\label{e2}\end{equation}
\begin{equation}\neg\mbox{\li} \neg\mbox{\yu}\label{e3}\end{equation}
\begin{equation}\neg\mbox{\chun} \neg\mbox{\yu}\label{e4}\end{equation}
\begin{equation}\mbox{\chun} \neg\mbox{\li}\label{e5}\end{equation}
\begin{equation}\mbox{\li} \neg\mbox{\yu}\label{e6}\end{equation}
\begin{equation}\neg\mbox{\chun}\label{e7}\end{equation}
Es lassen sich die folgenden Zeilen mit den Regeln ableiten:\\
\begin{equation}\neg\mbox{\li}\qquad,\mbox{aus \ref{e2} mit \ref{e5}}\label{e8}\end{equation}
\begin{equation}\neg\mbox{\yu}\qquad,\mbox{aus \ref{e3} mit \ref{e6}}\label{e9}\end{equation}
\begin{equation}\mbox{\chun \yu}\qquad,\mbox{aus \ref{e1} mit \ref{e8}}\label{e10}\end{equation}
\begin{equation}\mbox{\chun}\qquad,\mbox{aus \ref{e9} mit \ref{e10}}\label{e11}\end{equation}
\begin{equation}\Box\qquad,\mbox{aus \ref{e7} mit \ref{e11}}\end{equation}
~\\
Die KI ist ein weites Feld, das in viele Spezialdisziplinen zerfällt und
dessen Ränder unscharf definiert sind. Es gibt umfangreiche Literatur zu den
unterschiedlichen Spizialdisziplinen, die zur KI gehören. Als ein recht
umfassendes Lehrbuch über das Gesamtgebiet hat
sich Artificial Intelligence: A Modern Approach von
Russel und Norvig erwiesen.
Ihm wird die Vorlesung
weitgehendst folgen und viele Beispiele sind dem Buch entnommen.
Ein sehr hilfreiches und umfassendes gut zu lesende Skript ist das Skript von
Manfred Schmidt-Schauß an der Universität Frankfurt.
Ein etwas älteres einflußreiches Lehrbuch stammt von Winston.
Ein reich bebildertes mehr populärwissenschaftliches recht kurzweiliges Werk
stammt
von Raymond Kurzweil.
Mit einigen philosophischen Fragen und Gedankenexperimenten beschäftigt
sich ein recht unterhaltsames Buch von Poundstone.
In diesem Skript befinden sich mehrere Programme, in denen einige einfache
Algorithmen der KI umgesetzt sind. Die Programme sind in der
Programmierspache
Scala
geschrieben. Scala erzeugt als Zielcode Java
Byte Code. Um Scalaprogramme auszuführen bedarf es also der
Javalaufzeitumgebung. Zusätzlich wird die Standardbibliothek von Scala in Form
einer Jar-Datei benötigt.
Die Wahl auf Scala fiel, um zum einen geistig ein wenig rege zu bleiben, zum
anderen, weil sich in Scala die Programme wesentlich kürzer formulieren lassen
als in Java und dadurch die Programme sich mehr auf die wesentliche
algorithmische Idee konzentrieren.
1.1 Was ist Künstliche Intelligenz
1.1.1 Rationale Agenten
Das Ziel der KI ist es einen rational und autonom agierenden Agenten zu
entwickeln. Unter einen solchen Agenten wird eine autonome Einheit verstanden,
die Rezeptoren für ihre Umwelt hat und mit Aktionen auf die Umwelt reagieren
kann. Das Verhalten des Agenten soll dabei weitestgehendst rational und
zielgerichtet sein.
Als Perzept wird eine
einzelne Eingabe an den Agenten bezeichnet. Als Perzeptfolge wird die
Gesamtheit aller nacheinander für einen Agenten eintreffenden Perzepte
bezeichnet. Die Reaktion (Antwort) eines Agenten auf alle möglichen
Perzeptfolgen kann als mathematische Funktion beschrieben werden, in der jede
Folge von Ereignissen, die der Agent wahrnimmt, zu genau einer Ausgabereaktion
führt.
Das Programm des Agenten ist eine Implementierung dieser Funktion. Eine simple
Implementierung könnte versuchen, in Form einer Tabelle zu arbeiten: für jede
Perzeptfolge gäbe es dann einen Tabelleneintrag, in dem die Antwort des
Agenten auf diese Folge gespeichert ist.
Schwieriger zu definieren ist, wann ein Agent rational ist. Hierzu Bedarf es
zunächst einer möglichsten objektiven Leistungsbewertung des Agenten. Diese
Leistungsbewertung kann nur von dem Entwickler oder dem Kunden eines Agenten
entworfen werden. Sie sollte möglichst an dem Ergebnis, das der Agent erzielen
soll, gemessen werden. Handelt es sich um eine Agenten, der ein automatischer
Staubsauger ist, sollte in die Leistungsbewertung sicherlich einfließen, daß
der zu säuberen Raum auch jeweils keinen Staub mehr enthält (und ansonsten
durch Einfluß des Agenten kein zusätzlicher Schaden entstanden ist).
Die Rationalität des Verhaltens eines Agenten hängt insgesamt von vier
Faktoren ab:
- der Leistungsbewertung, die das Kriterium des Erfolgs mißt.
- das fest eingebaute Wissen eines Agenten über seine Umwelt.
- die Aktionen, die ein Agent ausführen kann.
- die bisher gemachten Erfahrungen des Agenten in Form der Perzeptfolge.
Aus diesen vier Faktoren läßt sich folgende Definition für die Rationalität
eines Agenten bilden:Für jede mögliche Perzeptfolge, selektiert ein rationaler Agent eine
Aktion, von der auszugehen ist, daß sie die Funktion zur Leistungsbewertung
maximiert unter Berücksichtigung der bisher erfahrenen Perzeptfolge und dem
vorhandenen eingebauten Wissen über die Umwelt.
Das Problemfeld
Mit der bisherigen Definition eines Agenten haben wir uns sehr allgemein
gehalten. Das Problemfeld, in dem ein Agent agiert kann sehr unterschiedlich
aussehen: ein automatischer Staubsauger ist eventuell mit der Hauskatze
konfrontiert, und auch die Vorstellung von sauber mag recht unterschiedlich
sein, ein Agent, der hingegen mathematische Formeln beweist, hat mit weniger
unklaren Tücken zu kämpfen und es trotzdem nicht leichter. Man kann versuchen
das Problemfeld eines Agenten nach ein paar unterschiedlichen Kriterien zu
erfassen:
ganz oder partiell erfassbar
Ein Problemfeld ist ganz erfassbar, wenn der Agent zu jeder Zeit den genauen
Zustand seiner Umwelt kennt. Ein Agent, der Rubic's Cube lösen soll,
kann den aktuellen Zustand des Würfels in der Regel erfassen, ein Agent der
die Wohnung staubsaugen soll, kann in der Regel nicht durch die Wände ins
Nebenzimmer schauen, ob dort eventuell auch noch Schmutz zu finden ist.
deterministisch oder stochastisch
In einen deterministischen Problemfeld kann der Agent immer genau voraussagen,
wie die Umwelt nach einer bestimmten Aktion aussieht. Das ist z.B. bei einem
Agenten der Rubic's Cube löst der Fall. Wenn er eine Ebene des
Würfels dreht, weiß er, wie der Würfel anschließend aussieht, hingegen der
Staubsaugerautomat kann nicht unbedingt davon ausgehen. Manchmal verteilt die
Hauskatze gerade wieder neuen Schmutz, oder aber die Saugleistung war nicht
stark genug um den Dreck wirklich aufzusaugen.
episodisch oder sequentiell
In episodischen Problemfeldern interessieren im großen und ganzen die zu
früheren Zeitpunkten gemachten Aktionen nicht. Jede Entscheidung wird
unabhängig von den vorangegangen Entscheidungen getroffen. Ein Agent der
schadhafte Teile auf einem Fließband erkennt ist in diesem Sinne
episodisch. Der Staubsaugerautomat ist hingegen sequentiell. Hat er direkt
zuvor ein bestimmtes Areal aufgesaugt, sollte er jetzt besser ein anderes
Areal saugen.
statisch oder dynamisch
Statische Problemfelder ändern sich nicht von sich aus. Kreuzworträtzel oder
eben Rubic's Cube sind statisch. Dynamische Problemfelder können sich
mit der Zeit verändern. Es fällt einfach immer wieder neuer Staub an, der von
Zeit zu Zeit wieder aufzusaugen ist.
diskret oder oder stetig
Dikret oder stetig in Bezug auf die Zeit können Problemfelder unterschieden
werden. Ein Agent, der aus eingehenden Emails Spammail aussortiert, hat es mit
diskreten Ereignissen über die Zeit zu tun, der Staubsaugerautomat mit stetigen.
ein oder mehrere Agenten
Befinden sich in einem Problemfeld mehrere oder nur ein Agent. Und verhalten
sich die anderen Agenten kooperativ oder in Konkurrenz? Ein zweiter
Staubsaugerautomat verfolgt dasselbe Ziel, und obliegt der gleichen
Leistungsbewertung. Es ist nicht zu erwarten, daß er die Arbeit des Agenten
sabotiert, hingegen ein Gegner beim Schachspiel verfolgt das entgegengesetzte
Ziel, nämlich die andere Farbe gewinnen zu lassen.
Die wirklich harten Problemfelder sind demnach partiell erfassbar,
stochastisch, sequentiell, dynamisch, stetig und haben mehrere konkurrierende
Agenten.
1.1.2 Künstliche und natürliche Intelligenz
Bevor wir im nächsten Kapitel uns den ersten Problemfeldern widmen und Agenten
für diese Problemfelder implementieren wollen wir uns zunächst noch ein Paar
Gedanken darüber machen, was Intelligenz denn eigentlich ausmacht und ob ein
sehr guter rationaler Agent mit der menschlichen Intelligenz mithalten könnte.
Turing Test
Einer der ersten, die sich Gedanken darüber machte, ob eine Maschine
intelligent agieren kann und wie sich das messen lassen könnte, war Alan Turing.
Er entwarf ein Szenario, das an heute übliche Chaträume im Internet
erinnert. In diesem Szenario kommunizieren zwei Agenten über eine Leitung nur
durch Texteingabe. Sie wissen sonst nichts weiter voneinander. Dieses ist das
gängige Szenario, das heute täglich millionenfach im Internet praktiziert
wird. Turing stellte zunächst die Frage, die sich wahrscheinlich auch heute
millionenfach Chatter fragen: Wer ist da am
anderenAlan Mathison Turing ($\ast$23. Juni 1912 in London; $\dagger$7. Juni
1954 in Wilmslow) war ein britischer Logiker, Mathematiker und
Kryptoanalytiker und einer der Urväter des Computers.
Turing gilt heute als einer der einflussreichsten Theoretiker der frühen
Computerentwicklung und Informatik. Die von ihm entwickelte Turingmaschine ist
die Grundlage der theoretischen Informatik. Während des Zweiten Weltkrieges
war er maßgeblich an der Entschlüsselung der mit der Enigma verschlüsselten
deutschen Funksprüche beteiligt. Der Großteil seiner Arbeiten blieb nach
Kriegsende jedoch unter Verschluss.
Turing entwickelte 1953 eines der ersten Schachprogramme, dessen Berechnungen
er mangels Hardware selbst durchführte. Nach ihm benannt ist der Turing-Preis,
die bedeutendste Auszeichnung in der Informatik, sowie der Turing-Test zum
Nachweis künstlicher Intelligenz.\ Ende
der Leitung? Ist es ein Mann oder eine Frau? Kann ich das im Laufe des
Gesprächs sicher entscheiden? Einen Schritt weiter ist die Frage: könnte mein
Gesprächspartner eventuell eine Maschine sein und kein Mensch. Und was ist,
wenn ich das im Gespräch nicht unterscheiden kann. Dann verhält sich mein
Gespächspartner nicht unterscheidbar von einem Menschen. Dann kann ich ihm
kaum absprechen in einer gewissen Form intelligent zu sein.
Der Text im folgenen Abschnitt ist von dem Autor Bert Bresgen. Der Text darf
freundlicher Weise in diesem Skript verwendet werden, und beleuchtet ein
wenig den tragischen Menschen hinter dem Wissenschaftler Turing.
Bert Bresgen: Der Spezialist für einsame Zahlen
Es gibt ein Lied von Aimee Man, das mit der Textzeile beginnt: One
is the loneliest number that you ever do.
Im folgenden geht es um einen Spezialisten für einsame Zahlen.
Alan Turing, der 24 jährige Sohn eines Kolonialbeamten, schreibt 1935 einen
Aufsatz: On Computable Numbers with an Application to the
Entscheidungsproblem in den Proceedings of the London mathematical
society. Das Entscheidungsproblem, von dem da die Rede ist, betrifft die
Frage, wie man mit einem endlichen Aufwand herauskriegen kann, ob ein Satz
aus einem formalen System abgeleitet werden kann oder nicht. Als Hilfsmittel
entwickelte Turing in einem Absatz das Konzept einer Universalmaschine. Sie
hat ein unendlich langes Lochband, unterteilt in diskrete Abschnitte, auf
denen jeweils nur ein Zeichen eines Alphabets inclusive Leerzeichen
eingetragen sein kann. Ein leerer Abschnitt gilt mit dem Leerzeichen als
beschrieben. Ohne uns in die Feinheiten der sogenannten TuringMaschine
hineinzubegeben, lässt sich sagen: Turing baute in seinem Geist einen
Computer, den ersten im modernen Sinn. One ist mittlerweile wirklich die einsamste aller Zahlen
geworden. Sie hat in ihrem Ruhm alle übrigen Zahlen, die berechenbaren, und
nichtberechenbaren, die rationalen und irrationalen, die mystischen Zahlen der
Kabbala und die alten Glücks- und Unglückszahlen, hinter sich gelassen. Keine
Zahl lässt sich mehr neben der Eins blicken, nur das Leerzeichen, die Null
steht ihr und uns allen bei. Aber wer möchte schon mit einem Leerzeichen auf
der Strasse gesehen werden? Das populäre Misstrauen gegenüber der Null ist
nach wie vor groß. Mancher sagt: das sind die Gene unserer Vorfahren, die
Roulette gespielt haben. Und obwohl eine Telefonsexanbieter im Fernsehen bis
vor kurzem mit dem Slogan. ``0190 vierundzwanzig Stunden voll in Null!''
versucht hat, Vorurteile abzubauen, ist dies bislang nicht voll gelungen.
Alan Turing, der erste Theoretiker von Eins und Null, blieb nicht bei der
reinen Theorie, sondern trat im 2. Weltkrieg ein in den englischen
Codeknackerpool von Bletchley Park. Der englische Geheimdienst und die Welt
verdanken ihm und einem Haufen weltfremder Oxford- und Cambridgedozenten,
Mathematiker, Linguisten, Philologen, sowie dem kompletten Team der englischen
Schach-Nationalmannschaft im etc. das Knacken des legendären
Verschlüsselungscodes der Deutschen: Enigma. In den 40er Jahren decodierte
Turing mit Hilfe des von ihm entwickelten Röhrencomputers Colossus die
Verschlüsselung der Kriegsmarine und machte die gefürchteten deutschen U-Boote
so gut wie wirkungslos. Der Krieg wurde durch die Arbeit der
Entschlüsselungs-Experten um geschätzte 2 Jahre verkürzt. Es heißt, das
Churchill durch Bletchley Park vom verheerenden Luft-Angriff auf Coventry
informiert worden war, aber keine Warnung an die Stadt herausgab, um bei den
Deutschen nicht den Verdacht aufkommen zu lassen, dass Enigma entschlüsselt
ist. Der angebliche Überraschungsangriff auf Coventry war Blaupause und
Rechtfertigung für die Terrorangriffe der Alliierten auf Dresden, Hamburg,
Köln und andere Städte am Ende des Krieges. Für Alan Turing war dies eine
glückliche Zeit. Er fuhr auf dem Fahrrad mit einer Gasmaske angetan durch den
kleinen englischen Ort, um sich wegen seines Heuschnupfens vor Pollen zu
schützen. Jeden Tag half er Funksprüche zu entschlüsseln, von dem das Leben
Tausender abhing. Er traf in den USA Claude Shannon, einen Begründer der
Signalübertragungslehre, der BITS, der Differenz zwischen Ein und Aus.
1950 stellt er in einem Aufsatz Computing Machinery and Intelligence
die Frage Können Maschinen denken? und schlägt zu ihrer Beantwortung
ein Spiel vor: Ein Spieler versucht per Fernschreiber durch Fragen
herauszufinden, wer von den beiden anderen der Mensch und wer die Maschine
ist. Turing prophezeit, bis zum Ende des Jahrhunderts würden Maschinen in der
Lage sein, den Frager zu täuschen.
Dies ist der sogenannte Turing-Test.
Seit 1991 schreibt ein Amerikanischer Millionär jährlich den nach ihn
benannten Loebner Preis aus. 100.000 Dollar bekommt jenes Programm, das den
Turing Test besteht und den Juroren glaubwürdig vormachen kann, es sei ein
Mensch. Auszahlen musste Loebner die 100.000 Dollar bisher noch nie, auch wenn
die Programme von Jahr zu Jahr besser werden.
Wenn die Juroren z.B. über Liebe reden wollten, versagten die Programme
bisher. Ein Beispiel aus einem Juroren-Gespräch:
Hast Du einen Namen?
Wenn Du mir einen gibst, ja.
Du bist Fred.
Egal.
Fred, wie geht es Wilma?
Warum willst Du das wissen?
Ich liebe Wilma und würde für sie sterben. Wenn Du ihr weh tust, dann
werde ich Dich zur Verantwortung ziehen.
Ich weiß keine Antwort.
Turing selbst war auch keine ideale Turing-Maschine. Er liebte Wilma nicht. Er
wusste im entscheidenden Moment keine Antwort auf die Fragen, die ihm gestellt
wurden. Turing war schwul, was im England der 50er Jahre des 20. Jahrhunderts
nach wie vor als Verbrechen galt. Als er der britischen Polizei einen
Diebstahl meldete, fand die Polizei heraus, dass er mit dem Arbeiter Arnold
Murray zusammen lebte. 1952 wurde er in Manchester vor Gericht
gestellt. Niemand dort wusste von Bletchley Park, denn die Aktivitäten von
Bletchley Park blieben bis Mitte der 70er Jahre streng geheim. Die
Regierungsbehörden, die es besser wussten, unterstützten Turing nicht, sondern
stuften ihn aufgrund des Prozesses als nicht mehr zuverlässigen
Geheimnisträger ein. Turing wurde von dem Gericht vor die Alternative gestellt
wegen erwiesener Homosexualität ins Gefängnis zu gehen oder sich einer
einjährigen Hormonkur mit Östrogen zur Unterdrückung des Sexualtriebes zu
unterziehen. Er wählte die Hormonkur. Ein Jahr später starb er an einem Apfel
, den er mit Zyankali vergiftet hatte, ein Ende, das einem seiner
Lieblingsfilme, Walt Disneys Schneewittchen nachgebildet war.
Aber Turing wurde nicht in einem gläsernen Sarg beigesetzt, kein Prinz
erschien, der ihn wieder hätte aufwecken können.Joseph
Weizenbaum ($\ast$ 8. Januar 1923 in Berlin) ist ein
deutsch-US-amerikanischer Informatiker sowie Computer- und Medienkritiker mit
jüdischer Abstammung. Weizenbaum bezeichnet sich selbst als Dissident und
Ketzer der Computerwissenschaft. Sein Bruder Henry
F. Sherwood war ebenfalls Computerpionier.
Weizenbaums Vater war der Kürschnermeister Jechiel Weizenbaum. 1936 emigrierte
die Familie in die USA. Dort studierte Weizenbaum zunächst Mathematik. Das
Studium an der Wayne-University in Detroit (Michigan, USA) --
unterbrochen während des Krieges durch Dienst in der meteorologischen
Abteilung der Luftwaffe beendete er mit den Abschlüssen BS
(1948) und MS (1950), danach wurde er Mitarbeiter bei einem Computer-Projekt.
Von 1955 bis 1963 arbeitete Joseph Weizenbaum als Systems Engineer im Computer
Development Laboratory der General Electric Corporation und war dort u.a. an
der Konzeption des ersten Computer-Banksystems beteiligt.
1963 begann er seine Tätigkeit am Massachusetts Institute of Technology (MIT),
zunächst als Associate Professor, ab 1970 als Professor für Computer Science.
1966 veröffentliche Weizenbaum das Computer-Programm ELIZA, mit dem er die
Verarbeitung natürlicher Sprache durch einen Computer demonstrieren wollte;
Eliza wurde als Meilenstein der ``künstlichen Intelligenz''
gefeiert und sollte menschliche Psychologen bald ablösen. Weizenbaum war
entsetzt über die Wirkung seines relativ einfachen Programms, das nie zum
Ersetzen eines Therapeuten konzipiert gewesen war, und wurde durch dieses
Schlüsselerlebnis zum Computer- und Medienkritiker. Noch heute gilt Eliza als
Prototyp für moderne Chatbots.
Seit dieser Zeit mahnt Weizenbaum den kritischen Umgang mit Computern und die
Verantwortung des Wissenschaftlers für sein Tun an. Er ist Mitbegründer der
Computer Professionals for Social Responsibility in den USA und des Forums
InformatikerInnen für Frieden und gesellschaftliche Verantwortung (FIfF) in
Deutschland. Weizenbaum ist Vorsitzender des Wissenschaftlichen Rates am
Institute of Electronic Business in Berlin.
2002 verlieh ihm die Gesellschaft für Informatik die Ehrenmitgliedschaft. Er
ist Träger des Großen Bundesverdienstkreuz und hält vier Ehrendoktor
Auszeichnung (Unter anderem von der Uni Hamburg und der Uni Bremen sowohl ein
Doctor of Humane Literature vom Webster College (USA)).
In dem vor 2 Jahren produzierten Hollywood Film Enigma ist aus Turing
ein
ziemlich zupackendes Genie namens Tom Jericho geworden, dessen
Entschlüsselungsarbeit darunter leidet, eine Frau nicht vergessen zu können,
die sich als Agentin der Deutschen entpuppt hat. Am Ende kommt er darüber
hinweg, wendet sich Kate Winslett zu und macht ihr ein Kind.
Seit Sommer 2003 erinnert ein bronzenes Denkmal in Manchester an Alan
Turing. Aufgestellt vom Alan Turing Memorial Fund und unterstützt von der
British society for the history of Mathematics zeigt die Statue Trung auf
einer Bank sitzend in einem kleinen Park zwischen der Universität und dem
schwulen Viertel um die Canal street. Keiner Computerfirma und keine englische
Regierungsstelle unterstützte die Aufstellung der Statue.
Eliza
Joseph Weizenbaum stellte 1966 ein Programm vor, das zumindest den
Anschein erweckte,
als sei es bestens dazu geeignet, den Turing-Test zu bestehen. Er nannte
das Programm Eliza, nach der Figur Eliza Doolittle aus dem
in den 60-er Jahren sehr populären Musical My Fair Lady, welches
wiederum auf das Theaterstück Pygmalion von George Barnhard Shaw
basiert. Die Namensgebung war darin motiviert, daß die Eliza des
Theaterstücks von einem Herrn Higgins lernt, so zu sprechen, wie die feine
Gesellschaft; hauptsächlich dadurch, daß Sie ihm nachspricht.
Das Programm Eliza von Weizenbaum simuliert einen
Psychotherapeuten. Aus der Beobachtung heraus, daß in der Psychoanalyse der
Therapeut lediglich die Aussagen des Patienten benutzt um weiter nachzufragen,
führt das Programm einen Dialog, indem es in den Benutzereingabe versucht
typische Satzfragmente zu erkennen, oder auch nur auf einzelne Wörter zu
reagieren.
Mehr oder weniger auf jedem Linuxrechner ist heute eine Version des Programms
enthalten. Hierzu starte man einmal den Texteditor emacs. Hierin ist
ein Programm doctor enthalten. Es läßt sich starten durch Drücken
der Escape-Taste gefolgt von x und Eingabe des Worts doctor.
Erstaunlicher Weise ist das Programm Eliza in seiner Basisversion so
leicht zu programmieren, daß wir es hier zum Spaß einmal tun können. Die
meisten weniger interessanten Programmteile befinden sich im Anhang.
Das Programm zerteilt den
Eingabestring in eine Liste von Wörtern. In dieser Liste wird nach typischen
Satzanfängen, wie ich fühle mich oder ich glaube,
daß gesucht. Wenn ein solcher typischer Satzanfang gefunden wurde,
so wird in einer Tabelle nach möglichen Antworten für dieses Satzfragment
nachgeschlagen. Für verschiedene Satzanfänge gibt es mehrere alternative
Antwortarten, die in unserem Programm rotiert benutzt werden. Zur Generierung
der Antwort wird der Teil des Satzes, der nach dem Satzanfang folgt
benutzt. Es wird so auf dem Satz Ich fühle mich eine Antwort
der Form Warum fühlen Sie sich erzeugt. Als auf den
Satz Ich fühle mich müde. wird mit Warum fühlen Sie sich
müde geantwortet. Eventuell enthält das Satzfragment Nebensätze. Dann ist
es notwendig für die Antwort ein wenig den Satz zu konjugieren. Auf den
Satz ich fühle mich müde und ich habe keine Lust zu arbeiten wird
dann als Antwort generiert: Warum fühlen Sie sich müde und haben Sie keine
Lust zu arbeiten.
Die Funktionsweise ist also denkbar einfach und es kommt darauf an eine
möglichst große Tabelle von vorgefertigten Satzfragmenten für mögliche
Aussagen zu haben.
Zusätzlich zu den Satzfragmenten, kann auch nur auf einige Substantive in
allgemeiner Weise reagiert werden.
Es folgt unsere kleine Implementierung der Eliza. Sie ist einer
Implementierung von Mark P.~Jones in der Programmiersprache Gofer genommen und
in Scala umgesetzt worden. Wir schreiben eine Klasse Eliza:
Ein paar Hilfsfunktionen, die im Anhang zu finden sind werden importiert, die
Datenbasis mit Satzfragment-Antwortfragment-Paaren wird instanziiert und eine
Variabel vorgesehen, die den letzten Satz des Gesprächspartners speichert.
Eliza.scala |
import Util.{_}
val data=new Data()
var prev = ""
|
Der Eingabesatz wird von Satzzeichen gesäubert, komplett in Großbuchstaben
umgewandelt, und unnötige Leerzeichen an Anfang und Ende werde beseitigt. Wenn
es sich um den gleichen Satz handelt, der zuvor schon gefragt wurde, wird eine
Antwort für wiederholte Sätze aus der Datenbasis gesucht, ansonsten der Satz
in Wörter gesplittet und mit dieser Liste von Wörtern nach Satzfragmenten gesucht:
Eliza.scala |
def eval(s1:String):String={
val s=stripPunctuation(s1.trim()).toUpperCase()
var result = ""
if (s==prev) {
result = data.repeatMsgs.x.head
rotate(data.repeatMsgs)
}else result = ans(words(s))
prev = s
result
}
|
Die folgende Funktions bekommt die Liste der Wörter des Eingabesatzes. Es wird
in allen Satzfragment-Antwort-Paaren der Datenbasis geschaut, ein
Satzfragment in der Wortliste irgendwo vorkommt. Hierzu werden alle
Teilsätze (die tails) des Eingabesatzes betrachtet
und geschaut, ob sie mit
einem in der Datenbasis als Schlüssel markierten Satzfragment startet. Wenn ja
wird aus den Satzfragmenten eine Antwort generiert.
Eliza.scala |
def ans(qs:List[String] )={
val responses =
for (val Pair(key,resp)<-data.responses
;val q<-tails(qs)
;isPrefix(key,q) )
yield Pair(resp,makeResponse(resp.x.head
,conjug(resp.x,q.drop(key.length))))
rotate(responses.head._1)
responses.head._2
}
|
Es folgen drei kurze Funktionen, die aus den Satzfragmenten eine Antwort
zusammenbauen und dabei eventuell ein paar Wörter von der ersten Person in die
zweite Person umwandel.
Eliza.scala |
def conjug(q:List[String],xs:List[String])
=unwords(for (val y<-if(xs.isEmpty) q else xs) yield conj(y))
def conj(s:String)
=try {data.CONJUGATES(s)}catch {case e:Throwable => s}
def makeResponse( cs:String, us:String)=
if (cs.charAt(0)=='?') cs.substring(1)+" "+us.toLowerCase()+"?"
else if(cs.charAt(0)=='.')cs.substring(1)+" "+us.toLowerCase+"."
else cs
}
|
Schließlich eine kleine Applikation, die es erlaubt mit dem Programm über die
Kommandozeile einen kleinen Dialog zu führen:
Main.scala |
package name.panitz.eliza
object Main extends Application{
Console.println("Welcome to Eliza, your personal psycho therapist")
val elli=new Eliza()
while (true)Console.println(elli.eval(Console.readLine))
}
|
So simpel und eingeschränkt die Datenbasis ist, so läßt sich doch der folgende
kleine Dialog mit unserem Programm führen:
Welcome to Eliza, your personal psycho therapist
hello
How do you...please state your problem.
my name is bert
Names don't interest me.
sorry
Please don't apologise!
I have a problem
Is this really a poblem?
i think it is a big problem
Don't you see any solution to this?
i am afraid I do not see a solution
Did you come to me because you are afraid you do not see a solution?
yes
You seem quite positive.
I cannot solve my programming assignment
How do you know you can't solve your programming assignment?
I tried to solve ist in plain C
I'm not sure I understand you fully.
I want to solve my assignment in plain C
Why do you want to solve your assignment in plain c?
because it is the only programming language I learnt so far
Is that the real reason?
I think I am too lazy to learn a new language
How long have you been too lazy to learn a new language?
I think I have been lazy for all of my life
Do you really think so?
yes
Are you Sure?
i am sure that i am too lazy
Do you believe it is normal to be sure that you are too lazy?
i don't know if it is normal
Don't you really know if it is normal?
Maybe I should try to learn a new programming language
You don't seem quite certain.
I am always afraid before I start something new
Do you enjoy being always afraid before you start something new?
no
Are you saying no just to be negative?
no, I am really afraid
Did you come to me because you are really afraid?
are you programed in plain C?
Why are you interested in whether or not I am programed in plain c??
because programming a psycho therapist is my programming assignment
Don't any other reasons come to mind?
no
You are being a bit negative.
no
Why did you repeat yourself?
well, maybe you are right
What makes you think I am right?
i should try to solve the assignment in another language
Can you elaborate on that?
I think I try to learn scala
But you are not sure you you try to learn scala?
I could also consider ruby
Say, do you have any psychological problems?
no not at all. good bye
Weizenbaum schrieb sein Programm Eliza, um zu zeigen, daß auf diesen
Weg keine wirkliche Intelligenz zu erzielen ist und war ein wenig schockiert
über die Resonanz, die sein Programm erhielt. Vielfach wurde es tatsächlich
als sinnvolles therapeutisches Programm verstanden.
Die Idee von Eliza hat heute auch tatsächliche Anwendungen
gefunden. Sogenannte Chat-Bots sind nach diesem Prinzip programmiert und
erlauben Datenanfragen in einer natürlichen Sprache und versuchen aus den
natürlichsprachlichen Eingabe aus typischen Satzfragmenten zu extrahieren, was
der Benutzer genau wissen möchte.
Es wäre interessant ein Eliza-Programm zu schreiben, das in einem Chat-Room zu
einem bestimmten Thema Dialoge führen kann. Die arglosen Chatpartner wüßten
nicht, daß sie mit einem Programm kommunizieren. Ob und wie schnell es als
Programm entlarvt wäre Seien Sie also immer auf der Hut, wenn
eine Eliza, Lisa, Elli oder jemand ähnliches sich in einem Chat-Room einloggt.
Das Chinesische Zimmer
Angenommen, es besteht ein Programm den Turing-Test.
Egal auf welche Art das Programm geschrieben ist, ob es ein grammatisches
Modell a la Chomsky benutzt oder nur simuliert, es würde etwas verstehen, wie
bei Eliza.
Was bedeutet das
dann. Wurde damit ein intelligentes Wesen geschaffen? John Rogers Searle ($\ast$31. Juli 1932 in Denver, Colorado) ist ein
amerikanischer Philosoph. Er studierte zunächst in Wisconsin und später in
Oxford bei J. L. Austin und P. F. Strawson. Neben diesen beiden Philosophen
wurde sein Denken wesentlich durch die Werke Gottlob Freges und Ludwig
Wittgensteins beeinflusst. Er ist jetzt Professor an der Universität von
Kalifornien in Berkeley. 2000 wurde er mit dem Jean Nicod Preis
ausgezeichnet.
Er arbeitet vor allem auf dem Gebiet der Sprachphilosophie sowie im Bereich
der Philosophie des Geistes. Insbesondere entwickelte mit seinem Werk ``Speech
acts'' von 1969 die Sprechakttheorie von Austin weiter.
Von Searle stammt das im Rahmen der Diskussion zur Künstlichen Intelligenz
bekannt gewordene Gedankenexperiment vom Chinesischen Zimmer, mit welchem er
sich gegen die These wandte, dass Computer jemals ein (Sprach-)Verständnis
entwickeln könnten, das dem des Menschen ähnelt. \ Ein Wesen mit einem Bewußtsein für das, was es tut? Hierzu hat der
Philosoph John Searle sich folgendes Gedankenexperiment ausgedacht. Angenommen
ein Mensch ist in einem engen Raum eingeschlossen. Dort befindet sich nichts
außer ein dickes Buch. Das Buch trägt den Titel: Was mache ich, wenn mir
ein Zettel nur mit chinesischen Buchstaben ins Zimmer gereicht wird? Da
dem Menschen langweilig wird, fängt er an dieses Buch zu lesen. Es besteht aus
lauter Regeln, wie die Buchstaben aus dem Zettel zu kopieren und schließlich
ein Blatt mit solchen Buchstaben vollzuschreiben. Das Buch stellt also den
komplexen Algorithmus des Programms dar, das den Turing-Test auf chinesisch
bestanden hat. Irgendwann kommt es dazu, daß ein Zettel mit chinesischen
Buchstaben in den Raum gereicht wird. Die Versuchsperson führt -- es ist ja
sonst nichts zu tun -- den Algorithmus aus und reicht einen Zettel wieder heraus.
Tatsächlich stand auf den reingereichten Zettel eine kleine Geschichte und zum
Schluß eine Verständnisfrage zu dieser Geschichte. In dem großen Buch war ein
Algorithmus vermerkt, der in der Lage war, Fragen zu kleinen Geschichten zu
beantworten. Auf dem schließlich herausgereichten Zettel stand also die
korrekte Antwort in chinesisch auf die Frage der in chinesisch
hereingereichten Geschichte. Niemand, so argumentiert Searle, würde ernsthaft
annehmen, daß die Person in den Zimmer nun tatsächlich ein Verständnis dafür
hat, was sie da gerade getan hat. Sie hat nichts von der Geschichte verstanden
und kann schon gar nicht in irgendeiner Weise chinesisch verstehen. Die
Person hätte zwar in gewisser Weise den Turing-Test bestanden, aber kein
Verständnis für das, was sie tut.
Anders als der Turing-Test, der den Agenten als eine Black-Box betrachtet, und
dem die Tatsache ausreicht, daß er von außen nicht mehr von einem Menschen zu
unterscheiden ist, betrachtet Searles Gedankenexperiment den Algorithmus, der
zu dem Eingabe- Ausgabeverhalten führt, und spricht diesem Algorithmus, der
lediglich eine syntaktische Manipulation vornimmt, jegliches Verständnis für
das, was es tut, ab.
Man könnte also sagen: Turing sitzt außerhalb des Zimmers und ruft begeistert:
es ist intelligent. Searle sitzt im Zimmer und sagt, der Typ hier drin
versteht doch kein Wort Chinesisch.
Die Fragestellung, wie mit einem künstlichen Agenten, der den Turing-Test
bestanden hat, zu verfahren ist, wird wahrscheinlich auf Jahrhunderte hinaus noch weiterhin
recht pathologisch sein, denn es ist fraglich, ob ein Agent in absehbarer Zeit
einen Turing-Test auf Dauer besteht. Hingegen ist es ein beliebtes Thema in
Literatur und Film. Zum Abschluß dieses Kapitels folgt ein kleiner Ausschnitt
aus dem Roman Die abschaltbare Frau von Gerhard Mensching,
in dem dem
Held der Geschichte eine Androidin untergeschmuggelt wurde, die mit ihm in
ihrem französischen Akzent folgenden kleinen Dialog hat:
``Das heißt also: Geist ist künstlich zu erzeugen.''
``Ja. -- Das hast du doch schon die ganze Zeit an mir gese-en. Oder willst du
beaupten, isch ätte keinen Geist?''
``Das werde ich wohl lasssen. Aber eine Persönlichkeit bist du nicht. Das
täuschst du nur vor.''
``Das tust du ja auch. Oder weißt du, wer du bist? Du ast dir was
zusammengesucht, und das spielst du jetzt. Und weil du das schon so lange
spielst, glaubst du, du mußt so sein und nischt anders. Und das nennst du dann
deine Persönlichkeit.''
``Liebst du mich eigentlich?'' frage er unvermittelt, den Blick gegen die
Decke gerichtet.
``Natürlich liebe isch disch. Warum fragst du das?''
``Weil das gar nicht so natürlich ist. Oder doch? [] Du kannst doch gar
nicht wissen, was Liebe ist.''
1.2 Geschichte der KI
1.2.1 Einflußreiche Gebiete für die KI
Die KI ist als Wissenschaft nicht aus dem Nichts entstanden, sondern greift
viele Aspekte und vorgehensweisen anderer oft auch sehr alter Disziplinen auf,
um sie für ihre Ziele zu verwenden. Stichwortartig seinen ein paar dieser
Disziplinen in den nächsten Abschnitten aufgelistet.
Philosophie
In der Philosophie war eine sehr frühe Fragestellung: wie kann man formal
folgerichtige Schlußfolgerungen aus einer Menge von Annahmen ziehen. Hierzu
hat bereits Aristoteles($\ast 384-\dagger 322$ v.Chr.) ein System von
Schlußregeln aufgestellt und damit ein Forschungsvorhaben gestartet, das, wie
wir sehen werden, 1965 in der KI zu einen vorläufigen Ende kommen
sollte. Viele KI-Ansätze basieren auf Regeln der formalen Logik, die
ursprünglich in der Philosophie entwickelt wurde.
Mathematik
Die Beiträge der Mathematik zu einzelnen Fragen der KI sind, wie nicht anders
zu erwarten vielfältig. Exemplarisch seien Boole und Frege mit ihren
Beiträgen zur Aussagenlogik und Prädikatenlogik genannt. Die Entwicklung des
Begriffs Algorithmus und erster spezieller Algorithmen fällt in die
Mathematik.
Als einer der ersten nichttrivialen Algorithmen sei
Euklids Verfahren zur Bestimmung eines größten gemeinsamen Teilers genannt.
Grundlegende Fragen der Komplexität und die definition der NP-Vollständigkeit.
Gödels Unvollständigkeitssatz und Turings Maschinenmodell.
Ökonomie
Optimierungsfragen, die in unserem Curriculum in der Vorlesung OR-Verfahren
vorgestellt werden, ähneln in weiten Fragestellungen denen, die rationale
Agenten der KI zu lösen haben.
Neurobiologie
Aufbau und Funktion eines Gehirns bietet ein interessantes Modell, welches die
KI in Grundzügen in neuronalen Netzwerken versucht nachzubauen.
Psychologie
Der Zweig der Kognitionswissenschaft versucht zu erforschen, wie bestimmte
Leistungen im Gehirn vollbracht werden. Wie arbeitet das Gehirn?
Technische Informatik
Robotik und Bilderkennung, sofern sie nicht schon der KI zuerkannt sind,
stellen wichtige Disziplinen für die Entwicklung von Agenten, die auch
physisch autonom sind, dar.
Steuerungs- und Regeltechnik
Selbst schon ein simples Thermostat kann als ein rationaler Agent betrachtet
werden.
Linguistik
Ein formales Modell für Sprache finden ist der Ausgangspunkt der Linguistik in
den 50-er Jahren des letzten Jahrhunderts. Die von Chomsky entwickelten
Grammatiken hatten großen Einfluß auf die Informatik im Compilerbau, dienten
aber auch der KI als Modell beim Versuch Programme zum Verstehen von
natürlicher Sprache zu entwickeln.
Was unterscheidet die KI von all diesen Disziplinen? Die KI ist immer darauf
aus, die Konzepte und Theorien direkt auf einer Hardware zu implementieren und
somit einen rationalen Agenten zu bauen. Während es einen Linguisten genügen
mag, zu beschreiben, wie Sprache formal beschrieben werden kann, entwickelt
der KI-ler ein Programm, daß dieses Modell umsetzt, also einen Parser, der
das geparste versucht zu verstehen. Die KI bekennt sich ganz offen zu
Maschinen als Mittel Ihrer Wahl, um rationale Agente zu bauen.
1.2.2 Die Geburt der KI
Die Geburt
der Künstlichen Intelligenz als Forschungsfeld
läßt sich sehr genau datieren. Im Sommer 1956 organisierte John
McCarthy einen zweimonatigen Workshop. 10 Teilnehmer, die sich mit neuronalen
Netzen, Automatentheorie oder allgemein mit Intelligenz beschäftigten
-- unter Ihnen z.B.~Marvin
Minsky und Claude Shannon -- fanden hierJohn McCarthy
($\ast$ 4. September 1927 in Boston, Massachusetts) ist ein Logiker und
Informatiker, dem seine großen Beiträge im Feld der Künstlichen Intelligenz
den Turing Award von 1971 einbrachten. Tatsächlich war es McCarthy, der den
Begriff Künstliche Intelligenz 1955 auf der Dartmouth-Konferenz
prägte. McCarthy ist der Erfinder der Programmiersprache Lisp, deren Design er
im Communications of the ACM (1960) vorstellte. Lisp war eine der ersten
Implementierungen eines Logikkalküls auf einem Computer.
Außerdem wird ihm die Erfindung des Alpha-Beta-Algorithmus zugeschrieben, der
entscheidend zur Spielstärke von Schachprogrammen beigetragen hat, sowie der
erste mark-sweep Algorithmus zur automatischen Speicherbereinigung (Garbage
Collection).
McCarthy erhielt 1948 den Bachelor of Science im Fach Mathematik vom
California Institute of Technology. Den Doktortitel erwarb er drei Jahre
später an der Princeton University.
Er ist jetzt im Ruhestand, als Professor Emeritus der Stanford University.
John McCarthy kommentiert das Weltgeschehen oft in Internetforen aus einer
mathematisch-wissenschaftlichen Perspektive.\ zusammen.
Der Workshop selbst brachte keine neuen bahnbrechenden
Erkenntnisse. Die Teilnehmer aber sollten die
nächsten zwanzig Jahre das neue Feld der Künstlichen
Intelligenz dominieren. Als wichtigste Entscheidung des Workshops einigte
man sich auf einen Namen für das neue Feld: artificial
intelligence. Der Alternativorschlag computational
rationality konnte sich nicht durchsetzen.
1.2.3 das erste Jahrzehnt
In der Folge war das Feld von einer starken anfänglichen Euphorie
geprägt. Frühe Erfolge ließen darauf hoffen, schon in Kürze Programme
zu entwickeln, die besser Schach spielen als ein Großmeister oder Sprache
verstehen können. Man glaubte den komplexen Anforderungen der
Sprachübersetzung durch simples Manipulieren von Zeichen und durch
Nachschlagen einzelner Wörter in einem Wörterbuch Herr zu werden.
In den ersten 10 Jahren der KI sind als besondere Leistungen hervorzuheben:
die Entwicklung der Programmiersprache Lisp mit dem Konzept der garbage
collection durch McCarthy. Eine Leistung, die heute kein Javaprogrammierer mehr missen
möchte. Die Entwicklung eines automatischen Beweiskalküls der Prädikatenlogik
durch Robinson. Die Idee der Mikrowelten, eingeschränkte Umgebungen, die auf
wenige Parameter einer Realwelt basieren von Minsky. Eine der bekanntesten
dieser Mikrowelten ist die blocks world, die aus farbigen
geometrischen Körpern besteht und in der Planungsaufgaben zu bewerkstelligen
sind.
Die stark symbolisch und logikbasierten Ansätze des ersten Jahrzehnts führten
zu einer genaueren Analyse der Wissenrepräsentation.
Mitte der 60er Jahre mußte die anfängliche Euphorie schnell herbe
Niederschläge
hinnehmen. Tatsächlich sollte es noch weitere 30 Jahre dauern, bis ein
Schachcomputer erstmals einen Großmeister schlagen konnte. Auch die naiven
Ansätze zur automatischen Sprachübersetzung führten nicht zu den erhofften
Ergebnissen. Besonders
nett ist die Anekdote der automatischen Übersetzung des
Satzes the spririt is willing but the flesh is weak zu the
vodka is good but the meat is rotten.
Der in den Mikrowelten versuchte Ansatz durch einfache Suche und Kombination
auf Lösungen zu kommen, scheiterte sehr schnell an Fragen der Komplexität,
ebenso wie die Hoffnung alle Probleme nur prädikatenlogisch formulieren zu
müssen, um sie dann durch einen allgemeinen Beweiser für prädikatenlogische
Formeln lösen zu lassen.
1.2.4 Die 70er Jahre
In den 70er Jahren setzte man mehr auf anwendungsspezifische wissensbasierte
Systeme. In diese Zeit fällt die Entwicklung von Expertensystemen.
ExpertenMarvin Lee
Minsky ($\ast$ 9. August 1927 in New York) ist ein US-amerikanischer
Forscher auf dem Gebiet der künstlichen Intelligenz. Er war Mitbegründer des
Labors für Künstliche Intelligenz am Massachusetts Institute of Technology. Er
hat zahlreiche Texte zu diesem Fachgebiet sowie über verwandte Themen der
Philosophie veröffentlicht und gilt als Erfinder der konfokalen Raster
(Scanning) Mikroskopie.
Marvin Minsky besuchte die Fieldston School und die Bronx High School of
Science in New York. Später studierte er auf der Phillips Academy in Andover,
Massachusetts. Er leistete 1944-45 seinen Wehrdienst in der US-Navy. In
Harvard erwarb er 1950 einen Bachelor in Mathematik. Im selben Fach erlangte
er in Princeton im Jahr 1954 seinen Doktortitel. Mitglied des MIT ist er seit
1958 - dort forscht und lehrt er auch heute noch.
Im Laufe seines Forscherlebens wurde Minsky vielfach ausgezeichnet. Er ist
Mitglied der amerikanischen National Academy of Engineering sowie der National
Academy of Sciences. 1969 gewann er den Turing-Preis, 1990 den Japan-Preis und
2001 die Benjamin-Franklin-Medaille.
Kritiker Minskys bezweifeln die Seriosität vieler seiner Prognosen, wie
z.B. der, wir wären bald in der Lage, Emotionen in eine Maschine hinein zu
programmieren. \ stellten Regeln für ein bestimmtes Fachgebiet zusammen. Diese Regeln sind in
einfache Wenn-Dann-Form zu fassen. Es sollte sich bei diesen Regeln
um aus langer Erfahrung gewonnene Faustregeln von Experten handeln. Das somit
modellierte Expertenwissen konnte benutzt werden, um Diagnosen zu stellen. Am
bekanntesten sind dabei Expertensysteme für medizinische Diagnosen
geworden. Wenn bestimmte Symptome vorliegen, so lassen diese auf eventuelle
gemeinsame Ursachen schließen, die wiederum durch andere Ursachen bedingt
sind. So können die Regeln rückwärts verfolgt werden, um auf das eigentliche
Problem zurückzuschließen und eine Diagnose aufzustellen.
In diese Zeit fällt auch die Entwicklung der Programmiersprache Prolog, die
als eine abgespeckte Version der Prädikatenlogik zu verstehen ist.
1.2.5 ab 1980
Seit den 80er Jahren spielt die KI auch eine industrielle Rolle als
Wirtschaftsfaktor. 1981 proklamierte Japan das sogenannte fifth
generation project, einen Plan, um innerhalb von 10 Jahren auf Prolog
basierende Computer zu entwickeln. Auch wenn das Ziel als solches nicht
erreicht wurde, so zeigt es doch auf, wieviel kommerzielles Potential von nun
an in den Techniken der KI gesehen wurde. Insbesondere in Planungsaufgaben
konnte die KI verschiedenen Firmen Millionen einsparen. Fluggesellschften
hatten von nun an große KI-Abteilungen, die den Einsatz von Material und
Personal auf solche Weise optimieren sollte, daß möglichst wenig Kosten für
die Gesellschaft entstanden. Dabei handelt es sich nicht mehr um
Optimierungsaufgaben die mit klassischen OR-Verfahren zufriedenstellend zu
lösen gewesen wären. Die Randbedingungen sind dabei dermaßen komplex und
schwer zu modellieren.
Seit den 80er Jahren werden auch verstärkt Ansätze jenseits den logischen
Modellierungen wieder aufgegriffen. Hierzu zählen insbesondere neuronale
Netze, um die es zwei Jahrzehnte recht still geworden war, die sogenannte
Fuzzy-Logik und genetische Algorithmen. Beim logischen Ansatz wird vermehrt
nach Konzepten jenseits der klassischen Prädikatenlogik gesucht, um mehr
natürliches Verhalten mit unsicheren oder falsifizierbaren Wissen zu
arbeiten.
1.2.6 Historische Notizen
Wir ließen die Geschichte der KI im Jahre 1956 beginnen. Natürlich hat die
Menschen seit jeher entsprechend der technischen Möglichkeiten, die Idee
fasziniert, eine künstliche Intelligenz zu schaffen. Es gab auch immer
Versuche und Ansätze einen rationalen Agenten zu konstruieren. Einer der
ersten sehr beeindruckenden solchen Maschinen war ein Schachautomat im
18.~Jahrhundert. Dieser Schachautomat war zwar in unserem Sinne ein Betrug,
weil als eigentliche Software ein kleinwüchsiger Mensch, der sich in ihm
versteckt hielt diente. Trotzdem muß die Mechanik dieses Schachautomaten
bewundernswert gewesen sein. Ein sehr schönes Beispiel für künstliche
Intelligenz in der Literatur ist die schaurige Novelle Der
Sandmann von E.T.A.~Hoffmann.Schachtürke ist
die umgangssprachliche Bezeichnung für einen
Schachroboter, der 1769 von dem österreichischen Mechaniker Wolfgang von
Kempelen konstruiert und gebaut wurde. Der Erbauer dieser Maschine, in der
sich ein versteckter Mensch befand, gaukelte den Schachspielern und Zuschauern
damit vor, dass dieses Gerät selbständig Schach spielen kann.
Die Schachmaschine bestand aus einer in türkische Tracht gekleideten Figur
eines Mannes, der vor einem Tisch, auf dem sich ein Schachbrett befand,
saß. Die Figur hat mit den bekanntesten Schachspielern der damaligen Zeit
gespielt und meistens gewonnen. Der Türke begann immer die Partie, hob den
linken Arm, bewegte die Schachfigur und legte den Arm dann wieder auf ein
Polster zurück. Bei jedem Zug des Gegners blickte er auf dem Brett umher. War
der Zug falsch, schüttelte er den Kopf und korrigierte die Position der
Figur. Beim Schach der Königin nickte er zweimal, beim Schach des Königs
dreimal mit dem Kopf. Alle Bewegungen waren von einem Geräusch ähnlich dem
eines ablaufenden Uhrwerks begleitet. Kempelen, der Erfinder, der jedem, der
es sehen wollte, das Innere der Maschine und ihre Mechanik gerne zeigte, stand
während des Spiels etwas abseits und blickte in einen kleinen Kasten, der auf
einem Tisch stand.
Diese Schachmaschine erregte zur damaligen Zeit großes Aufsehen, da sie der
erste Automat war, der Schach spielen konnte. Ihr Erfinder Kempelen konnte
sich der vielen Besucher nur erwehren, indem er später verkündete, er habe diesmall
Maschine zerstört.
Nach einigen Jahren führte er die Maschine aber in Wien Kaiser Joseph und dem
Großfürsten Paul von Russland vor und unternahm Reisen nach Paris und London,
wo er wiederum großes Aufsehen erregte. In Berlin spielte der Türke gegen
Friedrich den Großen und besiegte ihn. Friedrich bot Kempelen für die
Aufdeckung des Geheimnisses eine große Geldsumme und war, nachdem das
geschehen war, außerordentlich enttäuscht. Seitdem stand der Türke
unbeachtet in einer Abstellkammer im Potsdamer Schloss, bis Napoleon 1809 kam
und sich seiner erinnerte. Auch er spielte gegen den Automaten und verlor.
Später kam der Automat in den Besitz des Wiener Mechanikers Johann Nepomuk
Mälzel, der größere Reisen damit unternahm. Er gelangte 1819 nach London und
1820 in die USA.
In London wies Robert Willis aufgrund von Zeichnungen zuerst nach, dass in dem
Automaten ein Mensch versteckt sein könne. Seine Entdeckung beschrieb er in
dem Artikel The attempt to analyse the automaton chess player im
The Edinburgh Philosophical Journal. Aber erst 1838 teilte Thournay in
der Revue mensuelle des echécs, Bd. 1, mit, dass wirklich Menschen darin
versteckt gewesen sind. Wer diese Helfer Kempelens gewesen sind, ist
unbekannt. Mälzel hatte zu diesem Zweck den Deutschen Johann Baptist Allgaier,
in Paris die Franzosen Boncourt und Jacques François Mouret, in London den
Schotten William Lewis und später den Elsässer Wilhelm Schlumberger
angenommen.
Auch der amerikanische Schriftsteller Edgar Allan Poe analysierte das
Geheimnis des Automaten und veröffentlichte eine mögliche Lösung in seinem
Essay Maelzel's chess player.
Andere Quellen berichten, dass das Geheimnis erstmals gelüftet wurde, als bei
einer Vorführung auf einem Jahrmarkt ein Zuschauer Feuer,
Feuer rief. Mälzel öffnete daraufhin den Kasten, um den Spieler heraus zu
lassen.
Nach dem Tod von Johann Nepomuk Mälzel gelangte der Schachtürke über einen
Zwischenhändler in den Besitz des schachbegeisterten Physikers John
K. Mitchell. Dieser schenkte den Automaten, nach einigen privaten
Vorführungen, im Jahr 1840 dem Peale's Museum in Philadelphia. Nach vierzehn
Jahren als Ausstellungsstück verbrannte der türkische Schachspieler am 5. Juli
1854 bei einem Feuer im Museum.
Von Walter Benjamin wird der Schachtürke in seinen Thesen zur Geschichte als
Allegorie auf das Verhältnis zwischen Marxismus und Theologie genommen: (...)
Gewinnen soll immer die Puppe, die man historischen Materialismus nennt. Sie
kann es ohne weiteres mit jedem aufnehmen, wenn sie die Theologie in ihren
Dienst nimmt, die heute bekanntlich klein und häßlich ist und sich ohnehin
nicht darf blicken lassen (Gesammelte Schriften I.2, S.693).
Eine der etymologischen Herleitungen des Ausdrucks etwas
türken oder einen Türken bauen im Sinne von etwas nur
vorspiegeln, etwas fingieren bezieht sich auf den Schachtürken.
|
|
|
|