FONDAMENTI DI INTELLIGENZA ARTIFICIALE-M



Documenti analoghi
FONDAMENTI DI INTELLIGENZA ARTIFICIALE-M

Gioco del "Mulino" Nine Men s Morris Competition

1. RETI INFORMATICHE CORSO DI LAUREA IN INGEGNERIA INFORMATICA SPECIFICHE DI PROGETTO A.A. 2013/ Lato client

esales Forza Ordini per Abbigliamento

Il client deve stampare tutti gli eventuali errori che si possono verificare durante l esecuzione.

REGOLE PER L ESAME (agg.te settembre 2015)

Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009. Prof. Raffaele Nicolussi

Guida Rapida di Syncronize Backup

da 2 a 5 giocatori, dai 10 anni in su, durata 30 minuti

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

Manuale per l utilizzo del nuovo portale di assistenza tecnica di Selesta Ingegneria

Progetto di RHS MicroAODV per Reti di Sensori A.A. 2007/2008

REALIZZAZIONE DI UN LABORATORIO REMOTO PER ESPERIENZE DI ROBOTICA EDUCATIVA: LATO CLIENT

Guida Compilazione Piani di Studio on-line

Ata_NiAg02. Modulo Gestione Agenti

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

Corso di Informatica

Palazzetto del Biliardo Tournaments

REGOLE DA TORNEO DI DUEL MASTERS Valide dal 6 agosto 2004

1) GESTIONE DELLE POSTAZIONI REMOTE

INFO TECNICA SATO Italia

Note per generazione file.txt per invio trimestrale V.P. all AGENZIA DELLE ENTRATE

MODULO 5 ACCESS Basi di dati. Lezione 4

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

Sistema operativo: Gestione della memoria

Condizioni di servizio per l'utente finale (applicazioni gratuite)

WEB SEMINAR Dettaglio servizio

Corso di Reti di Calcolatori T

Esame dell 8 settembre 2012

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

DMA Accesso Diretto alla Memoria

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012

SPECTER OPS. L'obiettivo del giocatore agente è quello che il suo agente completi 3 su 4 missioni obiettivo qualsiasi

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

COMUNICAZIONE UTENTI SISTEMI-PROFIS INSTALLAZIONE GE.RI.CO e PARAMETRI2015

PORTALE CLIENTI Manuale utente

Obiettivi dell esercitazione. Requisiti (cont.) Requisiti. Università di Roma La Sapienza A.A Facoltà di Ingegneria Sede di Latina

Guida di Pro Spam Remove

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Chat. Connettersi a un server di chat. Modificare le impostazioni di chat. Ricevere impostazioni chat. Chat

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni server

Durante la prova compare il messaggio Esame fallito

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

Manuale di Aggiornamento BOLLETTINO. Rel H4. DATALOG Soluzioni Integrate a 32 Bit

SOMMARIO... 3 INTRODUZIONE...

Express Import system

Procedura di iscrizione alla Piattaforma On Line

Come modificare la propria Home Page e gli elementi correlati

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014)

JUDO COME EDUCAZIONE MOTORIA

Regole del gioco UNO CONTENUTO DELLA CONFEZIONE: 108 Carte così distribuite: 19 Carte di colore Rosso che vanno dallo 0 al 9

Regione Puglia. Area politiche per lo Sviluppo Economico, il Lavoro e l Innovazione. Servizio Formazione Professionale. Avviso Pubblico n.

Il nuovo browser italiano dedicato alla navigazione e comunicazione sicura in internet per bambini

IBM SPSS Statistics per Windows - Istruzioni di installazione (Licenza per sito)

Bilanciamento di traffico VoIP su reti wireless

IBM SPSS Statistics per Linux - Istruzioni di installazione (Licenza per sito)

Dropbox di classe. É un servizio internet fornito gratuitamente (funzioni base).

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Guida per esecuzione dell aggiornamento del programma DINAMIC

BDCC : Guida rapida all utilizzo

GUIDA AL CORSO ON LINE PER AGENTI IMMOBILIARI

GIOCHI MATEMATICI PER LA SCUOLA SECONDARIA DI I GRADO ANNO SCOLASTICO

IBM SPSS Statistics per Mac OS - Istruzioni di installazione (Licenza per sito)

START Easy GO! Il gestionale sempre in tasca! Procedura di aggiornamento. Documentazione utente Pagina 1 di 18

