O Cubo Mágico (Cubo de Rubik) é um quebra-cabeça tridimensional inventado em 1974 pelo escultor e professor de arquitetura Ernő Rubik. Lançado internacionalmente em 1980, o cubo se tornou um dos ícones mais reconhecidos da cultura popular, sendo o brinquedo mais vendido do mundo.
Matemática
O puzzle foi originalmente anunciado como tendo “mais de 3.000.000.000 (três bilhões) de combinações, mas apenas uma solução”. Dependendo de como as combinações são contadas, o número real é significativamente maior.
Permutações
No total, o número de combinações possíveis no cubo de Rubik é:
= 43.252.003.274.489.860.000
(quarenta e três quintilhões, duzentos e cinquenta e dois quatrilhões, três trilhões, duzentos e setenta e quatro bilhões, quatrocentos e oitenta e nove milhões, oitocentos e sessenta mil)
Se alguém pudesse realizar todas as combinações possíveis a uma velocidade de um movimento por segundo, demoraria 1,4 quatrilhões de anos, supondo que nunca repetisse a mesma combinação.
Algoritmos
Cada método de resolução do Cubo emprega seu próprio conjunto de algoritmos, junto com descrições de qual efeito o algoritmo tem, e quando ele pode ser usado para aproximar o cubo de ser resolvido. Muitos algoritmos são projetados para transformar apenas uma pequena parte do cubo sem interferir em outras partes que já foram resolvidas, de modo que possam ser aplicados repetidamente a diferentes partes do cubo até que o todo seja resolvido. Por exemplo, existem algoritmos bem conhecidos para percorrer três cantos sem alterar o restante do quebra-cabeça ou inverter a orientação de um par de arestas, deixando as outras intactas.
Desta forma, é possível implementar tais algoritmos e, assim, construir um solucionador de cubo mágico automático! O projeto mindcuber.com disponibiliza diversos projetos de robô para os conjuntos NXT 2.0 ou EV3 LEGO. Os robôs são capazes de executar diferentes tipos de algoritmos de resolução de cubos escritos com Java.
Construindo um robô com LEGO MINDSTORMS EV3 31313
O softwares MindCub3r funcionam com as versões de firmware LEGO EV3 de v1.06H (casa) e v1.06E (educação) em diante. Recomenda-se que o firmware do EV3 seja sempre atualizado para a versão mais recente lançada pela LEGO.
Construa o robô seguindo cuidadosamente as instruções de construção (Casa) ou instruções de construção (Educação) e, em seguida, baixe e instale o software.
O software MindCub3r consiste em três partes principais:
- um arquivo de projeto: MindCub3r-v2p2.ev3 ou MindCub3r-Ed-v2p2.ev3, contendo o programa de controle do motor e do sensor criado usando o ambiente de programação gráfica padrão LEGO MINDSTORMS EV3.
- um programa executável: mc3solver-v2p2.rtf, compilado de C++ que implementa um algoritmo de resolução.
- um aplicativo EV3: “MC3 Solver v2p2”, que é usado para iniciar o programa mc3solver-v2p2.rtf
O programa principal e o programa executável mc3solver-v2p2.rtf se comunicam entre si por meio de arquivos compartilhados no EV3.
O MindCub3r usa o sensor de cor EV3 no modo RGB para permitir que ele meça cores que não podem ser distinguidas pelo modo de cor padrão fornecido pelo software padrão LEGO MINDSTORMS EV3. O bloco Color Sensor RGB deve ser importado para o software LEGO MINDSTORMS EV3 para suportar este modo.
Todos os arquivos de instalação e instruções passo a passo estão disponíveis em http://mindcuber.com/mindcub3r/mindcub3r.html