DiscoverGrundbegriffe der Informatik, Vorlesung, WS17/18
Grundbegriffe der Informatik, Vorlesung, WS17/18
Claim Ownership

Grundbegriffe der Informatik, Vorlesung, WS17/18

Author: Karlsruher Institut für Technologie (KIT)

Subscribed: 105Played: 550
Share

Description

Inhalt der Vorlesung:
- Algorithmen informell, Grundlagen des Nachweises ihrer Korrektheit, Berechnungskomplexität, 'schwere' Probleme, O-Notation, Mastertheorem
- Alphabete, Wörter, formale Sprachen, endliche Akzeptoren, kontextfreie Grammatiken
- induktive/rekursive Definitionen, vollständige und strukturelle Induktion, Hüllenbildung
- Relationen und Funktionen
- Graphen
- Syntax und Semantik für Aussagenlogik

Weiterführende Literatur
- Goos: Vorlesungen über Informatik, Band 1, Springer, 2005
- Abeck: Kursbuch Informatik I, Universitätsverlag Karlsruhe, 2005

Ziel:
Der/die Studierende soll
- grundlegende Definitionsmethoden erlernen und in die Lage versetzt werden, entsprechende Definitionen zu lesen und zu verstehen.
- den Unterschied zwischen Syntax und Semantik kennen.
- die grundlegenden Begriffe aus diskreter Mathematik und Informatik kennen und die Fähigkeit haben, sie im Zusammenhang mit der Beschreibung von Problemen und Beweisen anzuwenden.
Dozent: Dr. Sebastian Stüker |  Karlsruher Institut für Technologie (KIT), Institut für Anthropomatik und Robotik |
Vorlesungsaufzeichnung: http://webcast.kit.edu
26 Episodes
Reverse
26 | 0:00:00 Starten 0:00:10 Turingmaschinen 0:00:34 Platzkomplexität oder Raumkomplexität einer TM 0:01:32 Raumkomplexität der TM für Palindromerkennung 0:02:23 Zeitkomplexität versus Raumkomplexität 0:04:00 Eine Komplexitätsklasse ist eine Menge von Problemen 0:05:48 P und PSPACE - zwei wichtige Komplexitätsklassen 0:07:15 Beziehung zwischen P und PSPACE - unklar 0:09:49 Was ist wichtig 0:10:48 Achtung 0:11:09 Codierungen von Turingmaschinen 0:14:37 Beispielcodierung - Zustände 0:15:41 Beispielcodierung - Symbole 0:16:17 Beispielcodierung - Kopfbewegen 0:16:34 Beispielcodierung - Kopfbewegen 0:18:00 Beispielcodierung - eine ganze Turingmaschine 0:19:31 Eigenschaften dieser und ähnlicher Codierungen 0:21:30 Das Halteproblem 0:30:02 Gibt es Probleme die nicht algorithmisch gelöst werden können? 0:31:46 Diagonalisierung 0:37:27 Beweis der Unentscheidbarkeit des Halteproblems 0:41:35 Weitere unentscheidbare Probleme 0:42:40 Erinnerung: BB3 0:44:01 Bibermaschinen 0:44:50 Fleißige Biber und die Busy-Beaver-Funktion 0:50:26 Was ist wichtig? 0:51:39 Steam-Powered Turing Machine 0:53:04 Zusammenfassung 1 0:53:28 Video: Turing Machine in Microsoft Powerpoint 1:01:17 Zusammenfassung 2
25 | 0:00:00 Starten 0:00:37 Aufgabe 6.1 0:06:56 Aufgabe 6.2 0:17:33 Aufgabe 6.3 0:34:45 Aufgabe 6.4
24 | 0:00:00 Starten 0:01:39 Mealy-Automaten 0:05:23 Verallgemeinerte Zustandsübergangsfunktionen 0:20:24 Moore-Automat 0:25:59 Verallgemeinerte Ausgabefunktionen g* und g** 0:30:51 Endliche Akzeptoren 0:36:55 Erkannte formale Sprache 0:54:47 Beispiel einer nicht erkennbaren Sprache 1:07:39 Regulärer Ausdruck 1:18:21 Durch R beschriebene formale Sprache 1:23:28 Ãquivalenz regulärer Ausdrücke
23 | 0:00:00 Starten 0:00:10 Einheit 17: Quantitative Aspekte von Algorithmen 0:01:53 Einfache Beobachtungen 0:05:08 Für die Lektüre leider unverzichtbar 0:07:01 Eine nützliche Rechenregel 0:08:26 Komplexoperationen 0:15:51 Weitere Regeln 0:17:09 Was ist wichtig 0:18:23 Multiplikation von 2 X 2-Matrizen 0:20:25 Multiplikation von n X n Matrizen mit Blockaufteilung 0:27:44 Die Idee von Volker Strassen 0:31:00 Aufwandsabschätzung für den Algorithmus von Strassen 0:34:37 Matrizenmultiplikation - geht es noch schneller? 0:35:37 Teile und herrsche 0:37:43 Was ist wichtig 0:38:54 Laufzeit von Teile-und-Herrsche-Algorithmen 0:41:30 Mastertheorem 0:51:58 Hier ist das Mastertheorem nicht anwendbar 0:53:05 Einfache for-Schleifen 0:53:59 Geschachtelte for-Schleifen 0:56:06 Rechenzeiten 1:07:24 Ein primitiver Getränkeautomat
22 | 0:00:00 Starten 0:00:13 kapitel 16: Erste Algorithmen in Graphen 0:00:15 Wiederverwendung 0:11:20 Was ist wichtig 0:12:29 Algorithmus von Warshall 0:20:07 Zum Aufwand des Algorithmus von Warshall 0:21:01 Einheit 17: Quantitative Aspekte von Algorithmen 0:21:21 Überblick 0:23:25 Ressourcenverbrauch bei Berechnungen 0:23:26 Zählen arithmetischer Operationen 0:24:49 Ressourcen für Rechnungen 0:26:49 Insertionsort 0:32:46 Ressourcenverbrauch 0:35:05 Was ist wichtig 0:35:12 Wo sind wir ? 0:35:21 Warum keine exakten Angaben? 0:37:45 Wie ungenau wollen wir über Funktionen reden? 0:38:05 Zu Notation und Redeweise 0:43:36 Beispiel 0:55:44 Obere und untere Schranken
21 | 0:00:00 Starten 0:01:19 Aufgabe 5.1 0:11:02 Aufgabe 5.2 0:25:26 Aufgabe 5.3 0:35:19 Aufgabe 5.4 0:46:17 Aufgabe 5.5
20 | 0:00:00 Starten 0:00:18 ARMAR-6 0:06:11 Königsberg, 1652 0:06:28 Eine Anmerkung zu Relationen 0:08:14 Symmetrische Relationen 0:09:41 Äquivanelnzrelationen 0:13:08 Graphen mit knoten- oder Kantenmarkierungen 0:13:52 Graphen mit Beschriftungen 0:15:21 Beispiel 0:19:01 Färbungen von Graphen - formal 0:20:16 Gewichtete Graphen 0:21:40 Eine Grenze de üblichen Formalisierung von Graphen 0:28:00 Zusammenfassung 0:28:15 Kapitel 16 0:28:44 Überblick 0:32:04 Objekte im Rechner 0:34:02 Adjaztezlisten 0:35:06 Inzidenzlisten 0:36:02 Variante von Adjanzenlisten 0:37:59 Adjanzenmatrix 0:41:22 Repräsentation von Relationen durch Matrizen 0:41:57 Wegematrix eines Graph 0:45:08 Beispiel 0:45:37 2-Erreichbarkeit 0:47:34 Systematische Suche 0:49:59 Zählen der Pfade 0:51:15 Matrizenmultiplikation 0:52:53 Algorithmus für Matrizenmultiplikation 0:53:47 Einheitsmatrizen 0:54:44 Potenzen quadratischer Matrizen 0:55:24 Quadrierte Adjanzenmatrix 0:57:01 Matrizenaddition 0:58:05 Berechnung von E* 1:00:13 Beseitigung der unendlichen Vereinigung 1:03:55 Potenzen der Adjazenmatrix 1:04:24 Signum- Funktion 1:05:44 Matrizendarstellung für Ek 1:06:40 Vereinigung von Relationen 1:08:22 Eine erste Formel für die Wegematrix 1:09:09 Beweis 1:10:19 Einfacher Algorithmus 1:18:49 Wiederverwendung
19 | 0:00:00 Starten 0:00:28 Algorithmus zur Multiplikation nichtnegativer ganzer Zahlen 0:04:55 Schleifenvariante für Multiplikationsalgorithmus 0:10:53 Was ist wichtig 0:12:52 Kapitel 15: Graphen 0:14:05 Darstellung von Zusammenhängen 0:18:29 Überblick 0:20:45 Gerichteter Graph 0:24:04 Bäume kamen schon mehrfach vor 0:25:41 de Bruijn-Graphen 0:28:13 Teilgraph 0:29:54 Pfade können über mehrere Kanten führen 0:32:44 Zyklen führen zum Ausgangspunkt zurück 0:34:57 Beispiele für Pfade 0:37:04 Strenger Zusammenhang 0:39:43 Eindeutigkeit der Wurzel 0:41:54 Knotengrad bei gerichteten Graphen 0:43:06 Bäume: Blätter und innere Knoten 0:47:02 Welche Bedeutung hat das Relationsprodukt 0:48:33 Erreichbarkeit 0:54:27 Ungerichtete Graphen - Formal definiert 0:56:32 Teilgraph eines ungerichteten Graphen 0:59:13 Ungerichtete Kanten und Relationen 1:01:24 Zusammenhang in ungerichteten Graphen 1:04:09 Knotengrad in ungerichteten Graphen - ein heikles Thema
18 | 0:00:00 Starten 0:00:10 Aufgabe 4.1 0:12:08 Aufgabe 4.2 0:26:13 Aufgabe 4.3 0:35:11 Aufgabe 4.4 0:45:22 Aufgabe 4.5
17 | 0:00:00 Starten 0:14:00 Wo sind wir? 0:18:18 Zwei wichtige Schriften von al-Kharizmi 0:21:43 Lösen einer Sorte quadratischer Gleichung nach al-Kharazmi 0:24:11 Algorithmusbegriff informal 0:26:20 Diskussion des informellen Algorithmusbegriffs 0:35:21 Korrektheit eines Algorithmus 0:35:50 Beweis von al-Khwaraizmi 0:40:51 Beweis durch Nachrechnen 0:43:36 Eine einfache ,,Programmiersprache'' 0:46:12 Hoare-Tripel 0:47:47 mZusicherungen in Hoare-Tripeln 0:50:50 Bedeutung von Programmen 0:51:59 Gültigkeit von Hoare-Tripeln 0:56:20 Axiome für Hoare-Kalkül 0:59:59 Ableitungsregeln 1:03:35 Beispiel 1:15:27 Regel H T-I 1:17:17 Beispiel für H T-I 1:23:46 Erinnerung 1:25:06 Algorithmus für die Multiplikation
16 | 0:00:00 Starten 0:00:10 Kap13: Prädikatenlogik erster Stufe 0:11:37 Vorkommen von Variablensymbolen in Formeln 0:13:24 freie und gebundene Vorkommen von Variablensymbolen 0:21:02 Substitutionen 0:36:51 Kollisionsfreie Substitutionen für Formeln 0:39:06 Logisch äquivalente Formeln 0:49:36 Weitere allgemeingültige Formeln 0:53:25 Kapitel 14: Der Begriff des Algorithmus (einige grundlegende Aspekte) 0:53:34 Kalkül 0:55:53 Aussagenkalkül 0:56:42 Hilbert-Kalkül 0:59:54 Axiome für Hilbert-Kalkül 1:03:12 Schlussregeln für den Hilbert-Kalkül 1:05:06 Ableitungen - formal gefasst 1:09:30 Beweis - formal gefasst 1:09:55 Hilbert-Kalkül - korrekt und vollständig 1:12:39 Deduktionstheorem - aber nur mit Einschränkungen 1:14:47 Skizze eines Beispiels 1:28:22 Großzügige Benutzung von Prädikatenlogik 1:29:26 Zusammenfassung
15 | 0:00:00 Starten 0:01:46 Aufgabe 3.1 0:26:54 Aufgabe 3.2 0:43:54 Aufgabe 3.3
14 | 0:00:00 Starten 0:03:00 Prädikatenlogische Formeln 0:09:54 Terme 0:22:17 Atomare Formeln 0:33:04 Prädikatenlogische Formeln 0:39:37 Was ist wichtig 0:40:40 Interpretationen 0:45:55 Val 1:03:16 Allgemeingültige Formeln 1:13:29 Modelle 1:19:09 Was ist wichtig 1:19:53 Vorkommen 1:21:45 freie und gebundene Vorkommen
13 | 0:00:00 Starten 0:00:24 Was ist wichtig? 0:04:26 Wo sind wir? 0:04:59 Kontextfreie Grammatik 0:07:50 Ableitungsschritt 0:10:14 Anmerkungen 0:13:16 Ableitungsfolgen 0:16:01 Jede Grammatik erzeugt eine formale Sprache 0:16:57 Beispiel einer kontextfreien Grammatik/Sprache 0:19:20 Kompaktere Notation bei vielen Produktionen 0:20:14 Java-Syntax 0:22:22 Kontextfreie Grammatiken versus Syntax von Programmiersprachen 0:23:49 Ableitungsbäume 0:28:19 Wohlgeformte/korrekte Klammerausdrücke 0:29:48 Arithmetische Ausdrücke 0:34:29 Syntax aussagenlogischer Formeln 0:39:09 Produkt von Relationen 0:42:29 Reflexiv-transitive Hülle 0:45:43 Eigenschaften der reflexiv-transitiven Hülle 0:50:17 Eine Grenze kontextfreier Grammatiken 0:52:01 L-Beispielwörter 0:54:15 L ist nicht kontextfrei 1:16:53 Zusammenfassung
12 | 0:00:00 Starten 0:00:10 Laden mit indirekter Adressierung - Beispiel. Programm 0:00:59 MIMA-Befehle(1a) - Datentransport akku 0:02:17 MIMA-Befehle (1b) - Datentransport mit indirekter Adressierung 0:03:19 MiMa- Befehle (2a) - für die ALU 0:05:06 Arithmetik - Beispiel- Programm 0:05:48 MIMA-Befehle (2b) - mehr für die ALU 0:08:47 Programmabarbeitung - normalerweise ganz einfach 0:09:46 Sprünge ändern die normale Reihenfolge der Programmabarbeitung 0:10:44 Rückwertssprünge gehen natürlich auch... 0:12:20 Bedingte Sprünge 0:15:20 Arbeitsweise der MIMA 0:16:39 MIMA - die Minimalmaschine ist ein idealisierter Prozessor 0:18:15 MIMA- Befehlsholphase 0:18:40 MIMA Befehlsholphase (A1) 0:18:58 MIMA Befehlsholphase (A2) 0:19:21 MIMA Befehlsholphase (A3) 0:19:23 MIMA Befehlsholphase (A4) 0:20:42 MIMA Befehlsholphase (A5) 0:20:54 MIMA Befehlsholphase (B1) 0:21:20 MIMA Befehlsholphase (B2) 0:21:48 MIMA Befehlsholphase (B3) 0:21:53 MIMA Befehlsholphase (B4) 0:22:04 MIMA Befehlsholphase (1) 0:22:25 MIMA Befehlsholphase (2) 0:22:38 MIMA Befehlsholphase (3) 0:22:51 MIMA- Befehlsdecodierungsphase 0:23:39 MIMA Befehlsausführungsphase für LDV adr (1) 0:24:34 Aufsummieren einer Liste von Zahlen 0:26:24 Aufsummieren - Initialisierungen 0:27:49 Aufsummieren - Iteration über die Elemente 0:30:46 Wir halten fest 0:31:52 Kapitel 11 0:33:03 Dokumente 0:35:52 Inhalt, Struktur, Form 0:39:46 Struktur von Dokumenten 0:41:28 XHTML 0:45:58 Auszug aus der DTD für Tabellen in XHTML 0:46:56 Interpretation der DTD für Tabellen in XHTML 0:50:50 Beispiele für Tabelle in XHTML 0:51:16 LATEX 0:55:32 Grobstruktur 0:56:36 Listen mit LATEX 0:57:47 Formale Sprache kommen ins Spiel 0:59:57 Eine Grenze unserer bisherigen Vorgehensweise 1:03:03 Kapitel 12 1:03:07 Spezifikation formaler Sprache 1:03:27 Ausschnitt der Definition der Syntax von Java 1:05:16 Vereinfachung 1:07:35 Versuch einer formalen Sprache 1:11:34 Beweis des Lemmas 1:18:01 Was kann man sehen? 1:24:40 Kontextfreie Grammatik
0:00:00 Starten 0:00:53 Aufgabe 2.1: Aussagenlogische Formeln 0:07:42 Aufgabe 2.2 0:19:17 Aufgabe 2.3 0:41:12 Aufgabe 2.4 0:51:28 Aufgabe 2.5 0:54:47 Aufgabe 2.6 1:09:13 Aufgabe 2.7 1:15:55 Aufgabe 2.8
10 | 0:00:00 Starten 0:03:36 Überblick 0:04:31 Wo sind wir? 0:04:39 Bit und Byte 0:09:16 Kleiner ung großer Speicher 0:15:30 Dezimale Größenpräfixe 0:18:43 Binäre Größenpräfixe 0:22:58 Wir halten fest 0:23:35 Formalisierungen sind Spezifikationen - auch im Zusammenfassung mit Speicher 0:25:46 Gesamtzustand eines Speichers 0:28:13 Formalisierung von Speicher 0:30:58 Lesen aus dem Speicher - Formalisierung als Abbildung 0:33:10 Bemerkungen zu memread 0:35:12 Schreiben in den Speicher - ein weing komplizierter 0:42:19 Eigenschaften von Speicher 0:43:59 Wozu diese Formalisierungen? 0:44:48 Was ist wichtig 0:45:57 Kapitel 10: Prozessor 0:46:12 MIMA - die Minimalmaschine ist ein idealisierter Prozessor 0:47:27 Überblick 0:47:36 Drahte verbinden ,,Erzeuger'' und ,,Verbracher'' 0:50:00 ,,Erzeuger'' für ein Bit 0:52:18 Drähte können mehrere Erzeugerausgänge mit Verbrauchern verbinden 0:55:18 Einfaches ,,Speicher-Elemn'' für ein Bit 0:57:26 Arbeitsweise des Speicher-Elements 0:57:43 Von-Neumann-Architektur vs. Harvard-Architektur 1:01:37 John von Neumann 1:02:23 Grobstruktur der MIMA 1:06:09 Hauptspeicher für die MAMA 1:10:31 Prozessor - Aufbau allgemein 1:11:00 die MAMA - ein idealisierter Prozessor 1:12:39 Maschinenbefehle werden 1:15:45 MIMa- Befehle (1a) - Datentransport Akku - Speicher 1:18:55 Laden und Speichern - Beispiel - <<Program>> 1:21:01 MIMA- Befehle (1b)- Datentransport mit indirekter Adressierung
09 | 0:00:00 Starten 0:00:10 Darstellung auch negativer Zahlen 0:02:24 Zweierkomplement-Darstellung - für negative und nichtnegative Zahlen 0:05:10 Das ist wichtig 0:07:43 Von Hexadezimal- zu Binärdarstellung 0:09:49 Übersetzungen - bedeutungserhaltende Abbildungen von Wörtern auf Wörter 0:13:49 Trans2,16 - eine Übersetzung 0:15:28 Wozu Übersetzungen 0:21:08 Codierungen - injektive Übersetzungen 0:23:52 Wie spezifiziert man eine Übersetzung? 0:24:40 Homomorphismen - mit Konkatenation verträgliche Abbildungen 0:26:37 Homomorphismen lassen das leere Wort unverändert 0:27:57 Homomorphismen - die Bilder einelner Symbole legen alles fest 0:30:35 Homomorphismen - die Bilder einzelner Symbole legen alles fest (2) 0:32:02 Homomorphismen - so legen die Bilder einzelner Symbole alles fest 0:34:08 Präfixfreie Codes 0:36:05 Präfixfreie Codes: Decodierung 0:40:02 Präfixfreie Codes: Decodierung (2) 0:41:51 Präfixfreie Codes: Decodierung (3) 0:42:03 Präfixfreie Codes: Decodierung (4) 0:44:58 UTF-8 Codierung von Unicode - ein Homomorphismus 0:46:42 UTF-8 - Auszug aus RFC 3629 0:49:52 Beispiel: UTF-8 Codierung des Integralzeichens 0:53:11 Huffman-Codierung - ein Überblick 0:55:07 Voraussetzungen 0:57:08 Algorithmus für Huffman-Codes 0:59:07 Konstruktion des Huffman-Baumes (1) 1:00:53 Konstruktion des Huffman-Baumes (2) 1:00:59 Konstruktion des Huffman-Baumes (3) 1:02:29 Konstruktion des Huffman-Baumes (4) 1:03:35 Konstruktion des Huffman-Baumes (5) 1:03:49 Konstruktion des Huffman-Baumes (6) 1:03:57 Konstruktion des Huffman-Baumes (7) 1:04:05 Konstruktion des Huffman-Baumes (8) 1:04:18 Beschriftung der Kanten 1:05:57 Eigenschaften von Huffman-Codes 1:07:15 Block-Codierungen
08 | 0:00:00 Starten 0:04:25 Von Wörten zu zahlen und zurück 0:05:49 Wo sind wir? 0:06:53 Dezimaldarstellung von Zahlen 0:24:13 Induktive Definitionen - ,,über die Wortlänge'' 0:26:24 Gottfried Wilhelm Leibniz: zwei Ziffern reichen aus! 0:33:21 Binäardarstellung von Zahlen 0:35:59 Hexadezimaldarstellung oder Sedezimaldarstellung 0:37:59 Ein kleines Problem 0:40:36 Ist jede Zahl darstellbar? 0:41:50 k-äre Darstellung von Zahlen 0:48:16 Operation div und mod 0:52:48 Die Definition von Reprk ist sinnvoll 0:57:44 Numk ist linksinvers zu Reprk 1:05:11 Unübliche Methode für negative Zahlen 1:09:55 Rechnen in Zk 1:18:41 Zahldarstellungen mit beschränkter fester Länge 1:21:11 Negative Zahlen - Pfeile in die entgegengesetzte Richtung 1:23:20 Darstellung auch negativer Zahlen
07 | 0:00:00 Starten 0:00:45 Aufgabe 1.1 0:12:53 Aufgabe 1.2 0:19:24 Aufgabe 1.3 0:28:12 Aufgabe 1.5 0:41:30 Aufgabe 1.6 0:55:47 Aufgabe 1.4
loading
Comments 
loading