mirror of
https://github.com/Steffo99/unisteffo.git
synced 2024-11-23 00:14:21 +00:00
1 line
No EOL
23 KiB
Text
Generated
1 line
No EOL
23 KiB
Text
Generated
{"version":3,"sources":["webpack:///./routes/ApprendimentoSistemiArtificiali.js","webpack:///./components/Elements/Todo.less","webpack:///./components/Elements/Timer.js","webpack:///./components/Elements/Todo.js","webpack:///./components/Elements/Timer.less"],"names":["title","href","to","style","module","exports","Timer","state","Date","now","timer","componentDidMount","this","setInterval","setState","componentWillUnmount","clearInterval","render","dateTo","className","parts","milliseconds","seconds","minutes","hours","days","props","timeLeft","Math","floor","expired","unknown","class","count","text","Component"],"mappings":"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","file":"route-ApprendimentoSistemiArtificiali.chunk.23a10.js","sourcesContent":["import {Component} from 'preact'\nimport Section from \"../components/Elements/Section\";\nimport Panel from \"../components/Elements/Panel\";\nimport Example from \"../components/Elements/Example\";\nimport Code from \"../components/Rendering/Code\";\nimport Timer from \"../components/Elements/Timer\";\nimport Todo from \"../components/Elements/Todo\";\n\n\nexport default function(props) {\n return (\n <div>\n <h1>Apprendimento ed evoluzione in sistemi artificiali</h1>\n <Section title={\"Informazioni\"}>\n <Panel title={\"Contatti\"}>\n <ul>\n <li><a href={\"mailto:marco.villani@unimore.it\"}>Prof. Marco Villani</a></li>\n </ul>\n </Panel>\n <Panel title={\"Archivio\"}>\n <p>\n 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>.\n </p>\n </Panel>\n </Section>\n <Section title={\"Esame\"}>\n <Panel title={\"Scritto\"}>\n <ul>\n <li>Scegli 2 tra 6 domande possibili</li>\n <li>90 minuti</li>\n </ul>\n </Panel>\n <Panel title={\"Appelli\"}>\n <ol>\n <li><Timer to={\"2020-06-23\"}/></li>\n <li><Timer to={\"2020-07-08\"}/></li>\n <li><Timer to={\"2020-07-22\"}/></li>\n </ol>\n </Panel>\n </Section>\n <Section title={\"NetLogo\"}>\n <Panel title={\"Cos'è?\"}>\n <p>\n NetLogo è un software di modellazione sistemi multiagente, da noi usato per le lezioni di laboratorio.\n </p>\n <p>\n 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>.\n </p>\n <p>\n 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>.\n </p>\n <p>\n <b style={\"font-size: x-large;\"}><a href={\"/apprendimento/netlogo\"}>Consulta i miei appunti su NetLogo qui!</a></b>\n </p>\n </Panel>\n </Section>\n <Section title={\"Agenti\"}>\n <Panel title={\"Secondo il paradigma debole\"}>\n <p>\n Sono <b>sistemi</b> con le seguenti caratteristiche:\n </p>\n <ul>\n <li><b>Autonomia</b>: agiscono gli uni indipendentemente dagli altri</li>\n <li><b>Reattività</b>: percepiscono ciò che sta nel loro ambiente e <i>reagiscono</i> ai cambiamenti di quest'ultimo</li>\n <li><b>Proattività</b>: agiscono in maniera tale da portare a termine i loro obiettivi</li>\n <li><b>Socialità</b>: comunicano con gli altri agenti, scambiando informazioni</li>\n </ul>\n </Panel>\n <Panel title={\"Secondo il paradigma forte\"}>\n <p>\n Hanno anche caratteristiche di livello più alto derivate dalle quattro precedenti:\n </p>\n <ul>\n <li>Conoscenza</li>\n <li>Intenzioni</li>\n <li>Emozioni</li>\n <li>Obblighi</li>\n <li>Obiettivi</li>\n <li>etc...</li>\n </ul>\n </Panel>\n <Panel title={\"Caratteristiche aggiuntive\"}>\n <p>\n Gli agenti solitamente hanno anche:\n </p>\n <ul>\n <li><b>Mobilità</b>: possono muoversi nell'ambiente</li>\n <li><b>Veridicità</b>: producono informazioni corrette</li>\n <li><b>Benevolenza</b>: agiscono nel modo corretto</li>\n <li><b>Razionalità</b>: compiono le azioni necessarie per raggiungere i loro obiettivi, e non altre che glielo impedirebbero</li>\n </ul>\n </Panel>\n </Section>\n <Section title={\"Benefici degli agenti\"}>\n <Panel title={\"Emergenza\"}>\n <p>\n Lo sviluppo negli agenti di nuove capacità per cui non erano stati programmati.\n </p>\n <Example>\n Ad esempio, la Swarm Intelligence, descritta dopo!\n </Example>\n </Panel>\n </Section>\n <Section title={\"Architetture di agente\"}>\n <Panel title={\"Classe\"}>\n <p>\n Classificazione in base a <b>come prende le decisioni</b> un agente:\n </p>\n <ul>\n <li><b>Logic-based</b>: prende le decisioni attraverso deduzioni <i>logiche</i></li>\n <li><b>Reactive</b>: mappa una <i>reazione</i> a ogni situazione dell'ambiente</li>\n <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>)</li>\n <li><b>Layered</b>: utilizza diversi <i>strati</i> di capacità cognitive per giungere a una decisione</li>\n </ul>\n </Panel>\n <Panel title={\"Comportamento\"}>\n <p>\n Classificazione in base a <b>come sono definiti gli obiettivi</b> di un agente:\n </p>\n <ul>\n <li><b>Teleonomico</b>: gli obiettivi sono predefiniti ed espliciti</li>\n <li><b>Riflessivo</b>: l'agente è libero di scegliere il suo obiettivo in base alle proprie percezioni interne</li>\n </ul>\n </Panel>\n <Panel title={\"Conoscenze\"}>\n <p>\n Classificazione in base a <b>quanto conosce dell'ambiente</b> un agente:\n </p>\n <ul>\n <li><b>Cognitivo</b>: l'agente è immediatamente a conoscenza di <b>tutto l'ambiente</b></li>\n <li><b>Reattivo</b>: l'agente deve scoprire l'ambiente con le sue capacità sensoriali</li>\n </ul>\n </Panel>\n </Section>\n <Section title={\"Sistemi multi-agente\"}>\n <Panel title={\"Vantaggi\"}>\n <ul>\n <li><b>Distribuzione</b>: più agenti possono coprire aree di ambiente più vaste, o elaborare più in fretta zone più dense di informazione</li>\n <li><b>Rappresentazione</b>: i sistemi multi-agente modellano più accuratamente il mondo reale</li>\n </ul>\n </Panel>\n <Panel title={\"Swarm intelligence\"}>\n <p>\n Comportamento <b>emergente</b> che si manifesta nei sistemi multiagente con tantissimi agenti.\n </p>\n <p>\n Indica la capacità di risoluzione di problemi complessi attraverso la collaborazione di più agenti semplici.\n </p>\n </Panel>\n </Section>\n <Section title={\"Evoluzione\"}>\n <Panel title={\"Algoritmi genetici\"}>\n <p>\n Meccanismi simili a quelli evolutivi umani che permettono ai tratti degli agenti di <b>convergere</b> verso un valore.\n </p>\n </Panel>\n <Panel title={\"Fitness\"}>\n <p>\n Inizialmente definita come <b>numero di discendenti fertili</b>, solitamente indica quanto è probabile che i tratti di un individuo siano passati alla generazione successiva.\n </p>\n </Panel>\n <Panel title={\"Cromosoma\"}>\n <p>\n <b>Sequenza di valori</b> che definisce uno o più tratti di un individuo.\n </p>\n </Panel>\n <Panel title={\"Popolazione\"}>\n <p>\n Un <b>insieme di individui</b> aventi tutti gli stessi cromosomi.\n </p>\n </Panel>\n <Panel title={\"Mutazione\"}>\n <p>\n Fenomeno che causa una <b>piccola variazione casuale nei cromosomi</b> dei figli.\n </p>\n <p>\n Previene la <b>convergenza prematura</b> in un sistema.\n </p>\n </Panel>\n <Panel title={\"Crossover\"}>\n <p>\n Meccanismo di <b>costruzione dei cromosomi</b> in un figlio: i cromosomi dei genitori vengono tagliati nello stesso punto scelto a caso, e per costruire quelli del figlio viene presa una parte dal padre e l'altra parte dalla madre.\n </p>\n <p>\n 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.\n </p>\n </Panel>\n <Panel title={\"Schema\"}>\n <p>\n <b>Sequenza di valori</b> all'interno di un cromosoma, che può includere anche sezioni in cui il valore è <b>irrilevante</b>.\n </p>\n <p>\n 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.\n </p>\n </Panel>\n <Panel title={\"Convergenza prematura\"}>\n <p>\n Situazione in cui si è raggiunta una soluzione non-ottimale a causa dell'assenza di novità nel sistema.\n </p>\n <p>\n Si può impedire con vari metodi: con la <b>mutazione</b>, introducendo <b>requisiti di località</b> per l'accoppiamento, scegliendo diversamente i genitori, etc...\n </p>\n </Panel>\n </Section>\n <Section title={\"Sistema a classificatori\"}>\n <Panel title={\"Cosa sono?\"}>\n <p>\n Programmi che dati tanti esempi sono in grado di classificare un elemento in una o più categorie.\n </p>\n <p>\n Sono formati da <i>classificatori</i>, liste di <i>messaggi</i>, <i>detettori</i> e <i>effettori</i>.\n </p>\n </Panel>\n </Section>\n <Section>\n <Panel title={\"Classificatori\"}>\n <p>\n Strutture logiche che <b>elaborano</b> i messaggi.\n </p>\n <p>\n 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>).\n </p>\n <Example>\n Condizione e azione possono essere considerati come due cromosomi di un algoritmo genetico!\n </Example>\n </Panel>\n <Panel title={\"Messaggi\"}>\n <p>\n <b>Unità di informazione</b> di un sistema a classificatori: sono <b>generati</b> da <i>detettori</i> e <i>classificatori</i>, e <b>consumati</b> da <i>classificatori</i> ed <i>effettori</i>.\n </p>\n </Panel>\n <Panel title={\"Detettori\"}>\n <p>\n <b>Sensori</b> che percepiscono lo stato dell'ambiente esterno e lo riportano sotto forma di <i>messaggi</i>.\n </p>\n </Panel>\n <Panel title={\"Effettori\"}>\n <p>\n <b>Motori</b> che rispondono ai <i>messaggi</i> effettuando una qualche azione nell'ambiente.\n </p>\n </Panel>\n </Section>\n <Section>\n <Panel title={\"Forza\"}>\n <p>\n Un <b>punteggio</b> associato ad ogni classificatore.\n </p>\n <p>\n Più un classificatore viene attivato, più la sua forza crescerà. <Todo>TODO: siamo sicuri?</Todo>\n </p>\n <Example>\n I classificatori più deboli vengono lentamente eliminati!\n </Example>\n </Panel>\n <Panel title={\"Specificità\"}>\n <p>\n Il <b>numero di condizioni che devono essere soddisfatte</b> perchè il classificatore si attivi.\n </p>\n </Panel>\n <Panel title={\"Bid\"}>\n <p>\n <b>Prodotto</b> di specificità e forza di un classificatore.\n </p>\n <p>\n Rappresenta <b>quanto è probabile che venga utilizzato</b> un dato classificatore nel caso che le condizioni di più di uno vengano soddisfatte.\n </p>\n <Example>\n La fitness degli algoritmi genetici.\n </Example>\n </Panel>\n </Section>\n <Section>\n <Panel title={\"Cover Detector\"}>\n <p>\n Se l'input non soddisfa nessun classificatore esistenze, se ne crea uno nuovo con azione casuale.\n </p>\n </Panel>\n <Panel title={\"Cover Effector\"}>\n <p>\n Se non viene prodotto nessun messaggio valido di output, si genera un nuovo classificatore che ne produce uno casuale a partire dall'input.\n </p>\n <Todo>TODO: che differenza c'è con un detector?</Todo>\n </Panel>\n </Section>\n </div>\n )\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"todo\":\"todo__2IWIS\"};","import {Component} from 'preact'\nimport style from \"./Timer.less\"\n\n\nexport default class Timer extends Component {\n constructor() {\n super();\n this.state = {\n \"now\": Date.now()\n };\n this.timer = null;\n }\n\n componentDidMount() {\n this.timer = setInterval(() => {\n this.setState({\"now\": Date.now()})\n }, 1000)\n }\n\n componentWillUnmount() {\n if(this.timer !== null) {\n clearInterval(this.timer)\n }\n }\n\n render() {\n let dateTo = \"Unknown date\";\n let className = style.timer;\n\n let parts = {\n milliseconds: \"?\",\n seconds: \"?\",\n minutes: \"?\",\n hours: \"?\",\n days: \"?\",\n };\n\n if(this.props.to) {\n dateTo = new Date(this.props.to);\n let timeLeft = dateTo - this.state.now;\n\n if(timeLeft > 0) {\n parts = {\n milliseconds: timeLeft % 1000,\n seconds: Math.floor(timeLeft / 1000) % 60,\n minutes: Math.floor(timeLeft / 60000) % 60,\n hours: Math.floor(timeLeft / 3600000) % 24,\n days: Math.floor(timeLeft / 86400000),\n };\n }\n\n else {\n parts = {\n milliseconds: 0,\n seconds: 0,\n minutes: 0,\n hours: 0,\n days: 0,\n };\n\n className += \" \" + style.expired;\n }\n }\n else {\n className += \" \" + style.unknown;\n }\n\n return (\n <div class={className} title={dateTo}>\n <div class={style.days + \" \" + style.count}>\n {parts.days}\n </div>\n <div className={style.days + \" \" + style.text}>\n giorni\n </div>\n <div class={style.hours + \" \" + style.count}>\n {parts.hours}\n </div>\n <div className={style.hours + \" \" + style.text}>\n ore\n </div>\n <div class={style.minutes + \" \" + style.count}>\n {parts.minutes}\n </div>\n <div className={style.minutes + \" \" + style.text}>\n minuti\n </div>\n <div class={style.seconds + \" \" + style.count}>\n {parts.seconds}\n </div>\n <div class={style.seconds + \" \" + style.text}>\n secondi\n </div>\n </div>\n )\n }\n}\n","import style from \"./Todo.less\";\n\nexport default function (props) {\n\tif(process.env.NODE_ENV === \"development\") {\n\t\treturn <span class={style.todo}>{props.children}</span>;\n\t}\n\telse {\n\t\treturn null;\n\t}\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"timer\":\"timer__3Z2pL\",\"days\":\"days__myhe2\",\"hours\":\"hours__3JUDn\",\"minutes\":\"minutes__24lD7\",\"seconds\":\"seconds__2vZ4f\",\"count\":\"count__chi9X\",\"text\":\"text__34ldC\",\"unknown\":\"unknown__3sT2P\",\"expired\":\"expired__zNiuP\"};"],"sourceRoot":""} |