bitcoin
bitcoin

$94622.391086 USD

2.93%

ethereum
ethereum

$3262.449077 USD

2.12%

tether
tether

$1.000059 USD

-0.03%

xrp
xrp

$2.337226 USD

3.28%

bnb
bnb

$691.820136 USD

1.25%

solana
solana

$187.465982 USD

1.75%

dogecoin
dogecoin

$0.332454 USD

4.52%

usd-coin
usd-coin

$1.000112 USD

-0.01%

cardano
cardano

$0.927720 USD

3.34%

tron
tron

$0.244018 USD

2.33%

sui
sui

$5.174449 USD

10.22%

avalanche
avalanche

$36.607157 USD

1.86%

toncoin
toncoin

$5.363452 USD

4.04%

chainlink
chainlink

$20.276880 USD

3.91%

shiba-inu
shiba-inu

$0.000022 USD

2.88%

暗号通貨のニュース記事

教師あり学習によるルービック キューブの解き方 — 直感的かつ徹底的に解説

2025/01/10 23:05

素晴らしい新しい世界で人気のおもちゃ

教師あり学習によるルービック キューブの解き方 — 直感的かつ徹底的に解説

Solving a Rubik's Cube with Deep Learning

ディープラーニングでルービックキューブを解く

A step-by-step guide to building a model that can solve a Rubik's Cube

ルービック キューブを解くことができるモデルを構築するためのステップバイステップ ガイド

Daniel Warfield

ダニエル・ウォーフィールド

Follow

フォローする

Towards Data Science

データサイエンスに向けて

--

Share

共有

In this article we’ll build a deep learning model that can solve a Rubik's Cube. We’ll define our own dataset, make a transformer style model that can learn based on that dataset, and use that model to solve new and randomly shuffled Rubik's Cubes.

この記事では、ルービック キューブを解くことができるディープ ラーニング モデルを構築します。独自のデータセットを定義し、そのデータセットに基づいて学習できるトランスフォーマー スタイルのモデルを作成し、そのモデルを使用して新しいランダムにシャッフルされたルービック キューブを解きます。

In tackling this problem we’ll discuss practical problems which come up frequently in data science, and the techniques data scientists use to solve those problems.

この問題に取り組むにあたって、データ サイエンスで頻繁に発生する実際的な問題と、それらの問題を解決するためにデータ サイエンティストが使用する手法について説明します。

Who is this useful for? Anyone interested in achieving mastery of modern AI.

これは誰にとって役に立ちますか?最新の AI を習得したいと考えている人なら誰でも。

How advanced is this post? This post covers advanced modeling strategies intuitively, and is appropriate for readers of all levels.

この投稿はどの程度進んでいますか?この投稿では、高度なモデリング戦略を直感的に説明しており、あらゆるレベルの読者に適しています。

Pre-requisites: There are no prerequisites for this article, though an understanding of transformer style models may be useful for some of the later, code heavy sections.

前提条件: この記事には前提条件はありませんが、トランスフォーマー スタイル モデルを理解していると、後のコードの多いセクションの一部で役立つ可能性があります。

References: A link to the code and supporting resources can be found in the reference section at the end of this article.

参考資料: コードとサポート リソースへのリンクは、この記事の最後にある参考セクションにあります。

Defining a Rubik's Cube as a Modeling Problem

ルービック キューブをモデリング問題として定義する

As you likely know, the Rubik's Cube is a geometric game featuring a 3x3x3 cube with different colored squares on each of its six faces. The goal of the game is to manipulate the cube in order to return it to its original state, with each face displaying a single, uniform color.

ご存知かと思いますが、ルービック キューブは、6 つの面のそれぞれに異なる色の正方形を持つ 3x3x3 の立方体を特徴とする幾何学的なゲームです。ゲームの目的は、立方体を操作して、各面が単一の均一な色を表示する元の状態に戻すことです。

We can define a Rubik's Cube in terms of a sequence of moves. Each move corresponds to a 90-degree rotation of one of the cube's six faces. We can represent a move using a single character, where F corresponds to a clockwise rotation of the front face, B corresponds to a clockwise rotation of the back face, L corresponds to a clockwise rotation of the left face, R corresponds to a clockwise rotation of the right face, U corresponds to a clockwise rotation of the upper face, and D corresponds to a clockwise rotation of the lower face.

ルービック キューブは一連の動きの観点から定義できます。各移動は、立方体の 6 つの面のうち 1 つの 90 度の回転に対応します。単一の文字を使用して動きを表すことができます。F は前面の時計回りの回転に対応し、B は背面の時計回りの回転に対応し、L は左面の時計回りの回転に対応し、R は時計回りの回転に対応します。右面の時計回りの回転に U が対応し、下面の時計回りの回転に D が対応します。

For example, the sequence of moves "FRUR'D'" corresponds to a clockwise rotation of the front face, followed by a clockwise rotation of the right face, followed by a counter-clockwise rotation of the upper face, and finally followed by a counter-clockwise rotation of the lower face.

たとえば、一連の動き「FRUR'D'」は、正面の顔の時計回りの回転、それに続く右側の顔の時計回りの回転、続いて上面の反時計回りの回転、そして最後に顔の反時計回りの回転に対応します。下面の反時計回りの回転。

We can use this notation to define any possible state of a Rubik's Cube. For example, the starting state of a Rubik's Cube can be represented by the following sequence of moves:

この表記法を使用して、ルービック キューブのあらゆる可能な状態を定義できます。たとえば、ルービック キューブの開始状態は、次の一連の動きで表すことができます。

```

「」

UUUUUUUUURRRRRRRRRFFFFFFFFFDDDDDDDDDLLLLLLLLLLBBBBBBBBB

uuuuuuuurrrrrrrrrrrrrrrrffffffffffffdddddddddddlllllllllbbbbbbbbbbbbbb

```

「」

This sequence of moves corresponds to the following sequence of rotations:

この一連の動きは、次の一連の回転に対応します。

```

「」

U -> R -> U -> R -> U -> R -> U -> R -> U -> U -> U -> U -> U -> U -> U

U -> R -> U -> R -> U -> R -> U -> R -> U -> U -> U -> U -> U -> U -> U

```

「」

We can apply this sequence of rotations to a scrambled Rubik's Cube in order to return it to its starting state.

この一連の回転をスクランブルされたルービック キューブに適用して、ルービック キューブを開始状態に戻すことができます。

We can now define the modeling problem as follows: given a scrambled Rubik's Cube, we want to predict the sequence of moves that will return the cube to its starting state.

ここで、モデリングの問題を次のように定義できます。スクランブルされたルービック キューブが与えられた場合、キューブを開始状態に戻す一連の動きを予測したいとします。

ニュースソース:towardsdatascience.com

免責事項:info@kdj.com

The information provided is not trading advice. kdj.com does not assume any responsibility for any investments made based on the information provided in this article. Cryptocurrencies are highly volatile and it is highly recommended that you invest with caution after thorough research!

If you believe that the content used on this website infringes your copyright, please contact us immediately (info@kdj.com) and we will delete it promptly.

2025年01月11日 に掲載されたその他の記事