Newsgroup: it.comp.sicurezza.varie
Titolo: GIOCO PER NEWBIES (e non solo)

Per comprendere bene le basi della sicurezza informatica, dell'hacking,
della programmazione a basso livello e di tantissime altre cose consiglio a
tutti questo giochino molto divertente che apre la mente e rasserena il
cuore.
 Cosa serve ?
1 Dado da gioco, una ventina di bottoni di colore scuro, un rotolo di carta
ingienica e il benestare di Weizenbaum per avergli modificato leggermete
tutta la cosa! ;-)
come si gioca ?
  unica regola fissa.. ogni rettangolino di carta igienica puo' essere vuoto
o contenere al massimo un bottone!
Si srotola parte della carta igienica sul pavimento (un paio di metri)
Si mettono su cinque rettangolini altrettanti bottoni (uno per rettangolo)
Si mettono un po' piu' a destra lasciando tre o quattro rettangolini vuoti
 altri cinque bottoni su altrettanti rettangolini di carta igienica.
 cosi
__ ______________________
|__|_|_|x|x|x|x|x|_|_|_|_|x|x|x|x|x|_|_|
       *
si pone per terra il dado con la faccia "1" rivolta verso l'alto
 poi .. partendo ad esempio da dove e' collocato l'asterisco si gioca
seguendo un obiettivo e determinate regole che devono essere trovate in
relazione all'obiettivo da raggiungere.
 ogni regola e' composta da cinque risposte in sequenza alle domande.
1  quale e' la faccia del dado girata verso l'alto ?
2  cosa c'e' nel rettangolino di carta che stiamo considerando ?
3  cosa mettiamo nel rettangolino di carta che stiamo considerando ?
4  ci spostiamo di un rettangolino a destra, a sinistra o ci fermiamo ?
5  quale faccia del dado dobbiamo girare verso l'alto ?
 ad esempio
     1,0,1,d,2
 significa che se il dado mostra la faccia uno e se il rettangolino di carta
e' vuoto allora mettiamo giu un bottone, ci spostiamo a destra di un
rettangolino di carta igienica e giriamo il dado con la faccia 2 rivolta
verso l'alto.
     3,1,1,s,1
 significa che se il dado mostra la faccia tre e sul rettangolino
 di carta che stiamo considerando c'e' un bottone, lasciamo il bottone dove
sta'
 ci spostiamo a sinistra di un rettangolino e giriamo il dado sull'uno.
 ancora un esempio ..
    2,0,0,stop,2
 significa che se il dado e' sulla faccia 2 e il rettangolino e' vuoto, lo
lasciamo
 vuoto e ci fermiamo, il gioco e' finito.
  semplice no? ;-)
   facciamo ora un esempio di gioco ..
 con questa serie di regole dalla prima fila di bottoni partendo
dall'asterisco si levano solamente quelli interni.
  1,0,0,d,1
  1,1,1,d,2
  2,0,0,s,3
  2,1,0,d,2
  3,0,1,stop,3
 percui dalla posizione di partenza
__ ______________________
|__|_|_|x|x|x|x|x|_|_|_|_|x|x|x|x|x|_|_|
       *
vi troverete dopo n mosse allo stop a questa
__ _______________________
|__|_|_|x|_|_|_|x|_|_|_|_|x|x|x|x|x|_|_|
                        *
 com'e' possibile ? ;-)
 allora.. l'asterisco parte su un rettangolino vuoto e il dado e' su 1
 quindi la prima regola da considerare e' 1,0,0,d,1
 vuol dire che se il dado e' su uno e il rettangolino e' vuoto si lascia
vuoto si va a destra e il dado resta com'e'.
 quindi dalla posizione di partenza si arriva qui
__ ______________________
|__|_|_|x|x|x|x|x|_|_|_|_|x|x|x|x|x|_|_|
          *
 si riapplica la stessa  regola 1,0,0,d,1 e si arriva qui
 _ ______________________
|__|_|_|x|x|x|x|x|_|_|_|_|x|x|x|x|x|_|_|
            *
adesso sul rettangolino c'e' un bottone e il dado e' sull'1 quindi la regola
da considerare e'
la  1,1,1,d,2
spostiamo quindi il dado sul due lasciando il bottone dove sta
ci spostiamo a destra e ci troviamo qui
 _ ______________________
|__|_|_|x|x|x|x|x|_|_|_|_|x|x|x|x|x|_|_|
               *
a questo punto c'e' sempre un bottone ma il dado e' sul 2 quindi la regola
da considerare
e' questa   2,1,0,d,2
 quindi lasciamo il dado sul due e leviamo il bottone spostandoci a destra
