Prolog. Vertiefungsmodul Programmiersprachen. VM Programmiersprachen - Prolog. Florian Kleene

Größe: px
Ab Seite anzeigen:

Download "Prolog. Vertiefungsmodul Programmiersprachen. VM Programmiersprachen - Prolog. Florian Kleene"

Transkript

1 Prolog Vertiefungsmodul Programmiersprachen VM Programmiersprachen - Prolog Florian Kleene

2 Entstehung und Geschichte Aufbau von Prolog Programmen Fakten Regeln Anfragen Funktionsweise des Interpreters Grundlagen der Logik Unifikation Resolution Backtracking und Cut Prolog in der Praxis Expertensysteme Send + More = Money Zusammenfassung und Fazit Agenda 1 VM Programmiersprachen - Prolog

3 2 VM Programmiersprachen - Prolog Einordnung

4 Entstehung und Geschichte Name Prolog von franz. PROgrammation en LOGique bekannteste logische Programmiersprache deklarativ (wie bspw. SQL) Was statt Wie Entwickelt von Alain Colmeraurer und Mitarbeitern am Group d Intelligence Artificielle in Marseille Ausgangspunkt war das Frage-Antwort-System - System-Q um 1970 erste Version von Prolog Hauptanwendungsgebiet ist die Künstliche Intelligenz automatisierte Beweise Sprachverarbeitung (Spracherkennung, Texterkennung) Expertensysteme t Bildverarbeitung 3 VM Programmiersprachen - Prolog

5 Entstehung und Geschichte Zunächst nur engem Personenkreis bekannt 1981: Japanische Regierung: Fifth Generation Project Prolog als Basissprache für neue Mehrprozessorarchitektur großes finanzielles Budget (400 Mio US$) weltweite Beachtung des Projekts, Prolog erlangt Bekanntheit Viele verschiedene Systeme Micro-Prolog, Prolog I und II, Turbo-Prolog, SWI-Prolog, IF-Prolog unterschiedliche Syntax, unterschiedliche Built-In Prädikate Utilities: Interpreter, Compiler, Editor, Bugtracker, Built-In-Prädikate Konvergenz 1995: ISO Standard (Teil 1) umgesetzt von SWI- und IF-Prolog 2000: ISO Standard (Teil 2) bislang kaum umgesetzt 4 VM Programmiersprachen - Prolog

6 Aufbau von Prolog Programmen Programmierer erstellt mit Editor eine Wissensbasis Wissensbasis (Ausschnitt aus der Realwelt) abgeschlossenes System Fakten Eigenschaften von Objekten Beziehungen von Objekten zueinander Regeln (Gesetzmäßigkeiten) Programmierer Benutzer Benutzerschnittstelle (Prompt) Anfragen Interpreter Ableitung von Anfragen aus der Wissensbasis durch logische Inferenz 5 VM Programmiersprachen - Prolog

7 Aufbau von Prolog Programmen - Fakten Fakten immer als eindeutig wahr angesehen Interpretation durch den Nutzer/Programmierer Prolog verarbeitet t nur Zeichenfolgen Beispiele: student(florian). % Florian ist Student. vater(reinhold,florian).% Interpretation, wer ist wessen Vater? kind(verheiratet(doris,reinhold),florian). ( ) % Struktur Allgemeine Struktur: fakt ::= funktor. funktor({argument,}* t argument). Konstanten beginnen mit einem Kleinbuchstaben Variablen beginnen mit einem Großbuchstaben oder Unterstrich Kommentare durch % eingeleitet, oder durch /* */ eingeschlossen Abschluss jeder Zeile durch einen Punkt 6 VM Programmiersprachen - Prolog

8 Regeln machen Wissensbasis übersichtlicher ermöglichen Inferenz (Schlussfolgerung) Aufbau von Prolog Programmen - Regeln Beispiel Jeder Student interessiert sich für Informatik : Lösung 1: student(florian). student(philipp). Lösung 2: student(florian). interesse(florian,informatik). interesse(philipp,informatik). student(philipp). % viele weitere Studenten interesse(x,informatik) :- student(x). % eine einzige Regel Allgemeine Struktur: regel ::= kopf :- rumpf. ::= fakt :- {struktur,}* struktur. Kopf erfüllt, falls alle Bedingungen des Rumpfs erfüllbar sind 7 VM Programmiersprachen - Prolog

9 Aufbau von Prolog Programmen - Anfragen Äquivalent zu Hello World ist Stammbaum in Logik % Wissenbasis mensch(florian). mensch(thomas). % vater(reinhold,florian). % mutter(doris,florian). % elternteil(x,y) :- vater(x,y). elternteil(x,y) :- mutter(x,y). vorfahre(x,y) :- elternteil(x,y). vorfahre(x,y) :- elternteil(z,y),vorfahre(x,z). 8 VM Programmiersprachen - Prolog

10 Aufbau von Prolog Programmen - Anfragen Nutzung der Programme durch Anfragen am Prompt Beispielanfragen:?- vater(hermann,reinhold). true.?- elternteil(reinhold,florian). true.?- mensch(tobias). false.?- vorfahre(x,reinhold). X=hermann; X=katharina; false.?- vorfahre(doris,y). Y=florian; Y=thomas; false. 9 VM Programmiersprachen - Prolog

