2020-05-28 16:07:00 +00:00
import { Component } from 'preact'
2020-05-28 17:58:41 +00:00
import Section from "../components/Elements/Section" ;
2020-05-28 16:07:00 +00:00
import Panel from "../components/Elements/Panel" ;
2020-05-28 17:58:41 +00:00
import Example from "../components/Elements/Example" ;
import Code from "../components/Rendering/Code" ;
2020-06-09 15:13:22 +00:00
import Timer from "../components/Elements/Timer" ;
2020-06-10 15:11:06 +00:00
import Todo from "../components/Elements/Todo" ;
2020-05-28 16:07:00 +00:00
export default function ( props ) {
return (
< div >
< h1 > Apprendimento ed evoluzione in sistemi artificiali < / h 1 >
2020-06-09 15:13:22 +00:00
< Section title = { "Informazioni" } >
< Panel title = { "Contatti" } >
< ul >
< li > < a href = { "mailto:marco.villani@unimore.it" } > Prof . Marco Villani < / a > < / l i >
< / u l >
2020-05-28 16:07:00 +00:00
< / P a n e l >
2020-06-09 15:13:22 +00:00
< Panel title = { "Archivio" } >
2020-05-28 16:07:00 +00:00
< p >
2020-06-10 15:11:06 +00:00
Se sei uno < b > studente dell 'Unimore</b>, puoi accedere all' < b > < a href = { "https://drive.google.com/drive/folders/1GcjP1Z5UtRjyAag7qjFQ-kx3s06G8ZoP" } > archivio del corso su Google Drive < / a > < / b > .
2020-05-28 16:07:00 +00:00
< / p >
< / P a n e l >
2020-05-28 17:58:41 +00:00
< / S e c t i o n >
2020-06-09 15:13:22 +00:00
< Section title = { "Esame" } >
< Panel title = { "Scritto" } >
< ul >
< li > Scegli 2 tra 6 domande possibili < / l i >
< li > 90 minuti < / l i >
< / u l >
< / P a n e l >
< Panel title = { "Appelli" } >
< ol >
< li > < Timer to = { "2020-06-23" } / > < / l i >
< li > < Timer to = { "2020-07-08" } / > < / l i >
< li > < Timer to = { "2020-07-22" } / > < / l i >
< / o l >
2020-05-28 16:07:00 +00:00
< / P a n e l >
2020-05-28 17:58:41 +00:00
< / S e c t i o n >
2020-06-09 15:13:22 +00:00
< Section title = { "NetLogo" } >
< Panel title = { "Cos'è?" } >
2020-05-28 16:07:00 +00:00
< p >
2020-06-09 16:19:57 +00:00
NetLogo è un software di modellazione sistemi multiagente , da noi usato per le lezioni di laboratorio .
2020-05-28 16:07:00 +00:00
< / p >
< p >
2020-06-09 15:13:22 +00:00
Si può < a href = { "https://ccl.northwestern.edu/netlogo/download.shtml" } > scaricare < /a> o <a href={"https:/ / www . netlogoweb . org / launch " } > usare da browser < / a > .
2020-05-28 16:07:00 +00:00
< / p >
< p >
2020-06-09 15:13:22 +00:00
Il suo codice sorgente è disponibile su < a href = { "https://github.com/NetLogo/NetLogo" } > GitHub < /a>, e ha una pagina di <a href={"https:/ / ccl . northwestern . edu / netlogo / docs / dictionary . html " } > documentazione < / a > .
2020-05-28 16:07:00 +00:00
< / p >
< p >
2020-06-09 15:13:22 +00:00
< b style = { "font-size: x-large;" } > < a href = { "/apprendimento/netlogo" } > Consulta i miei appunti su NetLogo qui ! < / a > < / b >
2020-05-28 16:07:00 +00:00
< / p >
< / P a n e l >
2020-05-28 17:58:41 +00:00
< / S e c t i o n >
2020-06-09 16:19:57 +00:00
< Section title = { "Agenti" } >
< Panel title = { "Secondo il paradigma debole" } >
< p >
Sono < b > sistemi < / b > c o n l e s e g u e n t i c a r a t t e r i s t i c h e :
< / p >
< ul >
< li > < b > Autonomia < / b > : a g i s c o n o g l i u n i i n d i p e n d e n t e m e n t e d a g l i a l t r i < / l i >
< li > < b > Reattività < /b>: percepiscono ciò che sta nel loro ambiente e <i>reagiscono</i > ai cambiamenti di quest ' ultimo < / l i >
< li > < b > Proattività < / b > : a g i s c o n o i n m a n i e r a t a l e d a p o r t a r e a t e r m i n e i l o r o o b i e t t i v i < / l i >
< li > < b > Socialità < / b > : c o m u n i c a n o c o n g l i a l t r i a g e n t i , s c a m b i a n d o i n f o r m a z i o n i < / l i >
< / u l >
< / P a n e l >
< Panel title = { "Secondo il paradigma forte" } >
< p >
Hanno anche caratteristiche di livello più alto derivate dalle quattro precedenti :
< / p >
< ul >
< li > Conoscenza < / l i >
< li > Intenzioni < / l i >
< li > Emozioni < / l i >
< li > Obblighi < / l i >
< li > Obiettivi < / l i >
< li > etc ... < / l i >
< / u l >
< / P a n e l >
< Panel title = { "Caratteristiche aggiuntive" } >
< p >
Gli agenti solitamente hanno anche :
< / p >
< ul >
< li > < b > Mobilità < / b > : p o s s o n o m u o v e r s i n e l l ' a m b i e n t e < / l i >
< li > < b > Veridicità < / b > : p r o d u c o n o i n f o r m a z i o n i c o r r e t t e < / l i >
< li > < b > Benevolenza < / b > : a g i s c o n o n e l m o d o c o r r e t t o < / l i >
< li > < b > Razionalità < / b > : c o m p i o n o l e a z i o n i n e c e s s a r i e p e r r a g g i u n g e r e i l o r o o b i e t t i v i , e n o n a l t r e c h e g l i e l o i m p e d i r e b b e r o < / l i >
< / u l >
< / P a n e l >
< / S e c t i o n >
2020-06-10 09:28:19 +00:00
< Section title = { "Benefici degli agenti" } >
< Panel title = { "Emergenza" } >
< p >
Lo sviluppo negli agenti di nuove capacità per cui non erano stati programmati .
< / p >
< Example >
Ad esempio , la Swarm Intelligence , descritta dopo !
< / E x a m p l e >
< / P a n e l >
< / S e c t i o n >
2020-06-09 16:19:57 +00:00
< Section title = { "Architetture di agente" } >
< Panel title = { "Classe" } >
< p >
Classificazione in base a < b > come prende le decisioni < / b > u n a g e n t e :
< / p >
< ul >
< li > < b > Logic - based < /b>: prende le decisioni attraverso deduzioni <i>logiche</i > < / l i >
< li > < b > Reactive < /b>: mappa una <i>reazione</i > a ogni situazione dell ' ambiente < / l i >
< li > < b > Belief - desire - intention < /b>: per decidere, considera le proprie <i>assunzioni sul mondo</i > ( < i > belief < /i>), i propri <i>desideri</i > ( < i > desire < /i>) e le sue <i>intenzioni</i > correnti ( < i > intention < / i > ) < / l i >
< li > < b > Layered < /b>: utilizza diversi <i>strati</i > di capacità cognitive per giungere a una decisione < / l i >
< / u l >
< / P a n e l >
< Panel title = { "Comportamento" } >
< p >
Classificazione in base a < b > come sono definiti gli obiettivi < / b > d i u n a g e n t e :
< / p >
< ul >
< li > < b > Teleonomico < / b > : g l i o b i e t t i v i s o n o p r e d e f i n i t i e d e s p l i c i t i < / l i >
< li > < b > Riflessivo < / b > : l ' a g e n t e è l i b e r o d i s c e g l i e r e i l s u o o b i e t t i v o i n b a s e a l l e p r o p r i e p e r c e z i o n i i n t e r n e < / l i >
< / u l >
< / P a n e l >
< Panel title = { "Conoscenze" } >
< p >
Classificazione in base a < b > quanto conosce dell ' ambiente < / b > u n a g e n t e :
< / p >
< ul >
< li > < b > Cognitivo < / b > : l ' a g e n t e è i m m e d i a t a m e n t e a c o n o s c e n z a d i < b > t u t t o l ' a m b i e n t e < / b > < / l i >
< li > < b > Reattivo < / b > : l ' a g e n t e d e v e s c o p r i r e l ' a m b i e n t e c o n l e s u e c a p a c i t à s e n s o r i a l i < / l i >
< / u l >
< / P a n e l >
< / S e c t i o n >
< Section title = { "Sistemi multi-agente" } >
< Panel title = { "Vantaggi" } >
< ul >
< li > < b > Distribuzione < / b > : p i ù a g e n t i p o s s o n o c o p r i r e a r e e d i a m b i e n t e p i ù v a s t e , o e l a b o r a r e p i ù i n f r e t t a z o n e p i ù d e n s e d i i n f o r m a z i o n e < / l i >
< li > < b > Rappresentazione < / b > : i s i s t e m i m u l t i - a g e n t e m o d e l l a n o p i ù a c c u r a t a m e n t e i l m o n d o r e a l e < / l i >
< / u l >
< / P a n e l >
2020-06-10 09:28:19 +00:00
< Panel title = { "Swarm intelligence" } >
< p >
Comportamento < b > emergente < / b > c h e s i m a n i f e s t a n e i s i s t e m i m u l t i a g e n t e c o n t a n t i s s i m i a g e n t i .
< / p >
< p >
Indica la capacità di risoluzione di problemi complessi attraverso la collaborazione di più agenti semplici .
< / p >
< / P a n e l >
< / S e c t i o n >
< Section title = { "Evoluzione" } >
< Panel title = { "Algoritmi genetici" } >
< p >
Meccanismi simili a quelli evolutivi umani che permettono ai tratti degli agenti di < b > convergere < / b > v e r s o u n v a l o r e .
< / p >
< / P a n e l >
< Panel title = { "Fitness" } >
< p >
Inizialmente definita come < b > numero di discendenti fertili < / b > , s o l i t a m e n t e i n d i c a q u a n t o è p r o b a b i l e c h e i t r a t t i d i u n i n d i v i d u o s i a n o p a s s a t i a l l a g e n e r a z i o n e s u c c e s s i v a .
< / p >
< / P a n e l >
< Panel title = { "Cromosoma" } >
< p >
< b > Sequenza di valori < / b > c h e d e f i n i s c e u n o o p i ù t r a t t i d i u n i n d i v i d u o .
< / p >
< / P a n e l >
< Panel title = { "Popolazione" } >
< p >
Un < b > insieme di individui < / b > a v e n t i t u t t i g l i s t e s s i c r o m o s o m i .
< / p >
< / P a n e l >
< Panel title = { "Mutazione" } >
< p >
Fenomeno che causa una < b > piccola variazione casuale nei cromosomi < / b > d e i f i g l i .
< / p >
< p >
Previene la < b > convergenza prematura < / b > i n u n s i s t e m a .
< / p >
< / P a n e l >
< Panel title = { "Crossover" } >
< p >
Meccanismo di < b > costruzione dei cromosomi < / b > i n u n f i g l i o : i c r o m o s o m i d e i g e n i t o r i v e n g o n o t a g l i a t i n e l l o s t e s s o p u n t o s c e l t o a c a s o , e p e r c o s t r u i r e q u e l l i d e l f i g l i o v i e n e p r e s a u n a p a r t e d a l p a d r e e l ' a l t r a p a r t e d a l l a m a d r e .
< / p >
< p >
Può portare al miglioramento di un individuo e allo sviluppo di nuovi tratti , ma solo nelle parti di cromosoma che sono diverse tra i due genitori .
< / p >
< / P a n e l >
< Panel title = { "Schema" } >
< p >
< b > Sequenza di valori < / b > a l l ' i n t e r n o d i u n c r o m o s o m a , c h e p u ò i n c l u d e r e a n c h e s e z i o n i i n c u i i l v a l o r e è < b > i r r i l e v a n t e < / b > .
< / p >
< p >
Gli algoritmi genetici permettono di trovare gli schemi con la < b > fitness più alta in assoluto < /b> in un tempo relativamente breve: il sistema <i>generalmente</i > favorisce gli schemi corti con fitness alta .
< / p >
< / P a n e l >
< Panel title = { "Convergenza prematura" } >
< p >
Situazione in cui si è raggiunta una soluzione non - ottimale a causa dell ' assenza di novità nel sistema .
< / p >
< p >
Si può impedire con vari metodi : con la < b > mutazione < / b > , i n t r o d u c e n d o < b > r e q u i s i t i d i l o c a l i t à < / b > p e r l ' a c c o p p i a m e n t o , s c e g l i e n d o d i v e r s a m e n t e i g e n i t o r i , e t c . . .
< / p >
< / P a n e l >
2020-06-09 16:19:57 +00:00
< / S e c t i o n >
2020-06-10 15:11:06 +00:00
< Section title = { "Sistema a classificatori" } >
< Panel title = { "Cosa sono?" } >
< p >
Programmi che dati tanti esempi sono in grado di classificare un elemento in una o più categorie .
< / p >
< p >
Sono formati da < i > classificatori < /i>, liste di <i>messaggi</i > , < i > detettori < /i> e <i>effettori</i > .
< / p >
< / P a n e l >
< / S e c t i o n >
< Section >
< Panel title = { "Classificatori" } >
< p >
Strutture logiche che < b > elaborano < / b > i m e s s a g g i .
< / p >
< p >
Valutano una espressione logica ( < i > condizione < /i>) sui messaggi in arrivo, e se questa risulta essere vera, emettono un nuovo messaggio in risposta (<i>azione</i > ) .
< / p >
< Example >
Condizione e azione possono essere considerati come due cromosomi di un algoritmo genetico !
< / E x a m p l e >
< / P a n e l >
< Panel title = { "Messaggi" } >
< p >
< b > Unità di informazione < / b > d i u n s i s t e m a a c l a s s i f i c a t o r i : s o n o < b > g e n e r a t i < / b > d a < i > d e t e t t o r i < / i > e < i > c l a s s i f i c a t o r i < / i > , e < b > c o n s u m a t i < / b > d a < i > c l a s s i f i c a t o r i < / i > e d < i > e f f e t t o r i < / i > .
< / p >
< / P a n e l >
< Panel title = { "Detettori" } >
< p >
< b > Sensori < /b> che percepiscono lo stato dell'ambiente esterno e lo riportano sotto forma di <i>messaggi</i > .
< / p >
< / P a n e l >
< Panel title = { "Effettori" } >
< p >
< b > Motori < /b> che rispondono ai <i>messaggi</i > effettuando una qualche azione nell ' ambiente .
< / p >
< / P a n e l >
< / S e c t i o n >
< Section >
< Panel title = { "Forza" } >
< p >
Un < b > punteggio < / b > a s s o c i a t o a d o g n i c l a s s i f i c a t o r e .
< / p >
< p >
Più un classificatore viene attivato , più la sua forza crescerà . < Todo > TODO : siamo sicuri ? < / T o d o >
< / p >
< Example >
I classificatori più deboli vengono lentamente eliminati !
< / E x a m p l e >
< / P a n e l >
< Panel title = { "Specificità" } >
< p >
Il < b > numero di condizioni che devono essere soddisfatte < / b > p e r c h è i l c l a s s i f i c a t o r e s i a t t i v i .
< / p >
< / P a n e l >
< Panel title = { "Bid" } >
< p >
< b > Prodotto < / b > d i s p e c i f i c i t à e f o r z a d i u n c l a s s i f i c a t o r e .
< / p >
< p >
Rappresenta < b > quanto è probabile che venga utilizzato < / b > u n d a t o c l a s s i f i c a t o r e n e l c a s o c h e l e c o n d i z i o n i d i p i ù d i u n o v e n g a n o s o d d i s f a t t e .
< / p >
< Example >
La fitness degli algoritmi genetici .
< / E x a m p l e >
< / P a n e l >
< / S e c t i o n >
< Section >
< Panel title = { "Cover Detector" } >
< p >
Se l ' input non soddisfa nessun classificatore esistenze , se ne crea uno nuovo con azione casuale .
< / p >
< / P a n e l >
< Panel title = { "Cover Effector" } >
< p >
Se non viene prodotto nessun messaggio valido di output , si genera un nuovo classificatore che ne produce uno casuale a partire dall ' input .
< / p >
< Todo > TODO : che differenza c ' è con un detector ? < / T o d o >
< / P a n e l >
< / S e c t i o n >
2020-05-28 16:07:00 +00:00
< / d i v >
)
}