42m 41sLänge

Algorithmen kennt jeder Zunächst einmal: Ein „Algorithmus“ ist nichts anderes als ein Berechnungsverfahren. Jedes Kind lernt in der Schule einen Algorithmus, wie man z.B. „schriftlich“ ganze Zahlen addiert, multipliziert oder dividiert. Früher gab es für solche einfachen Rechnungen ein Rechenbrett oder Abakus; dabei lernte man auch gleich, dass solche Berechnungen automatisierbar sind und Maschinen übertragen werden können. Ich vermute aber, dass dabei nie gezeigt wird, dass diese Algorithmen auch wirklich das leisten, was sie sollen, dass also z.B. beim „schriftlichen Dividieren“ wirklich immer das richtige Ergebnis heraus kommen muss. Die Idee, dass hinter solchen Berechnungsverfahren eine abstrakte mathematische Aussage steht und dass man beweisen muss, dass das Berechnungsverfahren ganz allgemein diese Aussage widerspiegelt, wird in der Regel wohl nicht zum Thema gemacht. Man lernt, so zu verfahren, und freut sich bei jeder einzelnen Überprüfung, dass es stimmt. Diese Algorithmen für die Grundrechenarten in unserem Zehnersystem waren natürlich nicht die ersten Algorithmen, die die Menschen kannten. Der griechische Mathematiker Euklid hatte schon etwa um 300 v.Chr. einen Algorithmus entwickelt, um den größten gemeinsamen Teiler zweier natürlicher Zahlen zu finden (siehe Wikipedia: Euklidischer Algorithmus) . Hintergrund dafür war, dass er die Längen zweier Linien als Vielfaches eines gemeinsamen Maßes darstellen wollte. Das Wort „Algorithmus“ ist aber erst nach 800 entstanden, als man sich beim Rechnen immer auf das Lehrbuch „Das Buch der Addition und Subtraktion entsprechend der hinduistischen Rechnung“ von Muhammed Al-Khwarizmi bezog, in dem dieser als Erster das hinduistische Dezimalsystem einführte. In der lateinischen Übersetzung hieß es dann „Liber Algorismi de Numero Indorum“ und es begann mit dem Satz „Dixit Algorismi“. (Das Hauptwerk dieses islamischen Astronomen und Mathematikers hieß übrigens al-Jebr, woraus unser Name „Algebra“ entstanden ist. ) Mathematische Gleichungen und Probleme sind also seit jeher untrennbar mit Berechnungsverfahren verbunden, und im Laufe der Zeit begannen die Menschen auch danach zu streben, solche Verfahren automatisch abarbeiten zu lassen (siehe Wikipedia: Rechenmaschine). Algorithmen für mathematische Probleme Heute spielen elektronische Rechner in allen Bereichen des öffentlichen und privaten Lebens eine bedeutende Rolle, sei es als Großrechner oder im Smartphone. Jeden Tag werden in der Forschungsabteilungen der Wissenschaft und Industrie unzählige Algorithmen für alle möglichen Probleme entwickelt und geprüft. Diese stützen sich auf grundlegende Algorithmen der angewandten Mathematik und theoretischen Physik, mit denen man Differential- und Integralgleichungen lösen, das Maximum von Funktionen finden, stochastische Prozesse simulieren oder Schätzer in der Datenanalyse berechnen kann. Sie alle bestehen meistens aus sehr vielen Berechnungsschritten, was sich auch in der Menge der Anweisungen an die Recheneinheit eines Computers niederschlägt und damit auf die Länge des Programmcodes. Natürlich muss der Algorithmus selbst so gut studiert sein, dass man weiß, was er leistet und wie genau das gegebene Problem gelöst wird. Es muss aber auch die Umsetzung des Algorithmus in die Liste der Anweisungen an den Computer richtig sein. Das alles erfordert viel Wissen und harte Arbeit am Detail eines vorliegenden Problems. Nicht umsonst stellt solch ein Algorithmus zur Lösung eines ihrer speziellen Probleme für jede Firma einen großen Schatz dar, häufig einen entscheidenden Wettbewerbsvorteil.