sistemi multi-agente. agente entità reale o virtuale che vive in un ambiente, lo percepisce, agisce...

23
Sistemi Multi-agente

Upload: lalia-gargiulo

Post on 01-May-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemi Multi-agente. Agente Entità reale o virtuale che vive in un ambiente, lo percepisce, agisce in esso e che ha un comportamento autonomo conseguente

Sistemi Multi-agente

Page 2: Sistemi Multi-agente. Agente Entità reale o virtuale che vive in un ambiente, lo percepisce, agisce in esso e che ha un comportamento autonomo conseguente

Agente

Entità reale o virtuale che “vive” in un ambiente, lo percepisce, agisce in esso e che ha un comportamento autonomo conseguente alla sua conoscenza, alle sue interazioni, alle sue finalità.

Il controllo dell’agente sui processi suddetti è locale.

Page 3: Sistemi Multi-agente. Agente Entità reale o virtuale che vive in un ambiente, lo percepisce, agisce in esso e che ha un comportamento autonomo conseguente

Un po’ di storia

Il più antico agente virtuale? La tartaruga LOGO che mette in

azione un comportamento localeNon ha percezione alcuna del mondo

complessivo in cui viveÈ “responsabile” delle sue conoscenzeSi muove su una “griglia”È in sintonia con il movimento del corpo.Nasce come “strumento di pensiero” per

giovani.

Page 4: Sistemi Multi-agente. Agente Entità reale o virtuale che vive in un ambiente, lo percepisce, agisce in esso e che ha un comportamento autonomo conseguente

Il LOGO

la programmazione è un gioco!nessuna pretesa da ingegneria del swLinguaggio interpretatoScritto su linee. Ogni linea è una chiamata di funzione di tipo Comando (con effetti ma senza valore) print,.. Operazione (con valore come output) sum, list,.. Un sottoinsieme di operazioni è costituito dai

predicati che assumono il valore true false

Page 5: Sistemi Multi-agente. Agente Entità reale o virtuale che vive in un ambiente, lo percepisce, agisce in esso e che ha un comportamento autonomo conseguente

MSWLOGO CiaoMondo!!

label “ciaomondo!!

Scegliere la grandezza, il colore del font e scrivere

