RUBIK'S CUBE BY: MOSES TROYER & NATE VARDELL ALGORITHMS & PARALLELIZATION

Similar documents
A Solution of Rubik s Cube

Permutation Groups. Tom Davis April 2, 2003

Comments on the Rubik s Cube Puzzle

Group Theory via Rubik s Cube

Extended Essay Mathematics: Finding the total number of legal permutations of the Rubik s Cube

Group Theory and the Rubik s Cube. Janet Chen

DIRECTIONS FOR SOLVING THE 5x5x5 (Professor) CUBE

The Mathematics of the Rubik s Cube

Solving the Rubik's Revenge (4x4x4) Home Pre-Solution Stuff Step 1 Step 2 Step 3 Solution Moves Lists

Midterm Practice Problems

Algebra of the 2x2x2 Rubik s Cube

A Rubik's cube solution that is easy to memorize

Permutations, Parity, and Puzzles

1974 Rubik. Rubik and Rubik's are trademarks of Seven Towns ltd., used under license. All rights reserved. Solution Hints booklet

Rubiks Cube or Magic Cube - How to solve the Rubiks Cube - follow these instructions

TEACHER S GUIDE TO RUSH HOUR

Storage in Database Systems. CMPSCI 445 Fall 2010

How to Solve the Rubik's Cube

Richard E. Korf.

Session 29 Scientific Notation and Laws of Exponents. If you have ever taken a Chemistry class, you may have encountered the following numbers:

USER MANUAL SlimComputer

B669 Sublinear Algorithms for Big Data

The Rubik User s Guide

Level 1 - Maths Targets TARGETS. With support, I can show my work using objects or pictures 12. I can order numbers to 10 3

10.2 Series and Convergence

What is a bus? A Bus is: Advantages of Buses. Disadvantage of Buses. Master versus Slave. The General Organization of a Bus

Technical Product Specifications Dell Dimension 2400 Created by: Scott Puckett

Computers. Hardware. The Central Processing Unit (CPU) CMPT 125: Lecture 1: Understanding the Computer

The History of Sliding Block puzzles before Peter s Black Hole By Ad van der Schagt

CAs and Turing Machines. The Basis for Universal Computation

Discovering Math: Exploring Geometry Teacher s Guide

Stockholm

Binary search tree with SIMD bandwidth optimization using SSE

[Not for Circulation]

8 Divisibility and prime numbers

Patterns in Pascal s Triangle

Operating Systems. Virtual Memory

USB to VGA Adapter USB2VGAE2. Instruction Manual. USB 2.0 to VGA Multi Monitor External Video Adapter

Cost Model: Work, Span and Parallelism. 1 The RAM model for sequential computation:

15 Digital Photo Frame Instructional Manual

CSCA0102 IT & Business Applications. Foundation in Business Information Technology School of Engineering & Computing Sciences FTMS College Global

EECS 583 Class 11 Instruction Scheduling Software Pipelining Intro

Figure 1. Front and Back of a Computer Case

Introduction Solvability Rules Computer Solution Implementation. Connect Four. March 9, Connect Four

Chapter 7 Memory Management

Computer Basics: Chapters 1 & 2

Chapter 12: Multiprocessor Architectures. Lesson 01: Performance characteristics of Multiprocessor Architectures and Speedup

Kenken For Teachers. Tom Davis June 27, Abstract

Chapter 4 System Unit Components. Discovering Computers Your Interactive Guide to the Digital World

Mathematical goals. Starting points. Materials required. Time needed

Web'n'walk. Manager. for Windows USER MANUAL

Computer Performance. Topic 3. Contents. Prerequisite knowledge Before studying this topic you should be able to:

ebook Reader PRO Instructional Manual AEBK01F / AEBK01WF

TeamPoS 2000 Installation Instructions Upgrade to M Motherboard

Scope and Sequence KA KB 1A 1B 2A 2B 3A 3B 4A 4B 5A 5B 6A 6B

The Taxman Game. Robert K. Moniot September 5, 2003

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe. Slide 13-1

Factorizations: Searching for Factor Strings

Lesson #13 Congruence, Symmetry and Transformations: Translations, Reflections, and Rotations

what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored?

These tests contain questions ranging from Level 3 to Level 4. They get progressively more difficult. Children should have five seconds to

=

Operation Count; Numerical Linear Algebra

Chapter 13 Disk Storage, Basic File Structures, and Hashing.

Discovering Computers Living in a Digital World

Chapter 1 Computer System Overview

Decimal Notations for Fractions Number and Operations Fractions /4.NF

Designing and Building Applications for Extreme Scale Systems CS598 William Gropp

Thread Tensions All Machines

The BBP Algorithm for Pi

Database Scalability {Patterns} / Robert Treat

Solid State Drive Architecture

