Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.

Ähnliche Präsentationen


Präsentation zum Thema: "High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen."—  Präsentation transkript:

1 High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Algorithmen und Komplexität SS2004

2 Friedhelm Meyer auf der Heide 2 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Was haben wir bisher gemacht? -Rechenmodell: Turingmaschine -Entscheidbare, rekursiv aufzählbare Sprachen, berechenbare Funktionen -Nicht entscheidbare, nicht rekursiv aufzählbare Sprachen -Grammatiken -Reguläre Grammatiken und endliche Automaten -Kontextfrei Grammatiken und Kellerautomaten

3 Friedhelm Meyer auf der Heide 3 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität -Wieviele Ressourcen (Zeit, Speicherplatz) sind notwendig, um eine (berechenbare) Funktion auszuwerten / eine (entscheidbare) Sprache zu entscheiden? - Obere Schranken (Zeit t(n) reicht für Eingabe der Länge n aus) Algorithmenentwicklung und –analyse DuA - Untere Schranke (Jeder Algo für dieses Problem benötigt mindestens Zeit t(n)) Komplexitätstheorie

4 Friedhelm Meyer auf der Heide 4 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Ziele der Vorlesung -Vorstellung eines der wichtigsten Konzepte der Komplexitätstheorie: NP-Vollständigkeit. - Wir werden sehen: - NP-vollständige Probleme haben sehr große worst-case Laufzeit (falls ) - viele wichtigen (Optimierungs-) Probleme sind NP-vollständig -Aber: NP-vollständige Probleme sind überall: Wie gehen wir mit ihnen um? - Heuristiken - Approximationsalgorithmen

5 Friedhelm Meyer auf der Heide 5 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Beispiele: Problem 1: Minimaler Spannbaum: Eingabe: Graph G = (V,E), Kantengewichte c : E Gesucht: Ein minimaler Spannbaum in G Problem 2: Problem des Handlungsreisenden (Traveling Salesman Problem, TSP) Eingabe: - wie oben – Gesucht: Ein Kreis in G, der alle Knoten enthält und minimale Länge hat. Problem 1 kann effizient gelöst werden, Zeit Problem 2 ist NP-vollständig!

6 Friedhelm Meyer auf der Heide 6 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Wie können wir TSP lösen? Nicht alle Anwendungen verlangen gute worst-case Laufzeit und optimale Lösungen! Heuristiken entwickeln, die für sehr viele Eingaben schnell eine optimale oder zumindest gute Lösung finden. Approximationsalgorithmen entwickeln, die immer schnell sind, und immer eine Lösung liefert, deren Güte beweisbar nahe bei der optimalen Güte ist.

