Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Algoritmi - Miglior rappresentazione binaria di un Cubo di Rubik
Forum - Algoritmi - Miglior rappresentazione binaria di un Cubo di Rubik

Avatar
Dario DF (Member)
Newbie


Messaggi: 19
Iscritto: 19/06/2013

Segnala al moderatore
Postato alle 17:15
Giovedì, 19/09/2013
Ho pensato a quale potrebbe essere la miglior rappresentazione di un cubo di Rubik, ma non ho trovato risposte:

1 - Si possono memorizzare le facce, ma questo è sovrabbondante perché non tutte le combinazioni valide, alcune si ripeterebbero (non esiste uno spigolo entrambi i lati dello stesso colore);

2 - Si può pensare di numerare ogni pezzo e indicarne posizione e rotazione, ma anche in questo caso non è efficiente (se si "rompe" un cubo di Rubik sistemarlo "a caso", ossia con combinazioni di posizione e rotazione, non permette sempre di risolverlo)

Non riesco praticamente a capire che modello segue il cubo e come hanno fatto, ad esempio, a calcolare le varie combinazioni (escludendo quelle del "caso" 2)

Se qualcuno ha qualunque idea risponda pure, non credo che ci sia un unico modo univoco per rappresentarlo :k:

PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1170
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 0:25
Venerdì, 20/09/2013
Non so se ho capito bene, ma a te servirebbe un modo per rappresentare un cubo di rubik in codice... Se ho capito bene io farei cosi:
una matrice tridimensionale 5X5X5 che presenta il dato colore adiacente al blocco, dove ci sono spigoli e blocchi metterei un dato nullo, ti faccio un esempio per farti capire
XXXXX
X143X
X561X
X342X
XXXXX
questa sarebbe un ipotetica faccia, la parte interna dove sono presenti i blocchi sarebbe null (che nello schema sono rappresentati da X)
Spero di essermi spiegato :-)

PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 20:36
Venerdì, 20/09/2013
Eviterei di rappresentare i singoli quadratini "sciolti".
Ci sono 6 quadretti con 1 faccia visibile che tra l'altro non si muovono mai, 8 con 3 facce e gli altri con 2. E si muovono assieme. Quindi ognuno di questi cubetti andrebbe rappresentato come singolo dato.

Un interessante articoletto è questo: http://www2.dm.unito.it/paginepersonali/romagnoli/rubik.pdf

E' prettamente matematico ma da qui poi magari si può passare a una rappresentazione algoritmica con le idee più chiare.

PM Quote
Avatar
Dario DF (Member)
Newbie


Messaggi: 19
Iscritto: 19/06/2013

Segnala al moderatore
Postato alle 21:35
Venerdì, 20/09/2013
Testo quotato

Postato originariamente da netarrow:

Eviterei di rappresentare i singoli quadratini "sciolti".
Ci sono 6 quadretti con 1 faccia visibile che tra l'altro non si muovono mai, 8 con 3 facce e gli altri con 2. E si muovono assieme. Quindi ognuno di questi cubetti andrebbe rappresentato come singolo dato.

Un interessante articoletto è questo: http://www2.dm.unito.it/paginepersonali/romagnoli/rubik.pdf

E' prettamente matematico ma da qui poi magari si può passare a una rappresentazione algoritmica con le idee più chiare.



Testo quotato

Dal documento http://www2.dm.unito.it/paginepersonali/romagnoli/rubik.pdf:

[...] Questi vincoli, sono infatti necessari ma non sucienti a far si che il cubo
sia risolvibile. Ci sono altre tre regole da rispettare, che riguardano l'orientamento dei quadratini di ogni cubetto. Infatti, senza staccare le etichette
del Cubo, ma semplicemente smontandolo, e rimontandolo alla cieca (quindi senza rischiare di prendere cubetti al di fuori dell'insieme ), c'e solo
una probabilita su dodici di riassemblare i pezzi in modo che il Cubo una
volta rimontato sia risolvibile.



Questo testo è esattamente quello che cercavo: il modo di rappresentare il cubo rendendo ogni combinazione scelta a caso risolvibile.

:)

Ultima modifica effettuata da Dario DF il 20/09/2013 alle 21:36
PM Quote