1
Fork 0
mirror of https://github.com/Steffo99/unisteffo.git synced 2024-11-26 18:04:20 +00:00
triennale-appunti-steffo/docs/route-ApprendimentoSistemiArtificiali.chunk.aca26.esm.js
2020-06-15 18:47:56 +02:00

6 lines
No EOL
25 KiB
JavaScript
Generated

(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{"2e/m":function(n,i,e){"use strict";(function(n){var l=e("UrZR"),t=e.n(l);i.a=function(i){return n("table",{class:t.a.tablepanel},i.children)}}).call(this,e("hosL").h)},"3duz":function(n){n.exports={example:"example__9acWs"}},"8uYk":function(n){n.exports={box:"box__3cKyY",default:"default__v-emJ",red:"red__339Cz",orange:"orange__24_8v",yellow:"yellow__1Jo9W",lime:"lime__34yV5",cyan:"cyan__3RqLr",blue:"blue__13Wnj",magenta:"magenta__2tkzq"}},"9cHI":function(n,i,e){"use strict";e.r(i),function(n){var l=e("OPqz"),t=e("imVn"),o=e("Wxxq"),a=e("QNda"),u=e("RMzO"),r=e("yDBo"),s=e("2e/m"),c=e("zDbI"),d=e("UEzA");let p,m,f,_,h,g,b,v,z,x,w,S,L,C,y,A,N,E,I,D,O,q,U,H,M,P,R,T,k,B,F,V,j,Q,G,W,J,X,Y,Z,K,$=n=>n;const nn=String.raw;i.default=function(){return n("div",null,n("h1",null,"Apprendimento ed evoluzione in sistemi artificiali"),n(l.a,{title:"Informazioni"},n(t.a,{title:"Contatti"},n("ul",null,n("li",null,n("a",{href:"mailto:marco.villani@unimore.it"},"Prof. Marco Villani")))),n(t.a,{title:"Archivio"},n("p",null,"Se sei uno ",n("b",null,"studente dell'Unimore"),", puoi accedere all'",n("b",null,n("a",{href:"https://drive.google.com/drive/folders/1GcjP1Z5UtRjyAag7qjFQ-kx3s06G8ZoP"},"archivio del corso su Google Drive")),"."))),n(l.a,{title:"Esame"},n(t.a,{title:"Scritto"},n("ul",null,n("li",null,"Scegli 2 tra 6 domande possibili"),n("li",null,"90 minuti"))),n(t.a,{title:"Appelli"},n("ol",null,n("li",null,n(a.a,{to:"2020-06-23"})),n("li",null,n(a.a,{to:"2020-07-08"})),n("li",null,n(a.a,{to:"2020-07-22"}))))),n(l.a,{title:"NetLogo"},n(t.a,{title:"Cos'è?"},n("p",null,"NetLogo è un software di modellazione sistemi multiagente, da noi usato per le lezioni di laboratorio."),n("p",null,"Si può ",n("a",{href:"https://ccl.northwestern.edu/netlogo/download.shtml"},"scaricare")," o ",n("a",{href:"https://www.netlogoweb.org/launch"},"usare da browser"),"."),n("p",null,"Il suo codice sorgente è disponibile su ",n("a",{href:"https://github.com/NetLogo/NetLogo"},"GitHub"),", e ha una pagina di ",n("a",{href:"https://ccl.northwestern.edu/netlogo/docs/dictionary.html"},"documentazione"),"."),n("p",null,n("b",{style:"font-size: x-large;"},n("a",{href:"/apprendimento/netlogo"},"Consulta i miei appunti su NetLogo qui!"))))),n(l.a,{title:"Agenti"},n(t.a,{title:"Secondo il paradigma debole"},n("p",null,"Sono ",n("b",null,"sistemi")," con le seguenti caratteristiche:"),n("ul",null,n("li",null,n("b",null,"Autonomia"),": agiscono gli uni indipendentemente dagli altri"),n("li",null,n("b",null,"Reattività"),": percepiscono ciò che sta nel loro ambiente e ",n("i",null,"reagiscono")," ai cambiamenti di quest'ultimo"),n("li",null,n("b",null,"Proattività"),": agiscono in maniera tale da portare a termine i loro obiettivi"),n("li",null,n("b",null,"Socialità"),": comunicano con gli altri agenti, scambiando informazioni"))),n(t.a,{title:"Secondo il paradigma forte"},n("p",null,"Hanno anche caratteristiche di livello più alto derivate dalle quattro precedenti:"),n("ul",null,n("li",null,"Conoscenza"),n("li",null,"Intenzioni"),n("li",null,"Emozioni"),n("li",null,"Obblighi"),n("li",null,"Obiettivi"),n("li",null,"etc..."))),n(t.a,{title:"Caratteristiche aggiuntive"},n("p",null,"Gli agenti solitamente hanno anche:"),n("ul",null,n("li",null,n("b",null,"Mobilità"),": possono muoversi nell'ambiente"),n("li",null,n("b",null,"Veridicità"),": producono informazioni corrette"),n("li",null,n("b",null,"Benevolenza"),": agiscono nel modo corretto"),n("li",null,n("b",null,"Razionalità"),": compiono le azioni necessarie per raggiungere i loro obiettivi, e non altre che glielo impedirebbero")))),n(l.a,{title:"Benefici degli agenti"},n(t.a,{title:"Emergenza"},n("p",null,"Lo sviluppo negli agenti di nuove capacità per cui non erano stati programmati."),n(o.a,null,"Ad esempio, la Swarm Intelligence, descritta dopo!"))),n(l.a,{title:"Architetture di agente"},n(t.a,{title:"Classe"},n("p",null,"Classificazione in base a ",n("b",null,"come prende le decisioni")," un agente:"),n("ul",null,n("li",null,n("b",null,"Logic-based"),": prende le decisioni attraverso deduzioni ",n("i",null,"logiche")),n("li",null,n("b",null,"Reactive"),": mappa una ",n("i",null,"reazione")," a ogni situazione dell'ambiente"),n("li",null,n("b",null,"Belief-desire-intention"),": per decidere, considera le proprie ",n("i",null,"assunzioni sul mondo")," (",n("i",null,"belief"),"), i propri ",n("i",null,"desideri")," (",n("i",null,"desire"),") e le sue ",n("i",null,"intenzioni")," correnti (",n("i",null,"intention"),")"),n("li",null,n("b",null,"Layered"),": utilizza diversi ",n("i",null,"strati")," di capacità cognitive per giungere a una decisione"))),n(t.a,{title:"Comportamento"},n("p",null,"Classificazione in base a ",n("b",null,"come sono definiti gli obiettivi")," di un agente:"),n("ul",null,n("li",null,n("b",null,"Teleonomico"),": gli obiettivi sono predefiniti ed espliciti"),n("li",null,n("b",null,"Riflessivo"),": l'agente è libero di scegliere il suo obiettivo in base alle proprie percezioni interne"))),n(t.a,{title:"Conoscenze"},n("p",null,"Classificazione in base a ",n("b",null,"quanto conosce dell'ambiente")," un agente:"),n("ul",null,n("li",null,n("b",null,"Cognitivo"),": l'agente è immediatamente a conoscenza di ",n("b",null,"tutto l'ambiente")),n("li",null,n("b",null,"Reattivo"),": l'agente deve scoprire l'ambiente con le sue capacità sensoriali")))),n(l.a,{title:"Sistemi multi-agente"},n(t.a,{title:"Vantaggi"},n("ul",null,n("li",null,n("b",null,"Distribuzione"),": più agenti possono coprire aree di ambiente più vaste, o elaborare più in fretta zone più dense di informazione"),n("li",null,n("b",null,"Rappresentazione"),": i sistemi multi-agente modellano più accuratamente il mondo reale"))),n(t.a,{title:"Swarm intelligence"},n("p",null,"Comportamento ",n("b",null,"emergente")," che si manifesta nei sistemi multiagente con tantissimi agenti."),n("p",null,"Indica la capacità di risoluzione di problemi complessi attraverso la collaborazione di più agenti semplici."))),n(l.a,{title:"Evoluzione"},n(t.a,{title:"Algoritmi genetici"},n("p",null,"Meccanismi simili a quelli evolutivi umani che permettono ai tratti degli agenti di ",n("b",null,"convergere")," verso un valore.")),n(t.a,{title:"Fitness"},n("p",null,"Inizialmente definita come ",n("b",null,"numero di discendenti fertili"),", solitamente indica quanto è probabile che i tratti di un individuo siano passati alla generazione successiva.")),n(t.a,{title:"Cromosoma"},n("p",null,n("b",null,"Sequenza di valori")," che definisce uno o più tratti di un individuo.")),n(t.a,{title:"Popolazione"},n("p",null,"Un ",n("b",null,"insieme di individui")," aventi tutti gli stessi cromosomi.")),n(t.a,{title:"Mutazione"},n("p",null,"Fenomeno che causa una ",n("b",null,"piccola variazione casuale nei cromosomi")," dei figli."),n("p",null,"Previene la ",n("b",null,"convergenza prematura")," in un sistema.")),n(t.a,{title:"Crossover"},n("p",null,"Meccanismo di ",n("b",null,"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."),n("p",null,"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(t.a,{title:"Schema"},n("p",null,n("b",null,"Sequenza di valori")," all'interno di un cromosoma, che può includere anche sezioni in cui il valore è ",n("b",null,"irrilevante"),"."),n("p",null,"Gli algoritmi genetici permettono di trovare gli schemi con la ",n("b",null,"fitness più alta in assoluto")," in un tempo relativamente breve: il sistema ",n("i",null,"generalmente")," favorisce gli schemi corti con fitness alta.")),n(t.a,{title:"Convergenza prematura"},n("p",null,"Situazione in cui si è raggiunta una soluzione non-ottimale a causa dell'assenza di novità nel sistema."),n("p",null,"Si può impedire con vari metodi: con la ",n("b",null,"mutazione"),", introducendo ",n("b",null,"requisiti di località")," per l'accoppiamento, scegliendo diversamente i genitori, etc..."))),n(l.a,{title:"Sistema a classificatori"},n(t.a,{title:"Cosa sono?"},n("p",null,"Programmi che dati tanti esempi sono in grado di classificare un elemento in una o più categorie."),n("p",null,"Sono formati da ",n("i",null,"classificatori"),", liste di ",n("i",null,"messaggi"),", ",n("i",null,"detettori")," e ",n("i",null,"effettori"),"."))),n(l.a,null,n(t.a,{title:"Classificatori"},n("p",null,"Strutture logiche che ",n("b",null,"elaborano")," i messaggi."),n("p",null,"Valutano una espressione logica (",n("i",null,"condizione"),") sui messaggi in arrivo, e se questa risulta essere vera, emettono un nuovo messaggio in risposta (",n("i",null,"azione"),")."),n(o.a,null,"Condizione e azione possono essere considerati come due cromosomi di un algoritmo genetico!")),n(t.a,{title:"Messaggi"},n("p",null,n("b",null,"Unità di informazione")," di un sistema a classificatori: sono ",n("b",null,"generati")," da ",n("i",null,"detettori")," e ",n("i",null,"classificatori"),", e ",n("b",null,"consumati")," da ",n("i",null,"classificatori")," ed ",n("i",null,"effettori"),".")),n(t.a,{title:"Detettori"},n("p",null,n("b",null,"Sensori")," che percepiscono lo stato dell'ambiente esterno e lo riportano sotto forma di ",n("i",null,"messaggi"),".")),n(t.a,{title:"Effettori"},n("p",null,n("b",null,"Motori")," che rispondono ai ",n("i",null,"messaggi")," effettuando una qualche azione nell'ambiente."))),n(l.a,null,n(t.a,{title:"Forza"},n("p",null,"Un ",n("b",null,"punteggio")," associato ad ogni classificatore."),n("p",null,"Più un classificatore viene attivato, più la sua forza crescerà."),n(o.a,null,"I classificatori più deboli vengono lentamente eliminati!")),n(t.a,{title:"Specificità"},n("p",null,"Il ",n("b",null,"numero di condizioni che devono essere soddisfatte")," perchè il classificatore si attivi.")),n(t.a,{title:"Bid"},n("p",null,n("b",null,"Prodotto")," di specificità e forza di un classificatore."),n("p",null,"Rappresenta ",n("b",null,"quanto è probabile che venga utilizzato")," un dato classificatore nel caso che le condizioni di più di uno vengano soddisfatte."),n(o.a,null,"La fitness degli algoritmi genetici."))),n(l.a,null,n(t.a,{title:"Cover Detector"},n("p",null,"Se l'input non soddisfa nessun classificatore esistente, se ne crea uno nuovo con una azione casuale.")),n(t.a,{title:"Cover Effector"},n("p",null,"Se i classificatori emettono in output un messaggio"))),n(l.a,{title:"Reti neurali"},n(t.a,{title:"Cognitivismo"},n("p",null,"Non è importante l'architettura fisica di un intelligenza, ma solo la sua ",n("b",null,"capacità di elaborare simboli"),"."),n(u.a,null,"TODO: è una teoria, una filosofia o cosa? Come si collega alla ",n("a",{href:"https://it.wikipedia.org/wiki/Stanza_cinese"},"Stanza Cinese"),"?")),n(t.a,{title:"Neuroni"},n("p",null,"Agenti che possono ",n("b",null,"collegarsi tra loro")," tramite ",n("i",null,"sinapsi")," (dirette) e ",n("b",null,"ricevere")," ed ",n("b",null,"emettere")," ",n("i",null,"impulsi")," lungo di esse."),n("p",null,"Gli impulsi ricevuti vengono temporaneamente ",n("b",null,"memorizzati")," dal neurone attraverso valori che decadono nel tempo."),n("p",null,"Se la somma dei valori di tutti gli impulsi ricevuti è ",n("b",null,"maggiore di una certa soglia"),", allora il neurone ",n("b",null,"emetterà")," un impulso."))),n(l.a,{title:"Modello booleano"},n(t.a,{title:"Cos'è?"},n("p",null,"Un modello semplificato di rete neurale in cui vengono considerati ",n("b",null,"solo tempi discreti"),", e non è presente la memorizzazione degli impulsi nel tempo."),n(o.a,null,"È importante perchè dimostra che le reti neurali ",n("b",null,"possono elaborare qualsiasi cosa"),", ma incompleto perchè non descrive nessun metodo per la loro creazione automatica.")),n(t.a,{title:"Neuroni"},n("p",null,"I neuroni emettono in un dato istante se la ",n("b",null,"somma dei loro impulsi nell'istante precedente è maggiore o uguale a 1"),".")),n(t.a,{title:"Intensità sinaptica"},n("p",null,"Le sinapsi hanno una ",n("i",null,"intensità"),": è un ",n("b",null,"moltiplicatore")," che viene applicato a tutti gli impulsi transitanti la sinapsi."))),n(l.a,{title:"Funzioni logiche nel modello booleano"},n(t.a,{title:"NOT"},n("p",null,"Un neurone con una sinapsi entrante con intensità ",n(r.a,null,nn(p||(p=$`-1`))),".")),n(t.a,{title:"OR"},n("p",null,"Un neurone con due o più sinapsi entranti con intensità ",n(r.a,null,nn(m||(m=$`1`))),".")),n(t.a,{title:"AND"},n("p",null,"Un neurone con due o più sinapsi entranti con intensità ",n(r.a,null,nn(f||(f=$`\frac{1}{numero\ sinapsi}`))),"."))),n(l.a,{title:"Modello di Hopfield"},n(t.a,{title:"Cos'è?"},n("p",null,"Un'estensione del modello booleano per permettere l'apprendimento automatico delle configurazioni giuste di neuroni."),n("p",null,"Tra le altre cose, ",n("b",null,"proibisce sinapsi entranti e uscenti dallo stesso neurone"),"."),n("p",null,"Non è molto avanzato e funzionale, ma incentiva ulteriori studi nel campo.")),n(s.a,null,n("thead",null,n("tr",null,n("th",null,"Simbolo"),n("th",null,"Descrizione"))),n("tbody",null,n("tr",null,n("td",null,n(c.a,null,nn(_||(_=$`N`)))),n("td",null,"Numero totale di neuroni nel sistema")),n("tr",null,n("td",null,n(c.a,null,nn(h||(h=$`n`)))),n("td",null,"Numero di un neurone specifico")),n("tr",null,n("td",null,n(c.a,null,nn(g||(g=$`w_{nm}`)))),n("td",null,"Intensità della sinapsi diretta da ",n(r.a,null,nn(b||(b=$`n`)))," verso ",n(r.a,null,nn(v||(v=$`m`))))),n("tr",null,n("td",null,n(c.a,null,nn(z||(z=$`\theta_n`)))),n("td",null,"Soglia di attivazione del neurone ",n(r.a,null,nn(x||(x=$`n`))))),n("tr",null,n("td",null,n(c.a,null,nn(w||(w=$`x_n(t)`)))),n("td",null,"Emissione del neurone ",n(r.a,null,nn(S||(S=$`n`)))," nel momento ",n(r.a,null,nn(L||(L=$`t`))))),n("tr",null,n("td",null,n(c.a,null,nn(C||(C=$`X(t)`)))),n("td",null,"Vettore contenente tutte le emissioni dei neuroni nel momento ",n(r.a,null,nn(y||(y=$`t`))))),n("tr",null,n("td",null,n(c.a,null,nn(A||(A=$`I_n(X(t))`)))),n("td",null,"Somma degli ingressi del neurone ",n(r.a,null,nn(N||(N=$`n`)))," nel momento ",n(r.a,null,nn(E||(E=$`t`))))),n("tr",null,n("td",null,n(c.a,null,nn(I||(I=$`A`)))),n("td",null,"Un pattern di neuroni")),n("tr",null,n("td",null,n(c.a,null,nn(D||(D=$`a_i`)))),n("td",null,"Un neurone appartenente a un pattern")),n("tr",null,n("td",null,n(c.a,null,nn(O||(O=$`Q(A, B)`)))),n("td",null,"Sovrapposizione tra il pattern ",n(r.a,null,nn(q||(q=$`A`)))," e il pattern ",n(r.a,null,nn(U||(U=$`B`))))))),n(t.a,{title:"Evoluzione del sistema"},n("p",null,"In ogni istante, i neuroni emettono:"),n("ul",null,n("li",null,n(r.a,null,nn(H||(H=$`0`)))," se gli input ",n("b",null,"sono inferiori alla soglia")),n("li",null,n(r.a,null,nn(M||(M=$`1`)))," se gli input ",n("b",null,"superano la soglia")),n("li",null,n("b",null,"il valore precedente")," se gli input ",n("b",null,"sono uguali alla soglia"))))),n(l.a,null,n(t.a,{title:"Simmetria"},n("p",null,"Se le connessioni sono simmetriche, la rete neurale tenderà a un punto fisso: il sistema evolve fino a raggiungere un attrattore."),n("p",null,n(u.a,null,"TODO: E quindi...?"))),n(t.a,{title:"Apprendimento hebbiano"},n("p",null,"Un metodo per realizzare l'apprendimento nel modello di Hopfield."),n("p",null,"Si incrementa l'intensità delle sinapsi che connettono neuroni nello stesso stato, e invece si decrementa l'intensità di quelle che connettono neuroni in stati opposti."),n("p",null,"Considerando i neuroni spenti e quelli accesi come ",n(r.a,null,nn(P||(P=$`0`)))," e ",n(r.a,null,nn(R||(R=$`1`)))," rispettivamente, si ha che per ogni pattern:"),n(d.a,null,nn(T||(T=$`
\Delta w_{ik} = (2 \cdot A_i - 1)(2 \cdot A_k - 1)
`))),n(o.a,null,"Così facendo, si insegna sia il pattern normale sia il suo complementare!"),n("p",null,n(u.a,null,"TODO: Dopo ci sono tante dimostrazioni..."))),n(t.a,{title:"Overlap di due pattern"},n("p",null,"Il numero di neuroni attivati in entrambi i pattern."),n(d.a,null,nn(k||(k=$`
Q(A, B) = \sum_{i = 1}^n A_i B_i
`)))),n(t.a,{title:"Interferenza"},n("p",null,"Più pattern vengono imparati da un modello, più è facile che essi interferiscano tra loro."),n("p",null,"In caso di pattern completamente scorrelati tra loro, il limite di pattern imparabili è circa:"),n(d.a,null,nn(B||(B=$`0.14 \cdot N`))))),n(l.a,{title:"Modello a percettroni"},n(t.a,{title:"Cos'è?"},n("p",null,"Un modello di rete neurale che supporta l'apprendimento e che presenta ",n("b",null,"più strati di neuroni"),".")),n(s.a,null,n("thead",null,n("tr",null,n("th",null,"Simbolo"),n("th",null,"Descrizione"))),n("tbody",null,n("tr",null,n("td",null,n(c.a,null,nn(F||(F=$`N`)))),n("td",null,"Numero totale di neuroni nel sistema")),n("tr",null,n("td",null,n(c.a,null,nn(V||(V=$`n`)))),n("td",null,"Numero di un neurone specifico")),n("tr",null,n("td",null,n(c.a,null,nn(j||(j=$`w_{nm}`)))),n("td",null,"Intensità della sinapsi diretta da ",n(r.a,null,nn(Q||(Q=$`n`)))," verso ",n(r.a,null,nn(G||(G=$`m`))))),n("tr",null,n("td",null,n(c.a,null,nn(W||(W=$`x_n`)))),n("td",null,"Emissione del neurone ",n(r.a,null,nn(J||(J=$`n`))))),n("tr",null,n("td",null,n(c.a,null,nn(X||(X=$`H(v)`)))),n("td",null,"Funzione che restituisce lo stato di un neurone dato un valore di input")),n("tr",null,n("td",null,n(c.a,null,nn(Y||(Y=$`\sum_1^N ( w_n \cdot x_n )`)))),n("td",null,"Somma degli input di un neurone")),n("tr",null,n("td",null,n(c.a,null,nn(Z||(Z=$`x_0`)))),n("td",null,"Neurone di offset"))))),n(l.a,null,n(t.a,{title:"Percettrone"},n("p",null,n("b",null,"Neurone terminale")," di una rete di percettroni."),n("p",null,"Utilizza un ",n("b",null,"semipiano di attivazione")," invece che una soglia."),n("p",null,"Ai neuroni in input si aggiunge un neurone speciale ",n(r.a,null,nn(K||(K=$`x_0`)))," detto ",n("b",null,"neurone di offset")," che permette di semplificare la formula."),n("p",null,n(u.a,null,"TODO: scrivere e imparare le formule"))),n(t.a,{title:"Apprendimento"},n("p",null,"Si parte da intensità casuali delle sinapsi."),n("p",null,"Si prova a classificare degli esempi pre-classificati: se un esempio viene classificato nel modo sbagliato, si alterano le intensità delle sinapsi in direzione della sua classificazione corretta."))))}}.call(this,e("hosL").h)},JESo:function(n){n.exports={inline:"inline__1yl8V",block:"block__fPiiB"}},KN5E:function(n){n.exports={todo:"todo__2IWIS"}},OPqz:function(n,i,e){"use strict";(function(n){var l=e("TWV3"),t=e("hosL");i.a=function(i){return n(t.Fragment,null,n("h2",null,i.title),n(l.a,null,i.children))}}).call(this,e("hosL").h)},OmdA:function(n){n.exports={title:"title__3ZVpg",contents:"contents__20_NI"}},PGF6:function(n,i,e){"use strict";var l=e("hosL");i.a=Object(l.createContext)(null)},Q7TX:function(n,i,e){"use strict";(function(n){e.d(i,"a",(function(){return s}));var l=e("JESo"),t=e.n(l),o=e("QRet"),a=e("8CDw"),u=e("wQ73"),r=e("PGF6");const s=Object.freeze({INLINE:t.a.inline,BLOCK:t.a.block});i.b=function(i){let e,l,c=Object(o.b)(a.a),d=Object(o.b)(u.a),p=Object(o.b)(r.a);return e=void 0===i.inline?d:i.inline,l=void 0===i.display?null===p?s.INLINE:p:i.display,n("img",e?{src:`https://latex.codecogs.com/svg.latex?\\inline {\\color{${c}} ${i.children} }`,alt:i.children,title:i.children,class:t.a.latex+" "+l}:{src:`https://latex.codecogs.com/svg.latex?{\\color{${c}} ${i.children} }`,alt:i.children,title:i.children,class:t.a.latex+" "+l})}}).call(this,e("hosL").h)},QNda:function(n,i,e){"use strict";(function(n){e.d(i,"a",(function(){return a}));var l=e("hosL"),t=e("e8JA"),o=e.n(t);class a extends l.Component{constructor(){super(),this.state={now:Date.now()},this.timer=null}componentDidMount(){this.timer=setInterval(()=>{this.setState({now:Date.now()})},1e3)}componentWillUnmount(){null!==this.timer&&clearInterval(this.timer)}render(){let i="Unknown date",e=o.a.timer,l={milliseconds:"?",seconds:"?",minutes:"?",hours:"?",days:"?"};if(this.props.to){i=new Date(this.props.to);let n=i-this.state.now;n>0?l={milliseconds:n%1e3,seconds:Math.floor(n/1e3)%60,minutes:Math.floor(n/6e4)%60,hours:Math.floor(n/36e5)%24,days:Math.floor(n/864e5)}:(l={milliseconds:0,seconds:0,minutes:0,hours:0,days:0},e+=" "+o.a.expired)}else e+=" "+o.a.unknown;return n("div",{class:e,title:i},n("div",{class:o.a.days+" "+o.a.count},l.days),n("div",{className:o.a.days+" "+o.a.text},"giorni"),n("div",{class:o.a.hours+" "+o.a.count},l.hours),n("div",{className:o.a.hours+" "+o.a.text},"ore"),n("div",{class:o.a.minutes+" "+o.a.count},l.minutes),n("div",{className:o.a.minutes+" "+o.a.text},"minuti"),n("div",{class:o.a.seconds+" "+o.a.count},l.seconds),n("div",{class:o.a.seconds+" "+o.a.text},"secondi"))}}}).call(this,e("hosL").h)},QRet:function(n,i,e){"use strict";function l(n,i){w.options.__h&&w.options.__h(z,n,S||i),S=0;var e=z.__H||(z.__H={__:[],__h:[]});return n>=e.__.length&&e.__.push({}),e.__[n]}function t(n){return S=1,o(b,n)}function o(n,i,e){var t=l(v++,2);return t.t=n,t.__c||(t.__c=z,t.__=[e?e(i):b(void 0,i),function(n){var i=t.t(t.__[0],n);t.__[0]!==i&&(t.__[0]=i,t.__c.setState({}))}]),t.__}function a(n,i){var e=l(v++,3);!w.options.__s&&g(e.__H,i)&&(e.__=n,e.__H=i,z.__H.__h.push(e))}function u(n,i){var e=l(v++,4);!w.options.__s&&g(e.__H,i)&&(e.__=n,e.__H=i,z.__h.push(e))}function r(n){return S=5,c((function(){return{current:n}}),[])}function s(n,i,e){S=6,u((function(){"function"==typeof n?n(i()):n&&(n.current=i())}),null==e?e:e.concat(n))}function c(n,i){var e=l(v++,7);return g(e.__H,i)?(e.__H=i,e.__h=n,e.__=n()):e.__}function d(n,i){return S=8,c((function(){return n}),i)}function p(n){var i=z.context[n.__c],e=l(v++,9);return e.__c=n,i?(null==e.__&&(e.__=!0,i.sub(z)),i.props.value):n.__}function m(n,i){w.options.useDebugValue&&w.options.useDebugValue(i?i(n):n)}function f(){L.some((function(n){if(n.__P)try{n.__H.__h.forEach(_),n.__H.__h.forEach(h),n.__H.__h=[]}catch(i){return n.__H.__h=[],w.options.__e(i,n.__v),!0}})),L=[]}function _(n){"function"==typeof n.u&&n.u()}function h(n){n.u=n.__()}function g(n,i){return!n||i.some((function(i,e){return i!==n[e]}))}function b(n,i){return"function"==typeof i?i(n):i}e.d(i,"j",(function(){return t})),e.d(i,"h",(function(){return o})),e.d(i,"d",(function(){return a})),e.d(i,"f",(function(){return u})),e.d(i,"i",(function(){return r})),e.d(i,"e",(function(){return s})),e.d(i,"g",(function(){return c})),e.d(i,"a",(function(){return d})),e.d(i,"b",(function(){return p})),e.d(i,"c",(function(){return m}));var v,z,x,w=e("hosL"),S=0,L=[],C=w.options.__r,y=w.options.diffed,A=w.options.__c,N=w.options.unmount;w.options.__r=function(n){C&&C(n),v=0;var i=(z=n.__c).__H;i&&(i.__h.forEach(_),i.__h.forEach(h),i.__h=[])},w.options.diffed=function(n){y&&y(n);var i=n.__c;i&&i.__H&&i.__H.__h.length&&(1!==L.push(i)&&x===w.options.requestAnimationFrame||((x=w.options.requestAnimationFrame)||function(n){var i,e=function(){clearTimeout(l),cancelAnimationFrame(i),setTimeout(n)},l=setTimeout(e,100);"undefined"!=typeof window&&(i=requestAnimationFrame(e))})(f))},w.options.__c=function(n,i){i.some((function(n){try{n.__h.forEach(_),n.__h=n.__h.filter((function(n){return!n.__||h(n)}))}catch(e){i.some((function(n){n.__h&&(n.__h=[])})),i=[],w.options.__e(e,n.__v)}})),A&&A(n,i)},w.options.unmount=function(n){N&&N(n);var i=n.__c;if(i&&i.__H)try{i.__H.__.forEach(_)}catch(n){w.options.__e(n,i.__v)}}},RMzO:function(n,i,e){"use strict";e("KN5E"),i.a=function(){return null}},TWV3:function(n,i,e){"use strict";(function(n){var l=e("htlC"),t=e.n(l);i.a=function(i){let e;return e=Array.isArray(i.children)?i.children.map(i=>n("div",{class:t.a.splitchild},i)):n("div",{class:t.a.splitchild},i.children),n("div",{class:t.a.split},n("div",{class:t.a.splitparent},e))}}).call(this,e("hosL").h)},UEzA:function(n,i,e){"use strict";(function(n){var l=e("zDbI");i.a=function(i){return n("p",null,n(l.a,null,i.children))}}).call(this,e("hosL").h)},UrZR:function(n){n.exports={tablepanel:"tablepanel__1Wil3"}},Wxxq:function(n,i,e){"use strict";(function(n){var l=e("3duz"),t=e.n(l);e("hosL"),i.a=function(i){return n("div",{class:t.a.example},i.children)}}).call(this,e("hosL").h)},Y9Ml:function(n,i,e){"use strict";(function(n){var l=e("8uYk"),t=e.n(l);const o=Object.freeze({RED:t.a.red,ORANGE:t.a.orange,YELLOW:t.a.yellow,LIME:t.a.lime,CYAN:t.a.cyan,BLUE:t.a.blue,MAGENTA:t.a.magenta,DEFAULT:t.a.default});i.a=function(i){let e=o.DEFAULT;return i.color&&(e=i.color),n("div",{class:t.a.box+" "+e},i.children)}}).call(this,e("hosL").h)},e8JA:function(n){n.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"}},htlC:function(n){n.exports={splitparent:"splitparent__3-wBs",splitchild:"splitchild__begkX"}},imVn:function(n,i,e){"use strict";(function(n){var l=e("OmdA"),t=e.n(l),o=e("Y9Ml");i.a=function(i){return n(o.a,{color:i.color},n("h3",{class:t.a.title},i.title),n("div",{class:t.a.contents},i.children))}}).call(this,e("hosL").h)},wQ73:function(n,i,e){"use strict";var l=e("hosL");i.a=Object(l.createContext)(!0)},yDBo:function(n,i,e){"use strict";(function(n){var l=e("Q7TX");i.a=function(i){return n(l.b,{inline:!0,display:l.a.INLINE},i.children)}}).call(this,e("hosL").h)},zDbI:function(n,i,e){"use strict";(function(n){var l=e("Q7TX");i.a=function(i){return n(l.b,{inline:!1,display:l.a.BLOCK},i.children)}}).call(this,e("hosL").h)}}]);
//# sourceMappingURL=route-ApprendimentoSistemiArtificiali.chunk.aca26.esm.js.map