私はAndroidスマートフォンで多くのソリティアゲームをプレイしており、統計に注意を払うのが大好きです。
ソリティアバージョンでは、ゲームを際限なく再開できます。通常、解決するまでプレイします。しかし、プレイしたゲームの80%以上(1000以上)を解決することはできませんでした。
では、すべてのソリティアゲームは解決できるのでしょうか?
コメント
- クロンダイクソリティアのことだと思いますか?
- 私はPCと昔ながらの方法(実際のカードではそうです)の両方で何千ものソリティアゲームをプレイしてきました。あなたがプレイするすべてのゲームの解決策を見つけるためには、チートすることです。
- なんてソリティア中毒者でしょう!永遠に一人で:)
回答
いいえ。例:ボード上で表向きになっているすべてのカードが赤で、3枚おきに出てくるカードも赤で、どれもエースではない場合。あなたは負けます。合格せず、200ドルを集めないでください。
コメント
- 実際、私はコンピューターバージョンでほぼこの正確な設定を考え出しました。ソリティアの(しかし、1枚のカードは黒で、どこにも配置することは完全に不可能でした)。
- 私に起こった別の例:表示されているすべてのカードは偶数です。
- en.wikipedia.org/wiki/Klondike_%28solitaire%29#Odds_of_winning
- さらに単純です。すべてのエースが同じ列にあり、2つがその上にあります。
- @Oltarus同じ列のエースとその上の2つのエースはまだ勝ちます。その迷惑でおそらく損失ですが実行可能です。
回答
このトピックに関するウィキペディアでの非常に興味深い読み物。
クロンダイクの「標準」ゲーム(形式:ドロー3、リディールインフィニット、ウィン52)の場合、解決可能なゲームの数(仮定すべてのカードがわかっています)は82〜91.5%です。
コメント
- それから私は実際に80%に近い素晴らしい仕事をしています
回答
文字通り、次のいずれかを使用したゲームをプレイしましたスタック(4枚のカードを含むもの)は9枚のダイアモンドによってリードされ、その中のカードはキングオブスペード、5枚のダイアモンド、10枚のスペード、10枚のクラブでした(私はこれを知っているのでこのスタックと使用された除去プロセスを除いて、フィールド全体が解決されました)。私が見る限り、これはゲームを不可能にします。私は9個のダイアモンドを持っていますが、それが置かれる資格のある2個の10が下向きにスタックに閉じ込められているため、移動することはできません。9個をダイアモンドスタックに移動して取り除くことを試みると、また、5つのダイアモンドがその下に貼り付いているので、無駄になります。誰かがこれを解決できる方法を教えてくれない限り、スタックをリードしているカードが、スタックを含むスタックをカバーしていると確信しています。それが休むことができる2枚のカードとそれ自身のスーツの数が少ない場合、ゲームは最初から不可能になります。
答え
Solitaireは、コンピューターバージョンよりも前のゲームです。つまり、ゲームが解決可能であることを確認するためにコンピューターが覗き込むことなく、すべてのカードが本当にシャッフルされます。
そして、マッケイが述べたように、ランダムなシャッフルを使用すると、間違いなく解決できないゲームになってしまう可能性があります。
各ゲームがであるソリティアバリアントを設計することは可能だと確信しています。ただし、解決可能です。
コメント
- 多くの計算が必要になります。基本的に、コンピュータはゲーム全体をプレイして、そこにあることを確認する必要があります'解決策。ただし、'何らかのアルゴリズムが'欠落している場合を除きます。
- @Arda、簡単にテストできる条件がいくつかあります。たとえば、キング以外のカードは、デッキ内の他の3枚のカード(スーツの次に低いカード、またはエースの基礎、および反対の色の次に高いカード)。これらの3枚のカードすべてがそのカードの下に山積みになっている場合、ゲームは'勝てません。残念ながら、'の割合は少ないと思います。他の条件をテストするには、大量の再帰が必要になる場合があります。
- @DaveDuPlantis Trueですが、テストする必要があります。存在するすべての条件。 'それらすべてを知っているかどうかさえわかりません。
- @ Arda- 'は本当です、 'は再帰に関して私が考えていたものです。特定のポジションが勝てないことを示す方法がなければ、'は基本的に、ブロックされるまで特定の一連のカードをプレイし、最後の決定ポイントに戻って、繰り返す必要があります。 ..。。'は興味深い概念ですが、'ソリティアプログラムがそれを行うのを見たことがありません。
- @Arda常に合法的なプレイの逆を使用して、ソリューションから逆方向に作業し、カードを4つのスーツパイルからデッキとボードにランダムに移動することができます。おそらく勝った'は、シャッフルして勝ちやすさをチェックするのと同じ確率分布を持っていますが、それがほとんどのプレイヤーにとって重要だとは思えません。
回答
ただし、リストを開始して初期条件を列挙した場合、これはLinuxバージョンのSolitareで見たように感じます:デッキの番号付け順序、つまり-そして、特定の1つが勝てないと決定的に決定したら、ノード間でメモを比較し(友達と共有)、VOILA:勝てないスターティングデッキスタックのリストを比較できます。
私は「Windows7バージョンでは勝てないデッキが削除されていると思い始めています…わかりません。統計については少し手間がかかり、独善的です。
コメント
- 52で!シャッフルを開始すると、'適切なリストを作成するまでに…不便な長い …時間が必要になります。勝てないものを決定的に決定する問題を解決した後でも。
- 52階乗=およそ8の後に67の零点が続きます。それは'多くの組み合わせです。 1TBのハードドライブはこれらの約1兆を保存し、'は、まともな部分を保存するために数兆テラバイトを必要とします。残念ながら、天文学的な数の確率が関係しているという理由だけで、あまり実用的ではありません。おそらく、特定の数の明らかに勝てるゲームを保存する方が簡単です。
- @JonathanHobbs計算を行うためにすべてを保存する必要はありません。
for 1 to 52! getdeck, try solving game, add to statistics
各ポイントに保存する必要があるデッキは1つだけで、統計は非常に小さい場合があります。 - @McKayまともなものを開発するには、かなりの量を保存する必要があります。ただし、リスト。 (私は'あなたがどの計算について話しているのかわかりません。)答えについてもさておき、Windows 7バージョンは実際には数万のデッキを保存するだけで、あなたは'ゲームごとにランダムに1つずつ与えられます。勝てることがわかっている数万のデッキを選んだだけかもしれません。
- @JonathanHobbsいいえ、保存する必要があるのは、探しているデッキだけです' at(52まで上がる必要があります!つまり、' dには約226ビットが必要です)、そして' dが必要ですそれらのうちのいくつが解決可能であったか(別の226ビット以下)、次にソリティアの1つのゲーム(Windows 3.1は明らかに問題なく保存できた)、および実際にゲームを解決するためのアルゴリズムを格納します。解決可能性に関する統計の完全なセットを実行するために、データストレージメカニズムはそれほど必要ありません。 '話しているストレージは1,000未満です。確かに、これらすべての計算を行うには長い時間がかかります。ただし、ストレージではありません。
回答
いいえ。 Eric Sink は、常に勝てるソリティアのバージョンを作成するためにマイクロISVを開始することを決定しました。これは主に、1人でソフトウェア会社を運営することを確認するための単なる実験でしたが、彼は最終的にまだ購入可能な製品を販売しました。
プレイできない(移動不可、400分の1)クロンダイクソリティアゲームの数については、いくつかの見積もりがあります。 勝てないゲームの数についてのいくつかの推測。ただし、この割合は30%から10%まで大きく異なります。
この問題の難しさは、膨大な数の初期取引から54!どちらが勝ち、どれが勝てなかったかを判断するには、それを評価する必要があります。
コメント
- 最初の取引の数は
52!
? (ジョーカーも配られることを期待しない限り) - 幸いなことに、勝率を計算するために力ずくの方法を使用する必要はありません(すべての可能な取引を見てください)(計算には時間がかかるため)宇宙の年齢よりも長い-8x10から68番目のパワーデッキ)。失敗する方法の分析は、攻撃の分析ラインを提供します。すでに述べたように、単一のスタックが失敗する可能性がある明確な方法があります。必要なカードは、2スタック、3スタック、または4スタック内では到達できない場合もあります。必要なカードをロックするためのカードのコンフォメーションがわかれば、個々のオッズを計算して組み合わせて答えを得ることができます。
回答
他の優れた回答に追加するために、このリンクには、取引が勝てない方法についての優れた説明があります。