• Non ci sono risultati.

3.2 Progettazione del gioco

3.2.1 Guadagni

Per poter denire la funzione di guadagno da applicare all'interno dell'algoritmo è opportuno partire dalle priorità di accesso caratteristiche del conitto. Di conseguenza, pur ssando dei punti comuni a più scenari di lavoro, la realizzazione pratica dipende strettamente dall'applicazione del metodo. I criteri da seguire che sono stati individuati, sfruttabili in un caso generale, sono:

1. All'azione V fosse legata una vincita, un guadagno, legato alla propria priorità di accesso privata; 2. Il guadagno legato alla azione L variabile, in modo da consentire anche tale scelta come appetibile

nel caso opportuno;

3. Venga svantaggiata la possibilità di rimanere in conitto per lungo tempo;

4. Si possano avere valori diversi nel caso di conitto con tipi diversi dello stesso avversario 5. Consenta di poter ipotizzare una strategia dell'avversario.

6. Si abbia, in caso di situazioni simili, valori simili, in modo da avere facilità di calcolo e di memorizzazione dei dati;

Come esempio, si riportano i guadagni scelti nel caso della BpE e della LE, cioè gli scenari nei quali verrà testato l'algoritmo. E' stato molto complesso scegliere gli opportuni valori, in quanto la ricerca fatta

Figura 3.2: Creazione della Matrice di Tipo Bp

sullo stato dell'arte non ha presentato casi simili. In ambienti matematici ed economici, il guadagno è legato ai soldi eettivamente vinti o persi. Ad esempio, modellando una partita di poker, le puntate sono perfetti payo da usare. Nei casi di agenti in moto, invece, spesso si parla del costo di fare una determinata azione. Partendo quindi dalle poche informazioni, si è cercato di creare un sistema di guadagni legato ai criteri sopra esposti e agli obiettivi dell'algoritmo.

Nel tempo sono stati testati diversi sistemi di guadagni. Un aspetto che è però comune a tutti è la risposta all'ultimo punto, legato in maniera forte alla creazione della matrice per lo studio dell'equilibrio (vista nel capitolo precedente). Infatti è un problema presente nello studio su avversario con priorità minore, dove le combinazioni di strategie sono in numero maggiore, mentre nell'altro caso tutti i guadagni sono legati a sole 4 combinazioni. Come è possibile vedere in gura 3.1, nella matrice ci sono alcune caselle colorate di celeste. Queste combinazioni sono in qualche modo collegate tra loro. Infatti sono strategie che prevedono che entrambi gli agenti lascino il conitto. Si è scelto quindi che il guadagno fosse lo stesso in quei valori, avesse la stessa forma, delegando poi alle probabilità la dierenziazione tra i casi. Analogo discorso si può fare per i casi in cui un agente prosegue e l'altro lascia. Resta invece isolato il caso in cui entrambi i giocatori decidono per V. Tale combinazione non ha similitudini con altre, di conseguenza avrà una forma diversa dalle altre. Di conseguenza, la creazione della Matrice di Tipo a priorità minore ha seguito lo schema visibile in Fig 3.2, con un nucleo centrale (la combinazione VV), attorno al quale vengono attaccati blocchi di dimensione sempre maggiore no al prodotto nale. Nei metodi che vedremo successivamente, useremo i seguenti simboli, che assumeranno signicati diversi a seconda del sistema di guadagni usato:

• PA = Priorità vinta dall'agente A;

• PBs = Priorità vinta dall'agente B stimata da A;

• EA = Priorità Energia A, denita come la dierenza tra il massimo di energia all'interno della batteria e il livello di energia al momento considerato;

• EBs = Priorità Energia B stimata da A;

• DA= Priorità distanza A, denita come la dierenza tra il raggio circonferenza attorno all'obiettivo nel quale avviene il conitto e la distanza dall'obiettivo nel momento considerato del giocatore A; • DB = Priorità distanza B, denita come la dierenza tra il raggio circonferenza attorno all'obiettivo nel quale avviene il conitto e la distanza dall'obiettivo nel momento considerato del giocatore B;