Rethinking SIMD Vectorization for In-Memory Databases

STRAND: Number and Operations Algebra Geometry Measurement Data Analysis and Probability STANDARD:

Managerial Economics Prof. Trupti Mishra S.J.M. School of Management Indian Institute of Technology, Bombay. Lecture - 13 Consumer Behaviour (Contd )

Chapter 13. Disk Storage, Basic File Structures, and Hashing

Building a Bridge to Academic Vocabulary in Mathematics

Chapter 2. Making Shapes

Grade 7 Mathematics. Unit 5. Operations with Fractions. Estimated Time: 24 Hours

Load Balancing. Load Balancing 1 / 24

Parallel & Distributed Optimization. Based on Mark Schmidt s slides

IP Telephony: Reliability You Can Count On

Section 1.4 Place Value Systems of Numeration in Other Bases

Grade 2 Sample Assessment Math Task

Kafka & Redis for Big Data Solutions

Basic Use of the TI-84 Plus

Distributed Computing over Communication Networks: Topology. (with an excursion to P2P)

Extreme Computing. Big Data. Stratis Viglas. School of Informatics University of Edinburgh Stratis Viglas Extreme Computing 1

High Performance. CAEA elearning Series. Jonathan G. Dudley, Ph.D. 06/09/ CAE Associates

Building A Computer: A Beginners Guide

What Is Singapore Math?

CHAPTER 2: HARDWARE BASICS: INSIDE THE BOX

A+ Guide to Managing and Maintaining Your PC, 7e. Chapter 1 Introducing Hardware

Computational Geometry. Lecture 1: Introduction and Convex Hulls

5 Mathematics Curriculum

Transcription:

RUBIK'S CUBE ALGORITHMS & PARALLELIZATION BY: MOSES TROYER 1 & NATE VARDELL

WHAT IN THE WORLD IS A RUBIK S CUBE??? Originally, a 3x3x3 Cube Shaped Puzzle. There are now 2x2x2 all the way up to 10x10x10. Rotate the faces to make all of the colored stickers match up. When complete, there should be one color per side. 2 [1]

THE TECHNICAL DETAILS BEHIND THE CUBE Every 3x3x3 Cube is made up of 27 smaller cubes, or Cubies Each Cubie has a set of faces of different colors that make it unique Moves are the action of rotating the 9 Cubies that form a side and rotating it either 90 or 180 degrees around the central Cubie One a 3x3x3 cube, the center Cubie never changes, meaning the color of the center dictates the color for the entire face. 3

RUBIK S CUBE NOTATIONS When solving, computers don t associate with colors. Computers associate with orientation of the cube, notated with the first letter: U(p), F(ront), R(ight), D(own), B(ack), L(eft). When rotating 90 degrees clockwise, only the face is printed. (ex: R) Sometimes printed with a + or 1. If the rotation is counterclockwise, the face is followed by a prime symbol. (ex: R ) Sometimes printed with a 3. When rotating 180 degrees, the face is followed by a 2. (ex: R2) The set of moves is defined as S. 4

RUBIK S CUBE PROGRAM REPRESENTATION An example of scrambled cube is: UL BD LB UF FL FD UR RF DR BU LD BR BDL FRU BRD RFD BLU URB FUL FLD A solved cube is represented as (12 edges, 8 corners) UF UR UB UL DF DR DB DL FR FL BR BL UFR URB UBL ULF DRF DFL DLB DBR 5

HISTORY BEHIND THE CUBE First created in 1974 by Erno Rubik; a Professor of architecture. It took Professor Rubik over a month to solve his invention. The original name was the Magic Cube, but was changed to what we all know as the Rubik s Cube in 1980. Ideal Toy Company executives, who had agreed to sell it to the rest of the world, thought that the original name had overtones of witchcraft and it needed to change. Since the launch in 1980 an estimated 350 million cubes have been sold. Approximately 1 in 7 people have played with a cube. 6 [1]

QUESTIONS WORTH PONDERING 1.) What is God s Number? 2.) How was God s Number calculated? 3.) God s Number on NxNxN cubes? 4.) What is Disk-Based Parallel Computing? 5.) What are the results of a parallel implementation for solving the cube? 7

Q1 - THE SEARCH FOR GOD S NUMBER Every cube solver uses an algorithm, or sequence of steps, to solve the cube. One algorithm might begin with a sequence to solve a single face, while others might start off by trying to achieve some other cube state. God s Number is the lowest possible number of turns, in which the cube can be solved, no matter the position. A year after the cubes official release in 1980, Morwen Thistlewaite published the first algorithm for solving the 3x3x3 cube. Lower Bound: 18 Moves Upper Bound: 52 Moves 8 [2]

GOD S NUMBERS OVER THE YEARS 9 [2]

