Programmierung in der KI. KI-Programmierung Ð Aufgaben. 2 Modellierung und Programmierung. Methoden der KŸnstlichen Intelligenz
|
|
- Beate Boer
- vor 7 Jahren
- Abrufe
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! " Francis Bacon (1561-1626) Ed Feigenbaum (1976)! " # Idee: Explizites Wissen über einen Aufgabenbereich
MehrIndexieren 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
MehrAussagenlogische 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
MehrLISP. 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
MehrAufgaben 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
MehrAbgrenzung & 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
MehrLISP 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
MehrOutline. 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
MehrExpertensysteme. 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
MehrEinfü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:
MehrMichael 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
MehrDefinition 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
MehrISA-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
MehrProseminar Funktionales Programmieren. Stephan Kreutzer
Proseminar Funktionales Programmieren Die Programmiersprache LISP Stephan Kreutzer Teil I: Funktionales Programmieren Imperative Sprachen Imperative Sprachen: Befehlsorientiert Imperative Sprachen orientieren
MehrUniversitŠ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ß
MehrEinfü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
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
MehrEinfü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
Mehrn 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
Mehr1 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
MehrSWP 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
MehrHaskell, 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
MehrFunktionale Programmiersprachen
Funktionale Programmiersprachen An den Beispielen Haskell und Erlang Übersicht Programmiersprachen λ-kalkül Syntax, Definitionen Besonderheiten von funktionalen Programmiersprache, bzw. Haskell Objektorientierte
MehrGrundlagen 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
Mehr26 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
MehrBeispiel: 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
MehrMathematische 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
MehrUniversitŠ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
MehrEinfü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
MehrKapitel 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
MehrAbgrenzung & 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
MehrInformationsverarbeitung 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
MehrRevised 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
MehrEinfü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
MehrWas 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
MehrDeduktion 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
MehrDank. 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
MehrKapitel 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
MehrE > 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
MehrFormale 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
MehrDas 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
MehrTypklassen. 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
MehrFourierreihenentwicklung 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
MehrMikroö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: { (,)
MehrEinfü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
MehrGrundlagen 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
MehrProbabilistisches 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 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,
Mehr1. 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
MehrDeklaration 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 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
MehrDie 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
MehrGrundlagen 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 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
MehrInterview 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
Mehrl 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
MehrDas 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
MehrWorkshop 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
MehrC 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
MehrBlatt 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
MehrGrundlagen 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
MehrProgrammierung 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
MehrFunktionale 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
MehrVBA-Programmierung: Zusammenfassung
VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung
Mehr1.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
MehrAussagenlogische 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
MehrIntuitionistische 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 Imperative vs. funktionale Programmierung Plakativ lassen sich folgende Aussagen treffen: funktional: imperativ: Berechnung von Werten
Mehr1 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.
MehrKnotenfä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
MehrUrsprü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
MehrProf. 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
MehrProgrammiersprachen. 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
Mehr1. 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
Mehr1. 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
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
MehrMethoden 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
Mehr1. 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
MehrGliederung. 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
MehrBerechnung 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
Mehrvii 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.............................
MehrResolutionskalkü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
MehrFakten, 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
Mehr5 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
MehrEinfü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
MehrEinfü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
MehrEinfü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
MehrInformatik 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
MehrEinfü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
MehrDeductive 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
MehrEinfache 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
Mehr1.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 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
MehrEinfü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)
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
MehrPraktische 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?
MehrPeter 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
MehrLogik 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