Nutzung von Hypergraph-Vervollständigungen zur Realisierung von Diagramm- Vervollständigungen und Editieroperationen
|
|
- Fabian Gärtner
- vor 5 Jahren
- Abrufe
Transkript
1 Nutzung von Hypergraph-Vervollständigungen zur Realisierung von Diagramm- Vervollständigungen und Editieroperationen Steffen Mazanek Universität der Bundeswehr München GTD 2008,
2 Hypergraph-Vervollständigung Hypergraph: Graph, dessen Kanten eine beliebige Anzahl an Knoten verbinden können Hypergraph-Vervollständigung: Veränderung eines Hypergraphen, so dass er zu einer gegebenen Sprache passt Beispiel: Sprache der Zeichenketten-Graphen a n b n c n a a b b c c a b c 2
3 Hauptergebnisse Theorie: ein Algorithmus zur Hypergraph- Vervollständigung bzgl. von Hyperkantenersetzungsgrammatiken Code: Java-Implementierung (freie Software) Anwendung: Diagrammeditoren mit Syntax- Unterstützung
4 Hypergraphen als Modell für Diagramme n:=0 x>1 y x even cond x:=x/2 x:=3x+1 n Hypergraph-Parsing Diagramm-Parsing n:=n+1 4
5 Hyperkantenersetzungsgrammatik von NSDen NSD Stmt Stmt NSD Stmt NSD NSD cond NSD 5
6 Hypergraph-Vervollständigung genauer Hypergraph-spezifische, nicht-destruktive, korrektheitserhaltende oder korrigierende Hypergraph- Transformation gegeben: HRG G und ggf. unvollständiger/fehlerhafter Hypergraph H eine Vervollständigung von H besteht aus einer beliebigen Anzahl der folgenden Operationen: neue Hyperkante zu H hinzufügen (mglw. mit neuen Knoten) Knoten von H verschmelzen so dass der resultierende Graph korrekt ist bzgl. G 6
7 Hypergraph-Vervollständigung am Beispiel c d H Kanten a b hinzufügen e f unendliche Anzahl an c d Vervollständigungen g h möglich e f a b a b a c e g a~g cond f h b~h b d g h Knoten verkleben c~e d~f c e d f g h 7
8 Vervollständigungen berechnen Parsing-Algorithmus ähnlich Cocke, Younger, Kasami- Algorithmus für Zeichenketten Ableitungsbäume werden bottom up berechnet, d.h. Rückwärtsanwendung von Produktionen für Vervollständigung: zusätzlicher Parameter: maximale Anzahl Kanten die Kanten vortäuschen wo möglich vorgetäuscht werden dürfen Knoten verkleben wo nötig Äquivalenzklassen von Knoten (Quotientengraph) 8
9 Nutzung in DiaGen Layouter Layout- Information Attribut- Auswertung Ableitungs- struktur Zeichen- Werkzeug Diagramm Modeler Hypergraph- Model Reducer red. red. Hyper- graph-model Parser Update translator Wahl Graph completion Hypergr.- Vervollst. Ich brauche Hilfe! s1 s2 at at at at s3 at at 9
10 Diagrammeditoren: Möglichkeiten der Nutzerunterstützung (1) Anzahl der Komponenten Beispieldiagramme Was zum Geier ist ein NSD? 1 2 until 3 y n y x gerade? x:=x/2 n Was habe ich denn hier falsch gemacht?! 10
11 Diagrammeditoren: Möglichkeiten der Nutzerunterstützung (2) gegeben: y x even n x:=x/2 x:=3x+1 zwei Korrekturmöglichkeiten: A B y x even n y x even n x:=x/2 x:=3x+1 x:=3x+1 x:=x/2 manuelle Konstruktion von Diagramm A y x even n y x even n y x even n x:=x/2 x:=x/2 x:=3x+1 x:=x/2 x:=3x+1 x:=3x+1 y x even n x:=x/2 x:=3x+1 Das nervt Lösung: Diagrammkontraktion, I m Feeling Lucky -Button 11
12 Diagrammeditoren: Möglichkeiten der Nutzerunterstützung (3) vordefinierte, komplexe Editieroperationen sind sinnvoll DiaGen/Tiger: Graphtransformationsregeln aber: aufwändig zu definieren schwierig, Korrektheit sicherzustellen (hippocraticness) Editor-Entwickler weiß ggf. nicht, was der Nutzer braucht Lösung: Generierung lokaler Operationen "on the fly" 1 Vorteil: vollständige Menge von Operationen, automatisch korrektheitserhaltend 12
13 Demo: DiaGen-Editor mit Nutzerunterstützung 13
14 Strukturierte Editieroperationen: Idee Nutzer selektiert Komponente(n) zugehörige terminale Hyperkanten werden aus ihrem Kontext "herausgelöst" Aufspaltung von Schnittknoten Algorithmus anwenden Relevanzkriterien prüfen 14
15 Strukturierte Editieroperationen: weitere Beispiele
16 until Relevanzkriterium 2: Nur die separierten Knoten können verklebt werden und auch nur wieder zurück zu ihrer ursprünglichen Position. relevante Operationen zur Auswahl für den Nutzer 1 Relevanzkriterium 1: Zusatzkanten besuchen keine Knoten, die nicht auch von wenigstens einer selektierten Kante besucht werden, bzw. besucht worden sind. until 16
17 Intelli-Remove Möglichkeit des intelligenten Löschens von Komponenten ist in vielen Sprachen hilfreich Relevanzkriterium hier: Nur Knoten, die von gelöschten Kanten besucht wurden, dürfen verklebt werden. Ähnlich: Replace 17
18 Einschränkungen/Herausforderungen Performance Gluing Condition (manchmal) Wissen um abstrakte Syntax nötig Einbettungsproduktionen ::= 18
19 Zusammenfassung Hypergraph-Vervollständigung = korrektheitserhaltende oder korrigierende Transformation eines Hypergraphen Syntax-Unterstützung für Diagrammeditoren: Diagrammvervollständigung/-korrektur Generierung von Beispieldiagrammen Diagrammkontraktion Generierung von Editieroperationen generischer Ansatz, kein zusätzlicher Spezifikationsaufwand 19
20 Zusatzfolien 20
21 Ergänzende Details zum Algorithmus Schichten werden konstruiert Schicht i: Ableitungen von Hypergraphen mit i Kanten Schicht 1: Rückwärtsanwendung terminaler Produktionen, vorhandene Kanten + max* T frische Kanten Schicht i (1<i<= H +max): Rückwärtsanwendung von nichtterminalen Produktionen, Ableitungen der Schichten j und i-j kombinieren Knoten können verschmolzen werden, um Match zu finden verbleibende Kanten dürfen keine zu reduzierenden Knoten besuchen Ergebnis: Vervollst. bestehend aus Äquivalenzrelation auf Knoten + Menge zusätzlicher Kanten 21
22 Umwandlung nach CNF passiert automatisch analog dem Vorgehen für Zeichenkettengrammatiken für jedes Terminal a neue Regel A a Prod.en mit mehr als 2 Kanten auf linker Seite aufspalten Kettenproduktionen der Form A B eliminieren Stmt Transform Stmt CondLeft + n5 n6 cond CondLeft Cond NSD NSD NSD n5 NSD n6 22
23 Beispieldurchlauf a b cond c d e f g max=1 a b L 3 L 2 a c f a f CondLeft Cond NSD {~d,~e,~g} NSD, Stmt d g CondLeft d NSD g b e e b cond c f d g e L 1 c f Stmt, NSD d g a c Cond cond b e Stmt, NSD 23
Inhalt. " DiaGen Historie und Beschreibung. " Architektur eines DiaGen-Editors. " Hypergraphen. " DiaGen-Editoren Komponenten
DIAGEN Sven Goeckels Seminar : Visuelle Sprachen Universität Bremen FB Informatik WS 2001/2002 Inhalt " DiaGen Historie und Beschreibung " " Hypergraphen " DiaGen-Editoren Komponenten? Modeler? Reducer?
MehrDiagen. Vortrag im Seminar Visuelle Sprachen. Wolfgang Machert. Betreuer: Dr. Berthold Hoffmann. Universität Bremen
Vortrag im Seminar Visuelle Sprachen Wolfgang Machert Universität Bremen - 01.07.2004 Betreuer: Dr. Berthold Hoffmann Diagram Generator...... enthält einen Generator der aus einer formalen Sprachspezifikation
MehrEinführung in die Computerlinguistik Chart-Parsing
Einführung in die Computerlinguistik Chart-Parsing Dozentin: Wiebke sen 21.12.2009 Wiebke sen Einführung CL (Wie 09/10) 1 P = calls calls Wiebke sen Einführung CL (Wie 09/10) 2 P = calls calls Wiebke sen
MehrDisMod-Repetitorium Tag 4
DisMod-Repetitorium Tag 4 Endliche Automaten, Reguläre Sprachen und Kontextfreie Grammatiken 22. März 2018 1 Endliche Automaten Definition DFA Auswertungen Äquivalenzrelationen Verschmelzungsrelation und
MehrKontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen
Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Wortproblem: der CYK-Algorithmus Pumping Lemma für kontextfreie Sprachen
MehrDiskrete Strukturen Kapitel 4: Graphentheorie (Grundlagen)
WS 2015/16 Diskrete Strukturen Kapitel 4: Graphentheorie (Grundlagen) 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
MehrKlammersprache Definiere
Klammersprache w=w 1...w n {(,)}* heißt korrekt geklammert, falls die Anzahl ( ist gleich der Anzahl ). in jedem Anfangsstück w 1,...,w i (i n) ist die Anzahl ( nicht kleiner als die Anzahl ). Definiere
MehrEinführung in das Graphical Modeling Framework. 13. November 2012
Einführung in das Graphical Modeling Framework 13. November 2012 100 Überblick Was ist der Unterschied zwischen abstrakter Syntax und konkreter Syntax? Welche Arten von graphischen Editoren gibt es? Freihandeditoren
MehrChomsky-Grammatiken 16. Chomsky-Grammatiken
Chomsky-Grammatiken 16 Chomsky-Grammatiken Ursprünglich von Chomsky in den 1950er Jahren eingeführt zur Beschreibung natürlicher Sprachen. Enge Verwandschaft zu Automaten Grundlage wichtiger Softwarekomponenten
MehrEntscheidungsverfahren für die Software-Verifikation. 4 - BDDs
Entscheidungsverfahren für die Software-Verifikation 4 - BDDs Datenstruktur BDD 1986 von R. Bryant vorgeschlagen zur Darstellung von aussagenlogischen Formeln (genauer: Booleschen Funktionen) Boolesche
MehrGrammatiken. Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen
Grammatiken Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen Grammatiken eignen sich besonders zur Modellierung beliebig tief geschachtelter,
Mehr5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS)
5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS) Sommersemester 2009 Dr. Carsten Sinz, Universität Karlsruhe Datenstruktur BDD 2 1986 von R. Bryant vorgeschlagen zur Darstellung von aussagenlogischen Formeln (genauer:
MehrSoftware Entwicklung 1. Fallstudie: Arithmetische Ausdrücke. Rekursive Klassen. Überblick. Annette Bieniusa / Arnd Poetzsch-Heffter
Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter Fallstudie: Arithmetische Ausdrücke AG Softech FB Informatik TU Kaiserslautern Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 33 Überblick
MehrHallo Welt für Fortgeschrittene
Hallo Welt für Fortgeschrittene Parsen Thomas Wehr Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Inhalt Theoretische Grundlagen Grammatiken im Allgemeinen Die Chomsky-Hierarchie Die Chomsky-Normalform
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
MehrInformatik III. Christian Schindelhauer Wintersemester 2006/07 5. Vorlesung
Informatik III Christian Schindelhauer Wintersemester 2006/07 5. Vorlesung 09.11.2006 schindel@informatik.uni-freiburg.de 1 Äquivalenzklassen Definition und Beispiel Definition Für eine Sprache L Σ* bezeichnen
MehrSoftware Entwicklung 1
Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Fallstudie: Arithmetische Ausdrücke Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 33 Überblick
MehrVorlesung Modellierung nebenläufiger Systeme Sommersemester 2014 Universität Duisburg-Essen
Vorlesung Modellierung nebenläufiger Systeme Sommersemester 204 Universität Duisburg-Essen Barbara König Übungsleitung: Sebastian Küpper Barbara König Vorlesung Modellierung nebenläufiger Systeme Motivation:
MehrDer CKY-Parser. Vorlesung Computerlinguistische Techniken Alexander Koller. 27. Oktober 2015
Vorlesung omputerlinguistische Techniken Alexander Koller 27. Oktober 2015 Übersicht Komplexität des KY-Algorithmus Implementierung in Python hift-reduce-parsing hift-regel: (a w, s) (w, s a) Reduce-Regel:
Mehr1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie
Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/3, Folie 1 2010 Prof. Steffen Lange - HDa/FbI
MehrDiskrete Strukturen. Hausaufgabe 1 (5 Punkte) Hausaufgabe 2 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008
Technische Universität München Fakultät für Informatik Lehrstuhl für Informatik 15 Computergraphik & Visualisierung Prof. Dr. Rüdiger Westermann Dr. Werner Meixner Wintersemester 2007/08 Lösungsblatt 9
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Graphdarstellungen Maike Buchin 0.6.017 Graphen Motivation: Graphen treten häufig als Abstraktion von Objekten (Knoten) und ihren Beziehungen (Kanten) auf. Beispiele: soziale
MehrEinführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie
Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester 2005/2006 07.11.2005 5. Vorlesung 1 Überblick: Kontextfreie Sprachen Formale Grammatik Einführung, Beispiele Formale
MehrCharts. Motivation. Grundfrage. Chart als Graph
Charts Motivation Übersicht Chart bzw. Well-Formed Substring Table (WFST) Als azyklischer Graph, Tabelle und Relation Kantenbeschriftungen Kategorien: WFST Regeln: Passive Charts Regelhyposen: Aktive Charts
MehrKapitel 4: Minimale spannende Bäume Gliederung der Vorlesung
Kapitel : Minimale spannende Bäume Gliederung der Vorlesung. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen. Kürzeste Wege. Minimale spannende Bäume. Färbungen und Cliquen. Traveling Salesman
MehrInhalt Kapitel 11: Formale Syntax und Semantik
Inhalt Kapitel 11: Formale Syntax und Semantik 1 Abstrakte und konkrete Syntax 2 Lexikalische Analyse 3 Formale Sprachen, Grammatiken, BNF 4 Syntaxanalyse konkret 266 Abstrakte und konkrete Syntax Abstrakte
MehrWas bisher geschah Modellierung von Daten durch Mengen Beziehungen (Zusammenhänge und Eigenschaften) durch Relationen, Graphen und Funktionen
Was bisher geschah Modellierung von Daten durch Mengen Beziehungen (Zusammenhänge und Eigenschaften) durch Relationen, Graphen und Funktionen Anforderungen durch Logiken Modellierung zusammenhängender
MehrMathematik für Informatiker 1 Wintersemester 2013/14 Übungsblatt 3
Dipl.Inf. Malte Isberner Dr. Oliver Rüthing Dipl.Inf. Melanie Schmidt Dr. Hubert Wagner Übungen zur Vorlesung Mathematik für Informatiker 1 Wintersemester 2013/14 Übungsblatt 3 Die Lösungshinweise dienen
MehrPumping-Lemma 2 Pumping-Lemma Sei L eine von einem endlichen Automaten erkannte Sprache. Dann existiert eine natürliche Zahl p N derart, dass jedes Wo
1 Endliche Automaten Modellierungskonzept mit vielen brauchbaren Eigenschaften schnelle Spracherkennung graphisch-visuelle Beschreibung automatische Korrektheitsbeweise gute Kompositionalitätseigenschaften
Mehr6. Texterkennung in Videos Videoanalyse
6. Texterkennung in Videos Videoanalyse Dr. Stephan Kopf 1 Übersicht Motivation Texterkennung in Videos 1. Erkennung von Textregionen/Textzeilen 2. Segmentierung einzelner Buchstaben 3. Auswahl der Buchstabenpixel
Mehr2.2 Syntax, Semantik und Simulation
2.2 Syntax, Semantik und Simulation Ein Java Programm ist eine Folge von Buchstaben. Nicht jede Folge von Buchstaben ist ein korrektes Java Programm! Wie kann man alle korrekten Java Programme beschreiben?
MehrDefinition von LR(k)-Grammatiken
Definition von LR(k)-Grammatiken Ziel: Ein Lookahead von k soll ausreichen um entscheiden zu können, welche Regel angewendet werden muss. Definition: FIRST k (w 1 w n ):= w 1 w k, falls n k, w 1 w n, sonst.
MehrKonstruieren der SLR Parsing Tabelle
Konstruieren der SLR Parsing Tabelle Kontextfreie Grammatik (CFG) Notation 1. Diese Symbole sind Terminals: (a) Kleinbuchstaben vom Anfang des Alphabets wie a, b, c. (b) Operator Symbole wie +,, usw. (c)
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 20 (23.7.2014) All Pairs Shortest Paths, String Matching (Textsuche) Algorithmen und Komplexität Vorlesungsevaluation Sie sollten alle eine
Mehra) Fügen Sie die Zahlen 39, 38, 37 und 36 in folgenden (2, 3)-Baum ein:
1 Aufgabe 8.1 (P) (2, 3)-Baum a) Fügen Sie die Zahlen 39, 38, 37 und 36 in folgenden (2, 3)-Baum ein: Zeichnen Sie, was in jedem Schritt passiert. b) Löschen Sie die Zahlen 65, 70 und 100 aus folgendem
MehrStratego/XT und ASF+SDF Meta-Environment. Paul Weder Seminar Transformationen Datum:
Stratego/XT und ASF+SDF Meta-Environment Paul Weder Seminar Transformationen Datum: 20.01.2006 Gliederung Allgemeines ASF+SDF Meta-Environment Stratego/XT Zusammenfassung/Vergleich SDF (Syntax Definition
MehrFormale Sprachen. Inhalte. Lehrplan. Hinweis
Formale Sprachen Inhalte Aufbau von Sprachen Grammatiken formaler Sprachen Endliche Automaten *Grenzen endlicher Automaten Werkzeuge TdI, 2. Juli 2010 Peter Brichzin 1 TdI, 2. Juli 2010 Peter Brichzin
MehrDynamische Programmierung
Dynamische Programmierung Claudia Gerhold 9.5.6 Claudia Gerhold Dynamische Programmierung 9.5.6 / 4 Agenda Einführung Dynamische Programmierung Top-Down Ansatz mit Memoization Bottom-Up Ansatz 3 Anwendungsbeispiele
MehrFortgeschrittene 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
Mehr...imbeispiel: Die Konkatenation der Blätter des Ableitungsbaums t bezeichnen wir auch mit yield(t). liefert die Konkatenation: name int + int.
Die Konkatenation der Blätter des Ableitungsbaums t bezeichnen wir auch mit yield(t)....imbeispiel: E 0 E 1 + T 1 T 0 F 2 T 1 F 2 int F 1 int name liefert die Konkatenation: name int + int. 273 Die Grammatik
MehrEffizienter Planaritätstest Vorlesung am
Effizienter Planaritätstest Vorlesung am 23.04.2014 INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER Satz Gegebenen einen Graphen G = (V, E) mit n Kanten und m Knoten, kann in O(n + m) Zeit
MehrTechnische Universität München SoSe 2018 Fakultät für Informatik, I Juli 2018 Dr. Stefanie Demirci. Aufgabe 1 Sortieren mit Heap Sort
Name: Vorname: Matr. Nr.: Technische Universität München SoSe 2018 Fakultät für Informatik, I-16 4. Juli 2018 Dr. Stefanie Demirci Allgemeine Hinweise Musterklausur zu Algorithmen und Datenstrukturen Die
MehrVisuelle Sprachen und Ihre Ausdrucksmittel
Visuelle Sprachen und Ihre Ausdrucksmittel Seminar der Projektgruppe Generierung von Web-Anwendungen aus visuellen Spezifikationen Universität Paderborn 11. Juni 2004 Motivation Warum überhaupt visuell?
MehrDistributed Algorithms. Image and Video Processing
Chapter 6 Optical Character Recognition Distributed Algorithms for Übersicht Motivation Texterkennung in Bildern und Videos 1. Erkennung von Textregionen/Textzeilen 2. Segmentierung einzelner Buchstaben
MehrSpeech Recognition Grammar Compilation in Grammatikal Framework. von Michael Heber
Speech Recognition Grammar Compilation in Grammatikal Framework von Michael Heber Agenda 1. Einführung 2. Grammatical Framework (GF) 3. Kontextfreie Grammatiken und Finite-State Modelle 4. Quellen 2 1.
MehrZweizusammenhang und starker Zusammenhang
.. Zeizusammenhang und starker Zusammenhang Carsten Gutenger Vorlesung Algorithmen und Datenstrukturen WS /. Januar Zeizusammenhang Betrachte ein Netzerk (Graph) Z.B. Computernetzerk, Flug- oder Schienennetzerk
MehrModellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick. 11. Februar 2015
Modellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick 11. Februar 2015 Überblick Zusammenfassung: Generell: Konzepte der Softwaretechnik im Kontext der modellgetriebenen Entwicklung Diskussion
MehrTechnische Universität München Zentrum Mathematik. Optimierung 2, WS 2008/09 Übungsblatt 12
Technische Universität München Zentrum Mathematik Prof. Dr. P. Gritzmann, Dipl.-Inf. Dipl.-Math. S. Borgwardt, Dr. M. Ritter Optimierung 2, WS 2008/09 Übungsblatt 12 Aufgabe 12.1 Betrachten Sie die folgenden
MehrTheoretische Grundlagen der Informatik. Vorlesung am 8. Januar INSTITUT FÜR THEORETISCHE INFORMATIK
Theoretische Grundlagen der Informatik 0 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Letzte Vorlesung Eine
MehrGrundlagen der Mathematik
Grundlagen der Mathematik Übungsaufgaben zu Kapitel 1 Einführung 1.1.1 Für reelle Zahlen a und b gilt (a+b) (a-b) = a 2 -b 2. Was ist die Voraussetzung? Wie lautet die Behauptung? Beweisen Sie die Behauptung.
MehrDatenstrukturen und Algorithmen
Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 1/1 Datenstrukturen und Algorithmen Vorlesung 14: Prof. Dr. Erika Ábrahám Theorie Hybrider Systeme Informatik 2 http://ths.rwth-aachen.de/teaching/ss-14/
MehrDefinition von domänenspezifischen Sprachen mit Xtext: Einführung
Definition von domänenspezifischen Sprachen mit Xtext: Einführung 28. November 2012 Taentzer Modellgetriebene Softwareentwicklung 246 Überblick Was ist zu tun, wenn wir selbst einen Ansatz für modellgetriebenen
MehrModellbasiertes Testen auf Basis des fundamentalen Testprozesses
Modellbasiertes Testen auf Basis des fundamentalen Testprozesses Tobias Eckardt, Michael Spijkerman Software Quality Lab (s-lab) Universität Paderborn 12. Februar 2009 Vorgehensmodell für Modellbasiertes
MehrAlgorithmen & Datenstrukturen Midterm Test 2
Algorithmen & Datenstrukturen Midterm Test 2 Martin Avanzini Thomas Bauereiß Herbert Jordan René Thiemann
MehrModel-Driven Software Engineering (HS 2011)
Model-Driven Software Engineering (HS 2011) Dr. J. Küster Übungsblatt I Abgabe: Am 15.11.2011 vor der Vorlesung Voraussetzungen: Installation von Eclipse und Eclipse Modeling Framework Installation der
MehrÜbungsblatt 5 Lösungsvorschläge
Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 5 Lösungsvorschläge Vorlesung Algorithmentechnik im WS 09/10 Problem 1: Lineare Weihnachtsalgebra Kreisbasen [vgl. Kapitel
MehrInnovationslabor Semantische Integration von Webdaten
Innovationslabor Semantische Integration von Webdaten Workflow-basierte Datenintegration und Objekt-Matching Dr. Andreas Thor http://dbs.uni-leipzig.de/format Workflow-basierte Datenintegration Ausgangspunkt
MehrKontextfreie Grammatiken
Kontextfreie Grammatiken Vorlesung Computerlinguistische Techniken Alexander Koller 16. Oktober 2015 Übersicht Worum geht es in dieser Vorlesung? Übungen und Abschlussprojekt Kontextfreie Grammatiken Computerlinguistische
MehrLR-Parser, Shift-Reduce-Verfahren
LR-Parser, Shift-Reduce-Verfahren Bottom-Up-Syntaxanalyse LR-Parser L: Eingabe von links nach rechts; R: Rechtsherleitung Shift-Reduce-Verfahren Beachte: Kein Backtracking nicht auf jede Grammatik anwendbar
Mehr13 Abstrakte Datentypen
13 Abstrakte Datentypen Bisher: Konkrete Datentypen Menge von Elementen Operationen auf den Elementen (Konstruktoren, Selektoren, Typprädikate) Eigenschaften abgeleitet Jetzt: Abstrakte Datentypen (ADT)
MehrKlausur zur Vorlesung Formale Sprachen und Automaten TIT03G2 mit Lösungsvorschlägen
Klausur zur Vorlesung Formale Sprachen und Automaten TIT03G2 mit Lösungsvorschlägen Name: Matr.-Nr.: Vorname: Aufgabe 1 2 3 4 5 6 7 max. Punkte 6 7 10 6 8 7 9 err. Punkte Gesamtpunktzahl: Note: Aufgabe
MehrModellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick. 7. Februar 2013
Modellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick 7. Februar 2013 Überblick Zusammenfassung: Generell: Konzepte der Softwaretechnik im Kontext der modellgetriebenen Entwicklung Diskussion
MehrGrundlagen: Algorithmen und Datenstrukturen
Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester H.
MehrAbschnitt 11: Korrektheit von imperativen Programmen
Abschnitt 11: Korrektheit von imperativen Programmen 11. Korrektheit von imperativen Programmen 11.1 11.2Testen der Korrektheit in Java Peer Kröger (LMU München) in die Programmierung WS 16/17 931 / 961
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie prachen (VI) 25.06.2015 Viorica ofronie-tokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie
MehrOlaf Seng Thomas Genßler Benedikt Schulz. Forschungszentrum Informatik, Karlsruhe
Olaf Seng Thomas Genßler Benedikt Schulz Einführung Grundlagen Vorgehensweise Beispiel Zusammenfassung Übersicht 2 Einführung Szenario & Probleme Hinzufügen einer neuen Funktion zu einer Komponente Erfordert
Mehr3.4 Struktur von Programmen
3.4 Struktur von Programmen Programme sind hierarchisch aus Komponenten aufgebaut. Für jede Komponente geben wir Regeln an, wie sie aus anderen Komponenten zusammengesetzt sein können. program ::= decl*
Mehr1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik
Mehr1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik
MehrKapitel 4: Minimal spannende Bäume Gliederung der Vorlesung
Kapitel : Minimal spannende Bäume Gliederung der Vorlesung. Fallstudie Bipartite Graphen 2. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen. Minimal spannende Bäume. Kürzeste Wege. Traveling
MehrRechenzeit für A. Sei t B die Rechenzeit eines Algo für B. Seien p,q,r monotone Polynome ( +).
Rechenzeit für A Sei t B die Rechenzeit eines Algo für B. Seien p,q,r monotone Polynome ( +). Rechenzeit des resultierenden Algo für A: t A (n) p(n) + q(n) t B (r(n)). Ist polynomiell, falls t B Polynom.
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 13.01.2011 INSTITUT FÜR THEORETISCHE INFORMATIK 0 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
MehrVorlesung im Sommersemester Informatik IV. Probeklausurtermin: 21. Juni 2016
Heinrich-Heine-Universität Düsseldorf Institut für Informatik Prof. Dr. J. Rothe Universitätsstr. 1, D-40225 Düsseldorf Gebäude: 25.12, Ebene: O2, Raum: 26 Tel.: +49 211 8112188, Fax: +49 211 8111667 E-Mail:
MehrAbgabe: (vor der Vorlesung)
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 0 Prof. Dr. Helmut Seidl, S. Pott,
MehrInformatik III. Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung
Informatik III Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung 17.11.2006 schindel@informatik.uni-freiburg.de 1 Prinzip des Kellerautomats Push-Down-Automaton (PDA) Ein Kellerautomat vereinigt
MehrAlgorithmus: // Zähler für jede Regel. // Initialisierung. // Initialisierung von rhs } // 2 N result = ; // Ergebnis-Menge int count[p];
Algorithmus: 2 N result = ; // Ergebnis-Menge int count[p]; // Zähler für jede Regel 2 P rhs[n]; // VorkommeninrechtenSeiten forall (A N) rhs[a] = ; // Initialisierung forall ((A,i) P) { // count[(a,i)]
MehrTHIA - Übungsblatt 2.
THIA - Übungsblatt 2. Aufgabe 12 (Eine einfache Sprache). Endliche Ziffernfolgen, die mit einer 0 beginnen, auf die mindestens eine weitere Ziffer folgt, wobei nur die Ziffern 0,..., 7 vorkommen, sollen
MehrGraphen KAPITEL 3. Dieses Problem wird durch folgenden Graph modelliert:
KAPITEL 3 Graphen Man kann als Ursprung der Graphentheorie ein Problem sehen, welches Euler 1736 von Studenten aus Königsberg gestellt bekam. Der Fluss Pregel wird von 7 Brücken überquert, und die Frage
MehrEinführung in die Theoretische Informatik
Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 7 15. Juni 2010 Einführung in die Theoretische
MehrVarianten endlicher Automaten
Varianten endlicher Automaten Varianten endlicher Automaten 2 Endliche Automaten mit λ-übergängen können aktuellen Zustand wechseln, ohne ein Zeichen zu lesen; sind praktisch (vereinfachen oft die Modellierung
MehrLehrpläne NRW Sek.stufe 2. Lernen im Kontext
Lehrpläne NRW Sek.stufe 2 Lernen im Kontext Fachliche Inhalte Lernziele Informatik NRW Fähigkeit, komplexe Zusammenhänge mit gedanklicher Schärfe zu durchdringen (Problemanalyse) Überblick über unterschiedliche
MehrNaiver Algorithmus für Hamiltonkreis
Naiver Algorithmus für Hamiltonkreis Algorithmus HAMILTON EINGABE: G = ([n], E) in Adjazenzmatrixdarstellung 1 Für alle Permutationen π : [n] [n]. 1 Falls (π(1), π(2),..., π(n)) ein Kreis in G ist, AUSGABE
MehrGrundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1
Vorlesung 9 Fundamentals of Software Engineering 1 Inhaltsverzeichnis 1. Einführung 2. Allgemeine Modellbildung 3. Strukturierte Analyse 4. Strukturierter Entwurf (SE) 4.1 Aufbau der Modellierungsphasen
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 15.01.2015 INSTITUT FÜR THEORETISCHE 0 KIT 15.01.2015 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik
MehrProjektgruppe. FG Engels. Enthält eine zusätzliche Folie. Fabian Christ, Benjamin Nagel, Henning Wachsmuth. Anmeldung bis 28.
Enthält eine zusätzliche Folie Projektgruppe Fabian Christ, Benjamin Nagel, Henning Wachsmuth FG Engels Bereich SWT Anmeldung bis 28. Februar 2010 28. Januar 2010 1 Softwarespezifikation in der Praxis...
Mehr6 Kontextfreie Grammatiken
6 Kontextfreie Grammatiken Reguläre Grammatiken und damit auch reguläre Ausdrücke bzw. endliche Automaten haben bezüglich ihres Sprachumfangs Grenzen. Diese Grenzen resultieren aus den inschränkungen,
MehrEin Fragment von Pascal
Ein Fragment von Pascal Wir beschreiben einen (allerdings sehr kleinen) Ausschnitt von Pascal durch eine kontextfreie Grammatik. Wir benutzen das Alphabet Σ = {a,..., z, ;, :=, begin, end, while, do} und
MehrSyntax von Programmiersprachen
Syntax von Programmiersprachen SEP 209 Programmiersprachen Sprache = Menge von Wörtern, typischerweise unendlich Programmiersprache: Wörter repräsentieren Programme Programm kann auf einem Computer evtl.
MehrÜbersicht. Begriffserklärung Motivation / Anwendungen Drei Algorithmen Zusammenfassung Fragen Quellen. Triangulierung von Steffen Ernst 2
Triangulierung Übersicht Begriffserklärung Motivation / Anwendungen Drei Algorithmen Zusammenfassung Fragen Quellen Triangulierung von Steffen Ernst 2 Begriffserklärung Ein Graph ist trianguliert, wenn
Mehr6 Modellierung von Strukturen 6.1 Kontextfreie Grammatiken
6 Modellierung von Strukturen 6.1 Kontextfreie Grammatiken Mod-6.1 Kontextfreie Grammatik (KFG): formaler Kalkül, Ersetzungssystem; definiert Sprache als Menge von Sätzen; jeder Satz ist eine Folge von
MehrSuchen in Texten. Naives Suchen Verfahren von Knuth-Morris-Pratt Verfahren von Boyer-Moore Ähnlichkeitssuchen Editierdistanz
Suchen in Texten Naives Suchen Verfahren von Knuth-Morris-Pratt Verfahren von Boyer-Moore Ähnlichkeitssuchen Editierdistanz Textsuche Gegeben ist ein Zeichensatz (Alphabet) Σ. Für einen Text T Σ n und
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Datenstrukturen: Anordnung von Daten, z.b. als Liste (d.h. in bestimmter Reihenfolge) Beispiel: alphabetisch sortiertes Wörterbuch... Ei - Eibe - Eidotter... als Baum (d.h.
MehrVoronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 29.05.2011 Das Postamt-Problem b(p, q) = {x R 2 : xp = xq } p q h(p, q) h(q, p) = {x :
MehrWeb Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H)
Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H) Dominik Kirsten Daniel Schäferbarthold Trier, 21.01.2008 1 Gliederung 1. Einführung 1.1 Anforderungen an
MehrSoftware-Engineering im Sommersemester 2014
Methodische Grundlagen des Software-Engineering SS 2014 Vorlesung Methodische Grundlagen des Software-Engineering im Sommersemester 2014 Prof. Dr. Jan Jürjens TU Dortmund, Fakultät Informatik, Lehrstuhl
MehrSprachen und Programmiersprachen
Sprachen und Programmiersprachen Natürliche Sprachen versus Programmiersprachen / Spezifikationssprachen Syntax legt die grammatikalische Korrektheit fest. Semantik legt die Bedeutung von syntaktisch korrekten
Mehr2. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2009/2010
2. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2009/2010 Hier Aufkleber mit Name und Matrikelnummer anbringen Vorname: Nachname: Matrikelnummer: Beachten Sie: Bringen Sie den Aufkleber mit
MehrChartparsing & CKY Algorithmus
Ludwigs Maximiliansuniversität München Centrum für Informations und Sprachverarbeitung Hauptseminar: Parsing Leitung: Prof. Dr. Klaus U. Schulz Sommersemester 2009 Chartparsing & CKY Algorithmus Daniel
Mehr