Hier ist ein einfaches Turingprogramm. Außer dem Leerzeichen ist das Band nur mit. 1 belegt.

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Hier ist ein einfaches Turingprogramm. Außer dem Leerzeichen ist das Band nur mit. 1 belegt."

Transkript

1 Die Turingmaschine besteht aus der Steuereinheit, die verschiedene Zustände annimmt dem Band, welches unendlich ausgedehnt ist, aber nur auf einem endlichem Bereich mit Zeichen aus einem Alphabet beschrieben ist dem Lese-Schreib-Kopf der Übergangstabelle Hier ist ein einfaches Turingprogramm. Außer dem Leerzeichen ist das Band nur mit 1 belegt. vorher nachher Zustand Zeichen Zustand Zeichen Bewegung z 0 z 1 R z 1 1 z 1 1 R z 1 z 2 1 H Überlegen Sie, weshalb man sagt, diese Übergangstabelle realisiere Addition von 1 bei Unärdarstellung. Interaktive Simulation der Turingmaschine: In jedem Verarbeitungsschritt: wird das Zeichen unter dem Lese-Schreib-Kopf gelesen wird in der Übergangstabelle nach dem Eintrag gesucht, der dieses Zeichen und den aktuellen Zustand der Steuereinheit enthält, werden Zeichen und Zustand entsprechend der Angaben in der Übergangstabelle geändert und wird der Lese-Schreib-Kopf um eine Position nach links (L) oder rechts (R) weiterbewegt. Auch dies wird in der Übergangstabelle festgelegt. Der Lese-Schreib-Kopf kann auch angehalten werden (H). Die Verarbeitung ist dann beendet Modul Turingmaschine 258

2 7.1.2 Grenzen der Berechenbarkeit Es gibt Funktionen, die nicht berechenbar sind. Wegen der Church schen These heißt dies: die nicht mit einer Turingmaschine berechnet werden können. 1 Beispiel: Halteproblem Menge der Eingaben: alle möglichen Übergangstabellen U von Turingmaschinen Funktion f: 8 1 falls die Turingmaschine mit >< Übergangstabelle U für jede f(u) = Bandbelegung anhält, >: 0 sonst Es gibt keine Übergangstabelle für eine Turingmaschine, die f berechnet. Den Nachweis zu dieser Aussage können wir hier nicht führen. Die Berechnung von Funktionen, die nur die Werte 0 und 1 annehmen, nennt man auch (ja/nein)-entscheidungen. Man sagt deshalb: Das Halteproblem ist nicht entscheidbar. 2 Beispiel: Unentscheidbarkeit der Prädikatenlogik Die Prädikatenlogik baut auf der Aussagenlogik auf. Prädikate enthalten Variablen; für jede Belegung der Variablen nehmen sie den Wert wahr oder falsch an. Prädikate können wie Aussagen verknüpft werden, zusätzlich auch mit den Quantoren und. Genaueres wird hier nicht erläutert. Die Frage, ob eine prädikatenlogische Formel für jede Belegung der Variablen den Wert wahr annimmt, ist nicht entscheidbar. 3 Beispiel: Unentscheidbarkeit der Korrektheit Die Frage, ob ein Programm semantisch korrekt ist (d.h. es berechnet tatsächlich die spezifizierte Funktion), ist unentscheidbar. Auch für diese Beispiele ist ein Beweis weit jenseits von dem, was wir hier machen können

3 7.2 Komplexitätstheorie Komplexität von Algorithmen Wie genau kann man die Laufzeit T eines Algorithmus vorhersagen? T hängt ab von der jeweiligen Implementierung vom verwendeten Rechner von der jeweiligen Eingabe... 4 Beispiele: a) Euklidischer Algorithmus berechnet ggt(a, b) für a, b N. r := a mod b solange r 0 a := b b := r r := a mod b ggt := b Folgerung: T hängt insbesondere von der Größe n der Eingabe ab: T = T(n) Für festes n kann T(n) immer noch unterschiedlich sein. Wir verwenden für T(n) hier stets den worst case, also die längste Laufzeit bei festem n. Es ist nicht sinnvoll, T(n) zu genau bestimmen zu wollen. Es genügt, die Zahl der elementaren Schritte eines Algorithmus zu bestimmen. Eingabegröße: n = max{a, b}. Elementare Schritte: Zuweisung, Division mit Rest, Vergleich Laufzeit: solange-schleife wird höchstens log Θ n + 1 mal durchlaufen (Θ = ( 5 + 1)/2). Pro Durchlauf 3 Zuweisungen, 1 Vergleich und 1 Division mit Rest. Also T(n) C (2 + 5 (log Θ n + 1))

4 b) Sieb des Eratosthenes bestimmt alle Primzahlen n. Die t(n)-ausdrücke will man noch vereinfachen: p := 2 solange p 2 n s := 2 p {Aussieben mit Zahl p} solange s n streiche s {markieren} s := s + p setze p auf nächste, nicht gestrichene Zahl 5 Definition: Wir schreiben T(n) = O(g(n)) mit einer Funktion g : N R +, falls eine Konstante C > 0 und ein n 0 existieren, so dass gilt T(n) C g(n) für alle n n 0. Eingabegröße: n Elementare Schritte: Streichen (= Zugriff auf ein Feld und Markieren), Zuweisung, Addition, Multiplikation, Nächstes finden Laufzeit: die innere solange-schleife wird n/p-mal durchlaufen, die äußere für Primzahlen n. 0 T(n) + n X p=1, p Primzahl 1 n A. p 6 Beispiele: a) Euklidischer Algorithmus: ergibt T(n) C (2 + 5 (log Θ n + 1)). T(n) = O(log n). (Wegen log a n = log b n log a b braucht man die Basis des log in O-Termen nicht anzugeben!)

