Gioco delle N lampadine tutte spente (come fare?)
Ciao a tutti.
Ho cercato qualcosa di attinente alle lampadine sul forum ma ciò che ho trovato (le mille rane, le n lampadine in cerchio, le 100 lampadine, ecc.) non mi hanno fornito alcuno spunto alla soluzione del mio problema.
Ho N lampadine accese/spente a caso. Ho N interruttori con ciascun interruttore che cambia lo stato di M lampadine predefinite contemporaneamente. Trovare la sequenza del minimo numero di interruttori da premere in modo che tutte le lampadine si spengano.
Facciamo un esempio con N=6:
Sia lo stato iniziale (1=accesa e 0=spenta) delle 6 lampadine (da 1 a 6 da sx verso dx):
1 0 1 0 1 1
Di seguito il comportamento dei 6 interruttori:
1: 1 6 (ossia commuta contemporaneamente da acceso a spento e viceversa lo stato delle lampadine 1 e 6)
2: 2 5 (ossia commuta contemporaneamente da acceso a spento e viceversa lo stato delle lampadine 2 e 5)
3: 3 5 (ossia commuta contemporaneamente da acceso a spento e viceversa lo stato delle lampadine 3 e 5)
4: 3 4 6 (ossia commuta contemporaneamente da acceso a spento e viceversa lo stato delle lampadine 3, 4 e 6)
5: 2 5 (ossia commuta contemporaneamente da acceso a spento e viceversa lo stato delle lampadine 2 e 5)
6: 3 4 6 (ossia commuta contemporaneamente da acceso a spento e viceversa lo stato delle lampadine 3, 4 e 6)
Ora ragionandoci un pochino è lampante che per spegnere tutte le lampadine basta premere gli interruttori 1 e 3 perchè:
stato iniziale:
1 0 1 0 1 1
premendo l'interruttore 1 si cambia lo stato delle lampadine 1 e 6 e si passa a:
0 0 1 0 1 0
premendo l'interruttore 3 si cambia lo stato delle lampadine 3 e 5 e si passa a:
0 0 0 0 0 0
portando le lampadine ad essere tutte spente
Ma se abbiamo N lampadine con N interruttori che commutano M lampadine generate casualmente come posso impostare la ricerca della soluzione con un algoritmo?
Voi come impostereste la ricerca della soluzione a questo problema?
Grazie,
Giovanni.
Ho cercato qualcosa di attinente alle lampadine sul forum ma ciò che ho trovato (le mille rane, le n lampadine in cerchio, le 100 lampadine, ecc.) non mi hanno fornito alcuno spunto alla soluzione del mio problema.
Ho N lampadine accese/spente a caso. Ho N interruttori con ciascun interruttore che cambia lo stato di M lampadine predefinite contemporaneamente. Trovare la sequenza del minimo numero di interruttori da premere in modo che tutte le lampadine si spengano.
Facciamo un esempio con N=6:
Sia lo stato iniziale (1=accesa e 0=spenta) delle 6 lampadine (da 1 a 6 da sx verso dx):
1 0 1 0 1 1
Di seguito il comportamento dei 6 interruttori:
1: 1 6 (ossia commuta contemporaneamente da acceso a spento e viceversa lo stato delle lampadine 1 e 6)
2: 2 5 (ossia commuta contemporaneamente da acceso a spento e viceversa lo stato delle lampadine 2 e 5)
3: 3 5 (ossia commuta contemporaneamente da acceso a spento e viceversa lo stato delle lampadine 3 e 5)
4: 3 4 6 (ossia commuta contemporaneamente da acceso a spento e viceversa lo stato delle lampadine 3, 4 e 6)
5: 2 5 (ossia commuta contemporaneamente da acceso a spento e viceversa lo stato delle lampadine 2 e 5)
6: 3 4 6 (ossia commuta contemporaneamente da acceso a spento e viceversa lo stato delle lampadine 3, 4 e 6)
Ora ragionandoci un pochino è lampante che per spegnere tutte le lampadine basta premere gli interruttori 1 e 3 perchè:
stato iniziale:
1 0 1 0 1 1
premendo l'interruttore 1 si cambia lo stato delle lampadine 1 e 6 e si passa a:
0 0 1 0 1 0
premendo l'interruttore 3 si cambia lo stato delle lampadine 3 e 5 e si passa a:
0 0 0 0 0 0
portando le lampadine ad essere tutte spente
Ma se abbiamo N lampadine con N interruttori che commutano M lampadine generate casualmente come posso impostare la ricerca della soluzione con un algoritmo?
Voi come impostereste la ricerca della soluzione a questo problema?
Grazie,
Giovanni.
Risposte
@Krenn94
IMHO la sezione giusta per la tua richiesta è Informatica: apri lì un nuovo thread e metti un link a questo.
@gimasci99
ribadisco che IMHO il termine "gioco" è un po' riduttivo: tu stesso hai parlato di "problema", "algoritmo", "implementare", "inefficiente" con un tono serio, poco ludico.
I bottoni CITA e RISPONDI vanno bene entrambi per rispondere: si usa CITA per riportare le parole scritte da altri; in ambo i casi la risposta parte quando si preme "Invia".
Mi spiace di aver sospettato di te ma i tuoi interventi del 15-16 settembre e le tue visite erano invisibili.
Se, dopo aver premuto "Invia", non vedevi le tue risposte, forse erano nel limbo.
Io le ho viste solo oggi quando il sistema mi ha notificato il tuo secondo messaggio, quello datato 15/9 ore 9:43, dopo 27 giorni !!
IMHO la sezione giusta per la tua richiesta è Informatica: apri lì un nuovo thread e metti un link a questo.
@gimasci99
ribadisco che IMHO il termine "gioco" è un po' riduttivo: tu stesso hai parlato di "problema", "algoritmo", "implementare", "inefficiente" con un tono serio, poco ludico.
I bottoni CITA e RISPONDI vanno bene entrambi per rispondere: si usa CITA per riportare le parole scritte da altri; in ambo i casi la risposta parte quando si preme "Invia".
Mi spiace di aver sospettato di te ma i tuoi interventi del 15-16 settembre e le tue visite erano invisibili.
Se, dopo aver premuto "Invia", non vedevi le tue risposte, forse erano nel limbo.
Io le ho viste solo oggi quando il sistema mi ha notificato il tuo secondo messaggio, quello datato 15/9 ore 9:43, dopo 27 giorni !!
@veciorik
IMHO la sezione giusta per la tua richiesta è Informatica: apri lì un nuovo thread e metti un link a questo.
ribadisco che IMHO il termine "gioco" è un po' riduttivo: tu stesso hai parlato di "problema", "algoritmo", "implementare", "inefficiente" con un tono serio, poco ludico.
provvedo a farlo immediatamente
I bottoni CITA e RISPONDI vanno bene entrambi per rispondere: si usa CITA per riportare le parole scritte da altri; in ambo i casi la risposta parte quando si preme "Invia".
Ok.
Mi spiace di aver sospettato di te ma i tuoi interventi del 15-16 settembre e le tue visite erano invisibili.
Se, dopo aver premuto "Invia", non vedevi le tue risposte, forse erano nel limbo.
Io le ho viste solo oggi quando il sistema mi ha notificato il tuo secondo messaggio, quello datato 15/9 ore 9:43, dopo 27 giorni !!
Il problema a quanto pare o è dell'aministratore che ha approvato in un sol colpo e solo oggi dopo più di un mese tutti i miei post oppure si era bloccato qualcosa sul forum. Ad ogni modo speriamo che questa risposta non arrivi tra un altro mese altrimenti non avrebbe senso postare. Grazie cmq.
@gimasci99
L'invito di veciorik a postare nella sezione di Informatica non era rivolto a te ma a Krenn94
L'invito di veciorik a postare nella sezione di Informatica non era rivolto a te ma a Krenn94