di uno.
|__|_|_|x|_|x|x|x|_|_|_|_|x|x|x|x|x|_|_|
                  *
... ecc. ecc..
 dopo un po ci troveremo alla posizione finale
__ _______________________
|__|_|_|x|_|_|_|x|_|_|_|_|x|x|x|x|x|_|_|
                        *
 e il gioco e' riuscito! ;-)
  se vi risulta semplice provate a fare una serie di regole che avvicina la
prima
 serie di bottoni alla secondo come se dovesse sommarli insieme.
  potete anche usare due dadi volendo.. o anche tre.
 cmq per la somma un dado basta!
 vi do io una delle soluzioni:
  1,0,0,d,1
  1,1,0,d,2
  2,0,1,d,3
  2,1,1,d,2
  3,0,0,s,4
  3,1,1,stop,3
  4,0,0,d,1
  4,1,1,s,4
e quindi dalla posizione di partenza
__ ______________________
|__|_|_|x|x|x|x|x|_|_|_|_|x|x|x|x|x|_|_|
       *
vi troverete allo stop a questa
__ ______________________
|__|_|_|_|_|_|_|x|x|x|x|x|x|x|x|x|x|_|_|
                                     *
i bottoni sono stati sommati.
 .. provate a fare una serie di regole che sommi la prima fila di bottoni a
destra della seconda fila.
 grandi premi a chi trova le serie di regole piu' carine magari.. per la
moltiplicazione col numero minimo di dadi ovviamente.
 Per gli espertoni della materia pregasi di evitare alacri castori che mal
si addicono al rotole di carta igienica! ;-)


Che razza di giochini posti?
Ciao
Filippo Citati - 
ci...@mail.teleweb.pt
http://www.teleweb.pt/~fcitati

>Che razza di giochini posti?
 questo SEMBRA un giochino .. ma e' una cosa molto ma molto seria in
realta'. ;-)
 vediamo come butta e poi cominciamo con gli sviluppi.
Master che e' sempre stato socio del Turing Club anche se gira solo a piedi.

On Thu, 24 Dec 1998 19:36:19 +0100, in it.comp.sicurezza.varie you
wrote:

Ok. Allora visto che ti piacciono i "giochini" te ne propongo uno
vecchio ma efficace...
Cinque uomini e una scimmia fanno naufragio su di un isola deserta e
passano il primo giorno a raccogliere noci di cocco per poi cibarsene.
Poi lo ammucchiano tutto insieme e vanno a dormire. Ma metre tutti
dormono uno si sveglia e pensando che il mattino dopo ci sarebbero
stati litigi per la spartizione, decide di prendersi la sua parte.
Perciň divide le noci di cocco in 5 gruppi, rimane una noce che viene
data alla scimmia, poi nasconde le "sue" noci e torna a dormire dopo
aver riunito le restanti noci.
Subito dopo un'altro naufrago si sveglia e fa' la stessa cosa. Ance
lui da una noce alla scimmia,poi nasonde la sua parte e torna a
dormire. 
Uno dopo l'altro tutti e 5 gli uomini eseguono le stesse operazioni.
Alla mattina essi dividono le noci rimaste in parti eguali...
(stavolta per la scimmia niente...)  Naturalmente ognuno sapeva che
mancavano delle noci, ma essendo tutti colpevoli, nessuno parlň.
La mia domandina per te, č Quante noci c'erano all'inizio.
E con questo Vi auguro un Felice quanto lungo e piacevole Natale.


eeehhh mi dispiace Filippo che tu abbia intravisto nel mio articolo un
semplice giochino.
 In effetti io ho citato uno strumento basilare nella conoscenza
dell'informatica.
 Il tuo e' solo un giochino matematico, per di piu' molto semplice e che non
ha niente a che vedere con l'informatica.
 Questo ti fa perdere almeno 10 punti. ;-)
 --------------------------
 Per rispondere al tuo quesito (anche se non mi piace risolvere i giochini
matematici senza scopo e per sfida  ma visto che lo hai postato con tanta
cortesia non posso esimermi..) la soluzione e' molto semplice.
 Le noci di cocco devono essere un valore intero di K con
 K =  (((((N-1)/5*4-1)/5*4-1)/5*4-1)/5*4-1)/5*4 - 1
 ovvero piu' semplicemente
 K =  4(256*N - 2101)/3125 - 1
dove N e' il numero iniziale di noci.
 Ci sono infinite soluzioni .. te ne do una  3121.
 se vuoi tutte le soluzioni S del problema con x che intero  varia da 1 a
piacer tuo ..
  S(x)=3125*x-4    dove x=1 e' appunto la prima soluzione 3121