SPSS Statistics per Windows - Istruzioni di installazione per (Licenza per utenti singoli)

DESIGN PATTERN ESERCITAZIONE PREPARAZIONE ALL ESAME, PARTE II INGEGNERIA DEL SOFTWARE. La soluzione corretta è la c)

MANUALE PER IL CONDUTTORE DEL GIOCO

Insegnare con il blog. Materiale tratto da:

Soluzione dell esercizio del 2 Febbraio 2004

PROGETTI AGGIUNTIVI PER IL CORSO DI PROGETTO DI RETI E SISTEMI INFORMATICI

Scuole di ogni ordine e grado

Sistema per scambi/cessioni di Gas al Punto di Scambio Virtuale

INFORMAZIONI IMPORTANTI e MOLTO UTILI

Prof. Pagani Corrado ESERCITAZIONI DIAGRAMMI DELLE CLASSI UML E JAVA

Gestione calendario e nuove tipologie di tornei

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

Scacchi Polimi insieme con Terna Sinistrorsa, sono lieti di presentare i primi tornei studenteschi di scacchi, nell ambito dei Poligames 2015!!!

NAVIGARE FRA LE PRATICHE...

Scheda di Notifica Manuale d'uso

cin>>c8 s.r.l. Analisi del Dominio Pagina 1 di 7 Analisi del Dominio

Manuale di Aggiornamento BOLLETTINO. Rel D. DATALOG Soluzioni Integrate a 32 Bit

filrbox Guida all uso dell applicazione DESKTOP Pag. 1 di 27

Assegnamento di un indirizzo IP temporaneo a dispositivi Barix

A B C. Università Per Stranieri Di Perugia CENTRO PER LA VALUTAZIONE E LA CERTIFICAZIONE LINGUISTICA DILS - PG Scheda Informativa ...

Esercizi su. Funzioni

Manuale di Aggiornamento BOLLETTINO. Rel H2. DATALOG Soluzioni Integrate a 32 Bit

Raggruppamenti Conti Movimenti

Uff. I. - OLIMPIADI DI PROBLEM SOLVING - Informatica e pensiero algoritmico nella scuola dell'obbligo

INVITO 3 Torneo Memorial Andrea Muscolini

Sistemi di Antivirus CEFRIEL. Politecnico di Milano. Consorzio per la Formazione e la Ricerca in Ingegneria dell Informazione. Politecnico di Milano

ANNO SCOLASTICO

Sistema di gestione della Responsabilità Sociale

EUROCONSULTANCY-RE. Privacy Policy

Coordinazione Distribuita

Express Import system

CitySoftware PROTOCOLLO. Info-Mark srl

GUIDA AL PRONTUARIO MOBILE

Guida per la gestione del proprio profilo in Scopus utilizzando la piattaforma Scival di Elsevier

Transcript:

FONDAMENTI DI INTELLIGENZA ARTIFICIALE-M A.A. 2014/2015 Gioco del "Mulino" Prof. Paola Mello, Ing. Federico Chesani 1

Il gioco del Mulino Stimolare la comprensione e la discussione sugli algoritmi di base per la risoluzione di giochi, nell ambito della disciplina di AI (lato docente ) Vincere! (lato studente ) Definizione e regole: http://it.wikipedia.org/wiki/mulino_%28gioco%29 Soluzioni accettabili: qualunque soluzione che sfrutti algoritmi che si possono riferire all area dell Intelligenza Artificiale Risoluzione di giochi come esplorazione nello spazio degli stati Genetic algorithms and swarm optimization Reti neurali Approccio a vincoli Prolog-based solutions 2

Il gioco del Mulino parte ludica - Girone all italiana con andata/ritorno - Ogni vittoria in uno scontro: 2 punti - Ogni partita sarà a "tempo limitato": - 1 minuto per ogni mossa per ogni giocatore - Timeout deciso dall arbitro (Chesani o un server); in caso di timeout, il giocatore col turno perde la partita - Stati ripetuti: in caso di ripetizione consecutiva per tre volte dello stesso stato, perdono entrambi (nessuno fa punti). 3

