|
Das Horner-Schema ist ein Umformungsverfahren für Polynome: Durch
fortgesetztes Ausklammern der freien Polynomvariablen x wird das Polynom als Schachtelung von Produkten und
Summen dargestellt. In der umgewandelten Darstellung kommt keine Potenzfunktion, sondern nur noch Multiplikation und Addition vor.
Beispiel
Rechenvorteil
Der Ausdruck IV) mag, wegen der etwas unübersichtlichen Klammerschachtelung, komplizierter erscheinen als Ausdruck I). IV)
bietet jedoch einen handfesten Rechenvorteil gegenüber I):
Um mit I) einen Funktionswert für eine bestimmte Zahl x auszurechnen, benötigt man 7 Multiplikationen: 3
Multiplikationen für das Errechnen der Werte x2, x3 und
x4 und 4 weitere Multiplikationen, um die Werte x bis x4
mit ihren Koeffizienten - in unserem Beispiel 7, -5, -4 und 2 - zu multiplizieren.
In IV) sind es hingegen nur 4 Multiplikationen.
Die Zahl der - rechnerisch weniger aufwändigen - Additionen ist in beiden Fällen gleich, nämlich 4.
Je länger das Polynom ist, desto stärker schlägt dieser Rechenvorteil zu Buche. Im günstigsten Fall lässt sich der Aufwand für
Multiplikationen auf fast die Hälfte reduzieren.
Anwendung: Umwandlung zwischen verschiedenen Zahlensystemen
Unsere vertraute Darstellung von Zahlen im dezimalen Stellenwertsystem ist nichts anderes als eine verkürzte Schreibweise für besondere Polynome, nämlich
Polynome mit der Basis x = 10. Das gleiche gilt für alle anderen Stellenwertsysteme, beispielsweise das Binärsystem. Dort ist x = 2. Wir können uns das Horner-Schema
zunutze machen, um Zahlen aus jedem anderen Stellenwertsystem in das Dezimalsystem umzuwandeln.
Beispiel: Die Binärzahl ll0l0l soll in das Dezimalsystem umgewandelt werden. Wie lautet die sich ergebende Dezimalzahl
d?
Wir schreiben 110101binär als Polynom:

Nach dem Horner-Schema:

Wir brauchen das nun nicht in einem Zuge auszurechnen, sondern können schrittweise vorgehen. Jeder Schritt besteht aus einer
Multiplikation mit 2 und einer Addition. Der Übersicht halber schreiben wir die Schritte untereinander und notieren die
Zwischenergebnisse:
Wir haben unsere gesuchte Dezimaldarstellung gefunden.
Verallgemeinert lautet das Verfahren: Eine Zahl aus einem Stellenwertsystem zur Basis x wird in das
Dezimalsystem umgewandelt, indem
- der Wert der ersten Ziffer als Anfangswert genommen wird
- danach schrittweise das Ergebnis aus dem vorigen Schritt mit x multipliziert und die nächste Ziffer addiert
wird
- bis alle Ziffern aufgebraucht sind.
Weblinks:
- Artikel zum Horner-Schema auf linux-related.de (http://www.linux-related.de/coding/alg_horner.htm)
|