|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
멋진 신세계에서 인기 있는 장난감
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개 면 중 하나의 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
으아아아아아아아아아아아아아아아아아아아아아아아아아아아아아아아아아아아아아아아아아아아아아아아아아아아
```
````
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.
이제 모델링 문제를 다음과 같이 정의할 수 있습니다. 스크램블된 루빅 큐브가 주어지면 큐브를 시작 상태로 되돌릴 이동 순서를 예측하려고 합니다.
부인 성명: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 05:30:25