Si parte dalla considerazione che ad ogni 'levata' il numero di noci meno
uno deve essere divisibile per cinque.
   se necessita lo svolgimento pratico a ritroso..
 all'inizio le noci sono 3121
 il primo leva la noce per il scimmia 3120, divide in 5 gruppi di 624 e leva
le 624 noci sue, ne restano 2496
 il secondo leva la noce per il primate 2495, divide in 5 gruppi di 499 e
leva le 499 sue, ne restano 1996
 il terzo leva la noce per l'ominide 1995, divide in 5 gruppi di 399 e leva
le 399 sue, ne restano 1596
 il quarto leva la noce per lo specchio di Darwin 1595, divide in 5 gruppi
di 319 leva le 319 sue, ne restano 1276
 il quinto leva la noce per lo schifoso sarchiapone 1275, divide in 5 gruppi
di 255 leva le 255 sue, ne restano 1020
 alla mattina dividono le 1020 in 5 gruppi di 204 e se ne vanno tutti a quel
paese! ;-)
 .. studiati anche tu il mio .. vedrai che e' una cosa ben diversa.. non e'
un giochino ripeto, e' uno strumento informatico molto serio.
 ;-)

moltiplicazione col numero minimo di dadi ovviamente.
Solo una cosa non mi e' chiara... che intendi per "sommare" e
"moltiplicare"?...
Io queste operazioni le  ho sempre fatte coi numeri, non coi bottoni... :-))
Ha per caso a che vedere con la somma e moltiplicazione di numeri binari?...
Flamer

 un giochino ripeto, e' uno strumento informatico molto serio.
C'e` da chiedersi se il povero Alan l'abbia pensata mentre era in bagno, a
questo punto... :-)
-- 
Visita la Linux Knowledge Base a 
http://www.cheek.com

Master che e' sempre stato socio del Turing Club anche se gira solo a piedi.
io mi faccio imprestare la macchina da Turing: sembra un catorcio...
ma ci fai tutto ;)
Buttha
-----------------------------------------------------------------------
* h
* Per rispondere rimuovere i
* PGP Key available with fingerprint:
  7772 5C72 7392 538B  34B8 A189 13BC 867A

ma ci fai tutto ;)
  io volevo cambiare la mia .. ne cercavo una col nastro illimitato da ambo
le parti e possibilmente l'astuccio in pelle.
 Quella che ho ha l'astuccio di legno per il nastro che e' un banalissimo
illimitato solamente a destra! :-\
 .. in piu' devo avere un buco nella scatola degli stati perche' mi perde
una quintupla ogni tanto.

questo punto... :-)
  No Alan nella deformazione informatico-corporale c'entra poco e una mia
evoluzione della psicosi logica del Weizenbaum! ;-)
  Pero' messa cosi' dovrebbe risultare meno ostica alla comprensione no!?


A questo ci sto lavorando......mi sa che con meno di 2 dadi non è
possibile.....
Felix
"There is no knowledge that is not power"

sbaglio....
 no al centro no .. io l'ho fatto a mente senza provarlo ma lo stop si trova
o al quinto bottone piu' a destra della prima fila di cinque o sul primo
bottone a sinistra della seconda fila .. non si scappa.
 E' un algoritmo per la somma diverso da quello che uso di solito pero' ..
quello standard finisce dove dici tu ma ci vuole almeno una decina di stati
e quindi minimo due dadi, questo e' piu' semplice da capire.

illimitato solamente a destra! :-\
piegalo a mo' di cerchio: forgia una spira.
E' una approssimazione? hehehe



Si, hai ragione tu, non so a che pensavo! Troppo vinello a pranzo mi
sa...... ;-)
Riguardo alla moltiplicazione.......io credo di avere trovato un modo per
farla usando due dadi, usando per le istruzioni questa sintassi:
D1,D2,B1,B2,B1',B2',M1,M2,D1',D2'
dove D è la faccia attuale del dado, B lo stato della casella, B' lo stato
della casella dopo l'istruzione, M il movimento del dado e D' la faccia del
dado dopo l'istruzione.
Il fatto è che questa sintassi me la sono inventata io 10 minuti fa, quindi
vorrei sapere da master se ha senso, ed eventualmente qual è quella
giusta......


Poi lo ammucchiano tutto insieme e vanno a dormire. Ma metre tutti
Hai toppato, Filippo... il suo sembra un giochino ma e' molto di
piu'... 


