Soluzioni del 4 maggio 2026 a cura di Fabio Ciuffoli
Ieri abbiamo presentiamo quattro problemi di cui due inventati e rielaborati da ChatGPT. Di seguito pubblichiamo le soluzioni nostre e quelle del ChatBOT.
Oracoli, corazzate e intelligenza artificiale.
1. I due oracoli. Davanti a te ci sono due oracoli, Randie e Rando, che risponderanno sì o no a qualsiasi domanda tu farai. Randie risponde sì o no a caso a tutte le domande. Rando decide, a caso, se dire la verità o mentire per ogni domanda e poi risponde di conseguenza. C’è un modo per distinguerli?
1. SOLUZIONE. Si possono distinguere utilizzando una domanda autoriferita e ascoltando la risposta. È possibile porre a Rando domande a cui sai che risponderà sempre “Sì”. Ad esempio: “Stai rispondendo sinceramente a questa domanda?” Sia un bugiardo che una persona sincera daranno la stessa risposta “Sì”. Ora continua a fare questa domanda finché non riceverai un “No”. Una volta ottenuto, sai che è Randie , mentre se non lo ottieni puoi essere abbastanza sicura che sia Rando. In sintesi: fai la domanda a uno dei due oracoli, poi ripeti la stessa domanda allo stesso oracolo e se ottieni risposte diverse è Randie (casuale) mentre se ottieni sempre la stessa risposta è Rando.
2. I tre oracoli (da ChatGPT)
Davanti a te ci sono tre oracoli:
Randie → risponde completamente a caso
Rando → ogni volta decide se dire la verità o mentire
Rigor → dice sempre la verità
Non sai chi sia chi. Puoi fare domando con risposta sì/no. Puoi chiedere a chi vuoi
Ogni oracolo conosce la natura degli altri due oracoli.
🎯 Obiettivo
Determinare con certezza chi è Rigor con il minor numero possibile di domande.
2. SOLUZIONE
🧠 Idea fondamentale
Useremo solo domande del tipo:
👉 “Se ti chiedessi X, risponderesti sì?”
Questa forma ha una proprietà cruciale:
✅ Se l’oracolo NON è Randie (quindi Rando o Rigor), allora:
- risponde“sì” se e solo se X è vero
👉 In pratica:
- Rando e Rigor diventano indistinguibili ma affidabili
- Randie resta l’unico problema
🔹 Strategia
Chiamiamo gli oracoli: A, B, C
🔹 Domanda 1 (ad A)
👉 “Se ti chiedessi ‘B è Randie?’, risponderesti sì?”
🔹 Domanda 2 (ad A)
👉 “Se ti chiedessi ‘C è Randie?’, risponderesti sì?”
🔍 Analisi cruciale
Se A NON è Randie:
- le risposte sono affidabili
- quindi identifichi esattamente chi è Randie tra B e C
Se invece A è Randie:
- le risposte sono inutili
👉 ma allora B e C NON sono Randie
🔥 Risultato dopo 2 domande
In TUTTI i casi hai questo:
👉 Sai con certezza almeno un oracolo che NON è Randie
- Se A era affidabile → hai trovato Randie
- Se A era casuale → B e C sono entrambi affidabili
🔹 Domanda 3
Scegli un oracolo non-Randie, chiamiamolo X
Chiedi:
👉 “Se ti chiedessi ‘B è Rigor?’, risponderesti sì?”
🔍 Risultati
- Se X dice “sì” → B è Rigor
- Se X dice “no” → C è Rigor
✨ Intuizione finale
- Le domande autoreferenziali trasformano:
- verità + menzogna →un unico comportamento affidabile
- Rimane solo il problema del caso puro (Randie)
- Le prime 2 domande servono SOLO a garantire:
👉 “trovo qualcuno che non è Randie”
- La terza estrae la verità
🧩 Diagramma decisionale

