You are on page 1of 22

TITOLO: L’AI E LE SUE APPLICAZIONI NELL’INDUSTRIA VIDEOLUDICA

INDICE

INTRODUZIONE

CAPITOLO I. L’AI DALLA SUA NASCITA AD OGGI


1.1 Gli albori della cibernetica
1.2 AI e le sue diverse definizioni
1.3 Machine Learning e Deep Learning
1.4 Ambiti applicativi nel resto dei campi

CAPITOLO II. AI E PRODOTTI VIDEOLUDICI


2.1 Sviluppo dell’AI e dei primi videogiochi
2.2 AI dei Videogiochi di Strategia in Tempo Reale (RTS)
2.3 AI dei Videogiochi Sparatutto in Prima Persona (FPS)
2.4 AI dei Videogiochi di Ruolo (RPG, MMORPG)
2.5 Evoluzione dell’AI e altri generi

CAPITOLO III. AI NEL GIOCO DEGLI SCACCHI


DA DEFINIRE

CONCLUSIONI
BIBLIOGRAFIA
SITOGRAFIA
CAPITOLO I. L’AI DALLA SUA NASCITA AD OGGI

1.1 Gli albori della cibernetica


Verso gli inizi del 1940 comincia la diffusione del termine “cibernetica” per intendere lo
studio sistematico dei processi che riguardano il controllo e la comunicazione negli esseri
viventi e nelle macchine; il concetto di principio ha a che fare con lo studio dei meccanismi
di autoregolazione e comando presenti negli organismi naturali che in quelli ‘artificiali’
dotati di capacità di retroazione, cioè la capacità di rispondere in modo adattativo alle
sollecitazioni dell'ambiente modificando il proprio comportamento.
Tra i primi traguardi in questo settore ottenuti dalla comunità scientifica c’è il progetto
condotto dai ricercatori Warren McCulloch e Walter Pitt del 1943, che ispirati dal
funzionamento del cervello umano, proposero un modello di rete neurale; il modello in
questione, costituito da neuroni interconnessi attraverso sinapsi, era capace di
implementare tutti i blocchi della logica booleana (Figura 1). Figura 1 - Esempio di rete
neurale semplice FOTO
Nel 1949 lo psicologo canadese Donald Olding Hebb propose uno studio combinato di dati
provenienti dalla fisiologia del sistema nervoso e dall’analisi sul comportamento umano, il
quale servì ad analizzare in modo approfondito i collegamenti tra i modelli complessi del
cervello umano e i neuroni artificiali, così dimostrando che una modifica delle forze di
connessione fra i neuroni poteva creare processi di apprendimento. Nel 1951 il
matematico e scienziato statunitense Marvin Lee Minsky realizzò il primo computer basato
su reti neurali, la sua denominzione “SNARC” (“Stochastic Neural Analog 6 Reinforcement
Computer”), con la capacità di simulare una rete di 40 neuroni. I primi prototipi funzionanti
di reti neurali, cioè modelli matematici/informatici sviluppati per duplicare il funzionamento
dei neuroni biologici al fine di dare una risoluzione ai problemi di I.A. (ovvero la capacità di
una macchina di compiere funzioni e fare ragionamenti come una mente umana),
arrivarono verso la fine degli anni ’50. Il vero concetto di ‘macchina ideale’ si vede già nel
1936 grazie all’invenzione, da parte del matematico e crittografo inglese Alan Mathison
Turing, della cosiddetta ‘macchina di Turing’, ovvero un modello astratto di macchina con
la capacità di eseguire algoritmi e dotata di un nastro potenzialmente infinito su cui poter
leggere e scrivere simboli; il modello in esame rappresenta uno strumento teorico
ampiamente utilizzato nella teoria della calcolabilità e nello studio della complessità degli
algoritmi per comprendere i limiti del calcolo meccanico. Un altro significativo contributo,
riconducibile al medesimo studioso, è il cosiddetto ‘Test di Turing’, criterio proposto nel
1950 nell’articolo “Computing machinery and intelligence” per determinare se una
macchina possa essere in grado di pensare. Tale teoria prende spunto da un gioco,
l’‘Imitation Game’, a tre partecipanti: un uomo A, una donna B e una terza persona C.
Quest'ultima è tenuta separata dagli altri due e, tramite una serie di domande, deve
stabilire chi è l'uomo e chi la donna. Dal canto loro anche A e B hanno dei compiti: A deve
ingannare C e portarlo a fare un'identificazione errata, mentre B deve aiutarlo. Il test di
Turing si basa sul presupposto che una macchina si sostituisca ad A (le risposte ai quesiti
vengono dattiloscritte). Se la percentuale di volte in cui C indovina chi sia l'uomo e chi la
donna è simile prima e dopo la sostituzione di A con la macchina, allora la macchina
stessa dovrebbe essere considerata intelligente (ovvero in grado di pensare e capace di
concatenare idee ed esprimerle) in quanto, in questa situazione, indistinguibile da un
essere umano (Figura 2). Figura 2 – Esempio di 'Test di Turing' L’evento ufficiale che
segna la nascita dell’I.A. è il “Dartmouth Summer Research Project on Artificial
Intelligence”, svoltosi nel 1956 presso il Dartmouth College, nel quale parteciparono
diversi nomi già noti nell’area dello studio dei sistemi intelligenti tra cui il matematico John
McCarthy del Dartmouth College (inventore del termine “Intelligenza Artificiale”), lo
scienziato Marvin Lee Minsky della Harvard University, l’informatico Nathaniel Rochester
di IBM Corporation, 7 l’ingegnere Claude Elwood Shannon dei Bell Telephone
Laboratories, con l’obiettivo di definire la disciplina dell’I.A. e produrre alcuni progetti di
ricerca per simulare l’intelligenza umana e con essi il lancio dei primi linguaggi di
programmazione (Lisp nel 1958 e Prolog nel 1973) specifici per l’I.A.. Negli anni a venire
l’attenzione si focalizza sul computer, cambiandone la percezione da elaboratore
aritmetico a macchina di livello elevato in grado di risolvere problemi ed elaborare simboli;
nel contempo, la ricerca si concentra allo sviluppo di programmi generali per la soluzione
di problemi e giochi dove, a livello di architetture, è prevista una separazione molto netta
fra la formalizzazione dei problemi (base di conoscenza) e le tecniche (euristiche) di
risoluzione (motore di inferenza o controllo). Nel 1958 lo psicologo americano Frank
Rosenblatt propose e descrisse il ‘percettrone’, ovvero un dispositivo elettronico fornito di
due strati, uno in ingresso ed uno in uscita e di una regola di apprendimento basata sulla
riduzione al minimo dell'errore, la cosiddetta funzione chiamata ‘error backpropagation’
(retro propagazione dell'errore) la quale, in base alla valutazione sull'uscita effettiva della
rete rispetto ad un dato ingresso, altera i pesi delle connessioni (sinapsi) come differenza
tra la vera uscita effettiva e quella invece desiderata; negli anni successivi, alcuni studiosi
ne dimostrarono i limiti (la capacità a riconoscere, dopo un opportuno addestramento,
soltanto funzioni linearmente separabili: una rete a più livelli di ‘percettroni’ avrebbe avuto
le capacità di risolvere problemi più complessi, ma la continua crescita della complessità
computazionale dell'addestramento rese lo sviluppo troppo oneroso per l’epoca).
Successivamente emergono i primi tentativi dello sviluppo di un dialogo uomo-macchina in
grado di imitare il dialogo tra uomo e uomo: uno dei più noti è il chatbot “Eliza”, il software
progettato dall’informatico tedesco Joseph Weizenbaum nel 1966 con l’obiettivo di
simulare una conversazione con un umano. Il chatbot, il quale impersonifica una
psicoterapeuta, mostra sin da subito tutti i limiti e le incoerenze che creano un approccio
puramente sintattico: le domande e risposte sono formulate seguendo degli schemi stabiliti
in modo predefinito e utilizzando manipolazioni a livello sintattico basate sulle affermazioni
del paziente stesso. Tutt’oggi esistono diverse sfide per cercare di ‘superare’ il test di Alan
Turing, anche in parte minimale; ormai diversi assistenti digitali a controllo vocale fanno
ormai parte integrante dell’esperienza comune, e raggiungono dei buoni livelli
nell’interazione e nel dialogo (Siri, CleverBot, Cortana, Echo/Alexa etc.). Inoltre, in questi
anni, sono stati proposti diversi test dediti a coinvolgere anche altre capacità ritenute
fondamentali come quelle senso-motorie, creative, emotive e il ragionamento di buon
senso: tra i più conosciuti ci sono i test basati sugli schemi di “Winograd”, che richiedono
all’agente intelligente non solo la capacità di analizzare a livello sintattico, ma anche la
capacità di interpretare e ragionare di buon senso comune. Nei decenni successivi, la
disciplina dell’I.A. ha a che fare sia risultati entusiasmanti che con grosse delusioni; gli
strumenti computazionali a disposizione dei primi programmatori di I.A. risultano scarni se
vengono confrontati con quelli attuali, ma alcuni programmi assumono un ruolo chiave
nella risoluzione di problemi; emerge la difficoltà di raggiungere risultati in un tempo breve
a causa di alte capacità di calcolo richieste e della difficoltà di trattare i problemi e la
conoscenza non solo a livello di sintassi ma anche a livello di contenuto. All’inizio degli
anni 70’ cominciano a comparire i primi sistemi I.A. con lo scopo di risolvere una
determinata funzione attraverso l’emulazione di un essere umano, esperto del settore in
un dominio limitato e specializzato, offrendo anche spiegazioni sul ragionamento da esso
effettuato per raggiungere quella soluzione. I processi utilizzati per la risoluzione del
problema sfruttano la base di conoscenza che proviene dalla conoscenza dell’esperto di
dominio e vengono creati attraverso un motore di inferenza che implementa algoritmi di
ragionamento
(Figura 3). Figura 3 – Esempio di sistema esperto
Con i Sistemi Esperti si raggiungono negli anni ’80 i primi risultati, con l’applicazione in
diversi campi, tra cui la diagnosi, la progettazione, il monitoraggio, l’interpretazione di dati
e la pianificazione, indirizzando lo stesso interesse per l’I.A. anche verso l’ambito
industriale. In Stati Uniti, Europa e Giappone, vengono investiti fondi per lo sviluppo di
progetti I.A. accostando le reti neurali come oggetto di rinnovato interesse in ambito
applicativo. Infine, si arriva alla consapevolezza che i Sistemi Esperti hanno diversi limiti
generali nella risoluzione di problemi con conseguenti rallentamenti nella loro
realizzazione, derivanti dalla difficoltà di costruire ed aggiornare a livello manuale le basi di
conoscenza. Con la nascita del World Wide Web (WWW) all’inizio degli anni 90’ e
all’ingresso sul mercato dei processori grafici, le ‘Graphics Processing Unit’ (o ‘GPU’, chip
di elaborazione più veloce delle ‘CPU’ (‘Central Processing Unit’), provenienti dal mondo
del gaming con la capacità di supportare processi complessi più rapidamente lavorando a
frequenze più basse e con un consumo minore di energia rispetto la CPU), con la
conseguente diffusione di internet in modo ampio, ha consentito l’accesso a grandi
quantità di conoscenza e informazioni, fornendo all’I.A. nuove prospettive attraverso uno
sviluppo di applicazioni e algoritmi facilitato dalla vasta disponibilità e quantità di dati non
strutturati e da una sempre crescente disponibilità di potenza di calcolo a costo ridotto.
Nell’ultimo decennio è inoltre avvenuto grazie ai progressi nel campo delle nanotecnologie
lo sviluppo dei chip neuromorfici, ovvero che integrano l’elaborazione di dati e lo storage di
memoria in un componente unico per emulare le funzioni sensoriali e cognitive del cervello
umano. Diventati sempre più efficaci anche i sistemi e algoritmi di apprendimento, con un
perfezionamento di tecniche legate ad architetture neurali (anche multistrato) con
apprendimento incrementale anche senza supervisione; l’apprendimento automatico è
stato applicato dando risultati nella classificazione e nell’elaborazione di documenti,
immagini e nella comprensione del linguaggio naturale. I metodi sviluppati sono risultati
sempre più efficienti e performanti per il riconoscimento vocale e la classificazione di foto e
immagini, applicati successivamente con alla robotica e alla visione artificiale con
successo; facendo trarre vantaggio a strumenti che utilizziamo tutti i giorni come traduttori,
ricerca web, riconoscimenti vocali etc. I trend attuali riguardo L’I.A. vengono divisi in 4
categorie  l’utilizzo della quantità di dati offerti dal web;  il vedere l’intelligenza nella sua
interezza;  la continua ricerca nella comprensione del rapporti di connessione tra cervello
e mente;  vedere il consolidamento della dimensione di intelligenza nella sua interezza .
L’I.A. può fornire un valido supporto alle nuove tecnologie, in rapida evoluzione, sia per un
apporto metodologico che, per quanto riguarda la progettazione di nuovi strumenti (come,
ad esempio, sensori sofisticati che necessitano lo sviluppo di sistemi più avanzati che gli
permettono di processare in modo dinamico le informazioni e di conseguenza pianificare
azioni.). Le Tecniche I.A. posso essere utilizzate in una varia scelta di applicazioni, tra cui
servizi per videosorveglianza, il monitoraggio, la teleassistenza e pianificazione di trasporti
logistici etc.; inoltre si apre la possibilità anche per applicazioni che riguardano le
problematiche dell’invecchiamento della popolazione grazie a strumenti tecnologici per la
domotica. Si parla anche di ‘internet del futuro’, ovvero una rete di tipo aperto che
comprende entità auto-organizzate e intelligenti, quali software (agenti, servizi web, soft
bot, avatar), hardware (oggetti, sensori, robot) o esseri umani Queste tematiche appena
indicate forniscono un elemento chiave nell’ambito del programma Quadro per la Ricerca
l'Innovazione della Commissione Europea, “Horizon 2020”, e nell’ambito del Programma
“Industria 4.0”; l’I.A. quindi si afferma un argomento ormai ben radicato e di fondamentale
importanza per lo sviluppo di future applicazioni e servizi in grado di supportare tutto ciò
che riguarda la sicurezza, il clima, la mobilità e la salute.

1.2 AI e le sue diverse definizioni


Da un punto di vista puramente informatico, l’I.A. viene definita come la disciplina che si
occupa di tutte le tecniche a livello teorico e pratico per lo sviluppo di algoritmi che
permettono alle macchine di avere un’attività intelligente in particolari ambiti di
applicazione. Questa definizione ha bisogno però di una classificazione più precisa delle
sue funzioni di tipo sintetico e astratto di ragionamento e apprendimento dell’essere
umano;
da cui emerge la tematica del ‘Cognitive Computing’, ovvero l’unione di tutte le piattaforme
tecnologiche che si basano sulle discipline a livello scientifico dell’I.A. (Machine e Deep
Learning) e il ‘Signal Processing’ (elaborazione dei segnali). Esiste una seconda
definizione legata al ‘Test di Turing’, che descrive l’I.A. come «... l’impresa di costruire
sistemi di simboli fisici che possono passare in maniera affidabile il Test di Turing» (M. L.
Ginsberg). Per quanto riguarda invece la definizione nell’ “Enciclopedia della Scienza e
della Tecnica” Treccani: «L’Intelligenza Artificiale studia i fondamenti teorici, le
metodologie e le tecniche che consentono di progettare sistemi hardware e sistemi di
programmi software atti a fornire all’elaboratore elettronico prestazioni che, a un
osservatore comune, sembrerebbero essere di pertinenza esclusiva dell’intelligenza
umana»
Non necessariamente l’I.A. viene legata agli umani in altre definizioni ma piuttosto
l’interazione col mondo esterno e come ci si adatta; seguendo questa definizione anche
animali, pianti e macchine possiamo definirli ‘intelligenti’ se hanno le capacità di interagire
col mondo esterno che li circonda. Tutto ciò si attiene al contrasto tra l’‘Intelligenza
Artificiale Debole’ e l’‘Intelligenza Artificiale Forte’, dove la prima comprende le macchine
in grado di comportarsi in modo intelligente, mentre la seconda si riferisce alle macchine in
grado di pensare in modo autonomo, cioè, dotate di mente e coscienza proprie. Le
definizioni di I.A. possiamo classificarle in due categorie: la prima che si occupa dei
processi di ragionamento riconducibili al lavoro dell’essere umano e la seconda che si
occupa di descriverne il loro comportamento, sia da un punto di vista funzionale che
strutturale. Quello di tipo funzionale (o comportamentista) scinde l’intelligenza dalla
struttura fisica dell’elaboratore che implementa il sistema cercando unicamente di
emulare. Differentemente quello di tipo strutturale (o costruttivista), si parla di simulazione
diretta del cervello umano riproducendo le stesse caratteristiche e strutture, ovvero le
cosiddette reti neurali. Parlando invece da una visione prettamente operativa, si possono
identificare due approcci diversi all’I.A.: quello ‘top down’ e quello ‘bottom up’. Il primo
utilizza un approccio simbolico ed è indipendente dal livello sottostante: la
rappresentazione degli stati mentali avviene attraverso un sistema simbolico-fisico. Il
secondo (o confessionista), al contrario parte proprio dalle architetture, cioè da reti
artificiali che vanno a simulare i neuroni celebrali umani, per permettere la costruzione di
modalità di ragionamento più complesse e profonde.
Gli approcci di tipo simbolico processano il risultato del ragionamento tramite
manipolazione di simbolo dandogli una forma di tipo formale, al contrario gli approcci di
tipo neurale, attraverso l’interconnessione e l’elaborazione delle sue unità computazionali
lavorano con un approccio di tipo implicito. Da ciò ne traiamo che gli approcci di tipo
simbolico hanno una trasparenza maggiore e sono più facilmente interpretabili da parte
degli individui, diversamente da quelli di tipo neurale maneggiano più facilmente realtà di
tipo mutabili e dinamiche, però penalizzando la trasparenza. Per quanto riguarda l’ambito
percettivo negli ultimi anni i continui sviluppi e risultati degli approcci di tipo bottom-up
relativi alle reti neurali continuano a mostrare come questo approccio e metodologia è
sempre più efficace.
All’inizio degli anni 90 si è portata avanti una discussione da parte di alcuni ricercatori che
portò ad una critica di un’eccessiva superiorità della parte intellettuale e razionale umana
nel concetto di I.A. a favore del ruolo importante degli aspetti ambientali e di percezione,
per poter avere una corretta interpretazione dei sistemi intelligenti.
La discussione porta ad un’identificazione dell’I.A. per la creazione di agenti in grado di
lavorare in modo autonomo e intelligente: ovvero gli agenti vengono messi in un ambiente
e agiscono con azioni(attuatori) su di esso attraverso le percezioni (sensori) che ricevono
dall’ambiente stesso. Gli agenti hanno modo di agire sia in modo reattivo, che in modo
razionale avendo la capacità di porsi obiettivi in modo autonomo, avere intenzioni e
credenze proprie, e avere la possibilità di comunicare tra loro.
Il ragionamento di tipo intelligente degli agenti non sempre ha bisogno di un approccio di
tipo simbolico-deliberativo, ma può essere anche di tipo reattivo attraverso ‘pattern’ in
modo imprevedibile, attraverso l’interazione di comportamenti semplici a livello funzionale,
senza aver bisogno di un coordinamento centrale. Ciò che rende una fonte di ispirazione e
studio nell’osservazione della natura sono proprio la realizzazione di questi comportamenti
di tipo intelligente in ottica collettiva: un chiaro esempio sono le colonie di insetti che tra
loro instaurano un’ottica di lavoro sociale che gli permette di costruire sorprendenti
costruzioni senza avere la visione globale a priori. Un altro chiaro esempio affascinante è
quello della “Swarm Intelligence”, ovvero il coordinamento di comportamento a livello
collettivo tipico di stormi di uccelli o sciami di api. Un altro esempio della stessa
intelligenza è quello definito dagli algoritmi di tipo ‘formiche artificiali’, ovvero sviluppati
secondo la logica comportamentale delle formiche, le quali hanno la capacitò di scovare il
percorso più veloce tra formicaio e una fonte di cibo senza stimoli visivi, ma soltanto quelli
odorosi. Lo studio dei fenomeni appena citati ci ha permesso di costruire sistemi
intelligenti per natura robusti e di tipo adattivo, utilizzati per la risoluzione di problemi nella
robotica da un punto di vista di ottimizzazione, analisi dati e coordinamento. Sicuramente
nel futuro, smartphone, droni etc. potrebbero diventare gli agenti di tipo elementare di
partenza per la composizione di “Swarm Intelligence”. Possibili obiettivi futuri della società
moderna potrebbero essere per esempio sistemi di coordinamento ottimizzati del traffico,
o riguardo il consumo energetico e l’impatto ambientale.
Partendo da un punto di vista sempre naturale ma della selezione della specie per
adattarsi all’ambiente circostante e quindi la teoria dell’evoluzione naturale, si è definito
‘l’algoritmo genetico’ e tutta la computazione evolutiva, sviluppati all’inizio degli anni 70’ da
John Holland.
In questi algoritmi viene individuata una soluzione ricercando una generazione ‘vincente’ e
secondo la base di leggi naturali, è possibile evolverla nella creazione di una nuova
generazione, vista come ipotetica soluzione. Ciò che viene utilizzato per valutare le qualità
di una generazione è la cosiddetta ‘funzione di fitness’, ovvero assicura le soluzioni
migliori per ciò che riguarda la riproduzione; l’aspetto di mutazione permette l’introduzione
di elementi nuovi nella generazione in modo casuale, mentre l’aspetto di riproduzione si
occupa della combinazione di buone soluzioni nella nuova. Con una continua evoluzione
di generazione in generazione, il sistema evolve fino a trovare la cosiddetta ‘soluzione’
ovvero la generazione che viene considerata soddisfacente.
Questa applicazione viene utilizzata in molteplici campi, come la robotica, nella
progettazione, ottimizzazione e analisi di dati e nella previsione. Quindi il termine
Intelligenza Artificiale viene lentamente rimpiazzato dal termine ‘Intelligenza Aumentata’,
così a sottolineare le capacità dei sistemi I.A. a interagire con l’essere umano, non per
sostituirli ma per essere di supporto ed aiutarli a migliorare la loro esperienza e capacità
nella risoluzione di problemi.
L.I.A. può quindi essere osservata tramite diverse chiavi di interpretazione, poiché viste le
sue infinite sfaccettature da un punto di vista teorico che realizzativo, è evidente che
doverla necessariamente classificare o dargli una definizione unica è semplicistico

1.3 Machine Learning e Deep Learning


Iniziando dal funzionamento del cervello umano come punto di partenza, un I.A. è capace
di svolgere alcune funzioni: agire in modo umano, ovvero indistintamente a come si
comporta un essere umano; pensare umanamente, con la capacità di risoluzione con le
funzioni cognitive; pensare a livello razionale, ovvero logicamente; agire a livello razionale,
cioè, mettere in atto processi per ottenere il migliore risultato possibile in base alle
informazioni in possesso.
Tutte queste valutazioni classificano l’I.A. in due tipologie fondamentali, debole e forte.
L’I.A. debole: essa scopre i sistemi che sono in grado di poter simulare le funzionalità
cognitive dell’uomo però senza essere capace di raggiungere le capacità intellettuali reali
di esso, un chiaro esempio sono i classici programmi matematici che si occupano di
problem-solving che sviluppano funzioni per soluzione di problemi o il decision-making
delle macchine; I.A. forte: invece in questa situazione si parla di ‘sistemi pensanti’ cioè che
sono in grado di sviluppare senza necessità di emulazione dei processi cognitivi, la propria
intelligenza.
Distinguere i due tipi di Intelligenza Artificiale permette la costruzione delle definizioni di
‘Machine Learning’ e ‘Deep Learning’, i due più grandi temi di studio nella disciplina
dell’I.A.. Quello che rappresenta l’I.A. dal punto di vista tecnologico e metodologico è il
metodo di apprendimento con la quale essa diventa capace nell’effettuare un compito o un
azione, e sono proprio la differenza tra questi modelli che contraddistinguono il Machine
Learning dal Deep Learning. Lo schema qui sotto illustra le differenze chiave tra I.A.,
Machine Learning e Deep Learning.
(Figura 4 FOTO). Figura 4 - Relazione tra Intelligenza Artificiale, Machine Learning e
Deep Learning Machine Learning
Il Machine Learning, detto anche Apprendimento Automatico, è una statistica applicata
che ci permette di utilizzare computer per la stima statistica di una funzione corretta.

Racchiude una serie di tecniche che da possibilità alle macchine di imparare dai dati stessi
e prendere successivamente una decisione o fare una predizione su di essi, tra le tecniche
in questione troviamo: statistica computazionale, reti neurali artificiali, elaborazione di
immagini, data mining, algoritmi adattivi etc. (Figura 5)
Un sistema di Machine Learning possiamo applicarlo a una conoscenza che proviene da
diverse sorgenti per la risoluzione di diversi compiti: riconoscimento vocale, facciale,
oggetti etc.. Al contrario degli algoritmi che seguono un pattern di istruzioni per risolver un
determinato problema (algoritmi euristici), il Machine Learning permette ad un computer,
da solo, all’apprendimento e il riconoscimento di ‘configurazioni percettive’ e a poter fare
predizioni su di esse.
Figura 5 FOTO- Schema di funzionamento del Machine Learning
Il Machine Learning si può utilizzare ed adattare per tre diverse mansioni: Classificazione,
Clustering e Predizione.
Ciò che realmente compone il Machine Learning è proprio il suo modello di
apprendimento, e si può fare una classificazione degli algoritmi proprio sulla base di questi
modelli:
- con supervisione didattica (Figura 6): tipo di apprendimento attraverso esempi di
input/output che permettono all’I.A. di comprendere come doversi comportare (le ‘etichette’
sono create dall’addestratore per rendere la macchina capace di scoprire relazioni tra
input ed etichette)
Figura 6 - Machine Learning con supervisione
 senza supervisione didattica (Figura 7): tipo di apprendimento attraverso l’analisi dei
risultati, ovvero il software capisce come agire, e il modello di apprendimento si va ad
adattare sulla base degli output che permettono di mappare i risultati di specifici compiti
che successivamente i software sono chiamati a svolgere (le etichette non sono
disponibili; in questa situazione si richiede alla macchina di trovare dei gruppi o cluster
all’interno dei dati); Figura 7 - Machine Learning senza supervisione
 reinforcement learning, ovvero l’I.A. viene premiata al raggiungimento di soluzioni e/o
risultati, in modo da riconoscere la differenza tra le azioni corrette e sbagliate
Il ‘Deep Learning’ detto anche ‘Apprendimento Profondo’,
è composto da modelli di apprendimento che provengono dalla struttura e funzionamento
del cervello umano. Se con Machine Learning parliamo di metodi di ‘allenamento’ per
l’I.A., il Deep Learning è direttamente l’emulazione della mente umana.
Il Deep Learning forma una sotto-area del Machine Learning, il quale utilizza le reti neurali
dotate di diversi strati e di nuovi algoritmi per l’elaborazione dati per la regolarizzazione del
modello, dette anche Reti Neurali Profonde. Il Deep Learning prende molto dalle
Neuroscienze (le reti neurali sono una struttura dell’attività neuronale del cervello umano);
però al conrario del cervello biologico dove ogni neurone può collegarsi a qualsiaisi altro
neurone sotto vincoli fisici, le ‘Reti Neurali Artificiali’ hanno un numero limitato di strati e
direzioni prestabilite per propagare l’informazione. Per molti anni le Reti Neurali Artificiali
sono state messe da parte sia dalla ricerca che dall’industria per colpa dei loro costi
computazionali;
però tra il 2006 e il 2012, Geoffrey Hinton e il suo gruppo di ricerca dell’università di
Toronto, è riuscito a parallelizzare gli algoritmi per le Reti Neurali Artificiali su architetture
parallele. Il risultato è stato notevole poiché ha visto un incremento della quantità di strati,
neuroni e parametri del modello permettendo alle macchine stesse di computare una
quantità di dati elevata addestrandosi su essi.
Il requisito principale per addestrare un modello di Deep Learning è la possibilità di avere
disposizione di grossi training set, il che rende il Deep Learning ideale per fronteggiare
l’era dei ‘Big Data’.
Con l’avvento dei Big Data e delle GPU abbiamo quindi le ragioni legate alla popolarità del
Deep Learning;
Le ragioni sottostanti la popolarità del Deep Learning, infatti, sono legate all’avvento dei
Big Data e delle GPU;
la rete comincia ad ‘apprendere’ attraverso l’algoritmo di addestramento, facendo
riferimento alla quantità massiccia di dati, e quindi capire come raggiungere obbiettivi (per
esempio un classificatore che deve riconoscere un animale dovrebbe essere sottoposto
ad un massiccio quantitativo di dati di tale animale per comprenderne le caratteristiche ed
identificarlo e distinguerlo da altri simili)
Il Deep learning però è sensibile ai ‘bias’ ovvero se le etichette nel modello vengono
create in modo errato, il modello apprende dati errati (agli albori del progetto, il sistema di
riconoscimento facciale di Google etichettò alcune facce di essere umani di origine
africane come gorilla).

1.4 Ambiti applicativi nel resto dei campi


Le ricerche recente denotano che le grandi multinazionali (Microsoft, Google, Amazon,
Appel etc.) hanno cominciato una corsa nell’integrare al proprio interno startup nel campo
dell’Intelligenza Artificiale, ma anche per spingersi subito in progetti di ricerca
(riconoscimento immagini, vocali e traduzioni).
Nel mondo del business la disponibilità di queste soluzioni a livello tecnologico ha
introdotto le forze dell’I.A. in molti frangenti, tra cui:
A) Marketing e Intelligenza Artificiale, Diffusione di assistenti vocali come Siri, Cortana,
Alexa che sfruttano l’I.A. sia per il riconoscimento naturale del linguaggio ma anche
nell’analisi delle abitudini dell’utente, analisi in tempo reale per comprendere i ‘sentimenti’
e le esigenze del consumatore, per accrescere l’user experience, la custom care, ma
anche allo studio e il perfezionamento dei meccanismi di ingaggio per prevedere i
comportamenti di acquisto e la proposta di nuovi servizi.
L’Applicazione dell’I.A. nel settore del Marketing raggiunge nuove vette, specialmente in
tutto ciò che si occupa della gestione tra il rapporto con l’utente. Infatti si è diffusa nuova
disciplina chiamata’ Artificial Intelligence Marketing’ che utilizzando le tecnologie più
moderne in ambito di I.A. come il Machine Learning e il Natural Language Processing,
integrate alla statistica e al marketing comportamentale. Consiste nell’utilizzo di algoritmi
I.A. e il Machine Learning per persuadere le persone ad acquistare un prodotto o
all’utilizzo di un servizio, in un processo continuo di apprendimento e miglioramento per
trovare di volta in volta la strategia migliore di comunicazione e di vendita più efficaci.
B) L’intelligenza Artificiale applicata all’Healthcare.
L’I.A. ha avuto modo di far progredire molti sistemi tecnologici già in utilizzo da persone
con disabilità (come i sistemi vocali), ma il vero punto focale dove si vede la vera forza
dell’I.A. è sul fronte di diagnosi e cura di tumori e malattie rare. Sul mercato sono
disponibili al momento, sistemi cognitivi con la capacità di far fondo su una quantità infinita
di dati e di poter apprendere da essi ( ricerca, cartelle cliniche, dati sui farmaci) ad una
velocità impossibile per l’uomo, così accelerando ogni processo di diagnosi necessario per
malattie rare, suggerendo percorsi di cura ottimali nel caso dei tumori, inoltre si vedono
anche più spesso servizi virtuali di I.A. con maggiore frequenza nelle sale operatorie o nel
primo soccorso.
C) Cybercrime e gestione dei rischi
La prevenzioni delle frodi è uno degli ambiti più profondi dove l’I.A. si muove con i
cosiddetti “advanced analytics”, ovvero analisi molto approfondite che hanno modo di
studiare e correlare in anticipo dati, eventi, comportamenti e abitudini per prevenire attività
fraudolente ( per esempio clonazioni di carte di credito), i quali però possono trovare
anche sbocco per tutto ciò che riguarda il contesto aziendale per quanto riguarda la
sicurezza dati, minimizzazione rischi e i cybercrime.
D) gestione della Supply Chain
Il miglioramento efficiente e la gestione delle catene di approvvigionamento e di
distribuzione richiedono ormai analisi molto approfondite ed elaborate dove l’I.A. va a
rappresentare un sistema efficiente per monitorare e connettere l’intera filiera con tutti i
suoi attori coinvolti; in particolare tutto ciò che ha a che fare con la gestione degli ordini,
mirando non solo alla semplificazione ma alla diretta integrazione di alcuni servizi
partendo dagli acquisti fino all’inventario, dal magazzino alle vendite.
E) L’applicazione a beneficio della Pubblica Sicurezza
Con la possibilità di poter gestire e analizzare enormi quantità di dati in tempo reale, e di
studiarne abitudini, comportamenti, dati di geo-localizzazione, il monitoraggio degli
spostamenti, fornisce gli strumenti adatti per migliorare il servizio di sicurezza in aeroporti,
stazioni, metropolitane per la gestione sia di crimini che di calamità naturali.

