In queste settimane sul sito calenpiario.it vengono proposti alcuni problemi matematici. Quello del 16 aprile aveva una formulazione un po’ strana, forse per fare in modo che non venisse dato in pasto agli LLM. Ad ogni modo io ho voluto comunque provare a vedere cosa succedeva, non con il testo originale ma con uno semplificato, per vedere cosa succedeva. Ho così fatto la domanda «un cubo deve essere dipinto col minor numero possibile di colori scelti tra 24 in modo tale che due facce confinanti su uno spigolo non siano dello stesso colore.In quanti modi può essere colorato il cubo? (Colorazioni che usano gli stessi colori, anche disposti in modo diverso, sono da considerarsi equivalenti)» per vedere cosa succedeva. Un ragionamento “umano” vede che sono necessari tre colori distinti, questi devono essere collocati su facce opposte del cubo, e quindi c’è essenzialmente un unico modo per colorarli: il numero totale di possibilità è pertanto $24 \choose 3 = 2024$. Che è successo in pratica?
Sia Gemini Pro che Math GPT che Claude 2.7 hanno dato la risposta corretta. Invece DeepSeek nella versione “veloce” si è completamente impallato, scrivendo possibili risposte e poi ripensandoci su, fino a terminare con la risposta errata 4048:
Per confronto, DeepSeek “pensante” ha fatto tutto il ragionamento in inglese ma ha dato la risposta corretta.
L’errore di DeepSeek “base” mi ha lasciato molto stupito. Una caratteristica degli LLM che viene molto sottolineata è infatto che il testo generato durante la risposta viene usato per tarare meglio la risposta stessa, in un ciclo di feedback. Insomma, non è un banale sfoggio di “competenza” ma proprio un ausilio alla risposta del sistema. Invece a quanto pare questo è stato un tipico caso di allucinazione: DeepSeek è partito per la tangente, scrivendo
Ma questo è valido solo se consideriamo che tutte le colorazioni con 3 colori sono equivalenti a meno di permutazioni, il che non è vero. In realtà, ci sono 2 distinte classi di colorazioni con 3 colori:
– Colorazione a coppie: Due colori sono usati per due facce opposte ciascuno, e il terzo colore per le altre due facce opposte.
– Colorazione non a coppie: Un colore è usato per tre facce, un altro per due, e il terzo per una faccia, con particolari vincoli di adiacenza.
Quello che parrebbe è che DeepSeek si sia dimenticato del vincolo di non avere due facce adiacenti (o meglio, che non l’abbia più mantenuto nel suo input), anche se comunque il ragionamento resta errato: manca infatti la classe “4 facce del colore A, 1 del colore B, 1 del colore C”. E questo tipo di errore è molto più strano… Diciamo insomma che il ragionamento matematico può ancora lasciare a desiderare.