www.wikidata.de-de.nina.az
Die Bisektion auch fortgesetzte Bisektion oder Intervallhalbierungsverfahren genannt ist ein Verfahren der Mathematik und der Informatik Bisektion erzeugt endlich viele Glieder einer Intervallschachtelung also eine Folge von Intervallen die genau eine reelle Zahl definiert Je ein Intervall entsteht aus dem vorhergehenden durch Teilung in zwei Halften hierfur stehen die lateinischen Bestandteile bi zwei und sectio Schnitt des Wortes Bisektion Grundsatzlich finden Bisektionsverfahren immer dann Anwendung wenn ein Problem gelost werden kann indem es in zwei etwa gleich grosse Teilprobleme zerlegt wird die dann einzeln fur sich behandelt werden konnen Inhaltsverzeichnis 1 Beispiel 2 Laufzeit und Konvergenz 2 1 Diskreter Fall 2 2 Kontinuierlicher Fall 3 Vor und Nachteile des Verfahrens 4 Bisektion und Binarbaume 5 Bisektion und binare Zahlen 6 WeblinksBeispiel BearbeitenEin einfaches Beispiel stellt folgende Aufgabe dar Gesucht ist eine Zahl zwischen 1 und 1000 die ein Spieler erraten soll Er erhalt als Hinweis immer nur grosser oder kleiner oder Treffer Angenommen die Zahl sei 512 Verwendet der Spieler zum Raten das Bisektionsverfahren der binaren Suche ergibt sich folgender Dialog 500 grosser 750 kleiner 625 kleiner 562 kleiner 531 kleiner 515 kleiner 507 grosser 511 grosser 513 kleiner 512 TrefferHatte der Spieler stattdessen linear gesucht und bei 1 begonnen so hatte der Dialog folgenden Verlauf genommen 1 1 grosser 2 2 grosser 511 511 grosser 512 512 TrefferStatt zehn Fragen hatte er also 512 Fragen gebraucht die Bisektion ist hier also deutlich effizienter Laufzeit und Konvergenz BearbeitenDiskreter Fall Bearbeiten Im diskreten Fall also wenn das zugrundeliegende Problem nur eine endliche Anzahl von zu testenden Losungen besitzt kann ein solches Problem immer als eine Suche aufgefasst werden Aus einer endlichen Menge M displaystyle M nbsp soll ein Element x displaystyle x nbsp mit der Eigenschaft p x 0 displaystyle p x 0 nbsp gefunden werden p displaystyle p nbsp soll hierbei eine Funktion p M R displaystyle p colon M to mathbb R nbsp sein wobei p y 0 displaystyle p y 0 nbsp genau dann gelten soll wenn die gesuchte Eigenschaft erfullt ist also y x displaystyle y x nbsp Um dieses Problem mittels Bisektion zu losen soll weiterhin gelten p y lt 0 displaystyle p y lt 0 nbsp falls y lt x displaystyle y lt x nbsp p y gt 0 displaystyle p y gt 0 nbsp falls y gt x displaystyle y gt x nbsp Die Funktion p displaystyle p nbsp gibt also nicht nur den Treffer an bei p x 0 displaystyle p x 0 nbsp sondern weist im anderen Fall auch die Richtung in der weitergesucht werden muss Dabei wird naturlich stillschweigend vorausgesetzt dass M displaystyle M nbsp durch eine Relation lt geordnet wird M displaystyle M nbsp wird in zwei moglichst gleich grosse Halften geteilt indem zunachst p displaystyle p nbsp fur ein Element moglichst nah der Mitte von M displaystyle M nbsp ausgewertet wird Der Fall dass sich M displaystyle M nbsp aufgrund einer ungeraden Anzahl von Elementen lediglich in zwei nur ungefahr gleich grosse Teile teilen lasst kann unterschlagen werden er wirkt sich bei grossen Elementzahlen so gut wie nicht aus Nach jedem Schritt kann also eine Halfte der zuletzt untersuchten Menge verworfen werden die Menge halbiert sich mit jeder Auswertung von p displaystyle p nbsp Das Verfahren endet spatestens wenn die Menge nur noch ein Element enthalt dieses muss das gesuchte sein sofern es uberhaupt in der Ausgangsmenge enthalten war Um also eine Menge der Grosse m displaystyle m nbsp durch fortgesetztes Halbieren auf 1 zu reduzieren sind n displaystyle n nbsp Schritte notwendig mit m lt 2 n log 2 m lt n displaystyle m lt 2 n Rightarrow log 2 m lt n nbsp Das Verfahren hat also eine Laufzeit von O log m displaystyle log m nbsp Kontinuierlicher Fall Bearbeiten nbsp Ablauf der Bisektion Animation Im kontinuierlichen Fall ist als Losung meist ein Intervall gesucht das ein Teilintervall eines anderen gegebenen endlichen Intervalls ist Eine wichtige Anwendung ist die Suche nach einem kleinen Intervall das eine Nullstelle einer gegebenen Funktion enthalt Gesucht ist die Nullstelle einer stetigen streng monoton steigenden Funktion f displaystyle f nbsp im Intervall a b displaystyle a b nbsp Diese soll mit einer Genauigkeit e displaystyle varepsilon nbsp angegeben werden es wird also ein Teilintervall von a b displaystyle a b nbsp gesucht das die Nullstelle enthalt und hochstens die Lange e displaystyle varepsilon nbsp hat Da es unendlich viele derartige Intervalle gibt konnen diese nicht einfach alle durchprobiert werden Es gilt jedoch Eine stetige streng monoton steigende Funktion f displaystyle f nbsp hat in einem Intervall l r displaystyle l r nbsp genau dann eine Nullstelle wenn f l lt 0 displaystyle f l lt 0 nbsp und f r gt 0 displaystyle f r gt 0 nbsp ist Dies fuhrt zu folgendem Algorithmus Setze l a displaystyle l a nbsp und r b displaystyle r b nbsp Teste ob l r displaystyle l r nbsp eine Nullstelle enthalt Wenn nicht Abbruch Teste ob r l lt e displaystyle r l lt varepsilon nbsp ist Wenn ja ist das Losungsintervall gefunden Sonst teile l r displaystyle l r nbsp in der Mitte und setze das Verfahren mit beiden Teilintervallen rekursiv bei 2 fort Ahnlich wie im diskreten Fall endet der Algorithmus spatestens wenn das Intervall die Lange e displaystyle varepsilon nbsp unterschreitet Also b a 2 n lt e log 2 b a e lt n displaystyle frac b a 2 n lt varepsilon Rightarrow log 2 frac b a varepsilon lt n nbsp Es ergibt sich somit eine logarithmische Laufzeit in Abhangigkeit vom Verhaltnis der Intervalllange zur gewunschten Genauigkeit Die Monotonie der Funktion ist nicht zwingend erforderlich Eine stetige Funktion hat im Intervall l r displaystyle l r nbsp nach dem Zwischenwertsatz schon dann mindestens eine Nullstelle wenn f l f r lt 0 displaystyle f l f r lt 0 nbsp Der Algorithmus ist dem obigen sehr ahnlich und sieht dann so aus Setze l a displaystyle l a nbsp und r b displaystyle r b nbsp Teste ob f l f r lt 0 displaystyle f l f r lt 0 nbsp Wenn nicht Abbruch Setze c l r 2 displaystyle c frac l r 2 nbsp Wenn f l f c lt 0 displaystyle f l f c lt 0 nbsp setze r c displaystyle r c nbsp sonst setze l c displaystyle l c nbsp Teste ob r l lt e displaystyle r l lt varepsilon nbsp ist Wenn ja ist das Losungsintervall gefunden Vor und Nachteile des Verfahrens BearbeitenDie Bisektion eignet sich fur folgende Falle Ein Vorzeichenwechsel liegt im gegebenen Intervall vor und die Funktion ist stetig Die Startwerte der klassischen Verfahren Newton Verfahren Regula falsi liegen nicht hinreichend nah genug an der Nullstelle so dass dort keine lokale Konvergenz eintritt Mehrfache Nullstellen mindern die Konvergenzgeschwindigkeit der klassischen VerfahrenNachteile der Bisektion Bei einfachen Fallen streng monotone Funktion ist sie langsamer als ein quadratisch konvergentes Verfahren Ohne Vorzeichenwechsel im gegebenen Intervall sind Zusatzprufungen notwendig um ein lokales Minimum von einer Nullstelle zu unterscheidenBisektion und Binarbaume BearbeitenEs besteht ein enger Zusammenhang zwischen Bisektion und Binarbaumen Wahrend einer Bisektion wird in jedem Schritt eine Entscheidung getroffen ob mit der linken oder der rechten Teilmenge fortgesetzt werden soll und beim Durchlaufen eines Binarbaums von der Wurzel aus muss in jedem Knoten entschieden werden ob der linken oder der rechten Kante gefolgt werden soll Zu einer gegebenen Mengengrosse und einem Bisektionsverfahren gibt es also genau einen zugeordneten Binarbaum der alle potentiellen Verlaufe der Bisektion beschreibt Der Baum hat dabei genau so viele Blatter wie das gegebene Problem mogliche Ergebnisse liefern kann Da sich mit jeder Entscheidung in einem Knoten die Anzahl der noch moglichen Ergebnisse etwa halbiert hat er ungefahr log 2 m displaystyle log 2 m nbsp Ebenen Dies entspricht der Laufzeit der Bisektion da die Anzahl der Ebenen die Weglange von oben nach unten festlegt die wiederum gleich der Laufzeit ist Der sich durch diese Zuordnung ergebende Baum entspricht einem balancierten binaren Suchbaum Bisektion und binare Zahlen BearbeitenBisektion lasst sich beispielsweise auch verwenden um die binare Darstellung einer Zahl zu ermitteln Eine Zahl zwischen 0 displaystyle 0 nbsp und m 1 displaystyle m 1 nbsp kann durch eine Folge von grosser oder gleich und kleiner Entscheidungen gekennzeichnet werden Wird m displaystyle m nbsp als eine Potenz von 2 gewahlt so kann immer auf das Element rechts der Mitte getippt werden da die Menge eine gerade Grosse hat Fur m 8 displaystyle m 8 nbsp ergibt sich zum Beispiel die Menge 0 7 displaystyle left 0 ldots 7 right nbsp die Suche nach der 2 liefe nun wie folgt ab 4 kleiner 2 grosser oder gleich auf einen Treffer wird verzichtet 3 kleinerDamit ist die 2 genau beschrieben Setzen wir nun fur kleiner die 0 und fur grosser oder gleich die 1 so ergibt sich 010 Dies ist gerade die binare Darstellung der 2 Weblinks BearbeitenBisektion Ein grosseres Beispiel Bisektion Programmierbeispiel englisch Abgerufen von https de wikipedia org w index php title Bisektion amp oldid 194714676