5 b) Sieb des Eratosthenes: 0 T(n) + n X p=1, p Primzahl 1 n A. p Es gibt höchstens n Primzahlen n, und n p n für alle solchen Primzahlen p. Also T(n) = O(n n) Probleme und Instanzen 7 Definition: Ein Problem ist eine zu berechnende Funktion P : D W mit zugehörigem Definitionsbereich D und Werten in W. Eine Instanz eines Problems P : D W ist ein Paar (P, S) mit S D. (O-Terme können sehr grob nach oben abschätzen.) 8 Beispiele: a) Problem größter gemeinsamer Teiler : P : N N N Instanz: (a, b) = (144, 54). b) Problem Primzahlen n : P : N Potenzmenge von N Instanz: n =

6 c) Problem des Handlungsreisenden : P : {L : L ist Liste von Städten mit Entfernungen} R + P(L) ist die Länge der kürzesten Rundtour, die alle Städte einmal besucht. Instanz: L = W RS SG K E DO W RS SG K E DO Komplexität von Problemen Wir werden jetzt Probleme in einfache und schwierige einteilen. Ein tragfähiges Konzept hierzu ist überraschend komplex. Ab jetzt schränken wir uns auf Entscheidungsprobleme ein, also P : D {0, 1}. Als Größe n einer Eingabe S D verwenden wir die Anzahl der bits bei geeigneter Binärcodierung. 9 Beispiel: Die Größe einer natürlichen Zahl k ist damit (Codierung als Binärzahl) n = O(log k). d) Teilsummenproblem : P : {M : M ist eine Menge reeller Zahlen} R {0, 1}. P(M, s) gibt an, ob es eine Teilmenge T von M gibt, bei der die Summe der Elemente gerade s ergibt. Instanz: M = { 0.2, 1, 2.3, 4.5}, s = 3.1. Folge: Die Größe der Eingabe beim Euklidischen Algorithmus ist n = O(log a + log b). Die Komplexität des Euklidischen Algorithmus wird O(n) statt O(log(max{a, b})). 10 Definition: Für ein (Entscheidungs-) Problem P : D W, ist die Komplexität t(n) des Problems P definiert als die Laufzeit des besten Algorithmus, welcher P berechnet. Hier genügt uns noch weniger als die Größenordnung O: 11 Definition: Die Klasse P ist die Menge aller Entscheidungsprobleme, für welche es eine Zahl k N gibt, so dass die Komplexität des Problems O(n k ) ist

7 P steht für polynomiale Komplexität. Probleme aus P nennt man auch effizient berechenbar. Warum ist P eine vernünftige Problemklasse? P ist weitestgehend unabhängig vom Maschinenmodell, also davon, was man als elemtare Schritte auffasst. Wir hatten auf den letzten Seiten ohne es explizit zu sagen das Random Access Memory (RAM) Modell verwendet. Verwendet man stattdessen z.b. das Modell der Turingmaschine, so ändert sich P nicht. P ist weitestgehend unabhängig von der gewählten Binärcodierung für die Eingabe. Für Probleme, die nicht in P liegen, wächst die Komplexität superpolynomial mit n. Für die Praxis sind solche Laufzeiten definitiv viel zu lang. 12 Beispiel: Das Problem Entscheide, ob k der ggt von a und b ist, liegt in P. Begründung: Es ist n = Länge einer Binärcodierung von k, a und b. Berechne ggt(a, b) mit dem Euklidischen Algorithmus (Laufzeit O(n)) und vergleiche das Ergebnis mit k (Laufzeit O(log(n)). Gesamtlaufzeit t(n) = O(n) + O(log(n)) = O(n). 269 Eine fundamentale Schwierigkeit: Zugehörigkeit eines Problems zu P kann man durch Angabe eines geeigneten Algorithmus nachweisen. Will man zeigen, dass ein Problem nicht zu P gehört, muss man zeigen, dass keine Algorithmen mit polynomialer Komplexität existieren. Dies ist sehr schwierig. Es ist noch für kein praktisch relevantes Problem gelungen zu zeigen, dass es nicht effizient berechenbar ist. Nicht effizient berechenbar ist deshalb keine günstige Art, schwierige Probleme zu charakterisieren. Alternative: Aus der eigenen Erfahrung wissen wir: Es ist in der Regel wesentlich schwieriger, eine Lösung zu bestimmen als nachzuprüfen, ob ein Lösungsvorschlag tatsächlich eine Lösung ist. Dies geht in die beiden nächsten Definitionen ein. 13 Definition: Gegeben ist ein Entscheidungsproblem P : D {0, 1} und eine Menge von Zertifikaten Z. Eine Funktion V : D Z {0, 1} verifiziert P, wenn es für jede Instanz (S, P) von P mit P(S) = 1 ein Zertifikat z = z(s) gibt mit V (S, z) = 1, und umgekehrt aus V (S, z) = 1 stets P(S) = 1 folgt. Die Größen n bzw. m von S bzw. z(s) müssen dabei m = O(n k ) erfüllen. (z darf höchstens polynomial in S wachsen.) 270

8 14 Beispiel: Das Problem Entscheide, ob p N keine Primzahl ist, wird verifiziert durch die Funktion V, welche jedem Paar (p, a) mit a {2,..., p} den Wert 1 zuordnet, wenn p durch a teilbar ist und 0 sonst. Es ist also Z = {2,..., p}. Ein Algorithmus für V ist die Division mit Rest mit anschließendem Test, ob der Rest 0 ist. Für p = 5529 ist z(p) = 57 ein Zertifikat mit V (5529, 57) = 1. Es ist leichter auszurechnen, dass 57 die Zahl 5529 teilt, als zu zeigen, dass 5529 keine Primzahl ist. 15 Definition: Die Klasse NP besteht aus all den (Entscheidungs-) Problemen, welche von einer Funktion verifiziert werden, für die es einen Algorithmus mit polynomialer Laufzeit gibt. Die Bezeichnung NP kommt daher, weil man die Klasse äquivalent charakterisieren kann als die Probleme, welche mit einem nichtdeterministischen Algorithmus in polynomialer Zeit berechnet werden können. 16 Satz: P NP Beweis Sei P : D {0, 1} aus P. Nehme eine beliebige Menge als Zertifikatmenge Z und setze V : D Z {0, 1} als V (S, v) = P(S). Der polynomiale Algorithmus, welcher P berechnet, berechnet auch V. Die Eingabe z wird dabei einfach ignoriert. Und die größte offene Frage der Theoretischen Informatik ist nun: Gilt P = NP? Die Frage ist ungeklärt, aber fast alle glauben dass die richtige Antwort Nein heißt, u.a. wegen des folgenden Resultates

9 17 Satz: Die Klasse der NP-vollständigen Probleme ist nicht leer. Diese Klasse besteht aus all den Problemen aus NP, für die gilt: Liegt P in P, so ist P = NP NP-vollständige Probleme Die folgenden Probleme sind alle als NP-vollständig nachgewiesen. Die Beweise können wir im Rahmen dieser Vorlesung nicht bringen. 18 Beispiel: a) Das Problem des Handlungsreisenden Hat man für ein NP-vollständiges Problem P gezeigt P P, so ist P = NP. Das hat bis jetzt noch niemand geschafft. Glaubt man P NP, so liegen NP-vollständige Probleme also nicht in P, sind also nicht effizient berechenbar. Merke: NP-vollständig bedeutet höchstwahrscheinlich in der Praxis nicht mit einem Algorithmus berechenbar b) Das Teilsummenproblem 19 Beispiel: Das Erfüllbarkeitsproblem: Gegeben ist eine aussagenlogische Formel mit n Aussageveriabeln. Gibt es eine Belegung der Variabeln, so dass die Formel den Wert true annimmt? Viele andere NP-vollständige Probleme beziehen sich auf Graphen. 20 Definition: Ein Graph ist eine Menge von Knoten, von denen einige durch Kanten verbunden sind