CAPITOLO II. AI E PRODOTTI VIDEOLUDICI

2.1 Sviluppo dell’AI e dei primi videogiochi


Come detto in precedenza, lo sviluppo dell’intelligenza artificiale è stato influenzato
dall’avvenire dei videogiochi (grazie allo sviluppo di GPU più potenti), i quali a loro volta
hanno avuto benefici dallo stesso sviluppo dell’I.A. stessa in altri campi, andando
praticamente di pari passo con il corso del tempo.
Vediamo di seguito alcuni storici videogiochi i quali avevano I.A. imprentata in essi, e cosa
erano capaci di fare.
I primi prototipi di videogioco risalgono alla fine degli anni ‘40 ma la prima comparsa sul
mercato di essi si ha effettivamente negli anni ’50.
Nel 1952, A.S. Douglas, riguardo sla sua tesi sull’interazione uomo-macchina all’università
di Cambridge, sviluppò una versione digitale del famoso gioco del tris, dove l’avversario
del giocatore umano era proprio un I.A., infatti non era previsto nel gioco la sfida tra due
giocatori umani.
Successivamente nel 1958 fu il turno di Tennis For Two, di William Higinbontham, che,
come si evince dal nome, si tratta di una versione digitale del tennis dove due giocatori
umani si sfidano, qui il processo di I.A. era la simulazione di una vera forza di gravità
perciò fu il primo gioco ad avere un grafica di tipo dinamica con la quale il giocatore
interagisce nel gioco.
Soltanto con l’inizio degli anni ’60 si comincia a delineare il videogioco come mezzo di
intrattenimento di massa, dove poi nei decenni successivi andrà sempre ad aumentare
esponenzialmente. In questi anni cominciano a fare comparsa diversi programmi grafici
sviluppati dal MIT ( Massachussets Institute of Technology), per esempio Mouse in the
Maze, dove al giocatore era permesso di costruire un labirinto contenente premi ed
ostacoli, dove poi rilasciare un topo virtuale guidato dall’I.A. del gioco che doveva essere
in grado di farsi strada attraverso il labirinto alla ricerca dei premi; Tic-Tac-Toe fu un altro
esempio, sempre il gioco del tris dove l’avversario era controllato dall’I.A..
Nel 1961, Steve Russel insieme ad un gruppo di studenti, sempre al MIT, realizzarono
Spacewar! Uno, se non il gioco più influente di quell’anno, nel quale due giocatori
dovevano sfidarsi ognuno al comando della sua propria navicella spaziale, con i suoi
armamenti, il tutto attorno ad una stella alla quale orbitavano intorno diversi corpi celesti,
formando il centro di gravità del gioco.
Nel 1966 Ralph Baer realizza invece un gioco chiamato Chase, al quale seguì l’anno dopo
Bucket Filling Game, la peculiarità di questi giochi era che potevano girare ed essere
visualizzati su normali schermi televisivi; quindi, furono i predecessori e l’archetipo delle
future console che abbiamo tutt’oggi.
Nel 1969, Ken Thompson, il programmatore dell’AT&T scrisse Space Travel, gioco che
simulava il sistema solare con tutti i suoi corpi celesti simulandone i movimenti, portando
così all’implementazione di un buon motore fisico, lo scopo del gioco era quello di guidare
la propria navicella all’interno del sistema solare, e di atterrare sui vari pianeti edi volta in
volta ripartire per quello successivo. Parte del codice del gioco andrà poi a costituire la
base del sistema operativo UNIX che lo stesso Thompson realizzò insieme a Dennis
Ritchie in quel periodo.
Nel 1971 invece troviamo la comparsa di due versioni arcade di SpaceWar!, questi
saranno poi i precursori della tipologia arcade: Galaxy Game, sviluppato alla Standford
University, in singolo esemplare, e Computer Space, sviluppato dalla Nutting Associates,
la differenza particolare è che nel primo titolo troviamo tutte le caratteristiche del gioco di
origine, mentre nel secondo si ha la possibilità di giocare contro un avversario controllato
da I.A., il giocatore doveva affrontare più di un disco volante controllati dall’I.A. ed essere
in grado di abbatterne di più dell’I.A. stessa che lo sfidava, nonostante ciò il gioco non
ebbe grande successo per colpa della difficoltà elevata della sfida.
Nel 1972, Bushwell fondò la Atari, per avere la possibilità di produrre in proprio
videogiochi. Nello stesso anno esce il loro primo videogioco PONG, il quale fu un grosso
successo immediatamente. PONG, ovviamente era una riproduzione digitale del gioco del
ping-pong, in cui il giocatore controllava una barretta che raffigurava la racchetta e doveva
fare in modo che la pallina non oltrepassasse la propria barretta, facendo rimbalzare la
pallina stessa sulla propria barretta per mandarla in direzione dell’avversario, che poteva
essere sia un giocatore umano che un giocatore controllato da I.A. la quale sapeva già
dove muoversi in base a dove si direzionava la pallina, questa pratica però oggi è
considerato cheating dell’ I.A. verso il giocatore.
Sempre nello stesso anno, Gregory Yob scrisse Hump the Wumpus, ovvero un gioco in
stile nascondino dove il giocatore doveva dare la caccia alla creatura di nome Wumpus
all’interno di labirinto di stanze.
Tra il 1975-76 cominciano a comparire i primi videogiochi di ruolo (GDR/RPG) ispirati a
Dungeons & Dragons, anche lui uscito in quegli stessi anni. Uno dei primi videogiochi del
genere fu Dungeon, sviluppato da Don Daglow, che fu il pioniere nell’introduzione delle
varie caratteristiche le quali saranno altrettanto importanti per altri tipi di videogioco, un
esempio fu la line of sight (linea visuale, LoS), cioè la simulazione del campo visivo del
personaggio, utilizzata sia da personaggi giocanti (PC) che da personaggi controllati da
I.A. di gioco (NPC); altri precursori del genere furono DND, uscito nel ’75, Telengard nel
’76 e Zork nel ’77.
Sempre tra le categorie dei giochi dei ruolo e dei dungeon ci fu Multi-User Dungeon(MUD
I), uscito nel 1978, fu il primo gioco a realizzare un mondo virtuale multi utente al quale si
accedeva tramite la rete, rendendolo così il capostipite del genere MUD, che sarà il
predecessore che porterà allo sviluppo dell’attuale MMORPG (Massively Multiplayer
Online Role Playing Game).
Lo stesso anno però fu anche l’anno d’oro del genere arcade con Space Invaders e
Asteroids dell’Atari, giochi che poi diventeranno titoli cult nella storia dei videogiochi,
verranno poi seguiti nel 1979 da Galaxian della Namco.
Con l’avvento degli home computer, i predecessori degli attuali personal computer e
precursori delle attuali console moderne, si cominciò a diffondere la possibilità di avere
uno strumento per permettere ai giocatori di giocare in modo semplice comodamente da
casa; i maggiori fornitori all’inizio furono la Apple Computer e la Commodore International,
che si dividevano il mercato sia per gli home computer che per i videogiochi.
In questo decennio cominciarono a definirsi in modo più preciso le moderne categorie di
videogiochi
• Azione-Avventura-Roleplay, con Zork (1980), Dragon Slayer II: Xandau (1985), i primi
capitoli della serie The Legend of Zelda (1986 e 1987);
• Platform, con Space Panic (1980), Donkey Kong (1980), Mario Bros (1983), Metroid
(1986) e Prince of Persia (1989);
• Maze Game, con Pac Man (1980), 3D Monster Maze (1981) e Dungeons od Daggorath
(1982);
• Strategia in Tempo Reale, con Herzog Zwei (1989);
• Roleplay, con Akalabeth (1980), Ultima (1981), Dragon Quest (1986), Phantasy Star
(1987) e Final Fantasy (1987);
• Sparatutto in Prima Persona, con Astron Belt (1983), MIDI Maze (1987) e
Interphase(1989);
• e molti altri ancora.
I giochi sviluppati dagli anni ’80 hanno cominciato a vedere un incremento esponenziale
sia da un punto di vista di grafica e interfaccia, che da un punto di vista di I.A., chiamata a
svolgere sempre più compiti per simulare sempre più alla perfezione un avversario.
Comincia ad essere introdotto anche il concetto di “difficoltà” all’interno dei giochi, dove
prima era presente un solo livello di difficoltà, ora il giocatore ha la possibilità di variare il
livello rendendolo più semplice o complesso, in base ai suoi desideri. Questa caratteristica
è di fondamentale importanza per la longevità di un gioco, aumentandone così la
diffusione permettendo alle case produttrici di attrarre più giocatori, poiché essi
perderanno meno interesse visto che il gioco non sarà più “troppo facile” o “troppo
difficile”.
Alla fine degli anni ’80 con l’avvento dei personal computer, sempre dalle più alte
prestazioni grafiche e di calcolo e con l’avvento delle console agli inizi degli anni ’90 con
prestazioni grafiche superiori a quelle del computer, il declino del giochi arcade era
segnato, tanto è che molti di questi giochi vennero implementati per essere giocati
appositamente su pc e console.
In tutto ciò con l’evoluzione sempre maggiore dei calcolatori permise anche alla stessa I.A.
all’interno dei giochi di poter implementare sempre più meccanismi, come la possibilità di
prendere decisioni in modo autonomo o anche la possibilità di imperfezione come
nell’essere umano, quindi essere capace di commettere errori e sbagli nello svolgimento di
un compito.
In questo periodo fanno la loro comparsa molteplici titoli diventati famosi e fuori dai generi,
che a loro volta si differenziano dagli altri per le loro caratteristiche e cominciano a dare
definizione ad un genere loro vero e proprio, se non anche a creare sottogeneri.
Passiamo Adesso ad esaminare alcune di queste categorie di videogiochi dove l’I.A.
assume un ruolo molto importante per il loro funzionamento, andando a influenzare in
modo impattante il gameplay.

