Home
Programmare AI significa trovare soluzioni a problemi interessanti

12 Settembre 2023

Programmare AI significa trovare soluzioni a problemi interessanti

di

Siamo lontani dall’idea di portare la macchina a pensare come una persona, ma programmare AI porta a una miniera di soluzioni utili per numerosi problemi.

Risultati alla portata di chi sappia programmare AI (bastano un po’ di algebra e le basi della programmazione)

Un breve sguardo indietro ai progressi fatti nel campo dell’intelligenza artificiale è utile per capire come le vecchie tecniche possono essere combinate con nuove idee per risolvere i problemi in modi innovativi. L’intelligenza artificiale non è un’idea nuova. La storia è piena di miti di uomini meccanici e macchine presunte pensanti. Guardando indietro, scopriamo di ergerci sulle spalle di giganti. Forse noi stessi possiamo contribuire nel nostro piccolo ad aumentare le conoscenze dell’umanità.

L’esame degli sviluppi passati evidenzia l’importanza di comprendere i fondamenti dell’intelligenza artificiale; algoritmi nati decenni fa sono ancora fondamentali in molte moderne implementazioni dell’intelligenza artificiale.

La prossima figura è un elenco non esaustivo dei risultati raggiunti nel campo dell’intelligenza artificiale: è semplicemente un piccolo insieme di esempi, ma la storia è piena di molte altre scoperte!

Programmare AI - breve storia dell’intelligenza artificiale

L’evoluzione dell’intelligenza artificiale.

Tipi di problemi e paradigmi di risoluzione dei problemi tipici del programmare AI

Gli algoritmi di intelligenza artificiale sono potenti, ma non possono essere considerati soluzioni magiche in grado di risolvere qualsiasi problema. Ma quali sono questi problemi? Questo paragrafo esamina i diversi tipi di problemi che di solito incontriamo, iniziando a ragionarci. I concetti presentati possono aiutarci a identificare questi problemi nel mondo reale e a guidare la scelta degli algoritmi da utilizzare per trovare una soluzione.

Leggi anche: Data Science: a cosa serve e come funziona

Diversi termini in informatica e intelligenza artificiale sono usati per descrivere i problemi. I problemi sono classificati in base al contestoe all’obiettivo.

Problemi di ricerca: trovare un percorso verso una soluzione

Un problema di ricerca implica una situazione che ha più soluzioni possibili, ognuna delle quali rappresenta una sequenza di passaggi (un percorso, quindi) verso un obiettivo. Alcune soluzioni contengono sottoinsiemi di percorsi sovrapposti; alcune sono migliori di altre; e alcune sono più economiche da raggiungere rispetto ad altre. Una soluzione migliore è determinata dal problema specifico in questione; con soluzione più economica si intende una soluzione computazionalmente più economica da trovare. Un esempio consiste nel determinare il percorso più breve fra due città su una mappa. Possono essere trovati molti percorsi, con distanze e condizioni di traffico differenti, ma alcuni percorsi sono migliori di altri. Molti algoritmi di intelligenza artificiale si basano sul concetto di ricerca di uno spazio delle soluzioni.

Problemi di ottimizzazione: trovare una buona soluzione

Un problema di ottimizzazione implica una situazione in cui esiste un vasto numero di soluzioni valide, e la soluzione migliore in assoluto è difficile da trovare. I problemi di ottimizzazione di solito hanno un numero enorme di possibilità, ognuna delle quali differisce in termini di efficacia nel risolvere il problema. Un esempio è quello dei bagagli nel bagagliaio di un’auto. Come massimizzare l’uso dello spazio? Sono disponibili molte combinazioni e, se il bagagliaio è riempito in modo efficace, può contenere più bagagli.

Problemi di previsione e classificazione: imparare dai modelli presenti nei dati

Nei problemi di previsione abbiamo dei dati riguardanti qualcosa e vogliamo provare a trovarvi degli schemi. Per esempio, potremmo avere dei dati su diversi veicoli e la relativa cilindrata, nonché il consumo di carburante di ciascun veicolo. Possiamo prevedere il consumo di carburante di un nuovo modello, data la sua cilindrata? Se troviamo una correlazione nei dati fra cilindrata e consumo di carburante, questa previsione è possibile.

Intelligenza artificiale spiegata in modo facile

Una guida illustrata per capire con chiarezza come si programma l’intelligenza artificiale, senza bisogno di studiare migliaia di pagine.

I problemi di classificazione sono simili ai problemi di previsione, ma invece di cercare di trovare una previsione esatta, come il consumo di carburante, vogliamo trovare la categoria cui appartiene qualcosa, in base alle sue caratteristiche. Date le dimensioni di un veicolo, la sua cilindrata e il numero di posti, possiamo prevedere se quel veicolo è una motocicletta, una berlina o un SUV? I problemi di classificazione richiedono l’individuazione di modelli nei dati, per raggruppare gli esempi in più categorie. L’interpolazione è un concetto importante quando si trovano dei modelli nei dati, perché ci consente di stimare nuovi punti di dati in base ai dati noti.

Problemi di clustering: identificare i modelli nei dati

I problemi di clustering includono scenari nei quali le tendenze e le relazioni vengono tratte dai dati. Vari aspetti dei dati vengono utilizzati per raggruppare gli esempi in modi differenti. Dati i dati sui costi e sulla posizione dei ristoranti, per esempio, potremmo scoprire che i giovani tendono a frequentare luoghi nei quali il cibo è più economico.

Il clustering ha lo scopo di trovare relazioni nei dati anche quando non viene posta una domanda ben precisa. Questo approccio è utile anche per ottenere una migliore conoscenza dei dati, per capire che cosa permettono di fare.

Modelli deterministici: lo stesso risultato ogni volta che viene calcolato

I modelli deterministici, dato un input specifico, restituiscono sempre un output coerente. Se è mezzogiorno in una data città, per esempio, possiamo sempre aspettarci che ci sia luce diurna; e se è mezzanotte, possiamo sempre aspettarci che sia buio. Ovviamente questo semplice esempio non tiene conto delle insolite durate del giorno nei pressi dei poli.

Modelli stocastici/probabilistici: risultati potenzialmente differenti ogni volta

I modelli probabilistici, dato un input specifico, restituiscono un risultato tratto da un insieme di risultati possibili. I modelli probabilistici di solito hanno un elemento di casualità, che contribuisce a guidare il possibile insieme di risultati. Se è mezzogiorno, per esempio, possiamo aspettarci che il tempo sia soleggiato, nuvoloso o piovoso; non esiste una risposta univoca a questo problema.

Questo articolo richiama contenuti da Intelligenza artificiale spiegata in modo facile.

Immagine di apertura di AltumCode su Unsplash.

L'autore

  • Rishal Hurbans
    Rishal Hurbans è esperto di ingegneria del software e Intelligenza Artificiale. Nella sua carriera è stato alla guida di numerosi team e progetti per diverse aziende. Appassionato di meccanica e strategia aziendale, è autore di successo e speaker apprezzato a livello internazionale.

Iscriviti alla newsletter

Novità, promozioni e approfondimenti per imparare sempre qualcosa di nuovo

Gli argomenti che mi interessano:
Iscrivendomi dichiaro di aver preso visione dell’Informativa fornita ai sensi dell'art. 13 e 14 del Regolamento Europeo EU 679/2016.

Libri che potrebbero interessarti

Tutti i libri

Intelligenza Artificiale spiegata in modo facile

Guida illustrata per programmatori curiosi

41,25

59,99€ -31%

33,25

35,00€ -5%

24,99

di Rishal Hurbans