Ho trovato un set di regole per eseguire la moltiplicazione con 2
dadi......sempre usando la sintassi di cui al messaggio precedente che non
so se č giusta!
1,1,0,0,0,0,D,N,1,1                (N vuol dire che il cursore resta dov'č)
1,1,1,0,0,1,D,D,2,1
2,1,1,0,1,1,D,D,2,1
2,1,0,0,0,0,S,N,3,1
3,1,1,0,1,0,S,N,3,1
3,1,0,0,0,0,S,N,4,1
4,1,0,0,0,0,S,N,4,1
4,1,1,0,0,0,S,N,5,1
5,1,1,0,1,0,D,N,1,1
5,1,0,0,0,0,STOP,STOP,5,1
Posizione di partenza
|__|_|_|x|x|x|_|_|_|x|x|x|_|_|_|_|_|_|_|_|_|_|
                    *1                *2
Posizione finale
|__|_|_|_|_|_|_|_|_|x|x|x|_|x|x|x|x|x|x|x|x|x|
        *1                                                 *2
La soluzione non č molto elegante ma dovrebbe funzionare.......
Aspetto i ricchi premi e i cotillon! ;-))


giusta......
 si va benissimo .. solo che M1,M2 mi sembrano inutili o perlomeno
ridondanti.
 basta dichiarare   d1,d2,leggi,scrivi,vai,D1,D2
 d1,d2 =  la faccia superiore del dado d1 e d2 al momento di partenza
 leggi = se legge il dato "leggi" (0 /1 bottoni) allora ...
 scrivi = scrive il dato  "scrivi" (0 / 1 bottoni) quindi ..
 vai = va alla posizione "vai" (destra / sinistra / stop ) e
 D1,D2 = i dadi devono essere posti con la faccia D1 e D2 rivolta verso
l'alto.
   quindi ad esempio    3,6,0,1,s,2,1  vorebbe significare che
 se il dado uno presenta la faccia 3 rivolta verso l'alto, il dado due
presenta la 6 e sul rettangolino non c'e' nessun bottone: se ne mette uno ci
si sposta di un rettangolino a sinistra e si gira il primo dado sulla faccia
2 e il secondo sulla faccia 1.
 quindi da cosi :
_____     _____
| o       |   |  o    o |        _____________
|    o    |   |  o    o |       |_|_|_|_|_|_|_|_|_|_|
|      o  |   |  o    o |                       *
 si andrebbe a cosi :
_____    _____
| o       |   |           |     _____________
|          |   |     o    |     |_|_|_|_|_|x|_|_|_|_|
|      o  |   |           |                  *

E' una approssimazione? hehehe
 ehh .. l'ho fatto ma dopo un limitato numero di passi grande a piacere mi
si sormontano gli stati. ;-)
 Ultimamente ho attaccato la fine del nastro con l'inizio ... rovesciando il
capo di una delle due estremita' sottosopra, ho raddoppiato il numero di
passi ma cmq dopo un limitato numero di passi grande a paicere mi si
sormontano gli stati in piu' mi viene una grossa M scritta sulla fronte e da
un paio di bottiglie riesco a mettereci il vino dentro ma non riesco piu' a
tirarlo fuori .. che' sara ??? ;-))

no.. c'e' qualcosa che ti e' sfuggito probabilemnte.
 allora  sul nastro c'e' un solo punto per volta dove tu puoi leggere e
verificare la presenza o meno di un bottone
 ... e  levarlo o mettercene uno nuovo a seconda di quello che hai
verificato precedentemente e di come erano posizionati i dadi.
 I dadi stanno in una scatolina in disparte e non si muovono se non per
girarsi e mostrare facce diverse.
 Non vanno ne sul nastro ne da altre parti .. servono solo per sapere quale
regola e' da applicare in un certo momento.
 Poi il fatto che  la testina 'stia ferma' non e' previsto .. ad ogni passo
obbligatoriamente ci si sposta a destra o ci si sposta a sinistra oppure ci
si stoppa.. in quant'ultimo caso il gioco deve finire.
 Un consiglio e' quelo di fare regole che siano le piu' semplici possibili,
tanto dopo e' possibile attaccarle insieme con poche modifiche la dove una
inizia e l'altra termina con stop.
 ad esempio ..
 queste sono le regole per fare la somma col registro (passo fondamentale e
punto di partenza obbligato per la moltiplicazione!).. ovvero date due file
di bottoni con numero di bottoni A e B.
 Queste regole sommano i bottoni A alla destra della fila B lasciando pero'
