Russische Bauernmultiplikation
# Russische Bauernmultiplikation

Die Russische Bauernmultiplikation (auch Ägyptisches Multiplizieren, Abessinische Bauernregel oder Verdopplungs-Halbierungs-Methode genannt) ist ein einfaches Verfahren zur Multiplikation zweier natürlicher Zahlen. Schon im Altertum bekannt, war das Verfahren in Deutschland bis ins Mittelalter und in Russland bis weit in die Neuzeit üblich, woher auch der Name rührt.
Es ist gesichert, dass die Ägypter bereits eine analoge Methode zur Multiplikation verwendeten. Der Algorithmus ist auf dem Papyrus Rhind beschrieben.
Das Verfahren hat den Vorteil, dass man im Prinzip nur halbieren, verdoppeln und addieren können muss, das kleine Einmaleins wird nicht benötigt. Implizit wird eine schriftliche Multiplikation im Binärsystem durchgeführt.

## Verfahren
### Beschreibung

Das Verfahren besteht aus folgenden Schritten:
* Man schreibt die beiden zu multiplizierenden Zahlen nebeneinander.
* Auf der linken Seite (Multiplikator) werden die Zahlen jeweils halbiert (Reste abgerundet) und die Ergebnisse untereinander geschrieben, bis man zur 1 gelangt.
* Auf der rechten Seite (Multiplikand) werden die Zahlen verdoppelt und untereinander geschrieben.
* Die rechts stehenden (verdoppelten) Zahlen werden gestrichen, wenn die links stehende Zahl gerade ist.
* Die Summe der nicht gestrichenen rechts stehenden Zahlen ergibt das gesuchte Produkt.
Die Korrektheit der russischen Multiplikation kann durch vollständige Induktion bewiesen werden.

### Beispiel

Das Produkt aus 27 und 82 wird folgendermaßen errechnet:
| Multiplikator | Multiplikand | zu addieren | Multiplikator binär | Multiplikand binär | zu addieren |
| 27 | 82 | 82 | 11011 | 1010010 | 1010010 |
| 13 | 164 | 164 | 1101 | 10100100 | 10100100 |
| 6 | 328 | --- | 110 | 101001000 | --- |
| 3 | 656 | 656 | 11 | 1010010000 | 1010010000 |
| 1 | 1312 | 1312 | 1 | 10100100000 | 10100100000 |
| Produkt: | Produkt: | 2214 | Produkt binär: | Produkt binär: | 100010100110 |

### Erklärung

Die russische Bauernmultiplikation kann durch Zerlegung des Multiplikators in Zweierpotenzen nachvollzogen werden:
${\begin{matrix}82\times 27&=&82\times (2^{0}+2^{1}+0\times 2^{2}+2^{3}+2^{4})\\\ &=&82\times 2^{0}+82\times 2^{1}+82\times 0+82\times 2^{3}+82\times 2^{4}\\\ &=&82+164+0+656+1312\\\ &=&2214\end{matrix}}$
Die Summanden, die den Faktor null enthalten, entsprechen den Zeilen, die gestrichen werden.
In der binären Repräsentation erkennt man eine gerade Zahl an der 0 an der rechten Stelle – dem niederwertigsten Bit.

### Bemerkungen

Es lassen sich mit diesem Verfahren auch Produkte von rationalen Zahlen berechnen. Auch dies war den Ägyptern bereits bekannt.
Um die Anzahl der Divisionsschritte zu minimieren, bietet es sich an, die Faktoren gegebenenfalls zu vertauschen.
Um die Anzahl der Additionsschritte zu minimieren, bietet es sich an, die Zahlen so zu vertauschen, dass der gerade Faktor halbiert wird.

## Nutzung auf frühen Computersystemen

Frühe CPUs konnten auf ihrer Arithmetisch-logischen Einheit nur einfache Operationen wie Addition und Subtraktion ausführen, normalerweise aber keine Multiplikation. Da sich der Algorithmus der sog. „Bauernmultiplikation“ durch Additionen und einfache Bitweise Verschiebungen und Bit-Tests in einer kleinen Schleife abbilden lässt, wurde sie häufig für ad-hoc Multiplikationen verwendet.

## Analoges Verfahren: Binäre Exponentiation

Dieselbe Idee kann auch benutzt werden, um Potenzen mit großen ganzzahligen Exponenten zu berechnen: Der Exponent wird schrittweise halbiert und die Basis quadriert, am Ende werden die Potenzen mit ungeraden Exponenten aufmultipliziert. Dieses Verfahren heißt binäre Exponentiation.