11 Aussagenlogik Beispielformel: a ( b c ) b Kontradiktion: für keine Belegung erfüllt. Bsp.: Tautologie: für alle Belegungen erfüllt. Bsp.: Hornklausel Disjunktion (Oder-Verknüpfung) von Literalen Grundlagen der Logik a ( b b) ( a a ) höchstens ein Term in nicht negierter Form vorhanden Bsp.: a, ( a b ), ( a b c ), ( a b c ) Hornformel (spezielle KNF) Konjunktion (Und-Verknüpfung) von Hornklauseln Fakt: genau ein nicht-negiertes Literal Regel: Kopf: nicht-negiert, Rumpf: alle Literale negiert Anfrage: alle Literale negiert 10 VM Programmiersprachen - Prolog

12 Unerfüllbarkeitstest Eliminierung von Literalen durch Schlussfolgerung Bsp.: ( a b) ( b c) ( a c) ( a b ) ( b c ) ( a c ) Ergebnis bei Anwendung auf Kontradiktion: leere Klausel (Widerspruch) Markierungsalgorithmus ermöglicht effiziente Prüfung exponentielle Laufzeit wird verhindert Grund: Hornformeln Anfragen negierte Anfrage der Wissensbasis hinzufügen wenn Herleitung der leeren Klausel möglich: Widerspruch (Kontradiktion) nicht negierte Anfrage ist Tautologie, also beweisbar 11 VM Programmiersprachen - Prolog

13 Unerfüllbarkeitstest - Beispiel Programm { ec,,( d e),( b cd, ),( a b)} { ec,,( d e ),( b c d ),( a b )} Anfrage a a Abarbeitungsfolge ( a ) ( a b ) ( b) ( b c d) ( c d ) c ( d) ( d e) ( e) e leere Klausel (Widerspruch) also Anfrage bewiesen 12 VM Programmiersprachen - Prolog

14 Grundlagen der Logik Problem: Aussagenlogik sieht keine Funktoren vor Problem: Variablen vater ( X, florian) kein Wahrheitswert zugeordnet Bindung durch Quantoren nötig Variablen in Wissensbasis: i implizit it allquantifiziert i t Variablen in Anfragen: implizit existenzquantifiziert Lösung: Übergang zur Prädikatenlogik erster Ordnung Anwendung des Unerfüllbarkeitstests zunächst Eliminierung von Existenzquantoren durch Skolemisierung Y : X : mann( Y ) lieben( Y, X ) Y : mann( Y ) lieben( Y, f ( Y )) s anschließend: Weglassen der Allquantoren und Unerfüllbarkeitstest 13 VM Programmiersprachen - Prolog

15 Unifikation Beweis von einfachen Anfragen aus der Wissensbasis Suche nach Prädikat mit gleichem Funktor + Stelligkeit übereinstimmender Fakt, übereinstimmende Struktur Matching (Kopf einer Regel) Unifikation + Resolution Beispiele: Zwei Konstanten?- =(florian, florian). % true Konstante und (ungebundene) Variable?- =(florian, X). % X=florian Struktur und (ungebundene) Variable?- =(mensch(florian), X). % X=mensch(florian) Zwei Variablen?- =(X,Y). % X und Y stehen für den selben Wert Zwei Strukturen?- =(eltern(x,doris),eltern(reinhold,doris)). % X=reinhold 14 VM Programmiersprachen - Prolog

16 Schlussfolgerungsmechanismus nötig für die Auswertung von Regeln Resolution einer Anfrage und einer Regel ergibt neue, wahrheitsäquivalente Anfrage Resolution Beispielanfrage: % l t T il d Wi b i?- vorfahre(reinhold,thomas). true. Ablauf % relevanter Teil der Wissensbasis: vater(reinhold,thomas). elternteil(x,y) :- vater(x,y). vorfahre(x,y) :- elternteil(x,y). t 1. vorfahre(reinhold,thomas). UND vorfahre(x,y):-elternteil(x,y). elternteil(reinhold,thomas). 2. elternteil(reinhold,thomas). UND elternteil(x,y):-vater(x,y). vater(reinhold,thomas). 3. vater(reinhold,thomas). UND vater(reinhold,thomas). true. 15 VM Programmiersprachen - Prolog

17 Abarbeitungsreihenfolge von Anfragen Anfragen: von links nach rechts Wissensbasis: von oben nach unten prozedurale Arbeitsweise (unerwünscht in reiner Logik) SLD-Resolution Beispielanfrage: i beweisbar(egal). unendliche Schleife obwohl als Fakt vorhanden % Wissensbasis: beweisbar(x) :- zirkel(x). zirkel(y) :- beweisbar(y). beweisbar(egal). Häufige Fehlerquelle in Programmen Rekursiv definierte Prädikate wichtig: erst Abbruchbedingung, dann rekursive Prädikatsdefinition einzige Möglichkeit Schleifen in Prolog zu erzeugen 16 VM Programmiersprachen - Prolog