A nello stesso posto.
 (servono due dadi .. almeno io ho trovato queste regole.. magari si puo'
fare anche con meno pero'.. )
 Ripeto la struttura delle regole,  a,b,c,d,e,f,g
 a,b -i  primi due dati sono la facce superiori dei dadi uno e due,
c - il terzo dato e' la verifica del rettangolino sotto esame (se e' 0 e'
vuoto quindi si scrive.., se e' uno c'e' un bottone quindi si scrive ...),
d - il quarto e' cio' che bisogna scrivere ( se si legge zero e si scrive
zero non c'e' nessun bottone e si lascia tuto cosi', se si legge zero e si
scrive uno non c'e' nessun bottone ma se se mette uno nuovo, se si legge uno
e si scrive zero c'e' gia un bottone e lo si leva, se si legge uno e si
scrive uno si lascia il bottone che c'e' gia)
 e - e' il GOTO .. puo' essere soltanto S per andare a sinistra, D per
andare a destra e STOP per fermare tutto il gioco.
f,g - gli ultimi due dati sono le facce dei dati che si dovranno vedere
verso l'alto dopo l'operazione.
       se a,b era 1,1   e f,g e' 1,6 vuol dire che il secondo dato va
spostato da 1 a 6.
       Se prima si vedeva verso l'alto la faccia uno ora si dovra' vedere la
6.
 Insomma questo e' l'insieme di regole per la copia con registro
1,1,0,0,d,1,1
1,1,1,0,d,1,2
1,2,0,0,d,1,3
1,2,1,1,d,1,4
1,3,0,0,d,1,3
1,3,1,1,d,1,4
1,4,0,1,s,1,5
1,4,1,1,d,1,4
1,5,0,0,s,1,6
1,5,1,1,s,1,5
1,6,0,0,s,1,6
1,6,1,1,s,2,1
2,1,0,1,d,2,2
2,1,1,1,s,2,1
2,2,0,0,stop
2,2,1,0,d,1,2
 Queste copiano come ho detto un qualunque numero A a destra di un altro
numero B separato da A n spazi a piacere e cominciando l'elaborazione in un
retangolino a sinistra N spazi a piacere da A , lasciando contemporaneamente
A al suo posto.
 Es ..
 mettiamo di partire cosi :
A=3 B=6
D2=1 , D1=1
 ___________________________
|_|_|_|x|x|x|_|_|_|x|x|x|x|x|x|_|_|_|_|_|_|_|
 *
alla fine arriveremo a questa posizione
A=3 B=9
D2=2 , D1=2
 ___________________________
|_|_|_|x|x|x|_|_|_|x|x|x|x|x|x|x|x|x|_|_|_|_|
                  *
   ora coem dicevo prima e' facile implementare anche nuove regole partendo
da quelle gia' fatte.
 Mettiamo ad esempio che io al posto della regola
 2,2,0,0,stop
 sostituisca questa
2,2,0,0,s,2,3
 ed aggiunga queste altre
2,3,0,0,d,2,4
2,3,1,1,s,2,3
2,4,0,0,stop
2,4,1,0,d,1,2
partendo dalle stesse condizioni iniziali  praticamente effettuo
l'operazione matematica
        __ A
        \\                     A^2 + A
B +  /__  i  =  B +  ------------
         i=1                       2
percui  ammettendo di partire cosi :
A=3 B=6
D2=1 , D1=1
 ___________________________
|_|_|_|x|x|x|_|_|_|x|x|x|x|x|x|_|_|_|_|_|_|_|
 *
alla fine arriveremo a questa posizione
A=3 B=12
D2=2 , D1=2
 __________________________
|_|_|_|_|_|_|_|_|_|x|x|x|x|x|x|x|x|x|x|x|x|_|
                    *
  .. o almeno spero! .. a dire il vero non sono sicuro della posizione
finale del cursore cmq funziona.

cuore.
Mio cuggino l'ha fatto: gli si sono allungati gli incisivi, gli e' spuntata
una larga coda piatta, e si e' tuffato in Arno a costruire dighe.
Cio' ha molto preoccupato la famiglia, e anche il WWF, perche' quel trogolo
pare vada a caccia di nutrie per pigiarglielo didietro.
Leonardo
".signature": bad command or file name

tirarlo fuori .. che' sara ??? ;-))
Questo mi fa venire in mente che da un soprammobile portatomi da Murano, da
qualche tempo, gocciola vino rosso.


...

 e beh .. e' normale dopo un lasso illimitato di tempo.. ti do la funzioni
per ricostruirtelo senza difetti. ;-)
Soprammobile[a_][u_,v_]:={(a + Cos[u/2] Sin[v]
   - Sin[u/2] Sin[2 v]) Cos[u],
     (a + Cos[u/2] Sin[v]
   - Sin[u/2] Sin[2 v]) Sin[u],
     Sin[u/2] Sin[v] + Cos[u/2] Sin[2 v]}
ParametricPlot3D[Soprammobile[2][u,v] / / Evaluate,
   {v,0,2Pi}, {u,0,2Pi},
   PlotPoints->{32,32},
   Axes->None,Boxed->False];
  .. questo non gocciola! hi hi hi

