はてなキーワード: 数独とは
こんにちは、皆さん!🌟 最近、特別なプロジェクトに取り組んでいて、ついに皆さんにシェアできることになりました。もし数独が好き、またはちょっとしたパズルが好きな方なら、きっと楽しんでもらえると思います。
新しいウェブサイト、sudoku369 を立ち上げました 初心者から上級者まで楽しめるサイトです。一般的な数独サイトとは一味違い、さまざまな工夫を凝らしています。以下にその魅力の一部をご紹介します:
20以上の言語でプレイできるので、母国語で数独を楽しむことができます。
昼も夜も、目に優しく楽しめるように、明るいテーマとクールなダークテーマを用意しました。
メモ機能、可能性の試行、やり直しが簡単にでき、特に難しいパズルにも役立ちます。
興味を持っていただけましたか?ぜひ sudoku369 をチェックして、感想を教えてください!
数独の全ての解の中で、回転や反転、対称性などを考慮した「同値」とみなされる解の数についての質問ですね。これは「数独の解の同値性」や「同型解」についての興味深いトピックです。
基本的な9x9の数独の解の総数は非常に多く、2005年に発見されたところによると、9x9数独の異なる解の総数は6,670,903,752,021,072,936,960通りです。
しかし、回転や反転(対称操作)を含めて同じ解とみなせる場合、異なる数独パズルの数は大幅に減ります。具体的には、次の操作によって「同じ解」とみなされることがあります:
90度回転、180度回転、270度回転
水平反転、垂直反転、対角線反転
数の置換(1を2に、2を3に、といった具合に数値を再割り当て)
これらの対称操作を考慮に入れると、数独パズルの「異なる」解の数はおよそ5,472,730,538通りになります。これは、全ての対称性を無視した場合の数の非常に小さい部分集合です。
この数は、対称性を考慮して同じ解とみなされる数独のパズルがいかに多いかを示しており、回転や反転によって実質的に異ならないパズルが多く存在することを意味しています。
数独の問題を唯一の解にするために、初期条件として与える数字の最小数は、理論的には17個であることがわかっています。これは、9x9の標準的な数独パズルにおいて、与えられた数字が少なくとも1つの唯一解を持つための最低限の数です。
この17個という数字は、数学的な証明やコンピュータによる探索の結果として導かれたものです。実際に、17個の初期条件を持つ数独パズルがいくつか発見されており、それらはすべて唯一の解を持っています。しかし、16個以下の初期条件では、これまでのところ唯一解を持つ数独パズルは見つかっていません。
ただし、17個というのはあくまで「最小数」であり、通常の数独パズルでは解く楽しさや難易度を考慮して、20個以上の初期条件が与えられることが一般的です。多くの数独パズルでは25〜30個程度の数字が最初に埋められており、それでも十分に解くのが難しいものが作られます。
つまり、理論的には17個の初期数字があれば唯一解が存在する数独パズルが可能ですが、実際にはそれよりも多くの初期条件が与えられることが多いです。
初期値の数が同じだった場合、全体にまんべんなく散ってるのと近傍に固まってるのとだと、どっちが難度高いのが多いの?一般的に言えないなら頻度的な感覚でもいいよ。
一般的な感覚として、初期条件が全体にまんべんなく散らばっている数独の方が、初期条件が近傍に固まっている数独よりも難易度が高くなる傾向が強いです。
理由としては:
初期条件がバランス良く全体に配置されていると、特定のエリアに限定された情報が得られにくくなります。各行、列、ブロックに一貫した情報が少ないため、解を進めるために多くの推論や複雑なテクニックを駆使する必要が生じます。
解くために使える直接的な手掛かりが少なくなるため、特定の領域で一度詰まると他の領域も影響を受けやすいです。
初期条件が固まっている領域では、その領域内で素早く解を進めることができます。局所的に解が進むことで、他のエリアにも影響が広がりやすく、次のステップに進みやすくなります。
これにより、ロジックだけで次々に解を見つけられる場合が多く、全体的に難易度が低く感じられることが多いです。
感覚的な頻度で言うと:
初期条件が散らばっている数独は、通常、より多くのステップを必要とし、試行錯誤や高度なテクニックを求められることが多く、そのために難易度が高いパズルになることが多いです。
初期条件が固まっている数独は、部分的にすぐに解ける箇所が出てきやすいため、比較的簡単なケースが多いです。
もちろん、初期条件の配置だけで難易度が完全に決まるわけではなく、必要となる解法テクニックも大きな影響を与えますが、まんべんなく散らばっている場合の方が全体として難しいと感じることが多いでしょう。
https://b.hatena.ne.jp/entry/s/togetter.com/li/2267270
みんなが一斉に子供持ったわけじゃないんだから、過去はそういう状態だったんだよ。
それでも回ってて最終的にみんな子持ちになったんだよ。
というか、子持ちが一人抜けたら回らない組織って、組織構成ミスってるよな。
ケガして長期離脱する人間でたら怪我したヤツにも同じように文句言うのか?
そんなの地獄だろ。
ケガは仕方ないけど子供作るのはNGってんなら、地獄以上のクソだろ。
まぁ、これから先人口が減っていく日本ではそういう組織がどんどん増えてくるんだろうな。
ChatGPTに日本語で命令したら秒で作ってくれるのでVBAやGAS書く能力は不要になったんだが。「A1からI9に数独の初期値入れてあるシートの残りのマス埋めるVBAマクロ作って」の一言で数独解くの作ってくれるぞ
ChatGPTが補足している通りロジックは基本しか使っていないので初期値から最終形までに仮定して入れる局面があるものは解けないし非効率ではあるものの初級は解けるし遅いPCでも一瞬で終わる。必要なのは入力の形と欲しい出力を日本語にする能力とHello World実行できるレベルの知識。コード読んでデバッグできる能力があればなおよいがGPTに教えてもらえばいいし、今業務やってる派遣の人に動作確認してもらって不満なところをAIに修正させればよいので業務をよく分かっている社員にやらせたほうが会社としてはいい戦略。
A1からI9に数独の初期値入れてあるシートの残りのマス埋めるVBAマクロ作って
数独を解くためのVBAマクロを作成するのは複雑ですが、以下は一つの例です。このマクロはシートのA1からI9の範囲の数独を解きます。
Function IsPossible(y, x, n, grid) As Boolean Dim i As Integer Dim j As Integer ' 同じ行や列にnが既にあるか確認 For i = 1 To 9 If grid(y, i) = n Or grid(i, x) = n Then IsPossible = False Exit Function End If Next i ' 3x3のボックス内にnが既にあるか確認 Dim x0 As Integer: x0 = ((x - 1) ¥ 3) * 3 Dim y0 As Integer: y0 = ((y - 1) ¥ 3) * 3 For i = 0 To 2 For j = 0 To 2 If grid(y0 + i + 1, x0 + j + 1) = n Then IsPossible = False Exit Function End If Next j Next i IsPossible = True End Function Sub SolveSudoku() Dim grid(1 To 9, 1 To 9) As Integer Dim i As Integer Dim j As Integer ' グリッドをシートから読み込む For i = 1 To 9 For j = 1 To 9 grid(i, j) = Cells(i, j).Value Next j Next i If Solve(grid) Then ' 解をシートに書き出す For i = 1 To 9 For j = 1 To 9 Cells(i, j).Value = grid(i, j) Next j Next i Else MsgBox "解けませんでした" End If End Sub Function Solve(ByRef grid) As Boolean Dim i As Integer Dim j As Integer Dim n As Integer For i = 1 To 9 For j = 1 To 9 If grid(i, j) = 0 Then For n = 1 To 9 If IsPossible(i, j, n, grid) Then grid(i, j) = n If Solve(grid) Then Solve = True Exit Function End If grid(i, j) = 0 End If Next n Solve = False Exit Function End If Next j Next i Solve = True End Function
このコードをVBAのモジュールに追加して、シートに数独の初期値を入力してからSolveSudokuマクロを実行すると、マスを埋めることができます。
ただし、このコードは基本的なバックトラック法を使用しており、非常に複雑な数独には効率的ではない場合があります。より高速な解法や最適化を求める場合は、追加の手法やアプローチが必要です。
https://si-coding.net/sudoku4.html
2 3 5 7 8 3 3 4 5 1 6 6 1 2 4 4 9 8 2 2 5 1 3 9 4 6 1 4 1 2 6
1 6 9 2 3 5 8 4 7 4 5 8 1 6 7 9 3 2 3 2 7 9 8 4 5 1 6 5 3 6 7 1 2 4 9 8 7 1 4 3 9 8 6 2 5 9 8 2 5 4 6 1 7 3 6 9 1 8 2 3 7 5 4 2 4 5 6 7 9 3 8 1 8 7 3 4 5 1 2 6 9
ちょっと嘘。
ソリティアを全く知らなくて恥をかいたみたいなエピソードトークではない。
ソリティアを紹介してみようと思う。
みたいなこと。
一人遊びで、くだらなくて、黙々とやっているイメージがあって、なんとも時間の無駄に見える。
トレーディングカードゲームで自分のターンに大量の操作を長々やるようなことが「ソリティア」と呼ばれ、
映画『ニンフォマニアック』の主人公の母は、「いつも背を向けてソリティアをやっているような冷たい人間」と主人公に言い捨てられていた。
不快に思ったら、
★★★★★
まで飛ばしてくれればよい。
その際にスマホなどをいじってしまうと、知らぬ間にラジオのトークは過ぎ去ってしまう。
スマホを閉じても、目の前の景色や、多少の考え事の余地があれば、ラジオは背景になってしまう。
そうして自分はラジオを聴く間、アプリで数独をやるようになった。
言語野はラジオに割きながら、視覚や簡単な情報処理が数独によって押さえられるので、
一人遊びで、くだらなくて、黙々とやっているイメージがあって、なんとも時間の無駄に見える。
そのまんま、数独もそう。
数秒の動画広告が入るとラジオアプリの音声は停止されてしまうのを煩わしく思いながら、
それは動画広告ではなく、プレイ可能なソリティアアプリの広告だった。
最初のうちは当然それも指定の秒数を待ってから閉じていたのだが、
ソリティアなら数独と同じ目的を果たせることに気付き、広告が入るたびにプレイするようになった。
数独ばかりやるよりも、ソリティアをたまに挟む方が飽きが来なくて良かった。
ただ、クリアせずに閉じることも多々あった。
それはすぐにまた数独をやるためではない。
それでも決してそのソリティアアプリをインストールすることはなかった。
そして今から5日ほど前のこと、
不意にソリティアをもっとクリアできるようになりたいと思った。
出てきたのは7年前の動画で、
ソリティアは運ゲーじゃなかったのか、とカルチャーショックを受けながら、
「一手戻す」が多用されていた。
「一手戻す」は一手だけ戻すわけじゃない。
詰まったら「一手戻す」を連打して、何十も手を戻してクリアする。
それはありえないズルに見えた。
自分は今まで一度も「一手戻す」を使って来なかった。
「一手戻す」を使えばスコアは減少するし、
伏せられた状態で与えられた場のカードをめくって戻すような「一手戻す」という行為が、
ズルをしながら偉そうに解説動画を出している人の目にもの見せてやろう、
ちょうど1か月前に購入したばかりのPCは、
5年使った先代のPCよりもずっと性能が良く、
一方で、数独なんてやってるくせに生意気に「忙しい」とのたまう自分は、
PCを前にただ漠然と、なにかゲームがしたいと常々考えていた。
それがソリティアなんかをやることになるとは。
同じWindowsのPCだが、ゲームなんて買ってすぐに削除して容量を空ける、
新しいPCにソリティアが入っていたのは、その存在すらも意識していなかったからだ。
壁を破る前の自分がそれに気付いていたら、すぐに削除していたに違いない。
Windowsの検索窓に「ソリティア」と打ち込んでも何も出ない。
思い直して「soli」と打って出てくるのは、
「Solitaire & Casual Games」だ。
★★★★★
飛ばさず読んでくれたあなたにはお礼を申し上げる。
Windowsに最初からインストールされている「Solitaire & Casual Games」を開くと分かるのだが、
クラシックないわゆる「ソリティア」は、「Klondike」というらしい。
他にもソリティアの一種として「Spider」「FreeCell」「Pyramid」「TriPeaks」がある。
どれも聞いたことはあるが、それぞれ詳しいルールはわからないし、
それらがソリティアの一種で、それぞれ異なるものだと意識したこともなかった。
「初級」「中級」「上級」「エキスパート」「名人」「師範」「ランダム」があり、
それぞれには難易度ごとに異なった、獲得できるXPが併記されている。
また、「*ランダムな山札は片付けが不可能な場合があります」とあった。
これが、自分には衝撃的だった。
まあそれはある程度正しい。
当然、実際にフィジカルのトランプを使ってプレイするのは「ランダム」であるはずで、
その点では正しい。
カジュアルなパズルゲームでいう「ステージ」のようなものがあるタイプの、
数独にも近いような。
まずは初級を選んでプレイする。
これから始まるソリティアは、絶対にクリア可能なソリティアだ。運ゲーではない。
統計としてプレイしたゲーム(数)、勝ったゲーム(数)、勝率なども表示された。
リザルト画面で「新しいゲーム」を選択すると、再び難易度選択画面が表示される。
今度は中級を選択すると、大きな音を鳴らしながら、30秒の動画広告が表示された。
大きな大きなため息をつきながら、ミュートボタンをクリックして、
「絶対過去のWindowsのソリティアに広告なんかなかっただろ」
「最後の動きを元に戻す」を選んで、ズルをするか。
勝率に傷がつくのは受け入れられなかった。
ズルに手を出してゲームに戻る。
一手だけ戻しても当然クリアはできない。
「すべて元に戻す」を押して、慎重にゲームをやり直して、クリアした。
「すべて元に戻す」ではなく、「元に戻す」を使うようになった。
無論、連打して使う。
そうして気付いたのだが、「元に戻す」をしてもスコアは減らないのだ。
プレイしながら、どうやらそうではないらしいことが分かった。
有効な操作を行っても、その操作を戻せば当然その分のスコアは減算される。
そしてカードが動かせなくなるゲームオーバーを招くような操作とは、
皮肉にも感じられるが、ほとんどがこの有効な操作にあたるのだ。
このことから、ただ手を戻した時にだけスコアを見ていた自分は、
ズルなのだから当然スコアが減るべきと思っていたのもあるかもしれない。
音量ミキサーでソフトの音量を下げても、広告の音量だけは下がらない。
何度も手を戻しているうちに、
その攻略のコツを理解して、初めてソリティアが面白いゲームだと理解をした。
振り返ると、壁はなくなっていた。
一度表を見たカードを裏にして戻すことも、
そこに何のカードがあるのか、
ここまで長々と読ませながら、
ソリティアの面白いゲーム性の部分の説明に具体性が乏しくがっかりした人もいるかもしれない。
まずはお詫び申し上げる。
その機会を奪うのが憚られた。
例えば、初期の盤面で♡Kと♧Qが表向きにあるが、
これを重ねることでゲームが詰む、
といった場合があるのだ。
これは非常に面白い、と感動しても、
Windowsのソリティアでは問題を他人に共有することはできない。
Windows以外のものでもそのような機能があるものはなかなかないだろう。
どうにか自分でメモをして出題を再現できるようにしたとしても、
コンピュータゲームとしてのみ、その面白さが実現され、また共有できるのだ。
しょうがない、と、
みたいなこと。」
ソリティアを知らなかった。
おれって将来青襟やってそうな気がするなと思って、たまに明け方ネクタイ締めてスラックス履いて出歩く。
今日もその格好で公園までタバコ吸いに出たらベンチに手持ち花火が1本落ちてた。勝手に燃やしてみた。
白い火が7秒くらいシュボーッと吹き出るだけで、まだタバコの赤い火種の方が綺麗な気がした。
帰ってスマポポチポチしながら、そういえばこういう花火も小学生以来やってないな、夏らしいことって最近してないなと思った。
そのまま朝が来て大学バックレて江ノ島へ向かった。片道2時間弱もあれば、行きの電車でもう冷静な気持ちになってた。こんな気持ちでサボるくらいなら大学行った方がマジだったかもとか思いながら数独やってたら片瀬江ノ島に着いてしまって、もう帰りたくなってた。
でもわざわざ800円かけて来たんだからって、取り敢えず江ノ島に向かう橋で一服した。平日だってのに割と人はいて、気持ち悪いから江ノ島には入らず引き返して鵠沼海岸でしばらくボケーッとしてた。
海見ててもなんか落ち着かなくて、鎌倉まで歩こうと決めた。
気持ちを上げようとイヤホンで流す音楽をピンポンのサントラとかアジカンに変えて歩いてたら、少し気分が良くなってきた。目の前の景色や耳元の音楽というよりは、そういう音楽聴きながらそういう場所を歩くという体験をしている状況が気持ち良かった。
汗ダバダバになりながらグーグルマップで何度も由比ヶ浜までの距離を調べた。朝ギリギリに家を出て、変わりやしないYahoo路線の画面を何度も確認してる時よりはずっとマシな気分だった。
鎌倉駅までついて、折角だからって鶴岡八幡宮まで行って、10円投げ入れて30秒くらい眺めてそのまま帰った。
夢現気分でいるには帰る時間がちょっと早すぎて、夕飯食うまでの間の時間が今日イチで死にたかった。
それでも今はなんかもう、鬱屈としつつも夏らしいエモーショナルな一日として早くも美化されてるけど、その時の自分の気分を具に思い返してみればやっぱり総じて明るいものじゃなかった。
人生って今の連続だし、過去にも未来にも生きることは出来ないし、懐かしめる過去を増やすより今を楽しく生きたいよなあ。
でも振り返ってみておれの人生にもいいとこあったなと思えるのは、建設的に何かを頑張った経験よりもああやってフラフラしてる時の思い出なんだよなあ。
□ 3 □ 7 8 □ □ □ □
7 □ 2 □ □ 4 □ 8 □
□ 8 □ □ □ □ □ □ □
5 □ 3 8 2 9 □ 6 □
□ □ □ 3 6 1 □ □ □
□ 6 □ 5 4 7 □ □ 3
□ □ □ □ □ □ □ 9 8
□ □ □ 2 □ □ 5 □ 4
□ □ □ □ □ 8 6 7 □
これ。
追加ルールは対角線。
中心を通る対角線上にも同じ数字が並ばないというやつ。
普段なら超難問もそれほど苦労せず解けるレベルなのだけど、上級とラベリングされたこの問題が解けない。
問題を入力すると解いてくれるページもあるんだけど、次の1手が”仮置き”ってなってて何の参考にもなりません。
次に入力できるマスと、その理由を誰か分かりやすく教えてくれー
ちなみにこれは解いてる途中で行き詰まったときの手で、出題時は以下の通り。
ここから解きはじめてつまづいた部分だけ教えてもらってもいいです。
□ 3 □ 7 □ □ □ □ □
7 □ 2 □ □ 4 □ □ □
□ 8 □ □ □ □ □ □ □
5 □ □ □ 2 □ □ 6 □
□ □ □ 3 □ 1 □ □ □
□ 6 □ □ 4 □ □ □ 3
□ □ □ □ □ □ □ 9 □
□ □ □ 2 □ □ 5 □ 4
□ □ □ □ □ 8 □ 7 □
買切りのアドベンチャーゲームどうよ
街
無料アプリゲーはガチャと広告で収益化してるので、ユーザーにストレスない範囲で済ませるのは無理だと思う。税金上がったりするからみんなお金欲しいし。
あとはゲームとして楽しいのは「正解」があるパズルゲーム。ランダム生成の3マッチパズルでなく、ちゃんと全消しできるとか全埋めできるとかのやつ。そうなると数独やクロスワードとか、作家がいるやつが楽しい。
育成要素があって楽しいのはやっぱネット接続前提じゃない時代のRPGかなー。ゲーム禁止されててポケモンとドラクエIIIしかやったことないのでよく分からん。でもアクションゲーは死ぬ自分でもターン制なら死ににくいから好きだった。