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.

Slides:



Advertisements
Presentazioni simili
Programmazione ad oggetti
Advertisements

Introduzione al linguaggio C++
INFORMATICA Altre Istruzioni di I/O
Programma: main() { istruzioni } ; assegnazione condizione ciclo istruzione: ;
Informatica 22/03/2012.
Estendere i linguaggi: i tipi di dato astratti
Strutture dati lineari
LS Tron Classe 4TC – as 2006/07 LORGANIZZAZIONE DEI PROGRAMMI UD. 8 p. 282.
PROGRAMMARE IN PASCAL (le basi)
Linguaggi di programmazione
MATLAB.
Dipartimento di Matematica
la programmazione è un gioco! nessuna pretesa da ingegneria del sw
Geometria descrittiva dinamica
moti uniformemente accelerati
I VETTORI di Federico Barbarossa
Algoritmi in C++ (1) da completare
Programmazione Procedurale in Linguaggio C++
Iterazione enumerativa (for)
Informatica di base A.A. 2003/2004 Algoritmi e programmi
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
Introduzione al linguaggio C++ 5 lezioni
MSW Logo Italiano per Windows
CORSO DI PROGRAMMAZIONE II
CORSO DI PROGRAMMAZIONE II Introduzione alla ricorsione
Esempi sui CSS.
Uso dei cicli y t =c+ty t-1 +e Un uso dei cicli può essere quello di creare una serie storica per cui y t =c+ty t-1 +e dove poniamo c e t scalari ed e~N(0,1).
Il linguaggio Fortran 90: 4. Array: Vettori e Matrici
Il linguaggio Fortran 90: 2. Istruzioni di Controllo
ITERAZIONE e RICORSIONE (eseguire uno stesso calcolo ripetutamente) ITERAZIONE: ripetere piu volte una sequenza di operazioni istruzioni: for, while, do.
E Pluribus Unum I comportamenti emergenti. La metafora in StarLogo Tartarughe vivono sui patches: mondo bidimensionale che è un automa cellulare. Lenfasi.
mosaic manipola oggetti primitivi (ruota e unisci) regole:
CAPITOLO 7.
Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Conoscenza e ragionamento Logica dei predicati del primo ordine.
Le funzioni.
Java Collections.
INTRODUZIONE A MATLAB.
DISCLIC Facoltà di Lingue e Letterature Straniere Giornata di studio a conclusione del ciclo di incontri sul gioco applicato alla didattica delle lingue.
I Vettori • Caratteristiche Operazioni Prof. A. Sala Uscita.
LABORATORIO DI MATEMATICA
BIOINFO3 - Lezione 24 ARRAY
PROBLEMA ALGORITMO PROGRAMMA LINGUAGGI di PROGRAMMAZIONE
Cicli in Fortran I cicli consentono di eseguire una sequenza di istruzioni più di una volta due tipi: Cicli iterativi Cicli while.
Problema: come dividere due numeri
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA FINALE DEL 21 MAGGIO 2007 NOME: COGNOME: ________________________________________________________________________________.
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
Programma di Informatica Classi Prime
ND-partizione (A) n   A  somma  0 M  1/2 (  a i ) for i  1 to n do S[i]  choice ({true, false}) if S[i] then somma  somma + a i if somma > M then.
Programmazione Strutturata
PROGRAMMAZIONE IN LOGO
Nota (rif. alla lezione precedente): Vector vs ArrayList Le classi generiche Vector e ArrayList sono sostanzialmente equivalenti, ma: I metodi.
JAVA Per iniziare. Verificare installazione javac –version java –version Cercare i files e sistemare eventualmente il path.
Prima di iniziare… Durata attività: due lezioni frontali + una lezione laboratorio + compiti per casa Prerequisiti: elementi base architettura dei calcolatori.
Il linguaggio Fortran 90: 3. Procedure e Funzioni
JavaScript Generalità Cos'è JavaScript?
Qualche notizia indispensabile per cominciare Ogni oggetto ha una serie di variabili già al suo interno. All'inizio tutte le variabili sono = 0 SPEED :
Introduzione a Javascript
La ricorsione.
Esercitazione su Vector. Permette di definire collezioni di dati generiche, che sono in grado di memorizzare elementi di ogni sottotipo di Object Definito.
Allievi Elettrici - AA Le funzioni ricorsive in C
1 Tipi di Dato §descrittori, tipi, controllo e inferenza dei tipi §specifica (semantica) e implementazione di tipi di dato l implementazioni “sequenziali”
Appunti su Starlogo & Netlogo Michele Sonnessa Torino, 7 febbraio 2004.
1 Il linguaggio C Precisazioni sull’esperienza in laboratorio.
Sommario Oggetti immutabili e non Tipi Primitivi: String, Arrays.
StarLogo Le tartarughe in parallelo!!. CONTIAMO LE TARTA  to inizia  ca  crt 1  end   to genera  hatch [ ] fd 1  end.
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
Strutture di controllo
Informatica Problemi e algoritmi. una situazione che pone delle domande cui si devono dare risposte. Col termine problema o situazione problematica s’indica.
UNIMORE University of Modena and Reggio Emilia Scratch Simone Calderara
Transcript della presentazione:

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 alla sua conoscenza, alle sue interazioni, alle sue finalità. Il controllo dellagente sui processi suddetti è locale.

Un po di storia Il più antico agente virtuale? La tartaruga LOGO che mette in azione un comportamento locale Non ha percezione alcuna del mondo complessivo in cui vive È responsabile delle sue conoscenze Si muove su una griglia È in sintonia con il movimento del corpo. Nasce come strumento di pensiero per giovani.

Il LOGO la programmazione è un gioco! nessuna pretesa da ingegneria del sw Linguaggio interpretato Scritto 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

MSWLOGO CiaoMondo!! label ciaomondo!! Scegliere la grandezza, il colore del font e scrivere repeat 36 [label "ciaomondo!! rt 10 setpencolor repcount]

Introduzione concetti: procedura TO BOX REPEAT 4 [FD 100 RT 90] END E se vogliamo 2 quadrati? TO BOXES REPEAT 4 [FD 100 RT 90] RT 90 PU FD 120 PD LT 90 REPEAT 4 [FD 100 RT 90] END

Introduzione variabili E se devono essere tanti? E di grandezza qualunque? Studio delle figure poligonali e geometria della tartaruga. Vediamo qualche cammino.

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

I dati Possono essere Parole Liste Vettori I numeri sono casi particolari di parole. Non cè il sistema forte dei tipi: linterprete lo decide dal contesto.

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

Assegnamento make x sum :y 3 ha due parametri. Leffetto sta nel porre nel primo parametro la valutazione del secondo Sum :y 3 dove 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

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

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 pop La ricorsione è il modo naturale di trattare con le liste.

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

Esempi make "stati [italia francia spagna] label :stati Oppure label thing stati label first :stati pr first [italia francia spagna] pr last [italia francia spagna] pr butfirst [italia francia spagna] show butfirst [italia francia spagna] ct

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

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

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.

Strutture di controllo OPERAZIONE [una lista di comandi] [vari dati] show map [? * ? ] [ ] [ ]

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

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!

Esempio to vai ;sceglie un punto sullo schermo pu setxy random random 300 pd rt random 360 ;sceglie l'inclinazione end

Esempio to galassia :num ;traccia :num stelle repeat :num [ vai star random 50 ] ;di ampiezza arbitraria end to star :size repeat 5 [fd :size rt 144 ] end