Newsgroup: it.hobby.enigmi
Titolo: Tetraedri magici

Un numero tetraedrico Tet(N) e' della forma n(n+1)(n+2)/6 =
1,4,10,20....
Con una di queste quantita' N di palle,  potro' formare, una piramide
tetraedrica di lato n.
Se le palle usate sono numerate da 1 ad N, e seguono una certa regola,
allora ottengo un tetraedro magico (TM).
Ecco la regola: Posso collocare la palla num.A sulle 3 sottostanti num.
B,C,D  solo se B+C-D = A.
Ecco un esempio di TM di ordine 3:
   10    03    05          
                        06   04
      07    02                        09
                           01
         08
 
        sotto            medio        sopra
10+3-7 = 6
 5+2-3 = 4
 7+2-8 = 1
 6+4-1 = 9
Quanti TM di ordine 3 possiamo trovare? e di ordine 4,5,6....
:) dario

Il solito "Dario Uri"  propone:

Lo vorrei sapere anche io! Quanti sono?
Io non ci riesco proprio, nessuno ha qualche idea?
Uno sconsolato GaS

 Uno sconsolato GaS
Bravo!Pure io lo vorrei sapere,so' due giorni che me danno l'anima.Poi
un'altra cosa: ma dove li va a prende sti giochetti cosě strani??Bohh!!??

 ha scritto nel messaggio
news:96ibm6$d9b$1...@nreadB.inwind.it...

Vedi, il fatto č che lui pensa sempre giochi normali, poi arriva la moglie
Romana (de nome e de fatto) e gli dice "famolo strano" e lui, detto, fatto,
lo fa strano!
E' cosě che funziona, che ti credi............

 Quanti TM di ordine 3 possiamo trovare? e di ordine 4,5,6....
Per l'ordine 3 ho forzabrutisticamente trovato 3672 soluzioni.
Considerando rotazioni e riflessioni bisognerebbe contarne -credo- una su
sei, e dunque si ridurrebbero a 612.
Di più, non so. Per gli ordini superiori mi aspetto una esplosione del
numero di soluzioni.
Ecco la prima e l'ultima soluzione.
.   1-----2-----7     10----9-----2
.    \ 4-/-\10 /       \ 7-/-\ 6 /
.     \ . 9 . /         \ . 3 . /
.      3-\-/-9           8-\-/-5
.       \ 6 /             \ 4 /
.        \ /               \ /
.         8                 1
Le ho trovate generando tutte le permutazioni, seguendo quest'ordine (le
posizioni tra parentesi sono "poggiate" e lì c'era un test di validità,
per potare i rami secchi).
.   1-----2-----5
.    \(4)/ \(7)/
.     \ (10). /
.      3-\-/-6
.       \(9)/
.        \ /
.         8
Vediamo chi mi spiega questo fatto:
Ho già detto che secondo me ogni soluzione he 6 forme ruotate/riflesse. Ho
provato ad imporre che i vertici 1,5,8 del primo strato fossero ordinati
in ordine crescente. Questo secondo me doveva bastare ad eliminare le
forme equivalenti.
Faccio un esempio: nella mia prima soluzione i tre vertici della base
valgono 1-7-8. Le piramidi ottenute per riflessione e rotazione avranno
come vertici del primo strato le terne ottenute permutando quei tre
valori, e nessune delle altre 5 rispetta l'ordinamento imposo.
Ma con questo vincolo il programma mi genera solo 605 soluzioni, invece
delle previste 612. Dove sono finite le altre 7? in un baco del programma
o c'è una spiegazione?
Ciao, Silv:o)

 o c'è una spiegazione?
La prima che ho detto, e meno male che ho notato l'incongruenza,
altrimenti difficilmente avrei pizzicato quell'indice non correttamente
inizializzato. Dopo la riparazione le cose sono andate a posto:
3936 soluzioni e, col vincolo dei vertici del primo strato crescenti, le
previste 656.
Silv:o)

