Che cos'è l'intelligenza artificiale? Come creare un algoritmo per risolvere problemi computazionali complessi? Quali sono i vantaggi e gli svantaggi? Come organizzare i dati? Come preparare l'input e interpretare l'output? Come scegliere le librerie e gli strumenti di programmazione? Questo libro intende rispondere a queste e altre domande con un approccio pragmatico orientato al "ragionare per trovare soluzioni". Rivolto al programmatore che vuole avviare lo sviluppo degli algoritmi, è utile anche a chi desidera capire come funzionano certe soluzioni o immaginare nuovi utilizzi. Il volume è fornito di esempi, consigli, codice in linguaggio Python e link, selezionati con cura per cominciare subito a sperimentare gli approcci principali e conoscere le problematiche esistenti.