bitcoin
bitcoin

$94754.376706 USD

2.98%

ethereum
ethereum

$3267.474756 USD

1.84%

tether
tether

$0.999935 USD

0.00%

xrp
xrp

$2.347692 USD

3.45%

bnb
bnb

$693.513109 USD

1.50%

solana
solana

$188.508172 USD

1.84%

dogecoin
dogecoin

$0.333740 USD

5.18%

usd-coin
usd-coin

$0.999974 USD

-0.01%

cardano
cardano

$0.932404 USD

3.95%

tron
tron

$0.244282 USD

2.32%

sui
sui

$5.197839 USD

10.83%

avalanche
avalanche

$36.770466 USD

2.05%

toncoin
toncoin

$5.366537 USD

3.91%

chainlink
chainlink

$20.343743 USD

4.05%

shiba-inu
shiba-inu

$0.000022 USD

3.03%

Articles d’actualité sur les crypto-monnaies

Résoudre un Rubik's Cube avec un apprentissage supervisé - Expliqué de manière intuitive et exhaustive

Jan 10, 2025 at 11:05 pm

Un jouet populaire dans le meilleur des mondes

Résoudre un Rubik's Cube avec un apprentissage supervisé - Expliqué de manière intuitive et exhaustive

Solving a Rubik's Cube with Deep Learning

Résoudre un Rubik's Cube avec le Deep Learning

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

Un guide étape par étape pour construire un modèle capable de résoudre un Rubik's Cube

Daniel Warfield

Follow

Suivre

Towards Data Science

Vers la science des données

--

Share

Partager

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.

Dans cet article, nous allons construire un modèle d'apprentissage profond capable de résoudre un Rubik's Cube. Nous définirons notre propre ensemble de données, créerons un modèle de style transformateur capable d'apprendre sur la base de cet ensemble de données et utiliserons ce modèle pour résoudre de nouveaux Rubik's Cubes mélangés de manière aléatoire.

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.

En abordant ce problème, nous discuterons des problèmes pratiques qui reviennent fréquemment en science des données, ainsi que des techniques utilisées par les data scientists pour résoudre ces problèmes.

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

A qui est-ce utile ? Toute personne souhaitant maîtriser l’IA moderne.

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

À quel point ce message est-il avancé ? Cet article couvre intuitivement les stratégies de modélisation avancées et convient aux lecteurs de tous niveaux.

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.

Pré-requis : il n'y a aucun prérequis pour cet article, bien qu'une compréhension des modèles de style transformateur puisse être utile pour certaines des sections ultérieures, lourdes en code.

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

Références : un lien vers le code et les ressources de support se trouve dans la section de référence à la fin de cet article.

Defining a Rubik's Cube as a Modeling Problem

Définir un Rubik's Cube comme un problème de modélisation

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.

Comme vous le savez probablement, le Rubik's Cube est un jeu géométrique mettant en vedette un cube 3x3x3 avec des carrés de couleurs différentes sur chacune de ses six faces. Le but du jeu est de manipuler le cube afin de le remettre dans son état d'origine, chaque face affichant une couleur unique et uniforme.

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.

Nous pouvons définir un Rubik's Cube en termes de séquence de mouvements. Chaque déplacement correspond à une rotation de 90 degrés de l'une des six faces du cube. On peut représenter un mouvement à l'aide d'un seul caractère, où F correspond à une rotation dans le sens horaire de la face avant, B correspond à une rotation dans le sens horaire de la face arrière, L correspond à une rotation dans le sens horaire de la face gauche, R correspond à une rotation dans le sens horaire de la face droite, U correspond à une rotation horaire de la face supérieure, et D correspond à une rotation horaire de la face inférieure.

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.

Par exemple, la séquence de mouvements "FRUR'D'" correspond à une rotation horaire de la face avant, suivie d'une rotation horaire de la face droite, suivie d'une rotation anti-horaire de la face supérieure, et enfin suivie d'un rotation dans le sens inverse des aiguilles d'une montre de la face inférieure.

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:

Nous pouvons utiliser cette notation pour définir n'importe quel état possible d'un Rubik's Cube. Par exemple, l'état de départ d'un Rubik's Cube peut être représenté par la séquence de mouvements suivante :

```

UUUUUUUUURRRRRRRRRFFFFFFFFFDDDDDDDDDLLLLLLLLLLBBBBBBBBB

UUUUUUUUURRRRRRRRRFFFFFFFFFDDDDDDDDDLLLLLLLLLLBBBBBBBBBB

```

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

Cette séquence de mouvements correspond à la séquence de rotations suivante :

```

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.

On peut appliquer cette séquence de rotations à un Rubik's Cube brouillé afin de le ramener à son état de départ.

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.

Nous pouvons maintenant définir le problème de modélisation comme suit : étant donné un Rubik's Cube brouillé, nous voulons prédire la séquence de mouvements qui ramènera le cube à son état de départ.

Source de nouvelles:towardsdatascience.com

Clause de non-responsabilité: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.

Autres articles publiés sur Jan 11, 2025