Wurzeln einer Matrix - Fachgruppe Computeralgebra
Wurzeln einer Matrix - Fachgruppe Computeralgebra
Wurzeln einer Matrix - Fachgruppe Computeralgebra
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
schöne Normalformalgorithmen direkt auf Entscheidungsdiagrammen<br />
entwickeln. Diese Normalformalgorithmen<br />
behandeln auch gar nicht mehr individuelle Terme,<br />
sondern nur noch die Diagrammstruktur, so dass<br />
auch Zwischen- und Endergebnisse mit extrem vielen<br />
Termen gut handhabbar sind, solange die Diagramme<br />
klein bleiben. Das erfordert natürlich, dass die entsprechenden<br />
Algorithmen nicht auf den einzelnen Termen<br />
operieren. Doch so einfach hat sich der Multiplizierer<br />
nicht geschlagen gegeben. Wir haben noch ein paar neue<br />
Techniken gebraucht, um unsere Beispiele zu knacken.<br />
In der Tat entfalten zwei unserer Verbesserungen ihr Potential<br />
erst im Zusammenspiel.<br />
Die erste war rein technisch: Wir hatten die Normalform<br />
über einen rekursiven Algorithmus beschrieben,<br />
bei dem in jedem Rekursionsschritt eine Variable<br />
entfällt. Unser neuer Algorithmus sollte weniger rekursive<br />
Aufrufe beinhalten. Die ersten Ergebnisse waren<br />
nicht vielversprechend.<br />
Davon unabhängig versuchten wir die Systeme besser<br />
zu verstehen. Wir wollten Polynome, deren Entscheidungsdiagramm<br />
schön kompakt ist.<br />
a2<br />
b0<br />
b1<br />
a1<br />
a2<br />
0<br />
a0<br />
b0<br />
b2<br />
a1<br />
a2<br />
(a) alphabetisch<br />
a2<br />
b0<br />
b1<br />
1<br />
b0<br />
b2<br />
a2<br />
0<br />
a1<br />
b1<br />
b2<br />
a0<br />
b0<br />
b1<br />
(b) optimiert<br />
Abbildung 4: Übertrag eines 3-Bit Addierers bei<br />
verschiedenen Variablenreihenfolgen<br />
Im einfacheren Fall von Addierern hatten wir das in<br />
Handarbeit schon einmal geschafft. Abbildung 4 zeigt<br />
Diagramme für den Übertrag <strong>einer</strong> Addition für verschiedene<br />
Sortierungen der Entscheidungsvariablen. Alle<br />
Variablen dieses Graphen entsprechen Eingängen, so<br />
dass das oben beschriebene Verfahren, die Variablen<br />
nach ihrer Abhängigkeit zu sortieren, deren Reihenfolge<br />
offen lässt.<br />
Für Addierer und Übertragsbits fanden wir eine allgemeine<br />
mathematische Bedingung [Bri]. Übertragen<br />
auf den Multiplizierer waren die praktischen Ergebnisse<br />
zunächst desaströs. Für einen 10 × 10 Multiplizierer<br />
bekamen wir überhaupt kein Ergebnis mehr. In <strong>einer</strong> ruhigen<br />
Stunde kombinierten wir die beiden Verbesserungen.<br />
Heraus kamen die Ergebnisse von Tabelle 1.<br />
1<br />
15<br />
Zeit EinVaria- Eingaben/<br />
gängeblen Sekunde<br />
8 × 8 0.07 16 204 940000<br />
10 × 10 0.14 20 314 7500000<br />
16 × 16 23.65 32 768 180000000<br />
Tabelle 1: Äquivalenzvergleich Multiplizierer<br />
Wir konnten den 16 × 16 Multiplizierer in 24 Sekunden<br />
auf einem MacBook Pro 2.5 GHz Core Duo 2 verifizieren.<br />
In Tabelle 1 haben wir auch die Anzahl möglicher<br />
Eingaben (2 32 = 4 294 967 296 für einen 16 × 16 Multiplizierer)<br />
mit der Zeit verglichen. Bei einem Simulator<br />
ist dieser Quotient konstant, was für ein exponentielles<br />
Wachstum steht. Bei uns verbessert sich der Quotient<br />
vom kleinsten zum größten Beispiel auf 200. Empirisch<br />
wächst die Zeit in den komplexeren Beispielen<br />
also nicht exponentiell.<br />
Ausblick<br />
POLYBORI hat gezeigt, dass es echte Verifikationsprobleme<br />
lösen kann. Zusammen mit anderen formalen<br />
Ansätzen betreten wir hier gerade das neue Gebiet der<br />
industriellen Algebra.<br />
Literatur<br />
[AB] M. Albrecht und G. Bard. The M4RI Library<br />
– Version 20080901. The M4RI Team, 2008.<br />
http://m4ri.sagemath.org.<br />
[BD] M. Brickenstein und A. Dreyer. PolyBoRi: A<br />
framework for Gröbner-basis computations with<br />
Boolean polynomials. Journal of Symbolic Computation,<br />
44(9):1326–1345, 2009. ISSN 0747-<br />
7171. doi: 10.1016/j.jsc.2008.02.017. Effective<br />
Methods in Algebraic Geometry.<br />
[Bri] M. Brickenstein. Boolean Gröbner bases – Theory,<br />
Algorithms and Applications. PhD thesis, University<br />
of Kaiserslautern, Germany, 2010.<br />
[Bry] R. E. Bryant. Graph-based algorithms for Boolean<br />
function manipulation. IEEE Transactions on<br />
Computers, 35(8):677–691, 1986.<br />
[CEI] M. Clegg, J. Edmonds und R. Impagliazzo.<br />
Using the Groebner basis algorithm to find proofs<br />
of unsatisfiability. Proceedings of the Twentyeighth<br />
Annual ACM Symposium on the Theory of<br />
Computing, pages 174–183, 1996.<br />
[CK] C. Condrat und P. Kalla. A Gröbner basis approach<br />
to CNF-formulae preprocessing. In Tools<br />
and Algorithms for the Construction and Analysis<br />
of Systems, volume 4424 of Lecture Notes in Computer<br />
Science, pages 618–631. Springer, 2007. doi:<br />
10.1007/978-3-540-71209-1 48.