- Rappresentazione dello stato fornita da Chesani (non obbligatoria, ma comoda...) - Comunicazione tra i due giocatori tramite un servizio fornito da Chesani (verifica delle regole, logging della partita) - L agente dovrà supportare due interfacce: - Human-oriented: per quanto semplice, dovrà supportare un essere umano nel giocarci - Server-oriented: Chesani fornirà piccolo server di sincronizzazione/scambio di messaggi Per evitare differenze originate da hardware: l agente software dovrà poter essere eseguito su una architettura 4 linux debian 64 bit. Linguaggio suggerito: Java.

Esiste un progetto Eclipse disponibile su svn all'url: https://svn.ing.unibo.it/svn/ai/didattica_ai/mulino/mulino Tale progetto contiene: - Un server che mantiene lo stato centrale del gioco (Stato in State.java, motore di esecuzione in Engine.java) - Un client (classe MulinoClient.java) che offre due primitive: una per inviare al server la propria mossa, una per leggere dal server lo stato corrente. 5

All'avvio il server invia a entrambi i giocatori lo stato attuale. Da quel momento in poi si comincia a giocare, per primo sempre il bianco (State.Checker.WHITE). Le mosse cambiano a seconda della fase. 1. Fase 1 (State.Phase.FIRST): ogni mossa e' una stringa di due lettere che indicano dove si vuole mettere la propria pedina. Ad esempio "a1". Se la propria mossa dà adito al diritto di rimuovere la pedina avversaria, bisogna anche indicare la posizione da cui rimuovere la pedina avversaria. Ad es: "g7a1" significa che il giocatore mette la propria pedina in a1, e che poichè tale mossa crea una tripletta, si deve rimuovere la pedina avversaria in posizione a1 2. Fase 2: analoga alla prima, ma con regole leggermente diverse 3. Fase finale: analoga alla seconda ma senza le restrizioni varie imposte nelle prime due fasi 6

- Una volta inviata la propria mossa, il server risponde subito al giocatore comunicandogli il nuovo stato del gioco: a tal scopo, dopo la scrittura al server della mossa il giocatore deve subito leggere dal server il nuovo stato attuale, modificato dalla propria mossa. - Dopo aver fatto ciò il turno passa all'avversario; il giocatore può effettuare una read bloccante per aspettare dal server di avere notizie: in particolare, non appena l'avversario effettua la sua mossa, il server comunica a entrambi i giocatori il nuovo stato Riassumendo, supponendo di essere il giocatore di turno, il ciclo di gioco è simile a: 1. invio la mia mossa; 2. leggo dal server il nuovo stato, modificato a causa della mia mossa; 3. ri-eseguo lettura dal server, e mi blocco aspettando la mossa del mio avversario: appena questa viene fatta, ricevo dal server lo stato aggiornato, e posso riprendere (o continuare) il mio ragionamento; 7

- La classe MulinoClient può essere eseguita con parametro "White" o "Black" e offre la possibilità di giocare tramite console. Per poter fare una partita di prova, è necessario eseguire Engine.java, e poi a parte due istanze differenti di MulinoClient.java, una eseguita con parametro di avvio "White" e l'altra con parametro di avvio "Black". In totale, tre processi distinti (server e due giocatori). - Stampando a video il risultato di State.toString() si ottiene una rappresentazione ascii-art della scacchiera e dello stato attuale... 8

- Per ogni mossa ogni giocatore ha al massimo 60 secondi di tempo: se sfora il tempo, il giocatore perde. Qualora le sifde risultassero troppo lunghe, il tempo potrà essere abbassato a discrezione di Chesani. - Per motivi di efficienza, ogni software dovrà essere in grado di "giocare" con un limite di 2Gb di RAM - Se il giocatore propone una mossa non consentita, vengono lanciate specifiche eccezioni (a seconda del tipo di errore), e il giocatore perde - Tutte le regole del gioco potranno essere comunque modificate da Chesani/Mello per opportuni motivi, in qualsiasi momento, e senza pre-avviso... 9

Il gioco del Mulino parte organizzativa - Le sfide si terranno verso la fine di maggio 2015 (data da decidersi) - Iscrizioni con una mail a Chesani/Mello - In ogni caso, Chesani ha sempre ragione. 10

Il gioco del Mulino dubbi - Tutte le regole qui elencate potranno essere modificate a discrezione di Chesani/Mello, con notifica sul sito web del corso. - Tutti gli studenti sono invitati a suggerire/proporre modifiche - In ogni caso, Chesani ha sempre sempre ragione. 11