Wer als letztes antwortet kriegt viel mehr als nur 128 Dias

Hier mal einige meiner meistverwendeten Emojis, nur zum Test, ob sie im Forum so funktionieren:
hmm, die werden nicht angezeigt…
Also das ist echt komisch. Es scheinen nur echt wenige angezeigt zu werden. (wie formuliere ich das grammatikalisch richtig?!)
 
Glaube, ich habs jetzt: Fängt Alice mit einem S an, setzt Bob drei Felder weiter wieder ein S. Danach kann Alice kein O mehr neben ein existierendes S setzen, weil Bob sonst das SOS vervollständigt und gewinnt. Setzt sie ein S zwischen die beiden S, kann Bob danach ein O daneben setzen und auch gewinnen. Setzt sie einen Buchstaben irgendwo anders auf dem Feld, kann Bob immer verhindern, dass dabei ein SOS zustande kommt. Wenn beide dabei alle 2000 Kästchen nach und nach füllen, bleiben am Schluss zwei Kästchen, die keiner von beiden ausfüllen darf, weil sonst die jeweils andere Person gewinnt. Diese Felder werden also in diesem Fall als letzte gefüllt. Gibt es 2000 Felder und füllt jeder in einem Zug ein Feld, gibt es 2000 Züge. Da sie anfängt, spielt Alice jeden ungeraden Zug, Bob jeden geraden. im 1999. Zug ist Alice an der Reihe und muss ein S oder O zwischen die beiden S _ _ S setzen, weil keine anderen Felder mehr frei sind. Egal was sie wo setzt, Bob muss im letzten Zug den jeweils anderen Buchstaben setzen und gewinnt.
Stimmt das so?
Soweit ja. Bis auf...
Stimmt, was passiert, wenn Alice ein O setzt? So ziemlich das gleiche, aber mit vertauschten Buchstaben.
Sekunde mal, nicht, wenn außen an das O _ _ O ein O gesetzt wird? Dann verliert die Person, die an das andere O ein S setzt. Also, funktioniert erstmal nur, wenn Alice mit einem S anfängt, für O habe ich keine Lösung.
...das. Du hast einen Großteil der Lösung, allerdings musst du dir noch überlegen, wie Bob ein S _ _ S erzwingen kann.
Tipp: Dafür ist es tatsächlich wichtig, dass das Spielfeld "groß" ist. (Wobei 2000 overkill und nicht nötig sind.)
 
Zuletzt bearbeitet:
  • Gefällt mir
Wertungen: Sparktr
Ich hab heute zum Glück Hitzefrei und muss somit 135 Minuten weniger in der Schule sein.
 
Du hast recht, wir brauchen kein i, wir haben e!
Python:
emport numpy as np

for e en range(1,10):
    e = np.random.randent(e)
    ef e en [0, 1]:
        prent("huh")
    elef e%2 == 0:
        prent("even")
    else:
        prent("odd")
:p
 
Da der compiler nur von Python zu Epython convertiert können die nicht auftreten. Andersrum wäre es schwierig :hmm:
 
Ich denke mein Minimax ist fertig, allerdings gibt es ab 15 ein paar zu viele Möglichkeiten, oder ich habe irgendwas falsch gemacht. :pardon:
Hier ist das Ergebnis wenn bei 17 Feldern zwei Bots gegeneinander spielen:
Code:
>>> score = 0
>>> board = " " * 17
>>> while "SOS" not in board and " " in board:
...     score, board = best_move(board)
...     print(score, board)
...
 1 S
-1 S               O
 1 SS              O
-1 SS             OO
 1 SSS            OO
-1 SSS           OOO
 1 SSSS          OOO
 1 SSSS  O       OOO
 1 SSSSS O       OOO
 1 SSSSS OO      OOO
 1 SSSSSSOO      OOO
 1 SSSSSSOOO     OOO
 1 SSSSSSOOOS    OOO
 1 SSSSSSOOOS O  OOO
 2 SSSSSSOOOSOO  OOO
 2 SSSSSSOOOSOOS OOO
 2 SSSSSSOOOSOOSSOOO
-1 = Bob verliert
1 = Bob gewinnt
2 = Unentschieden
Ein unentschieden also. Ich bin mir nicht sicher ob 17 einfach nicht genug ist, oder ich noch mehr als möglich falsch gemacht habe.

Edit: GitHub.
 
Zuletzt bearbeitet:
Ich denke 16 oder 18 Felder müssten bereits reichen. Achte darauf, dass die Zahl der Felder gerade ist. Bei 17 müsste Alice allerdings einen Sieg erzwingen können.

EDIT: Nein, 16 dürfte gerade zu wenig sein...

EDIT2: Ab 12 Feldern kann Bob probably schon einen Sieg erzwingen.
 
Zuletzt bearbeitet:

Benutzer, die dieses Thema gerade lesen

  • ONLINE 14 Spieler