Programmierung in der KI. KI-Programmierung Ð Aufgaben. 2 Modellierung und Programmierung. Methoden der KŸnstlichen Intelligenz

Größe: px
Ab Seite anzeigen:

Download "Programmierung in der KI. KI-Programmierung Ð Aufgaben. 2 Modellierung und Programmierung. Methoden der KŸnstlichen Intelligenz"

Transkript

1 Programmierstie 2 Modeierung und Programmierung 6. Voresung: KI-Programmierung. Lisp, PROLOG. Regebasiertes Programmieren Methoden der KŸnstichen Inteigenz Ipke Wachsmuth ÊWS 2000/2001 Die zugrundeiegenden Verarbeitungsmodee (Programmiersprache + ausführende Maschine) sind sehr verschieden. Prozeduraer Programmiersti Schrittweise ausgeführte Fogen von Anweisungen (Prozeduren) modifizieren Daten in einem Speicher Funktionaer Programmiersti Berechnung durch Auswertung von Funktionen (Abbidung von Definitionsbereich in Wertebereich) Logikorientierter Programmiersti Dekarative Notierung von Probem und Lösungs"wissen" as ogische Formen, Berechnung durch Theorembeweisen Objektorientierter Programmiersti Berechnung durch Kommunikation: Austausch von Nachrichten zwischen aktiven unabhängigen Objekten Regebasierter Programmiersti Berechnung durch Regeanwendung und deren Vorwärtsoder Rückwärtsverkettung 6. Voresung Methoden der KŸnstichen Inteigenz 2 Programmierung in der KI Typische Anwendungen für KI-Methoden: Verarbeitung natüricher Sprache Bidverarbeitung Konstruktion (tei-)autonomer Systeme (z.b. Roboter) maschinees Probemösen Entscheidungsunterstützung/Expertensysteme Aufgaben i.a. sehr kompex und auf abstraktem Niveau Lösungsansätze basieren häufig auf kognitiven Modeen Kassen von Probemen führen zu probemspezifischen Verarbeitungsmodeen (auf höherer Ebene as programmiersprachiche Verarbeitungsmodee) KI-Programmierung Ð Aufgaben Entwurf, formae Spezifikation und Impementierung probemspezifischer Verarbeitungsmodee Programmierung in diesen Modeen Voraussetzung: angemessene Programmiersprachen mit mächtigen Mitten zum Aufbau und zur Verarbeitung kompexer symboischer Daten Frage nicht: sondern: Weches ist die grundsätzich bessere KI-Programmiersprache? Weche Sprache ist zur Impementierung eines Verarbeitungsmodes für eine bestimmte Probemkasse besser geeignet? 6. Voresung Methoden der KŸnstichen Inteigenz 3 6. Voresung Methoden der KŸnstichen Inteigenz 4

