Sie sind nicht angemeldet.

  • Anmelden

LXIII_Leonidas

Fortgeschrittener

Beiträge: 284

Wohnort: Bonn

Beruf: GER

  • Nachricht senden

31

22.05.2006, 16:52

Wen interessiert denn, ob Solitär immer lösbar ist? Das muss man auf Zeit spielen, und dann bricht man nach den ersten Zügen ab, sobald es zu langsam läuft!

32

22.05.2006, 17:48

Ja stimm Leonidas zu. Ist doch nur Zeitvertreib. :P

Tsu_G_

Erleuchteter

Beiträge: 3 935

Wohnort: Berlin

Beruf: /dev/random

  • Nachricht senden

33

22.05.2006, 19:54

Zitat

Original von LXIII_Leonidas
Wen interessiert denn, ob Solitär immer lösbar ist? Das muss man auf Zeit spielen, und dann bricht man nach den ersten Zügen ab, sobald es zu langsam läuft!

So sieht das aus! :). 56sec bis jetzt mein bestes Ergebnis.

34

10.11.2007, 19:19

mein zeitrekord bei solitär (drei ziehen) liegt bei 82 sekunden.
toppt das jmd.?

35

10.11.2007, 22:54

was finden alle an Solitair?

Ich find Freecell viel Spannender ;) von 32.000 Brettern ist nur eines unlösbar, man hat direkt alle Infos und dann ist vorrausberechnen gefragt. Und wenn man sich seine Streaks versauen will empfehle ich das Brett -1 ;)

36

10.11.2007, 23:14

Zitat

Original von plexiq
@Naflein:
Das Gegenbeispiel von Napo reicht aus als "formaler Beweis" dafür, das es unlösbare Instanzen von Solitär gibt. (Er hat ja grad unlösbare Instanzen gezeigt, was willste da noch weiter formal beweisen?)

Ob die geproggten Solitär-Varianten jetzt immer nur lösbare Instanzen generiern wird dir hier niemand beantworten können. Solang niemand Zugriff auf den Source hat, is es auch unmöglich zu beweisen, dass die unlösbaren Varianten entfernt werden. Das Gegenteil wär zwar "beweisbar" (indem man n unlösbares Game in PC-Solitär findet), aber ich glaub net dass jemand hier Lust verspührt sich so lange durch Solitär-Games zu klicken bis er ne unlösbare Instanz findet... (net besonders spannend, oder? ;))


woah ma von hinten aufgewickelt:
wie müsste man solitär programmieren, damit man nie auf ein unlösbares feld trifft

37

10.11.2007, 23:22

Im einfachsten Fall:
Man generiert ne zufällige Instanz, und versucht sie mit ner einfachen AI zu lösen. Schafft die AI es nicht, generiert man ne neue Instanz. (Dabei würden je nach Qualität der AI auch lösbare Instanzen verworfen, aber das macht ja nix.) Geht aber sicher eleganter,...

38

11.11.2007, 04:14

Die Web 2.0 Lösung: man lässt Entwickler und (natürlich unbezahlte) Betatester zufällige Partien spielen. Wird eine Partie gewonnen oder vom Spieler als unlösbar bezeichnet, wird das gespeichert (einfaches Abbrechen hat keine Auswirkungen) und diese Spieler bekommen die Partie nicht mehr vorgesetzt. Bei Bedarf können diese Spieler durch KIs (siehe plexiq) ergänzt werden, denkbar wäre auch ein öffentlich verfügbarer Bildschirmschoner a la Seti@Home, der fleissig Partien rechnet.

Der Spieler bekommt dann im normalen Modus nur Partien, die als lösbar markiert wurden. Dass er da nur einen Bruchteil der 52! verschiedenen Partien zur Auswahl hat, stört praktisch nicht. Wenn er eine Herausforderung will, spielt er im Expertenmodus und kriegt wie die Entwickler und Betatester noch nicht eingeordnete Partien. Seine Ergebnisse werden dann über das Netz verschickt und bieten jedem Spieler zusätzliche Partien im normalen Modus.

Ok, um noch etwas algorithmisches anzubieten: man könnte schauen, wann man von der Lösbarkeit einer Variante auf die Lösbarkeit einer sehr ähnlichen schliessen kann. Es ist z.B. fast egal, ob das rote Ass in der Drei-Karten-Variante im zweiten oder dritten Dreier oben liegt, während alle anderen Karten bis auf einer (mit der das Ass getauscht wird) an der gleichen Stelle liegen. Bei der Eine-Karte-Ziehen-Variante sollte das noch besser gehen. Wenn man bei so etwas allgemeine Regeln findet, kann man deutlich schneller lösbare und nicht lösbare Partien finden, aber 52! Partien fehlerfrei einzuordnen halte ich für ein ziemlich ehrgeiziges Ziel.

39

11.11.2007, 11:15

@Sheep, meinte eigentlich nen check "zur Laufzeit", also direkt bevor die Instanz dem Spieler präsentiert wird.

40

11.11.2007, 15:14

Ok, dann war es zu knapp formuliert, ich würde zum Testen für die Datenbasis (welche Partien gelöst werden können und welche nicht) die gleiche KI nehmen, die du unmittelbar vor der Partie des Spielers nimmst.

"Siehe plexiq" sollte mir es ersparen, nochmal deine Einschränkung (verwirft eventuell lösbare Partien) und die Einschätzung der Einschränkung (nicht weiter tragisch) nochmal abzutippen. War wohl nichts. :D

41

11.11.2007, 15:20

Bzgl generierung von sicher lösbaren Instanzen:
Man könnte ja auch einfach vom "gelösten" Zustand ausgehen, und danach mit ner zufälligen Sequenz von Aktionen "rückwärts" spielen, bis man am Spielanfang angekommen ist. Die dadurch errechnete Start-Instanz kann dann natürlich immer gelöst werden.

(Hier kann man sogar die Schwierigkeit der Instanz variieren, je nachdem welche Einschränkungen man bzgl der Aktionsfolgen macht.)