• P(Bp) = Probabilità che l'avversario abbia priorità Minore; • P(Bv)= Probabilità che l'avversario abbia priorità Maggiore.

In tutti i sistemi che vedremo, le leggi per il calcolo delle diverse grandezze sono considerate in tempo discreto, come la natura dell'algoritmo richiede.

Il primo sistema di guadagni era così composto, basandosi anche sulle funzioni di priorità mostrate nel capitolo 2:

• Matrice con avversario a priorità minore nell'istante l:  U(V, V ) = [0, 0];

 U(V, L) o simili = [P Al, 1];

 U(L, V ) o simili = [0, 0];  U(L, L) o simili = [0, 0];

• Matrice con avversario a priorità maggiore nell'istante l:  U(V, V ) = [0, 0];  U(V, L) o simili = [0, 0];  U(L, V ) o simili = [1, P Bsl];  U(L, L) o simili = [0, 0]; Dove si indichiano: • Per la BpE  P Al= EAl+ DAl;  P Bsl= h 1 + P (Bv)l P (Bp)l i DBl; • Per la LE  P A = f(IdA);  P Bsl= hP (Bv) l P (Bp)l i P A;

Nella Tabella 3.2 è possibile vedere un esempio con N=3, dove con p1, p2, p3, p4 sono indicate le probabilità usate per pesare i guadagni in ossequio alla teoria. Questo sistema di guadagni nasce per testare alcune caratteristiche dell'algoritmo e si basa su un concetto molto semplice: ogni strategia diversa da quella voluta (Vince A se B ha priorità minore, Vince B se ha priorità maggiore) non porta alcun guadagno. Interessante e particolare è la scelta delle PBs. Nel caso della BpE, si è cercata una stima a partire da un valore certo, DB, moltiplicato per un termine che è legato alle probabilità di Tipo. Tale stima ci dice che la priorità è al minimo DB e può crescere nel caso di Learning. Tale metodo risponde quasi a tutti i criteri sviluppati sopra, in quanto l'azione V del giocatore A ha un guadagno, l'azione L tende ad aumentare il suo guadagno nel tempo (a causa dell'aumentare della P(Bv) dopo il Learning, che fa aumentare il peso di quella matrice). Visto che tale valore non è sfruttabile nella LE,

LLL LLV LVL LVV VLL VLV VVL VVV LLL 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 LLV 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 LVL 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 LVV 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 VLL PA,1 PA,1 PA,1 PA,1 0,0 0,0 0,0 0,0 VLV PA,1 PA,1 PA,1 PA,1 0,0 0,0 0,0 0,0 VVL PA,1 PA,1 PA,1 PA,1 PA,1 PA,1 0,0 0,0 VVV PA,1 PA,1 PA,1 PA,1 PA,1 PA,1 PA,1 0,0

(a) Matrice di Tipo Bp

LLL LLV LVL LVV VLL VLV VVL VVV LLL 0,0 0,0 0,0 0,0 1,PBs 1,PBs 1,PBs 1,PBs LLV 0,0 0,0 0,0 0,0 1,PBs 1,PBs 1,PBs 1,PBs LVL 0,0 0,0 0,0 0,0 1,PBs 1,PBs 1,PBs 1,PBs LVV 0,0 0,0 0,0 0,0 1,PBs 1,PBs 1,PBs 1,PBs VLL 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 VLV 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 VVL 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 VVV 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 (b) Matrice di Tipo Bv LLL LLV LVL LVV VLL VLV VVL VVV LLL 0,0 0,0 0,0 0,0 p4(1,PBs) p4(1,PBs) p4(1,PBs) p4(1,PBs) LLV 0,0 0,0 0,0 0,0 p4(1,PBs) p4(1,PBs) p4(1,PBs) p4(1,PBs) LVL 0,0 0,0 0,0 0,0 p4(1,PBs) p4(1,PBs) p4(1,PBs) p4(1,PBs) LVV 0,0 0,0 0,0 0,0 p4(1,PBs) p4(1,PBs) p4(1,PBs) p4(1,PBs) VLL p1(PA,1) p1(PA,1) p1(PA,1) p1(PA,1) 0,0 0,0 0,0 0,0 VLV p1(PA,1) p1(PA,1) p1(PA,1) p1(PA,1) 0,0 0,0 0,0 0,0 VVL p1(PA,1) p1(PA,1) p1(PA,1) p1(PA,1) p2(PA,1) p2(PA,1) 0,0 0,0 VVV p1(PA,1) p1(PA,1) p1(PA,1) p1(PA,1) p2(PA,1) p2(PA,1) p3(PA,1) 0,0