18 Backtracking und Cut Backtracking, wenn Interpreter in Sackgasse Sackgasse geraten Suche nach alternativen Beweismöglichkeiten Variableninstanziierungen werden rückgängig gg gemacht Beispielanfrage:?- elternteil(doris,florian). true. Vorgehensweise % relevanter Teil der Wissensbasis: mutter(doris,florian). elternteil(x,y) :- vater(x,y). elternteil(x,y) :- mutter(x,y). 1. elternteil(doris,florian). UND elternteil(x,y):-vater(x,y). vater(doris,florian). Backtracking Schritt 2. elternteil(doris,florian). UND elternteil(x,y):-mutter(x,y). mutter(doris,florian). 3. mutter(doris,florian). UND mutter(doris,florian). true. 17 VM Programmiersprachen - Prolog

19 Backtracking und Cut Cut (Prolog Prädikat:!) verhindert Backtracking gezielt Programmierer greift aktiv in Lösungssuche ein Effizienzsteigerung durch Änderung der Suchreihenfolge Nachbildung von if-then-else wird möglich In Literatur kontrovers diskutiert Befürworter: Optimierungspotential Gegner: prozedurale Komponente, die dem Charakter der logischen Programmiersprache total entgegensteht Charakterisierung des Prolog Interpreters Prinzipien der Uninfikation und Resolution verwendet Tiefensuche, Backtracking, ki Cut 18 VM Programmiersprachen - Prolog

20 Prolog in der Praxis - Expertensysteme Experten durch Maschine ersetzen, weil Problemstruktur für Menschen zu komplex (Behörden) seltene Ausfallsituation ti (Experten zu teuer) nur geringe Anzahl an Experten weltweit verfügbar Prolog ermöglicht regelbasierte Expertensysteme Programmierer und Experten erstellen zusammen die Wissensbasis Programmschnittstellen ermöglichen Zugang zu externem Wissen Grundgerüst für alle Expertensysteme identisch (leere Shells) strikte tikt Trennung von Wissen und dwissensverarbeitung it dynamische Änderung der Wissensbasis zur Laufzeit Differenzierung zwischen generellem Wissen und Fallwissen 19 VM Programmiersprachen - Prolog

21 % Wissensbasis Prolog in der Praxis Send + More = Money I perm([],[]). perm(liste,[x Perm]) :- select(x,liste,rest),perm(rest,perm). select(x,[x Rest],Rest). t] t) select(x,[kopf Liste],[Kopf Rest]) :- select(x,liste,rest). generiere(s,e,n,d,m,o,r,y),,,,,, :- perm([s,e,n,d,m,o,r,y,_,_],[1,2,3,4,5,6,7,8,9,0]). gleichung(s,e,n,d,m,o,r,y) :- (S*1000+E*100+N*10+D*1) + (M*1000+O*100+R*10+E*1) =:= (M*10000+O*1000+N*100+E*10+Y*1). loese :- generiere(s,e,n,d,m,o,r,y), gleichung(s,e,n,d,m,o,r,y),not(m=:=0),!, write(m),write(o),write(n),write(e),write(y). Anfrage:?- loese true. 20 VM Programmiersprachen - Prolog

22 Minimalversioni i Prolog in der Praxis Send + More = Money II Wissensbasis besteht aus einer Zeile Code Nutzung des Built-In Prädikats permutation(_,_) ti % Wissensbasis loese :- permutation([s,e,n,d,m,o,r,y,_,_],[1,2,3,4,5,6,7,8,9,0]), (S*1000+E*100+N*10+D)+(M*1000+O*100+R*10+E) =:=(M*10000+O*1000+N*100+E*10+Y), not(m=:=0), % M soll nicht 0 sein!, % Nur eine Lösung write(m),write(o),write(n),write(e),write(y).% (O) (N) (E) (Y) Ausgabe der Lösung Anfrage?- loese true. 21 VM Programmiersprachen - Prolog

23 Stärken Zusammenfassung und Fazit Code-Änderung dynamisch zur Laufzeit Lernfähigkeit Korrektheitsbeweise möglich (nähe zur Mathematik) Schwächen im Vergleich zu imperativen oder objektorientierten Sprachen: langsamere Ausführungsgeschwindigkeit trotz Cut keine einheitlichen Standards trotz ISO Norm arithmetische Operationen schwierig zu realisieren Fazit Fifth Generation Projekt 1992 als gescheitert erklärt Trend zu Mehrprozessorsystemen als neue Chance für Prolog?! Either it [the Fifth Generation Project] was a failure, or it was ahead of its time 22 VM Programmiersprachen - Prolog

24 F. Belli: Einführung in die logische Programmierung mit Prolog, Bibliograsches Institut Mannheim, F. Belli: Prolog-Systeme in der Praxis, Mannheim, Literatur Wilhelm Bolkart: Programmiersprachen der 4. und 5. Generation, Hamburg,1987. William F. Clocksin, Christopher S. Mellish: Programming g in Prolog, Springer,2003. R. Cordes, R. Kruse, H. Langendörfer, H. Rust: Prolog: Eine methodische Einführung, Vieweg, Hans Kleine Büning, Stefan Schmittgen: Prolog: Grundlagen und Anwendungen, Teubner, Esther König, Roland Seifert: Grundkurs Prolog für Linguisten, UTB Linguistik,1989. Uwe Schöning: Logik für Informatiker, Spektrum, Dr. Stuart E. Savory: Expertensysteme: Nutzen für Ihr Unternehmen, R. Oldenbourg Verlag, VM Programmiersprachen - Prolog

