Intelligenza artificiale in SecondLife. Novità dal Pathfinding presto in SecondLife

L’intelligenza artificiale così come è definita dalla nostra Enciclopedia Universale http://it.wikipedia.org/wiki/Intelligenza_artificiale è esprimibile in poche parole come

Con il termine intelligenza artificiale (o IA, dalle iniziali delle due parole, in italiano
[1]
) si intende generalmente l’abilità di un computer di svolgere funzioni e ragionamenti tipici della menteumana. L’intelligenza artificiale è una disciplina dibattuta tra scienziati e filosofi, la quale manifesta aspetti sia teorici che pratici.
Nel suo aspetto puramente informatico, essa comprende la teoria e le tecniche per lo sviluppo di algoritmi che consentano alle macchine (tipicamente ai calcolatori) di mostrare un’abilità e/o attività intelligente, almeno in domini specifici.
Uno dei problemi principali dell’intelligenza artificiale è quello di dare una definizione formale delle funzioni sintetiche/astratte di ragionamentometa-ragionamento e apprendimentodell’uomo, per poter poi costruire dei modelli computazionali che li concretizzano e realizzano (in modo “goal-oriented“)
[2]
.

Ora come ho imparato a mie spese quando ho dato l’esame di Intelligenza Artificiale all’Università di Informatica di Torino, una cosa è la teoria è una cosa sono poi le applicazioni pratiche. Da idealista qual ero ero convinto che si potesse, almeno “introduttoriamente” simulare alcune delle caratteristiche del pensiero umano, anche se solo per principi di Emulazione e di simulazione, magari con calcoli statistici e/o con “trucchi” e piccoli inganni (ad. es. cfr. il programma Elisa sviluppato nel ’66 e famoso negli anni 80 http://it.wikipedia.org/wiki/ELIZA),

Un esempio di output del programma ELIZA

ELIZA è un Chatterbot scritto nel 1966 da Joseph Weizenbaum che fa la parodia di un terapeuta Rogersiano, in buona parte rispondendo al paziente con domande ottenute dalla riformulazione delle affermazioni del paziente stesso. Cosi, per esempio, alla frase “Mi fa male la testa” il programma può ribattere con “Perché dici che ti fa male la testa?” oppure la risposta a “Mia madre mi odia” potrebbe essere “Chi altro nella tua famiglia ti odia?”

Una rappresentazione di una rete neurale

Per dirla in breve, a parte alcuni risultati molto interessanti ottenuti con la tecnica delle reti neurali http://it.wikipedia.org/wiki/Rete_neurale  (argomento peraltro tabù nella mia Università in quanto i risultati erano impredicibili e quindi a-scientifici), al momento l’intelligenza artificiale sembra un ramo abbastanza morto e deprimente.

Fanno una eccezione notevole i robot (dove appunto le reti neurali hanno brillanti applicazioni) e i video games, dove alcune tecniche particolari di Intelligenza Artificiale hanno una applicazione notevole nella programmazione dei cosiddetti NPC (Non Player Character). Se avete mai giocato a uno di questi giochi come WoW o altri dove ci sono i cattivi che vi inseguono o che scappano da voi, forse avete una idea di cosa si intende qua.

Ebbene Linden Lab dall’anno scorso ha investito moltissime energie in una tecnologia di Intelligenza artificiale nota come Pathfinding, il che consentirebbe di ottenere in SL dei “bot” (ma anche semplicemente degli oggetti, animali, mostri cose) in grado di avere un comportamento “intelligente”. Come detto il Pathfinding è solo un piccolo pezzo dell’Intelligenza artificiale, ma potrebbe essere un ottimo punto di partenza per Università ed altri enti per fare o dimostrare dei modelli di AI, ivi compresa la simulazione di ecosistemi di creature animali o virtuali. Mi viene ad esempio in mente a parte gli animali che si autoproducono (meebo e cavallini da compagnia), soprattutto applicazioni di simulazione di colonie batteriche o di ambienti naturali. Un esempio interessante è ad esempio offerto dal seguente video:

Simulazione di un ecosistema in Second Life. Con Piante, Erbivori e Carnivori. I Carnivori possono cacciare ed uccidere altre creature per mangiarne la carne. Gli erbivori possono mangiare frutti e le piante morte. Le Piante mangiano gli escrementi. I carnivori e gli erbivori producono escrementi quando digeriscono il cibo. Le piante producono frutti. Ognuno di loro produce dei cloni mutati fintanto che riescono a trovare abbastanza cibo. I loro “geni” consistono di colori, velocità, distanza di vista, angolo di vista, capacità di attacco, dimensioni dello stomaco, ecc. I tratti benefici richiedono energia: se una creatura può muoversi più velocemente ha bisogno di più cibo. Per cominciare il processo, alcune creature con geni casuali sono sganciati dal cielo finchè la popolazione si stabilizza attorno ad almeno 100 unità. Questo progetto è una mistura di “Breedable Pets in SL” e “Polyworld” e usa il nuoso sistema di SL denominator Pathfinding.

Entro pochi mesi questi sistemi saranno realtà nella grid ufficiale di SecondLife e consentiranno (così come 6 mesi fa la funzione di animazione llSetKeyFramedMotion), a SL di avere una marcia in più (e anche due) rispetto a OpenSim che si trova purtroppo ad arrancare e che implementerà queste funzioni se va bene dopo qualche anno.

Ma come potete fare se volete sperimentare da subito queste funzionalità?

Anzitutto, dovete scaricarvi un viewer sperimentale: http://wiki.secondlife.com/wiki/Linden_Lab_Official:Alternate_Viewers#Pathfinding e poi dovete collegarvi nella grid di Beta test chiamata “Aditi”. Ecco alcuni link importanti per capire meglio cosa sia il path finding: http://wiki.secondlife.com/wiki/Linden_Lab_Official:Alternate_Viewers#Pathfinding

Le funzionalità di scripting LSL pathfinding vi consentono di creare dei personaggi che riescono in modo dinamico ad evitare degli ostacoli e raggiungere degli obiettivi mentre realizzano alcuni comportamenti tipici che si possono incontrare o volere fare nei giochi o in altre esperienze virtuali, includendo:

  • Evitamento – cercare di stare lontano da uno specifico oggetto o avatar. Cfr llEvade.
  • Fuga – cercare di mantenere una determinata distanza da una locazione. Cfr. llFleeFrom.
  • Navigazione – Dirigersi verso una determinata locazione. Cfr. llNavigateTo.
  • Pattugliare fare la ronda – Muoversi attraverso un percorso definito da un insieme di  “punti di pattuglia.” Cfr. llPatrolPoints.
  • Catturare ricercare – Trovare uno specifico oggetto o avatar. Cfr. llPursue.
  • Vagabondare – Muoversi in modo casuale all’interno di una specifica distanza da un punto centrale . Cfr. llWanderWithin.
Il tutto ovviamente evitando ostacoli fissi e mobili e manifestando un comportamento “pseudo” intelligente.
Le possibilità ci sono tutte… Ora vediamo se il tutto si tradurrà in qualcosa di concreto e di appetitibile per Scuole, Università, community di Role Playing  o rimarrà soltanto limitato ai costruttori di “Breedable Pets”… Time Will Tell… (Chi vivrà vedrà)…

Per ulteriori dettagli:  Pathfinding LSL Functions.

 

 

Salahzar Stenvaag

 

Advertisements
This entry was posted in Education and Learning, Technical Evolution and tagged , , . Bookmark the permalink.

4 Responses to Intelligenza artificiale in SecondLife. Novità dal Pathfinding presto in SecondLife

  1. Namor says:

    leggete un pò qua…che cavolo stanno combinando quei dementi della LL
    https://jira.secondlife.com/browse/PATHBUG-136
    riguardo la nuova funzione ..che come al solito non funziona mai alla prima,
    (llSetRot() completely broken in RC PF 12.05.10.256473)
    e pare che la vogliano introdurre anche se é bacata…come al solito non capiscono niente.

    • Salahzar Stenvaag says:

      Mmm… come al solito c’è sempre un rovescio della medaglia. Sul pathfinding ci sono un sacco di altri problemi (il setrot è molto grave), ma ancora più grave è il fatto che al momento gli oggetti che hanno pathfinding generano abbastanza lag e devono essere disabilitati a mano uno per uno. Per il momento il pathfinding è ancora in alfa/beta, se la Linden dovesse mettere in produzione qualcosa che fa saltare i letti sessuali si perde l’80% dei suoi utenti. Vediamo quando istinto suicida ha ….

    • Eva says:

      A me sembra che questo continuo modificare faccia di SL un mondo poco propenso alle definizioni. E’ un continuo cantiere sperimentale e il suo fascino consiste nell’essere, contemporaneamente, tecnica, filosofia, sociologia e anche storia. Pertanto è difficile che ogni innovazione sia perfetta… di certo, però, nel “tutto” c’è un perenne fermento.

  2. Eva says:

    Essendo la LL americana, il luogo esprime individui che distinguono bene lo spazio ludico da quello concreto e, in genere, sono pure più abili di noi a far dialogare la concretezza con la sperimentazione. Tant’è che, loro, se vai lì con l’idea giusta, ti aprono tutt’ora le porte (e questa, quando vana pretesa, io la chiamo “speranza di Marchionne”). Comunque, in Europa, c’è chi si è adeguato a questa mentalità. Noi, contemporaneamente, trovavamo avvincente atteggiarci a xenofobi.

    E’ quindi difficile che gli “americani” manifestino caratteristiche “suicide” sul tipo di “votare contro i propri interessi” che sarebbe, tradotto per un azienda, introdurre un qualcosa che va contro il gradimento dei propri clienti: quella è una specilità delle menti e genti italiche. Quindi, paura in merito, non ne avrei. I dubbi sono invece leciti.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s