"axpgn":
@gimasci99
L'invito di veciorik a postare nella sezione di Informatica non era rivolto a te ma a Krenn94
Confermo.
Se le risposte che ti abbiamo dato qui ti hanno soddisfatto, fermati qui.
Se vuoi approfondire, provaci qui !
Forse possiamo farcela, con spirito ludico, senza impegno.
Se non riusciamo a farlo, vai a Informatica.
È già andato ... in Informatica

@Bokonon
Volevo ringraziarti per avermi dato la dritta giusta sulla soluzione dell'algoritmo.
Ho eleganemente risolto implementando l'algoritmo di eliminazione di Gauss.
Determino anche i casi in cui il sistema non ammette soluzioni o è inconsistente, ecc.
Volevo ringraziarti per avermi dato la dritta giusta sulla soluzione dell'algoritmo.
Ho eleganemente risolto implementando l'algoritmo di eliminazione di Gauss.
Determino anche i casi in cui il sistema non ammette soluzioni o è inconsistente, ecc.
"gimasci99":
@Bokonon
Volevo ringraziarti per avermi dato la dritta giusta sulla soluzione dell'algoritmo.
Ho eleganemente risolto implementando l'algoritmo di eliminazione di Gauss.
Determino anche i casi in cui il sistema non ammette soluzioni o è inconsistente, ecc.
Ottimo!
Felice di aver dato una mano