10 Beispiel: Haus vom Nikolaus 21 Beispiel: Das Hamilton-Kreis-Problem: Existiert in einem Graph ein Hamilton-Kreis, d.h. ein Rundweg über die Kanten, der jeden Knoten genau einmal besucht? 22 Beispiel: Das Cliquen-Problem: Gibt es eine Clique der Größe k in einem Graphen? Eine Clique ist eine Teilmenge von Knoten, von denen zwei verschiedene stets auf einer gemeinsamen Kante liegen. Die Größe der Clique ist die Anzahl ihrer Knoten. Mehr zu Komplexität und Rechnermodellen: Automaten, Sprachen, Berechenbarkeit (Master) 275

NP-Vollständigkeit. Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984)

NP-Vollständigkeit. Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984) NP-Vollständigkeit Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984) 0 Übersicht: Einleitung Einteilung in Klassen Die Klassen P und NP

Mehr

Das P versus N P - Problem

Das P versus N P - Problem Das P versus N P - Problem Dr. Michael Huber Habilitationsvortrag eines der sieben Milleniumsprobleme des Clay Mathematics Institute A gift to Mathematics from Computer Science (Steve Smale) Überblick

Mehr

Lenstras Algorithmus für Faktorisierung

Lenstras Algorithmus für Faktorisierung Lenstras Algorithmus für Faktorisierung Bertil Nestorius 9 März 2010 1 Motivation Die schnelle Faktorisierung von Zahlen ist heutzutage ein sehr wichtigen Thema, zb gibt es in der Kryptographie viele weit

Mehr

Kapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

Kapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung Kapitel 6 Komplexität von Algorithmen 1 6.1 Beurteilung von Algorithmen I.d.R. existieren viele Algorithmen, um dieselbe Funktion zu realisieren. Welche Algorithmen sind die besseren? Betrachtung nicht-funktionaler

Mehr

Motivation. Formale Grundlagen der Informatik 1 Kapitel 10. Motivation. Motivation. Bisher haben wir mit TMs. Probleme gelöst/entschieden/berechnet.

Motivation. Formale Grundlagen der Informatik 1 Kapitel 10. Motivation. Motivation. Bisher haben wir mit TMs. Probleme gelöst/entschieden/berechnet. bei TMs bei Computern Formale Grundlagen der Informatik 1 Kapitel 10 Frank Heitmann heitmann@informatik.uni-hamburg.de Bisher haben wir mit TMs Probleme gelöst/entschieden/berechnet. Dabei war entscheidbar

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester

Mehr

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens Mathematische Grundlagen der Kryptographie 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe Stefan Brandstädter Jennifer Karstens 18. Januar 2005 Inhaltsverzeichnis 1 Ganze Zahlen 1 1.1 Grundlagen............................

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Ausarbeitung zum Thema Approximationsalgorithmen im Rahmen des Fachseminars 24. Juli 2009 Robert Bahmann robert.bahmann@gmail.com FH Wiesbaden Erstellt von: Robert Bahmann Zuletzt berarbeitet von: Robert

Mehr

Numerische Verfahren und Grundlagen der Analysis

Numerische Verfahren und Grundlagen der Analysis Numerische Verfahren und Grundlagen der Analysis Rasa Steuding Hochschule RheinMain Wiesbaden Wintersemester 2011/12 R. Steuding (HS-RM) NumAna Wintersemester 2011/12 1 / 16 4. Groß-O R. Steuding (HS-RM)

Mehr

Die Komplexitätsklassen P und NP

Die Komplexitätsklassen P und NP Die Komplexitätsklassen P und NP Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 3. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und

Mehr

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS) Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,

Mehr

Mächtigkeit von WHILE-Programmen

Mächtigkeit von WHILE-Programmen Mächtigkeit von WHILE-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 26. November 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Theoretische Informatik

Theoretische Informatik Theoretische Informatik - das Quiz zur Vorlesung Teil I - Grundzüge der Logik In der Logik geht es um... (A) die Formen korrekten Folgerns (B) die Unterscheidung von wahr und falsch (C) das Finden von

Mehr

Universität Koblenz-Landau, Abteilung Koblenz FB 4 Informatik. Seminar Entscheidungsverfahren für logische Theorien. Endliche Modelle.

