• Keine Ergebnisse gefunden

Dynamische Programmierung

N/A
N/A
Protected

Academic year: 2021

Aktie "Dynamische Programmierung "

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Dynamische Programmierung

Basierend auf dem Bellmansches Optimalitätsprinzip:

„Optimale Teillösungen bilden eine optimale Lösung.“

LgT

Geg.: Wörter a, b

Ges.: Längste gemeinsame Teilfolge LgT(a, b) Idee: C(i, j) ≡ LgT(a1…ai, b1…bj) sei bekannt

j i

j i

b a falls

b a falls } 1) - j (i, j), 1, - (i max{

1 1) - j 1, - j) (i

(i,

0 j) (0, 0) (i,

=



 +

=

=

=

C C

C C

C C

KgO

Geg.: Wörter a, b

Ges.: Kürzeste gemeinsame Oberfolge KgO(a, b) Idee: C(i, j) ≡ KgO(a1…ai, b1…bj) sei bekannt

j i

j i

b a falls

b a falls 1}

1) - j (i, 1, j) 1, - (i min{

1 1) - j 1, - j) (i

(i,

j j) (0, i 0) (i,

=



+ +

= +

=

=

C C

C C

C C

Editierdistanz Geg.: Wörter a, b

Ges.: Geringste Anzahl Operationen (Löschen, Einfügen, Umbenennen) zur Überführung von Wort a nach b (= Maß für die Ähnlichkeit von a und b)

Idee: C(i, j) ≡ Edd(a1…ai, b1…bj) sei bekannt C(i-1, j-1) - Umbenennen von ai nach bj

C(i-1, j) - Löschen von ai C(i, j-1) - Einfügen von bj

j i

j i

b a falls

b a falls 1}

1) - j (i, 1, j) 1, - (i 1, 1) - j 1, - (i min{

1) - j 1, - j) (i

(i,

j j) (0, i 0) (i,

=



+ +

= +

=

=

C C

C C C

C C

(2)

TSP

Geg.: Kostenmatrix K mit K(a, b) = Kosten der „Strecke“ a nach b Ges.: Optimale (günstigste) Rundreise

Idee: Optimaler Pfad Pn(i, V) der Länge n vom Knoten 1 zum Knoten i bekannt, wobei ∀ v∈V gilt: v∉Pn

Pn(i, ) = K(i, 1) schließen des Kreises

Pn(i, V) = min{K(i, v) + Pn+1(v, V \ v) | ∀ v∈V } expandieren des Pfades

Iterierte Matrizenmultiplikation Geg.: n Matrizen Ai ∈ Νi-1×i

Ges.: Berechnung von B = A1×A2×…×An durch minimale Anzahl Multiplikationen M Idee: Ai mit 0 Multiplikationen berechenbar

Ai×Ai+1 mit (i-1) × i × (i+1) Multiplikationen berechenbar (pi-1⋅pi⋅pi+1) Ai×Aj×Ak durch Ai×(Aj×Ak) oder (Ai×Aj)×Ak berechenbar …

j i falls

j i falls } j k i | p p p j) 1, (k k)

(i, min{

j) 0 (i,

j k 1 -

i <



<

⋅ + +

= +

M M M

Optimaler binärer Suchbaum

Geg.: Knoten ai und dazu gehörige Häufigkeiten bi (i = 1,…,n)

Ges.: Optimaler Suchbaum S mit minimalen Kosten c ~ Häufigkeiten × Tiefe ∀ Knoten ai

Idee: C(i, j) ≡ S(ai…aj) sei minimaler Suchbaum welcher die Knoten ai bis aj enthält

j i falls

j i falls } j k i | j) 1, (k 1), - k (i, min{

c 0 j)

(i, j

n

>





≤ +

= +

=

C C C

i n

Referenzen

ÄHNLICHE DOKUMENTE

 Gestaltung der Tracking Layer, dazu zählen unter anderem die An- gabe des Zeitfensters, in dem Daten während der Animation gezeigt werden sollen (z.B. die letzten 5

 nicht ganz so tragisch, da Speicher zu Programmende durch Betriebssystem wieder freigegeben wird. •

326 Die Erhöhung des Faktors P 1 +, wirkt sich in der intertemporalen Budgetrestriktion der Haushalte (4.34) weniger stark aus als die Reduktion der Summe

Die Schnittstelle eines Stapels besteht aus vier Operationen: void push(Obj data); (Daten auf den Stack legen) Obj pop(); (Oberstes Element entfernen).. Obj top(); (Oberstes

Passen Programm und Spezifikation nicht zusammen stellt sich die Frage: Ist das Programm oder die Spezifikation

Rekursive Berechnung der C[i][j] würde zu Berechnung immer wieder derselben Werte führen.

Bildlich ge- sprochen sollte die Investition bei einem Barwert der Investitionsrückflüsse V t links des Schnittpunktes zwischen positivem Kapitalwert und Fortführungswert

MCMP: gesuchte Klammerung von A 1 …A n setzt sich zusammen aus der Klammerung einer (bestimmten) Teilkette A 1 …A k und einer Teilkette A k+1 …A n 2.  Wenn die Lösung