- Computerbeweis
-
Als Computerbeweis bezeichnet man den Beweis einer Behauptung, das heißt einer mathematischen oder logischen Aussage, mit Hilfe eines Computerprogramms.
Man verwendet den Begriff insbesondere für solche Beweise, die folgendes Schema aufweisen: Zunächst wird gezeigt, dass das allgemeine Problem P gilt, wenn eine andere Eigenschaft E gilt, also P auf E reduziert werden kann. Entscheidend ist dabei, dass E durch Aufzählen endlich vieler (meist sehr vieler) Fälle entschieden werden kann. Die Reduktion von P auf E ist üblicherweise ein ganz normaler, informeller mathematischer Beweis. Erst im nächsten Schritt kommt der Computer ins Spiel: Man schreibt ein Programm, das alle Fälle aufzählt (generate) und dann jeweils überprüft, ob für sie E tatsächlich gilt (test). Im Grunde wird E also durch eine Brute-Force-Methode entschieden. Aus beiden Teilen folgt dann die Behauptung P.
Einwände gegen Computerbeweise
Computerbeweise sind z. T. unter Mathematikern umstritten. Neben eher psychologischen oder hypothetischen Einwänden gibt es dabei auch ganz handfeste methodische. Ein psychologischer Einwand ist das Ideal einer kurzen, logischen Begründung, die von jedermann leicht nachvollzogen werden kann. Solche Beweise werden allerdings in der mathematischen Praxis immer seltener. Die Monsterbeweise der aktuellen mathematischen Forschung können in allen Teilen (einschließlich der benutzten Hilfssätze) von keinem einzelnen Menschen mehr nachvollzogen werden.
Eher hypothetisch ist der Einwand, dass der Compiler oder die Hardware einen Fehler haben könnte. Durch Wiederholungen auf verschiedenen Rechnern und in verschiedenen Implementierungen kann dieses Risiko beliebig minimiert werden. Methodisch problematisch ist die Frage, ob das Programm den unterliegenden Algorithmus korrekt implementiert, ob der Algorithmus in der generate-Phase alle Fälle aufzählt, und die test-Phase tatsächlich die Eigenschaft E für diesen Fall zusichert. Hier hat man also ein handfestes Programmverifikationsproblem.Der erste bedeutende Computerbeweis war der des Vier-Farben-Satzes. Neben der Tatsache, dass die Problemreduktion als sehr unklar galt (und später erheblich verbessert werden musste), war auch das Programm sehr intransparent und nicht formal verifiziert. Ein jüngerer bedeutender Computerbeweis ist die erste Fassung der Keplerschen Vermutung.
Ein Computerbeweis ist zu unterscheiden von einem Beweis durch einen Theorembeweiser (auch Beweis-Assistent genannt). Hierbei wird ein mathematischer Beweis formalisiert, d.h. soweit in eine Folge von logischen Einzelschritten zerlegt, dass diese von einem Computerprogramm nachvollzogen werden können. Beweisprüfung ist ein universelles, nur logik-abhängiges Problem, während generate-and-test-Algorithmen problemspezifisch sind. Es gibt daher gute Gründe, warum maschinengeprüften formalen Beweisen mehr zu trauen ist als Computerbeweisen.
Für den Vier-Farben-Satz ist mittlerweile ein formaler Beweis durch Georges Gonthier vorgelegt worden, für den formalen Beweis der Keplerschen Vermutung im Rahmen des Flyspeck-Projektes [1] existieren zurzeit nur wesentliche Teile.
Einzelverweise
- ↑ http://code.google.com/p/flyspeck Flyspeck-project
Wikimedia Foundation.