7 Friedhelm Meyer auf der Heide 7 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Komplexitätsmaße T M (x) = Anzahl Schritte, die Turingmaschine M gestartet mit Eingabe x ausführt S M (x) = Anzahl Speicherzellen, die M bei Rechnung gestartet mit x besucht T M (n) = max{T M (x), |x|· n} (worst case Laufzeit) M hat Laufzeit O(t(n)) (M ist O(t(n) zeitbeschränkt), falls T M (n) = O(t(n)) gilt.

8 Friedhelm Meyer auf der Heide 8 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einschub: Spurentechnik M sei 2-Band TM, die auf Band 2 höchstens s(n) Platz benötigt. Dann kann M durch eine 1-Band TM simuliert werden, die Zeit O(T M (n) ¢ s(n)) benötigt.

9 Friedhelm Meyer auf der Heide 9 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einschub: Kellerautomaten

10 Friedhelm Meyer auf der Heide 10 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Kellerautomaten (Push Down Automata, PDAs) sind nichtdeterministische endliche Automaten, die über einen Speicher verfügen, der als Stack (Stapel, Keller) organisiert ist. D.h.: in jedem Schritt darf der PDA Elemente vom Stack entfernen (nur von oben!) und neue Elemente auf den Stack legen (POP und PUSH).

11 Friedhelm Meyer auf der Heide 11 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Kellerautomaten

12 Friedhelm Meyer auf der Heide 12 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Kellerautomaten

13 Friedhelm Meyer auf der Heide 13 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Kellerautomaten

14 Friedhelm Meyer auf der Heide 14 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Ein Beispiel PDA für L = {0 n 1 n | n¸ 1} 1.Lege $ auf (leeren) Stack 2.Solange 0 gelesen wird: lege Null auf Stack (PUSH) 3.Solange 1 gelesen wird: streiche NULL vom Stack (POP) falls keine NULL mehr da ist, oder eine 0 nach einer 1 gelesen wird: verwerfe 4. Akzeptiere, falls am Ende des Wortes nur $ auf dem Stack liegt.

15 Friedhelm Meyer auf der Heide 15 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Kellerautomaten und kontextfreie Sprachen Satz: L ist kontextfrei genau dann, wenn es einen PDA gilt der L akzeptiert.

16 Friedhelm Meyer auf der Heide 16 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einschub Ende

17 Friedhelm Meyer auf der Heide 17 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Komplexitätsklassen t : N ! N sei monoton wachsend. DTIME(t(n)) = { L | L kann von einer TM in Zeit O(t(n)) entschieden werden} P = k ¸ 0 DTIME(n k ) P ist die Klasse der Spachen, die von einer deterministischen TM in polynomieller Zeit entschieden werden können. P ist robust : z. B ergibt sich die gleiche Klasse, wenn wir TMs durch Registermachinen oder Java-Programme ersetzen.

18 Friedhelm Meyer auf der Heide 18 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Über die Klasse P -Minimaler Spannbaum - -Sei mittels Reduktionsfunktion f, die in polynomieller Zeit berechenbar ist, so ist auch ( ist polynomiell reduzierbar auf L)

19 Friedhelm Meyer auf der Heide 19 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Bemerkungen zu Minimalen Spannbäumen Eingabe: G, c, k muss über endlichen Alphabet beschrieben werden. z.B.: durch Matrix A, mit Einträgen Dabei wird c(i,j) in Binärdarstellung beschrieben, ist ein Sonderzeichen in. -Laufzeit laut DuA (Kruskal Algo): Aber: Dort waren Eingaben ganze Zahlen (kein endliches Alphabet) und Operationen (Kosten 1) konnten ganze Zahlen manipulieren! Hier: Eingabe über endlichen Alphabet (z.B. Eingabegröße Operation im Kruskal-Algo dauerte Zeit Beachte: Laufzeit bleibt polynomiell! P ist robuste Komplexitätsklasse!

20 Friedhelm Meyer auf der Heide 20 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Laufzeiten

21 Friedhelm Meyer auf der Heide 21 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Laufzeiten

22 Friedhelm Meyer auf der Heide 22 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Über die Klasse P Jede Mehrband-TM mit Laufzeit t(n) kann durch 1-Band-TM mit Laufzeit O(t(n)²) simuliert werden. Jede RAM mit Laufzeit t(n) kann durch 1-Band-TM mit Laufzeit O(t(n) 3 ) simuliert werden. Jede 1-Band-TM mit Laufzeit t(n) kann durch RAM mit Laufzeit O(t(n)) simuliert werden. P ist robust!

23 Friedhelm Meyer auf der Heide 23 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Sprachen in P -MST: Eingabe: (G, c, k); entscheide, ob der gewichtete Graph (G,c) einen Spannbaum mit Gewicht · k enthält. -Path: Eingabe: (G, s, t); entscheide, ob im gerichteten Graphen G ein gerichteter Weg von s nach t existiert. -Rel_Prim: Eingabe: (x, y) 2 ; entscheide ob x and y relativ prim sind. -Matching: Eingabe (G, c, k); entscheide, ob der gewichtete Graph (G, c) ein Matching mit Gewicht ¸ k enthält.


Herunterladen ppt "High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen."

Ähnliche Präsentationen


Google-Anzeigen