"Dario Uri" <Da...@Uriland.it> wrote in message
news:3A89700A...@Uriland.it...

Ci sono!!!!!
S
P
O
I
L
E
R
!
!
!
Esaminando brute force il caso per n=3 ho trovato 5184 soluzioni, spero che
non ve le debba scrivere tutte. :o)
Per n>3 ho paura di mandare in palla il computere.
GaS


.                                                                                                 
.
.
.
Proviamo  con la forza bruta, ma brutta,brutta,brutta neh!
Cioe' permutiamo le dieci palle e vediamo se ci stanno
in una semplice equazione logica che descriva il tutto.
Siano P le posizioni nel tetraedro e nella stringa, dove
zero sta per dieci.
    P0
                     P6
  P1  P2                           P9
                   P7  P8
P3  P4  P5
La soluzione di Dario assume la forma concisa di:
"8720351649"
E l'equazione logica diventa banalmente:
((P0+P1-P2=P6)OR(P0-P1+P2=P6)OR(-P0+P1+P2=P6))AND
((P2+P4-P5=P8)OR(P2-P4+P5=P8)OR(-P2+P4+P5=P8))AND
((P1+P3-P4=P7)OR(P1-P3+P4=P7)OR(-P1+P3+P4=P7))AND
((P6+P7-P8=P9)OR(P6-P7+P8=P9)OR(-P6+P7+P8=P9))
Cosi' posso dire che le soluzioni possibili sono
3936/24 = 164, dove 24 dovrebbero essere le rotazioni,
le specularita' e i ribaltamenti 3D, s.e.&o.
Eccone qualcuna:
8720351649
8729431650
8724391605
8724931605
8701295634
8706395241
8706395421
8706935421
8706915423
8704395621
8704935621
8704915623
8752614309
8750694321
8751640239
8756210349
A fare le 10! = 3.628.800 permutazioni e i calcoli
relativi, il mio PC di casa impiega un'oretta.
(Una ciofeca, d'accordo, e' ora di cambiarlo)
Quanto basta pero' per dire che il metodo non va
piu' bene per ordini superiori.
Per n=4 le permutazioni sono 2.43E18 e il tempo
del mio PC diventerebbe 76.000 secoli.
Al massimo posso provare a trovarne qualcuna con
una Darwin Machine, oppure calcolare il numero
delle probabili soluzioni con un metodo statistico.
Oppure butto l'amo e spero che qualcuno del NG abbocchi.
Beh, s'e' fatto tardi.
Ciao  :o)
Livio
-- 
Posted from 
mta21-acc.tin.it
 [212.216.176.74] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 wrote in message
news:96j1cp$ll52h$1...@ID-49224.news.dfncis.de...

Ho usato un metodo identico al tuo ed ho postato la mia soluzione prima di
scaricare nuovi messaggi e cosi non ti avevo visto. Come puoi(e tutti
potete) vedere io ho molte piu soluzioni, non ho pensato alle rotazioni e
quindi ne dovrei eliminare una buona parte ma ne avrei comunque molte piu di
te. Per evidenti motivi non posso controllare l'esattezza di tutte ma la
prima e l'ultima soluzione coincidono con le tue; non trovo un mio eventuale
errore e cosi vado a ripescare il mio codice e ve lo posto sperando che
qualcuno mi illumini.
GaS
P.S.: Cercate di non ridere di me: il programma è in Pascal, so che e'
vecchissimo ma e' l'unico linguaggio di cui conosco qualche cosa.

...
Ho postato senza vedere i 2 post di Silvio e di GaS. Li vedo
ora in sede di verifica.
Mi sembra che il solo dato che coincida sia quel
3936 del 2.o post di Silvio e cio' mi consola. Per me questo numero va
diviso per 24 perche' siamo in 3D. Infatti la legge data da Dario sulla
quaterna delle palle vale per qualunque orientamento spaziale che diate al
tetraedro. Ok?
.
Ciao  :o)
Livio
--------------------------------
Inviato via 
http://usenet.iol.it
 

 previste 656.