2.2 AI dei Videogiochi di Strategia in Tempo Reale (RTS)


In un videogioco di strategia in tempo reale (real time strategy, RTS) si vanno ad
affrontare due sfide specifiche: la prima è quella della creazione e gestione di un centro di
produzione unità e di raccolta delle risorse, la seconda è quella di creare un proprio
esercito o forza armata in grado di sconfiggere gli eserciti nemici e successivamente
conquistare i centri produttivi del nemico. Come si evince questa è una simulazione fedele,
nei limiti del gioco, di una guerra, dove può essere anche necessario dover stringere
alleanze o tregue in un suo intricato sistema.
Il gioco è spinto verso un contesto multi-giocatore, dove gli altri giocatori possono essere
sia composti da giocatori reali che controllati da I.A. del gioco, alla quale si può assegnare
anche un grado di difficoltà.
Esempi di giochi famosi del genere sono: Warcraft, Age of Empires, Starcraft, Caesar, Age
of Mythology e The Settlers.
Nel genere degli RTS distinguiamo due tipi di IA distinte: la prima è quella che simula il
comportamento del giocatore umano, mentre la seconda è quella che gestisce le azioni
automatiche di unità ed edifici di gioco, sia che siano controllate o meno dal giocatore
umano.
L’I.A. che simula il giocatore umano, deve essere in grado di saper prendere decisioni di
tipo economico, militare e strategico, ovvero deve essere capace di gestire le risorse di cui
viene fornita all’inizio del gioco in modo da poter sostenere poi lo sforzo bellico richiesto
successivamente nella partita, deve essere in grado di formare eserciti, e di difendere e
controllare importanti punti di risorse nella mappa, attaccando anche il proprio avversario.
Inoltre se delle meccaniche di alleanza sono incluse, deve essere capace di collaborare
con i propri alleati e saper valutare ipotetiche richieste di alleanza o resa; oltre tutto ciò
deve essere in grado di poter comunicare in un certo modo con il giocatore umano, amico
o nemico che si trova davanti.
Mentre le funzioni di tipo decisionale utilizzano algoritmi molto raffinati di tipo decisionale e
comportamentale, le funzioni di comunicazione solitamente sono molto semplici e
rispondono ad una piccola gamma di comandi altrettanto semplici. I parametri che questo
tipo di I.A. utilizza per fare le sue decisioni vengono decisi dal giocatore in fase di
inizializzazione e creazione all’inizio della partita, il tutto tramite i parametri di gestione
della difficoltà dell’I.A, mentre ai livelli di difficoltà bassi il gioco tra giocatore e I.A. è
spesso bilanciato, a livelli più alti invece l’I.A. si ammette che possa barare in vari modi a
seconda del gioco per rendere la sfida veramente ardua.
L’I.A. adibita a gestire le azioni/reazioni automatiche delle unità è un componente
fondamentale per il funzionamento e il successo di un buon RTS, che viene messo a
supportare il giocatore umano, che non sarebbe in grado di gestire autonomamente tutte
le singole unità senza questo tipo di supporto. Questo tipo di I.A. è molto più semplice
della precedenza perché si limita ad un insieme di azioni e reazioni seguendo degli schemi
prestabiliti a stati finiti che spesso è molto semplice. Anche questo aspetto può essere
modificato successivamente dal giocatore, per esempio durante il corso della partite il
giocatore può modificare il comportamento della singola unità, solitamente gli stati che ha
sono quello di tipo “aggressiva”, ovvero di attaccare ogni nemico nelle vicinanze fino alla
sconfitta, “difensiva”, attaccando soltanto il nemico solo se a portata senza inseguirlo, o
“neutrale” ovvero l’unità non fa azioni offensive a meno che non richiesto da un comando
del giocatore.

