Zum Hauptinhalt Zur Navigation

Bounded Floating Point: Patent grenzt Genauigkeitsfehler bei Fließkommazahlen ein

Ob die Konstante Pi oder das Quadrat von 0,1: Fließkommazahlen bringen Ungenauigkeiten mit sich. Im Militäreinsatz hat es dadurch auch schon Tote gegeben. Ein Patent für Bounded Floating Point soll diesen Fehler einschränken. Das Prinzip ist dabei schon länger bekannt.
/ Oliver Nickel
38 Kommentare News folgen (öffnet im neuen Fenster)
Die Kreiszahl Pi ist für Computersysteme ein Problem. (Bild: Pixabay)
Die Kreiszahl Pi ist für Computersysteme ein Problem. Bild: Pixabay / CC0 1.0

Der Wissenschaftler Alan Jorgensen hat ein Patent für die Methode des Bounded Floating Point(öffnet im neuen Fenster) eingereicht. In einer Pressemitteilung(öffnet im neuen Fenster) stellt er die Technik vor, die den Genauigkeitsfehler bei Fließkommazahlen minimieren soll. In den meisten Programmiersprachen werden Datentypen wie Float und Double zur Repräsentation reeller Zahlen mit Kommastellen verwendet.

Allerdings ist die binäre Darstellung mit Mantisse und Exponent in vielen Situationen ungenau und einigen Situationen sogar kritisch. 1991 etwa verfehlte in Saudi-Arabien eine ballistische Rakete vom Typ Patriot eine feindliche Scud-Rakete. Dadurch starben 28 US-Soldaten. Den Fehler führen viele Forscher auf den Genauigkeitsfehler von Fließkommazahlen zurück, die in der Zielautomatik der Patriot-Rakete zum Berechnen der Zieldaten verwendet werden. Auch in anderen Situationen, etwa der Raumfahrt, sind sehr exakte Berechnungen wichtig.

Eingrenzen auf Plus-Minus-Eins an der letzten Kommastelle

Die Ungenauigkeit von Fließkommazahlen vergrößert sich mit längeren Algorithmen, die eine leicht ungenaue Zahl mehrfach in mathematischen Gleichungen verwenden. Auch wichtige Zahlen wie etwa Pi sind selbst mit doppelter Genauigkeit nur Rundungen. Bounded Floating Point soll diesen Genauigkeitsfehler auf Plus-Minus-Eins an der letzten Kommastelle eingrenzen.

Dazu führt das Format zwei Felder zwischen dem 8-Bit-Exponenten und der 23-Bit-Mantisse bei einfacher beziehungsweise dem 11-Bit-Exponenten und der 52-Bit-Mantisse bei doppelter Genauigkeit ein, die den Wert eingrenzen. Das D-Feld speichert Informationen über Bits des Datentyps, die nicht mehr berücksichtigt werden müssen. Das N-Feld teilt sich in R und C, wobei Ersteres die Rundungsbits beinhaltet und C die Rundungsfehler zählt. Wenn C größer als D wird, setzt es sich auf 0 zurück. Eine anschauliche Beschreibung(öffnet im neuen Fenster) hat die Webseite Boundedfloatingpoint.com veröffentlicht. Allerdings ist nicht ganz klar, wie viele Bits Datentypen wie Float und Double insgesamt hinzugefügt werden.

Das US-Patent 9.816.662 B2 wurde von Jorgensen im November 2017 eingereicht. Allerdings ist die Pressemitteilung erst Anfang 2018 veröffentlicht worden. Die Idee von Bounded Floating Point ist zudem nicht neu. Das Patent könnte dessen Standardisierung vereinfachen und beschleunigen.


Relevante Themen