1 Algorithmische Grundlagen
|
|
|
- Leander Hase
- vor 7 Jahren
- Abrufe
Transkript
1 1 Algorithmische Grundlagen Klocke/ Begriffsklärung Fragen Begriffsklärungen Abstraktionsebenen für Algorithmen und Datenstrukturen Algorithmus Qualität von Algorithmen Klocke/
2 Fragen Welche Rolle spielen Datenstrukturen und Algorithmen in der Informatik? Wozu werden sie überhaupt gebraucht? Welche Möglichkeiten gibt es, Algorithmen und Datenstrukturen formal zu beschreiben? Wie unterscheidet man was ein Algorithmus macht und wie er es macht? Ist diese Unterscheidung sinnvoll? Klocke/ Fragen. Was versteht man unter der Qualität eines Algorithmus, und wie kann man diese messen? Welcher Zusammenhang besteht zwischen Datenstrukturen und Algorithmen? Hängt die Qualität eines Algorithmus von der Datenstruktur ab, auf der er operiert? Klocke/
3 Abstraktionsebenen Mathematik Algorithmik Programmierung Klocke/ Abstraktionsebenen. ADT (abstrakter Datentyp) Mathematik Spezifikation Funktion algebraische Strukturen (Datentyp) Implementierung Algorithmik Spezifikation Algorithmus Analyse Datenstruktur Thema der Vorlesung Implementierung Programmierung Funktion, Methode Typ, Modul, Klasse Klocke/
4 Beispiel - Aufgabe Gegeben sei eine Menge S von ganzen Zahlen. Stelle fest, ob eine bestimmte Zahl c in S enthalten ist. Klocke/ Lösung Die Darstellung bzw. Lösung dieser Aufgabe kann auf jeder der drei Abstraktionsebenen erfolgen als mathematische Funktion als Algorithmus in einer Metasprache und als Programm in einer Programmiersprache Klocke/
5 Spezifikation als Funktion Sei F(Ζ) die Menge aller endlichen Teilmengen von Ζ, z.b. {1,3,7} F(Ζ), aber für die Menge M = {x x ist gerade} gilt: M F(Ζ). Dagegen ist M P(Ζ) (Potenzmenge von Ζ = Menge aller Teilmengen von Ζ). Sei BOOL = {true, false} Definiere f: F(Z) Z BOOL f(s, c) true, falls c S = false, sonst Klocke/ Spezifikation als Algorithmus Als Repräsentation für die Objektmenge wählen wir ein Array. Algorithmus contains Input S, ein Integerarray der Länge n c, eine Integerzahl Output true, falls c S, sonst false Method-1 var b : bool; b := false; for i := 1 to n do if S[i] = c then b := true endif; endfor; return b; end contains. Klocke/
6 Spezifikation als Programm program test_membership (input, output); type intset = array[1..n] of integer; function contains (s: intset, c: integer) : boolean; var b: boolean; begin b := false; for i := 1 to n do if s[i] = c then b := true; contains := b end; begin contains([2,3,6,8], 5) end; { test_membership } Klocke/ Definitionen: Algorithmus Ein Algorithmus ist ein wohl-definiertes Berechnungsverfahren, das als Eingabe ein oder mehrere Werte bzw. Mengen von Werten erhält und als Ausgabe Werte bzw. Mengen von Werten erzeugt. Ein Algorithmus ist damit eine Folge von Berechnungsschritten, die eine Eingabe in eine Ausgabe transformiert. Klocke/
7 Definitionen: Algorithmus. Ein Algorithmus ist ein Werkzeug, das ein wohl-spezifiziertes berechenbares Problem löst. Ein Algorithmus ist eine Anleitung zur Lösung eines Problems, wie ein Kochrezept, ein Strickmuster oder eine Reparatur- oder Montageanleitung. Klocke/ Church sche These Jede im intuitiven Sinne berechenbare Funktion ist auch Turing-berechenbar. Die Gültigkeit der Church schen These würde bedeuten, dass alle verschiedenen Algorithmen- Begriffe nach Turing, Church, etc. äquivalent sind. Da man bisher kein Gegenbeispiel gefunden hat, wird die Church sche These von der Informatik als gültig akzeptiert. Klocke/
8 Nicht-lösbare Probleme Es gibt Probleme in der Informatik, von denen man beweisen kann, dass sie nicht lösbar sind. Dazu gehört das Unvollständigkeitstheorem von Gödel und das bekannte Halteproblem. Beispiele für Aussagen über natürliche Zahlen Jede positive Integerzahl > 1, die keine Primzahl ist, ist zusammengesetzt (composite). Beispiele: 4 = 2 * 2, 111 = 3 * 37, 1001 = 7 * 11 * 13 Jede positive Zahl > 1 hat einen Prim-Teiler (prime divisor, Nenner) Es gibt unendlich viele Primzahlen. Theorem: Ist n keine Primzahl, dann hat n einen Primfaktor, der kleiner als die Wurzel aus n ist. Das Theorem kann dazu benutzt werden, um alle Primzahlen zu finden, die kleiner oder gleich einer positiven Zahl n sind. Klocke/ Unvollständigkeitstheorem Gödel veröffentlichte 1931 sein Unvollständigkeitstheorem, welches beweist, dass es keinen Algorithmus gibt, der irgendeine Aussage über natürliche Zahlen aufnimmt und ausgibt, ob die Aussage wahr oder falsch ist. Klocke/
9 Halteproblem Das Halteproblem ist nicht entscheidbar. Die Lösung des Halteproblems wäre ein Algorithmus, der für irgendein Programm testen kann, ob das Programm terminiert oder nicht. Man kann beweisen, dass es einen solchen Algorithmus nicht gibt. Klocke/ Eigenschaften eines Algorithmus - Allgemeinheit - Determiniertheit - Determinismus - Terminierung Klocke/
10 Allgemeinheit und Determiniertheit Allgemeinheit. Ein Algorithmus löst im allgemeinen eine Klasse von Problemen. Die Auswahl des Einzelfalls erfolgt meist über Parameter. Determiniertheit. Algorithmen sind in der Regel determiniert; d.h. bei gleichen Eingabewerten und Startbedingungen laufen sie stets gleich ab und liefern dasselbe Ergebnis. Beispiele für nichtdeterminierte Algorithmen sind z.b. stochastische Simulationen, die manche Entscheidungen dem Zufall überlassen. Klocke/ Determinismus und Terminierung Determinismus. Ein Algorithmus heißt deterministisch, wenn zu jedem Zeitpunkt seiner Bearbeitung höchstens eine Möglichkeit der Fortsetzung besteht. Terminierung. In der Regel sind nur solche Algorithmen von Interesse, die für jede Eingabe nach endlich vielen Schritten terminieren, d.h. anhalten. Eine Ausnahme sind hier z.b. Betriebssystem- Funktionen und Prozess-Steuerungen. Klocke/
Grundlagen der Programmierung (Vorlesung 24)
Grundlagen der Programmierung (Vorlesung 24) Ralf Möller, FH-Wedel Vorige Vorlesung Anwendung im Bereich Compilerbau Inhalt dieser Vorlesung Turing-Maschinen Berechenbarkeitstheorie, Halteproblem Lernziele
Theoretische Informatik für Wirtschaftsinformatik und Lehramt
Theoretische Informatik für Wirtschaftsinformatik und Lehramt Entscheidungsprobleme Priv.-Doz. Dr. Stefan Milius [email protected] Theoretische Informatik Friedrich-Alexander Universität Erlangen-Nürnberg
1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie
1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie 139 Unentscheidbarkeit Überblick Zunächst einmal definieren wir formal
1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie
1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie WS 11/12 155 Überblick Zunächst einmal definieren wir formal den Begriff
Algorithmen und Datenstrukturen SS Übungsblatt 1: Grundlagen
Ludwig-Maximilians-Universität München München, 16.04.2018 Institut für Informatik Prof. Dr. Thomas Seidl Anna Beer, Florian Richter Algorithmen und Datenstrukturen SS 2018 Übungsblatt 1: Grundlagen Tutorien:
Achim Feldmeier, 23. Juni : Penrose nimmt dieses Argument auf in Shadows of the Mind.
Können Menschen mehr (Mathematik) als Computer? Turing - Penrose - Searle Achim Feldmeier, 23. Juni 2008 1931: Gödel beweist den Unvollständigkeitssatz. 1937: Turing beweist das Halteproblem. 1961: Lucas
Vorlesung Diskrete Strukturen Die natürlichen Zahlen
Vorlesung Diskrete Strukturen Die natürlichen Zahlen Bernhard Ganter WS 2009/10 Alles ist Zahl? Wenn in der modernen Mathematik alles auf Mengen aufgebaut ist, woher kommen dann die Zahlen? Sind Zahlen
Unentscheidbare Probleme: Diagonalisierung
Unentscheidbare Probleme: Diagonalisierung Prof Dr Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen Oktober 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit
Wie man eine Sprache versteht
Aufzählbarkeit Formale Grundlagen der Informatik 1 Kapitel 10 Aufzählbarkeit und (Un-)Entscheidbarkeit Frank Heitmann [email protected] 11. Mai 2015 Definition 1 Eine Menge M Σ heißt (rekursiv)
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens [email protected] Überblick Grundlagen Definitionen Eigene Entwicklungen Datenstrukturen Elementare Datentypen Abstrakte Datentypen Elementare
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
Angewandte Mathematik am Rechner 1
Angewandte Mathematik am Rechner 1 SOMMERSEMESTER 2017 Kapitel 3 [Bildquellen: Wikipedia User David Madore, Inductiveload ] Grundlagen 2: Funktionen, Berechenbarkeit und emergente Komplexität Michael Wand
Übungsaufgaben Blatt 3
Departement Informatik Open Class Sieben Wunder der Informatik Prof Dr Juraj Hromkovič Übungsaufgaben Blatt 3 Zürich, 23 November 26 Zusammenfassung und Aufgaben Ein Entscheidungsproblem besteht darin,
{P} S {Q} {P} S {Q} {P} S {Q} Inhalt. Hoare-Kalkül. Hoare-Kalkül. Hoare-Tripel. Hoare-Tripel. Hoare-Tripel
Inhalt Hoare-Kalkül Formale Verifizierung Hoare-Kalkül while-sprache Terminierung Partielle / totale Korrektheit 4.0 Hoare-Kalkül entwickelt von C.A.R. (Tony) Hoare (britischer Informatiker), 1969 formales
Kapitel 1: Informationsverarbeitung durch Programme
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2009 Kapitel 1: Informationsverarbeitung
Informatik I: Einführung in die Programmierung
Informatik I: Einführung in die Programmierung 30. Ausblick Albert-Ludwigs-Universität Freiburg Bernhard Nebel 13.02.2016 1 13.02.2016 B. Nebel Info I 3 / 17 Programmieren jedenfalls ein bisschen Python-Programme
Theoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik 0 KIT 17.05.2010 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik nationales Forschungszentrum Vorlesung in am
Unentscheidbare Probleme: Existenz, Diagonalsprache, Halteproblem
Unentscheidbare Probleme: Existenz, Diagonalsprache, Halteproblem Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 25. Oktober 2010 Berthold Vöcking, Informatik
Ein Induktionsbeweis über Schuhgrößen
Was ist FALSCH an folgendem Beweis? Behauptung: Ein Induktionsbeweis über Schuhgrößen Alle Teilnehmer dieser Vorlesung haben gleiche Schuhgröße. Wir formalisieren diese Aussage, um einen Induktionsbeweis
Grundlagen der Theoretischen Informatik: Übung 10
Grundlagen der Theoretischen Informatik: Übung 10 Joachim Selke Fachgebiet Theoretische Informatik Universität Hannover 20. Januar 2005 Turing-Maschinen als Rechenmaschinen gegeben sei eine Funktion f
Überblick. 1 Vorbemerkungen. 2 Algorithmen. 3 Eigenschaften von Algorithmen. 4 Historischer Überblick. Einführung
Teil I Einführung Überblick 1 Vorbemerkungen 2 Algorithmen 3 4 Historischer Überblick Prof. G. Stumme Algorithmen & Datenstrukturen Sommersemester 2009 1 1 Vorbemerkungen Was ist Informatik? Informatik
Abschnitt 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
Der Satz von Rice. Dann ist C(S) eine unentscheidbare Menge.
Der Satz von Rice Satz: Sei R die Klasse der (Turing-) berechenbaren Funktionen, S eine nichttriviale Teilmenge von R und C(S) ={w Mw berechnet eine Funktion aus S}. Dann ist C(S) eine unentscheidbare
Einführung in die Programmierung für NF. Algorithmen, Datentypen und Syntax
Einführung in die Programmierung für NF Algorithmen, Datentypen und Syntax Ziele Begriffsbildungen: InformaCk, Algorithmus, Programm, Compiler und andere Einordnung von Java Ein einfaches Java- Programm
Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Beispiel einer nicht berechenbaren Funktion: Busy Beaver
Dank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen
Kapitel 1: Informationsverarbeitung durch Programme
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2018 Kapitel 1: Informationsverarbeitung
Einführung in die Informatik Turing Machines
Einführung in die Informatik Turing Machines Eine abstrakte Maschine zur Präzisierung des Algorithmenbegriffs Wolfram Burgard Cyrill Stachniss 1/14 Motivation und Einleitung Bisher haben wir verschiedene
Turingmaschinen. und eine kleine Einführung in Bereiche der theoretischen Informatik
Turingmaschinen und eine kleine Einführung in Bereiche der theoretischen Informatik Gliederung Einführung Leben Alan Turing Theoretische Informatik Turingmaschine Aufbau, Definition Beispiele Game of Life
Grundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Turingmaschinen und rekursiv aufzählbare Sprachen (V) 7.07.2016 Viorica Sofronie-Stokkermans e-mail: [email protected] 1 Übersicht 1. Motivation 2. Terminologie
Gliederung. Algorithmen und Datenstrukturen I. Eine wichtige Frage. Algorithmus. Materialien zur Vorlesung. Begriffsbestimmung EUKLID Primzahltest
Gliederung Algorithmen und Datenstrukturen I Materialien zur Vorlesung D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg 1 Winter 2009/10,
Theoretische Informatik
Theoretische Informatik Lektion 10: Entscheidbarkeit Kurt-Ulrich Witt Wintersemester 2013/14 Kurt-Ulrich Witt Theoretische Informatik Lektion 10 1/15 Inhaltsverzeichnis Kurt-Ulrich Witt Theoretische Informatik
Einführung in die Informatik Algorithms II
Einführung in die Informatik Algorithms II Eigenschaften von Algorithmen Wolfram Burgard Cyrill Stachniss 14.1 Was können Computer berechnen? In Kapitel 1 haben wir gesagt, dass Programme die Umsetzung
Einführung in die Informatik Algorithms
Einführung in die Informatik Algorithms Eigenschaften von Algorithmen Wolfram Burgard 14.1 Motivation und Einleitung In der Informatik sucht man im Normalfall nach Verfahren zur Lösung von Problemen. Eine
Theoretische Informatik Kap 2: Berechnungstheorie
Gliederung der Vorlesung 0. Grundbegriffe 1. Formale Sprachen/Automatentheorie 1.1. Grammatiken 1.2. Reguläre Sprachen 1.3. Kontextfreie Sprachen 2. Berechnungstheorie 2.1. Berechenbarkeitsmodelle 2.2.
Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Definition Algorithmus. Wie beschreibt man Algorithmen?
Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2015 1 Einführung Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München 2 Grundlagen von Algorithmen
1 Einführung: Algorithmen. Algorithmen und Datenstrukturen WS 2012/13. Pro f. Dr. Sán do r Fe k e te
1 Einführung: Algorithmen Algorithmen und Datenstrukturen WS 2012/13 Pro f. Dr. Sán do r Fe k e te Literatur 1.1 Was ist ein Algorithmus? Ein Algorithmus ist eine aus endlich vielen Schritten bestehende
Grundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Turingmaschinen und rekursiv aufzählbare Sprachen (V) 15.07.2015 Viorica Sofronie-Stokkermans e-mail: [email protected] 1 Übersicht 1. Motivation 2. Terminologie
Algorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2016 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 1 Einführung 2 Grundlagen von Algorithmen
Wir suchen Antworten auf die folgenden Fragen: Was ist Berechenbarkeit? Wie kann man das intuitiv Berechenbare formal fassen?
Einige Fragen Ziel: Wir suchen Antworten auf die folgenden Fragen: Wie kann man das intuitiv Berechenbare formal fassen? Was ist ein Algorithmus? Welche Indizien hat man dafür, dass ein formaler Algorithmenbegriff
Einführung in die Informatik Turing Machines
Einführung in die Informatik Turing Machines Eine abstrakte Maschine zur Präzisierung des Algorithmenbegriffs Wolfram Burgard 1 Motivation und Einleitung Bisher haben wir verschiedene Programmiersprachen
Klausur zur Vorlesung Algorithmen und Datenstrukturen
Klausur zur Vorlesung Algorithmen und Datenstrukturen Die Dauer der Klausur beträgt 120 Minuten. Erlaubte Hilfsmittel: Ein selbst handschriftlich beschriebenes DIN A4 Blatt, das komplette Skript zur Vorlesung
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
1 Funktionale vs. Imperative Programmierung
1 Funktionale vs. Imperative Programmierung 1.1 Einführung Programme einer funktionalen Programmiersprache (functional programming language, FPL) bestehen ausschließlich aus Funktionsdefinitionen und Funktionsaufrufen.
2. Algorithmenbegriff
2. Algorithmenbegriff Keine Algorithmen: Anleitungen, Kochrezepte, Wegbeschreibungen,... Algorithmus: Berechnungsvorschrift, die angibt, wie durch Ausführung bestimmter Elementaroperationen aus Eingabegrößen
Reduktion. 2.1 Abstrakte Reduktion
2 Reduktion In diesem Kapitel studieren wir abstrakte Eigenschaften von Regeln. In den ersten beiden Abschnitten betrachten wir nicht einmal die Regeln selbst, sondern nur abstrakte Reduktionssysteme,
Entscheidungsprobleme
Entscheidungsprobleme übliche Formulierung gegeben: Eingabe x aus einer Grundmenge U Frage: Hat x eine bestimmte Eigenschaft P? Beispiel: gegeben: Frage: n N Ist n eine Primzahl? Formalisierung: Grundmenge
Clevere Algorithmen programmieren
ClevAlg 2017 Theoretische Informatik Clevere Algorithmen programmieren Dennis Komm, Jakub Závodný, Tobias Kohn 06. Dezember 2017 Die zentralen Fragen sind... Was kann man mit einem Computer nicht machen?
Algorithmierung und Programmierung - immer aktuell. Material, S.54ff.
Algorithmierung und Programmierung - immer aktuell Material, S.54ff. Was scheint den wichtig für IU? Mittelschule (10): PC-Technik kennenlernen Anwendungen beherrschen Grundwissen Internet Verständnis
De Morgan sche Regeln
De Morgan sche Regeln Durch Auswerten der Wahrheitswertetabelle stellen wir fest, dass allgemeingültig ist; ebenso (p q) p q (p q) p q. Diese beiden Tautologien werden als die De Morgan schen Regeln bezeichnet,
Aufgabe (Schreibtischtest, lexikographische Ordnung)
Aufgabe (Schreibtischtest, lexikographische Ordnung) Führen Sie einen Schreibtischtest für den Algorithmus Bubblesort aus der VL für die folgenden Eingabe-Arrays durch. Geben Sie das Array S nach jedem
Gierhardt. Einführung:
Informatik 13: Gierhardt Theoretische Informatik I Einführung: Neben den Problemen und Fragen der praktischen Informatik, wo es in erster Linie um die Wahl der geeigneten Algorithmen und Datenstrukturen
5. Algorithmen. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16
5. Algorithmen K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 21. Okt. 2015 1. Berechne 2 n. Zu lösende Probleme 2. Berechne die Fakultät einer nat. Zahl: n! = 1 * 2 *... n 3. Entscheide,
Einführung in die Theoretische Informatik
Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Sascha Böhme, Lars Noschinski Sommersemester 2011 Lösungsblatt 9 25. Juli 2011 Einführung in die Theoretische Informatik
Einführung in die Informatik 1
Einführung in die Informatik 1 Algorithmen und algorithmische Sprachkonzepte Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 [email protected] Sprechstunde: Freitag,
Präsenzübung Berechenbarkeit und Komplexität
Lehrstuhl für Informatik 1 WS 2013/14 Prof. Dr. Berthold Vöcking 28.01.2014 Kamal Al-Bawani Benjamin Ries Präsenzübung Berechenbarkeit und Komplexität Musterlösung Name:...................................
INFORMATIK FÜR BIOLOGEN
Technische Universität Dresden 15012015 Institut für Theoretische Informatik Professur für Automatentheorie INFORMATIK FÜR BIOLOGEN Musterklausur WS 2014/15 Studiengang Biologie und Molekulare Biotechnologie
Teil III. Komplexitätstheorie
Teil III Komplexitätstheorie 125 / 160 Übersicht Die Klassen P und NP Die Klasse P Die Klassen NP NP-Vollständigkeit NP-Vollständige Probleme Weitere NP-vollständige Probleme 127 / 160 Die Klasse P Ein
Unentscheidbarkeitssätze der Logik
Unentscheidbarkeitssätze der Logik Elmar Eder () Unentscheidbarkeitssätze der Logik 1 / 30 Die Zahlentheorie ist nicht formalisierbar Satz (Kurt Gödel) Zu jedem korrekten formalen System der Zahlentheorie
Algorithmen und Komplexität, Teil II: Berechenbarkeit und Komplexität
Algorithmen und Komplexität, Teil II: Berechenbarkeit und Komplexität Ralph Keusch 21. November 2017 Berechenbarkeitstheorie RAM-Maschine 1: M 1 1 2: M 0 1 3: M 0 M 0 M 1 4: M 2 M 2 M 1 5: GOTO 3 IF M
Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung
Informatik III Christian Schindelhauer Wintersemester 2006/07 13. Vorlesung 07.12.2006 1 Überblick: Die Church- Turing-These Turing-Maschinen 1-Band Turing-Maschine Mehrband-Turing-Maschinen Nichtdeterministische
Übersicht Datenstrukturen und Algorithmen. Literatur. Algorithmus: Wikipedia Definition. Vorlesung 1: Einführung. Prof. Dr.
Übersicht Datenstrukturen und Vorlesung 1: Prof. Dr. Erika Ábrahám Theorie Hybrider Systeme Informatik 2 http://ths.rwth-aachen.de/teaching/ss-14/ datenstrukturen-und-algorithmen/ Diese Präsentation verwendet
Logik und Beweisbarkeit
Logik und Beweisbarkeit Einleitung Martin Mundhenk Univ. Jena, Institut für Informatik. Februar 0 Einleitung: U ber Sinn und Form Symbolisches Addieren Al-Chwarizmi (etwa 8 80) Problem: Was ist MMMDCCCXCIX
Entscheidungsprobleme
Entscheidungsprobleme übliche Formulierung gegeben: Eingabe x aus einer Grundmenge M Frage: Hat x eine bestimmte Eigenschaft P? Beispiel: gegeben: Frage: n N Ist n eine Primzahl? Formalisierung: Grundmenge
Was ist ein Problem? Ein Problem im Sinne der Programmierung ist durch Computer lösbar. Programmieren Entwurf/ Implementierung
VOM PROBLEM ZUM PROGRAMM Was ist ein Problem? Ein Problem im Sinne der Programmierung ist durch Computer lösbar. Aspekte -> es läßt sich hinreichend genau spezifizieren (z. B. als Funktion Eingabewerte
Software Entwicklung 1
Software Entwicklung 1 Annette Bieniusa AG Softech FB Informatik TU Kaiserslautern Lernziele Rekursive Prozeduren zu charakterisieren. Terminierung von rekursiven Prozeduren mit Hilfe von geeigneten Abstiegsfunktionen
7. Übung TGI. Lorenz Hübschle-Schneider, Tobias Maier INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS. 1 Lorenz Hübschle-Schneider, Tobias Maier
7. Übung TGI Lorenz Hübschle-Schneider, Tobias Maier INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 1 Lorenz Hübschle-Schneider, Tobias Maier KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft
Theoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 17.November 2011 INSTITUT FÜR THEORETISCHE 0 KIT 17.11.2011 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der
Mächtigkeit von LOOP-Programmen. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen
Mächtigkeit von LOOP-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 23 Die Programmiersprache LOOP Syntax Elemente eines LOOP-Programms Variablen
Funktionale Programmierung ALP I. λ Kalkül WS 2012/2013. Prof. Dr. Margarita Esponda. Prof. Dr. Margarita Esponda
ALP I λ Kalkül WS 2012/2013 Berechenbarkeit - inspiriert durch Hilbert's Frage - im Jahr 1900, Paris - Internationaler Mathematikerkongress Gibt es ein System von Axiomen, aus denen alle Gesetze der Mathematik
Übung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2017 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. (Sortierte) Listen 2. Stacks & Queues 3. Datenstrukturen 4. Rekursion und vollständige Induktion
Übung zu Algorithmen und Datenstrukturen (für ET/IT)
Übung zu Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2015 Matthias Wieczorek Computer-Aided Medical Procedures Technische Universität München Administratives Zentralübung (Mittwoch, 09:45
Philosophie des Intuitionismus und sein Einfluß auf die Informatik
Philosophie des Intuitionismus und sein Einfluß auf die Informatik Christoph Kreitz Was ist Intuitionismus? Unterschiede zur klassischen Mathematik Historische Entwicklung Bezüge zur Informatik Ähnlichkeit
Halteproblem/Kodierung von Turing-Maschinen
Halteproblem/Kodierung von Turing-Maschinen Unser Ziel ist es nun zu zeigen, dass das sogenannte Halteproblem unentscheidbar ist. Halteproblem (informell) Eingabe: Turing-Maschine M mit Eingabe w. Frage:
Theoretische Informatik: Berechenbarkeit und Formale Sprachen
Prof. Dr. F. Otto 26.09.2011 Fachbereich Elektrotechnik/Informatik Universität Kassel Klausur zur Vorlesung Theoretische Informatik: Berechenbarkeit und Formale Sprachen SS 2011 Name:................................
Problemlösen, ein Einstieg nicht nur für die Informatik
Fakultät Informatik Software und Multimedia Technik, Professur Didaktik der Informatik Problemlösen, ein instieg nicht nur für die Informatik Dresden, 25.04.2008 Inhalt Definition von Problem und ufgabe
Aufgabe Mögliche Punkte Erreichte Punkte a b c d Σ a b c d Σ x1 13
Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 2003/04 ILKD Prof. Dr. D. Wagner 14. April 2004 2. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004 Hier Aufkleber
Objektorientierte Programmierung VL: Prof. Dr. Marco Block-Berlitz - Freie Universität Berlin Proinformatik III
Objektorientierte Programmierung VL: Prof. Dr. Marco Block-Berlitz - Freie Universität Berlin Proinformatik III Text: Hinnerk van Bruinehsen - Grafiken: Jens Fischer powered by SDS.mint SoSe 2011 1 Teil
Übung zu Algorithmen und Datenstrukturen (für ET/IT)
Übung zu Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2017 Rüdiger Göbl, Mai Bui Computer Aided Medical Procedures Technische Universität München Administratives Zentralübung (Mittwoch, 09:45
Abstract Data Type and the Development of Data Structures
Abstract Data Type and the Development of Data Structures John Guttag, 1976 2. Mai 2006 Inhalt 1 Motivation 2 3 4 Motivation - Komplexe Probleme lösen Dekomposition Problem Abstraktion Komplexität reduzieren
Präsenzübung Datenstrukturen und Algorithmen SS 2014
Prof. aa Dr. E. Ábrahám F. Corzilius, S. Schupp, T. Ströder Präsenzübung Datenstrukturen und Algorithmen SS 2014 Vorname: Nachname: Studiengang (bitte genau einen markieren): Informatik Bachelor Informatik
Verhalten. Def. und Nutzen von Verhalten. Pseudocode Schreibtischtest. Algorithmen
Verhalten Def. und Nutzen von Verhalten Algorithmen Pseudocode Schreibtischtest Verhalten & Pseudocode Das Verhalten beschreibt, wie sich die Datenstrukturen (Variablen) eines Programms verändern müssen,