repeat 36 [label "ciaomondo!! rt 10 setpencolor repcount]

Page 6: Sistemi Multi-agente. Agente Entità reale o virtuale che vive in un ambiente, lo percepisce, agisce in esso e che ha un comportamento autonomo conseguente

Introduzione concetti: procedura

TO BOXREPEAT 4 [FD 100 RT 90]END E se vogliamo 2 quadrati?TO BOXESREPEAT 4 [FD 100 RT 90]RT 90 PU FD 120 PD LT 90REPEAT 4 [FD 100 RT 90]END

Page 7: Sistemi Multi-agente. Agente Entità reale o virtuale che vive in un ambiente, lo percepisce, agisce in esso e che ha un comportamento autonomo conseguente

Introduzione variabili

E se devono essere tanti? E di grandezza qualunque?

Studio delle figure poligonali e “geometria della tartaruga”.

Vediamo qualche cammino.

Page 8: Sistemi Multi-agente. Agente Entità reale o virtuale che vive in un ambiente, lo percepisce, agisce in esso e che ha un comportamento autonomo conseguente

Qualche cammino

repeat 4 [fd 50 rt 90]repeat 5 [fd 50 rt 72]repeat 6 [fd 50 rt 60]repeat 5 [fd 50 rt 144] repeat 3 [fd 50 rt 120]Può la tartaruga decidere a priori che il cammino si chiude? Cammina su un cerchio C’è una sola corda di lunghezza fissata in una

direzione

Page 9: Sistemi Multi-agente. Agente Entità reale o virtuale che vive in un ambiente, lo percepisce, agisce in esso e che ha un comportamento autonomo conseguente

I dati

Possono essereParoleListeVettori I numeri sono casi particolari di parole.Non c’è il sistema forte dei tipi: l’interprete

lo decide dal contesto.

Page 10: Sistemi Multi-agente. Agente Entità reale o virtuale che vive in un ambiente, lo percepisce, agisce in esso e che ha un comportamento autonomo conseguente

I dati

due simboli particolari : per indicare “il contenuto di ..”

Si tratta di un uso molto utile per ricordare allo studente il concetto di variabile.

Quotazione o “ Si tratta di un simbolo che indica nessuna

valutazione. Il numero è un caso speciale di autovalutazione

“2 2

Page 11: Sistemi Multi-agente. Agente Entità reale o virtuale che vive in un ambiente, lo percepisce, agisce in esso e che ha un comportamento autonomo conseguente

Assegnamento

make “ x sum :y 3ha due parametri. L’effetto sta nel porre nel

primo parametro la valutazione del secondo

Sum :y 3dove si indica di effettuare la somma tra il

contenuto di y e il numero 3

Il secondo parametro è passato per valore, il primo per indirizzo

Page 12: Sistemi Multi-agente. Agente Entità reale o virtuale che vive in un ambiente, lo percepisce, agisce in esso e che ha un comportamento autonomo conseguente

Assegnamento

Indirizzamento indiretto make "x 45 make :x 3 print :45

Scoping Le variabili non devono essere dichiarate e sono

globali. Possono essere dichiarate locali a una procedura e vale lo scoping dinamico.

I parametri delle procedure creano variabili locali

Page 13: Sistemi Multi-agente. Agente Entità reale o virtuale che vive in un ambiente, lo percepisce, agisce in esso e che ha un comportamento autonomo conseguente

Liste

Rispetto ai vettori sono espandibili first, last, butfirst, butlast, member, item. sentence fput, lput

Coda con le operazioni queue, dequeue, Stack con le operazioni push and popLa ricorsione è il modo naturale di trattare con le liste.

Page 14: Sistemi Multi-agente. Agente Entità reale o virtuale che vive in un ambiente, lo percepisce, agisce in esso e che ha un comportamento autonomo conseguente

Strutture di controllo

ifelse test [ do if true list ] [do if false list]

repeat number [instruction list]

Altre istruzioni iterative ma si raccomanda l’uso ricorsivo

Page 15: Sistemi Multi-agente. Agente Entità reale o virtuale che vive in un ambiente, lo percepisce, agisce in esso e che ha un comportamento autonomo conseguente

Esempi

make "stati [italia francia spagna]label :statiOppurelabel thing “statilabel first :statipr first [italia francia spagna]pr last [italia francia spagna]pr butfirst [italia francia spagna]show butfirst [italia francia spagna]ct

Page 16: Sistemi Multi-agente. Agente Entità reale o virtuale che vive in un ambiente, lo percepisce, agisce in esso e che ha un comportamento autonomo conseguente

Esempi

make first [gatto cane] first [Meo Lilli]pr :gatto??make "Meo "gattopr :meo??make :meo "graffiapr :gatto ( o pr thing :meo)??

Page 17: Sistemi Multi-agente. Agente Entità reale o virtuale che vive in un ambiente, lo percepisce, agisce in esso e che ha un comportamento autonomo conseguente

località

La tartaruga può alterare il colore sotto di sé

pu

for [red 0 255] [for [green 0 255] [setpixel (list :red :green 0) fd 1] bk 256 rt 90 fd 1 lt 90]pd al variare della grandezza della “penna”

Page 18: Sistemi Multi-agente. Agente Entità reale o virtuale che vive in un ambiente, lo percepisce, agisce in esso e che ha un comportamento autonomo conseguente

località

Se la tartaruga non è su un piano?

Cosa vuol dire “andar diritto”?

Come si accorge di non essere su un piano?

Teorema del cammino semplice e del cammino semplice chiuso.

Page 19: Sistemi Multi-agente. Agente Entità reale o virtuale che vive in un ambiente, lo percepisce, agisce in esso e che ha un comportamento autonomo conseguente

Strutture di controllo

OPERAZIONE [una lista di comandi] [vari dati]

show map [? * ? ] [ 5 6 7 ]

[25 36 49]

Page 20: Sistemi Multi-agente. Agente Entità reale o virtuale che vive in un ambiente, lo percepisce, agisce in esso e che ha un comportamento autonomo conseguente

Brian Harvey

to choices :menu [ :sofar []]if emptyp :menu [print :sofar stop]foreach first :menu [(choices butfirst :menu sentence :sofar ?)]endchoices [[small medium large] [vanilla [ultra chocolate] lychee [rum raisin] ginger] [cone cup]]

Page 21: Sistemi Multi-agente. Agente Entità reale o virtuale che vive in un ambiente, lo percepisce, agisce in esso e che ha un comportamento autonomo conseguente

commento

The program doesn't have anything about the size of the menu built in. You can use any number of categories, and any number of possibilities in each category.

Let's see you do that in four lines of Java!

Page 22: Sistemi Multi-agente. Agente Entità reale o virtuale che vive in un ambiente, lo percepisce, agisce in esso e che ha un comportamento autonomo conseguente

Esempio

to vai ;sceglie un punto sullo schermo

pu setxy -250 + random 500 -150 + random 300 pd

rt random 360 ;sceglie l'inclinazione

end

Page 23: Sistemi Multi-agente. Agente Entità reale o virtuale che vive in un ambiente, lo percepisce, agisce in esso e che ha un comportamento autonomo conseguente

Esempio

to galassia :num ;traccia ‘:num’ stelle

repeat :num [ vai star random 50 ] ;di ampiezza arbitraria

endto star :size repeat 5 [fd :size rt 144 ] end