import {Component} from 'preact' import Section from "../components/Elements/Section"; import Panel from "../components/Elements/Panel"; import Example from "../components/Elements/Example"; import Code from "../components/Rendering/Code"; import Timer from "../components/Elements/Timer"; export default function(props) { return (

Apprendimento ed evoluzione in sistemi artificiali

Se sei uno studente dell'Unimore, puoi accedere all'archivio del corso su Google Drive..

  • Scegli 2 tra 6 domande possibili
  • 90 minuti

NetLogo è un software di modellazione sistemi multiagente, da noi usato per le lezioni di laboratorio.

Si può scaricare o usare da browser.

Il suo codice sorgente è disponibile su GitHub, e ha una pagina di documentazione.

Consulta i miei appunti su NetLogo qui!

Sono sistemi con le seguenti caratteristiche:

  • Autonomia: agiscono gli uni indipendentemente dagli altri
  • Reattività: percepiscono ciò che sta nel loro ambiente e reagiscono ai cambiamenti di quest'ultimo
  • Proattività: agiscono in maniera tale da portare a termine i loro obiettivi
  • Socialità: comunicano con gli altri agenti, scambiando informazioni

Hanno anche caratteristiche di livello più alto derivate dalle quattro precedenti:

  • Conoscenza
  • Intenzioni
  • Emozioni
  • Obblighi
  • Obiettivi
  • etc...

Gli agenti solitamente hanno anche:

  • Mobilità: possono muoversi nell'ambiente
  • Veridicità: producono informazioni corrette
  • Benevolenza: agiscono nel modo corretto
  • Razionalità: compiono le azioni necessarie per raggiungere i loro obiettivi, e non altre che glielo impedirebbero

Lo sviluppo negli agenti di nuove capacità per cui non erano stati programmati.

Ad esempio, la Swarm Intelligence, descritta dopo!

Classificazione in base a come prende le decisioni un agente:

  • Logic-based: prende le decisioni attraverso deduzioni logiche
  • Reactive: mappa una reazione a ogni situazione dell'ambiente
  • Belief-desire-intention: per decidere, considera le proprie assunzioni sul mondo (belief), i propri desideri (desire) e le sue intenzioni correnti (intention)
  • Layered: utilizza diversi strati di capacità cognitive per giungere a una decisione

Classificazione in base a come sono definiti gli obiettivi di un agente:

  • Teleonomico: gli obiettivi sono predefiniti ed espliciti
  • Riflessivo: l'agente è libero di scegliere il suo obiettivo in base alle proprie percezioni interne

Classificazione in base a quanto conosce dell'ambiente un agente:

  • Cognitivo: l'agente è immediatamente a conoscenza di tutto l'ambiente
  • Reattivo: l'agente deve scoprire l'ambiente con le sue capacità sensoriali
  • Distribuzione: più agenti possono coprire aree di ambiente più vaste, o elaborare più in fretta zone più dense di informazione
  • Rappresentazione: i sistemi multi-agente modellano più accuratamente il mondo reale

Comportamento emergente che si manifesta nei sistemi multiagente con tantissimi agenti.

Indica la capacità di risoluzione di problemi complessi attraverso la collaborazione di più agenti semplici.

Meccanismi simili a quelli evolutivi umani che permettono ai tratti degli agenti di convergere verso un valore.

Inizialmente definita come numero di discendenti fertili, solitamente indica quanto è probabile che i tratti di un individuo siano passati alla generazione successiva.

Sequenza di valori che definisce uno o più tratti di un individuo.

Un insieme di individui aventi tutti gli stessi cromosomi.

Fenomeno che causa una piccola variazione casuale nei cromosomi dei figli.

Previene la convergenza prematura in un sistema.

Meccanismo di costruzione dei cromosomi 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.

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.

Sequenza di valori all'interno di un cromosoma, che può includere anche sezioni in cui il valore è irrilevante.

Gli algoritmi genetici permettono di trovare gli schemi con la fitness più alta in assoluto in un tempo relativamente breve: il sistema generalmente favorisce gli schemi corti con fitness alta.

Situazione in cui si è raggiunta una soluzione non-ottimale a causa dell'assenza di novità nel sistema.

Si può impedire con vari metodi: con la mutazione, introducendo requisiti di località per l'accoppiamento, scegliendo diversamente i genitori, etc...

) }