🧠 Come leggere il diagramma di flusso (in 3 righe)
- Fai 2 domande ad A → o trovi Randie, o trovi chi NON lo è
- Ottieni sempre almeno un oracolo affidabile
- Con la terza domanda identifichi Rigor senza ambiguità
Fabio Ciuffoli: “La soluzione proposta sopra, seppure corretta, non considera tutti i casi possibili. A seguito di ulteriori iterazioni, ChatGPT ha fornito la seguente risposta che mi sembra esaustiva e corretta.”
🧠 Schema finale corretto
🔹 Domande iniziali (sempre ad A)
- Q1 → A:“B è Randie?”
- Q2 → A:“C è Randie?”
(sempre nella forma “Se ti chiedessi…, diresti sì?”)
🔍 Interpreta il pattern
(sì, no) → B è Randie → candidati: A e C → scegli X = C
(no, sì) → C è Randie → candidati: A e B → scegli X = B
(altri) → A è Randie → candidati: B e C → scegli X = B (o C)
👉 In ogni caso scegli X non-Randie
👉 Rimangono due possibili candidati per Rigor
🔹 Domanda 3
👉 A X: “Se ti chiedessi ‘A è Rigor?’, diresti sì?”
🔍 Interpretazione (finale e decisiva)
Caso 1: risposta “sì”
👉 A è Rigor
Caso 2: risposta “no”
👉 A NON è Rigor
Ora:
- tra i due candidati rimasti, uno è Randie (già noto o escluso)
- l’altro è Rigor
👉 quindi X è Rigor
🎯 Flowchart minimal definitivo
Q1/Q2 ad A →
(sì,no) → B Randie → X = C
(no,sì) → C Randie → X = B
(altri) → A Randie → X = B
Q3 → X: “A è Rigor?”
sì → A è Rigor
no → X è Rigor
3. Una corazzata o due corazzate?
Sei un ammiraglio della Marina, responsabile di un’importante missione. Hai due opzioni:
a) Inviare una singola nave con una probabilità di successo del P%.
b) Inviare due navi, ciascuna con una probabilità di successo del P/2%.
Almeno una nave deve avere successo affinché la missione sia considerata riuscita. Qual è l’opzione migliore?
3. SOLUZIONE. L’opzione migliore è la a) Invia una sola nave. L’intuito potrebbe suggerire che inviare entrambe le navi sia la scelta migliore, poiché due possibilità sono meglio di una. È facile constatare che non è così. Ad esempio se P = 100: a) garantisce il successo, mentre b) offre solo il 75% di probabilità di successo (dato che la probabilità di fallimento di entrambe le navi è del 50% x 50% = 25%).
4. Una squadra o tre squadre? (da ChatGPT)
Sei a capo di un’operazione speciale e devi scegliere tra due strategie:
- a) Inviare una sola squadra élite, con probabilità di successo P.
- b) Inviare tre squadre indipendenti, ciascuna con probabilità di successo P/2.
La missione è considerata riuscita se almeno una squadra ha successo.
👉 Quale strategia conviene scegliere?
4. SOLUZIONE
🤔 Perché è più difficile?
- Hai tre eventi invece di due
- Il confronto porta a un’espressione con termini quadratici e cubici
- L’intuizione “più tentativi = meglio” diventa ancora più ingannevole
🔹 1. Definiamo le probabilità
- Opzione a): Una squadra → probabilità di successo: Pa = P
- Opzione b): Tre squadre, ciascuna con probabilità P/2
🔹 2. Probabilità di fallimento di b)
Per una squadra: fallimento = 1 − (P/2). Per tutte e tre (eventi indipendenti): (1 − P/2)3
🔹 3. Probabilità di successo di b) Almeno una ha successo: Pb = 1− (1 − P/2)3
🔹 4. Sviluppiamo l’espressione Sviluppiamo il cubo: (1 − P/2)3 = 1 − (3P/2) + (3P2/4) − (P3/8)
Quindi: Pb = 1 − (1 − 3P/2 + 3P2/4) − (P3/8)
Pb = (3P/2) − (3P2/4 ) + (P3/8)
🔹 5. Confronto con a)
Dobbiamo confrontare: Pa = P e Pb = (3P/2) − (3P2/4) + (P3/8)
Consideriamo la differenza: Pb – P = (P/2) − (3P2/4) + (P3/8)
🔹 6. Analisi del risultato Ora osserva:
- Per valori piccoli di P→ il termine P/2 domina → b) è migliore
- Per valori grandi di P→ i termini negativi (quadratico e cubico) pesano di più → a) diventa migliore
👉 Quindi, a differenza del problema originale (Una corazzata o due corazzate?):
️ Qui NON c’è una risposta sempre valida!
Esiste una soglia tale che:
- sotto → conviene b)
- sopra → conviene a)
🔥 7. Intuizione finale
- Se la probabilità iniziale è bassa, conviene “diversificare” (più tentativi)
- Se è alta, conviene “puntare tutto” su una squadra forte
Se vuoi, nel prossimo passo possiamo trovare esattamente il valore soglia di P.
Fabio Ciuffoli: “Ok, trova esattamente il valore soglia di P”.
Perfetto, troviamo esattamente il valore soglia 🔍
🔹 1. Punto di equilibrio La soglia si trova quando le due opzioni sono equivalenti: Pa = Pb
cioè: P = (3P/2) − (3P2/4) + (P3/8)
🔹 2. Portiamo tutto a sinistra 0 = (3P/2) − (3P2/4) + (P3/8) − P
0 = (P/2) − (3P2/4) + (P3/8)
🔹 3. Eliminiamo i denominatori Moltiplichiamo tutto per 8:
0 = 4P − 6P2 + P3
🔹 4. Fattorizziamo
0 = P(P2 − 6P + 4)
🔹 5. Risolviamo Una soluzione è: P = 0 (che non è interessante per il problema)
Risolviamo il quadratico: P2 − 6P + 4 = 0
P = [6 ± √(36 – 16)]/2) = [6 ± √(20)]/2
P = 3 ± √5
🔹 6. Quale soluzione è valida? Ricorda: P è una probabilità → deve stare tra 0 e 1
- 3 + √5 ≈ 5.24 ❌ impossibile
- 3 − √5 ≈ 0.7643 ✅ valido
✅ Risultato finale 👉 La soglia è: P ≈ 0.764
🧠 Interpretazione
- Se P < 0.764 → conviene inviare 3 squadre
- Se P > 0.764 → conviene una sola squadra
I Giochi del Lunedì di Prisma tornano tra due settimane.