pare vada a caccia di nutrie per pigiarglielo didietro.
  Specialmente se le dighe che si e' messo a costruire le fa con un impengo
veramente alacre la cosa non solo e' possibile ma direi quasi scontata..
almeno dopo le prime applicazioni professionali del gioco.
 Peccato che sono dighe incontrollabili .. sai una sega l'acqua che tengono,
per me il wwf farebbe meglio ad abbatterlo e farla finita.. un si fan
soffrire cosi' de cristiani.

La soluzione non è molto elegante ma dovrebbe funzionare.......


numeri...
   se intendi nel senso che sul rotolo vanno messe due file di bottoni ..
una di A bottoni e una di B bottoni separate da un numero a piacere di
rettangolini bianchi si .. non si parte pero' da due punti diversi .. il
punto di partenza e' lo stesso!
 poi il prodotto puo' anche essere un risultato unico
  tipo     0000111000011110000000000
 3 e 4 da moltiplicare .. il risultato viene
             00000000000011111111111100
  praticamente come un prolungamento del 4.
 ma ci sono anche altri metodi .. l'importante e' restare con un numero di
dadi che sia il piu' basso possibile.


Si che mi era sfuggito qualcosa!! Io pensavo che avere due dadi significasse
anche avere due cursori!
Ora è tutto chiaro, ci penso un po' e poi posto..........
Certo che me lo potevi dire anche prima! ;-)))


dadi che sia il piu' basso possibile.
Gia'... il dado non puo' avere piu' di sei facce, vero?...
Penso che sia quello il problema maggiore... pero' e' anche quello che rende
il gioco piu' appassionante...
Flamer

>Gia'... il dado non puo' avere piu' di sei facce, vero?...
  no no no no!!! .. questo e' il bello .. il dado volendone usare solo uno
puo' avere tutte le facce che vuoi!!!!
   (le facce del dado rappresentano gli stati!.. percui al posto di due dadi
o tre dadi per evitare di complicare ulteriormente le cinquine delle regole
si puo' usare un ipotetico dado a N facce.)
 volendo fare un parallelo con 3 dadi ad esempio si potrebbe definire N come
D1 + 6*D2 + 36*D3
 .. i dadi infatti non sono altro che la rappresentazione in base 6 del
numero N.

puo' avere tutte le facce che vuoi!!!!
Ma allora lo si puo' usare anche come contatore... no?...
Ad esempio per ripetere una serie di bottoni (puo' servire per la
moltiplicazione), posso definire gli stati da (per esempio) 10 in poi cosi':
10,1,1,d,11
11,1,1,d,12
12,1,1,d,13
.....
e cosi' via, e poi
.....
13,0,1,d,12
12,0,1,d,11
11,0,1,d,10
10,0,0,stop,10
in questo modo una qualunque fila di bottoni viene moltiplicata per due. E
mi restano gli stati dall'1 al nove per togliere un bottone dall'altra fila
ogni volta che ripeto il procedimento...
Non so, sono le 10 di sera e sono un po' fuso... ma il procedimento non mi
sembra cattivo...
Domani a mente fresca ci riguardo un po' e vedo se riesco a metterlo giu'
per bene...
Flamer

pare vada a caccia di nutrie per pigiarglielo didietro.
eh no cosi' mi fai cadere il mito dei topi nell'arno!!! non sono
topi?? sicuro?? mi che sono topi!! (auguri)
================================================================
f.c...@trident.nettuno.it
 ][ 
e...@cybervalley.org
Key fingerprint=BB 82 C6 18 2B A2 77 44  48 E0 CC E5 BF EC 67 9E
Please,USE PGP...
28 December, 1998; Day 362 of 365,  : time 0.3.41
----------------------------------------------------------------
hate,hate your enemies
save,save your friends
find,find your place
speak,speak the truth.
================================================================

per bene...
  si pero' ricorda che tu non sai quanti bottoni ci sono nella fila.. la
procedura deve essere generica.
 Io ne ho messi 5 e 5 di esempio .. ma potrebbero essere 2 e 9 oppure 4 e
456 .. deve funzionare lo stesso. ;-)
 Le regole vincolate ad un numero preciso di bottoni non sono valide ai fini
del concorso! hi hi hi

del concorso! hi hi hi
E quelle ottenute "per induzione"?... Ad esempio:
10,1,1,d,11
per ogni n>10 : n,1,1,d,n+1
Flamer