2.3 AI dei Videogiochi Sparatutto in Prima Persona (FPS)


In un gioco sparatutto in prima persona (first person shooter, FPS) si interpreta un
personaggio che solitamente è un soldato, il quale deve affrontare una serie di sfide
combattendo generalmente con armi da fuoco. La caratteristica principale di questo
genere è che la visuale di gioco del personaggio è in prima persona, da cui il nome del
genere. Il genere rientra nelle simulazioni di guerra, in cui però solitamente si controlla
soltanto il proprio personaggio, o al massimo un piccolo battaglione.
Il gioco è prettamente impostato per un contesto multigiocatore, che siano umani o
controllati da I.A. del gioco al quale può essere impostato un grado di difficoltà
Esempi di giochi famosi del genere sono: Quake, Doom, Medal of Honor, Call of Duty,
Halo, Unreal Tournament e Half Life.
Solitamente in questo genere di gioco c’è un solo tipo di I.A., ovvero quella dei personaggi
non giocabili, i quali non sono controllati dal giocatore, anche se ormai viene utilizzata
anche I.A. per proiettili ed esplosivi. L’I.A. di un personaggio deve quindi essere in grado di
poter svolgere tutte le azioni che può eseguire un giocatore. Prima di tutto deve essere in
grado di sapersi muovere, ed saper riconoscere il modo più ottimale per spostarsi, che
esso sia strisciando, correndo ecc., ma allo stesso tempo anche quando conviene restare
fermi o casomai accovacciarsi o stendersi a terra. Deve saper valutare se sia il caso di
cercare un riparo per defilarsi dalla visuale nemica o se invece sia il caso di rimanere allo
scoperto. Deve essere consapevole se vale la pena cercare riparo per togliersi dalla
visuale nemica o restare allo scoperto. Deve essere in grado di combattere, valutare il tipo
di armi che possiede e scegliere le migliori da utilizzare verso il nemico che ha davanti,
inoltre deve essere capace di prendere la mira con le proprie armi, ma in modo imperfetto,
infatti nell’I.A. vengono inseriti dei meccanismi per non rendere la mira perfetta, proprio per
simulare la mira umana, ed infine deve essere capace di collaborare con altri giocatori o
I.A. controllate dal gioco. L’accuratezza con cui l’I.A. svolge queste azioni è fortemente
influenzata dal livello di difficoltà impostato dal giocatore nel gioco, che si può definire
come il livello di intelligenza utilizzato dall’I.A. Il tipo di I.A. che invece si occupa di proiettili
ed esplosivi è di tipo molto più semplice all’apparenza, ma che in realtà devono tenere
conto e gestire diversi parametri che risultano complessi, ovvero la semplicità apparente
sta nel controllare per esempio la prossimità, se ha colpito qualcosa o meno, un conteggio
dell’energia cinetica per quanto riguarda l’esplosione ed eventuali danni inflitti al giocatore
o edifici. In sintesi, tutte queste piccole operazioni nell’insieme vanno a definire la difficoltà
di questo tipo di I.A., che però resta comunque meno complessa di quella principale, e a
volte neanche viene implementata.

