L’iniziativa RoboCup: una sfida alla ricerca in Intelligenza Artificiale Pisa, 26 Marzo 1999 M. Simi A. Cisternino
Che cos’è l’I.A.? Il settore dell’Intelligenza Artificiale (I.A.) consiste in un’impresa scientifica e tecnologica di lungo respiro che mira a: –costruire macchine intelligenti –formalizzare la conoscenza e meccanizzare il ragionamento –comprendere i meccanismi dell’intelligenza –innalzare il livello di interazione con le macchine
Obiettivi dell’I.A. n Ingegneristico: costruire artifatti intelligenti n Scientifico: comprendere i meccanismi che stanno alla base del comportamento “intelligente”
Che tipo di capacità? n Capacità di ragionamento? n Capacità di simulare il comportamento umano? n Capacità di interagire in maniera razionale con un ambiente e di comunicare? n Capacità di provare emozioni?
Capacità di ragionamento Nel 1997 un computer, Deep Blue, ha battuto il campione mondiale di scacchi, Kasparov. –Fortuna? –Vantaggio psicologico? –Forza bruta piuttosto che intelligenza? Giocare a scacchi?
Capacità di simulazione Il test di Turing (1950)
Agenti Intelligenti n Gli agenti sono situati –ricevono percezioni da un ambiente –agiscono sull’ambiente mediante azioni n Gli agenti comunicano tra di loro –sono capaci di collaborare –sono capaci di difendersi da altri agenti n Gli agenti hanno credenze, obiettivi, intezioni...
Cos’è RoboCup? La Robot World Cup Initiative (RoboCup) è la proposta di un problema di riferimento per ricerca in I.A. Si tratta di realizzare agenti (sw o hw) in grado di giocare a calcio. Un problema difficile, da usare come banco di prova per nuove idee e tecnologie.
Tecnologie da sviluppare e integrare n agenti autonomi n collaborazione tra agenti n acquisizione di strategie n ragionamento e pianificazione in tempo reale n robotica n tecnologie hw e sw per infrastruttura
La sfida procede su diversi livelli robot reali (real robot league) versione software simulata (software agent league) versione limitata ad abilità specifiche, es. tirare un calcio di rigore (special skill competion)
Eventi IJCAI 97 (Giappone) MAAMAW (Parigi, giugno 98) Convegno AI*IA (Padova, settembre 98) IJCAI 99 (Stoccolma, agosto 99). Congresso AI*IA (Bologna, ottobre 98)
La sfida robotica n Robot di diverse dimensioni –Small Size League –Middle Size League –Legged League
Small size league
Medium size league
Legged league
Problemi specifici da risolvere n Riconoscimento di immagini in tempo reale n Fusione e integrazione di sensori (vista, tatto, sonar...) n Motori e batterie ad alte prestazioni n Dispositivi di controllo sofisticati n Comunicazione a livello hw
Il problema del calcio simulato Come il gioco del calcio ma … n Mondo in due dimensioni. n Giocatori e palla sono cerchi. n I movimenti sono simulati per passi n Collisione di oggetti
Il problema (cont.) n I giocatori non conoscono le posizioni assolute. n Punti di riferimento sul campo: bandierine, linee e porte. n I giocatori si stancano n Visibilità limitata n Comunicazione limitata
La sfida software n Problema reale, ma vincolato da regole; n ambiente dinamico e vincoli di tempo reale; n ambiente non accessibile: –percezioni limitate dalla direzione, dalla distanza e dalla capacità di elaborazione n ambiente non deterministico: –l’effetto delle azioni non è certo
La sfida software (cont.) n comunicazione tra giocatori limitata dalla capacità di comprendere e di utilizzare un linguaggio convenzionale; n ambiente multi-agente con giocatori in diversi ruoli, alleati o avversari; n utilizzabili tecniche di apprendimento, on- line oppure off-line, individuali o di squadra.
RoboCup a Informatica n Progetto del corso di Intelligenza Artificiale Laboratorio (IAL) n Risultato: 10 squadre di RoboCup con giocatori programmati in Lisp n Piccolo torneo (IAL-Cup 99) che ha visto la partecipazione di 6 squadre
Per contatti con il mondo RoboCup Pagine Web: Pagine Web:
Architettura del simulatore n In una partita il server simula il mondo e 22 giocatori interagiscono col server muovendosi nell’ambiente simulato. n E’ possibile avere un allenatore che segue il gioco da bordo campo. n Il server calcola le percezioni per ogni giocatore e le invia. Esegue i comandi ricevuti dai giocatori.
Architettura
La rete di comunicazione n Il mezzo di comunicazione è la rete n Non è possibile giocare a distanza: troppa comunicazione! n Si può giocare con un giocatore per computer con una rete di 23 computer. n Viene utilizzato un protocollo non affidabile: percezioni e azioni possono perdersi
Le percezioni n Ci sono tre tipi di percezioni: see, hear e sense_body. n Ogni percezione è riferita al giocatore nel suo sistema di coordinate. n Le percezioni sono rappresentate da liste definite da parentesi tonde: (see 1 (ball …) …)
Le percezioni visive n La percezione see descrive cosa sta vedendo un giocatore. n La percezione contiene una lista di oggetti caratterizzati da: tipo, direzione, distanza e velocità relative; se giocatore il numero e la squadra. n Gli oggetti sono: linee, porte, giocatori, bandierine, palla...
Le percezioni uditive n Segnala il fatto che qualcuno ha detto qualcosa. n È il meccanismo che viene utilizzato dal simulatore per segnalare le decisioni arbitrali. n Permette di ottenere meccanismi di comunicazione tra giocatori.
La percezione sense_body n Contiene lo stato fisico del giocatore. n Permette al giocatore di conoscere di valutare le proprie forze. n Implica la gestione di una risorsa limitata: la stamina. n La stamina è assimilabile ad una valutazione dello stato fisico e delle energie disponibili.
Le azioni n Il server offre quattro azioni principali: dash, kick, turn e say. n Ogni azione potrebbe essere scartata dalla rete e comunque non viene eseguita esattamente ma vengono introdotti dei correttivi non deterministici. n Il giocatore non può assumere che un’azione sia andata a buon fine.
I numeri n Il server esegue 10 cicli per secondo di simulazione. Un match dura 6000 cicli. n In un secondo il server calcola 330 percezioni e le invia ad ogni giocatore. Riceve circa 220 comandi dai giocatori. n Il server in media genera in 5 minuti di partita messaggi e ne riceve in media
RoboCup: l’infrastruttura n Una delle sfide di RoboCup è una sfida allo sviluppo di supporti sw/hw per i tornei. n Esempi: monitor 3D, commentatori automatici, arbitri automatici… n Sviluppati a Pisa … –RoboMon –Championship manager
RoboMon n Il RoboMon è un monitor per il torneo simulato di RoboCup. È stato sviluppato presso il nostro dipartimento. n È scritto in Java e VRML, non serve quindi alcun supporto oltre che un browser per poterlo usare. n È un monitor sia 2D che 3D.
RoboMon3D n La versione 3D del monitor è piuttosto complessa. n Si sono dovuti ricostruire comportamenti non disponibili come ad esempio il movimento dei giocatori. n Gli strumenti standard disponibili in rete sono flessiblili ma poco efficienti.