Title: John McCarthy und LISP
1John McCarthy und LISP
- Seminar Geschichte der Informatik
- Universität des Saarlandes FR 6.2 Informatik
- Lehrstuhl Prof. Dr. Siekmann
- WS 2001/02
- Referentin Sibylle Weber-Böttler
2Vorstellung des Themas
- LISP-Vorbemerkungen
- John McCarthy
- Geburt der KI
- LISP und seine Dialekte
- Weiterentwicklung
- Anwendungen
3Was ist LISP?
- LISP LISt Processing (Darstellung durch
Listenstrukturen) - Eine der Ursprachen der Informatik
- Vorarbeiten ab 1956
- Konzeption, Implementierung und erste Anwendungen
1958-1962 - Funktionale Programmiersprache
- Theoretische Basis ?-Kalkül
- An Lisp angelehnt ML
4Lambda-Kalkül
- Aussagenlogisches System, in dem der
Lambda-Operator eine zentrale Rolle spielt - Einfache algorithmische Sprache
- Beispiel Darstellung einer Funktion als
Berechnungsvorschrift - (x² x)² (?x(x² x)²)
- x wird als Variable gekennzeichnet und gebunden
- Rein syntaktische Manipulationen anhand fester
Reduktions- und Konversionsregeln - Modell berechenbarer Funktionen
5Funktionales Programmieren
- Alle Programme sind Funktionen
- Funktionsdefinition plus(x y) x y
- Funktionsanwendung/-aufruf plus(2 3) 2 3 5
- Schreibweise in LISP (gt ist der Systemprompt)
- gt (plus 2 3) Funktionsanwendung
- 5 Rückgabe
6John McCarthy
- Pionier in der KI
- 3 Hauptforschungsbereiche
- Beschreibung des Alltagsverstandes (Common Sense)
- Mathematisierung der Informatik
- Nichtmonotone Schließverfahren
- Erfindung von LISP
- Entwickelte Konzept des Time-Sharings
- 1971 Turing Award
7Vita - John McCarthy
- 1927 in Boston
- 1946 Studium der Mathematik
- 1951 PhD in Mathematik in Princeton
- 1953-1955 Assistant Professor für Mathematik an
der Universität von Stanford - 1955-1958 Assistant Professor für Mathematik am
Dartmouth College - 1958-1962 Associate Professor für
Kommunikationswissenschaft am MIT - 1962-2000 Professor für Informatik in Stanford
- 1965-1980 Direktor des KI-Instituts in Stanford
- 2000 Ehrendoktorwürde der Uni Erlangen
8McCarthys 1.Modell menschlicher Intelligenz auf
einer Maschine (1949)
I considered an intelligent thing as a finite
automaton connected to an environment that was a
finite automaton. I made an appointment to see
John von Neumann. He was encouraging. He said,
write it up, write it up. But I didnt write it
up because I didnt feel it was really good.
9Geburt der KI
- 1956 Summer Research Project on Artifical
Intelligence am Dartmouth-College, New Hampshire - Organisiert von McCarthy und Minsky
- 10 Teilnehmer u.a. Shannon, Rochester, Newell und
Simon - McCarthy und Minsky waren in den folgenden Jahren
die prägenden Persönlichkeiten in der Forschung
zur Künstlichen Intelligenz - Name Artificial Intelligence etabliert sich
- 1958 Geburtsjahr der KI, McCarthy geht ans MIT
gründet KI Projekt und entwickelt LISP
10Motivation für LISP
- McCarthy hatte Vision vom Advice Taker, einem
System, dem man (symbolische) Informationen über
über zu lösende Aufgaben mitteilt (statt einer
Anweisungskette). - Advice Taker stellte bestimmte Forderungen an
Programmiersprache symbolische Darstellbarkeit
und Möglichkeit von Manipulationen auf diesen
Ausdrücken Geburt
von LISP
11LISP Syntax
- Einfache Syntax
- ( 1 2 3) Ausdruck mit Wert 6
- ((2 3)(4 5)) Evaluation von 23, dann 45,
dann 59 - (append(Bob kissed)Alice) wertet aus zu (Bob
kissed Alice) - (reverse (append(Bob kissed)Alice) wertet aus zu
(Alice kissed Bob)
12LISP - Grundeigenschaften
- LISP ermöglicht interaktive Arbeitsweise
Benutzer gibt Ausdruck ein, LISP-System
interpretiert ihn und gibt Resultat aus - Schritt für Schritt Erstellen und
Testen von Programmen möglich - LISP-Programme und LISP-Daten haben dieselbe
Form - LISP-Programm kann anderes
LISP-Programm als Daten verwenden
13Universelle LISP-Funktion
- McCarthy wollte zeigen, dass man mit LISP die
berechenbaren Funktionen sehr einfach beschreiben
kann. - Deshalb schrieb er eine allgemeine (universelle)
LISP-Funktion. Er zeigte, dass sie kürzer und
verständlicher ist als die Beschreibung einer
universellen Turing-Maschine.
14LISP die ersten Versionen
- 1958 führt McCarthy LISP am MIT ein
- LISP 1 wird 1959 fertiggestellt
- Kennt keine Integer, sondern nur Gleitkommazahlen
- Verwendet noch nicht die LAMBDA-Notation zur
Bezeichnung von Funktionen - Sprache umfasst 90 vordefinierte Definitionen
- Implementierung auf einer IBM 704
15IBM 704
16LISP 1.5
- Einführung ganzer Zahlen
- Einführung von Feldern
- Funktionen mit bis zu 20 Argumenten erlaubt (in
LISP 1 nur 10) - Erweiterung des Sprachkerns auf 150 Funktionen
- Verbesserung der Ein-/Ausgabefunktionen
17LISP von 1962 - 1965
- McCarthy wechselt nach Stanford
- Entstehung eines 2. LISP-Zentrums
- Bei BBN (Bolt, Beranek Newman), einer
Datenverarbeitungsfirma entsteht ein drittes
Zentrum - Diese beiden und MIT treiben die
Weiterentwicklung von LISP voran - Neue Versionen
- Verbesserte Entwicklungsumgebungen
- Debugging- Möglichkeiten
18Weiterentwicklung
- In den 70er Jahren Entwicklung verschiedener
Lisp-Dialekte - Maclisp (am MIT)
- Interlisp (in Cambridge, später am PARC von Xerox
in Palo Alto)
Standardisierungsversuche
COMMON LISP (1984)
19LISP-Maschine von Siemens (1987)
20Geschichte von LISP
- LISP
- 1960
-
- 1965 ISWIM
-
- 1970 Mac Lisp Inter Lisp
- ML
- 1975 Scheme
-
- 1980
-
- 1985 Comon Lisp
- Standard
- 1990 ML CLOS
- Haskell
- 1995 Gofer
21LISP-basierte Software
- Emacs (Texteditor)
- AutoCAD (CAD-System)
- Interleaf (Professionelles Publishing-System)
- Das Scheduling des Hubble-Teleskops
- Macsyma/Reduce (Computeralgebrasysteme)
- Crash Bandicot (Sony Playstation Game)
22Fazit
- In den 60er Jahren große Euphorie man erwartete
bis Ende des 20.Jahrhunderts Computer, die sich
menschlich verhalten würden - Es entstanden viele Science-Fiction-Filme, die
den Menschen in naher Zukunft eine schöne
Technik-Welt suggerierten - Die Ziele wurden mit den Jahren realistischer
formuliert Es wurden weniger konkurrierende
Maschinen entwickelt, sondern Systeme, die sich
mit Problemen der Mustererkennung,
Sprachverarbeitung oder Robotik beschäftigen.
23Viele Innovationen der Informatk enttstanden
... als Nebeneffekte. Das eigentliche Ziel war
die KI, aber die Softwaretechnik wurde
vorangetrieben. Christiane Floyd, Pioniere der
Informatik
24- If you want the computer to have general
intelligence, the outer structure has to be
commonsense knowledge and reasoning. - - John McCarthy -
Wenn menschliche Intelligenz präzise genug
beschrieben wird, dann kann eine Maschine sie
simulieren.