タグ

ブックマーク / qiita.com/7y2n (3)

  • ルービックキューブを解くプログラムを書いてみよう(後編:状態のindex化, Two-Phase-Algorithm) - Qiita

    ルービックキューブを解くプログラムを書いてみよう(後編:状態のindex化, Two-Phase-Algorithm)PythonアルゴリズムルービックキューブTwoPhaseAlgorithm はじめに この記事はSpeedcubing Advent Calendar 2020の2日目の記事です。 ルービックキューブを解くプログラムを書いてみよう(前編:キューブを操る実装) ルービックキューブを解くプログラムを書いてみよう(中編:IDA*探索) の続きをやっていきます。 後編では、index化による探索の効率化とTwo-Phase-Algorithmを実装して、現実的な時間で任意の状態のルービックキューブを解けるようにしていきます。 環境 環境については、前編中編と同様、Python3.6以上です。 前編,後編に引き続き、以下で出てくるコードをColaboratoryノートブック化したも

    ルービックキューブを解くプログラムを書いてみよう(後編:状態のindex化, Two-Phase-Algorithm) - Qiita
  • ルービックキューブを解くプログラムを書いてみよう(中編:IDA*探索) - Qiita

    はじめに この記事はSpeedcubing Advent Calendar 2019の17日目の記事です。 [連載]ルービックキューブを解くプログラムを書いてみよう(前編) の続きをやっていきます。 前編では、ルービックキューブの状態/操作を表現するクラスを作り、状態を操作するメソッドを書きました。 これで、キューブをプログラム的に自由に回せる状態になったので、探索を進めていきましょう。 中編では単純な総当りで探索するので、計算量的な問題でまだ任意の状態のルービックキューブの解を見つけられるようにはなりませんが、ピラミンクスや2x2x2キューブなどの小さいパズルならこの方法でも解くことができます。 追記: 後編を書きました ルービックキューブを解くプログラムを書いてみよう(後編:状態のindex化, Two-Phase-Algorithm) 環境 環境については、前編と同様Python3.

    ルービックキューブを解くプログラムを書いてみよう(中編:IDA*探索) - Qiita
  • ルービックキューブを解くプログラムを書いてみよう(前編:キューブを操る実装) - Qiita

    はじめに この記事はルービックキューブ Advent Calendar 2018 の14日目の記事です。 昨日の記事は望月さんの「ラノベで覚えよう!目隠しキューブ。「恋するイヤーマフ」」でした。 連載では、ルービックキューブを解くプログラムをPythonで実装しながら、その仕組みを勉強します。 ルービックキューブを解くプログラムと言っても、どれくらい頑張って高速化・効率化するかなどあると思うので、今回の記事では、大体1秒位 & 20手強くらいで解くプログラムを書くのを目標に、コードのわかりやすさ重視でやっていきましょう。 ルービックキューブを効率よく解くアルゴリズムとしてTwo-Phase-Algorithmというものが広く使われています。 連載でも、Two-Phase-Algorithmを実装します。 まだ、前編しか書けていないので、内容は変わるかもしれませんが、 前編と中編では、実

    ルービックキューブを解くプログラムを書いてみよう(前編:キューブを操る実装) - Qiita
  • 1