Universität Koblenz-Landau, Abteilung Koblenz FB 4 Informatik. Seminar Entscheidungsverfahren für logische Theorien. Endliche Modelle. Universität Koblenz-Landau, Abteilung Koblenz FB 4 Informatik Seminar Entscheidungsverfahren für logische Theorien Tobias Hebel Koblenz, am 18.02.2005 Inhaltsverzeichnis 1 Einleitung... 3 2 Grundlagen...

Mehr

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5) Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff

Mehr

Laufzeit und Komplexität

Laufzeit und Komplexität Laufzeit und Komplexität Laufzeit eines Algorithmus Benchmarking versus Analyse Abstraktion Rechenzeit, Anzahl Schritte Bester, Mittlerer, Schlechtester Fall Beispiel: Lineare Suche Komplexitätsklassen

Mehr

Algorithmen II Vorlesung am 15.11.2012

Algorithmen II Vorlesung am 15.11.2012 Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales

Mehr

Rekursionsanfang, Rekursionsschritt oder äquivalente Antworten. (z.b.: Abbruchbedingung (= Basisfall), eigentliche Rekursion (= Selbstaufruf))

Rekursionsanfang, Rekursionsschritt oder äquivalente Antworten. (z.b.: Abbruchbedingung (= Basisfall), eigentliche Rekursion (= Selbstaufruf)) Formale Methoden der Informatik WS / Lehrstuhl für Datenbanken und Künstliche Intelligenz Prof.Dr.Dr.F.J.Radermacher H. Ünver T. Rehfeld J. Dollinger 8. Aufgabenblatt Besprechung in den Tutorien vom..

Mehr

Sortierverfahren für Felder (Listen)

Sortierverfahren für Felder (Listen) Sortierverfahren für Felder (Listen) Generell geht es um die Sortierung von Daten nach einem bestimmten Sortierschlüssel. Es ist auch möglich, daß verschiedene Daten denselben Sortierschlüssel haben. Es

Mehr

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling Approximationsalgorithmen: Klassiker I Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling VO Approximationsalgorithmen WiSe 2011/12 Markus Chimani

Mehr

Komplexitätstheorie Einführung und Überblick (Wiederholung)

Komplexitätstheorie Einführung und Überblick (Wiederholung) Literatur C. Papadimitriou UC Berkeley Zum Komplexitätsbegriff Strukturelle Komplexität Average Case Analyse Effiziente Algorithmen Logische Komplexität Beschreibungssprachen: SQL Kolmogorov Komplexität

Mehr

Kapitel 4. Euklidische Ringe und die Jordansche Normalform. 4.1 Euklidische Ringe

Kapitel 4. Euklidische Ringe und die Jordansche Normalform. 4.1 Euklidische Ringe Kapitel 4 Euklidische Ringe und die Jordansche Normalform 4.1 Euklidische Ringe Die Ringe der ganzen Zahlen, Z, sowie Polynomringe über Körpern, K[X], wobei K ein Körper ist, haben die folgenden Gemeinsamheiten:

Mehr

16. All Pairs Shortest Path (ASPS)

16. All Pairs Shortest Path (ASPS) . All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e

Mehr

Programmiertechnik II

Programmiertechnik II Analyse von Algorithmen Algorithmenentwurf Algorithmen sind oft Teil einer größeren Anwendung operieren auf Daten der Anwendung, sollen aber unabhängig von konkreten Typen sein Darstellung der Algorithmen

Mehr

Algorithmen und Programmierung

Algorithmen und Programmierung Algorithmen und Programmierung Kapitel 5 Formale Algorithmenmodelle A&P (WS 14/15): 05 Formale Algorithmenmodelle 1 Überblick Motivation Formale Algorithmenmodelle Registermaschine Abstrakte Maschinen

Mehr

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Stefan Lucks Diskrete Strukturen (WS 2009/10) 57 2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Uhr: Stunden mod 24, Minuten mod 60, Sekunden mod 60,... Rechnerarithmetik: mod 2 w, w {8, 16, 32,

Mehr

3. Ziel der Vorlesung

3. Ziel der Vorlesung 3. Ziel der Vorlesung Der Zweck der Vorlesung ist das Studium fundamentaler Konzepte in der Algorithmentheorie. Es werden relevante Maschinenmodelle, grundlegende und höhere Datenstrukturen sowie der Entwurf

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm 1 Vom Problem zum Programm Ein Problem besteht darin, aus einer gegebenen Menge von Informationen eine weitere (bisher unbekannte) Information zu bestimmen. 1 Vom Problem zum Programm Ein Algorithmus ist

Mehr

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik Grundlagen der Informatik II Teil I: Formale Modelle der Informatik 1 Einführung GdInfoII 1-2 Ziele/Fragestellungen der Theoretischen Informatik 1. Einführung abstrakter Modelle für informationsverarbeitende

Mehr

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) 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!

Mehr

Theoretische Informatik

Theoretische Informatik Theoretische Informatik für die Studiengänge Ingenieur-Informatik berufsbegleitendes Studium Lehramt Informatik (Sekundar- und Berufsschule) http://theo.cs.uni-magdeburg.de/lehre04s/ Lehrbeauftragter:

Mehr

Komplexität und Komplexitätsklassen

Komplexität und Komplexitätsklassen Dr. Sebastian Bab WiSe 12/13 Theoretische Grundlagen der Informatik für TI Termin: VL 21 vom 21.01.2013 Komplexität und Komplexitätsklassen Die meisten Probleme mit denen wir zu tun haben sind entscheidbar.

Mehr

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Ulrich Furbach. Sommersemester 2014

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Ulrich Furbach. Sommersemester 2014 Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Ulrich Furbach Institut für Informatik Sommersemester 2014 Furbach Grundlagen d. Theoretischen Informatik:

Mehr

Das RSA-Verfahren. Armin Litzel. Proseminar Kryptographische Protokolle SS 2009

Das RSA-Verfahren. Armin Litzel. Proseminar Kryptographische Protokolle SS 2009 Das RSA-Verfahren Armin Litzel Proseminar Kryptographische Protokolle SS 2009 1 Einleitung RSA steht für die drei Namen Ronald L. Rivest, Adi Shamir und Leonard Adleman und bezeichnet ein von diesen Personen

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