2.4 AI dei Videogiochi di Ruolo (RPG, MMORPG)


In un videogioco di ruolo (Role Playing Game,RPG), e nella sua variante multigiocatore di
massa ( Massively Multiplayer Online Role Playing game, MMORPG), il giocatore
interpreta letteralmente il proprio personaggio giocante all’interno del mondo di gioco
(generalmente fantastico ma non necessariamente), nel quale dovrà affrontare vari tipi di
sfide e difficoltà per aumentare di livello, crescendo e potenziandosi.
Tali sfide sono solitamente divise in due macrocategorie:
• Player vs Player (PvP): in cui i personaggi giocanti si sfidano tra di loro singolarmente o
in gruppi per dimostrare chi di loro sia il più forte e quindi il vincitore;
• Player vs Enviroment (PvE): in cui i personaggi giocanti devono affrontare sfide poste dal
mondo di gioco, sia singolarmente che in gruppo, combattendo contro personaggi e
creature controllate dall’I.A.
Il gioco è tendenzialmente incentrato al multigiocatore.
Esempi di giochi famosi del genere sono: EverQuest, Fallout, World of Warcraft, Guild
Wars, The Elder Scrolls e Final Fantasy.
In un videogioco di questo genere, l’I.A. ha il compito di gestire ogni singolo personaggio o
creature non controllabile in modo diretto dal giocatore, e vengono detti NPC (non
playable character).
Questi NPC si dividono in molteplici categorie a seconda del loro ruolo nel mondo di gioco
e dalle loro reazioni nei confronti dei giocatori, per cui ogni categoria possiede una sua I.A.
con un livello di consapevolezza diverso in base alle sue mansioni nel mondo di gioco. In
generale però tutte le categorie di I.A. che si possono incontrare nel gioco, hanno un set di
azioni basilari: devono sapersi muovere e saper riconoscere unità amiche e nemiche, e
nel secondo caso come combatterle.
In base alla categoria di ogni determinato NPC, tali funzioni vengono poi raffinate e
affiancate da altre, come per esempio la possibilità di potere dare missioni ai giocatori da
seguire, il poter avere un dialogo, anche se con testi preimpostati in modo da fornire loro
una storia, o ancora poter usare oggetti e lanciare magie, poter chiamare altri NPC o
spostare i giocatori in altri luoghi, ovviamente questa lista è infinita, poiché con le sempre
più moderne tecnologie le capacità degli NPC è sempre in costante aggiornamento. Oltre
all’I.A. degli NPC, talvolta si trova anche un’I.A. che controlla eventuali creature e
personaggi evocati dal giocatore, solitamente per combattere. Solitamente i comandi di
quest’altri NPC sono lasciati in completa mano del giocatore, ma talvolta si può
configurare questo tipo di I.A. nell’interfaccia di gioco stessa. I comandi sono gli stessi
degli altri NPC nella maggior parte dei casi, ma alcuni posso essere forzati anche dal
giocatore stesso.
Perciò per un videogioco RPG/MMORPG non c’è un numero definito di I.A., ma è una
famiglia intera di I.A., che è dipendente dal titolo di gioco, alla quale viene demandata una
grande quantità di compiti.