25 Markierungsalgorithmus Programm F = ( a b d) e ( c a) c b ( g d) g) Wahrheitstafel: h t 64 Zeilen Markierungsalgorithmus g 1. Schritt: c, b, g markiert 2. Schritt: a, d markiert Ausgabe: unerfüllbar, da ( a b d 0) folgt, wobei a, b, d markiert sind 24 VM Programmiersprachen - Prolog

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

Mai 2006. Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln

Mai 2006. Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln Hauptseminar: Nichtrelationale Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln Mai 2006 Was ist eine Datenbank? Erweiterung relationaler um eine Deduktionskomponente Diese

Mehr

Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur

Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur Signatur Formeln Am Beispiel der Aussagenlogik erklären wir schrittweise wichtige Elemente eines logischen Systems. Zunächst benötigt ein logisches System ein Vokabular, d.h. eine Menge von Namen, die

Mehr

Logische Programmierung

Logische Programmierung Logische Programmierung B-82 Deklaratives Programmieren in Prädikatenlogik: Problem beschreiben statt Algorithmus implementieren (idealisiert). Grundlagen: Relationen bzw. Prädikate (statt Funktionen);

Mehr

Inhalt. SWP Logische Programme. Motivation. Formalisierung. Wissensbasis. Bsp (Bibel)Verwandtschaften. Motivation Sprache LP

Inhalt. SWP Logische Programme. Motivation. Formalisierung. Wissensbasis. Bsp (Bibel)Verwandtschaften. Motivation Sprache LP Inhalt SWP Logische Programme Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at Motivation Sprache LP Resolution Unifikation Datenbanken und logische Programme Semantik 2 Motivation Bsp

Mehr

Binäre Suchbäume (binary search trees, kurz: bst)

Binäre Suchbäume (binary search trees, kurz: bst) Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 27. Aussagenlogik: Logisches Schliessen und Resolution Malte Helmert Universität Basel 28. April 2014 Aussagenlogik: Überblick Kapitelüberblick Aussagenlogik: 26.

Mehr

Prolog basiert auf Prädikatenlogik

Prolog basiert auf Prädikatenlogik Software-Technologie Software-Systeme sind sehr komplex. Im Idealfall erfolgt die Programmierung problemorientiert, während die notwendige Übertragung in ausführbare Programme automatisch erfolgt. Prolog-Philosophie:

Mehr

Einführung in die Fuzzy Logic

Einführung in die Fuzzy Logic Einführung in die Fuzzy Logic Entwickelt von L. Zadeh in den 60er Jahren Benutzt unscharfe (fuzzy) Begriffe und linguistische Variablen Im Gegensatz zur Booleschen Logik {0,} wird das ganze Intervall [0,]

Mehr

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie und, oder, nicht, wenn... dann zwischen atomaren und komplexen Sätzen. I. Aussagenlogik 2.1 Syntax Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen. Sätze selbst sind entweder wahr oder falsch. Ansonsten

Mehr

Formale Methoden II. Gerhard Jäger. SS 2008 Universität Bielefeld. Teil 8, 11. Juni 2008. Formale Methoden II p.1/30

Formale Methoden II. Gerhard Jäger. SS 2008 Universität Bielefeld. Teil 8, 11. Juni 2008. Formale Methoden II p.1/30 Formale Methoden II SS 2008 Universität Bielefeld Teil 8, 11. Juni 2008 Gerhard Jäger Formale Methoden II p.1/30 Beispiele Anmerkung: wenn der Wahrheitswert einer Formel in einem Modell nicht von der Belegungsfunktion

Mehr

Erfüllbarkeit und Allgemeingültigkeit

Erfüllbarkeit und Allgemeingültigkeit Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik Erfüllbarkeit 44 Erfüllbarkeit und Allgemeingültigkeit Def.: eine Formel ϕ heißt erfüllbar, wennesein I gibt, so dass I = ϕ

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

Klausur für Studiengänge INF und IST

Klausur für Studiengänge INF und IST Familienname: Matrikelnummer: Studiengang: (bitte ankreuzen) INF IST MED Vorname: Email-Adresse: Immatrikulationsjahr: Klausur für Studiengänge INF und IST sowie Leistungsschein für Studiengang Medieninformatik

Mehr

Logik für Informatiker

Logik für Informatiker Logik für Informatiker 2. Aussagenlogik Teil 3 30.04.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Letztes Mal Aussagenlogik Syntax: welche Formeln? Semantik:

Mehr

Java Einführung Operatoren Kapitel 2 und 3

Java Einführung Operatoren Kapitel 2 und 3 Java Einführung Operatoren Kapitel 2 und 3 Inhalt dieser Einheit Operatoren (unär, binär, ternär) Rangfolge der Operatoren Zuweisungsoperatoren Vergleichsoperatoren Logische Operatoren 2 Operatoren Abhängig

Mehr

Einführung in Eclipse und Java

Einführung in Eclipse und Java Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski Einführung in Eclipse und Java Dipl.Inf. Manuel Götz Lehrstuhl für Angewandte Informatik

Mehr

Wissensrepräsentation und -verarbeitung in Logiken. bereinigt Pränex Skolem ( -Eliminierung) Klausel (Menge von Klauseln, Notation ohne Quantoren)