2 Warum Lisp Bedeutung erangte Entwickung von Lisp Lisp ist eine mathematische formae Sprache mit präziser formaer Beschreibung, die einen funktionaen Programmiersti unterstützt die Grundage eticher "höherer" Sprachen und KI- Entwickungswerkzeuge frühe Basissprache für viee KI-Systeme Fexibiität bestens geeignet (erfunden) für Symbomanipuation und Zuordnung von Information zu Symboen einfache Konstruktion neuer Datenstrukturen Befreiung von expiziter Speicherverwatung (garbage coection) uniforme Behandung von Daten und Programmen 1958 McCarthy (MIT) formuiert die Eigenschaften von LISP 1959 McCarthy schafft die theoretische Grundage ( Recursive Functions of Symboic Expressions and their Computation by Machine ) 1960/62 LISP1 / LISP 1.5 (MIT), ange ein Quasistandard JOHN McCARTHY 1966 BBN LISP (Bot, Beranek & Newman), MAC LISP (Project MAC am MIT), Asst. Professor of Mathematics 1973 BBN LISP in InterLISP-10 umbenannt in Dartmouth 1975 LISP Machine LISP, Scheme (MIT), FranzLISP (MAC LISP auf Unix, Berkeey), UCI-LISP 1977 LISP-Maschinen-Entwickung beginnt am MIT 1978 NIL für kommerziee timesharing-systeme 1980 ZetaLISP (Symboics), LM LISP (LMI), InterLISP-D (Xerox), SPICE LISP (CMU) 1981 LISP-Maschinen kommen auf den Markt, LeLISP 1982 S1 LISP für Supercomputer mit MutiProcessing (CMU, MIT, Lawrence Livermore Lab)... CommonLISP (viee Firmen und Institutionen) EuLISP, ISO LISP AutoLISP für AutoCAD-Systeme Voresung Methoden der KŸnstichen Inteigenz 5 6. Voresung Methoden der KŸnstichen Inteigenz 6 Wie funktioniert Lisp? Programmieren in Lisp (Basics) Lisp ist (in erster Linie) eine interpretierte Sprache. Ein Lisp-System stet eine Programmierumgebung zur Verfügung. Lisp-Ausdrücke werden geesen, evauiert, das Resutat gedruckt (read-eva-print oop). isp > 5 5 > > (+ 3 4) 7 > (* 2 3-1) -6 > (/ ( ) 3) 31 > (* 2 (_ 15 8)) Error: eva: Undefined function _ <1>: (return '-) 14 > (exit) Ae Programme sind Funktionen, d.h. erwarten 0 oder mehr Argumente geben genau einen Wert aus sind entweder vordefiniert oder nach Wunsch geschrieben Konsequenz: Programmieren = Funktionen schreiben Einführung weiterer Sprachkonstrukte (setq, car, cdr etc): -> angegebene Literatur > (defun square (num) (* num num)) square > (square 9) 81 > (defun in-order (first second third)) (cond ((> first second)(> second third)))) in-order > (in-order 3 2 1) t > (in-order 1 2 3) ni 6. Voresung Methoden der KŸnstichen Inteigenz 7 6. Voresung Methoden der KŸnstichen Inteigenz 8

3 Idee ogischer Programmierung Theorembeweiser Damit reduziert sich das Probemösen auf ein Formuierungsprobem. (Ideavorsteung; nicht in voem Umfang erreicht!) Probeme werden as ogische Aussagen formuiert (Theoreme, die man "anfragt"). Das zur Lösung eines Probems benötigte Wissen wird ebenfas in Form ogischer Aussagen formuiert (Axiome, die man "assertiert"). Die Lösung eines Probems besteht im Finden eines ogischen Beweises für das angefragte Theorem. Idee: Das Finden des Beweises wird einem automatischen Theorembeweiser übertragen, der den Beweis (sofern existent) konstruieren kann. u Grundage ogikorientierter Programmierung u basieren in vieen Fäen auf dem Resoutionsverfahren: agemeineres Schußverfahren as Modus ponens arbeitet auf Formen in Kausedarsteung u Resoutionsbeweiser sind zwar agemein angsam, für Hornkausen in der Aussagenogik jedoch sehr effizient u sind auf Kausen der Prädikatenogik (PL) erweiterbar und haben dort für Hornkausen immer noch Effizienzvorteie PROLOG 6. Voresung Methoden der KŸnstichen Inteigenz 9 6. Voresung Methoden der KŸnstichen Inteigenz 10 Von PL-Kausen zu ãregenò PROLOG: Hornkausen! x 1... x s (L 1... L m ) Lj: Literae (Atome oder negierte Atome) x 1... x s (A 1... A k C 1... C n ) Beschränkung auf Kausen mit höchstens einem nicht-negierten Atom: x1... xs ( A C1... Cn) x 1... x s (A 1... A k C 1... C n ) Kurzschreibweise as Rege : (A 1... A k C 1... C n ) Disjunktion von Atomen Konjunktion von Atomen x1... xs ( A C1... Cn) ( A C 1... C n ) Prozedurae Semantik: Um A zu zeigen, müssen die Cj gezeigt werden. 6. Voresung Methoden der KŸnstichen Inteigenz Voresung Methoden der KŸnstichen Inteigenz 12

4 Axiome formuieren in PROLOG Regebasiertes Programmieren Eine Definition von "Großvater": Für ae x, für ae y, für ae z git: x ist Großvater von y, wenn x Vater von z ist und z Vater von y. oder ganz forma: x y z (grossvater x y) (vater x z)(vater z y) Die entsprechende Definition "über die Mutter": x y z (grossvater x y) (vater x z)(mutter z y) * "kassische" Cocksin/Meish Syntax: grossvater(x Y) vater(x Z),vater(Z Y) In PROLOG geten ae Variaben as impizit aquantifiziert (die prozedurae Semantik eraubt Ersetzungen durch beiebige in der Wissensbasis vorh. Terme); Quantoren werden weggeassen: (grossvater x y) (vater x z),(vater z y) (grossvater x y) (vater x z),(mutter z y) Seien jetzt diese beiden Impikationen (Regen) assertiert, zusammen mit fogenden Fakten: (vater fritz hans) (vater fritz kara) (mutter kara peter) Zeige: Ist Fritz der Großvater von jemand? >(grossvater fritz u)? >(grossvater fritz peter) einer der Hauptansätze für die Ersteung größerer Systeme zur Lösung von Speziaaufgaben angebracht, wo Wissen über die Zusammenhänge zwischen Aufgabensituation und Aufgabenösungen verfügbar ist Grundidee: jede Rege entspricht einem Stück Wissen des Typs If <circumstances> then <do action, or concude something> "Was ist zu tun, wenn..." "Was ist anzunehmen, wenn..." mustergesteuerte Inferenzsysteme 6. Voresung Methoden der KŸnstichen Inteigenz Voresung Methoden der KŸnstichen Inteigenz 14 Eine abstraktere Sicht... u Bestandteie mustergesteuerter Inferenzsysteme 1. Eine Koektion reativ unabhängiger Modue, die durch aktuee Daten, die auf ihr trigger pattern passen, aktivierbar sind 2. eine oder mehrere dynamische Datenstrukturen, die durch ein aktives Modu inspiziert und verändert werden können 3. ein Interpreter, der die Auswah und Aktivierung von Moduen auf zykischer Basis steuert u Modue: z.b. ogische Kausen (wie in PROLOG) oder Produktionsregen (OPS5; CLIPS) Produktionsregen ãcondition-action StatementsÒ C1 C2... Cn A1 A2... Am Wenn C1 und C2... und Cn geten, dann führe A1 und A2... und Am aus. führe aus : nimm an, daß git (Impikation) ändere Wetzustand (Aktion) 6. Voresung Methoden der KŸnstichen Inteigenz Voresung Methoden der KŸnstichen Inteigenz 16

5 Perceive-Reason-Act-Scheife Recognize-Act-Cyce in OPS5 (anaog in CLIPS) PERCEIVE : Wahrnehmung von Probemmerkmaen REASON : Interne Verarbeitung und Probemösung ACT : Umsetzen der Probemösung in der Wet 1. MATCH : Prüfen sämticher Produktionsregen gegen Working Memory Eements --> Konfiktmenge 2. CONFLICT RESOLUTION : Wähe eine Produktionsrege mit erfüter Bedingungsseite aus. Bei eerer Konfiktmenge: Kontroe an den Benutzer 3. ACT : Ae Aktionen der ausgewähten Produktionsrege ausführen 4. Fas HALT-Aktion: Kontroe an den Benutzer; sonst: gehe zu Voresung Methoden der KŸnstichen Inteigenz Voresung Methoden der KŸnstichen Inteigenz 18 Aufbau eines Produktionssystems Regebasierte Probemšsung Regen sind moduar eichte Modifizierung einzener Regen mögich Produktionsregen u Abstrakt gesprochen besteht eine Probemösung darin, durch Anwendung der Regen ein bestimmtes Symbo (oder mehrere) in einem zu erzeugen. u Beispie. Sei gegeben: Aufbau der Regen entspricht einzenen Wissenseementen der Domäne ( Regewissen ) Inferenzmaschine Regeinterpreter Erkennung Aktion Erkennung Erkennung Aktion Aktion Konfiktmenge Konfiktmenge evauiere Konfiktmenge evauiere die evauiere von mögichen die die von von mögichen ausgewähte mögichen Regen ausgewähte ausgewähte Regen Rege Regen Rege Rege Zie: enthät C Regewissensbasis X,Y,Z X,Y S S,Z Y,T T S,Y A B X,T C 6. Voresung Methoden der KŸnstichen Inteigenz Voresung Methoden der KŸnstichen Inteigenz 20

6 VorwŠrtsverkettender Interpreter Lšsung mit VorwŠrtsverkettung Komponenten: u Datenbasis/ u Produktionsregen (1) DATA Ausgangsdatenbasis (2) Unti DATA erfüt Terminierungskriterium do (3) Begin (4) Wähe eine anwendbare Rege R (deren Bedingungstei durch DATA erfüt ist) (5) DATA Ergebnis der Anwendung des R-Aktionsteis auf DATA (6) End Voraussetzung über die Konfiktresoution: u Ignoriere Regen, die bereits im stehende Symboe nochmas eintragen würden u Berücksichtige Regen gemäß ihrer Reihenfoge im Regespeicher angewendete Rege X,Y,Z X,Y S X,Y,Z,S S,Z T X,Y,Z,S,T S,Y A X,Y,Z,S,T,A Y,T B X,Y,Z,S,T,A,B X,T C X,Y,Z,S,T,A,B,C 6. Voresung Methoden der KŸnstichen Inteigenz Voresung Methoden der KŸnstichen Inteigenz 22 Lšsung mit RŸckwŠrtsverkettung Programmierstie im Vergeich u nur soche Regen werden ausgewäht, die das gesuchte Symbo in den (AS) schreiben u sind sie (noch) nicht anwendbar Teizie: anwendbar machen Zie: C X,Y,Z Rege: X,T C X,Y,Z Teizie 1: X (schon im AS) X,Y,Z Teizie 2: T X,Y,Z Rege: S,Z T X,Y,Z Teizie 1: S X,Y,Z Rege: X,Y S X,Y,Z Teizie 1: X (im AS) X,Y,Z,S Teizie 2: Y (im AS) X,Y,Z,S,T,C Teizie 2: Z (im AS) Anweisungsbasierter Sti Programm = Sequenz von Befehen und Abfragen Programmierer egt fest, was getan wird und in wecher Reihenfoge Kontrofuß übersichtich, aber starr Lesen, spezie zu Lisp: u Charniak & McDermott, Kapite 2, Seite Regebasierter Sti Programm = Menge von Regen und Regeinterpreter festgeegt nur, was in einer Situation zu tun ist; Regeinterpreter bestimmt Abfoge Kontrofuß fexibe, aber evt. unübersichticher zu KI-Programmierung: u Görz, 2. Aufage: Kapite 9.1 (nach Bedarf) 6. Voresung Methoden der KŸnstichen Inteigenz Voresung Methoden der KŸnstichen Inteigenz 24

8 Einführung in Expertensysteme. 21. Vorlesung: Regelbasiertes Programmieren und Expertensysteme

8 Einführung in Expertensysteme. 21. Vorlesung: Regelbasiertes Programmieren und Expertensysteme 8 Einführung in Expertensysteme 21. Vorlesung: Regelbasiertes Programmieren und Expertensysteme! " Francis Bacon (1561-1626) Ed Feigenbaum (1976)! " # Idee: Explizites Wissen über einen Aufgabenbereich

Mehr

Indexieren von PL-Formeln. Fetch-Pattern (ãhol-musterò) 4 Logik und Inferenz. Methoden der KŸnstlichen Intelligenz

Indexieren von PL-Formeln. Fetch-Pattern (ãhol-musterò) 4 Logik und Inferenz. Methoden der KŸnstlichen Intelligenz Indexing Accessibiity is just as important as content 4 Logik und Inferenz 12. Voresung: Indexing; Assoziative Netzwerke Inferenz durch Graphsuche Methoden der KŸnstichen Inteigenz Ipke Wachsmuth ÊWS 2000/2001

Mehr

Aussagenlogische Schlu regeln. Theorembeweisen: Strategien. 4 Logik und Inferenz. Methoden der KŸnstlichen Intelligenz

Aussagenlogische Schlu regeln. Theorembeweisen: Strategien. 4 Logik und Inferenz. Methoden der KŸnstlichen Intelligenz bersicht 4 Logik und Inferenz 11. Voresung: Unifikation; Vorwärts- und Rückwärtsverkettung, Goa Trees Methoden der KŸnstichen Inteigenz Ipke Wachsmuth ÊWS 2000/2001 u Unifikation; Vorwärts- und Rückwärtsverkettung

Mehr

LISP. Viele eklige Klammern. Entropia e.v. - CCC Karlsruhe

LISP. Viele eklige Klammern. Entropia e.v. - CCC Karlsruhe LISP Viele eklige Klammern LISP: Übersicht Was ist LISP? Programmiersprache mit vielen Klammern Listen orientierte Sprache (LISt Processor) Nicht rein funktional Viele Funktionen mit Nebeneffekten Später

Mehr

Aufgaben und Lösungen Ausarbeitung der Übungsstunde zur Vorlesung Analysis I

Aufgaben und Lösungen Ausarbeitung der Übungsstunde zur Vorlesung Analysis I Aufgaben und en Ausarbeitung der Übungsstunde zur Voresung Anaysis I Wintersemester 2008/2009 Übung 7 Eineitung Vor den übichen Fragen bezügich der Unkarheiten in dem Hausaufgabenbatt so eine 15-minutige

Mehr

Abgrenzung & Ausgangspunkte. Was ist KŸnstliche Intelligenz? 1 KI und symbolische Repräsentation. Methoden der KŸnstlichen Intelligenz

Abgrenzung & Ausgangspunkte. Was ist KŸnstliche Intelligenz? 1 KI und symbolische Repräsentation. Methoden der KŸnstlichen Intelligenz Was ist Inteigenz? 1 KI und symboische Repräsentation 1. Voresung: Einführung Methoden der KŸnstichen Inteigenz Ipke Wachsmuth ÊWS 2000/2001 [Phiosophisches Wšrterbuch, 1976] [Wšrterbuch zu den phiosophischen

Mehr

LISP A programmable programming language

LISP A programmable programming language Johannes Siegert Informatikstudent 4. Semester Fakultät Informatik Institut für Software und Multimediatechnik Professor Softwaretechnologie LISP A programmable programming language Dresden, 14.Mai.2009

Mehr

Outline. 1 Einleitung. 2 Einführung in C. 3 Fortgeschrittenes in C. 4 Einführung in Emacs Lisp. 5 Einführung in Prolog. 6 Formale Semantik

Outline. 1 Einleitung. 2 Einführung in C. 3 Fortgeschrittenes in C. 4 Einführung in Emacs Lisp. 5 Einführung in Prolog. 6 Formale Semantik Outline 1 Einleitung 2 Einführung in C 3 Fortgeschrittenes in C 4 Einführung in Emacs Lisp 5 Einführung in Prolog 6 Formale Semantik Lisp 1958 von John McCarthy erfunden Funktionales Programmierparadigma

Mehr

Expertensysteme. Schalenmodell zur KI. bersicht. 6 Intelligente Systeme. Methoden der KŸnstlichen Intelligenz

Expertensysteme. Schalenmodell zur KI. bersicht. 6 Intelligente Systeme. Methoden der KŸnstlichen Intelligenz UniversitŠt Bieefed 6 Inteigente Systeme 13. Voresung: Einführung in Expertensysteme Methoden der KŸnstichen Inteigenz Bernhard Jung Ê WS 2001/2002 UniversitŠt Bieefed Expertensysteme Mit Expertensystemen

Mehr

Einführung in die Programmiertechnik

Einführung in die Programmiertechnik Einführung in die Programmiertechnik Funktionale Programmierung: LISP Grundlagen funktionaler Programmierung Idee: Zu lösendes Problem wird als mathematische Funktion formuliert Beispiel Rechtschreibprüfung:

Mehr

Michael Tomasello Die kulturelle Entwicklung des menschlichen Denkens. suhrkamp taschenbuch wissenschaft

Michael Tomasello Die kulturelle Entwicklung des menschlichen Denkens. suhrkamp taschenbuch wissenschaft Michae Tomaseo Die kuturee Entwickung des menschichen Denkens suhrkamp taschenbuch wissenschaft Inhat Vorwort... 7 1 EinRätseundeineVermutung... 12 2 Bioogische und kuturee Vererbung................ 25

Mehr

Definition von Diagnostik. Diagnostik versus Konstruktion. 6 Einführung in Expertensysteme. Methoden der KŸnstlichen Intelligenz

Definition von Diagnostik. Diagnostik versus Konstruktion. 6 Einführung in Expertensysteme. Methoden der KŸnstlichen Intelligenz UniversitŠt Bieefed UniversitŠt Bieefed Probemšsungsmethoden 6 Einführung in Expertensysteme 18. Voresung: Diagnostische Probemösungsmethoden Methoden der KŸnstichen Inteigenz Ipke Wachsmuth ÊWS 2000/2001

Mehr

ISA-Hierarchie und Vererbung. Alternative Notationen. 1 KI und symbolische Repräsentation. Methoden der KŸnstlichen Intelligenz

ISA-Hierarchie und Vererbung. Alternative Notationen. 1 KI und symbolische Repräsentation. Methoden der KŸnstlichen Intelligenz ReprŠsentation einer Szene 1 KI und symboische Repräsentation 3. Voresung: Aternative Notationen: Semantische Netze; Frames Methoden der KŸnstichen Inteigenz Ipke Wachsmuth ÊWS 2000/2001 bock-2 bock-1

Mehr

Proseminar Funktionales Programmieren. Stephan Kreutzer

Proseminar Funktionales Programmieren. Stephan Kreutzer Proseminar Funktionales Programmieren Die Programmiersprache LISP Stephan Kreutzer Teil I: Funktionales Programmieren Imperative Sprachen Imperative Sprachen: Befehlsorientiert Imperative Sprachen orientieren

Mehr

UniversitŠt Bielefeld Von den Sinnen ins GedŠchtnis. Annahmen über den Informationsfluß beim Menschen ("ohne Gewähr") Über die Sinne empfangene

UniversitŠt Bielefeld Von den Sinnen ins GedŠchtnis. Annahmen über den Informationsfluß beim Menschen (ohne Gewähr) Über die Sinne empfangene Von den Sinnen ins GedŠchtnis 7 und Kommunikation 20. Voresung: Vom Iut zur internen Repräsentation am Beispie Methoden der KŸnstichen Inteigenz Ipke Wachsmuth ÊWS 2000/2001 Annahmen über den Informationsfuß

Mehr

Einführung IMP-Syntax Reduktionssemantik Maschinen-Semantik. Teil IV. Semantik imperativer Sprachen

Einführung IMP-Syntax Reduktionssemantik Maschinen-Semantik. Teil IV. Semantik imperativer Sprachen Teil IV Semantik imperativer Sprachen 201 1. Einführung Alternativen zur Beschreibung der Semantik: natürliche Sprache (bisher, unpräzise) operational Reduktionssemantik (vgl. Haskell-Semantik in Kap.

Mehr

Übungen zur Vorlesung. Mobile und Verteilte Datenbanken. WS 2008/2009 Übung 2 Anfrageoptimierung in zentralisierten Datenbanksystemen LÖSUNG

Übungen zur Vorlesung. Mobile und Verteilte Datenbanken. WS 2008/2009 Übung 2 Anfrageoptimierung in zentralisierten Datenbanksystemen LÖSUNG Dr. rer. nat. Sven Groppe Übungen zur Voresung Mobie und Verteite Datenbanken WS 28/29 Übung 2 Anfrageoptimierung in zentraisierten Datenbanksystemen Aufgabe 1: Fogende Reationen seien gegeben: LÖSUNG

Mehr

Einführung in die Informatik Turing Machines

Einführung in die Informatik Turing Machines Einführung in die Informatik Turing Machines Eine abstrakte Maschine zur Präzisierung des Algorithmenbegriffs Wolfram Burgard Cyrill Stachniss 1/14 Motivation und Einleitung Bisher haben wir verschiedene

Mehr

n 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen - 1 -

n 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen - 1 - n 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik n "Informatik" = Kunstwort aus Information

Mehr

1 Inhalt der Vorlesung B-PS1

1 Inhalt der Vorlesung B-PS1 1 Inhalt der Vorlesung B-PS1 1.1 Tag 1 1.1.1 Vormittag Geschichte der Programmiersprachen Wie viele Programmiersprachen gibt es? https://en.wikipedia.org/wiki/list_of_programming_languages Esoterische

Mehr

SWP Logische Programme

SWP Logische Programme SWP Logische Programme Alexander Felfernig, Stephan Gspandl Institut für Softwaretechnologie {alexander.felfernig,sgspandl}@ist.tugraz.at Institute for Software Technology Inhalt Motivation Logische Programme

Mehr

Haskell, Typen, und Typberechnung. Grundlagen der Programmierung 3 A. Einige andere Programmiersprachen. Typisierung in Haskell

Haskell, Typen, und Typberechnung. Grundlagen der Programmierung 3 A. Einige andere Programmiersprachen. Typisierung in Haskell Haskell, Typen, und Typberechnung Grundlagen der Programmierung 3 A Typen, Typberechnung und Typcheck Prof. Dr. Manfred Schmidt-Schauß Ziele: Haskells Typisierung Typisierungs-Regeln Typ-Berechnung Milners

Mehr

Funktionale Programmiersprachen

Funktionale Programmiersprachen Funktionale Programmiersprachen An den Beispielen Haskell und Erlang Übersicht Programmiersprachen λ-kalkül Syntax, Definitionen Besonderheiten von funktionalen Programmiersprache, bzw. Haskell Objektorientierte

Mehr

Grundlagen der Programmierung 2. Operationale Semantik

Grundlagen der Programmierung 2. Operationale Semantik Grundlagen der Programmierung 2 Operationale Semantik Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 29. April 2009 Semantik von Programmiersprachen Semantik = Bedeutung

Mehr

26 Hierarchisch strukturierte Daten

26 Hierarchisch strukturierte Daten Algorithmik II Peter Wilke Sommersemester 2005 Teil III Funktionale Programmierung 26 Hierarchisch strukturierte Daten Peter Wilke Algorithmik II Sommersemester 2005 1 Peter Wilke Algorithmik II Sommersemester

Mehr

Beispiel: Hamming-Folge Erzeuge eine Folge X = x 0,x 2,... mit folgenden Eigenschaften: 1. x i+1 > x i für alle i

Beispiel: Hamming-Folge Erzeuge eine Folge X = x 0,x 2,... mit folgenden Eigenschaften: 1. x i+1 > x i für alle i Beispiel: Hamming-Folge Erzeuge eine Folge X = x 0,x 2,... mit folgenden Eigenschaften: 1. x i+1 > x i für alle i FP-8.7 2. x 0 = 1 3. Falls x in der Folge X auftritt, dann auch 2x, 3x und 5x. 4. Nur die

Mehr

Mathematische Probleme, SS 2013 Donnerstag $Id: convex.tex,v /10/22 15:58:28 hk Exp $

Mathematische Probleme, SS 2013 Donnerstag $Id: convex.tex,v /10/22 15:58:28 hk Exp $ $Id: convex.tex,v.2 203/0/22 5:58:28 hk Exp $ 3 Konvexgeometrie 3.2 Die patonischen Körper Ein patonischer Körper von Typ (n, m) ist ein konvexer Poyeder dessen Seitenfäche ae geichseitige n-ecke und in

Mehr

UniversitŠt Bielefeld Interface-Agenten (z.b. Laurel 1990, Kozierok & Maes 1993) etc.

UniversitŠt Bielefeld Interface-Agenten (z.b. Laurel 1990, Kozierok & Maes 1993) etc. Interface-Agenten (z.b. Laure 1990, Kozierok & Maes 1993) etc. 8 Einführung in Agentensysteme 25. Voresung: Interface-Agenten Ein virtueer Interface-Agent in VIENA Methoden der KŸnstichen Inteigenz Ipke

Mehr

Einführung in die Programmierung mit VBA

Einführung in die Programmierung mit VBA Einführung in die Programmierung mit VBA Vorlesung vom 07. November 2016 Birger Krägelin Inhalt Vom Algorithmus zum Programm Programmiersprachen Programmieren mit VBA in Excel Datentypen und Variablen

Mehr

Kapitel 2: Geschachtelte relationale Algebra

Kapitel 2: Geschachtelte relationale Algebra Kapite 2: Geschachtete reationae Agebra Eineitung Motivation Aniegen der Voresung: Breitere Vorsteung was ist Datenmode, was ist Anfragesprache? Im Fogenden insbesondere ersteres. Andeutung, warum Einfachheit

Mehr

Abgrenzung & Ausgangspunkte. Was ist KŸnstliche Intelligenz? 1 KI und symbolische Repräsentation. Methoden der KŸnstlichen Intelligenz

Abgrenzung & Ausgangspunkte. Was ist KŸnstliche Intelligenz? 1 KI und symbolische Repräsentation. Methoden der KŸnstlichen Intelligenz Was ist Inteigenz? 1 KI und symboische Repräsentation 1. Voresung: Einführung Methoden der KŸnstichen Inteigenz Bernhard Jung Ê WS 2001/2002 [Phiosophisches Wšrterbuch, 1976] [Wšrterbuch zu den phiosophischen

Mehr

Informationsverarbeitung im Bauwesen

Informationsverarbeitung im Bauwesen 12 im Bauwesen Markus Uhlmann 1 Zusammenfassung der 11. Vorlesung Objektorientierte Programmierung (OOP) Wozu eigentlich? Was unterscheidet OOP von traditionellen Techniken? Verwendung von vordefinierten

Mehr

Revised Report on the Algorithmic Language SCHEME

Revised Report on the Algorithmic Language SCHEME Revised Report on the Algorithmic Language SCHEME Entwickler Guy Lewis Steele Jr. Gerald J. Sussman 1975 MIT Spezifikationen IEEE Standard RnRS (R5RS) LISP Scheme Common Lisp Emacs Lisp Mac Lisp InterLisp

Mehr

Einführung in die Informatik Turing Machines

Einführung in die Informatik Turing Machines Einführung in die Informatik Turing Machines Eine abstrakte Maschine zur Präzisierung des Algorithmenbegriffs Wolfram Burgard 1 Motivation und Einleitung Bisher haben wir verschiedene Programmiersprachen

Mehr

Was ist Logische Programmierung?

Was ist Logische Programmierung? Was ist Logische Programmierung? Die Bedeutung eines Computer-Programms kann durch Logik erklärt werden. Die Idee der logischen Programmierung besteht darin, die Logik eines Programms selber als Programm

Mehr

Deduktion in der Aussagenlogik

Deduktion in der Aussagenlogik Deduktion in der Aussagenlogik Menge von Ausdrücken der Aussagenlogik beschreibt einen bestimmten Sachverhalt, eine "Theorie" des Anwendungsbereiches. Was folgt logisch aus dieser Theorie? Deduktion: aus

Mehr

Dank. Theoretische Informatik II. Teil II. Registermaschinen. Vorlesung

Dank. Theoretische Informatik II. Teil II. Registermaschinen. Vorlesung Dank Vorlesung Theoretische Informatik II Bernhard Beckert Institut für Informatik Diese Vorlesungsmaterialien basieren zum Teil auf den Folien zu den Vorlesungen von Katrin Erk (gehalten an der Universität

Mehr

Kapitel 2: Mathematik- und Informatik-Grundlagen

Kapitel 2: Mathematik- und Informatik-Grundlagen Kapite 2: Mathematik- und Informatik-Grundagen einer Menge gibt an, wie zufäig die Daten in einer Menge verteit sind (bzw. wie zufäig die Ausprägung eines Attributs in einer Menge von Objekten ist), auch

Mehr

E > 0. V eff (r) r. V eff,min < E < 0. r min. V (r)

E > 0. V eff (r) r. V eff,min < E < 0. r min. V (r) II.2 Zwei-Körper-Systeme 43 2 2µr 2 r min E > 0 r V eff (r) r max r min V eff,min < E < 0 V (r) E < V eff,min Abbidung II.4 Effektives Potentia V eff (r) für das Keper-Probem. Mit dem newtonschen Gravitationspotentia

Mehr

Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln

Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Frank Heitmann heitmann@informatik.uni-hamburg.de 9. Juni 2015 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/36 Ersetzbarkeitstheorem

Mehr

Das Programm ist deterministisch: es gibt für jedes Ziel höchstens eine Klausel, die zur erfolgreichen Ableitung des Zieles

Das Programm ist deterministisch: es gibt für jedes Ziel höchstens eine Klausel, die zur erfolgreichen Ableitung des Zieles Green Cuts Klauseln zum Mischen zweier geordneten Listen: merge ( [X Xs ], [Y Ys ], [X Zs ] ) : X < Y, merge ( Xs, [ Y Ys ], Zs ). (1) merge ( [X Xs ], [Y Ys ], [ X,Y Zs ] ) : X =:= Y, merge (Xs, Ys, Zs

Mehr

Typklassen. Natascha Widder

Typklassen. Natascha Widder Typklassen Natascha Widder 19.11.2007 Motivation Typklassen fassen Typen mit ähnlichen Operatoren zusammen ermöglichen überladenen Funktionen Definition Typklassen Deklarationsschema class Name Platzhalter

Mehr

Fourierreihenentwicklung Prof. K. Weinberg Universität Siegen Lehrstuhl für Festkörpermechanik

Fourierreihenentwicklung Prof. K. Weinberg Universität Siegen Lehrstuhl für Festkörpermechanik Fourierreihenentwickung Prof. K. Weinberg Universität Siegen Lehrstuh für Festkörpermechanik Mathematische Grundagen für Einfachreihenentwickungen Für viee mathematische, physikaische und technische Probeme

Mehr

Mikroökonomische Theorie Kapitel 4: Produktion

Mikroökonomische Theorie Kapitel 4: Produktion Miroöonomische Theorie Kapite 4: Prodution Prof. Dr. W. Leininger / Dr. J. Frane 1 1. Wiederhoung: Neoassische Produtionsfuntion F(,) Output F(,) Ertragsgebirge Arbeit Kapita Definition Isoquante: { (,)

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Einleitung Gliederung Einführung in die Programmierung Wintersemester 2017/18 Zum Begriff Informatik Zum Begriff Algorithmus Zum Begriff Programmieren Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik FH Wedel Prof. Dr. Sebastian Iwanowski GTI22 Folie 1 Grundlagen der Theoretischen Informatik Sebastian Iwanowski FH Wedel Kap. 2: Logik, Teil 2.2: Prädikatenlogik FH Wedel Prof. Dr. Sebastian Iwanowski

Mehr

Probabilistisches Schlie en. Beispiel: Regel mit Evidenzen. 5 Spezielle Schlußverfahren. Methoden der KŸnstlichen Intelligenz

Probabilistisches Schlie en. Beispiel: Regel mit Evidenzen. 5 Spezielle Schlußverfahren. Methoden der KŸnstlichen Intelligenz UniversitŠt Bieefed UniversitŠt Bieefed Unsicherheit, UnvostŠndigkeit 5 Speziee Schußverfahren 10. Voresung: Probabiistisches Schießen Nichtmonotones Schießen Methoden der KŸnstichen Inteigenz Bernhard

Mehr

. Lisp. Moritz Heidkamp 25. April 2011

. Lisp. Moritz Heidkamp 25. April 2011 .. Lisp Moritz Heidkamp moritz@twoticketsplease.de 25. April 2011 1 / 36 . Greenspun s Tenth Rule Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden,

Mehr

1. Typen 1.1 Typsicherheit 1.2 Typprüfung

1. Typen 1.1 Typsicherheit 1.2 Typprüfung 1. Typen 1.1 Typsicherheit 1.2 Typprüfung Ein Typsystem ist ein praktikables, syntaktisches Verfahren, mit dem man die Abwesenheit gewisser Laufzeit-Eigenschaften eines Programms beweisen kann, indem man

Mehr

Deklaration einer Klasse Innere innerhalb Klassen einer in Ja anderen v a Klasse

Deklaration einer Klasse Innere innerhalb Klassen einer in Ja anderen v a Klasse Innere Klassen in Java Java 1.0: nur top-level Klassen Seit Java Version 1.1: Innere Klassen Deklaration einer Klasse innerhalb einer anderen Klasse Illustration Eigenschaften Vorteile Anwendungsmöglichkeiten

Mehr

Übersicht. Prädikatenlogik höherer Stufe. Syntax der Prädikatenlogik 1. Stufe (mit Gleichheit)

Übersicht. Prädikatenlogik höherer Stufe. Syntax der Prädikatenlogik 1. Stufe (mit Gleichheit) Übersicht I Künstliche Intelligenz II Problemlösen III Wissen und Schlussfolgern 7. Logische Agenten 8. Prädikatenlogik 1. Stufe 9. Schließen in der Prädikatenlogik 1. Stufe 10. Wissensrepräsentation IV

Mehr

Die Syntax von Java. Ursprünge. Konsequenzen. Das Wichtigste in Kürze. Weiteres Vorgehen. Rund um Java. Sun Microsystems. Borland Software Corp

Die Syntax von Java. Ursprünge. Konsequenzen. Das Wichtigste in Kürze. Weiteres Vorgehen. Rund um Java. Sun Microsystems. Borland Software Corp Ursprünge Die Syntax von Java Borland Software Corp 1995 Syntax: Pascal Objektorientierte Prorammierung optional Plattformen: Windows (Linux, Mac OS X) Sun Microsystems 1995 Syntax: C/C++ Objektorientiert

Mehr

Grundlagen wissenschaftlichen Arbeitens COMMON LISP. Jürgen Prömer, Matr.Nr.: Nr. 9, Gruppe E, Leiter: Prof. Franz Puntigam WS 2004

Grundlagen wissenschaftlichen Arbeitens COMMON LISP. Jürgen Prömer, Matr.Nr.: Nr. 9, Gruppe E, Leiter: Prof. Franz Puntigam WS 2004 Abstract Grundlagen wissenschaftlichen Arbeitens COMMON LISP Jürgen Prömer, Matr.Nr.: 042642 Nr. 9, Gruppe E, Leiter: Prof. Franz Puntigam WS 2004 Zunächst gebe ich einen kurzen historischen Überblick

Mehr

Übersicht. 7. Prädikatenlogik 1. Stufe

Übersicht. 7. Prädikatenlogik 1. Stufe Übersicht I Künstliche Intelligenz II Problemlösen III Wissen und Schlußfolgern 6. Logisch schließende Agenten 7. Prädikatenlogik 1. Stufe 8. Entwicklung einer Wissensbasis 9. Schließen in der Prädikatenlogik

Mehr

Interview zur BegriffsklŠrung Quelle: Watermann, A Guide to Expert Systems, 1986, 166-169.

Interview zur BegriffsklŠrung Quelle: Watermann, A Guide to Expert Systems, 1986, 166-169. Wissensmodeierung: Stadien 6 Einführung in Expertensysteme 17. Voresung: Wissensmodeierung: Rapid Prototyping und Modebasierter Ansatz Methoden der KŸnstichen Inteigenz Ipke Wachsmuth ÊWS 2000/2001 Der

Mehr

l Eine Datenbank (DB) soll die Realwelt korrekt abbilden l Semantische Integritätsbedingungen (IB) alle spezifizierten IB erfüllt sind

l Eine Datenbank (DB) soll die Realwelt korrekt abbilden l Semantische Integritätsbedingungen (IB) alle spezifizierten IB erfüllt sind spezifizieren sind werden g.d.w. Kapite 6 Semantische Integrität & Trigger in SQL-99 Dekarative Integritätbedingungen Trigger Semantische Integrität - Kurzeinfhrung Eine Datenbank (DB) so die Reawet korrekt

Mehr

Das Erstgespräch. sein will?

Das Erstgespräch. sein will? 34 Kapite 2 Die Akquisitionsphase Das Erstgespräch Grundannahmen des Handens Das Ereben der Wirkichkeit ist das Ergebnis der Wahrnehmungsfokussierung Wie unterstütze ich meinen Coachee, das zu sein, was

Mehr

Workshop Einführung in die Sprache Haskell

Workshop Einführung in die Sprache Haskell Workshop Einführung in die Sprache Haskell Nils Rexin, Marcellus Siegburg und Alexander Bau Fakultät für Informatik, Mathematik und Naturwissenschaften Hochschule für Technik, Wirtschaft und Kultur Leipzig

Mehr

C Mathematische Grundlagen

C Mathematische Grundlagen C Mathematische Grundagen C.1 Summen Mit dem Summenzeichen werden Rechenanweisungen zum Addieren kompakt geschrieben. Sie assen sich oft mit Hife der Summenregen vereinfachen. C.1 Gibt es insgesamt n Werte

Mehr

Blatt 3. Zunächst erinnern wir uns an die Definition einer Quadraturformel (Formel (11) von Blatt 2) 1 f(x) dx. w i f(x i ). (1) i=1.

Blatt 3. Zunächst erinnern wir uns an die Definition einer Quadraturformel (Formel (11) von Blatt 2) 1 f(x) dx. w i f(x i ). (1) i=1. Programmierpraktikum Computationa Finance WS 2014/ 2015 Prof. Dr. Thomas Gerstner Marco No Programmierpraktikum Computationa Finance Batt 3 1 Einführung Auf diesem Batt woen wir uns nun numerischen Quadraturverfahren

Mehr

Grundlagen der Kognitiven Informatik

Grundlagen der Kognitiven Informatik Grundlagen der Kognitiven Informatik Resolutionskalkül und Prolog Ute Schmid Kognitive Systeme, Angewandte Informatik, Universität Bamberg letzte Änderung: 14. Dezember 2010 U. Schmid (CogSys) KogInf-Resolution

Mehr

Programmierung Paradigmen und Konzepte

Programmierung Paradigmen und Konzepte Programmierung Paradigmen und Konzepte Mit 79 Bildern, 85 Beispielen, 130 Aufgaben und Kontrollfragen und 19 Referatsthemen Fachbuchverlag Leipzig im Carl Hanser Verlag 1 Einführung und Überblick 11 1.1

Mehr

Funktionale Programmierung ALP I. λ Kalkül WS 2012/2013. Prof. Dr. Margarita Esponda. Prof. Dr. Margarita Esponda

Funktionale Programmierung ALP I. λ Kalkül WS 2012/2013. Prof. Dr. Margarita Esponda. Prof. Dr. Margarita Esponda ALP I λ Kalkül WS 2012/2013 Berechenbarkeit - inspiriert durch Hilbert's Frage - im Jahr 1900, Paris - Internationaler Mathematikerkongress Gibt es ein System von Axiomen, aus denen alle Gesetze der Mathematik

Mehr

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

Mehr

1.1 Motivation. Theorie der Informatik. Theorie der Informatik. 1.1 Motivation. 1.2 Syntax. 1.3 Semantik. 1.4 Formeleigenschaften. 1.

1.1 Motivation. Theorie der Informatik. Theorie der Informatik. 1.1 Motivation. 1.2 Syntax. 1.3 Semantik. 1.4 Formeleigenschaften. 1. Theorie der Informatik 19. Februar 2014 1. Aussagenlogik I Theorie der Informatik 1. Aussagenlogik I Malte Helmert Gabriele Röger Universität Basel 19. Februar 2014 1.1 Motivation 1.2 Syntax 1.3 Semantik

Mehr

Aussagenlogische Kalküle

Aussagenlogische Kalküle Aussagenlogische Kalküle Ziel: mit Hilfe von schematischen Regeln sollen alle aus einer Formel logisch folgerbaren Formeln durch (prinzipiell syntaktische) Umformungen abgeleitet werden können. Derartige

Mehr

Intuitionistische Lineare Logik

Intuitionistische Lineare Logik Lineare Logik Intuitionistische Lineare Logik Zusammenhang zur intuitionistischen Logik Termzuweisung und funktionale Interpretation Intuitionistische Lineare Logik Sinn und Zweck : Kontrolle über Ressourcen

Mehr

Übergang von funktionaler zu OOP. Algorithmen und Datenstrukturen II 1

Übergang von funktionaler zu OOP. Algorithmen und Datenstrukturen II 1 Übergang von funktionaler zu OOP Algorithmen und Datenstrukturen II 1 Imperative vs. funktionale Programmierung Plakativ lassen sich folgende Aussagen treffen: funktional: imperativ: Berechnung von Werten

Mehr

1 Funktionale vs. Imperative Programmierung

1 Funktionale vs. Imperative Programmierung 1 Funktionale vs. Imperative Programmierung 1.1 Einführung Programme einer funktionalen Programmiersprache (functional programming language, FPL) bestehen ausschließlich aus Funktionsdefinitionen und Funktionsaufrufen.

Mehr

Knotenfärbungen mit Abstandsbedingungen

Knotenfärbungen mit Abstandsbedingungen Knotenfärbungen mit Abstandsbedingungen Von der Fakutät für Mathematik und Informatik der Technischen Universität Bergakademie Freiberg genehmigte DISSERTATION zur Erangung des akademischen Grades doctor

Mehr

Ursprünge. Die Syntax von Java. Das Wichtigste in Kürze. Konsequenzen. Weiteres Vorgehen. Rund um Java

Ursprünge. Die Syntax von Java. Das Wichtigste in Kürze. Konsequenzen. Weiteres Vorgehen. Rund um Java Ursprünge Die Syntax von Java Borland Software Corp 1995 Syntax: Pascal Objektorientierte Prorammierung optional Plattformen: Windows (Linux, Mac OS X) Sun Microsystems 1995 Syntax: C/C++ Objektorientiert

Mehr

Prof. Dr. Wolfgang Reisig. Humboldt-Universität zu Berlin Institut für Informatik Lehrstuhl für Theorie der Programmierung

Prof. Dr. Wolfgang Reisig. Humboldt-Universität zu Berlin Institut für Informatik Lehrstuhl für Theorie der Programmierung Prof. Dr. Wofgang Reisig Humbodt-Universität zu Berin Institut für Informatik Lehrstuh für Theorie der Programmierung Schechte Erfahrungen Jeder kann sich steigern Wie hät man einen guten Vortrag? 2 Hintergrund

Mehr

Programmiersprachen. Organisation und Einführung. Berthold Hoffmann. Studiengang Informatik Universität Bremen

Programmiersprachen. Organisation und Einführung. Berthold Hoffmann. Studiengang Informatik Universität Bremen Organisation und Einführung Studiengang Informatik Universität Bremen Sommersemester 2010 (Vorlesung am Montag, der 12. April 2010) (Montag, der 12. April 2008) 1 Vorstellung 2 Organisation 3 Einführung

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 - 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 - 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

Mehr

{P} S {Q} {P} S {Q} {P} S {Q} Inhalt. Hoare-Kalkül. Hoare-Kalkül. Hoare-Tripel. Hoare-Tripel. Hoare-Tripel

{P} S {Q} {P} S {Q} {P} S {Q} Inhalt. Hoare-Kalkül. Hoare-Kalkül. Hoare-Tripel. Hoare-Tripel. Hoare-Tripel Inhalt Hoare-Kalkül Formale Verifizierung Hoare-Kalkül while-sprache Terminierung Partielle / totale Korrektheit 4.0 Hoare-Kalkül entwickelt von C.A.R. (Tony) Hoare (britischer Informatiker), 1969 formales

Mehr

Methoden zur Interpretation LISPähnlicher. Programmiersprachen. Seminarvortrag / 53 FH AACHEN FACHBEREICH 9 TOBIAS STUMM MATR.-NR.

Methoden zur Interpretation LISPähnlicher. Programmiersprachen. Seminarvortrag / 53 FH AACHEN FACHBEREICH 9 TOBIAS STUMM MATR.-NR. Methoden zur Interpretation LISPähnlicher Programmiersprachen Seminarvortrag 20.01.2017 FACHBEREICH 9 TOBIAS STUMM MATR.-NR. 4012917 1 Inhalt Motivation Lisp > Definition > Scheme Interpreter > Definition

Mehr

1. Grundkonzepte der logischen Programmierung 2. Syntax von Prolog 3. Rechnen in Prolog. IV.1 Grundkonzepte der logischen Programmierung - 1 -

1. Grundkonzepte der logischen Programmierung 2. Syntax von Prolog 3. Rechnen in Prolog. IV.1 Grundkonzepte der logischen Programmierung - 1 - 1. Grundkonzepte der logischen Programmierung 2. Syntax von Prolog 3. Rechnen in Prolog IV.1 Grundkonzepte der logischen Programmierung - 1 - Übersicht Imperative Sprachen Deklarative Sprachen Folge von

Mehr

Gliederung. Programmierparadigmen. Einführung in Prolog: Einführung in Prolog: Programmieren in Prolog. Einführung Syntax Regeln Listen Relationen

Gliederung. Programmierparadigmen. Einführung in Prolog: Einführung in Prolog: Programmieren in Prolog. Einführung Syntax Regeln Listen Relationen Gliederung Programmierparadigmen Programmieren in Prolog D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg 1 Sommer 2011, 26. April

Mehr

Berechnung von Wurzeln

Berechnung von Wurzeln Sieginde Fürst Berechnung von Wurzen Rekursive Fogen Zinseszinsforme; Heronverfahren Inhate Berechnung eines mit Zinsesezins verzinsten Kapitas auf zwei Arten Heronforme Einschranken von Wurzen Ziee Erernen

Mehr

vii 4 t.scheme: Funktionale Programmierung Funktionen als Daten erster Klasse

vii 4 t.scheme: Funktionale Programmierung Funktionen als Daten erster Klasse Inhaltsverzeichnis Einleitung 1 Kaffee oder Tee?................................ 1 Die t.sprachen.................................. 2 Die Java-Implementierung........................... 5 Ockhams Rasiermesser.............................

Mehr

Resolutionskalkül. wird t als eine Menge K t von Klauseln geschrieben, welche die einzelnen Maxterme repräsentieren:

Resolutionskalkül. wird t als eine Menge K t von Klauseln geschrieben, welche die einzelnen Maxterme repräsentieren: Resolutionskalkül Ein Kalkül ist eine Kollektion von syntaktischen Umformungsregeln, die unter gegebenen Voraussetzungen aus bereits vorhandenen Formeln neue Formeln erzeugen. Der Resolutionskalkül besteht

Mehr

Fakten, Regeln und Anfragen

Fakten, Regeln und Anfragen Fakten, Regeln und Anfragen Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de 18.10.99 GK Prolog - Fakten, Regeln und Anfragen 1 Programmieren = Problemlösen Prolog ist eine deklarative

Mehr

5 Logische Programmierung

5 Logische Programmierung 5 Logische Programmierung Logik wird als Programmiersprache benutzt Der logische Ansatz zu Programmierung ist (sowie der funktionale) deklarativ; Programme können mit Hilfe zweier abstrakten, maschinen-unabhängigen

Mehr

Einführung in die funktionale Programmierung

Einführung in die funktionale Programmierung Einführung in die funktionale Programmierung Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 26. Oktober 2006 Haskell - Einführung Syntax Typen Auswertung Programmierung

Mehr

Einführung in die Programmierung Wintersemester 2016/17

Einführung in die Programmierung Wintersemester 2016/17 Einführung in die Programmierung Wintersemester 2016/17 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund Einleitung Gliederung Zum Begriff Informatik Zum

Mehr

Einführung in PROLOG. Christian Stocker

Einführung in PROLOG. Christian Stocker Einführung in PROLOG Christian Stocker Inhalt Was ist PROLOG? Der PROLOG- Interpreter Welcher Interpreter? SWI-Prolog Syntax Einführung Fakten, Regeln, Anfragen Operatoren Rekursion Listen Cut Funktionsweise

Mehr

Informatik A. Prof. Dr. Norbert Fuhr auf Basis des Skripts von Prof. Dr. Wolfram Luther und der Folien von Peter Fankhauser

Informatik A. Prof. Dr. Norbert Fuhr auf Basis des Skripts von Prof. Dr. Wolfram Luther und der Folien von Peter Fankhauser Informatik A Prof. Dr. Norbert Fuhr fuhr@uni-duisburg.de auf Basis des Skripts von Prof. Dr. Wolfram Luther und der Folien von Peter Fankhauser 1 Teil I Logik 2 Geschichte R. Descartes (17. Jhdt): klassische

Mehr

Einführung in die Informatik I (autip)

Einführung in die Informatik I (autip) Einführung in die Informatik I (autip) Dr. Stefan Lewandowski Fakultät 5: Informatik, Elektrotechnik und Informationstechnik Abteilung Formale Konzepte Universität Stuttgart 24. Oktober 2007 Was Sie bis

Mehr

Deductive Reasoning Agents

Deductive Reasoning Agents Deductive Reasoning Agents Ein Vortrag von Stefan Wilsky & Jaana Korte 19. April 2007 - Seminar Multiagentensysteme Universität Bielefeld Uridee der KI: Man gibt einem System Symbolische Repräsentation

Mehr

Einfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at

Einfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at Inhalt SWP Funktionale Programme (2. Teil) Einfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at Interpreter für funktionale Sprache

Mehr

1.3 Geschichte der Programmiersprachen

1.3 Geschichte der Programmiersprachen 50er Jahre erste Definition höherer Programmiersprachen Effizienz maßgebliches Designziel FORTRAN (Backus) als Sprache für wissenschaftliches Rechnen (komplexe Berechnungen, einfachen Daten), Arrays, Schleifen,

Mehr

Übung zu Kognitive Systeme I

Übung zu Kognitive Systeme I Übung zu Kognitive Systeme I Prolog Stephan Weller (Stephan.Weller@wiai.uni-bamberg.de) Kognitive Systeme / WIAI / Uni Bamberg 1. November 2006 Inhalt Intro Was ist Prolog? Wie funktioniert Prolog? Rekursion

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Prof. Dr. Rudolf Berrendorf Fachbereich Informatik Fachhochschule Bonn-Rhein-Sieg URM - Programmierung Dipl.-Inf. Sigrid Weil Fachbereich Informatik Fachhochschule Bonn-Rhein-Sieg Einordnung Programmier-Paradigma:

Mehr

Übersicht. Einführung in die Funktionale Programmierung: Einleitung & Motivation. Klassifizierung von Programmiersprachen (1)

Übersicht. Einführung in die Funktionale Programmierung: Einleitung & Motivation. Klassifizierung von Programmiersprachen (1) Stand der Folien: 18. Oktober 2010 Motivation Funktionale Programmiersprachen Haskell Übersicht Einführung in die Funktionale Programmierung: Einleitung & Motivation Dr. David Sabel 1 Motivation Übersicht

Mehr

Praktische Informatik 3

Praktische Informatik 3 Praktische Informatik 3 Christian Maeder WS 03/04 Vorlesung vom 12.1.2004: Ein/Ausgabe in funktionalen Sprachen Vorlesung vom 12.1.2004: Ein/Ausgabe in funktionalen Sprachen 3 Inhalt Wo ist das Problem?

Mehr

Peter P. Bothner Wolf-Michael Kahler. Programmieren in LISP Eine elementare und anwendungsorientierte EinfOhrung

Peter P. Bothner Wolf-Michael Kahler. Programmieren in LISP Eine elementare und anwendungsorientierte EinfOhrung Peter P. Bothner Wolf-Michael Kahler Programmieren in LISP Eine elementare und anwendungsorientierte EinfOhrung ...--- Programmierung EinfUhrung in die Programmiersprache Modula-2 von H. Pudlatz Ada von

Mehr

Logik für Informatiker

Logik für Informatiker Logik für Informatiker Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Logik in der Informatik Was ist Logik? 2 Logik in der Informatik Was ist Logik? Mathematisch? 3 Logik in der Informatik

Mehr