(c) Matrice Finale

si è preferito usare la priorità di accesso propria dell'agente, pesandola ancora tramite un valore legato alle probabilità di Tipo.

Questo metodo, però, non penalizza la durata del conitto e non ci consente di ipotizzare una strategia dell'avversario, in quanto, prevedendo guadagni solo in quei casi, l'agente è portato a pensare, tramite la ricerca degli equilibri, che le strategie fatte dall'avversario siano composte da sole L se questi ha una priorità Minore, o sole V, se questi ha una priorità Maggiore, non considerando quindi margine di errore. Il metodo è di facile comprensione, facile da implementare e con pochi casi di incertezza. Non sfrutta però molto le potenzialità della teoria dei giochi, in quanto il giocatore A sceglierà sempre V no all'ultimo passo. Ben presto tale sistema di guadagni è quindi stato abbandonato in favore di metodi più ecaci.

Il secondo metodo testato ha quindi la seguente struttura, con le due matrici di tipo uguali nella forma, ma diverse nei signicati e nella struttura:

• Matrice con avversario a priorità minore/maggiore:  U(V, V ) = [P Al, P Bsl];

 U(V, L) o simili = [P Al, DBl];

 U(L, V ) o simili = [DAl, P Bsl];

 U(L, L) o simili = [DAl, DBsl];