Wissensrepräsentation und -verarbeitung in Logiken. bereinigt Pränex Skolem ( -Eliminierung) Klausel (Menge von Klauseln, Notation ohne Quantoren) Was bisher geschah Wissensrepräsentation und -verarbeitung in Logiken klassische Aussagenlogik klassische Prädikatenlogik: Wiederholung Syntax, Semantik Normalformen: bereinigt Pränex Skolem ( -Eliminierung)

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Grundlagen der Theoretischen Informatik - Sommersemester 2012. Übungsblatt 1: Lösungsvorschläge

Grundlagen der Theoretischen Informatik - Sommersemester 2012. Übungsblatt 1: Lösungsvorschläge Lehrstuhl für Softwaretechnik und Programmiersprachen Professor Dr. Michael Leuschel Grundlagen der Theoretischen Informatik - Sommersemester 2012 Übungsblatt 1: Lösungsvorschläge Disclaimer: Bei Folgendem

Mehr

Wissensbasierte Systeme

Wissensbasierte Systeme WBS4 Slide 1 Wissensbasierte Systeme Vorlesung 4 vom 03.11.2004 Sebastian Iwanowski FH Wedel WBS4 Slide 2 Wissensbasierte Systeme 1. Motivation 2. Prinzipien und Anwendungen 3. Logische Grundlagen 4. Suchstrategien

Mehr

Fixpunktsemantik logischer Programme Pascal Hitzler Juli 1997 Kurzuberblick im Rahmen der Vorlesung Einfuhrung in Prolog von T. Cornell im Sommersemester 1997 an der Universitat Tubingen. Beweise sind

Mehr

Wissensbasierte Systeme/ Expertensysteme. Teil 2

Wissensbasierte Systeme/ Expertensysteme. Teil 2 Wissensbasierte Systeme/ Expertensysteme Teil 2 BiTS, Sommersemester 2004 Dr. Stefan Kooths KOOTHS BiTS: Wissensbasierte Systeme/Expertensysteme Teil 2 1 Gliederung 1. Einführung und Einordnung 2. Entscheidungsunterstützung(ssysteme)

Mehr

Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4

Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter H. Schmitt David Farago, Christoph Scheben, Mattias Ulbrich Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt

Mehr

Prädikate zum Testen und Manipulieren der Struktur der Terme; Mehr meta-logische Prädikate z.b. zum Testen des Zustands der Ableitung;

Prädikate zum Testen und Manipulieren der Struktur der Terme; Mehr meta-logische Prädikate z.b. zum Testen des Zustands der Ableitung; Mehr Prolog Prolog bietet mehr an, z.b.: Prädikate zum Testen und Manipulieren der Struktur der Terme; Mehr meta-logische Prädikate z.b. zum Testen des Zustands der Ableitung; Mehr extra-logische Prädikate,

Mehr

Modellierungsmethoden in der Informatik

Modellierungsmethoden in der Informatik Modellierungsmethoden in der Informatik Probeklausur WS 2007/08 UNIVERSITÄT D U I S B U R G E S S E N Disclaimer Die Aufgaben sind lediglich Beispiele Sie decken nicht den ganzen klausurrelevanten Stoff

Mehr

Einführung in. Logische Schaltungen

Einführung in. Logische Schaltungen Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von

Mehr

Grundlagen der Informationverarbeitung

Grundlagen der Informationverarbeitung Grundlagen der Informationverarbeitung Information wird im Computer binär repräsentiert. Die binär dargestellten Daten sollen im Computer verarbeitet werden, d.h. es müssen Rechnerschaltungen existieren,

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben. Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.

Mehr

Semantik von Formeln und Sequenzen

Semantik von Formeln und Sequenzen Semantik von Formeln und Sequenzen 33 Grundidee der Verwendung von Logik im Software Entwurf Syntax: Menge von Formeln = Axiome Ax K ist beweisbar Formel ϕ beschreiben Korrektkeit Vollständigkeit beschreibt

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

Fragen für die Klausuren

Fragen für die Klausuren Fragen für die Klausuren Vom Quellcode zum ausführbaren Programm Was ist ein Quellcode? Ist der Quellcode von einem Programm auf unterschiedlichen Rechner gleich? Nennen Sie drei Programmiersprachen. Was

Mehr

Sudoku-Informatik oder wie man als Informatiker Logikrätsel löst

Sudoku-Informatik oder wie man als Informatiker Logikrätsel löst Sudoku-Informatik oder wie man als Informatiker Logikrätsel löst Peter Becker Hochschule Bonn-Rhein-Sieg Fachbereich Informatik peter.becker@h-brs.de Kurzvorlesung am Studieninformationstag, 13.05.2009

Mehr

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen Zusammenfassung Zusammenfassung der letzten LV Einführung in die Theoretische Informatik Woche 6 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Satz 1 Seien F, G Boolesche Ausdrücke

Mehr

Datentypen. Agenda für heute, 4. März, 2010. Pascal ist eine streng typisierte Programmiersprache

Datentypen. Agenda für heute, 4. März, 2010. Pascal ist eine streng typisierte Programmiersprache Agenda für heute, 4. März, 2010 Zusammengesetzte if-then-else-anweisungen Datentypen Pascal ist eine streng typisierte Programmiersprache Für jeden Speicherplatz muss ein Datentyp t (Datenformat) t) definiert

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

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