4 Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Algorithmen und deren Programmierung Prof. Dr. Nikolaus Wulff Definition Algorithmus Ein Algorithmus ist eine präzise formulierte Handlungsanweisung zur Lösung einer gleichartigen

Mehr

Minimalismen in der. Informatik

Minimalismen in der. Informatik Minimalismen in der Informatik Andreas Schwill Institut für Informatik Universität Potsdam Überblick Einstieg Maschinenbegriff Bausteinsätze Modellierung Phantasien zu Komplexität und Kompliziertheit 2

Mehr

Zur Vereinfachung betrachten wir nun nur noch Funktionen f, die einen Funktionswert f nµberechnen. Sie werden alle in einer Tabelle dargestellt:

Zur Vereinfachung betrachten wir nun nur noch Funktionen f, die einen Funktionswert f nµberechnen. Sie werden alle in einer Tabelle dargestellt: Informatik 13: Gierhardt Theoretische Informatik III Berechenbarkeit Nicht-berechenbare Funktionen Nach der Church-Turing-These kann alles, was berechenbar ist, mit einer Turing-Maschine oder einer While-Maschine

Mehr

Der Zwei-Quadrate-Satz von Fermat

Der Zwei-Quadrate-Satz von Fermat Der Zwei-Quadrate-Satz von Fermat Proseminar: Das BUCH der Beweise Fridtjof Schulte Steinberg Institut für Informatik Humboldt-Universität zu Berlin 29.November 2012 1 / 20 Allgemeines Pierre de Fermat

Mehr

RSA Verfahren. Kapitel 7 p. 103

RSA Verfahren. Kapitel 7 p. 103 RSA Verfahren RSA benannt nach den Erfindern Ron Rivest, Adi Shamir und Leonard Adleman war das erste Public-Key Verschlüsselungsverfahren. Sicherheit hängt eng mit der Schwierigkeit zusammen, große Zahlen

Mehr

4. Übungsblatt zu Mathematik für Informatiker I, WS 2003/04

4. Übungsblatt zu Mathematik für Informatiker I, WS 2003/04 4. Übungsblatt zu Mathematik für Informatiker I, WS 2003/04 JOACHIM VON ZUR GATHEN, OLAF MÜLLER, MICHAEL NÜSKEN Abgabe bis Freitag, 14. November 2003, 11 11 in den jeweils richtigen grünen oder roten Kasten

Mehr

THEORETISCHE INFORMATIK

THEORETISCHE INFORMATIK THEORETISCHE INFORMATIK Vorlesungsskript Jiří Adámek Institut für Theoretische Informatik Technische Universität Braunschweig Januar 2014 Inhaltsverzeichnis 1 Endliche Automaten 1 1.1 Mathematische Grundbegriffe.......................

Mehr

Praktikum Diskrete Optimierung (Teil 11) 17.07.2006 1

Praktikum Diskrete Optimierung (Teil 11) 17.07.2006 1 Praktikum Diskrete Optimierung (Teil 11) 17.07.2006 1 1 Primzahltest 1.1 Motivation Primzahlen spielen bei zahlreichen Algorithmen, die Methoden aus der Zahlen-Theorie verwenden, eine zentrale Rolle. Hierzu

Mehr

Entscheidungsprobleme. Berechenbarkeit und Komplexität Entscheidbarkeit und Unentscheidbarkeit. Die Entscheidbarkeit von Problemen

Entscheidungsprobleme. Berechenbarkeit und Komplexität Entscheidbarkeit und Unentscheidbarkeit. Die Entscheidbarkeit von Problemen Berechenbarkeit und Komlexität Entscheidbarkeit und Unentscheidbarkeit Wolfgang Schreiner Wolfgang.Schreiner@risc.uni-linz.ac.at Research Institute for Symbolic Comutation (RISC) Johannes Keler University,

Mehr

Wissensbasierte Systeme

Wissensbasierte Systeme WBS4 Slide 1 Wissensbasierte Systeme Vorlesung 4 vom 03.11.2004 Sebastian Iwanowski FH Wedel WBS4 Slide 2 Wissensbasierte Systeme 1. Motivation 2. Prinzipien und Anwendungen 3. Logische Grundlagen 4. Suchstrategien

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 3: Alphabete (und Relationen, Funktionen, Aussagenlogik) Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Oktober 2008 1/18 Überblick Alphabete ASCII Unicode

Mehr

Entwurf von Algorithmen - Kontrollstrukturen

Entwurf von Algorithmen - Kontrollstrukturen Entwurf von Algorithmen - Kontrollstrukturen Eine wichtige Phase in der Entwicklung von Computerprogrammen ist der Entwurf von Algorithmen. Dieser Arbeitsschritt vor dem Schreiben des Programmes in einer

Mehr

Vorlesung Theoretische Informatik

Vorlesung Theoretische Informatik Vorlesung Theoretische Informatik Automaten und Formale Sprachen Hochschule Reutlingen Fakultät für Informatik Masterstudiengang Wirtschaftsinformatik überarbeitet von F. Laux (Stand: 09.06.2010) Sommersemester

Mehr

Lösungen zur Vorrundenprüfung 2006

Lösungen zur Vorrundenprüfung 2006 Lösungen zur Vorrundenprüfung 2006 Zuerst einige Bemerkungen zum Punkteschema. Eine vollständige und korrekte Lösung einer Aufgabe ist jeweils 7 Punkte wert. Für komplette Lösungen mit kleineren Fehlern

Mehr

2. Lernen von Entscheidungsbäumen

2. Lernen von Entscheidungsbäumen 2. Lernen von Entscheidungsbäumen Entscheidungsbäume 2. Lernen von Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch Attribut/Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse

Mehr

Codierung, Codes (variabler Länge)

Codierung, Codes (variabler Länge) Codierung, Codes (variabler Länge) A = {a, b, c,...} eine endliche Menge von Nachrichten (Quellalphabet) B = {0, 1} das Kanalalphabet Eine (binäre) Codierung ist eine injektive Abbildung Φ : A B +, falls