Ciao Master, sono un newbie che ha finora osservato l'evolversi del
newsgroup all'ombra... questo tuo "giochino" mi ha molto intrigato e credo
d'esser riscito ad eseguire la moltiplicazione con un unico dado di X
faccie!!
I limiti della mia soluzione sono:
1-I due moltiplicatori devono avere almeno tre caselle di distanza tra uno e
l'altro
es.
(o) =casella vuota; (x) casella piena
ooooxxxxoooxxxxxooo  (4X5) funziona!!!
ooooxxxxooxxxxxoooo  (4X5) non funziona!!!
2-Supponiamo che la moltiplicazione da fare sia n x m la soluzione si
trovera' m caselle spostata verso destra rispetto alla posizione dell'm
iniziale
3-Non si puo moltiplicare per 0!!
Credo che i problemi 1 e 2 siano facilmente eliminabili...mi spiace non aver
potuto farlo causa completa mancanza di tempo....(se vuoi in seguito potrei
cimentarmi...)
Credo che la soluzione sara' sicuramente migliorabile (sia come numero di
istruzioni che come procedimento...) e vista la sua lunghezza te la metto
divisa in parti con spiegazione annessa...(spero che non ci siano errori!!!)
_____________________________________________________________
 1 00d 1            Verifica se il primo elemento da moltiplicare e'
composto
 1 10d 2             da uno (manda in 30) o piu' bottoni (manda in 3)
 2 11d 3            (elimina anche il primo bottone incontrato)
 2 00d 30
______________________________________________________________
 3 11d 3            "Sgrana" i bottoni del 2 elem. da moltip. cioe' li mette
alternati
 3 00d 4             (1 bottone,1 spazio,1 bottone, 1 spazio.......) e
posiziona il cursore
 4 00d 4            due caselle dopo l'ultima occupata
 4 11d 5            es.
 5 10d 6            da     2 membro ooxxxxoooo a ooxoxoxoxoVoo
 5 00d 8             con V= pos. cursore
 6 11d 6
 6 01s 7
 7 11s 7
 7 00d 4
_______________________________________________________________
 8 00s 8          Sgrana ulteriormente il 2 membro e pone i suoi bottoni
 8 11s 9            a distanza di due caselle vuote uno dall'altro
 9 00s 10            es