Solo adesso ho capito che i TM si possono poggiare su una qualsiasi delle
facce! La proprietà che li caratterizza è invariante rispetto
all'orientamento del tetraedro, infatto è basata solo sull'adiacenza dei
vertici, che non subisce la legge di gravità. Una piramidina di 4 palle è
magica se la somma di due vertici eguaglia la somma degli altri due.
Alla luce di questa osservazione (un po' tarda) possiamo ulteriormente
sfoltire le soluzioni, dividendo per 4. Ne restano 164.
Vedo che GaS ha trovato un numero differente. Ho ricontrollato e credo di
aver ragione. Per quanto rigurda l'ordine successivo ho trovato oltre
40000 soluzioni con la prima piramidina composta dagli elementi 1-2-3-4.
Con la forza bruta difficilmente ne verremo a capo, e poi resterebbe una
magra consolazione sapere che sono 50 milioni dopo un mese di
computazione. La dimensione successiva sarebbe inarrivabile, tanto vale
fermarci qui.
Silv:o)

 wrote in message
news:d49j6.15449$7U4.3...@news.infostrada.it...

Ho risolto tutto: non riuscivo a copiare il sorgente da Pascal per metterlo
su un'e-mail cosi ho ricontrollato tutto e ho trovato l'errore: mi ero
scordato di porre i ed l differenti dove si ha
a    b    e
                d    g
  c    f                    l
                  i
     h
E' incredibile come abbia usato lo stesso metodo identico di Silv:o)
tagliando a meta strada i rami secchi.
E' altresi incredibile che abbia trovato le 3936 soluzioni complete come
detto da quel forzabrutista da 4 soldi di L.Z.(il mio computere e' una vera
schifezza ma ci mette si e no 3 secondi :o)))) contro le 3672 di S. ma abbia
le 656 soluzioni prive di rotazioni ottenute usando il medesimo stratagemma.
GaS
P.S.:Qualcuno mi sa dire come si fa a portare un sorgente dal Pascal a
Windows?

 relativi, il mio PC di casa impiega un'oretta.
miiiiiiiii e che è, un Vic20?
Io con un PII233 ci metterei 55 secondi a fare tutte le 10! permutazioni,
ma potando strada facendo ed eliminando le simmetrie al volo (basta
imporre che i 4 vertici della piramide grande siano crescenti) ci metto 3
secondi e mezzo. Sempre troppi però per la dimensione successiva.
Silv:o)

 Windows?
copia-incolla non funziona? hai forse un Pascal per Dos? Se lo esegui in
finestra anziché a schermo intero credo si possa utilizzare la clipboard
di Win. Comunque se salvi il codice il file dovrebbe essere editabile con
un editor di testo tipo Notepad.
Silv:o)

 tanto vale fermarci qui.
.
Si', ma
Dario ci chiede solo *quante* soluzioni esistono. Ora 20! e' un grande
numero e come tale possiamo trattarlo. E cosi' i successivi. Ora,
determinata la probabilita' che una configurazione casuale sia una
soluzione, moltiplicando questa probabilita' per n!/24 possiamo avere
un'ottima stima del numero delle soluzioni. O no?
.
Ciao  :o)
Livio
P.S. Niente male per un thread che nessuno sembrava voler sviluppare!


 Silv:o)
Si, ho proprio Pascal per Dos, comunque ha funzionato  il note-pad. Visto
che l'ho aperto ve lo mando il sorgente.
GaS
===================================
program tetraedi;
var a,b,c,d,e,f,g,h,i,l, conta: integer;
function verifica(x,y,z,w: integer): boolean;
begin
  verifica:= (x+y-z=w) or (x+z-y=w) or (z+y-x=w)
