www.wikidata.de-de.nina.az
Der Algorithmus von Bellman konstruiert aus einer gegebenen Schlusselliste und einer korrespondierenden Suchwahrscheinlichkeit einen optimalen binaren Suchbaum Der Algorithmus basiert auf dem von Richard Bellman 1957 gefundenen Satz uber optimale mittlere Suchdauern in binaren Suchbaumen und verwendet die Methode der Dynamischen Programmierung Inhaltsverzeichnis 1 Algorithmus 2 Komplexitat 3 Literatur 4 QuellenAlgorithmus BearbeitenEingaben displaystyle n nbsp Suchschlussel die in einer Sequenz k i 0 lt i n displaystyle k i 0 lt i leq n nbsp geordnet sind Ausserdem ist fur jeden Schlussel k i displaystyle k i nbsp die Suchwahrscheinlichkeit p i displaystyle p i nbsp gegeben Fur jedes k i displaystyle k i nbsp bezeichnet q i 1 displaystyle q i 1 nbsp die Wahrscheinlichkeit dass nach einem nichtvorhandenen Schlussel x displaystyle x nbsp mit k i 1 lt x lt k i displaystyle k i 1 lt x lt k i nbsp fur 1 lt i n displaystyle 1 lt i leq n nbsp bzw x lt k i displaystyle x lt k i nbsp fur i 1 displaystyle i 1 nbsp gesucht wird Da p i displaystyle p i nbsp und q i displaystyle q i nbsp Wahrscheinlichkeiten sind muss die Summe aller p i displaystyle p i nbsp und q i displaystyle q i nbsp 1 ergeben i 1 n p i i 0 n q i 1 displaystyle sum i 1 n p i sum i 0 n q i 1 nbsp AusgabeDie minimale erwartete Suchdauer in einem optimalen binaren Suchbaum zu der Schlusselmenge k i displaystyle k i nbsp und der optimale Suchbaum unter dem die minimale erwartete Suchdauer erreicht wird Gibt es allerdings geometrisch fallende Wahrscheinlichkeiten dann kann die Suchdauer zu den zugehorigen sehr seltenen Schlusseln nicht logarithmisch beschrankt werden Berechnung der SuchdauerMit der Suchdauer einer Schlusselsuche bzw den Suchkosten fur eine Schlusselsuche wird die Anzahl der besuchten Knoten auf einem Pfad von der Wurzel bis zum Schlusselknoten in einem binaren Suchbaum bezeichnet Wenn also ein Schlussel k i displaystyle k i nbsp eine Tiefe von d k i displaystyle d k i nbsp im Baum hat dann sind seine Suchkosten d k i 1 displaystyle d k i 1 nbsp Um die Suchdauer nach nichtvorhandenen Schlusseln zu modellieren erhalt jedes Blatt k i displaystyle k i nbsp zwei Kinder Knoten d i 1 displaystyle d i 1 nbsp und d i displaystyle d i nbsp Wenn bei der Suche ein d i displaystyle d i nbsp Blatt erreicht wird dann ist der Knoten nicht in dem binaren Suchbaum enthalten Fur einen gegebenen Suchbaum T displaystyle T nbsp lasst sich die erwartete Suchdauer berechnen E T i 1 n d k i 1 p i i 0 n d d i 1 q i i 1 n d k i p i i 1 n p i i 0 n d d i q i i 0 n q i 1 i 1 n d k i p i i 0 n d d i q i displaystyle begin aligned E T amp amp sum i 1 n d k i 1 p i sum i 0 n d d i 1 q i amp amp sum i 1 n d k i p i sum i 1 n p i sum i 0 n d d i q i sum i 0 n q i amp amp 1 sum i 1 n d k i p i sum i 0 n d d i q i end aligned nbsp Rekursive BerechnungDer Bellman Algorithmus berechnet die erwartete Suchdauer unter einem optimalen binaren Suchbaum rekursiv auf der Sequenz der Suchschlussel Die Spezifikation des Algorithmus erfolgt durch Matrix Rekurrenzen Initialisierung M i i 1 q i 1 0 lt i n displaystyle M i i 1 q i 1 0 lt i leq n nbsp Rekursion M i j min i r j M i r 1 M r 1 j w i j 0 i n 0 lt j n i j displaystyle M i j begin Bmatrix min i leq r leq j M i r 1 M r 1 j w i j end Bmatrix 0 leq i leq n 0 lt j leq n i leq j nbsp In jeder Zelle M i j displaystyle M i j nbsp steht die minimale Suchdauer unter einem optimalen Suchbaum fur die Teilsequenz i j displaystyle i j nbsp der Suchschlusselsequenz k i displaystyle k i nbsp wobei w i j displaystyle w i j nbsp die Summe aller Suchwahrscheinlichkeiten der Schlussel in dem Baum zur Teilsequenz bezeichnet Also ist die minimale Suchdauer fur die gesamte Sequenz in der Zelle M 1 n displaystyle M 1 n nbsp gespeichert In der Rekursion entspricht jede Wahl fur r displaystyle r nbsp der Auswahl von k r displaystyle k r nbsp als Wurzel des Baums der Teilsequenz i j displaystyle i j nbsp Die Erzeugung der Wurzel erhoht die Tiefe jedes Knoten in diesem Baum um 1 Also muss die erwartete Suchdauer in diesem Baum um w i j displaystyle w i j nbsp erhoht werden w i j displaystyle w i j nbsp ist definiert alsw i j l i j p l l i 1 j q l displaystyle w i j sum l i j p l sum l i 1 j q l nbsp und kann effizient mit einer Matrix Rekurrenz berechnet werden BacktrackingUm einen optimalen Suchbaum mit der minimalen erwarteten Suchdauer zu konstruieren muss die Berechnung des optimalen Wertes in M 1 n displaystyle M 1 n nbsp mittels Backtracking zuruckverfolgt werden Alternativ kann in einer Implementation des Algorithmus eine zusatzliche Hilfs Matrix verwendet werden welche bei der Berechnung von M displaystyle M nbsp mit den optimalen Werten von r displaystyle r nbsp fur jedes i j displaystyle i j nbsp gefullt und nach der abgeschlossenen Berechnung von M displaystyle M nbsp ausgewertet wird Komplexitat BearbeitenDie Laufzeit der Berechnung der Matrix fur die w i j displaystyle w i j nbsp Werte liegt in O n 2 displaystyle mathcal O n 2 nbsp Die Matrix M displaystyle M nbsp enthalt O n 2 displaystyle mathcal O n 2 nbsp Eintrage und fur jeden Eintrag muss uber O n displaystyle mathcal O n nbsp Elemente optimiert werden Also liegt die Laufzeitkomplexitat des Algorithmus in O n 3 displaystyle mathcal O n 3 nbsp und der Speicherbedarf in O n 2 displaystyle mathcal O n 2 nbsp Die Iteration uber r displaystyle r nbsp in der Rekursion lasst sich weiter einschranken so dass die Gesamtlaufzeit aller Iterationen in O n displaystyle mathcal O n nbsp liegt Also liegt dann die Gesamtlaufzeit des so modifizierten Algorithmus in O n 2 displaystyle mathcal O n 2 nbsp 1 Literatur BearbeitenThomas H Cormen Charles E Leiserson Ronald L Rivest Clifford Stein Introduction to Algorithms 2 Auflage MIT Press Cambridge MA 2001 ISBN 0 262 03293 7 S 356 363 Donald E Knuth The Art of Computer Programming 3 Sorting and Searching 2 Auflage Addison Wesley Longman Amsterdam 1998 ISBN 0 201 89685 0 S 436 442 Quellen Bearbeiten Donald E Knuth The Art of Computer Programming 3 Sorting and Searching 2 Auflage Addison Wesley Longman Amsterdam 1998 ISBN 0 201 89685 0 S 436 442 Abgerufen von https de wikipedia org w index php title Bellman Algorithmus amp oldid 212118886