Dove si indicano: • Per la BpE  P A = EAl  P Bs = EBsl= ( 0 se Bp hP (Bv) l P (Bp)l i EAlse Bv ; • Per la LE  P A = f(Id);  P Bs = ( 0 se Bp hP (Bv) l P (Bp)l i P A se Bv ;

Questo sistema di guadagni si basa sul concetto che chi sceglie V vince la sue priorità privata, mentre chi lascia vince la sua priorità di distanza. L'unica dierenza tra le matrici di tipo è il valore di EBs. Come indicato, nel caso di tipo Bp, è zero, che è stato scelto come valore indicante la minore importanza dell'avversario, mentre, nel caso Bv, è legata alla energia di A o al suo valore identicativo, in maniera simile al caso LE precedente. Nel caso in cui le due probabilità sono uguali, si ottiene una PBs = PA, mentre se è maggiore P(Bp) ho PBs < PA e viceversa. Questo metodo soddisfa tutte le richieste sopra scritte, in quanto:

• Mettere le priorità di distanza come guadagno in caso di scontta ci consente di poter rendere l'opzione L attraente nel tempo, in quanto è un valore che aumenta con il passare del conitto; in questo modo risulta soddisfatto anche il punto 3;

LLL LLV LVL LVV VLL VLV VVL VVV LLL DA,DB DA,DB DA,DB DA,DB DA,0 DA,0 DA,0 DA,0 LLV DA,DB DA,DB DA,DB DA,DB DA,0 DA,0 DA,0 DA,0 LVL DA,DB DA,DB DA,DB DA,DB DA,0 DA,0 DA,0 DA,0 LVV DA,DB DA,DB DA,DB DA,DB DA,0 DA,0 DA,0 DA,0 VLL PA,DB PA,DB PA,DB PA,DB DA,DB DA,DB DA,0 DA,0 VLV PA,DB PA,DB PA,DB PA,DB DA,DB DA,DB DA,0 DA,0 VVL PA,DB PA,DB PA,DB PA,DB PA,DB PA,DB DA,DB DA,0 VVV PA,DB PA,DB PA,DB PA,DB PA,DB PA,DB PA,DB PA,0

(a) Matrice di Tipo Bp

LLL LLV LVL LVV VLL VLV VVL VVV LLL DA,DB DA,DB DA,DB DA,DB DA,PBs DA,PBs DA,PBs DA,PBs LLV DA,DB DA,DB DA,DB DA,DB DA,PBs DA,PBs DA,PBs DA,PBs LVL DA,DB DA,DB DA,DB DA,DB DA,PBs DA,PBs DA,PBs DA,PBs LVV DA,DB DA,DB DA,DB DA,DB DA,PBs DA,PBs DA,PBs DA,PBs VLL PA,DB PA,DB PA,DB PA,DB PA,PBs PA,PBs PA,PBs PA,PBs VLV PA,DB PA,DB PA,DB PA,DB PA,PBs PA,PBs PA,PBs PA,PBs VVL PA,DB PA,DB PA,DB PA,DB PA,PBs PA,PBs PA,PBs PA,PBs VVV PA,DB PA,DB PA,DB PA,DB PA,PBs PA,PBs PA,PBs PA,PBs

(b) Matrice di Tipo Bv

LLL LLV LVL LVV VLL VLV VVL VVV LLL DA,DB DA,DB DA,DB DA,DB DA,p1(PBs) DA,p1(PBs) DA,p1(PBs) DA,p1(PBs) LLV DA,DB DA,DB DA,DB DA,DB DA,p1(PBs) DA,p1(PBs) DA,p1(PBs) DA,p1(PBs) LVL DA,DB DA,DB DA,DB DA,DB DA,p1(PBs) DA,p1(PBs) DA,p1(PBs) DA,p1(PBs) LVV DA,DB DA,DB DA,DB DA,DB DA,p1(PBs) DA,p1(PBs) DA,p1(PBs) DA,p1(PBs) VLL PA,DB PA,DB PA,DB PA,DB a a b b VLV PA,DB PA,DB PA,DB PA,DB a a b b VVL PA,DB PA,DB PA,DB PA,DB c c d e VVV PA,DB PA,DB PA,DB PA,DB c c f PA,p6(PBs)

(c) Matrice Finale

• Serie di azioni diverse hanno guadagni diversi, quindi si può ipotizzare quale sarà la migliore e, in base a questo, fare un confronto delle proprie credenze sull'avversario.

Un esempio di tale sistema di guadagni è presente in Tabella 3.3, dove sono stati indicati: a = p2(DA) + p3(P A), p2(DB) + p3(P Bs) b = p2(DA) + p3(P A), p3(P Bs) c = EA, p2(DB) + p3(P Bs) d = p4(DA) + p5(P A), p4(DB) + p5(P Bs) e = p4(DA) + p4(P A), p5(P Bs) f = P A, p4(DB) + p5(P Bs)

Tale metodo è sostanzialmente quello che usato nell'algoritmo in quanto rispondeva alle richieste esposte. Una serie di simulazioni hanno però fatto sorgere alcuni problemi, legati all'inserimento diretto della priorità di distanza, che risultava penalizzare, invece che privilegiare, gli agenti a minore distanza dal Target. Le modiche apportate al sistema di guadagni sono le seguenti:

• Al posto delle priorità di distanza, si inserisce dil = Dil− Di0; tale legge continua a soddisfare i

criteri esposti, in quanto, durante il conitto, il Target si avvicina, quindi la distanza diminuisce e Di aumenta; tale funzione parte quindi da 0 per crescere nel tempo;

• Si introduce una leggera modica nei guadagni a tempi diversi in situazioni analoghe, introducendo in qualche modo la dinamica, in quanto non considereremo che lasciare all'istante l+h dia un premio pari a dil, ma sarà pari a dil+h; anche se il metodo sembra andare contro il criterio 6, in realtà il

nuovo valore è legato al precedente (è una semplice somma), quindi l'incremento di memoria usata è minimo.

Tali modiche completano il sistema dei guadagni che verrà usato nelle simulazioni successive ed è possibile vedere un esempio nale nella Tabella 3.4, dove si è indicato

a = p2(dA + 1) + p3(P A), p2(dB + 1) + p3(P Bs) b = p2(dA + 1) + p3(P A), p3(P Bs) c = P A, p2(dB + 1) + p3(P Bs) d = p4(dA + 2) + p5(P A), p4(dB + 2) + p5(P Bs) e = p4(dA + 2) + p4(P A), p5(P Bs) f = P A, p4(dB + 2) + p5(P Bs)

LLL LLV LVL LVV VLL VLV VVL VVV LLL DA,DB DA,DB DA,DB DA,DB DA,0 DA,0 DA,0 DA,0 LLV DA,DB DA,DB DA,DB DA,DB DA,0 DA,0 DA,0 DA,0 LVL DA,DB DA,DB DA,DB DA,DB DA,0 DA,0 DA,0 DA,0 LVV DA,DB DA,DB DA,DB DA,DB DA,0 DA,0 DA,0 DA,0 VLL PA,DB PA,DB PA,DB PA,DB DA+1,DB+1 DA+1,DB+1 DA+1,0 DA+1,0 VLV PA,DB PA,DB PA,DB PA,DB DA+1,DB+1 DA+1,DB+1 DA+1,0 DA+1,0 VVL PA,DB PA,DB PA,DB PA,DB PA,DB+1 PA,DB+1 DA+2,DB+2 DA+2,0 VVV PA,DB PA,DB PA,DB PA,DB PA,DB+1 PA,DB+1 PA,DB+2 PA,0

(a) Matrice di Tipo Bp

LLL LLV LVL LVV VLL VLV VVL VVV LLL dA,dB dA,dB dA,dB dA,dB dA,PBs dA,PBs dA,PBs dA,PBs LLV dA,dB dA,dB dA,dB dA,dB dA,PBs dA,PBs dA,PBs dA,PBs LVL dA,dB dA,dB dA,dB dA,dB dA,PBs dA,PBs dA,PBs dA,PBs LVV dA,dB dA,dB dA,dB dA,dB dA,PBs dA,PBs dA,PBs dA,PBs VLL PA,dB PA,dB PA,dB PA,dB PA,PBs PA,PBs PA,PBs PA,PBs VLV PA,dB PA,dB PA,dB PA,dB PA,PBs PA,PBs PA,PBs PA,PBs VVL PA,dB PA,dB PA,dB PA,dB PA,PBs PA,PBs PA,PBs PA,PBs VVV PA,dB PA,dB PA,dB PA,dB PA,PBs PA,PBs PA,PBs PA,PBs

(b) Matrice di Tipo Bv

LLL LLV LVL LVV VLL VLV VVL VVV LLL dA,dB dA,dB dA,dB dA,dB dA,p1(PBs) dA,p1(PBs) dA,p1(PBs) dA,p1(PBs) LLV dA,dB dA,dB dA,dB dA,dB dA,p1(PBs) dA,p1(PBs) dA,p1(PBs) dA,p1(PBs) LVL dA,dB dA,dB dA,dB dA,dB dA,p1(PBs) dA,p1(PBs) dA,p1(PBs) dA,p1(PBs) LVV dA,dB dA,dB dA,dB dA,dB dA,p1(PBs) dA,p1(PBs) dA,p1(PBs) dA,p1(PBs) VLL PA,dB PA,dB PA,dB PA,dB a a b b

VLV PA,dB PA,dB PA,dB PA,dB a a b b

VVL PA,dB PA,dB PA,dB PA,dB c c d e

VVV PA,dB PA,dB PA,dB PA,dB c c f PA,p6(PBs)

(c) Matrice Finale

Tabella 3.4: Costruzione della Matrice con il secondo sistema dei Guadagni modicato

Per poter inserire i guadagni all'interno delle matrici e per diminuire il numero di calcoli, è stata usata una struttura di valore di tipo immaginario, UA(SA, SB)+jUB(SA, SB), che consente la combinazione delle matrici senza possibilità di scambio di guadagni tra giocatori. Per poter poi inserire i valori all'interno del metodo di Luenberger, basterà scindere tra parte reale e parte immaginaria la matrice nale. Per questo motivo in precedenza sono state indicate come Greal e Gimag i termini da inserire nel metodo.

Documenti correlati