Hallo!
Eigentlich geht’s um C++, aber das Problem ist wohl allgemein…
Es geht um folgendes: Ich soll einen Baum aufbauen, der alle Spielsituationen des Spiels „Drei gewinnt“ (auf einem 4x4-Feld) beinhaltet, also 4 Nachfolger (1 pro Slot) für jeden Knoten.
Wenn ich das Programm nun ausführe (kompiliert mit g++ 3.4 oder so unter SuSE Linux 9.1), stürzt es auch nicht ab, sondern belegt einfach immer mehr Speicher, bis es von Linux „abgeschossen“ (killed) wird.
Rein theoretisch könnte der Baum ja 4 hoch 16 Blätter haben… das wären etwa 4 Milliarden und ein paar Zerquetschte.
Habe ich eine Endlosschleife gebaut? Oder ist der Computer nicht leistungsfähig genug? (Athlon 1.53 Ghz, 512 MB RAM)
Ausserdem traue ich den 4 Milliarden nicht, da der Baum ja an manchen Ästen auch schon bei Tiefe 4 endet… also weiss ich nicht, wieviel Knoten das Ganze hat, also fällt es mir auch schwer, was konkretes über die asymptotische Laufzeit zu sagen…
*seufz*
Und angenommen, es ist eine Endlosschleife, wie finde ich denn dann den Fehler… mit g++ kann ich nicht debuggen (ich sage ‚ich kann es nicht‘, nicht ‚es geht nicht‘)? :-/
Ich weiss einfach nicht, ob ich nach dem Fehler suchen, einfach alles neu schreiben, oder es auf einem Supercomputer laufen lassen soll…
Kvida