Übung zu Grundlagen der Logik und Logik-Programmierung
|
|
- Walter Hauer
- vor 6 Jahren
- Abrufe
Transkript
1 Übung zu Grundlagen der Logik und Logik-Programmierung Übungsblatt 4 (5.Übung) Florian Wittmann Uni Erlangen, Informatik 8
2 Inhalt 1 Aufgabe 4-1: Tiefensuche 2 Aufgabe 4-2: Listen in Prolog 3 Aufgabe 4-3: Rätseln in Prolog
3 Aufgabenstellung Inhalt 1 Aufgabe 4-1: Tiefensuche Aufgabenstellung Teilaufgabe b) Teilaufgabe c) Teilaufgabe d) 2 Aufgabe 4-2: Listen in Prolog 3 Aufgabe 4-3: Rätseln in Prolog
4 Aufgabenstellung Tiefensuche Folgende Fakten definieren einen gerichteten azyklischen Graphen: Abbildung: Ein kreuzungsfreier Graph mit Kosten.
5 Aufgabenstellung Tiefensuche kante(a,b,2). kante(a,c,5). kante(a,d,7). kante(c,e,1). kante(b,f,9). kante(e,f,2). kante(d,f,5). kante(f,g,7). kante(g,h,18). kante(h,i,7). kante(h,j,6). kante(i,j,1). kante(j,k,1). kante(j,l,2). kante(j,m,5). startknoten(a). ist_loesung(m). knoten(x) :- kante(x, _, _); kante(_, X, _). loesung(x) :- knoten(x), ist_loesung(x).
6 Teilaufgabe b) Tiefensuche Wie implementieren wir erreichbar(x,y) in Prolog? Lösung erreichbar(x,x). erreichbar(x,z) :- kante(x,y,_), erreichbar(y,z).
7 Teilaufgabe c) Tiefensuche Wie implementieren wir loesungen(x,y) in Prolog? Lösung loesungen(x, Y) :- startknoten(x), erreichbar(x,y), loesung(y).
8 Teilaufgabe d) Tiefensuche Welches Ergebnis erhalten Sie für die Anfrage loesungen(a,s)? Example Anfrage in Prolog:?- loesungen(a,s). S = m ; S = m ; S = m ; S = m ; S = m ; S = m ; false.
9 Inhalt 1 Aufgabe 4-1: Tiefensuche 2 Aufgabe 4-2: Listen in Prolog Einführung in Listen Teilaufgabe a) Teilaufgabe b) Teilaufgabe c) Teilaufgabe d) 3 Aufgabe 4-3: Rätseln in Prolog
10 Einführung in Listen Listen in Prolog [Element Restliste] oft [H T] für Head und Tail Eine Liste kann folgendes sein: ein Paar, das aus einem Element und einer Liste besteht die leere Liste Example [] [a []] [a,b,c []] [a [b [c []]]]
11 Einführung in Listen member Schreibe ein Prädikat, das prüft, ob ein Element in einer Liste enthalten ist.?- member(b,[a,b,c]). true. Lösung member(e,[e _]). member(e,[_ T]) :- member(e,t).
12 Einführung in Listen append Schreibe ein Prädikat, das zwei Listen verkettet.?- append([1,2,3],[4,5],l). L = [1,2,3,4,5]. Lösung append([],l,l). append([h T],L,[H R]) :- append(t,l,r).
13 Teilaufgabe a) genlistdown(von,liste) a) Erstellen Sie ein Prädikat genlistdown(von, Liste), welches eine bei Von beginnende, und bis zur Zahl 0 reichende Liste mit absteigenden Zahlen erzeugt. Beispiel:?- genlistdown(5, Liste). Liste = [5, 4, 3, 2, 1, 0]. Lösung genlistdown(0,[0]). genlistdown(von,[von T]) :- Von > 0, Next is Von - 1, genlistdown(next,t).
14 Teilaufgabe b) reverseacc(listea, ListeB) b) Erstellen Sie eine Regel reverseacc(listea, ListeB), welches die Reihenfolge einer Liste umkehrt. Verwenden Sie eine Akkumulatorvariable, um ein effizienteres Prädikat zu implementieren, als es in der Vorlesung vorgestellt wurde. Erinnerung an die Vorlesung reverse([],[]). reverse([h T], R) :-reverse(t, RT), append(rt, [H], R). Effizientere Lösung reverseacc(l,r) :- reverseacc(l,[],r). reverseacc([],r,r). reverseacc([h T], Acc, Result) :- reverseacc(t, [H Acc], Result).
15 Teilaufgabe c) mapsqr(l, X) c) Schreiben Sie ein Prolog-Programm mapsqr(l, X), das aus einer Liste von Integerzahlen L die Liste ihrer Quadrate X berechnet, also z.b. aus [1, 2, 3, 4, 5] die Liste [1, 4, 9, 16, 25]! Lösung mapsqr([],[]). mapsqr([h T],[SH ST]) :- SH is H*H, mapsqr(t,st).
16 Teilaufgabe d) pick(element, Liste, Restliste) Implementieren Sie das Prädikat pick(element, Liste, RestListe) in Prolog. Das Prädikat wählt aus der Liste Liste ein Element Element aus und gibt Liste ohne das Element als RestListe zurück. Verwenden Sie keine virdefinierten Prolog-Prädikate ausser den arithmetischen! Beispiel eines Programmaufrufs: pick(2, [1,2,3,2,5], Q). Q = [1, 3, 2, 5] ; Q = [1, 2, 3, 5] ; fail. Lösung pick(element, [Element Liste], Liste). pick(element, [Anderes Liste], [Anderes Ergebnis]) :- pick(element, Liste, Ergebnis).
17 Inhalt 1 Aufgabe 4-1: Tiefensuche 2 Aufgabe 4-2: Listen in Prolog 3 Aufgabe 4-3: Rätseln in Prolog Aufgabenstellung Lösungsansatz
18 Aufgabenstellung Einsteinrätsel Es gibt fünf Häuser mit je einer anderen Farbe. In jedem Haus wohnt eine Person einer anderen Nationalität. Jeder Hausbewohner bevorzugt ein bestimmtes Getränk, verwendet eine bestimmte Programmiersprache und hält ein bestimmtes Haustier. Keine der 5 Personen trinkt das gleiche Getränk, benutzt die gleiche Programmiersprache oder hält das gleiche Tier wie einer seiner Nachbarn. Es gelten folgende Nebenbedingungen:
19 Aufgabenstellung Einsteinrätsel 1. Der Brite lebt im roten Haus 2. Der Schwede hält einen Hund 3. Der Däne trinkt gerne Tee 4. Das grüne Haus steht links vom weissen Haus Wir gehen davon aus, dass die beiden Haeuser direkt benachbart sind. 5. Der Besitzer vom grünen Haus trinkt Kaffee 6. Die Person, die in Ada programmiert, hält einen Vogel 7. Der Mann, der im mittleren Haus wohnt, trinkt Milch 8. Der Besitzer des gelben Hauses programmiert in Prolog
20 Aufgabenstellung Einsteinrätsel 9. Der Norweger wohnt im ersten Haus 10. Der Haskell-Programmierer wohnt neben dem, der eine Katze hält 11. Der Mann, der ein Pferd hält, wohnt neben dem, der in Prolog programmiert 12. Der OCaml-Programmierer trinkt gerne Bier 13. Der Norweger wohnt neben dem blauen Haus 14. Der Deutsche verwendet LISP 15. Der Haskell-Programmierer hat einen Nachbarn, der Wasser trinkt
21 Lösungsansatz Einsteinrätsel Lösungsstruktur: zuordnung(l) :- L = [_, _, _, _, _], regela(l), regelb(l), regelc(l), regeld(l), regele(l), regelf(l), regelg(l), regelh(l), regeli(l), regelj(l), regelk(l), regell(l), regelm(l), regeln(l), regelo(l). loesung(nation) :- zuordnung(l), member([_,nation,_,fisch,_], L).
22 Lösungsansatz Einsteinrätsel Es gibt 4 Regeltypen: Zwei Eigenschaften sind gemeinsam im gleichen Haus: z.b. Der Schwede hält einen Hund Eine Eigenschaft ist im Haus links vom Haus mit einer zweiten Eigenschaft. z.b. Das grüne Haus steht links vom weissen Haus Eine Eigenschaft ist in einem bestimmten Haus (Nr des Hauses ist gegegeben) z.b. Der Norweger wohnt im ersten Haus Zwei Eigenschaften sind in benachbarten Häusern. z.b. Der Haskell-Programmierer wohnt neben dem, der eine Katze hält
23 Lösungsansatz Einsteinrätsel Für Typ 4 definieren wir uns noch die Regel neben: neben(a,b,l) :- nextto(a,b,l) ; nextto(b,a,l).
24 Lösungsansatz Einsteinrätsel 1. Der Brite lebt im roten Haus regela(l) :- member([rot,brite,_,_,_], L). 2. Der Schwede hält einen Hund regelb(l) :- member([_,schwede,_,hund,_], L). 3. Der Däne trinkt gerne Tee regelc(l) :- member([_,daene,tee,_,_], L). 4. Das grüne Haus steht links vom weissen Haus Wir gehen davon aus, dass die beiden Haeuser direkt benachbart sind. regeld(l) :- nextto([gruen,_,_,_,_], [weiss,_,_,_,_], L). 5. Der Besitzer vom grünen Haus trinkt Kaffee regele(l) :- member([gruen,_,kaffee,_,_], L).
25 Lösungsansatz Einsteinrätsel 6. Die Person, die in Ada programmiert, hält einen Vogel regelf(l) :- member([_,_,_,vogel,ada], L). 7. Der Mann, der im mittleren Haus wohnt, trinkt Milch regelg(l) :- L = [_, _, [_,_,milch,_,_], _, _]. 8. Der Besitzer des gelben Hauses programmiert in Prolog regelh(l) :- member([gelb,_,_,_,prolog], L). 9. Der Norweger wohnt im ersten Haus regeli(l) :- L = [[_,norweger,_,_,_], _, _, _, _]. 10. Der Haskell-Programmierer wohnt neben dem, der eine Katze hält regelj(l) :- neben([_,_,_,_,haskell], [_,_,_,katze,_], L).
26 Lösungsansatz Einsteinrätsel 11. Der Mann, der ein Pferd hält, wohnt neben dem, der in Prolog programmiert regelk(l) :- neben([_,_,_,pferd,_], [_,_,_,_,prolog], L). 12. Der OCaml-Programmierer trinkt gerne Bier regell(l) :- member([_,_,bier,_,ocaml], L). 13. Der Norweger wohnt neben dem blauen Haus regelm(l) :- neben([_,norweger,_,_,_], [blau,_,_,_,_], L). 14. Der Deutsche verwendet LISP regeln(l) :- member([_,deutscher,_,_,lisp], L). 15. Der Haskell-Programmierer hat einen Nachbarn, der Wasser trinkt regelo(l) :- neben([_,_,_,_,haskell], [_,_,wasser,_,_], L).
27 [Fuchs] Norbert Fuchs. Prolog Tutorial. /documents/prolog_tutorial.pdf [Übungsmaterial] Die Folien und Prologbeispiele sind auch im Internet abrufbar unter:
Albert steh' uns bei!
Versuch einer Anleitung zum Lösen eines Logicals Zur Darstellung der einzelnen Schritte habe ich das Programm "P's Logik-Manager" von Michael Pousen benutzt. Diese kleine Tool hat mir geholfen (und hilft
MehrLogische Programmierung
Prüfungsrelevante Studienleistung im Fach Logische Programmierung von TU Bergakademie Freiberg Fakultät für Mathematik und Informatik Institut für Diskrete Mathematik und Algebra Prof. Dr. Udo Hebisch
Mehrj) Der Haskell-Programmierer wohnt neben dem, der eine Katze hält. k) Der Mann, der ein Pferd hält, wohnt neben dem, der in Prolog programmiert.
Aufgabe Optional-1 Rätseln in Prolog Es gibt fünf Häuser mit je einer anderen Farbe. In jedem Haus wohnt eine Person einer anderen Nationalität. Jeder Hausbewohner bevorzugt ein bestimmtes Getränk, verwendet
MehrÜbung zu Grundlagen der Logik und Logik-Programmierung
Übung zu Grundlagen der Logik und Logik-Programmierung Übungsblatt 6 (7.Übung) Florian Wittmann Uni Erlangen, Informatik 8 Inhalt 1 Aufgabe 6-1: Wahrheitswertetafel 2 Aufgabe 6-2: Erfüllbarkeit 3 Aufgabe
MehrTeil 4: Rekursion und Listen
Einführung in das Programmieren Prolog Sommersemester 2006 Teil 4: Rekursion und Listen Version 1.0 Gliederung der LV Teil 1: Ein motivierendes Beispiel Teil 2: Einführung und Grundkonzepte Syntax, Regeln,
Mehr13.2) Implementieren Sie nun das Prädikat differenz/3 indem nur Elemente vorkommen die exklusiv in L1 vorkommen. L1=[1,2,3,4],L2=[3,4,5,6],L3=[1,2]
Aufgabenblatt 6: Einführung in das Symbolische Programmieren CIS, WS 2010 ===================================================================== Lösung Aufgabe 13 13.1) Gegeben seinen zwei Listen, L1 und
MehrÜbung zu Grundlagen der Logik und Logik-Programmierung
Übung zu Grundlagen der Logik und Logik-Programmierung Übungsblatt 7 (8.Übung) Florian Wittmann Uni Erlangen, Informatik 8 Inhalt 1 Aufgabe 7-1: Erfüllbarkeit 2 Aufgabe 7-2: Implikation 3 Aufgabe 7-3:
MehrGrundlagen der Logik und Logik-Programmierung
Grundlagen der Logik und Logik-Programmierung 10. Übung - Übungsblatt 9 Florian Wittmann Übungen zu GLoLoP Inhalt 1 Aufgabe 9-1: ESK-Kalkül und Quantorenlogik 2 Aufgabe 9-2: Logik mit Peter 3 Aufgabe 9-3:
MehrEinstufungstest nach Einstein. Der Pisa-Test vom IMP. Lösung Einsteintest. Lösung Einsteintest. Farbenblindheit / -schwäche.
Der Pisa-Test vom IMP Benennen Sie die Farbe der Wörter! Nur Protane oder Deuterane haben gute Karten Einstufungstest nach Einstein Der Brite lebt im roten Haus Maximale Zeit Der Franzose hat einen Hasen
MehrB1: Bruchinseln Welches ist die kleinste (größte) Summe, mit der man von der kargen Startinsel zu der Urlaubs-Zielinsel gelangen kann?
Längerfristige Hausaufgabe zum Thema Bruchzahlen (Bearbeitungszeit bis zum ) B: Bruchinseln Welches ist die kleinste (größte) Summe, mit der man von der kargen Startinsel zu der Urlaubs-Zielinsel gelangen
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
MehrLogik für Informatiker
Logik für Informatiker Vorlesung 1: Einführung in die Logik Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 5. Oktober 2017 1/61 ORGANISATORISCHES Vorbemerkungen
MehrLogische und funktionale Programmierung
Logische und funktionale Programmierung Vorlesung 12: Einbauprädikate. Komplexe Programme Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 19. Dezember 2016 1/47
MehrVorlesung Künstliche Intelligenz Alexander Manecke Oliver Schneider Andreas Stoffel 9. Mai 2006
Vorlesung Künstliche Intelligenz 9. Mai 2006 Aufgabe 1: Listen in Prolog a) Den Fall der leeren Liste müssen wir hier nicht betrachten, denn eine leere Liste besitzt kein Maximum. Also ist Standardantwort
MehrVorkurs Chemie (NF) Redoxreaktionen, Spannungsreihe Ulrich Keßler
Vorkurs Chemie (NF) Redoxreaktionen, Spannungsreihe Ulrich Keßler Redox im Alltag http://www.motorschrauber.com/ tips-und-tricks/rostkampf/ http://www.hfinster.de/stahlart2/ Tours-FireTour-C-260-6- 11.01.1993-de.html
MehrGrundlagen der Logik und Logik-Programmierung
Grundlagen der Logik und Logik-Programmierung 9. Übung - Übungsblatt 8 Florian Wittmann Übungen zu GLoLoP Inhalt 1 Aufgabe 8-1: 2 Aufgabe 8-2: Frege Kalkül 3 Aufgabe 8-3: Vier-Farben-Satz Florian Wittmann
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
MehrIQ Spielentwurf Leitfaden für LehrerInnen - Detektivspiel
IQ Spielentwurf Leitfaden für LehrerInnen - Detektivspiel Abstract Aus der Sicht eines Spieleentwicklers sollen SchülerInnen ein IQ Spiel namens Detektivspiel entwerfen und/oder analysieren und/oder testen.
MehrABITURPRÜFUNG 2007 LEISTUNGSFACH INFORMATIK
ABITURPRÜFUNG 2007 LEISTUNGSFACH INFORMATIK (HAUPTTERMIN) Arbeitszeit: 270 Minuten Hilfsmittel: Wörterbuch zur deutschen Rechtschreibung Taschenrechner (nicht programmierbar, nicht grafikfähig) (Schüler,
MehrKapitel 12: Induktive
Kapitel 12: Induktive Datenstrukturen Felix Freiling Lehrstuhl für Praktische Informatik 1 Universität Mannheim Vorlesung Praktische Informatik I im Herbstsemester 2009 Folien nach einer Vorlage von H.-Peter
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
MehrTutoraufgabe 1 (Starke Zusammenhangskomponenten):
für Informatik Prof. aa Dr. Ir. Joost-Pieter Katoen Allgemeine Hinweise: Datenstrukturen und Algorithmen SS1 Übungsblatt (Abgabe 4.0.01) Christian Dehnert, Friedrich Gretz, Benjamin Kaminski, Thomas Ströder
MehrListe: beliebig lange, geordnete Sequenz von Termen. Kopf ist erstes Listenelement, Schwanz die restliche Liste
Listen Liste: beliebig lange, geordnete Sequenz von Termen.(Kopf, Schwanz) Kopf ist erstes Listenelement, Schwanz die restliche Liste leere Liste [] Ende der Liste wird durch [] gekennzeichnet Beispiel:
MehrAlgorithmen & Datenstrukturen Midterm Test 2
Algorithmen & Datenstrukturen Midterm Test 2 Martin Avanzini Thomas Bauereiß Herbert Jordan René Thiemann
Mehr< Konzepte & Grundlagen der Programmierung />
Unterrichtsmaterial App Entwicklung Info für Lehrkräfte < Konzepte & Grundlagen der Programmierung /> < Konzepte der Informatik /> Bei der Erstellung von Apps mit den Unterrichtsmaterialien zum Thema App
MehrProgrammieren in Haskell
beschreibungen Universität Bielefeld AG Praktische Informatik October 21, 2014 der funktionalen Programmierung gibt es allen Programmiersprachen, aber der funktionalen Programmierung werden sie besonders
Mehrtravel(valmont,paris,go(valmont,metz,go(metz,paris))) die Antwort yes ausgeben. Fragt man dein Programm nach
Info 13 LK (GA) Bearbeitungszeit: 180 min Seite 1 Aufgabe 1: Du kennst vielleicht diese russischen Holzpüppchen, in denen immer noch eine kleinere drin steckt. Rechts ist eine schematische Abbildung von
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Graphen (1) Darstellung Traversierung Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 441 Generalisierung von Bäumen Verallgemeinerung (von Listen zu Graphen)
MehrÜbungen zu Kognitive Systeme I
Übungen zu Kognitive Systeme I Kognitive Systeme / WIAI / Uni Bamberg 26. Oktober 2005 Inhalt 1 2 3 Listen und Mengen Input & Output Sonstiges 4 5 Die werden als Bonuspunkte auf die Klausur angerechnet.
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
MehrInstitut für Programmierung und Reaktive Systeme 24. Juni Programmieren II. 14. Übungsblatt
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 2. Juni 2016 Programmieren II 1. Übungsblatt Hinweis: Auf diesem Übungsblatt finden Sie die fünfte,
MehrEinführung in die Informatik 2
Einführung in die Informatik 2 Bäume & Graphen Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr, o.n.v. Sommersemester
MehrMusterlösung zur 2. Aufgabe der 4. Übung
Musterlösung zur 2. Aufgabe der 4. Übung Da viele von Euch anscheinend noch Probleme mit dem Entfalten haben, gibt es für diese Aufgabe eine Beispiellösung von uns. Als erstes wollen wir uns noch einmal
MehrTheoretische Informatik 1 WS 2007/2008. Prof. Dr. Rainer Lütticke
Theoretische Informatik 1 WS 2007/2008 Prof. Dr. Rainer Lütticke Inhalt der Vorlesung Grundlagen - Mengen, Relationen, Abbildungen/Funktionen - Datenstrukturen - Aussagenlogik Automatentheorie Formale
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
MehrABITURPRÜFUNG 2006 LEISTUNGSFACH INFORMATIK (HAUPTTERMIN)
ABITURPRÜFUNG 2006 LEISTUNGSFACH INFORMATIK (HAUPTTERMIN) Arbeitszeit: Hilfsmittel: 270 Minuten Wörterbuch zur deutschen Rechtschreibung Taschenrechner (nicht programmierbar, nicht grafikfähig) (Schüler,
MehrMengenlehre. Diskrete Strukturen. Sommersemester Uta Priss ZeLL, Ostfalia. Hausaufgaben Grundbegriffe Ein Paradox Ausblick
Mengenlehre Diskrete Strukturen Uta Priss ZeLL, Ostfalia Sommersemester 2016 Diskrete Strukturen Mengenlehre Slide 1/30 Agenda Hausaufgaben Grundbegriffe Ein Paradox Ausblick Diskrete Strukturen Mengenlehre
MehrÜbungen zu Programmierung I - Blatt 8
Dr. G. Zachmann A. Greß Universität Bonn Institut für Informatik II 1. Dezember 2004 Wintersemester 2004/2005 Übungen zu Programmierung I - Blatt 8 Abgabe am Mittwoch, dem 15.12.2004, 15:00 Uhr per E-Mail
MehrTECHNISCHE UNIVERSITÄT MÜNCHEN. Abgabe: (vor der Vorlesung)
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 2008/09 Einführung in die Informatik 2 Übungsblatt 6 Prof. Dr. Helmut Seidl, T. M. Gawlitza,
MehrEinführung: Logik und SetlX
Einführung: Logik und SetlX Diskrete Strukturen Uta Priss ZeLL, Ostfalia Sommersemester 2016 Diskrete Strukturen Einführung: Logik und SetlX Slide 1/17 Agenda Sprachliche Logik Logik im antiken Griechenland
Mehr15. Elementare Graphalgorithmen
Graphen sind eine der wichtigste Modellierungskonzepte der Informatik Graphalgorithmen bilden die Grundlage vieler Algorithmen in der Praxis Zunächst kurze Wiederholung von Graphen. Dann Darstellungen
MehrListen. bersicht. Zweck. Listen allgemein Listen in Prolog. Programmiertechniken mit Listen. Erstellen von Prolog-Programmen mit Listen
Listen bersicht Listen allgemein Listen in Prolog Schreibweise Listen als rekursive Datenstruktur Unifikation Programmiertechniken mit Listen Zweck rekursive Suche Abbilden Erstellen von Prolog-Programmen
MehrBachelor 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
MehrTutorium Prolog für Linguisten 8
Endliche Automaten Tutorium Prolog für Linguisten 8 Sebastian Golly 18. Dezember 2012 Sebastian Golly Tutorium Prolog für Linguisten 8 1 / 13 Endliche Automaten Plan für heute? Sebastian Golly Tutorium
MehrÜbung Info A. http://www.is.informatik.uni-duisburg.de. Übungsleiter. Informationen (Sprechstunden, Kontaktdaten): André Schaefer Gudrun Fischer
Übung Info A Übungsleiter André Schaefer Gudrun Fischer Informationen (Sprechstunden, Kontaktdaten): http://www.is.informatik.uni-duisburg.de Ziele der Übung Vertiefung der Inhalte der Vorlesung Praktische
MehrAlgorithmen und Datenstrukturen 2-1. Seminar -
Algorithmen und Datenstrukturen 2-1. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Sommersemster 2010 Outline 1. Übungsserie: 3 Aufgaben, insgesamt 30 28 Punkte A1 Spannbäume (10 8
MehrProlog by example. Carsten Rösnick
Prolog by example Carsten Rösnick Was ist Prolog? Programmation en Logique (1970er) Nutzer erstellt Datenbasis Definiert, was gilt in seinem Universum Closed-world assumption Inferenz Grundlagen (1) Ein
MehrKapitel 6: Typprüfung
Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Informatik I Wintersemester 2006 Vorlesung: Prof. Dr. Christian Böhm
MehrInformatik II Übung, Woche 17
Giuseppe Accaputo 28. April, 2016 1. Vererbung 2. Vorbesprechung Übung 8 Plan für heute 3. Erweiterung des Vorlesungsverzeichnis (VVZ) (Live-Programmierung) Informatik II (D-BAUG) Giuseppe Accaputo 2 Vererbung
MehrRouting A lgorithmen Algorithmen Begriffe, Definitionen Wegewahl Verkehrslenkung
Begriffe, Definitionen Routing (aus der Informatik) Wegewahl oder Verkehrslenkung bezeichnet in der Telekommunikation das Festlegen von Wegen für Nachrichtenströme bei der Nachrichtenübermittlung über
MehrÜbungsblatt 7. Thema: Sortieren, Objektorientierung
Informatik I WS 05/06 Prof. Dr. W. May Dipl.-Inform. Oliver Fritzen Dipl.-Inform. Christian Kubczak Übungsblatt 7 Ausgegeben am: Abgabe bis: 9.12.2005 6.1.2006 (Theorie) 6.1.2006 (Praktisch) Thema: Sortieren,
MehrProgrammierung 1 (Wintersemester 2015/16) Wiederholungstutorium Lösungsblatt 15 (Linearer Speicher, Listen, Bäume)
Fachrichtung 6.2 Informatik Universität des Saarlandes Tutorenteam der Vorlesung Programmierung 1 Programmierung 1 (Wintersemester 2015/16) Wiederholungstutorium Lösungsblatt 15 (Linearer Speicher, Listen,
MehrABITURPRÜFUNG 2003 LEISTUNGSFACH INFORMATIK (HAUPTTERMIN)
ABITURPRÜFUNG 2003 LEISTUNGSFACH INFORMATIK (HAUPTTERMIN) Arbeitszeit: 270 Minuten Hilfsmittel: Formeln und Tabellen für die Sekundarstufen I und II. Berlin: Paetec, Ges. für Bildung und Technik mbh; PC
MehrTheoretische Grundlagen der Informatik. Vorlesung am 02. November INSTITUT FÜR THEORETISCHE INFORMATIK
Theoretische Grundlagen der Informatik Vorlesung am 2. November 27 2..27 Dorothea Wagner - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Vorlesung am 2. November 27 Helmholtz-Gemeinschaft
MehrAnwendungen der Logik: Deklarative bzw. Logik-Programmierung in PROLOG
Logik für Informatik Technische Universität Darmstadt Sommersemester 2003 Fachbereich Mathematik Mathias Kegelmann 8. Juli 2003 Anwendungen der Logik: Deklarative bzw. Logik-Programmierung in PROLOG Übersicht
MehrWiederholung: Zusammenfassung Felder. Algorithmen und Datenstrukturen (für ET/IT) Definition Abstrakter Datentyp. Programm heute
Wiederholung: Zusammenfassung Felder Algorithmen und Datenstrukturen (für ET/IT) Wintersemester / Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Ein Feld A kann repräsentiert
MehrSammlung möglicher Klausuraufgaben
Sammlung möglicher Klausuraufgaben 24. Januar 2017 1. Gegeben eine Wissensbasis zu einem Familienstammbaum: % fem/1 % et/2 % fem(x). X ist weiblich. % et(x,y): X ist ein Elternteil von Y. fem(mia). et(jutta,
MehrRouting Algorithmen. Begriffe, Definitionen
Begriffe, Definitionen Routing (aus der Informatik) Wegewahl oder Verkehrslenkung bezeichnet in der Telekommunikation das Festlegen von Wegen für Nachrichtenströme bei der Nachrichtenübermittlung über
MehrEinführung in die Programmierung für Computerlinguisten
EINFÜHRUNG IN DIE PROGRAMMIERUNG FÜR COMPUTERLINGUISTEN Dr. Maximilian Hadersbeck Leonie Weißweiler LMU Geschwister-Scholl-Platz 1 80539 München Anrede Name Straße Lösung zur 3. Übung zur Vorlesung Ludwig-Maximilians-Universität
MehrGrundlagen der Programmierung
Grundlagen der Programmierung Dr. Tom Kamphans 1. Vorlesung 12.10.2016 1 Organisatorisches Vorlesung: Mittwochs 14:00 15:30, Raum F 201 Übung: Mittwochs 15:45 19:00, Raum F 225 Übung: alle zwei Wochen
MehrÜbungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2016/17 Institut für Informatik Übungsblatt 3 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
MehrPROLOG. Lernende Systeme WS 10/11 Crashkurs. Martin Sticht Stephan Weller
PROLOG Lernende Systeme WS 10/11 Crashkurs Martin Sticht Stephan Weller SWI Prolog http://www.swi-prolog.org Grundlegendes Grundkonstrukte Fakten Regeln Anfragen Fakten und Regeln kommen in die Programm-Datei
MehrWie wird ein Graph dargestellt?
Wie wird ein Graph dargestellt? Für einen Graphen G = (V, E), ob gerichtet oder ungerichtet, verwende eine Adjazenzliste A G : A G [i] zeigt auf eine Liste aller Nachbarn von Knoten i, wenn G ungerichtet
MehrLISTEN. Programmierkurs Prolog p.1
LISTEN Programmierkurs Prolog p.1 Liste Listen sind rekursive Datenstrukturen, die dazu dienen geordnete Mengen von Elementen zu beschreiben. Man kann sich Listen in Prolog als Behälter vorstellen, die
Mehr4.1 Bäume, Datenstrukturen und Algorithmen. Zunächst führen wir Graphen ein. Die einfachste Vorstellung ist, dass ein Graph gegeben ist als
Kapitel 4 Bäume 4.1 Bäume, Datenstrukturen und Algorithmen Zunächst führen wir Graphen ein. Die einfachste Vorstellung ist, dass ein Graph gegeben ist als eine Menge von Knoten und eine Menge von zugehörigen
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
MehrAllgemeine Hinweise: TECHNISCHE UNIVERSITÄT MÜNCHEN. Name Vorname Studiengang Matrikelnummer. Hörsaal Reihe Sitzplatz Unterschrift
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 2008/09 Einführung in die Informatik 2 Klausur Prof. Dr. Helmut Seidl, T. M. Gawlitza, S. Pott,
MehrNachklausur Grundlagen der Algorithmik (Niedermeier/Froese/Chen/Fluschnik, Wintersemester 2015/16)
Berlin, 14. April 2016 Name:... Matr.-Nr.:... Nachklausur Grundlagen der Algorithmik (Niedermeier/Froese/Chen/Fluschnik, Wintersemester 2015/16) 1 / 10 2 / 10 3 / 11 4 / 9 5 / 10 Σ / 50 Einlesezeit: Bearbeitungszeit:
MehrAbstrakter Datentyp (ADT): Besteht aus einer Menge von Objekten, sowie Operationen, die auf diesen Objekten wirken.
Abstrakte Datentypen und Datenstrukturen/ Einfache Beispiele Abstrakter Datentyp (ADT): Besteht aus einer Menge von Objekten, sowie Operationen, die auf diesen Objekten wirken. Datenstruktur (DS): Realisierung
MehrTechnische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen
Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.172 Algorithmen und Datenstrukturen 1 VL 4.0 Übungsblatt 4 für die Übung
MehrTutoraufgabe 1 (Suchen in Graphen):
Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS14 F. Corzilius, S. Schupp, T. Ströder Tutoraufgabe 1 (Suchen in Graphen): a) Geben Sie die Reihenfolge an, in der die Knoten besucht werden, wenn
MehrKapitel 3: Ehrenfeucht-Fraïssé Spiele
Kapitel 3: Ehrenfeucht-Fraïssé Spiele Kapitel 3: Ehrenfeucht-Fraïssé Spiele Abschnitt 3.0: In diesem Kapitel werden Ehrenfeucht-Fraïssé-Spiele (kurz: EF-Spiele) eingeführt. Diese liefern ein Werkzeug,
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Graphdurchläufe Maike Buchin 22. und 27.6.2017 Graphexploration Motivation: Für viele Zwecke will man den gesamten Graphen durchlaufen, zb. um festzustellen ob er (stark) zusammenhängt.
MehrDas Damenproblem - funktional und logisch
- funktional und logisch 1 1 Technische Fakultät Universität Bielefeld 14.5.2014 / Seminar Programmiersprachen Gliederung Einleitung 1 Einleitung 2 3 Problembeschreibung Definition Definition Sei N eine
MehrInstitut für Programmierung und Reaktive Systeme 27. Mai Programmieren II. 12. Übungsblatt
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 27. Mai 206 Programmieren II 2. Übungsblatt Hinweis: Auf diesem und den folgenden Übungsblättern
MehrAlgorithmen und Datenstrukturen Klausur WS 2006/07 Software-Engineering und Technische Informatik Bachelor
Klausur WS 2006/07 Software-Engineering und Technische Informatik Bachelor Die Klausur besteht aus 6 Aufgaben und umfasst 60 Punkte. Bitte schreiben Sie die Lösungen auf die Aufgabenblätter. Vergessen
MehrProf. Dr. Uwe Schmidt. 30. Januar 2017
Prof. Dr. Uwe Schmidt 30. Januar 2017 Aufgaben zur Klausur Algorithmen und Datenstrukturen im WS 2016/17 ( B Inf, B TInf, B MInf, B CGT, B WInf, B Ecom, B ITE) Zeit: 75 Minuten erlaubte Hilfsmittel: keine
MehrAlgorithmen und ihre Programmierung
Veranstaltung Pr.-Nr.: 101023 Algorithmen und ihre Programmierung Veronika Waue WS 07/08 Einführung Definition: Algorithmus Ein Algorithmus ist eine genau definierte Folge von Anweisungen zur Lösung eines
MehrLogikprogrammierung und Prolog
3. Logikbasierte Wissensräpresentation und Inferenz Logikprogrammierung Logikprogrammierung und Prolog Das Idealbild der Logikprogrammierung: Algorithmus = Logik + Kontrolle Was? Wie? reine Problemspezifikation
MehrIntensivübung zu Algorithmen und Datenstrukturen
Intensivübung zu Algorithmen und Datenstrukturen Silvia Schreier Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht Programmierung Fallunterscheidung Flussdiagramm Bedingungen Boolesche
Mehrdurch Einfügen von Knoten konstruiert werden kann.
Satz von Kuratowski Definition Unterteilung eines Graphen Sei G = (V, E) und e = {u, v} E. 1 Das Einfügen eines neuen Knoten w in die Kante e führt zum Graphen G = (V {w}, E \ e {{u, w}, {w, v}}). 2 Der
MehrProlog Tutorial Norbert E. Fuchs Institut für Informatik Universität Zürich
Prolog Tutorial Norbert E. Fuchs Institut für Informatik Universität Zürich Inhalt Vom deklarativen Wissen zum prozeduralen Programm Vom Programm zur Berechnung Elemente eines Prolog-Programms Zugverbindungen
Mehr1 Der Baum. Informatik I: Einführung in die Programmierung 11. Bäume. Bäume in der Informatik. Bäume in der Informatik - Definition.
1 Informatik I: Einführung in die Programmierung 11. Bäume e e Albert-Ludwigs-Universität Freiburg Bernhard Nebel 13. November 2015 13. November 2015 B. Nebel Info I 3 / 33 Bäume in der Informatik Bäume
MehrUniversität des Saarlandes
Universität des Saarlandes FR 6.2 Informatik Prof. Dr. Kurt Mehlhorn WiSe 2015/2016 Übungen zu Ideen der Informatik http://www.mpi-inf.mpg.de/departments/algorithms-complexity/teaching/winter15/ideen/
MehrInstitut für Programmierung und Reaktive Systeme 31. Mai Programmieren II. 12. Übungsblatt
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 1. Mai 01 Programmieren II 1. Übungsblatt Hinweis: Dieses Übungsblatt enthält die dritte Pflichtaufgabe.
Mehr1 Der Baum. Informatik I: Einführung in die Programmierung 11. Bäume. Bäume in der Informatik. Bäume in der Informatik - Definition.
1 Informatik I: Einführung in die Programmierung 11. Bäume e e Albert-Ludwigs-Universität Freiburg Bernhard Nebel 17. November 2017 17. November 2017 B. Nebel Info I 3 / 33 Bäume in der Informatik Bäume
MehrProgrammieren in Haskell Einführung
Programmieren in Haskell Einführung Peter Steffen Universität Bielefeld Technische Fakultät 16.10.2009 1 Programmieren in Haskell Veranstalter Dr. Peter Steffen Raum: M3-124 Tel.: 0521/106-2906 Email:
MehrDatenstrukturen Teil 2. Bäume. Definition. Definition. Definition. Bäume sind verallgemeinerte Listen. Sie sind weiter spezielle Graphen
Bäume sind verallgemeinerte Listen Datenstrukturen Teil 2 Bäume Jeder Knoten kann mehrere Nachfolger haben Sie sind weiter spezielle Graphen Graphen bestehen aus Knoten und Kanten Kanten können gerichtet
MehrMatching. Organisatorisches. VL-18: Matching. (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger. Tanzabend
Organisatorisches VL-18: Matching (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger Vorlesung: Gerhard Woeginger (Zimmer 4024 im E1) Sprechstunde: Mittwoch 11:15 12:00 Übungen: Tim Hartmann,
MehrProgrammieren in Haskell Programmiermethodik
Programmieren in Haskell Programmiermethodik Peter Steffen Universität Bielefeld Technische Fakultät 12.01.2011 1 Programmieren in Haskell Bisherige Themen Was soll wiederholt werden? Bedienung von hugs
MehrVerkettete Datenstrukturen: Bäume
Verkettete Datenstrukturen: Bäume 1 Graphen Gerichteter Graph: Menge von Knoten (= Elementen) + Menge von Kanten. Kante: Verbindung zwischen zwei Knoten k 1 k 2 = Paar von Knoten (k 1, k 2 ). Menge aller
MehrHTML Tutorial Part I - Einführung und erste Texte schreiben
HTML Tutorial Part I - Einführung und erste Texte schreiben Hallo und Herzlich Willkommen auf meiner Seite. Hier dreht sich alles um das Thema HTLML Programmierung. Das ganze beginnt bei den einfachsten
MehrGraphdurchmusterung, Breiten- und Tiefensuche
Prof. Thomas Richter 18. Mai 2017 Institut für Analysis und Numerik Otto-von-Guericke-Universität Magdeburg thomas.richter@ovgu.de Material zur Vorlesung Algorithmische Mathematik II am 18.05.2017 Graphdurchmusterung,
MehrUniversität Koblenz-Landau Fachbereich Informatik Klausur KI-Programmierung WS 2007/2008. Jun.-Prof. Dr. B. Beckert. 21.
Name, Vorname: Matrikel-Nr.: Studiengang: Universität Koblenz-Landau Fachbereich Informatik Klausur KI-Programmierung WS 2007/2008 Jun.-Prof. Dr. B. Beckert 21. Februar 2008 Informatik (Diplom) Computervisualistik
MehrAuswahl 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
MehrAlgorithmen und Datenstrukturen Tutorium Übungsaufgaben
Algorithmen und Datenstrukturen Tutorium Übungsaufgaben AlgoDat - Übungsaufgaben 1 1 Landau-Notation Aufgabe Lösung 2 Rekurrenzen Aufgabe 3 Algorithmenentwurf und -analyse Aufgabe AlgoDat - Übungsaufgaben
Mehr