Folien zur Vorbesprechung - Professur für Künstliche Intelligenz und

Werbung
Seminar:
Aktuelle Themen aus der Programmierung
Organisatorisches / Vorbesprechung
Professur für Künstliche Intelligenz & Softwaretechnologie
Stand der Folien: 4. April 2014
SoSe 2014
Organisatorisches Vortrag und Ausarbeitung Themen
Modulabschlussprüfung
Personen
Prof. Dr. Manfred Schmidt-Schauß
Zimmer 215
Email: [email protected]
Mitarbeiter
PD Dr. David Sabel
Zimmer 216
Email: [email protected]
PR-BS – Organisatorisches – SoSe 2014 – Professur KIST
2/26
Organisatorisches Vortrag und Ausarbeitung Themen
Modulabschlussprüfung
Webseite
www.ki.informatik.uni-frankfurt.de/lehre/SS2014/PR-BS
beinhaltet alle relevanten Informationen:
Hinweise zur Ausarbeitung und Themenliste
Terminplan
aktuelle Bekanntmachungen
PR-BS – Organisatorisches – SoSe 2014 – Professur KIST
3/26
Organisatorisches Vortrag und Ausarbeitung Themen
Modulabschlussprüfung
Termine
1-2 Vorträge jeweils
Donnerstags, 14 c.t.
in
SR 307 (Informatik)
Reihenfolge wird bald festgelegt, erster Vortrag am 8. Mai
PR-BS – Organisatorisches – SoSe 2014 – Professur KIST
4/26
Organisatorisches Vortrag und Ausarbeitung Themen
Modulabschlussprüfung
Modul B-PR-BS
Das Seminar ist
ist Pflichveranstaltung des Moduls B-PR-BS
B-PR-BS gehört zum Vertiefungsgebiet
Betriebs- und Kommunikationssysteme und
Programmiersprachen und -paradigmen (BKSPP)
Umfang des Moduls: 5 CP
PR-BS – Organisatorisches – SoSe 2014 – Professur KIST
5/26
Organisatorisches Vortrag und Ausarbeitung Themen
Modulabschlussprüfung
Modul B-PR-BS
Anmeldung zur
Modulabschlussprüfung
Erfolgt automatisch durch den
Veranstalter
Modulabschlussprüfung
Regelmäßige Teilnahme (nicht
mehr als zweimal fehlen)
schriftliche Ausarbeitung
(Note 4,0 oder besser)
sowie ein Vortrag
(Note 4,0 oder besser)
Einordnung der Veranstaltung
ist Pflichveranstaltung des Moduls
B-WV-BS
B-WV-BS gehört zum
Vertiefungsgebiet
Informationssysteme und
Wissensverarbeitung (ISWV)
Umfang des Moduls: 5 CP
Benotung
Arithm. Mittel aus den beiden
Noten
Noten werden erst am Ende des
Seminars bekannt gegeben.
PR-BS – Organisatorisches – SoSe 2014 – Professur KIST
6/26
Organisatorisches Vortrag und Ausarbeitung Themen
Vortrag Ausarbeitung
Vorbereitung und Einarbeitung
Literatur möglichst schnell besorgen
Evtl. weitere Literatur recherieren
Lesen: Was ist wichtig / unwichtig.
Programme: Am besten selbst ausprobieren und testen
Gliederung für die Ausarbeitung erstellen, muss sich unbedingt
nach dem Originaltext richtig
usw.
PR-BS – Organisatorisches – SoSe 2014 – Professur KIST
7/26
Organisatorisches Vortrag und Ausarbeitung Themen
Vortrag Ausarbeitung
Vortrag
ca. 40min Dauer + 5-10 Minuten Diskussion und Fragen im
Anschluss
Gestaltungshinweise in der Anleitung
keine Kopie der Ausarbeitung!
Beamer + Notebook
Professur-Notebook: kein PowerPoint, nur PDF, oder:
Eigenes Notebook: Ein paar Tage vor dem Vortrag mit
Beamer testen
Kurze Programmvorführungen während des Vortrags
erwünscht
PR-BS – Organisatorisches – SoSe 2014 – Professur KIST
8/26
Organisatorisches Vortrag und Ausarbeitung Themen
Vortrag Ausarbeitung
Ausarbeitung
Abgabe zwei Wochen vor dem Vortrag
Ausdruck und PDF
Umfang ca. 10 Seiten
vorherige Besprechung des Konzepts:
freiwillig, aber bitte vorher Termin per Email ausmachen
Höchstens eine Nachbesserung bis spätestens
zwei Wochen nach dem Vortrag
PR-BS – Organisatorisches – SoSe 2014 – Professur KIST
9/26
Organisatorisches Vortrag und Ausarbeitung Themen
Vortrag Ausarbeitung
Ausarbeitung (2)
Anforderungen
Schriftgrösse 11 oder 12pt.
Korrekturrand lassen
Blocksatz verwenden
Nummerierte Abschnitte
Titelblatt mit Thema und Namen
Inhaltsverzeichnis, Literaturverzeichnis
Seitenzahlen
PR-BS – Organisatorisches – SoSe 2014 – Professur KIST
10/26
Organisatorisches Vortrag und Ausarbeitung Themen
Themen
Thema
Thema
Thema
Thema
Thema
Thema
Thema
Thema
Thema
Thema
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
Thema
Thema
Thema
Thema
Thema
11:
12:
13:
14:
15:
Solving the Snake Cube Puzzle in Haskell
When Maybe is not good enough
An in-situ algorithm for expanding a graph
Parse Your Options
Metamorphism in jigsaw
Finding Palindromes: Variants and Algorithms
Building a consensus: A rectangle covering problem
Concurrent Distinct Choices
Parsing permutation phrases
Comprehensive Encoding of Data Types and
Algorithms in the Lambda-Calculus
Fun with Semirings
Linear, Bounded, Functional Pretty-Printing
Enumerating the strings of regular languages
The Bird Tree
La tour d’Hanoı̈
PR-BS – Organisatorisches – SoSe 2014 – Professur KIST
11/26
Organisatorisches Vortrag und Ausarbeitung Themen
Solving the Snake Cube Puzzle in Haskell
Es wird ein Programm beschrieben, das Lösungen zum “Snake
Würfel” berechnet.
Programm in Haskell
Literatur
Mark P. Jones: Solving the snake cube puzzle in Haskell
Journal of Functional Programming, Band 23(2), S. 145–160,
2013
PR-BS – Organisatorisches – SoSe 2014 – Professur KIST
12/26
Organisatorisches Vortrag und Ausarbeitung Themen
When Maybe is not good enough
Verschiedene Arten von Parsern (Parserkombinatoren) in
Haskell
Parser die als Ausgabe eine Liste von (Erkanntes Ergebnis,
Resteingabe) liefern
“Maybe”-Parser, die nur Just (Erkanntes Ergebnis,
Resteingabe) oder Nothing liefern
Unterschiede zwischen diesen Parsern werden erläutert.
Literatur
Michael Spivey: When Maybe is not good enoughs
Journal of Functional Programming, Band 22(6), S. 747–756,
2012
PR-BS – Organisatorisches – SoSe 2014 – Professur KIST
13/26
Organisatorisches Vortrag und Ausarbeitung Themen
An in-situ algorithm for expanding a graph
“Rechtfertigung” für einen Array-basierter Algorithmus zur
Repräsentation von ungerichteten Graphen
Eigenschaften von Graphen und Arrays und Algorithmen dafür.
in-situ = “am Ort” ist eine benötigte Eigenschaftn für den
Algorithmus.
Literatur
Richard S. Bird: An in-situ algorithm for expanding a graph
Journal of Functional Programming, Band 23(2), S. 174–184,
2013
PR-BS – Organisatorisches – SoSe 2014 – Professur KIST
14/26
Organisatorisches Vortrag und Ausarbeitung Themen
Parse Your Options
Parserkombinatoren in Haskell
Anwendungsbeispiel: Parsen von Kommandozeilenoptionen
Literatur
Doaitse S. Swierstra und Atze Dijkstra: Parse Your Options
The Beauty of Functional Code, Lecture Notes in Computer
Science, Band 8106, S. 234-249, 2013
PR-BS – Organisatorisches – SoSe 2014 – Professur KIST
15/26
Organisatorisches Vortrag und Ausarbeitung Themen
Metamorphism in jigsaw
Metamorphismus = unfold . fold
fold konsumiert Eingaben
unfold produziert Ausgaben
Verzögerte Abarbeitung von solchen Metamorphismen als
Puzzle
Literatur
Keisuke Nakano: Metamorphism in jigsaw
Journal of Functional Programming, Band 23(2), S. 161–173,
2013
PR-BS – Organisatorisches – SoSe 2014 – Professur KIST
16/26
Organisatorisches Vortrag und Ausarbeitung Themen
Finding Palindromes: Variants and Algorithms
Algorithmen in Haskell um Palindrome in Strings zu finden.
Varianten von Palindromen (z.B. nur ganze Wörter, keine
Teilwörter)
Literatur
Johan Jeuring: Finding Palindromes: Variants and Algorithms
The Beauty of Functional Code, Lecture Notes in Computer
Science, Band 8106, S. 258-272, 2013
PR-BS – Organisatorisches – SoSe 2014 – Professur KIST
17/26
Organisatorisches Vortrag und Ausarbeitung Themen
Building a consensus: A rectangle covering problem
Algorithmus in Haskell um das “rectangle covering problem”
zu lösen.
rectangle covering problem in etwa: Gegeben eine Menge von
Rechtecken RS und ein Rechteck R, dass komplett von den
Rechtecken in RS verdeckt wird. Konstruiere ein einzelnes
Rechteck, dass R überdeckt nach ein bestimmten Vorgehen.
Literatur
Richard S. Bird: Building a consensus: A rectangle covering
problem
Journal of Functional Programming, Band 21(2), S. 119–128,
2011
PR-BS – Organisatorisches – SoSe 2014 – Professur KIST
18/26
Organisatorisches Vortrag und Ausarbeitung Themen
Concurrent Distinct Choices
Implementierung von endlichen injektiven Abbildungen, die
nebenläufig ausgewertet werden in Curry
Anwendungsbeispiele, z.B. SEND+MORE=MONEY
Literatur
Sergio Antoy und Michael Hanus: Concurrent Distinct Choices
Journal of Functional Programming, Band 14(6), S. 657–668,
2004
PR-BS – Organisatorisches – SoSe 2014 – Professur KIST
19/26
Organisatorisches Vortrag und Ausarbeitung Themen
Parsing permutation phrases
Parserkombinatoren in Haskell für sogenannte “Permutation
phrases”: Jedes Wort kommt genau einmal vor, aber die
Reihenfolge ist egal.
Anwendungsbeispiel, z.B. XML-attribute parsen.
Literatur
Arthur I. Baars, Andres Löh und S. Doaitse Swierstra: Parsing
permutation phrases
Journal of Functional Programming, Band 14(6), S. 635–646,
2004
PR-BS – Organisatorisches – SoSe 2014 – Professur KIST
20/26
Organisatorisches Vortrag und Ausarbeitung Themen
Comprehensive Encoding of Data Types and Algorithms in
the Lambda-Calculus
Kodierung von Datentypen in Lambda-Ausdrücke
Sehr bekannt: Church-Kodierung, hier wird aber die
Scott-Kodierung erläutert
Literatur
Jan M. Jansen, Rinus Plasmeijer und Pieter
Koopman: Comprehensive Encoding of Data Types and
Algorithms in the Lambda-Calculus
PR-BS – Organisatorisches – SoSe 2014 – Professur KIST
21/26
Organisatorisches Vortrag und Ausarbeitung Themen
Fun with Semirings
Lineare Algebra auf geschlossenen Semiringen
geschlossener Seminring: Struktur mit Addition, Multiplikation
aber nicht notwendigerweise Subtraktion, Division
Typklasse in Haskell zur Beschreibung von Semiringen
Matrixoperationen auf Matrizen über Semiringen
Anwendungsbeispiel: Transitive Hülle, kürzeste Wege in
Graphen etc.
Literatur
Jan M. Jansen, Rinus Plasmeijer und Pieter Koopman: Fun
with Semirings
Proceedings of the 18th ACM SIGPLAN International
Conference on Functional Programming, S. 101–110, ACM,
2013
PR-BS – Organisatorisches – SoSe 2014 – Professur KIST
22/26
Organisatorisches Vortrag und Ausarbeitung Themen
Linear, Bounded, Functional Pretty-Printing
Kombinatorbibliothek in Haskell zum Schreiben von
Druckfunktionen
Schneller imperativer Algorithmus als funktionaler
Algorithmus.
Literatur
S. Doaitse Swierstra und Olaf Chitil: Linear, Bounded,
Functional Pretty-Printing
Journal of Functional Programming, Band 19(1), S. 1–16,
2009
PR-BS – Organisatorisches – SoSe 2014 – Professur KIST
23/26
Organisatorisches Vortrag und Ausarbeitung Themen
Enumerating the strings of regular languages
Haskell-Programm um die von einem regulären Ausdruck
erzeugten Worte aufzuzählen.
Verschiedene Ansätze (automatenbasiert, ...)
Literatur
M. Douglas McIlroy: Enumerating the strings of regular
languages
Journal of Functional Programming, Band 14(5), S. 503–518,
2004
PR-BS – Organisatorisches – SoSe 2014 – Professur KIST
24/26
Organisatorisches Vortrag und Ausarbeitung Themen
The Bird Tree
Baum der mit Bruchzahlen beschriftet ist und nach einem
bestimmten Schema erzeugt wird
Benannt nach Richard Bird
Eigenschaften, Erzeugung und Anwendungen des Baums
Literatur
Ralf Hinze: The Bird Tree
Journal of Functional Programming, Band 19(5), S. 491–508,
2009
PR-BS – Organisatorisches – SoSe 2014 – Professur KIST
25/26
Organisatorisches Vortrag und Ausarbeitung Themen
La tour d’Hanoı̈
Am Beispiel der Türme von Hanoi, werden die
Programmierkonzepte
wholemeal programming und projective programming erläutert
This pearl aims to demonstrate the ideas of wholemeal and
projective programming using the Towers of Hanoi puzzle as a
running example. The puzzle has its own beauty, which we hope to
expose along the way. Literatur
Ralf Hinze: La tour d’Hanoı̈
Proceedings of the 14th ACM SIGPLAN international
conference on Functional programming, S. 3-10, 2009
PR-BS – Organisatorisches – SoSe 2014 – Professur KIST
26/26
Herunterladen