Mehr

Bitte unbedingt beachten: a) Gewertet werden alle acht gestellten Aufgaben.

Bitte unbedingt beachten: a) Gewertet werden alle acht gestellten Aufgaben. Mathematik I für Wirtschaftswissenschaftler Klausur für alle gemeldeten Fachrichtungen außer Immobilientechnik und Immobilienwirtschaft am 9..9, 9... Bitte unbedingt beachten: a) Gewertet werden alle acht

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Woche 10 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Zusammenfassung Zusammenfassung der letzten LV Satz Sei G = (V, Σ, R, S) eine kontextfreie

Mehr

3. Turingmaschinen FORMALISIERUNG VON ALGORITHMEN. Turingmaschinen Registermaschinen Rekursive Funktionen UNTERSCHEIDUNGSMERKMALE DER ANSÄTZE:

3. Turingmaschinen FORMALISIERUNG VON ALGORITHMEN. Turingmaschinen Registermaschinen Rekursive Funktionen UNTERSCHEIDUNGSMERKMALE DER ANSÄTZE: FORMALISIERUNG VON ALGORITHMEN Wegen der beobachteten Zusammenhänge zwischen Berechnungs-, Entscheidungs- und Aufzählungsverfahren genügt es Berechnungsverfahren zu formalisieren. Weiter genügt es Verfahren

Mehr

Zusammenfassung Grundzüge der Informatik 4

Zusammenfassung Grundzüge der Informatik 4 Zusammenfassung Grundzüge der Informatik 4 Sommersemester 04 Thorsten Wink 21. September 2004 Version 1.2 Dieses Dokument wurde in L A TEX 2εgeschrieben. Stand: 21. September 2004 Inhaltsverzeichnis 1

Mehr

4. Relationen. Beschreibung einer binären Relation

4. Relationen. Beschreibung einer binären Relation 4. Relationen Relationen spielen bei Datenbanken eine wichtige Rolle. Die meisten Datenbanksysteme sind relational. 4.1 Binäre Relationen Eine binäre Relation (Beziehung) R zwischen zwei Mengen A und B

Mehr

effektives Verfahren ~ Algorithmus (Al Chwarismi) Regelsystem, Methode, Rezept, Gebrauchsanleitung Programm (griech. προγραφω, vor-schreiben)

effektives Verfahren ~ Algorithmus (Al Chwarismi) Regelsystem, Methode, Rezept, Gebrauchsanleitung Programm (griech. προγραφω, vor-schreiben) effektive Verfahren Ein Verfahren ist effektiv, wenn es für jeden Fall, der in einem zuvor abgegrenzten Bereich von eindeutigen Unterscheidungen auftreten kann, eine eindeutige und ausführbare Handlungsanweisung

Mehr

Ergänzungen zur Analysis I

Ergänzungen zur Analysis I 537. Ergänzungsstunde Logik, Mengen Ergänzungen zur Analysis I Die Behauptungen in Satz 0.2 über die Verknüpfung von Mengen werden auf die entsprechenden Regelnfür die Verknüpfung von Aussagen zurückgeführt.

Mehr

Oft kommt es darauf an, Potenzen a n mod m zu berechnen. Dabei kann n eine sehr groÿe Zahl sein.

Oft kommt es darauf an, Potenzen a n mod m zu berechnen. Dabei kann n eine sehr groÿe Zahl sein. Oft kommt es darauf an, Potenzen a n mod m zu berechnen. Dabei kann n eine sehr groÿe Zahl sein. 3 1384788374932954500363985493554603584759389 mod 28374618732464817362847326847331872341234 Wieso kann ein

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Einleitung Shor s Algorithmus Anhang. Thomas Neder. 19. Mai 2009

Einleitung Shor s Algorithmus Anhang. Thomas Neder. 19. Mai 2009 19. Mai 2009 Einleitung Problemstellung Beispiel: RSA Teiler von Zahlen und Periode von Funktionen Klassischer Teil Quantenmechanischer Teil Quantenfouriertransformation Algorithmus zur Suche nach Perioden

Mehr

Über das Hüten von Geheimnissen

Über das Hüten von Geheimnissen Über das Hüten von Geheimnissen Gabor Wiese Tag der Mathematik, 14. Juni 2008 Institut für Experimentelle Mathematik Universität Duisburg-Essen Über das Hüten von Geheimnissen p.1/14 Rechnen mit Rest Seien

Mehr

Teilbarkeit von natürlichen Zahlen

Teilbarkeit von natürlichen Zahlen Teilbarkeit von natürlichen Zahlen Teilbarkeitsregeln: Die Teilbarkeitsregeln beruhen alle darauf, dass man von einer Zahl einen grossen Teil wegschneiden kann, von dem man weiss, dass er sicher durch

Mehr

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

Mehr

Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich

Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich Herbrand-Strukturen und Herbrand-Modelle Sei F eine Aussage in Skolemform. Dann heißt jede zu F passende Struktur A =(U A, I A )eineherbrand-struktur für F, falls folgendes gilt: 1 U A = D(F ), 2 für jedes

Mehr

Rekursive Auswertungsprozesse in Haskell

Rekursive Auswertungsprozesse in Haskell Rekursive Auswertungsprozesse in Haskell Auswertungsprozess, der durch eine rekursive Funktion bewirkt wird Beispiel: Auswertung der rekursiven Fakultätsfunktion 0! := 1 n! := n (n 1)! fakultaet x = if

Mehr

Primzahlzertifikat von Pratt

Primzahlzertifikat von Pratt Primzahlzertifikat von Pratt Daniela Steidl TU München 17. 04. 2008 Primzahltests in der Informatik "Dass das Problem, die Primzahlen von den Zusammengesetzten zu unterscheiden und letztere in ihre Primfaktoren

Mehr

Was bisher geschah Kryptographische Systeme (M, C, K, e, d) Verfahren: symmetrisch klassisch: Verschiebechiffren (Spezialfall Caesar-Code)