Was bisher geschah. Aufgaben: Diagnose, Entscheidungsunterstützung Aufbau Komponenten und Funktion

Was bisher geschah. Aufgaben: Diagnose, Entscheidungsunterstützung Aufbau Komponenten und Funktion Was bisher geschah Daten, Information, Wissen explizites und implizites Wissen Wissensrepräsentation und -verarbeitung: Wissensbasis Kontextwissen Problemdarstellung fallspezifisches Wissen repräsentiert

Mehr

5.2 Neue Projekte erstellen

5.2 Neue Projekte erstellen 5.2 Neue Projekte erstellen Das Bearbeiten von bestehenden Projekten und Objekten ist ja nicht schlecht wie aber können Sie neue Objekte hinzufügen oder gar völlig neue Projekte erstellen? Die Antwort

Mehr

2. Vorlesung. Slide 40

2. Vorlesung. Slide 40 2. Vorlesung Slide 40 Knobelaufgabe Was tut dieses Programm? Informell Formal Wie stellt man dies sicher? knobel(a,b) { Wenn a = 0 dann return b sonst { solange b 0 wenn a > b dann { a := a - b sonst b

Mehr

Auswahl von Klauseln und Atomen in Prolog

Auswahl von Klauseln und Atomen in Prolog 5.6 Prolog... ist die bekannteste Implementierung einer LP-Sprache; wurde Anfang der 1970er von Alain Colmerauer (Marseille) und Robert Kowalski (Edinburgh) entwickelt. konkretisiert den vorgestellten

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Grundlagen der Informatik I Informationsdarstellung

Grundlagen der Informatik I Informationsdarstellung Grundlagen der Informatik I Informationsdarstellung Einführung in die Informatik, Gumm, H.-P./Sommer, M. Themen der heutigen Veranstaltung. ASCIi Code 2. Zeichenketten 3. Logische Operationen 4. Zahlendarstellung

Mehr

Bachelor Grundlagen der Logik und Logikprogrammierung 12. Februar 2009 3

Bachelor Grundlagen der Logik und Logikprogrammierung 12. Februar 2009 3 Bachelor Grundlagen der Logik und Logikprogrammierung 12. Februar 2009 3 Aufgabe 1 (20 Punkte) Dialogische Logik a) Was isteine formal wahrebehauptung? Welche Aussageschematasindallgemeingültig? b) Überprüfen

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 3: Alphabete (und Relationen, Funktionen, Aussagenlogik) Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Oktober 2008 1/18 Überblick Alphabete ASCII Unicode

Mehr

Algorithmik II. SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen.

Algorithmik II. SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen. Algorithmik II SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen.de Homepage der Vorlesung Vorbemerkungen I http://www8.informatik.uni-erlangen.de/immd8

Mehr

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch Ein Blick voraus des Autors von C++: Bjarne Stroustrup 04.06.2005 Conrad Kobsch Inhalt Einleitung Rückblick Nur eine Übergangslösung? Was würde C++ effektiver machen? Quelle 2 Einleitung Wo steht C++,

Mehr

Terme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes)

Terme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes) Prädikatenlogik Man kann den natürlichsprachlichen Satz Die Sonne scheint. in der Prädikatenlogik beispielsweise als logisches Atom scheint(sonne) darstellen. In der Sprache der Prädikatenlogik werden

Mehr

7 Rechnen mit Polynomen

7 Rechnen mit Polynomen 7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn

Mehr

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren: 4. AUSSAGENLOGIK: SYNTAX 4.1 Objektsprache und Metasprache 4.2 Gebrauch und Erwähnung 4.3 Metavariablen: Verallgemeinerndes Sprechen über Ausdrücke von AL 4.4 Die Sprache der Aussagenlogik 4.5 Terminologie

Mehr

der einzelnen Aussagen den Wahrheitswert der zusammengesetzten Aussage falsch falsch falsch falsch wahr falsch wahr falsch falsch wahr wahr wahr

der einzelnen Aussagen den Wahrheitswert der zusammengesetzten Aussage falsch falsch falsch falsch wahr falsch wahr falsch falsch wahr wahr wahr Kapitel 2 Grundbegriffe der Logik 2.1 Aussagen und deren Verknüpfungen Eine Aussage wie 4711 ist durch 3 teilbar oder 2 ist eine Primzahl, die nur wahr oder falsch sein kann, heißt logische Aussage. Ein

Mehr

Program = Logic + Control

Program = Logic + Control Program = Logic + Control Prozedurale/imperative Sprachen: Abläufe formulieren Computer führt aus von-neumann-maschine Idee von deklarativen/logischen/funktionalen Programmiersprachen: Zusammenhänge formulieren

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Grammatiken. Einführung

Grammatiken. Einführung Einführung Beispiel: Die arithmetischen Ausdrücke über der Variablen a und den Operationen + und können wie folgt definiert werden: a, a + a und a a sind arithmetische Ausdrücke Wenn A und B arithmetische

Mehr

9. Übung Formale Grundlagen der Informatik