(1/3) LATEST ALGORITHM: KOCIEMBA S Identifies a subset of 20 billion positions as H. Michael Reid showed that every position in the subset takes at most 18 moves to solve. Every cube position is at most 12 moves from this subset. Every position in H is defined with 2 characteristics. All corners and edges are properly oriented. The edge cubes that belong in the middle layer are located in the middle layer. Remaining problem is how to transform a cube position into a position in H. 10 [4]

(2/3) KOCIEMBA S CONTINUED All positions in H can be relabeled so all position in H have the same physical appearance. With the conditions in the previous slide, the stickers on each cubie can be removed and relocated to make the same colored cube. Since any position is within 12 moves of the set, the cube can be solved within 30 moves 11 [4]

(3/3) KOCIEMBA S STILL HAS MORE TO SAY! r(p) is the relabeling of a cube d2 is a table lookup that takes a position and returns the distance to the identity element using moves phase 2 is the sequence to take the position into a fully solved state 12 [4]

KOCIEMBA S ALGORITHM - PSUDOCODE 13 [4]

Q2 THE WORK BEHIND GOD S NUMBER Primarily, we are interested in finding the minimum number of turns needed for all positions to be solved. Total number of possible positions is 4.51 x 10 ^ 17. Even with finding the move sequences (of 20 moves or less) at a rate of 240 positions for second, finding the move sequences for all positions would take more than seven thousand computers more than seven thousand years. At the point computers can find nine hundred million positions a second, it will only take four years to finish the proof 14

NEXT UP GOD S NUMBER: INFORMATIONAL VIDEO 15 [3]

16

Q3 - GOD S NUMBER ON NXNXN CUBES? At this point in time there is no answer or algorithm that can solve NxNxN cubes once the value of N exceeds 3. This is simply because of the number of possible positions is astronomical. 17

Q4 - WHAT IS DISK-BASED PARALLEL COMPUTING? Disk-Based computation is a way to increase working memory and achieve results that are not otherwise economical. Access disks from cluster in parallel in place of ram. Discs have a latency and the network needs to keep up. 18 [5]

WHY DISC-BASED? Not enough ram on most motherboards Nearing the end of Moore s Law A large amount of space is needed (6 TB) 19 [5]

DISK-BASED: SORTING DUPLICATES Breadth First Search to store the list on the disks. Then, bucket sort to eliminate duplicate states. Use the RAM as the cache The list requires 6 TB of disk space, but can use more. 20 [5]

DISK-BASED: STORING STATES Representation of state could only use 2 bits per state Mathematical group theory was used to design a perfect hash function for all states Hash slots store the level in the search tree modulo 3 Able to be done since each turn only changes the number of moves by -1, 0, or 1 21 [5]

ANOTHER PARALLEL IMPLEMENTATION Every processor searches separately for a solution Avoids communication by having every processor initialize it s own database Communicates with processor 0 22

ANOTHER PARALLEL COMPUTATION CONT. Processing stops when the goal is found by one with an optimal solution Sends information to processor 0, then to the others Done asynchronously Upon receiving the message that the goal was found, processor exits With more processors, this reduces the search time more than serial 23

PSEUDO CODE 24

25

Q5 - WHAT ARE THE RESULTS OF A PARALLEL IMPLEMENTATION FOR SOLVING THE CUBE? All results we discovered were positive. Speedup and efficiency all varied dependent upon the algorithm used. 26

SOME RESULTS 27

MORE RESULTS 28

SUMMATION OF Q & A S 1.) What is God s Number? The max number it takes to solve the cube no matter the orientation of the cube. 2.) How was God s Number concluded? Algorithms over time got better and better and computing power increased to allow for mass computation for all subsets of positions to be solved. 3.) God s Number on NxNxN cubes? At this point in time it is virtually impossible for cubes larger than a 3x3x3. 4.) What is Disk-Based Parallel Computing? Disk-Based computation is a way to increase working memory and achieve results that are not otherwise economical. 5.) What are the results of a parallel implementation for solving the cube? All results were positive. Some more than others depending on the algorithm used to solve the cube. 29

WORKS CITED [1] https://rubiks.com/about/the-history-of-the-rubiks-cube [2] http://www.cube20.org/ [3] https://www.youtube.com/watch?v=yf2j39xny4q [4] http://arxiv.org/ps_cache/arxiv/pdf/0803/0803.3435v1.pdf [5] https://uta-ir.tdl.org/uta-ir/bitstream/handle/10106/253/ umi-uta-1179.pdf?sequence=1&isallowed=y 30

IMAGE WORKS CITED [1] http://upload.wikimedia.org/wikipedia/commons/thumb/3/30/ Rubik_cube.png/768px-Rubik_cube.png 31

AND THAT S THE END ANY FURTHER QUESTIONS? 32