Was bisher geschah Kryptographische Systeme (M, C, K, e, d) Verfahren: symmetrisch klassisch: Verschiebechiffren (Spezialfall Caesar-Code) Was bisher geschah Kryptographische Systeme (M, C, K, e, d) Verfahren: symmetrisch klassisch: Verschiebechiffren (Spezialfall Caesar-Code) Multiplikative Chiffren monoalphabetische Substitutions-Chiffren:

Mehr

Informatik IC2. Balazs Simon 2005.03.26.

Informatik IC2. Balazs Simon 2005.03.26. Informatik IC2 Balazs Simon 2005.03.26. Inhaltsverzeichnis 1 Reguläre Sprachen 3 1.1 Reguläre Sprachen und endliche Automaten...................... 3 1.2 Determinisieren.....................................

Mehr

SOI 2013. Die Schweizer Informatikolympiade

SOI 2013. Die Schweizer Informatikolympiade SOI Die Schweizer Informatikolympiade Lösung SOI Wie schreibe ich eine gute Lösung? Bevor wir die Aufgaben präsentieren, möchten wir dir einige Tipps geben, wie eine gute Lösung für die theoretischen

Mehr

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

1. 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. äume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/5, olie 1 2014 Prof. Steffen Lange - HDa/bI

Mehr

Ideen der Informatik. Was ist ein Computer? Was ist ein Programm? Können Computer Alles? Kurt Mehlhorn und Adrian Neumann

Ideen der Informatik. Was ist ein Computer? Was ist ein Programm? Können Computer Alles? Kurt Mehlhorn und Adrian Neumann Ideen der Informatik Was ist ein Computer? Was ist ein Programm? Können Computer Alles? Kurt Mehlhorn und Adrian Neumann Was ist ein Computer? 2 Übersicht Was ist ein Computer, ein Programm? Turings Antwort

Mehr

Das Knapsack-Kryptosystem

Das Knapsack-Kryptosystem Das Knapsack-Kryptosystem Frank Hellweg 21. Februar 2006 1 Einleitung Das Knapsack-Kryptosystem wurde 1978 von den amerikanischen Kryptologen Martin Hellman und Ralph Merkle entwickelt [MH78] und war eines

Mehr

Wissensbasierte Systeme 5. Constraint Satisfaction Probleme

Wissensbasierte Systeme 5. Constraint Satisfaction Probleme Wissensbasierte Systeme 5. Constraint Satisfaction Probleme Michael Beetz Vorlesung Wissensbasierte Systeme 1 Inhalt 5.1 Begriffe 5.2 Constraint Satisfaction in Linienbildern 5.3 Beispielanwendungen 5.4

Mehr

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Kürzeste Wege in Graphen Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Gliederung Einleitung Definitionen Algorithmus von Dijkstra Bellmann-Ford Algorithmus Floyd-Warshall Algorithmus

Mehr

Abschnitt: Algorithmendesign und Laufzeitanalyse

Abschnitt: Algorithmendesign und Laufzeitanalyse Abschnitt: Algorithmendesign und Laufzeitanalyse Definition Divide-and-Conquer Paradigma Divide-and-Conquer Algorithmen verwenden die Strategien 1 Divide: Teile das Problem rekursiv in Subproblem gleicher

Mehr

Aufgabe 3: Übersetzen Sie die folgenden natürlich-sprachlichen Aussagen in die Sprache der

Aufgabe 3: Übersetzen Sie die folgenden natürlich-sprachlichen Aussagen in die Sprache der Aufgabe 1: Sind die folgenden Abbildungen jeweils injektiv, surjektiv und/oder bijektiv? (a) f 1 (x) = x, mit f 1 : R + R + (b) f (x) = x, mit f : R R (c) f 3 (x) = x, mit f 3 : R R (d) f 4 (x) = 3x, mit

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Makespan-Scheduling Kapitel 4: Approximationsalgorithmen (dritter Teil) (weitere Beispiele und Illustrationen an der Tafel) Hilfreiche Literatur: Vazarani: Approximation Algorithms, Springer Verlag, 2001.

Mehr

Prädikatenlogik - Micromodels of Software

Prädikatenlogik - Micromodels of Software Prädikatenlogik - Micromodels of Software Philipp Koch Seminar Logik für Informatiker Universität Paderborn Revision: 30. Mai 2005 1 Inhaltsverzeichnis 1 Motivation 3 2 Modelle 3 2.1 Definition eines Modells.......................

Mehr

Probabilistische Primzahltests

Probabilistische Primzahltests Probabilistische Primzahltests Daniel Tanke 11. Dezember 2007 In dieser Arbeit wird ein Verfahren vorgestellt, mit welchem man relativ schnell testen kann, ob eine ganze Zahl eine Primzahl ist. Für einen

Mehr

Guten Morgen und Willkommen zur Saalübung!

Guten Morgen und Willkommen zur Saalübung! Guten Morgen und Willkommen zur Saalübung! 1 Wie gewinnt man ein Spiel? Was ist ein Spiel? 2 Verschiedene Spiele Schach, Tic-Tac-Toe, Go Memory Backgammon Poker Nim, Käsekästchen... 3 Einschränkungen Zwei

Mehr

Grundlagen der Informatik 2 (GdI2) - Algorithmen und Datenstrukturen -

Grundlagen der Informatik 2 (GdI2) - Algorithmen und Datenstrukturen - Grundlagen der Informatik 2 (GdI2) - Algorithmen und Datenstrukturen - 2) Algorithmenanalyse Prof. Dr. Anja Schanzenberger FH Augsburg, Fakultät für Informatik Kontakt: anja.schanzenberger@hs-augsburg.de

Mehr

Graphen: Datenstrukturen und Algorithmen

Graphen: Datenstrukturen und Algorithmen Graphen: Datenstrukturen und Algorithmen Ein Graph G = (V, E) wird durch die Knotenmenge V und die Kantenmenge E repräsentiert. G ist ungerichtet, wenn wir keinen Start- und Zielpunkt der Kanten auszeichnen.

