Visualisierung von Algorithmen
|
|
|
- Heinrich Heinrich
- vor 7 Jahren
- Abrufe
Transkript
1 Visualisierung von Algorithmen Petra Hahnfeld Seminar Softwarevisualisierung Betreuer: Dr. Andreas Kerren Proseminar KI, WS 2004/2005 S. 1 SS 2006 TU Kaiserslautern Gliederung 1. Einleitung 2. Concept Keyboards Dynamische Graphen 5. Zusammenfassung Proseminar KI, WS 2004/2005 S. 2 Visualisierung von Algorithmen Seite 2
2 1. Aufteilung der Softwarevisualisierung Proseminar KI, WS 2004/2005 S. 3 Einleitung Visualisierung von Algorithmen Seite 3 1. Motivation Visualisierung von Algorithmen bietet: besseres Verständnis des Algorithmus hilft durch bessere Analyse bei der Optimierung Proseminar KI, WS 2004/2005 S. 4 Einleitung Visualisierung von Algorithmen Seite 4
3 Gliederung 1. Einleitung 2. Concept Keyboards Dynamische Graphen 5. Zusammenfassung Proseminar KI, WS 2004/2005 S. 5 Visualisierung von Algorithmen Seite Concept Keyboards Gewöhnliche Visualisierung von Algorithmen: Step-by-Step-Verfahren Nachteile: Benutzer stark eingeschränkt Kontrollkonsole und Output nicht getrennt [Baloian05] Benutzer mehr einbinden What learners do, not what they see, may have the greatest Proseminar KI, WS 2004/2005 S. 6 impact on learning. (Hundhausen) Concept Keyboards Visualisierung von Algorithmen Seite 6
4 2.2. Was ist ein Concept Keyboard? Schnittstelle zwischen Benutzer und den Methoden des Algorithmus jede Taste stellt eine Methode (Konzept) des Algorithmus dar für breite Personengruppe Proseminar KI, WS 2004/2005 S. 7 [Baloian05] Concept Keyboards Visualisierung von Algorithmen Seite Anforderungen an den Algorithmus Grundlage: bereits vorhandene Visualisierung Keyboard wird semiautomatisch erstellt Einschränkungen an den Algorithmus: referenziertes Objekt als intrinsischen Parameter (z.b. rotateright() statt rotate(x)) jedes Objekt, das als Parameter übergeben wird, muss Konstruktor besitzen, der String als Parameter bekommt Graphikmethode und Einlesen der Eingabedatei Proseminar KI, WS 2004/2005 S. 8 muss standardisiert sein Concept Keyboards Visualisierung von Algorithmen Seite 8
5 2.3. Konfigurations-Software (1) sinnvolle Auswahl der Methoden legt Detaillevel fest Daten-XML-Datei Proseminar KI, WS 2004/2005 S. 9 [Baloian05] Concept Keyboards Visualisierung von Algorithmen Seite Konfigurations-Software (2) Layout anpassen Sound festlegen Keyboard-XML- Datei Proseminar KI, WS 2004/2005 S. 10 [Baloian05] Concept Keyboards Visualisierung von Algorithmen Seite 10
6 2.4. Beispiel der Oberfläche [Baloian05] Proseminar KI, WS 2004/2005 S. 11 Concept Keyboards Visualisierung von Algorithmen Seite Ergebnisse 2 Testläufe mit 17 bzw. 18 Informatik-Studenten Auswertung mittels Fragebogen Ergebnisse: insgesamt sehr positives Feedback benutzerfreundlich Möglichkeit zur Interaktion bietet tieferes Verständnis Erklärungstexte hilfreich Proseminar KI, WS 2004/2005 S. 12 weitere Tests müssen folgen Concept Keyboards Visualisierung von Algorithmen Seite 12
7 Gliederung 1. Einleitung 2. Concept Keyboards Dynamische Graphen 5. Zusammenfassung Proseminar KI, WS 2004/2005 S. 13 Visualisierung von Algorithmen Seite Abstrakte Darstellung Idee: Visualisierung einer abstrakten Durchführung eines Algorithmus Vorteil: hängt nicht von konkreten Eingabedaten ab keine Fixierung auf bestimmte Daten Verständnis der generellen Fälle/Gemeinsamkeiten Werkzeug für abstrakte Darstellung bietet Shape Proseminar KI, WS 2004/2005 S. 14 Analysis Visualisierung von Algorithmen Seite 14
8 3.2. beschreibt eine Datenstruktur in logischen Termen führt dann den Algorithmus auf der abstrakten Beschreibung aus Für abstrakte Beschreibung notwendig: 1. Festlegung des Vokabulars 2. Definition der Prädikate (Eigenschaften) 3. Erstellung von Aktionen 4. Festlegung von Initialzuständen Proseminar KI, WS 2004/2005 S. 15 Visualisierung von Algorithmen Seite Beispiel: Binärbaumsuche (1) type tree = data: integer left: pointer to tree right: pointer to tree x := root while (x!= NULL and x.data!= el.data) do if (el.data < x.data) x := x.left else Proseminar KI, WS 2004/2005 S. 16 x := x.right Visualisierung von Algorithmen Seite 16
9 3.2. Beispiel: Festlegung der Prädikate (2) Detaillevel wird durch Anzahl der Prädikate festgelegt 1-wertige Prädikate 2-wertige Prädikate Prädikat root(v) x(v) r[root](v) r[x](v) ancest[root](v) ancest[x](v) left(v1, v2) Proseminar KI, WS 2004/2005 S. 17 right(v1,v2) Bedeutung Zeigt root auf v? Zeigt x auf v? Ist v von root erreichbar? Ist v von x erreichbar? Ist v ein Vorfahr von root? Ist v ein Vorfahr von x? Ist v1.left = v2? Ist v1.right = v2? Visualisierung von Algorithmen Seite Beispiel: Shape Graph (3) Shape Graph: Darstellung des Zustandes der Datenstruktur an einem bestimmten Programmpunkt Verdeutlichung der wesentlichen Inhalte Proseminar KI, WS 2004/2005 S. 18 [Johannes05] Visualisierung von Algorithmen Seite 18
10 3.2. Beispiel: Durchführung (4) Eingabe: Menge initialer Shape Graphen Ausführung der Aktionen ergibt für jeden Programmpunkt eine Menge an Shape Graphen beschreiben somit alle möglichen Datenstruktur- Konfigurationen Proseminar KI, WS 2004/2005 an einem S. 19 Programmpunkt Visualisierung von Algorithmen Seite Verarbeitung der Ausgabe der Shape Anlaysis Ausgabe der : liefert für jeden Programmpunkt eine Menge an Shape Graphen ist zu komplex für Visualisierung Lösung: Partitionierung der einzelnen Shape Graph-Mengen in Äquivalenzklassen Proseminar KI, WS 2004/2005 S. 20 Visualisierung von Algorithmen Seite 20
11 3.3. Partitionierung der Shape Graphen Verfahren: 1. Wähle Prädikatenmenge D (Untermenge aller Prädikate) 2. Ein Untergraph vom Graphen S besteht aus: allen 0-wertigen Prädikaten aus D alle Knoten v S, so dass es ein 1-wertiges Prädikat p D gibt, welches für v wahr ist verbinde die Knoten wie in S 3. Alle Graphen mit gleichem Untergraph sind äquivalent kommen in gleiche Äquivalenzklasse Proseminar KI, WS 2004/2005 S. 21 Mit D kann man verfeinern oder abstrahieren Visualisierung von Algorithmen Seite Beispiel Prädikatenmenge D = {root, x, ancest[x]} {left, right} Proseminar KI, WS 2004/2005 S. 22 Graphen liegen in gleicher Äquivalenzklasse bezüglich D [Johannes05] Visualisierung von Algorithmen Seite 22
12 3.4. Visualisierung der Äquivalenzklassen bisheriges Ergebnis: mehrere Äquivalenzklassen pro Programmpunkt Aufgabe der Visualisierung: Darstellung finden, die eine Äquivalenzklasse repräsentiert Eine Möglichkeit: V-Knoten Visualisierung Proseminar KI, WS 2004/2005 S. 23 Visualisierung von Algorithmen Seite V-Knoten Visualisierung führe virtuelle Knoten ein Bedeutung: können vorhanden sein oder auch nicht fasse somit mehrere Graphen zusammen Proseminar KI, WS 2004/2005 S. 24 [Johannes05] Visualisierung von Algorithmen Seite 24
13 3.5. Zukünftige Arbeit Visualisierung bis jetzt noch nicht in die Realität umgesetzt Zur Visualisierung müsste noch folgendes überlegt werden: Wie stellt man die Shape Graphen dar (Farben, Positionierung der Knoten und Kanten)? Wie stellt man die Ausführungsreihenfolge der Graphen dar? Proseminar KI, WS 2004/2005 S. 25 Visualisierung von Algorithmen Seite 25 Gliederung 1. Einleitung 2. Concept Keyboards Dynamische Graphen 5. Zusammenfassung Proseminar KI, WS 2004/2005 S. 26 Visualisierung von Algorithmen Seite 26
14 4.1. Constraint Programmierung Endliches Problem der Constraint Programmierung: endliche Menge von Variablen endlicher Definitionsbereich Funktion, die jeder Variablen eine Untermenge aus dem Definitionsbereich zuweist endliche Menge von Bedingungen. Jede Bedingung definiert eine Relation zwischen den Variablen. Kann viele Lösungen enthalten Welches ist der beste Lösungsweg? Proseminar KI, WS 2004/2005 S. 27 Dynamische Graphen Visualisierung von Algorithmen Seite Arbeitsweise eines Lösers gegebenes Problem: Variablen: {x,y,z} {1,2,3} Bedingungen: {x>y, y>z} Lösung: [Ghoniem05] Proseminar KI, WS 2004/2005 S. 28 Dynamische Graphen Visualisierung von Algorithmen Seite 28
15 4.2. Visualisierung von Aktivitätsgraphen Visualisierung eines Lösungsverfahrens: - Netzwerk von Variablen und Bedingungen, welches die Abhängigkeiten voneinander zeigt - Aktivität: gibt an, wie oft die Beziehung über ein bestimmtes Zeitintervall gebraucht wurde Problem: - herkömmliche Graphen mit Knoten und Kanten zu unübersichtlich Lösung: Matrizen Proseminar KI, WS 2004/2005 S. 29 Dynamische Graphen Visualisierung von Algorithmen Seite Visualisierung von Aktivitätsgraphen Spalten bzw. Reihen sind Knoten sind Knoten verbunden Aktivitätswert in Matrix schreiben je höher Aktivitätswert, Bed1 Bed2 Bed3 Bed1-2 0 Bed2 1-0 desto dunkler dargestellt Bed Proseminar KI, WS 2004/2005 S. 30 Aktivitätsmatrix Dynamische Graphen Visualisierung von Algorithmen Seite 30
16 4.3. Beispiel: Visualisierung von Aktivitätsgraphen (1) Problem: 100 Variablen [ ] 99 Bedingungen: i [1..100]: x i < x i+1 Proseminar KI, WS 2004/2005 S. 31 [Ghoniem05] Aktivitätsmatrix der Bedingungen nach Lösung des Problems Dynamische Graphen Visualisierung von Algorithmen Seite Beispiel: Visualisierung von Aktivitätsgraphen (2) Beobachtungen: starke Interaktivität zwischen nahegelegenen Bedingungen alle Bedingungen miteinander verknüpft je weiter auseinander, desto weniger Interaktion mittlere Bedingungen interagieren öfter miteinander als äußere Proseminar KI, WS 2004/2005 S. 32 [Ghoniem05] Dynamische Graphen Visualisierung von Algorithmen Seite 32
17 4.3. Beispiel: Visualisierung von Aktivitätsgraphen (3) Lösung des Problems braucht lange, da alle Bedingungen mehrmals miteinander interagieren Animation zeigt: 2 Fortpflanzungswellen erkennbar Beginn Mitte Ende Wechsel Beginn Mitte Ende Proseminar KI, WS 2004/2005 S Phase 2. Phase Dynamische Graphen Visualisierung von Algorithmen Seite 33 Gliederung 1. Einleitung 2. Concept Keyboards Dynamische Graphen 5. Zusammenfassung Proseminar KI, WS 2004/2005 S. 34 Visualisierung von Algorithmen Seite 34
18 5. Zusammenfassung 3 Ansätze zur Visualisierung Concept Keyboards hohe Interaktion erhöht Verständnis des Algorithmus abstrakte Darstellungsform hängt nicht von konkreten Daten ab Dynamische Graphen Darstellung durch Matrizen ermöglicht Einsichten in Lösungsverfahren von Problemen der Constraint Proseminar KI, WS 2004/2005 S. 35 Programmierung Zusammenfassung Visualisierung von Algorithmen Seite 35 Literaturverzeichnis [Baloian05]: N. Baloian, H. Breuer, W. Luther. Algorithm visualization using concept keyboards. ACM SoftVis`05. [Johannes05]: Dierk Johannes, Raimund Seidel, Reinhard Wilhelm. Algorithm Animation using : Visualising Abstract Executions. ACM SoftVis`05. [Ghoniem05]: Mohammad Ghoniem, Hadrien Cambazard, Jean- Daniel Fekete, Narendra Jussien. Peeking in Solver Strategies Using Explanations Visualization of Proseminar KI, WS 2004/2005 S. 36 Dynamic Graphs for Constraint Programming. ACM SoftVis`05. Visualisierung von Algorithmen Seite 36
Einführung in die Informatik Algorithms
Einführung in die Informatik Algorithms Vom Problem zum Algorithmus und zum Programm Wolfram Burgard Cyrill Stachniss 1.1 Motivation und Einleitung In der Informatik sucht man im Normalfall nach Verfahren
4.Grundsätzliche Programmentwicklungsmethoden
4.Grundsätzliche Programmentwicklungsmethoden 1.1 Grundlage strukturierter und objektorientierter Programmierung Begriff Software Engineering - umfaßt den gezielten Einsatz von Beschreibungsmitteln, Methoden
VBA-Programmierung: Zusammenfassung
VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung
Einleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens
Grundlagen von C Jonas Gresens Proseminar C Grundlagen und Konzepte Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität
Algorithmen und Datenstrukturen Suchbaum
Algorithmen und Datenstrukturen Suchbaum Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Motivation Datenstruktur zur Repräsentation dynamischer Mengen
Minimal spannende Bäume
http://www.uni-magdeburg.de/harbich/ Minimal spannende Fakultät für Informatik Otto-von-Guericke-Universität 2 Inhalt Definition Wege Untergraphen Kantengewichtete Graphen Minimal spannende Algorithmen
Einführung in die Informatik I (autip)
Einführung in die Informatik I (autip) Dr. Stefan Lewandowski Fakultät 5: Informatik, Elektrotechnik und Informationstechnik Abteilung Formale Konzepte Universität Stuttgart 24. Oktober 2007 Was Sie bis
Vortrag zum Hauptseminar Hardware/Software Co-Design
Fakultät Informatik Institut für Technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Vortrag zum Hauptseminar Hardware/Software Co-Design Robert Mißbach Dresden, 02.07.2008
Repetitorium Informatik (Java)
Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen
Bachelorarbeit Entwicklung eines Konzeptes zur angemessenen Beschriftung von Informationsobjekten
Bachelorarbeit Entwicklung eines Konzeptes zur angemessenen Beschriftung von Informationsobjekten Institut für Informatik Rostock 1 Inhaltsübersicht 1. Einleitung und Begriffsbildung 2. Bestehende geeignete
Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete
Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren Teilnehmerkreis und Voraussetzungen Studiengänge
1 Bedingungen und der Typ bool. Informatik I: Einführung in die Programmierung 5. Bedingungen, bedingte Ausführung und Schleifen. Vergleichsoperatoren
1 und der Informatik I: Einführung in die Programmierung 5., bedingte Ausführung und Albert-Ludwigs-Universität Freiburg Bernhard Nebel 27. Oktober 2015 27. Oktober 2015 B. Nebel Info I 3 / 21 Der Vergleichsoperatoren
Dynamische Programmierung. Problemlösungsstrategie der Informatik
als Problemlösungsstrategie der Informatik und ihre Anwedung in der Diskreten Mathematik und Graphentheorie Fabian Cordt Enisa Metovic Wissenschaftliche Arbeiten und Präsentationen, WS 2010/2011 Gliederung
Grundlagen der Informatik I (Studiengang Medieninformatik)
Grundlagen der Informatik I (Studiengang Medieninformatik) Thema: 3. Datentypen, Datenstrukturen und imperative Programme Prof. Dr. S. Kühn Fachbereich Informatik/Mathematik Email: [email protected]
[email protected] SS 2013 1.4-1 / 16 schrittweise Verfeinerung -> Wirth, 1971, Programm Development by Stepwise Refinement
IMPLEMENTIERUNGSSTRATEGIE bis jetzt: Programmstruktur für Programmieren im Kleinen jetzt: Programmstruktur für Programmieren im Großen zunächst allgemein, d. h. sprachunabhängig [email protected]
Visualisierung feingranularer Abhängigkeiten
Visualisierung feingranularer Abhängigkeiten Jens Krinke FernUniversität in Hagen Fachbereich Elektrotechnik und Informationstechnik Fach Softwaretechnik 6. Workshop Software-Reengineering, Bad Honnef,
Domain-independent. independent Duplicate Detection. Vortrag von Marko Pilop & Jens Kleine. SE Data Cleansing
SE Data Cleansing Domain-independent independent Duplicate Detection Vortrag von Marko Pilop & Jens Kleine http://www.informatik.hu-berlin.de/~pilop/didd.pdf {pilop jkleine}@informatik.hu-berlin.de 1.0
Handbuch für die Erweiterbarkeit
Handbuch für die Erweiterbarkeit Inhalt Pakete für die Erweiterbarkeit... 2 Actions... 2 Items... 2 Itemset... 2 Die UseCaseNewAction... 3 Eigene Shapes... 4 Der Shape Container... 5 User Objects... 6
Informatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 10 (3.6.2014) Binäre Suchbäume I Algorithmen und Komplexität Zusätzliche Dictionary Operationen Dictionary: Zusätzliche mögliche Operationen:
Einstieg in die Informatik mit Java
Vorlesung vom 07.01.2008 Übersicht 1 Warm-Up zum Jahresbeginn 2 Anfangswertprobleme 3 Polygonzüge 4 Das Eulersche Polygonzugverfahren Warm-Up zum Jahresbeginn 1 Warm-Up zum Jahresbeginn 2 Anfangswertprobleme
188.154 Einführung in die Programmierung Vorlesungsprüfung
Matrikelnummer Studienkennzahl Name Vorname 188.154 Einführung in die Programmierung Vorlesungsprüfung Donnerstag, 27.1.2005, 18:15 Uhr EI 7 Arbeitszeit: 60 min - max. 50 Punkte erreichbar - Unterlagen
Diskrete Strukturen Kapitel 1: Einleitung
WS 2015/16 Diskrete Strukturen Kapitel 1: Einleitung Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_15
Seminar Werkzeuggestütze. tze Softwareprüfung. fung. Slicing. Sebastian Meyer
Seminar Werkzeuggestütze tze Softwareprüfung fung Slicing Sebastian Meyer Überblick Einführung und Begriffe Static Slicing Dynamic Slicing Erweiterte Slicing-Techniken Fazit 2 Was ist Slicing?? (I) Program
Projekt AGB-10 Fremdprojektanalyse
Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................
Einführung in die Programmierung mit VBA
Einführung in die Programmierung mit VBA Vorlesung vom 07. November 2016 Birger Krägelin Inhalt Vom Algorithmus zum Programm Programmiersprachen Programmieren mit VBA in Excel Datentypen und Variablen
CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)
CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Einfache Programme: Programm-Argument, Bedingte Anweisungen, Switch, Enum Boolesche Werte und Ausdrücke Seite 1 Beispiel: Umrechnen
Informatik I WS 07/08 Tutorium 24
Info I Tutorium 24 Informatik I WS 07/08 Tutorium 24 31.01.08 Bastian Molkenthin E-Mail: [email protected] Web: http://infotut.sunshine2k.de Organisatorisches Anmeldung Hauptklausur : allerspätestens
Grundkurs Software- Entwicklung mit C++
Dietrich May Grundkurs Software- Entwicklung mit C++ Praxisorientierte Einführung mit Beispielen und Aufgaben- Exzellente Didaktik und Übersicht Mit 30 Abbildungen 2., überarbeitete und erweiterte Auflage
Tutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2
Prof. aa Dr. J. Giesl Programmierung WS16/17 F. Frohn, J. Hensel, D. Korzeniewski Tutoraufgabe 1 (Zweierkomplement): a) Sei x eine ganze Zahl. Wie unterscheiden sich die Zweierkomplement-Darstellungen
zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme
Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen
Theoretische 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
zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme
Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen
Entwurf und Umsetzung eines Werkzeugs für die Fluchtwegplanung
Entwurf und Umsetzung eines Werkzeugs für die Fluchtwegplanung Diplomarbeit Christian Weiprecht Bauhaus-Universität Weimar Fakultät Bauingenieurwesen Professur CAD in der Bauinformatik Inhaltsübersicht
14. Rot-Schwarz-Bäume
Bislang: Wörterbuchoperationen bei binären Suchbäume effizient durchführbar, falls Höhe des Baums klein. Rot-Schwarz-Bäume spezielle Suchbäume. Rot-Schwarz-Baum mit n Knoten hat Höhe höchstens 2 log(n+1).
kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung
Theoretische Informatik Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Juli 2009 1 / 40 2 / 40 Beispiele: Aus den bisher gemachten Überlegungen ergibt sich: aus der Chomsky-Hierarchie bleiben
2. Repräsentationen von Graphen in Computern
2. Repräsentationen von Graphen in Computern Kapitelinhalt 2. Repräsentationen von Graphen in Computern Matrizen- und Listendarstellung von Graphen Berechnung der Anzahl der verschiedenen Kantenzüge zwischen
Vorlesung Datenstrukturen
Vorlesung Datenstrukturen Binärbaum Suchbaum Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 356 Datenstruktur Binärbaum Strukturrepräsentation des mathematischen Konzepts Binärbaum
WS 2009/10. Diskrete Strukturen
WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910
Bei näherer Betrachtung des Diagramms Nr. 3 fällt folgendes auf:
18 3 Ergebnisse In diesem Kapitel werden nun zunächst die Ergebnisse der Korrelationen dargelegt und anschließend die Bedingungen der Gruppenbildung sowie die Ergebnisse der weiteren Analysen. 3.1 Ergebnisse
Grundlagen der Programmierung
Grundlagen der Programmierung 7. Vorlesung 18.05.2016 1 Konstanten Ganzzahlkonstante Dezimal: 42, 23, -2 Oktal (0 vorangestellt): 052 Hexadezimal (0x vorangestellt): 0x2A Gleitkommazahlen: 3.1415, 2.71,
Fortgeschrittene Netzwerk- und Graph-Algorithmen
Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester
Anwendungen des Fréchet-Abstandes Das Constrained Free Space Diagram zur Analyse von Körperbewegungen
Anwendungen des Fréchet-Abstandes Das Constrained Free Space Diagram zur Analyse von Körperbewegungen David Knötel Freie Universität Berlin, Institut für Informatik Seminar über Algorithmen Leitfaden Wiederholung
Objektorientierte Modellierung (1)
Objektorientierte Modellierung (1) Die objektorientierte Modellierung verwendet: Klassen und deren Objekte Beziehungen zwischen Objekten bzw. Klassen Klassen und Objekte Definition Klasse Eine Klasse ist
Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten
Objekt Objekt kapselt Variablen und Routinen Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Eigenschaften jedes Objekts: Identität (identisch = mehrere
Algorithmen & Datenstrukturen 1. Klausur
Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse
bzw. die Entscheidugen anderer Spieler (teilweise) beobachten Erweitert das Analysespektrum erheblich Beschreibung des Spiels (extensive Form)
1 KAP 9. Dynamische Spiele Bisher: alle Spieler ziehen simultan bzw. können Aktionen der Gegenspieler nicht beobachten Nun: Dynamische Spiele Spieler können nacheinander ziehen bzw. die Entscheidugen anderer
Grundlagen der Theoretischen Informatik
FH Wedel Prof. Dr. Sebastian Iwanowski GTI22 Folie 1 Grundlagen der Theoretischen Informatik Sebastian Iwanowski FH Wedel Kap. 2: Logik, Teil 2.2: Prädikatenlogik FH Wedel Prof. Dr. Sebastian Iwanowski
Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme
Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Programmieren I Dr. Werner Struckmann 7. September 2015 Name: Vorname: Matrikelnummer: Kennnummer: Anrede: Frau Herr
Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität
Datenstrukturen und Algorithmen Christian Sohler FG Algorithmen & Komplexität 1 Clustering: Partitioniere Objektmenge in Gruppen(Cluster), so dass sich Objekte in einer Gruppe ähnlich sind und Objekte
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.
Matchings (Paarungen) in Graphen. PS Algorithmen auf Graphen SS `06 Steven Birr
Matchings (Paarungen) in Graphen PS Algorithmen auf Graphen SS `06 Steven Birr 1 Gliederung 1) Definitionen und Beispiele 2) Algorithmus des maximalen Matchings 3) Das Personal-Zuteilungsproblem Ungarischer
Ausarbeitung zum Modulabschluss. Graphentheorie. spannende Bäume, bewertete Graphen, optimale Bäume, Verbindungsprobleme
Universität Hamburg Fachbereich Mathematik Seminar: Proseminar Graphentheorie Dozentin: Haibo Ruan Sommersemester 2011 Ausarbeitung zum Modulabschluss Graphentheorie spannende Bäume, bewertete Graphen,
JAVA-Datentypen und deren Wertebereich
Folge 8 Variablen & Operatoren JAVA 8.1 Variablen JAVA nutzt zum Ablegen (Zwischenspeichern) von Daten Variablen. (Dies funktioniert wie beim Taschenrechner. Dort können Sie mit der Taste eine Zahl zwischenspeichern).
Übungspaket 29 Dynamische Speicherverwaltung: malloc() und free()
Übungspaket 29 Dynamische Speicherverwaltung malloc() und free() Übungsziele Skript In diesem Übungspaket üben wir das dynamische Alloziieren 1. und Freigeben von Speicherbereichen 2. von Zeichenketten
Dynamisches Huffman-Verfahren
Dynamisches Huffman-Verfahren - Adaptive Huffman Coding - von Michael Brückner 1. Einleitung 2. Der Huffman-Algorithmus 3. Übergang zu einem dynamischen Verfahren 4. Der FGK-Algorithmus 5. Überblick über
Rechnerstrukturen. Michael Engel und Peter Marwedel WS 2013/14. TU Dortmund, Fakultät für Informatik
Rechnerstrukturen Michael Engel und Peter Marwedel TU Dortmund, Fakultät für Informatik WS 2013/14 Folien a. d. Basis von Materialien von Gernot Fink und Thomas Jansen 21. Oktober 2013 1/33 1 Boolesche
Teil 2 - Softwaretechnik. Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2. Übersicht. Softwaretechnik
Grundlagen der Programmierung 1 Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2 Softwaretechnik Prof. Dr. O. Drobnik Professur Architektur und Betrieb verteilter Systeme Institut für
App-Entwicklung für Android
App-Entwicklung für Android XML / Layouts Hochschule Darmstadt WS15/16 1 Inhalt XML Layouts Layouttypen Dimensions View Element Designs Farben Strings 2 XML XML ist eine Meta-Sprache zur Festlegung der
Unterstützung von Lernprozessen durch Visualisierung: Auf ikonischen Programmiersprachen basierende Lernsoftware. Referentin: Sarah Lang.
Unterstützung von Lernprozessen durch Visualisierung: Auf ikonischen Programmiersprachen basierende Lernsoftware Referentin: Sarah Lang Gliederung Praktische Relevanz des Themas Probleme beim programmieren
Objektorientierte Analyse (OOA) Inhaltsübersicht
Inhaltsübersicht Einführung Anforderungen an die UML-Diagramme Verhalten: Use-Case-Diagramm Verhalten: Aktivitätsdiagramm Verhalten: Zustandsautomat Struktur: Klassendiagramm Seite 1 Einführung In der
Werkzeuge zur Programmentwicklung
Werkzeuge zur Programmentwicklung B-15 Bibliothek Modulschnittstellen vorübersetzte Module Eingabe Editor Übersetzer (Compiler) Binder (Linker) Rechner mit Systemsoftware Quellmodul (Source) Zielmodul
Einführung in die Informatik I
Einführung in die Informatik I Berechenbarkeit und Komplexität Prof. Dr. Nikolaus Wulff Berechenbarkeit Im Rahmen der Turingmaschine fiel zum ersten Mal der Begriff Berechenbarkeit. Ein Funktion f heißt
Korn-Shell: Einführung in Shellscripte 1. Übersicht: Einführung - 2. Die Kornshell im Detail - 3.Grundlagen der Programmierung
1. Übersicht: Einführung - 2. Die Kornshell im Detail - 3.Grundlagen der Programmierung 1. Übersicht und Einführung 1.1 Die Shell allgemein 1.2 Die korn-shell 1.3 Der Weg zum ersten Skript 1.4 Nutzen und
Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen
1 Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Ziele 2 Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:
Ü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
Testen - Konzepte und Techniken
Testen - Konzepte und Techniken Magdalena Luniak 21.11.2007 Magdalena Luniak () Testen - Konzepte und Techniken 21.11.2007 1 / 42 Übersicht 1 Motivation 2 Grundbegrie 3 Testen im Softwareentwicklungsprozess
Ein Algorithmus für die
VGG 1 Ein Algorithmus für die Visualisierung gerichteter Graphen in der Ebene (2D) Seminar Graph Drawing SS 2004 bei Prof. Bischof (Lehrstuhl für Hochleistungsrechnen) Gliederung VGG 2 Einleitung Motivation
Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen
Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Arrays 1 Ziele Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:
Kapitel 5: Abstrakte Algorithmen und Sprachkonzepte. Elementare Schritte
Elementare Schritte Ein elementarer Berechnungsschritt eines Algorithmus ändert im Allgemeinen den Wert von Variablen Zuweisungsoperation von fundamentaler Bedeutung Zuweisungsoperator In Pascal := In
II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:
Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen
Kurs 1613 Einführung in die imperative Programmierung
Aufgabe 1 Gegeben sei die Prozedur BubbleSort: procedure BubbleSort(var iofeld:tfeld); { var hilf:integer; i:tindex; j:tindex; vertauscht:boolean; i:=1; repeat vertauscht := false; for j := 1 to N - i
Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie
Gliederung 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.1. 2.2. Reguläre Sprachen 2.3. Kontextfreie Sprachen 2/1, Folie 1 2015 Prof. Steffen
Algorithmen II Vorlesung am
Algorithmen II Vorlesung am 0..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum
Algorithmen und Datenstrukturen 1
Algorithmen und Datenstrukturen 1 7. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik [email protected] aufbauend auf den Kursen der letzten Jahre von E. Rahm, G. Heyer,
Template zum Erstellen einer Hauptseminar Ausarbeitung
Fakultät Informatik und Automatisierung Technische Universität Ilmenau Template zum Erstellen einer Hauptseminar Ausarbeitung Vorname Nachname Matrikel-Nr. 12345 Studiengang Informatik Hauptseminar im
Kapitel 8: Abstrakte Datentypen. Inhalt. Definition ADT Keller ADT Schlange
Wintersemester 005/06 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl
Feature Modelle. und ihre Anwendung. Feature Modelle und ihre Anwendungen. Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn
Feature Modelle und ihre Anwendung Feature Modelle und ihre Anwendungen 22.07.2010 1 Software-Produktlinien Zusammenfassung mehrerer verwandter Softwaresysteme zu einer Domäne (Anwendungsgebiet) Softwaresysteme
5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)
5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) mit V = {1,...,n} und E {(v, w) 1 apple v, w apple n, v 6= w}. c : E!
Studiengang Informatik der FH Gießen-Friedberg. Sequenz-Alignment. Jan Schäfer. WS 2006/07 Betreuer: Prof. Dr. Klaus Quibeldey-Cirkel
Studiengang Informatik der FH Gießen-Friedberg Sequenz-Alignment Jan Schäfer WS 2006/07 Betreuer: Prof. Dr. Klaus Quibeldey-Cirkel Überblick Einführung Grundlagen Wann ist das Merkmal der Ähnlichkeit erfüllt?
Rechnerische Komplexität
Proseminar Effiziente Algorithmen SS 2002 Rechnerische Komplexität Ulrike Krönert (34180) 0. Inhalt 1. Einführung 2. Algorithmen und Komplexität 2.1. Algorithmen 2.2. Laufzeitabschätzung 2.3. Polynomialzeit
Binärbäume. Prof. Dr. E. Ehses, 2014 1
Binärbäume Grundbegriffe der Graphentheorie Bäume und Ihre Anwendungen Unterschiedliche Darstellungen von Bäumen und Binärbäumen Binärbäume in Java Rekursive Traversierung von Binärbäumen Ebenenweise Traversierung
Assoziative Container in C++ Christian Poulter
Assoziative Container in C++ Christian Poulter Seminar: Die Sprache C++ Mat-Nr.: 53 03 129 EMail: [email protected] Christian Poulter Assoziative Container in C++ Seite 1/10 Inhalt 1. Einleitung: Container...
Einführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2009/0 : Technik vs. Iteration Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund 2 Definition (einfache,
Algorithmen zur Berechnung der Transitiven Hülle einer Datenbankrelation
Algorithmen zur Berechnung der Transitiven Hülle einer Datenbankrelation Daniel Reinhold Shenja Leiser 6. Februar 2006 2/28 Gliederung Einführung Transitive Hülle Definition Iterative Algorithmen 1. Naive
Automatisch-generierte Texturen aus Laserpunktwolken
Automatisch-generierte Texturen aus Laserpunktwolken Sharon Friedrich, Maik Häsner Ruprecht-Karls-Universität Heidelberg Interdisziplinäres Zentrum für wissenschaftliches Rechnen (IWR) Softwarepraktikum
Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder
Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element
Beschreibungslogiken. Daniel Schradick [email protected]
Beschreibungslogiken Daniel Schradick [email protected] Was sind Beschreibungslogiken? Definition: Formalisms that represent knowledge of some problem domain (the world ) by first defining
Seminar Programmierung und Reaktive Systeme
Seminar Programmierung und Reaktive Systeme Qualitätssicherung Softwareintensiver Eingebetteter Systeme Betreuer: Sascha Lity, Hauke Baller in Kooperation mit dem Institut für Softwaretechnik und Fahrzeuginformatik
Proseminar (SS 2009): Human-Computer Interaction. Michael Kipp Jan Miksatko Alexis Heloir DFKI
Proseminar (SS 2009): Human-Computer Interaction Michael Kipp Jan Miksatko Alexis Heloir DFKI Heute Mensch-Computer-Interaktion Ablauf Vorträge Ausarbeitungen Betreuung Themen Themenvergabe Mensch-Computer-Interaktion
Algorithmische Mathematik
Algorithmische Mathematik Wintersemester 2013 Prof. Dr. Marc Alexander Schweitzer und Dr. Einar Smith Patrick Diehl und Daniel Wissel Übungsblatt 6. Abgabe am 02.12.2013. Aufgabe 1. (Netzwerke und Definitionen)
Seminar. Visual Computing. Poisson Surface Reconstruction. Peter Hagemann Andreas Meyer. Peter Eisert: Visual Computing SS 11.
Poisson Surface Reconstruction Peter Hagemann Andreas Meyer Seminar 1 Peter Eisert: SS 11 Motivation Zur 3D Darstellung von Objekten werden meist Scan-Daten erstellt Erstellung eines Dreieckmodells aus