2.5 AI nei Videogiochi di Simulazione


Ovviamente l’utilizzo dell’I.A. non si limita ai generi sopra citati, ma quelli sono dei chiari
esempi di come l’I.A. sia una parte integrante e fondamentale del gioco, dove senza di
essa non ne sarebbe possibile l’esistenza.
Con il passare degli anni, un altro genere molto famoso è quello della Simulazione, il quale
è cresciuto esponenzialmente con il corso degli anni, partendo con giochi come The Sims
e SimCity, ormai si è arrivati a simulazioni di ogni tipo, dalle più realistiche alle più
bizzarre.
In questi tipi di giochi l’I.A. è utilizzata per simulare il comportamento realistico delle realtà,
che sia il comportamento umano, l’ambiente intorno a noi e quant’altro, andiamo adesso
ad analizzare le diverse categorie:
- nei simulatori di costruzione (SimCity, Cities Skyline) abbiamo tutto un sistema di
I.A. che gestisce la progressione di edifici e di chi ci lavora, la gestione del traffico
stradale, il viaggio che ogni singolo abitante fa per spostarsi per andare al lavoro. Il
tipo di I.A. in questo tipo di gioco è molto potente, poiché deve tener traccia di
tantissimi fattori diversi contemporaneamente, i quali spesso non hanno processi
molto lineari, ed è anche programmabile per fare in modo che certi processi
seguano una certa logica prestabilita. Questa tipologia di giochi si è evoluta molto
nel corso degli anni, avendo sempre un I.A. molto più efficiente.
- nei simulatori di sim (la saga di The Sims), ovvero gioco di simulazione di vita reale,
abbiamo un I.A. che gestisce tutti i personaggi intorno al nostro, e nonostante noi
abbiamo il controllo pieno sulle azioni del nostro personaggio, nel caso non
facessimo nulla, un I.A. interverrebbe sul nostro personaggio per soddisfare i suoi
bisogni, che siano essi mangiare, lavarsi, andare al lavoro e quant’altro. Il tipo di
I.A. in questa tipologia di giochi è di singolo tipo, perché è la stessa per ogni
personaggio all’interno del gioco, ed è autonoma per il personaggio stesso, inoltre
questo tipo di I.A. inoltre non è programmabile.

You might also like