Mehr

Vorlesung. 1 Zahlentheorie in Z. Leitfaden. 1.1 Teilbarkeit. Angela Holtmann. Algebra und Zahlentheorie. (natürliche Zahlen ohne die Null)

Vorlesung. 1 Zahlentheorie in Z. Leitfaden. 1.1 Teilbarkeit. Angela Holtmann. Algebra und Zahlentheorie. (natürliche Zahlen ohne die Null) Algebra und Zahlentheorie Vorlesung Algebra und Zahlentheorie Leitfaden 1 Zahlentheorie in Z Bezeichnungen: Z := {..., 3, 2, 1, 0, 1, 2, 3,...} (ganze Zahlen) und N := {1, 2, 3,...} (natürliche Zahlen

Mehr

1. Modulare Arithmetik

1. Modulare Arithmetik 1. Modulare Arithmetik Dreizehn Jahre lang hatten die Briten und Franzosen geglaubt, die Enigma- Verschlüsselung sei nicht zu knacken, doch nun schöpften sie Hoffnung. Die polnischen Erfolge hatten bewiesen,

Mehr

Teil 2 - Softwaretechnik. Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2. Übersicht. Softwaretechnik

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

Mehr

Schulmathematik und Algorithmen der Computeralgebra

Schulmathematik und Algorithmen der Computeralgebra Schulmathematik und Algorithmen der Computeralgebra Prof. Dr. Wolfram Koepf Universität Kassel http://www.mathematik.uni-kassel.de/~koepf Tag der Mathematik 13. Dezember 2008 Universität Passau Überblick

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

7 Rechnen mit Polynomen

7 Rechnen mit Polynomen 7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn

Mehr

Pratts Primzahlzertifikate

Pratts Primzahlzertifikate Pratts Primzahlzertifikate Markus Englert 16.04.2009 Technische Universität München Fakultät für Informatik Proseminar: Perlen der Informatik 2 SoSe 2009 Leiter: Prof. Dr. Nipkow 1 Primzahltest Ein Primzahltest

Mehr

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner Musterlösung Problem : Average-case-Laufzeit vs Worst-case-Laufzeit pt (a) Folgender Algorithmus löst das Problem der

Mehr

8 Diskrete Optimierung

8 Diskrete Optimierung 8 Diskrete Optimierung Definition 8.1. Ein Graph G ist ein Paar (V (G), E(G)) besteh aus einer lichen Menge V (G) von Knoten (oder Ecken) und einer Menge E(G) ( ) V (G) 2 von Kanten. Die Ordnung n(g) von

Mehr

RSA-Verschlüsselung. von Johannes Becker Gießen 2006/2008

RSA-Verschlüsselung. von Johannes Becker Gießen 2006/2008 RSA-Verschlüsselung von Johannes Becker Gießen 2006/2008 Zusammenfassung Es wird gezeigt, wieso das nach Ronald L. Rivest, Adi Shamir und Leonard Adleman genannte RSA-Krptosstem funktioniert, das mittlerweile

Mehr

Faktorisierung ganzer Zahlen mittels Pollards ρ-methode (1975)

Faktorisierung ganzer Zahlen mittels Pollards ρ-methode (1975) Dass das Problem, die Primzahlen von den zusammengesetzten zu unterscheiden und letztere in ihre Primfaktoren zu zerlegen zu den wichtigsten und nützlichsten der ganzen Arithmetik gehört und den Fleiss

Mehr

Was ist Mathematik? Eine Strukturwissenschaft, eine Geisteswissenschaft, aber keine Naturwissenschaft.

Was ist Mathematik? Eine Strukturwissenschaft, eine Geisteswissenschaft, aber keine Naturwissenschaft. Vorlesung 1 Einführung 1.1 Praktisches Zeiten: 10:00-12:00 Uhr Vorlesung 12:00-13:00 Uhr Mittagspause 13:00-14:30 Uhr Präsenzübung 14:30-16:00 Uhr Übungsgruppen Material: Papier und Stift wacher Verstand

Mehr

Zeichnen von Graphen. graph drawing

Zeichnen von Graphen. graph drawing Zeichnen von Graphen graph drawing WS 2006 / 2007 Gruppe: D_rot_Ala0607 Christian Becker 11042315 Eugen Plischke 11042351 Vadim Filippov 11042026 Gegeben sei ein Graph G = (V; E) Problemstellung V E =

Mehr

Undirected Single-Source Shortest Paths with Positive Integer Weights in Linear Time

Undirected Single-Source Shortest Paths with Positive Integer Weights in Linear Time Universität Konstanz Mathematisch-naturwissenschaftliche Sektion Fachbereich Mathematik und Statistik Wintersemester 2001/02 Mikkel Thorup: Undirected Single-Source Shortest Paths with Positive Integer

Mehr

9 Das Problem mit der Komplexität: P = NP?

9 Das Problem mit der Komplexität: P = NP? ¾ ½ Á ŹÐÙØÞÛ ØÔ ÐºØ Ü Ú ½º ¾¼¼»¼»½ ½ ½¾ ÝÖ ÜÔ ½» ½ ½ 9 Das Problem mit der Komplexität: P = NP? Martin Grötschel Was Komplexität ist, weiß niemand so richtig. In vielen Wissenschaftsgebieten wird der

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Das Rechnen in Zahlensystemen zur Basis b=2, 8, 10 und 16 Prof. Dr. Nikolaus Wulff Zahlensysteme Neben dem üblichen dezimalen Zahlensystem zur Basis 10 sind in der Informatik

Mehr

5.1 Drei wichtige Beweistechniken... 55 5.2 Erklärungen zu den Beweistechniken... 56

5.1 Drei wichtige Beweistechniken... 55 5.2 Erklärungen zu den Beweistechniken... 56 5 Beweistechniken Übersicht 5.1 Drei wichtige Beweistechniken................................. 55 5. Erklärungen zu den Beweistechniken............................ 56 Dieses Kapitel ist den drei wichtigsten

Mehr