10 00s 11        da 2 membro ooxoxoxoxoVo  a oVooxooxooxooxooo
10 11d 12
11 00s 16
11 11s 9
12 00d 12
12 10d 13
13 11d 13
13 01d 14
14 00d 15
15 00s 8
15 10d 13
_________________________________________________________________
16 00d 16              Pone un bottone dopo ogni successione di bottoni
creata
16 11d 17               (la prima volta pone un bottone dopo ogni bottone
trovato)
17 11d 17              es.
17 01d 18               2 membro da Vooxooxooxooxooo a oxxoxxoxxoxxV
18 00d 18"
18" 00s 19
18" 11d 17
__________________________________________________________________
19 11s 19            Verifica se c'e' ancora piu' di un bottone al primo
membro
19 00s 20
20 11s 19
20 00s 21
21 00 s 21
21 11 s 22
22 00 s 1              se e' rimasto un unico bottone rimanda all'inizio con
cursore che
23 11s 23            precede il primo membro
23 00d 24
24 10d 25            se i bottoni rimasti al primo membro sono piu' di uno,
cancella
25 11d 25            il primo e poi porta il cursore all fine dei bottoni
del 2 membro
25 00d 26
26 00 d 26
26 11d 27
27 11d 27
27 00d 28
28 11d 28
28 00d 29
29 00s 8
__________________________________________________________________
30 00d 30
30 11d 31            Arriva in questo punto solo quando i bottoni al primo
membro
31 11d 31            sono stati tutti cancellati
31 00d 32            Riempie i spazi creati tra le varie successioni
(quando la
32 00stop            moltiplicazione non e' del tipo 1xm)
32 11s 33
33 01s 34
34 11s 34
34 00d 35
35 10d 30
_________________________________________________________________
Spero che il processo descritto sia corretto.... giuro di aver controllato
piu' volte
e su piu' casi.... spero di non aver fatto errori di trascrizione!!!!
Ciao Bicio

Scusate ho visto solo adesso che master ha postato il file e  Flammer ha
trovato una soluzione migliore!!!!

trovato una soluzione migliore!!!!
Non c'e' mica bisogno di scusarsi... ogni soluzione e' la benvenuta... ora
mi studio come hai fatto...
Ciao,
Flamer

trovato una soluzione migliore!!!!
  purtroppo la tua contiene degli errori.. ad esempio lo stato 21.
ad un certo punto comincia a percorrere il nastro verso sinistra e non si
ferma piu'. ;-)
per chi volesse provarlo sul mio rotolone..
il programma con le regole ben formate e' questo
  ho messo "k"  al posto di 18" .. ma e' lo stesso.
1,0,0,d,1
1,1,0,d,2
2,1,1,d,3
2,0,0,d,30
3,1,1,d,3
3,0,0,d,4
4,0,0,d,4
4,1,1,d,5
5,1,0,d,6
5,0,0,d,8
6,1,1,d,6
6,0,1,s,7
7,1,1,s,7
7,0,0,d,4
8,0,0,s,8
8,1,1,s,9
9,0,0,s,10
10,0,0,s,11
10,1,1,d,12
11,0,0,s,16
11,1,1,s,9
12,0,0,d,12
12,1,0,d,13
13,1,1,d,13
13,0,1,d,14
14,0,0,d,15
15,0,0,s,8
15,1,0,d,13
16,0,0,d,16
16,1,1,d,17
17,1,1,d,17
17,0,1,d,18
18,0,0,d,k
k,0,0,s,19
k,1,1,d,17
19,1,1,s,19
19,0,0,s,20
20,1,1,s,19
20,0,0,s,21
21,0,0,s,21
21,1,1,s,22
22,0,0,s,1
23,1,1,s,23
23,0,0,d,24
24,1,0,d,25
25,1,1,d,25
25,0,0,d,26
26,0,0,d,26
26,1,1,d,27
27,1,1,d,27
27,0,0,d,28
28,1,1,d,28
28,0,0,d,29
29,0,0,s,8
30,0,0,d,30
30,1,1,d,31
31,1,1,d,31
31,0,0,d,32
32,0,0,stop
32,1,1,s,33
33,0,1,s,34
34,1,1,s,34
34,0,0,d,35
35,1,0,d,30
fine

Allora la tua moltiplica, e' di 24 stati al posto dei 12 che ha trovato
ruideti, in compenso la tua dinisce il programma in 155/156 passi si
programma la' dove per la stessa moltiplicazione 3x3 qella di ruideti ce ne
mette 180.
  quindi ha piu' stati ma e' piu' veloce.  ;-)


http://www.teleweb.pt/~fcitati

Mi divertirò a proporlo ai miei amici.
  Ti rispondo io al posto di Filippo che essendo diventato un fine cultore
della macchina di Turing potrebbe sbranarti perche' hai detto che "non ti va
di pensare molto alla soluzione" ;-)
Questo uno pseudo-gioco .. in effetti e' un sistema logico-matematico per
imparare a programmare BENE.
Ti trovi di fronte a una linguaggio di programmazione completo..che non ha
NIENTE a tua disposizione.
  Meno di un qualunque linguaggio macchina e piu' di un qualunque linguaggio
evoluto.
Sai che teoricamente puoi fare di TUTTO pero' .. la tua mente si apre a
nuove prospettive.
Ti devi impegnare anche solo per fare una somma di due numeri binari.
  Dalle metologie che studi su questa cosa semplice la tua 'pratica'
relataivamente alla programmazione ne acquista grandi vantaggi... anche se a
prima vista non ti sembra.
Io avevo la mia macchina di tuirng una volta.. si chiamava zx-80 ..
ringrazio papa' Clive per avermela fatta comprare insegnandomi parimenti che
quando non sia ha nulla a disposizione e si vorrebbe fare tutto c'e' sempre
una strda da seguire che ti porta alla soluzione
.. mai demordere..mai lasciare a meta' .. mai demoralizzarsi.. mai
chiedere.. aprire tutto.. guardare tutto.. sperimentare.. sbullonare...
schiodare..saldare.. leggere..svitare...fare gli occhi del furetto e le
orecchie del gatto.. prendere gli spilli con una mano sola e due spiedini..
afferrare le mosche al volo..
  nella vita del provetto spippolatore sono cose importanti! ;-)

Posto la mia soluzione per la moltiplicazione riveduta: sono sceso a
11 stati ma credo che con questo metodo non si possa scendere di piu'.
Master, ma siamo sicuri che quel tedesco e' arrivato a dieci
stati??????
Qui ci ho perso un pomeriggio "sviluppando" altre idee che pero' si
sono rivelate un mezzo fiasco: il mio cervello e' il mio ergo non si
muove in altre direzioni se non le mie: c'e' qualcuno che ha qualche
idea????? Anche per confrontarsi.
Cmq il i passaggi , moltiplicando 2 x 3 sono 90 per entrambi le
moltiplicazioni (sia la 11, sia la 12).
Ogni tanto mi sembra la battaglia CISC RISC : i CISC molto Codice
pochi cicli macchina , i RISC (io :-P) poco Codice molti cicli
macchina.
Mah ...
byezzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz

stati??????
 si si ;-)
.. la vuoi la SUA macchina di turing in VB ?.. io ne ho una collezione!