end;
begin
  conta:=0;
  for a:= 1 to 10 do
     for b := 1 to 10 do
      if a<>b then
       for c:= 1 to 10 do
        if (a<>c) and (b<>c) then
         for d:= 1 to 10 do
          if (a<>d) and (b<>d) and (c<>d) and verifica(a,b,c,d) then
          for e:= 1 to 10 do
           if (a<>e) and (b<>e) and (c<>e) and (d<>e) then
            for f:= 1 to 10 do
             if (a<>f) and (b<>f) and (c<>f) and (d<>f) and (e<>f) then
              for g:= 1 to 10 do
               if (a<>g) and (b<>g) and (c<>g) and (d<>g) and (e<>g) and
(f<>g) and verifica(b,e,f,g) then
                for h:= 1 to 10 do
                 if (a<>h) and (b<>h) and (c<>h) and (d<>h) and (e<>h) and
(f<>h) and (g<>h) then
                  for i:=1 to 10 do
                   if (a<>i) and (b<>i) and (c<>i) and (d<>i) and (e<>i) and
(f<>i) and (g<>i) and (h<>i)
               and verifica(c,f,h,i) then
                    for l:=1 to 10 do
                     if (a<>l) and (b<>l) and (c<>l) and (d<>l) and (e<>l)
and (f<>l) and (g<>l) and (h<>l)
               and (i<>l) and verifica(d,g,i,l) then
                          {if (a>e) and (e>h) then}
                                conta:=conta+1;
writeln(conta);
readln
end.
================================
Si poteva fare piu corto? Io con tutti quei cicli mi sono incasinato non
poco.

 un'ottima stima del numero delle soluzioni. O no?
E come determiniamo tale probabilità?
L'unico modo che mi viene in mente è quello di generare permutazioni a
caso e contare i successi.
Per n=3 funzona benissimo, su un milione di prove poco più di un migliaio
di volte ottego TM (il valore atteso era 3.936 su 3.628.800).
Ma 20! è grande, ma grande grande.
Ho provato con 10 milioni di prove, ma nessuna delle piramidi formate si è
rivelata magica (molto raramente riuscivo a ricoprire due strati). Il
problema è che gli schemi magici si diradano velocemente al crescere di n.
Per una stima spannometrica, può essere utile un risultato che avevo già
riportato: ci sono oltre 40.000 piramidi "magiche" che hanno come punta la
piramidina 1-2-3-4. Altrettante me ne posso aspettare con una delle 23
variazioni di questa, così come con una qualsiasi delle 24 forme di un
qualsiasi altro tetraedo magico di ordine uno formato con 4 palle numerate
da 1 a 20 (sono 987 su 4845 possibili). Quindi mi aspetto 24*987*4000,
poco meno di 10^9 TM4. Su 20!! (un ! è per il fattoriale, l'altro è
proprio un esclamativo :)
Cioè 1 su 2 miliardi e mezzo. Non devo meravigliarmi che con 10 milioni di
prove (e dieci minuti persi) non ho trovato niente. Se tutto va bene ne
trovo una ogni 4 ore. Quanto devo aspettare per avere numeri significativi
per una ipotesi statistica?
Silv:o)

Aproposito dei Tetraedri Magici di Dario Uri:
Avrei pensato questa cosa, dite voi quanto ortodossa:
Sia n il numero delle palle, T il numero dei tetraedrini di 4 palle,
p0 la probabilita' che, pescate a caso 4 palle su n, queste formino
un tetraedrino magico, allora il valore p0^T*n!/24 dovrebbe 
avvicinarsi al numero delle soluzioni.
ORDINE   n       Tetraedrini   p0           p0^T*n!/24      REALI
3        10      4             0,238095     486             164
4        20      10            0,108359     22.623.680
5        35      20            0,059740     1,443E+14
p0^T/24 dovrebbe essere la probabilita' di azzeccare una soluzione
a caso, pari a 1/
100.000.000.000
 per l'ordine 4.
Certo la distanza tra 486 e 164 mi lascia un po' perplesso, ma
avere degli ordini di grandezza e' meglio che niente.
Ciao  :o)
Livio
-- 
Posted from 
mta09-acc.tin.it
 [212.216.176.40] 