9. Übung Formale Grundlagen der Informatik Institut für Informatik Sommersemester 2001 Universität Zürich 9. Übung Formale Grundlagen der Informatik Norbert E. Fuchs (fuchs@ifi.unizh.ch) Reinhard Riedl (riedl@ifi.unizh.ch) Nadine Korolnik (korolnik@ifi.unizh.ch)

Mehr

1 Aussagenlogische Formeln

1 Aussagenlogische Formeln 1 Aussagenlogische Formeln Aufgabe 1.1 Transformieren Sie die Formel in disjunktive Normalform (DNF). ((:A! :B) ^ D)! ((A _ C) $ (:B ^ D)) Lösung 1.1 Schrittweise Transformation: Schritt 1: ((:A! :B) ^

Mehr

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis Das komplette Material finden Sie hier: Download bei School-Scout.de

Mehr

Client-Server-Beziehungen

Client-Server-Beziehungen Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Robot Karol für Delphi

Robot Karol für Delphi Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško

Mehr

Theoretische Grundlagen des Software Engineering

Theoretische Grundlagen des Software Engineering Theoretische Grundlagen des Software Engineering 7: Einführung Aussagenlogik schulz@eprover.org Logisches Schließen 2 gold +1000, 1 per step, Beispiel: Jage den Wumpus Performance measure death 1000 10

Mehr

Einführung in das Programmieren Prolog Sommersemester 2006. Teil 2: Arithmetik. Version 1.0

Einführung in das Programmieren Prolog Sommersemester 2006. Teil 2: Arithmetik. Version 1.0 Einführung in das Programmieren Prolog Sommersemester 2006 Teil 2: Arithmetik Version 1.0 Gliederung der LV Teil 1: Ein motivierendes Beispiel Teil 2: Einführung und Grundkonzepte Syntax, Regeln, Unifikation,

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Programmieren Lernen mit BYOB. Gerald Futschek 5. November 2012

Programmieren Lernen mit BYOB. Gerald Futschek 5. November 2012 Programmieren Lernen mit BYOB Informatiktag 2012 Gerald Futschek 5. November 2012 Erste Programmier Schritte in der Schule Sehr viele verschiedene Dinge zu lernen: Syntax und Semantik der Befehle, Algorithmen,

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

Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4.

Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4. Agenda für heute, 4. Mai, 2006 Programmierparadigmen Imperative Programmiersprachen In Prozeduren zusammengefasste, sequentiell ausgeführte Anweisungen Die Prozeduren werden ausgeführt, wenn sie als Teil

Mehr

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine Seite 1 von 11 Anleitung Inhalt Inhalt... 1 1. Installation... 2 2. Setup... 2 2.1 Login... 2 2.2 Benutzer erstellen... 2 2.3 Projekt erstellen... 4 2.4 SVN/Git Integration... 6 2.4.1 Konfiguration für

Mehr

Erwin Grüner 09.02.2006

Erwin Grüner 09.02.2006 FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife

Mehr

Nichtmonotones Schließen

Nichtmonotones Schließen Was bisher geschah Wissensrepräsentation und -verarbeitung in Zustandsübergangssystemen klassischer Aussagenlogik: Entscheidungstabellen, -bäume, -diagramme Wissensrepräsentation und -verarbeitung durch

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

Wissensbasierte Systeme

Wissensbasierte Systeme WBS5 Slide 1 Wissensbasierte Systeme Vorlesung 5 vom 17.11.2004 Sebastian Iwanowski FH Wedel WBS5 Slide 2 Wissensbasierte Systeme 1. Motivation 2. Prinzipien und Anwendungen 3. Logische Grundlagen 4. Suchstrategien

Mehr

Diana Lange. Generative Gestaltung Operatoren

Diana Lange. Generative Gestaltung Operatoren Diana Lange Generative Gestaltung Operatoren Begriffserklärung Verknüpfungsvorschrift im Rahmen logischer Kalküle. Quelle: google Operatoren sind Zeichen, die mit einer bestimmten Bedeutung versehen sind.

Mehr

Programmieren Formulierung eines Algorithmus in einer Programmiersprache

Programmieren Formulierung eines Algorithmus in einer Programmiersprache Zum Titel der Vorlesung: Programmieren Formulierung eines in einer Programmiersprache Beschreibung einer Vorgehensweise, wie man zu jedem aus einer Klasse gleichartiger Probleme eine Lösung findet Beispiel:

Mehr

11. Rent-Seeking 117

11. Rent-Seeking 117 117 Definitionen Gewinnstreben: Vorhandene Ressourcen werden so eingesetzt, dass Einkommen entsteht und die Differenz aus Einkommen und Kosten maximal wird. Rent-Seeking: Vorhandene Ressourcen werden eingesetzt,

Mehr

Data Mining: Einige Grundlagen aus der Stochastik

Data Mining: Einige Grundlagen aus der Stochastik Data Mining: Einige Grundlagen aus der Stochastik Hagen Knaf Studiengang Angewandte Mathematik Hochschule RheinMain 21. Oktober 2015 Vorwort Das vorliegende Skript enthält eine Zusammenfassung verschiedener

Mehr

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen Programmieren 10. Tutorium 4./ 5. Übungsblatt Inhalt I. Übungsblatt 4 II. III. - Rückgabe und Besprechung - Vorbereitung auf Wiederholung/ Nachtrag - Operatorpräzedenzen IV. Übungsblatt 5 - Vorstellung

Mehr

Kurzanweisung für Google Analytics

Kurzanweisung für Google Analytics Kurzanweisung für Google Analytics 1. Neues Profil für eine zu trackende Webseite erstellen Nach dem Anmelden klicken Sie rechts oben auf den Button Verwaltung : Daraufhin erscheint die Kontoliste. Klicken

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

Grundlagen von Python

Grundlagen von Python Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren

Mehr

Client-Server Beziehungen

Client-Server Beziehungen Ersetzbarkeit, Client-Server Beziehungen 182.132 VL Objektorientierte Programmierung Peter Puschner nach Folien von Franz Puntigam, TU Wien Überblick Ersetzbarkeit Kovarianz, Kontravarianz, Invarianz Client-Server

Mehr

DAUERHAFTE ÄNDERUNG VON SCHRIFTART, SCHRIFTGRÖßE

DAUERHAFTE ÄNDERUNG VON SCHRIFTART, SCHRIFTGRÖßE DAUERHAFTE ÄNDERUNG VON SCHRIFTART, SCHRIFTGRÖßE UND ZEILENABSTAND Word 2010 und 2007 Jedes neue leere Dokument, das mit Word 2010 erstellt wird, basiert auf einer Dokumentvorlage mit dem Namen Normal.dotx.

Mehr

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Java Kurs für Anfänger Einheit 4 Klassen und Objekte Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse

Mehr

3.Inferenzsysteme 3.4 Logische Programme und Antwortmengensemantik

3.Inferenzsysteme 3.4 Logische Programme und Antwortmengensemantik Darstellung, Verarbeitung und Erwerb von Wissen 3.Inferenzsysteme 3.4 Logische Programme und Antwortmengensemantik DVEW WS 2004/05 c Gabriele Kern-Isberner 1 Stratifizierte Programme (Whlg.) Sei P ein

Mehr

Schnelleinstieg in die (cs) AuftragPro

Schnelleinstieg in die (cs) AuftragPro Schnelleinstieg in die (cs) AuftragPro Starten der Anwendung Entpacken Sie das herunter geladene Archiv. Der entstandene Ordner (cs) AuftragPro enthält alle benötigten Komponenten der Anwendung. Öffnen

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!. 040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl

Mehr

Fälschungssichere RFID-Chips

Fälschungssichere RFID-Chips Fälschungssichere RFID-Chips Dr. Michael Braun mic.braun@siemens.com Corporate Technology Copyright 2008. All rights reserved. Die RFID-Technik ist sehr gut dokumentiert und allgemein verfügbar Die Fakten

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Mag. Christian Gürtler Programmierung Grundlagen der Informatik 2011 Inhaltsverzeichnis I. Allgemeines 3 1. Zahlensysteme 4 1.1. ganze Zahlen...................................... 4 1.1.1. Umrechnungen.................................

Mehr

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,

Mehr

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Autorisierung Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Dokumentation zum Referat von Matthias Warnicke und Joachim Schröder Modul: Komponenten basierte Softwareentwickelung

Mehr

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung. Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,

Mehr

Sichere E-Mail Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere E-Mail. der

Sichere E-Mail Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere E-Mail. der Sichere E-Mail der Nutzung von Zertifikaten / Schlüsseln zur sicheren Kommunikation per E-Mail mit der Sparkasse Germersheim-Kandel Inhalt: 1. Voraussetzungen... 2 2. Registrierungsprozess... 2 3. Empfang

Mehr

Mathematik. UND/ODER Verknüpfung. Ungleichungen. Betrag. Intervall. Umgebung

Mathematik. UND/ODER Verknüpfung. Ungleichungen. Betrag. Intervall. Umgebung Mathematik UND/ODER Verknüpfung Ungleichungen Betrag Intervall Umgebung Stefan Gärtner 004 Gr Mathematik UND/ODER Seite UND Verknüpfung Kommentar Aussage Symbolform Die Aussagen Hans kann schwimmen p und

Mehr

Übungen zu Informatik 1

Übungen zu Informatik 1 Communication Systems Group (CSG) Prof. Dr. Burkhard Stiller, Universität Zürich, Binzmühlestrasse 14, CH-8050 Zürich Telefon: +41 44 635 6710, Fax: +41 44 635 6809, stiller@ifi.uzh.ch Fabio Hecht, Telefon:

Mehr

4. Die Grundsätze der Dialoggestaltung aus DIN EN ISO 9241-10

4. Die Grundsätze der Dialoggestaltung aus DIN EN ISO 9241-10 4. Die Grundsätze der Dialoggestaltung aus DIN EN ISO 9241-10 Lernziel: Grenzen des Gestaltungsspielraums bei der Softwaregestaltung kennen und nutzen MCI-2005/1 DIA-Seminar Usability-Engineering, Mai

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 Einführung Beispiel: Aussagenlogische Formeln Aus dem Logikteil: Definition (Syntax

Mehr

Funktionale Programmierung (in Clojure)

Funktionale Programmierung (in Clojure) Funktionale Programmierung (in Clojure) Einführung Burkhardt Renz Fachbereich MNI Technische Hochschule Mittelhessen Wintersemester 2014/15 Übersicht Paradigmen von Programmiersprachen Paradigmen von Programmiersprachen

Mehr