diff --git a/.obsidian/plugins/obsidian-file-color/data.json b/.obsidian/plugins/obsidian-file-color/data.json index 007d159..3fb87ad 100644 --- a/.obsidian/plugins/obsidian-file-color/data.json +++ b/.obsidian/plugins/obsidian-file-color/data.json @@ -269,10 +269,6 @@ "path": "9 - Algoritmi distribuiti/3 - Computazione distribuita", "color": "fc3lLaITDn62PYbzBhqxl" }, - { - "path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing", - "color": "fc3lLaITDn62PYbzBhqxl" - }, { "path": "steffo-file-index.json", "color": "me4XBNQC4rwzQFLlvIAn0" @@ -373,10 +369,6 @@ "path": "9 - Algoritmi distribuiti/★ algoritmi distribuiti.md", "color": "7j7Pqog0VHMVVAfazMNlb" }, - { - "path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Computazione/★ computazione.canvas", - "color": "7j7Pqog0VHMVVAfazMNlb" - }, { "path": "0 - Piano di studi/★ piano di studi.md", "color": "7j7Pqog0VHMVVAfazMNlb" @@ -386,15 +378,43 @@ "color": "fc3lLaITDn62PYbzBhqxl" }, { - "path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello controlled-distance.md", + "path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/7 - Guasti/consenso con fallimenti bizantini.md", "color": "fc3lLaITDn62PYbzBhqxl" }, { - "path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello di dimensione conosciuta all-the-way.md", + "path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/7 - Guasti/consenso con fallimenti su grafo completo.md", "color": "fc3lLaITDn62PYbzBhqxl" }, { - "path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello as-far-as-it-can.md", + "path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/7 - Guasti/edge-broadcast-possibility.md", + "color": "fc3lLaITDn62PYbzBhqxl" + }, + { + "path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/7 - Guasti/ft-broad-election.md", + "color": "fc3lLaITDn62PYbzBhqxl" + }, + { + "path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/7 - Guasti/leader election con fallimenti su grafo completo.md", + "color": "fc3lLaITDn62PYbzBhqxl" + }, + { + "path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/7 - Guasti/teorema innominato.md", + "color": "fc3lLaITDn62PYbzBhqxl" + }, + { + "path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/7 - Guasti/two steps.md", + "color": "fc3lLaITDn62PYbzBhqxl" + }, + { + "path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Computazione/★ computazione.canvas", + "color": "7j7Pqog0VHMVVAfazMNlb" + }, + { + "path": "9 - Algoritmi distribuiti/4 - Strutture dati distribuite", + "color": "fc3lLaITDn62PYbzBhqxl" + }, + { + "path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/centralized routing.md", "color": "fc3lLaITDn62PYbzBhqxl" } ] diff --git a/.obsidian/workspace.sync-conflict-20231104-233155-TC3LVPI.json b/.obsidian/workspace.sync-conflict-20231104-233155-TC3LVPI.json deleted file mode 100644 index 279bdd3..0000000 --- a/.obsidian/workspace.sync-conflict-20231104-233155-TC3LVPI.json +++ /dev/null @@ -1,212 +0,0 @@ -{ - "main": { - "id": "ea42b6c6a6ada42e", - "type": "split", - "children": [ - { - "id": "353bd9b9e09f62d7", - "type": "tabs", - "children": [ - { - "id": "6e2c961c3fbc766e", - "type": "leaf", - "state": { - "type": "canvas", - "state": { - "file": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/★ concetti.canvas", - "viewState": { - "x": 569.2194349966362, - "y": -1224.5487072802703, - "zoom": -2.8 - } - } - } - } - ], - "stacked": true - } - ], - "direction": "vertical" - }, - "left": { - "id": "3dc78bddd518c3f3", - "type": "split", - "children": [ - { - "id": "d5fc1d7e0478ba75", - "type": "tabs", - "children": [ - { - "id": "cc2c082e511eafc9", - "type": "leaf", - "state": { - "type": "file-explorer", - "state": { - "sortOrder": "alphabetical" - } - } - }, - { - "id": "4240e87522252410", - "type": "leaf", - "state": { - "type": "search", - "state": { - "query": "stato di un'enti", - "matchingCase": false, - "explainSearch": false, - "collapseAll": false, - "extraContext": false, - "sortOrder": "alphabetical" - } - } - }, - { - "id": "7b02a464bd7f94f4", - "type": "leaf", - "state": { - "type": "bookmarks", - "state": {} - } - } - ] - } - ], - "direction": "horizontal", - "width": 282.5 - }, - "right": { - "id": "4ef3f291c2866b38", - "type": "split", - "children": [ - { - "id": "a0f58612eee5101f", - "type": "tabs", - "children": [ - { - "id": "da0ecf3eab9f1146", - "type": "leaf", - "state": { - "type": "backlink", - "state": { - "file": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/★ concetti.canvas", - "collapseAll": false, - "extraContext": false, - "sortOrder": "alphabetical", - "showSearch": false, - "searchQuery": "", - "backlinkCollapsed": false, - "unlinkedCollapsed": true - } - } - }, - { - "id": "517852a0c1eb77e0", - "type": "leaf", - "state": { - "type": "outgoing-link", - "state": { - "file": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/★ concetti.canvas", - "linksCollapsed": false, - "unlinkedCollapsed": true - } - } - }, - { - "id": "7e28c6b81ba7a75b", - "type": "leaf", - "state": { - "type": "tag", - "state": { - "sortOrder": "frequency", - "useHierarchy": true - } - } - }, - { - "id": "d08b5edb3d762c99", - "type": "leaf", - "state": { - "type": "outline", - "state": { - "file": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/★ concetti.canvas" - } - } - }, - { - "id": "3da04ae84a020b40", - "type": "leaf", - "state": { - "type": "all-properties", - "state": { - "sortOrder": "frequency" - } - } - } - ] - } - ], - "direction": "horizontal", - "width": 300, - "collapsed": true - }, - "left-ribbon": { - "hiddenItems": { - "canvas:Create new canvas": true, - "switcher:Open quick switcher": false, - "graph:Open graph view": false, - "templates:Insert template": false - } - }, - "active": "6e2c961c3fbc766e", - "lastOpenFiles": [ - "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/criterio di costo sincrono.md", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/criterio di costo asincrono.md", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/★ concetti.canvas", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/restrizione di tempo.md", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/ritardo di comunicazione unitario.md", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/ritardo di comunicazione limitato.md", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/sistema distribuito asincrono.md", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/tick.md", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/ritardo di comunicazione illimitato.md", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/terminazione globale.md", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/terminazione locale.md", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/7 - Guasti/teorema innominato.md", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/sincronicità.md", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/7 - Guasti/edge-broadcast-possibility.md", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/7 - Guasti/ft-broad-election.md", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/7 - Guasti/leader election con fallimenti su grafo completo.md", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/7 - Guasti/two steps.md", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/7 - Guasti/consenso con fallimenti su grafo completo.md", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/one step.md", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/flooding v3.md", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/7 - Guasti/consenso broadcast.md", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/restrizione di affidabilità.md", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/7 - Guasti", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/condiviso.md", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/X - Guasti/component failure.md", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/X - Guasti/temporary fault.md", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/X - Guasti/permanent fault.md", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/X - Guasti/crash fault.md", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/X - Guasti", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/Untitled", - "9 - Algoritmi distribuiti/0 - Materiale di studio/Slides/07 - Routing.pdf", - "steffo-file-index.sync-conflict-20231102-110633-UV5KNJL.json", - "9 - Programmazione mobile/0 - Materiale di studio/Slides/2 - Computer graphics/6 - GLTextures.pdf", - "9 - Programmazione mobile/0 - Materiale di studio/Slides/1 - Android/05 - MultiThread.pdf", - "9 - Programmazione mobile/0 - Materiale di studio/Slides/1 - Android/01 - IntroMobileOS.pdf", - "9 - Programmazione mobile/0 - Materiale di studio/Slides/2 - Computer graphics/8 - GLCS.pdf", - "9 - Programmazione mobile/0 - Materiale di studio/Slides/1 - Android/06 - AndroidX&More.pdf", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/★ routing.canvas", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/★ leader election.canvas", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Computation in trees/★ computation in trees.canvas", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Routing/★ routing.canvas", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/★ spanning tree.canvas", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/★ broadcast.canvas", - "8 - Crittografia applicata/★ indice.canvas", - "7 - Big data analytics/★ indice.canvas", - "0 - Generale/★ esami.canvas", - "8 - Sistemi complessi/3 - Automi cellulari/modello HPP · regola di transizione.png", - "8 - Crittografia applicata/3 - Comunicazione/2 - Garanzie/2 - Indistinguibilità/Pasted image 20230331181648.png" - ] -} \ No newline at end of file diff --git a/0 - Generale/hash table.md b/0 - Generale/hash table.md new file mode 100644 index 0000000..40cda5f --- /dev/null +++ b/0 - Generale/hash table.md @@ -0,0 +1,9 @@ +--- +aliases: + - dizionario + - oggetto JavaScript + - dict + - mappa +--- + +[[struttura dati]] che associa una [[chiave]] a un [[valore]], utilizzando l'[[hash]] della [[chiave]] come indice. diff --git a/0 - Generale/indicizzazione a 0.md b/0 - Generale/indicizzazione a 0.md new file mode 100644 index 0000000..38618ca --- /dev/null +++ b/0 - Generale/indicizzazione a 0.md @@ -0,0 +1,9 @@ +Enumerazione che inizia dal valore `0`, e usa quel valore per il primo elemento conteggiato. + +> [!Example] +> Gli array nella maggior parte dei linguaggi di programmazione. + +È possibile convertirlo in [[indicizzazione a 1]] sommando $1$ all'indice: +$$ +Index_0 + 1 +$$ \ No newline at end of file diff --git a/0 - Generale/indicizzazione a 1.md b/0 - Generale/indicizzazione a 1.md new file mode 100644 index 0000000..f596fd3 --- /dev/null +++ b/0 - Generale/indicizzazione a 1.md @@ -0,0 +1,9 @@ +Enumerazione che inizia dal valore `1`, e usa quel valore per il primo elemento conteggiato. + +> [!Example] +> Gli array in [[Lua]]. + +È possibile convertirlo in [[indicizzazione a 0]] sottraendo $1$ all'indice: +$$ +Index_1 - 1 +$$ \ No newline at end of file diff --git a/0 - Template/◍ algoritmo distribuito.md b/0 - Template/◍ algoritmo distribuito.md index 32fff4c..46e64bb 100644 --- a/0 - Template/◍ algoritmo distribuito.md +++ b/0 - Template/◍ algoritmo distribuito.md @@ -1,36 +1,40 @@ [[algoritmo]] di ==PROBLEMA==. +## [[restrizioni al modello dei sistemi distribuiti|Restrizioni]] aggiuntive + +==...== + +## [[Comportamento]] + > [!Summary] > ==...== -## [[Comportamento]] - ### ==`STATO1`== ==...== -```rust - -``` ### ==`STATO2`== ==...== -```rust - -``` ## [[algoritmo corretto|Correttezza]] -==...== +> [!Success] +> ==...== +> [!Failure] +> ==...== ## [[costo computazionale distribuito|Costo computazionale]] +| Costo | [[notazione O-grande]] | +|-|-| +| [[comunicazione]] | ==...== | +| [[tempo]] | ==...== | + ### [[Comunicazione]] ==...== -### [[Spazio]] -==...== ### [[Tempo]] -==...== \ No newline at end of file +==...== diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/dimensione dei messaggi illimitata.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/dimensione dei messaggi illimitata.md new file mode 100644 index 0000000..bb5ba20 --- /dev/null +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/dimensione dei messaggi illimitata.md @@ -0,0 +1,3 @@ +[[restrizione di comunicazione]]. + +Specifica che i [[messaggio|messaggi]] possono occupare qualsiasi [[9 - Algoritmi distribuiti/1 - Problemi/spazio|spazio]] sia necessario. diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/dimensione dei messaggi limitata.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/dimensione dei messaggi limitata.md new file mode 100644 index 0000000..b59691c --- /dev/null +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/dimensione dei messaggi limitata.md @@ -0,0 +1,6 @@ +[[restrizione di comunicazione]]. + +Specifica che i [[messaggio|messaggi]] devono occupare [[9 - Algoritmi distribuiti/1 - Problemi/spazio|spazio]] inferiore di una certa costante. + +> [!Note] +> Spesso applicata assieme a [[ritardo di comunicazione unitario]] per non trivializzare i problemi. diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/risveglio totale.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/risveglio ignorato.md similarity index 100% rename from 9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/risveglio totale.md rename to 9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/risveglio ignorato.md diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/risveglio parziale.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/risveglio multiplo.md similarity index 81% rename from 9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/risveglio parziale.md rename to 9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/risveglio multiplo.md index a3cd2bd..5807814 100644 --- a/9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/risveglio parziale.md +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/risveglio multiplo.md @@ -6,3 +6,6 @@ aliases: [[restrizione di tempo]]. Specifica che, ai fini della risoluzione del [[problema]], la computazione necessaria all'avvio dell'esecuzione di un [[algoritmo]] è ***ignorata per determinate [[entità]]***, dette *iniziatrici*. + +> [!Tip] +> Le entità iniziatrici potrebbero essere tutte! diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/ritardo di comunicazione unitario.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/ritardo di comunicazione unitario.md index be55e66..e172f6b 100644 --- a/9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/ritardo di comunicazione unitario.md +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/ritardo di comunicazione unitario.md @@ -1,3 +1,9 @@ [[restrizione di tempo]]. Specifica che tutti i [[messaggio|messaggi]] sono consegnati esattamente dopo un [[tick]], e che se ciò non avviene, l'invio del messaggio è fallito. + +> [!Tip] +> È molto utile, perchè in assenza di [[guasto|guasti]], il fatto stesso di inviare o non inviare un messaggio diventa un bit di informazione! + +> [!Note] +> Spesso applicata assieme a [[dimensione dei messaggi limitata]] per non trivializzare i problemi. diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/★ concetti.canvas b/9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/★ concetti.canvas index f3bcfb1..6c12ac9 100644 --- a/9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/★ concetti.canvas +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/★ concetti.canvas @@ -1,14 +1,7 @@ { "nodes":[ - {"id":"0e88c8c55309b762","type":"group","x":220,"y":-2300,"width":2440,"height":1920,"label":"Restrizioni del modello"}, - {"id":"de6e2a65c63084c7","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/stato di un'entità.md","x":800,"y":-160,"width":400,"height":400}, - {"id":"7126bfdd6ead22a9","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/insieme degli stati di un'entità.md","x":1360,"y":-160,"width":400,"height":400}, - {"id":"c986480451be1efe","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/entità.md","x":240,"y":-160,"width":400,"height":400}, + {"id":"0e88c8c55309b762","type":"group","x":220,"y":-2580,"width":2440,"height":2200,"label":"Restrizioni del modello"}, {"id":"9ff0a423dbb281a0","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/rete di comunicazione.md","x":-320,"y":-160,"width":400,"height":400}, - {"id":"40f55b66f9214ecd","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/sistema distribuito.md","x":-320,"y":-1360,"width":400,"height":400}, - {"id":"97624a26a3c7d126","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/sistema sequenziale.md","x":-320,"y":-2480,"width":400,"height":400}, - {"id":"97d5f142a5c95ce3","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/sistema parallelo.md","x":-320,"y":-1920,"width":400,"height":400}, - {"id":"bdeb2e85bcb32f7e","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/restrizioni al modello dei sistemi distribuiti.md","x":240,"y":-800,"width":400,"height":400}, {"id":"d8754617f38feb06","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/canale di comunicazione.md","x":-320,"y":400,"width":400,"height":400}, {"id":"afa296d887da4394","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/evento.md","x":-600,"y":1520,"width":400,"height":400}, {"id":"44b1b735656f3c4b","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/azione.md","x":1360,"y":1520,"width":400,"height":400}, @@ -34,19 +27,19 @@ {"id":"7307a3e6d21d094d","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/criterio di costo asincrono.md","x":-2000,"y":-1120,"width":400,"height":200}, {"id":"3c2d2701a7095e82","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/criterio di costo sincrono.md","x":-2000,"y":-1400,"width":400,"height":200}, {"id":"9abf440226d21d98","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/assioma dell'orientamento locale.md","x":-880,"y":-160,"width":400,"height":400}, - {"id":"2d21a7ed903a16e7","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/restrizione di tempo.md","x":800,"y":-1160,"width":400,"height":760}, + {"id":"02d82dc7842e6fc9","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/vicini di un'entità.md","x":-880,"y":400,"width":400,"height":400}, {"id":"dbe3b5d5f2baeb7f","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/ritardo di comunicazione illimitato.md","x":1280,"y":-600,"width":400,"height":200,"color":"3"}, {"id":"472610beeef20101","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/ritardo di comunicazione limitato.md","x":1760,"y":-600,"width":400,"height":200,"color":"2"}, {"id":"fc4c48607c9ae580","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/ritardo di comunicazione unitario.md","x":2240,"y":-600,"width":400,"height":200,"color":"1"}, - {"id":"02d82dc7842e6fc9","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/vicini di un'entità.md","x":-880,"y":400,"width":400,"height":400}, - {"id":"83b3be69f6f3d497","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/timeout.md","x":2000,"y":-160,"width":400,"height":400}, {"id":"d58b2d089a2e67be","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/terminazione ignorata.md","x":1280,"y":-880,"width":400,"height":200,"color":"3"}, {"id":"e61c5ee7f8dd35a5","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/terminazione locale.md","x":1760,"y":-880,"width":400,"height":200,"color":"2"}, {"id":"6dc8e5e24bfa2114","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/terminazione globale.md","x":2240,"y":-880,"width":400,"height":200,"color":"1"}, - {"id":"5a382d3822a5736e","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/risveglio totale.md","x":1280,"y":-1160,"width":400,"height":200,"color":"3"}, - {"id":"00b0016663a07f0b","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/risveglio parziale.md","x":1760,"y":-1160,"width":400,"height":200,"color":"2"}, + {"id":"5a382d3822a5736e","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/risveglio ignorato.md","x":1280,"y":-1160,"width":400,"height":200,"color":"3"}, + {"id":"00b0016663a07f0b","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/risveglio multiplo.md","x":1760,"y":-1160,"width":400,"height":200,"color":"2"}, {"id":"aa511f4700f8c6f7","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/risveglio singolo.md","x":2240,"y":-1160,"width":400,"height":200,"color":"1"}, {"id":"4a1b9354e73b16bc","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/identificatori univoci.md","x":1760,"y":-1440,"width":400,"height":200,"color":"2"}, + {"id":"bdeb2e85bcb32f7e","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/restrizioni al modello dei sistemi distribuiti.md","x":240,"y":-800,"width":400,"height":400}, + {"id":"2d21a7ed903a16e7","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/restrizione di tempo.md","x":800,"y":-1160,"width":400,"height":760}, {"id":"0951993b4f64f1b4","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/restrizione di topologia.md","x":800,"y":-1440,"width":400,"height":200}, {"id":"887f1f52394b3721","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/affidabilità parziale.md","x":1280,"y":-1720,"width":400,"height":200,"color":"3"}, {"id":"6b3170059dad55ef","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/affidabilità totale.md","x":2240,"y":-1720,"width":400,"height":200,"color":"1"}, @@ -54,10 +47,19 @@ {"id":"281bcf7f0a4b5be1","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/restrizione di affidabilità.md","x":800,"y":-2000,"width":400,"height":480}, {"id":"093e569da1a08d91","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/entity failure detection.md","x":2240,"y":-2000,"width":400,"height":200,"color":"1"}, {"id":"5888f088a7849b69","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/channel failure detection.md","x":1760,"y":-2000,"width":400,"height":200,"color":"2"}, - {"id":"7862502b2075f0a7","x":1280,"y":-2000,"width":400,"height":200,"color":"3","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/no failure detection.md"}, + {"id":"7862502b2075f0a7","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/no failure detection.md","x":1280,"y":-2000,"width":400,"height":200,"color":"3"}, + {"id":"de6e2a65c63084c7","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/stato di un'entità.md","x":800,"y":-160,"width":400,"height":400}, + {"id":"7126bfdd6ead22a9","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/insieme degli stati di un'entità.md","x":1360,"y":-160,"width":400,"height":400}, + {"id":"c986480451be1efe","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/entità.md","x":240,"y":-160,"width":400,"height":400}, + {"id":"83b3be69f6f3d497","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/timeout.md","x":2000,"y":-160,"width":400,"height":400}, {"id":"4f299bd36fec0431","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/half-duplex.md","x":1280,"y":-2280,"width":400,"height":200,"color":"3"}, - {"id":"961e2a0551edc3c5","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/restrizione di comunicazione.md","x":800,"y":-2280,"width":400,"height":200}, - {"id":"7bf268e3d7b311a7","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/full-duplex.md","x":1760,"y":-2280,"width":400,"height":200,"color":"2"} + {"id":"961e2a0551edc3c5","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/restrizione di comunicazione.md","x":800,"y":-2560,"width":400,"height":480}, + {"id":"7bf268e3d7b311a7","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/full-duplex.md","x":1760,"y":-2280,"width":400,"height":200,"color":"2"}, + {"id":"40f55b66f9214ecd","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/sistema distribuito.md","x":-320,"y":-1360,"width":400,"height":400}, + {"id":"97624a26a3c7d126","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/sistema sequenziale.md","x":-320,"y":-2480,"width":400,"height":400}, + {"id":"97d5f142a5c95ce3","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/sistema parallelo.md","x":-320,"y":-1920,"width":400,"height":400}, + {"id":"a7babffbb19e1b32","x":1280,"y":-2560,"width":400,"height":200,"color":"3","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/dimensione dei messaggi limitata.md"}, + {"id":"b5607837b4452d83","x":2240,"y":-2560,"width":400,"height":200,"color":"1","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/dimensione dei messaggi illimitata.md"} ], "edges":[ {"id":"1bb35cb60ca4ea15","fromNode":"afa296d887da4394","fromSide":"bottom","toNode":"904bb8e648bdcb90","toSide":"top"}, @@ -120,6 +122,8 @@ {"id":"e49aefbf6eb92718","fromNode":"281bcf7f0a4b5be1","fromSide":"right","toNode":"7862502b2075f0a7","toSide":"left"}, {"id":"a3aca459de8a94ba","fromNode":"7862502b2075f0a7","fromSide":"right","toNode":"5888f088a7849b69","toSide":"left"}, {"id":"675055018ef6483c","fromNode":"472610beeef20101","fromSide":"bottom","toNode":"83b3be69f6f3d497","toSide":"top"}, - {"id":"ac5fdc2d569502ff","fromNode":"fc4c48607c9ae580","fromSide":"bottom","toNode":"83b3be69f6f3d497","toSide":"top"} + {"id":"ac5fdc2d569502ff","fromNode":"fc4c48607c9ae580","fromSide":"bottom","toNode":"83b3be69f6f3d497","toSide":"top"}, + {"id":"a8acecef3a9f4a45","fromNode":"961e2a0551edc3c5","fromSide":"right","toNode":"a7babffbb19e1b32","toSide":"left"}, + {"id":"57ba1c5dfab48bec","fromNode":"a7babffbb19e1b32","fromSide":"right","toNode":"b5607837b4452d83","toSide":"left"} ] } \ No newline at end of file diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/broadcast problem.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/broadcast problem.md index 1a721f2..4ff0114 100644 --- a/9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/broadcast problem.md +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/broadcast problem.md @@ -12,6 +12,7 @@ Una [[entità]] vuole comunicare un'informazione a tutto il resto del [[sistema ## [[restrizioni al modello dei sistemi distribuiti|Restrizioni]] - **[[restrizione di comunicazione|Comunicazione]]** + - [[dimensione dei messaggi illimitata]] - [[half-duplex]] - **[[restrizione di affidabilità|Affidabilità]]** - [[affidabilità totale]] diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/wake-up problem.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/wake-up problem.md index 42de8bf..ae74046 100644 --- a/9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/wake-up problem.md +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/wake-up problem.md @@ -7,6 +7,7 @@ Problema per un [[sistema distribuito]], variante del [[broadcast problem]]. ## [[restrizioni al modello dei sistemi distribuiti|Restrizioni]] - **[[restrizione di comunicazione|Comunicazione]]** + - [[dimensione dei messaggi illimitata]] - [[full-duplex|grafo indiretto]] - **[[restrizione di affidabilità|Affidabilità]]** - [[affidabilità totale]] @@ -14,7 +15,7 @@ Problema per un [[sistema distribuito]], variante del [[broadcast problem]]. - [[grafo connesso]] - **[[restrizione di tempo|Tempo]]** - [[ritardo di comunicazione illimitato]] - - ***[[risveglio parziale]]*** + - ***[[risveglio multiplo]]*** - [[terminazione locale]] ## [[algoritmo|Algoritmi]] diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/broadcast tree construction.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/broadcast tree construction.md index ab2a4f3..b157749 100644 --- a/9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/broadcast tree construction.md +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/broadcast tree construction.md @@ -7,6 +7,7 @@ Si vuole ***minimizzare il [[diametro di un grafo|diametro]]*** di uno [[spannin ## [[restrizioni al modello dei sistemi distribuiti|Restrizioni]] - **[[restrizione di comunicazione|Comunicazione]]** + - [[dimensione dei messaggi illimitata]] - [[full-duplex]] - **[[restrizione di affidabilità|Affidabilità]]** - [[affidabilità totale]] diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/multiple spanning tree construction.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/multiple spanning tree construction.md index c836a4f..4630d39 100644 --- a/9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/multiple spanning tree construction.md +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/multiple spanning tree construction.md @@ -15,7 +15,7 @@ Si vuole [[problema di ricerca|determinare]] uno [[spanning tree]] per il [[sist - ***[[identificatori univoci]]*** - **[[restrizione di tempo|Tempo]]** - [[ritardo di comunicazione unitario]] - - ***[[risveglio parziale]]*** + - ***[[risveglio multiplo]]*** - [[terminazione locale]] ### [[Algoritmo|Algoritmi]] diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/spanning tree construction.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/spanning tree construction.md index 2c77243..3ed6a94 100644 --- a/9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/spanning tree construction.md +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/spanning tree construction.md @@ -7,6 +7,7 @@ Si vuole determinare uno [[spanning tree]] per il [[sistema distribuito]] in mod ## [[restrizioni al modello dei sistemi distribuiti|Restrizioni]] - **[[restrizione di comunicazione|Comunicazione]]** + - [[dimensione dei messaggi illimitata]] - [[full-duplex]] - **[[restrizione di affidabilità|Affidabilità]]** - [[affidabilità totale]] diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Computazione/computazione in alberi.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Computazione/computazione in alberi.md index 7ce2af8..5b42ef9 100644 --- a/9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Computazione/computazione in alberi.md +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Computazione/computazione in alberi.md @@ -7,6 +7,7 @@ Si vuole calcolare qualcosa più efficientemente possibile, distribuendo gli [[9 ## [[restrizioni al modello dei sistemi distribuiti|Restrizioni]] - **[[restrizione di comunicazione|Comunicazione]]** + - [[dimensione dei messaggi illimitata]] - [[full-duplex]] - **[[restrizione di affidabilità|Affidabilità]]** - [[affidabilità totale]] diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Computazione/computazione in grafi aciclici.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Computazione/computazione in grafi aciclici.md index 3e9bcbf..58f289e 100644 --- a/9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Computazione/computazione in grafi aciclici.md +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Computazione/computazione in grafi aciclici.md @@ -7,6 +7,7 @@ Si vuole calcolare qualcosa più efficientemente possibile, distribuendo gli [[9 ## [[restrizioni al modello dei sistemi distribuiti|Restrizioni]] - **[[restrizione di comunicazione|Comunicazione]]** + - [[dimensione dei messaggi illimitata]] - [[full-duplex|grafo indiretto]] - **[[restrizione di affidabilità|Affidabilità]]** - [[affidabilità totale]] @@ -15,7 +16,7 @@ Si vuole calcolare qualcosa più efficientemente possibile, distribuendo gli [[9 - ***[[grafo aciclico]]*** - **[[restrizione di tempo|Tempo]]** - [[ritardo di comunicazione illimitato]] - - ***[[risveglio parziale]]*** + - ***[[risveglio multiplo]]*** - [[terminazione locale]] ## [[algoritmo|Algoritmi]] diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Computazione/tecnica di saturazione per alberi.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Computazione/tecnica di saturazione per alberi.md index 0dc18b3..ce973b0 100644 --- a/9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Computazione/tecnica di saturazione per alberi.md +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Computazione/tecnica di saturazione per alberi.md @@ -29,6 +29,13 @@ Le [[entità]] `PROCESSING` che ricevono il [[messaggio]] ***lo accettano come [ Un'[[entità]] `DONE` conosce il [[risultato]] della computazione, e non fa nient'altro. +## [[algoritmo corretto|Correttezza]] + +> [!Success] +> Eventualmente, i messaggi convergeranno obbligatoriamente alla radice, e la sua notifica di terminazione raggiungerà eventualmente tutte le foglie. +> +> ==Come si chiamano i problemi risolvibili con la saturazione?== + ## [[costo computazionale distribuito|Costo computazionale]] ### [[Comunicazione]] diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Computazione/tecnica di saturazione per grafi aciclici.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Computazione/tecnica di saturazione per grafi aciclici.md index bcfa430..a7d13d7 100644 --- a/9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Computazione/tecnica di saturazione per grafi aciclici.md +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Computazione/tecnica di saturazione per grafi aciclici.md @@ -27,6 +27,13 @@ Le [[entità]] `PROCESSING` che ricevono il [[messaggio]] ***effettuano nuovamen Un'[[entità]] `DONE` conosce il [[risultato]] della computazione, e non fa nient'altro. +## [[algoritmo corretto|Correttezza]] + +> [!Success] +> Eventualmente, i messaggi convergeranno obbligatoriamente a due entità, e la loro notifica di terminazione raggiungerà eventualmente tutte le altre. +> +> ==Come si chiamano i problemi risolvibili con la saturazione?== + ## [[costo computazionale distribuito|Costo computazionale]] ### [[Comunicazione]] diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/fully synchronous leader election.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/fully synchronous leader election.md new file mode 100644 index 0000000..a6b2731 --- /dev/null +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/fully synchronous leader election.md @@ -0,0 +1,25 @@ +Problema per un [[sistema distribuito]] che introduce maggiori [[restrizioni al modello dei sistemi distribuiti|restrizioni]] alla [[leader election]] per ottenere [[costo computazionale]] minore. + +## Definizione + +Si vuole scegliere un'[[entità]] che diventerà il [[leader]] per un [[algoritmo]] futuro. + +## [[restrizioni al modello dei sistemi distribuiti|Restrizioni]] + +- **[[restrizione di comunicazione|Comunicazione]]** + - ***[[dimensione dei messaggi limitata]]*** + - [[half-duplex]] +- **[[restrizione di affidabilità|Affidabilità]]** + - [[affidabilità totale]] +- **[[restrizione di topologia|Topologia]]** + - [[grafo connesso]] + - [[identificatori univoci]] +- **[[restrizione di tempo|Tempo]]** + - ***[[ritardo di comunicazione unitario]]*** + - [[risveglio multiplo]] + - [[terminazione locale]] + +## [[algoritmo|Algoritmi]] + +- [[leader election su anello speeding]] +- [[leader election su anello waiting]] \ No newline at end of file diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su albero.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su albero.md index 2572af3..0f33421 100644 --- a/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su albero.md +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su albero.md @@ -4,3 +4,15 @@ > [!Summary] > La radice diventa automaticamente il [[leader]]. + +## [[algoritmo corretto|Correttezza]] + +> [!Success] +> L'algoritmo è triviale e termina immediatamente. + +## [[costo computazionale distribuito|Costo computazionale]] + +| Costo | [[notazione O-grande]] | +|-|-| +| [[comunicazione]] | $0$ | +| [[tempo]] | $0$ | diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello as-far-as-it-can.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello as-far-as-it-can.md index 65c0164..b09a8cd 100644 --- a/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello as-far-as-it-can.md +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello as-far-as-it-can.md @@ -4,19 +4,23 @@ > [!Summary] > -> Ogni [[entità]] riceve identificatori dalla precedente, tenendo traccia dell'identificatore minimo ricevuto, e inoltra alla successiva qualsiasi cambiamento al proprio minimo. +> Ogni [[entità]] riceve identificatori dalla [[entità precedente in un anello|precedente]], tenendo traccia dell'identificatore minimo ricevuto, e inoltra alla [[entità successiva in un anello|successiva]] qualsiasi cambiamento al proprio minimo. +> +> Quando un'[[entità]] avrà ricevuto il suo stesso identificatore dalla [[entità precedente in un anello|precedente]], essa diventerà leader, e manderà un [[broadcast problem|broadcast]] di terminazione a tutte le altre. ## [[algoritmo corretto|Correttezza]] -Quando il futuro [[leader]] avrà ricevuto dalla precedente il suo stesso identificatore, l'algoritmo avrà terminato. - -> [!Note] +> [!Success] +> È certo che l'identificatore minimo di tutto il [[sistema distribuito]] attraverserà tutte le [[entità]] in esso, fino a tornare al futuro [[leader]]. > -> La [[terminazione locale|terminazione è locale solo per il leader]], le altre entità hanno bisogno di un [[broadcast problem|broadcast]]. +> Avendo l'[[anello]] un numero finito di [[nodo di un grafo|nodi]] al suo interno, eventualmente sarà trovato un [[leader]], che a quel punto farà terminare l'esecuzione con il [[broadcast problem|broadcast]]. ## [[costo computazionale distribuito|Costo computazionale]] -==Includere la terminazione nel costo computazionale?== +| Costo | [[notazione O-grande]] | [[notazione Ω-grande]] | +|-|-|-| +| [[comunicazione]] | $O(Entities^2)$ | $\Omega(Entities)$ | +| [[tempo]] | ... | ... | ### [[Comunicazione]] @@ -24,7 +28,7 @@ Quando il futuro [[leader]] avrà ricevuto dalla precedente il suo stesso identi Il caso peggiore è quello in cui le [[entità]] sono [[iniziatori multipli|tutte iniziatrici]] e in ordine crescente di [[identificatore]]. -Assumendo un [[ritardo di comunicazione unitario]], avremo che: +Nel caso peggiore, il [[ritardo di comunicazione unitario|ritardo di comunicazione sarà unitario]], quindi avremo che: 1. il massimo sarà propagato per $1$ messaggio 2. il secondo massimo sarà propagato per $2$ messaggi 3. $\dots$ @@ -32,16 +36,35 @@ Assumendo un [[ritardo di comunicazione unitario]], avremo che: Totalizzando: $$ -\sum_{Identifier=1}^{Entities} Identifier +\color{LightCoral} \sum_{Identifier=1}^{Entities} Identifier $$ Ovvero: $$ +\color{LightCoral} \frac {Entities \cdot (Entities + 1)} {2} $$ +In aggiunta, sarà necessaria anche un [[broadcast problem|broadcast]] di terminazione, che richiederà: +$$ +\color{SkyBlue} Entities +$$ + +Per un totale di: +$$ +{ +\color{LightCoral} +\frac +{Entities \cdot (Entities + 1)} +{2} +} ++ +{ +\color{SkyBlue} Entities +} +$$ [[notazione asintotica|Asintoticamente]]: $$ \Large O \left( Entities^2 \right) @@ -49,22 +72,42 @@ $$ #### Caso migliore -Il caso peggiore è quello in cui ==le [[entità]] sono [[iniziatori multipli|tutte iniziatrici]]== e in ordine decrescente di [[identificatore]]. +Il caso migliore è quello in cui le [[entità]] sono [[risveglio multiplo|tutte iniziatrici]] e in ordine decrescente di [[identificatore]]. -==Assumendo un [[ritardo di comunicazione unitario]]==, avremo che: +Avremo che: 1. il minimo sarà propagato per $Entities$ messaggi 2. tutti gli altri per $1$ messaggio Totalizzando: $$ +\color{LightCoral} Entities + \sum_{Identifier=2}^{Entities} 1 $$ - Ovvero: $$ -Entities + (Entities - 1) +\color{LightCoral} Entities + (Entities - 1) +$$ + +In aggiunta, sarà necessaria anche un [[broadcast problem|broadcast]] di terminazione, che richiederà: +$$ +\color{SkyBlue} Entities +$$ + +Per un totale di: +$$ +{ +\color{LightCoral} Entities + (Entities - 1) +} ++ +{ +\color{SkyBlue} Entities +} +$$ +Ovvero: +$$ +3 \cdot Entities - 1 $$ [[notazione asintotica|Asintoticamente]]: $$ diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello controlled-distance.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello controlled-distance.md index 9df31e7..dbbd679 100644 --- a/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello controlled-distance.md +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello controlled-distance.md @@ -5,8 +5,6 @@ > [!Summary] > Effettua iterazioni in cui ogni [[entità]] che potrebbe diventare potenzialmente [[leader]] diffonde il proprio [[identificatore]] a tutte le altre entro una certa distanza. -## [[Comportamento]] - ### `CANDIDATE` All'inizio di ogni iterazione, invia e fa inoltrare il proprio [[identificatore]] ai vicini (in entrambe le direzioni) a distanza $2^{Iteration}$. @@ -23,26 +21,46 @@ Sapendo sicuramente di non essere il leader, si limita a inoltrare messaggi. ## [[costo computazionale distribuito|Costo computazionale]] +| Costo | [[notazione O-grande]] | +|-|-| +| [[comunicazione]] | $O(Entities \cdot \log (Entities))$ | +| [[tempo]] | ... | + ### [[Comunicazione]] -Ad ogni iterazione, ogni candidato invia e riceve su ogni lato: +Il caso peggiore per le iterazioni sono le iterazioni intermedie (che non sono la prima o l'ultima o il broadcast di terminazione). ==Perchè?== + +Ad ogni iterazione intermedia, ogni candidato invia e riceve su ogni lato: $$ -\color{Gold} 2 ^ {Iteration} +\color{Gold} 2 ^ {Iteration_1} $$ Sommando andata e ritorno: $$ -{\color{Gold} 2} \cdot 2 ^ {Iteration} +{\color{Gold} 2} \cdot 2 ^ {Iteration_1} $$ Sommando i due lati: $$ -{\color{Gold} 2} \cdot 2 \cdot 2^{Iteration} +{\color{Gold} 2} \cdot 2 \cdot 2^{Iteration_1} $$ -Sommando tutti i `CANDIDATE`: +I `CANDIDATE` si dimezzano ad ogni iterazione; considerando le iterazioni [[indicizzazione a 1|indicizzate a 1]], sommandoli si ottiene che: $$ {\color{Gold} \mathrm{floor} \left( -\frac{n}{2^{Iteration - 1} + 1} +\frac{Entities}{2^{Iteration_1 - 1} + 1} \right)} -\cdot 2 \cdot 2 \cdot 2 ^ {Iteration} +\cdot 2 \cdot 2 \cdot 2 ^ {Iteration_1} +$$ +Pertanto, in [[notazione asintotica]] abbiamo: +$$ +O(Entities \cdot Iteration) $$ -==Qui la prof fa dei calcoli. Ho troppo sonno per capirli.== +Il numero di iterazioni è pari al [[logaritmo in base 2]] del numero di [[entità]] del [[sistema distribuito]]: +$$ +\color{Gold} \mathrm{ceil} \left( + \log (Entities) +\right) +$$ +Quindi, la [[notazione asintotica]] finale sarà: +$$ +\large O(Entities \cdot {\color{Gold} \log (Entities)}) +$$ diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello di dimensione conosciuta all-the-way.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello di dimensione conosciuta all-the-way.md index 2f55d73..80048a7 100644 --- a/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello di dimensione conosciuta all-the-way.md +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello di dimensione conosciuta all-the-way.md @@ -1,19 +1,23 @@ -[[algoritmo]] di [[leader election]] che risolve il problema di terminazione della [[leader election su anello all-the-way]] ***introducendo una [[restrizione di topologia]] aggiuntiva.*** +[[algoritmo]] di [[leader election]] che risolve il problema di terminazione della [[leader election su anello all-the-way]]. + +## [[restrizioni al modello dei sistemi distribuiti|Restrizioni]] aggiuntive + +- **[[restrizione di topologia|Topologia]]** + - [[anello]] di ***dimensione nota*** ## [[Comportamento]] > [!Summary] > Ogni [[entità]] invia il suo [[identificatore]] alla successiva, e gli inoltra gli identificatori ricevuti dalla precedente, tenendo traccia dell'identificatore minimo ricevuto, ***fino a quando non ne conosce tanti quante le [[entità]] del [[sistema distribuito]]***. -## [[Comportamento]] aggiuntivo - Si può effettuare il conteggio in due modi: - con un [[contatore]] su ogni [[entità]], che conta il numero di [[messaggio|messaggi]] transitati -- ==con un contatore su un messaggio== +- con un [[contatore]] su ogni [[messaggio]], che conta il numero di [[entità]] transitate ## [[algoritmo corretto|Correttezza]] -L'algoritmo termina quando tutte le [[entità]] hanno visto tanti [[messaggio|messaggi]] quante le [[entità]] del [[sistema distribuito]]. +> [!Success] +> L'algoritmo termina quando tutte le [[entità]] hanno visto tanti [[messaggio|messaggi]] quante le [[entità]] del [[sistema distribuito]]. ## [[costo computazionale distribuito|Costo computazionale]] diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello speeding.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello speeding.md new file mode 100644 index 0000000..e339db4 --- /dev/null +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello speeding.md @@ -0,0 +1,54 @@ +[[algoritmo]] di [[fully synchronous leader election]] derivato dalla [[leader election su anello as-far-as-it-can]] + +## [[Comportamento]] + +> [!Summary] +> +> Ogni [[entità]] riceve identificatori dalla [[entità precedente in un anello|precedente]], tenendo traccia dell'identificatore minimo ricevuto, e inoltra alla [[entità successiva in un anello|successiva]] qualsiasi cambiamento ad esso, ***applicando però un ritardo dipendente dal valore dell'[[identificatore]]***. +> +> Quando un'[[entità]] avrà ricevuto il suo stesso identificatore dalla [[entità precedente in un anello|precedente]], essa diventerà leader, e manderà un [[broadcast problem|broadcast]] di terminazione a tutte le altre. + +==Spiegare come scegliere il tempo?== + +## [[algoritmo corretto|Correttezza]] + +> [!Success] +> È certo che l'identificatore minimo di tutto il [[sistema distribuito]] attraverserà tutte le [[entità]] in esso, fino a tornare al futuro [[leader]]. +> +> Avendo l'[[anello]] un numero finito di [[nodo di un grafo|nodi]] al suo interno, eventualmente sarà trovato un [[leader]], che a quel punto farà terminare l'esecuzione con il [[broadcast problem|broadcast]]. + +## [[costo computazionale distribuito|Costo computazionale]] + +| Costo | [[notazione O-grande]] | +|-|-| +| [[comunicazione]] | Dipende. | +| [[tempo]] | Dipende. | + +### [[Tempo]] + +L'[[identificatore]] minore compie un giro completo dell'[[anello]] dopo: +$$ +\color{LightCoral} \mathrm{delay}(\min (Identifier)) \cdot Entities +$$ + +In più, il [[broadcast problem|broadcast]] di terminazione richiede: +$$ +\color{SkyBlue} Entities +$$ + +Per un totale di: +$$ +{ +\color{LightCoral} \mathrm{delay}(\min (Identifier)) \cdot Entities +} ++ +{ +\color{SkyBlue} Entities +} +$$ + +La [[notazione asintotica]] risultante dipende dalla scelta effetuata di $\mathrm{delay}(Identifier)$. + +### [[Comunicazione]] + +Anche il costo di comunicazione dipende dalla scelta effettuata di $\mathrm{delay}(Identifier)$, pertanto il calcolo è completamente omesso da questa pagina. \ No newline at end of file diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello waiting con inizio non contemporaneo.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello waiting con inizio non contemporaneo.md new file mode 100644 index 0000000..df4ff20 --- /dev/null +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello waiting con inizio non contemporaneo.md @@ -0,0 +1,66 @@ +[[algoritmo]] di [[fully synchronous leader election]]. + +## [[restrizioni al modello dei sistemi distribuiti|Restrizioni]] aggiuntive + +- **[[restrizione di topologia|Topologia]]** + - [[anello]] di dimensione nota +- **[[9 - Algoritmi distribuiti/1 - Problemi/tempo|Tempo]]** + - ***[[risveglio multiplo]]*** + +## [[Comportamento]] + +> [!Summary] +> Ogni [[entità]] aspetta un tempo dipendente dal valore dell'identificatore, inviando il suo [[identificatore]] alla successiva al termine dell'attesa. +> +> Quando una [[entità]] in attesa riceve l'identificatore di un'altra, la accetta come [[leader]] e termina. + +==***Cambia come scegliere il tempo!***== $2 \cdot Entities \cdot Identifier$ + +## [[algoritmo corretto|Correttezza]] + +> [!Success] +> Prima o poi, un'[[entità]] terminerà la sua attesa, e farà circolare il suo [[messaggio]] di terminazione da tutte le altre. + +## [[costo computazionale distribuito|Costo computazionale]] + +| Costo | [[notazione O-grande]] | +|-|-| +| [[comunicazione]] | $O(Entities)$ | +| [[tempo]] | Dipende. | + +### [[Comunicazione]] + +Vengono inviati solamente: +$$ +Entities +$$ + +Quindi, il costo computazionale è di: +$$ +\Large O(Entities) +$$ + +### [[Tempo]] + +L'[[identificatore]] minore deve terminare l'attesa per poter notificare della terminazione: +$$ +\color{LightCoral} \mathrm{delay}(\min (Identifier)) +$$ + +Poi, deve trascorrere sufficiente tempo per il [[broadcast problem|broadcast]] di terminazione: +$$ +\color{SkyBlue} Entities +$$ + +Per un totale di: +$$ +{ +\color{LightCoral} \mathrm{delay}(\min (Identifier)) +} ++ +{ +\color{SkyBlue} Entities +} +$$ + +La [[notazione asintotica]] risultante dipende dalla scelta effetuata di $\mathrm{delay}(Identifier)$. \ No newline at end of file diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello waiting.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello waiting.md new file mode 100644 index 0000000..051a177 --- /dev/null +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello waiting.md @@ -0,0 +1,66 @@ +[[algoritmo]] di [[fully synchronous leader election]]. + +## [[restrizioni al modello dei sistemi distribuiti|Restrizioni]] aggiuntive + +- **[[restrizione di topologia|Topologia]]** + - [[anello]] di dimensione nota +- **[[9 - Algoritmi distribuiti/1 - Problemi/tempo|Tempo]]** + - [[risveglio ignorato]] + +## [[Comportamento]] + +> [!Summary] +> Ogni [[entità]] aspetta un tempo dipendente dal valore dell'identificatore, inviando il suo [[identificatore]] alla successiva al termine dell'attesa. +> +> Quando una [[entità]] in attesa riceve l'identificatore di un'altra, la accetta come [[leader]] e termina. + +==Spiegare come scegliere il tempo?== + +## [[algoritmo corretto|Correttezza]] + +> [!Success] +> Prima o poi, un'[[entità]] terminerà la sua attesa, e farà circolare il suo [[messaggio]] di terminazione da tutte le altre. + +## [[costo computazionale distribuito|Costo computazionale]] + +| Costo | [[notazione O-grande]] | +|-|-| +| [[comunicazione]] | $O(Entities)$ | +| [[tempo]] | Dipende. | + +### [[Comunicazione]] + +Vengono inviati solamente: +$$ +Entities +$$ + +Quindi, il costo computazionale è di: +$$ +\Large O(Entities) +$$ + +### [[Tempo]] + +L'[[identificatore]] minore deve terminare l'attesa per poter notificare della terminazione: +$$ +\color{LightCoral} \mathrm{delay}(\min (Identifier)) +$$ + +Poi, deve trascorrere sufficiente tempo per il [[broadcast problem|broadcast]] di terminazione: +$$ +\color{SkyBlue} Entities +$$ + +Per un totale di: +$$ +{ +\color{LightCoral} \mathrm{delay}(\min (Identifier)) +} ++ +{ +\color{SkyBlue} Entities +} +$$ + +La [[notazione asintotica]] risultante dipende dalla scelta effetuata di $\mathrm{delay}(Identifier)$. \ No newline at end of file diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su grafo aciclico.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su grafo aciclico.md index b5c862b..4c82dce 100644 --- a/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su grafo aciclico.md +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su grafo aciclico.md @@ -5,6 +5,18 @@ > [!Summary] > Usa la [[tecnica di saturazione per grafi aciclici]] per trovare l'entità con [[identificatore]] minore, che viene poi scelta come [[leader]]. +## [[algoritmo corretto|Correttezza]] + +> [!Success] +> L'unica parte non-[[algoritmo triviale|triviale]] di questo [[algoritmo]] è la [[tecnica di saturazione per grafi aciclici]], ed essendo corretta, rende anche questo [[algoritmo]] corretto. + +## [[costo computazionale distribuito|Costo computazionale]] + +| Costo | [[notazione O-grande]] | +|-|-| +| [[comunicazione]] | $O(Entities)$ | +| [[tempo]] | ... | + ## [[Duale]] - [[shout+ protocol]] diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election.md index 321a1d7..8da814b 100644 --- a/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election.md +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election.md @@ -7,6 +7,7 @@ Si vuole scegliere un'[[entità]] che diventerà il [[leader]] per un [[algoritm ## [[restrizioni al modello dei sistemi distribuiti|Restrizioni]] - **[[restrizione di comunicazione|Comunicazione]]** + - [[dimensione dei messaggi illimitata]] - [[half-duplex]] - **[[restrizione di affidabilità|Affidabilità]]** - [[affidabilità totale]] @@ -15,8 +16,8 @@ Si vuole scegliere un'[[entità]] che diventerà il [[leader]] per un [[algoritm - [[identificatori univoci]] - il teorema [[Angluin 1980]] li pone come requisito per la risolvibilità - **[[restrizione di tempo|Tempo]]** - - [[ritardo di comunicazione unitario]] - - [[risveglio parziale]] + - [[ritardo di comunicazione illimitato]] + - [[risveglio multiplo]] - [[terminazione locale]] ## [[algoritmo|Algoritmi]] diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/★ leader election.canvas b/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/★ leader election.canvas index 4481619..949e224 100644 --- a/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/★ leader election.canvas +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/★ leader election.canvas @@ -1,19 +1,24 @@ { "nodes":[ - {"id":"18ea906d1635d485","type":"group","x":660,"y":900,"width":920,"height":3080,"color":"5","label":"Anello"}, - {"id":"59e651b187da9388","type":"group","x":660,"y":4100,"width":920,"height":1000,"color":"5","label":"Grafo di diametro noto"}, - {"id":"740207a9a63c9513","type":"group","x":660,"y":340,"width":920,"height":440,"color":"5","label":"Grafo aciclico"}, - {"id":"e7d0f7c50e744dfe","type":"group","x":660,"y":-260,"width":920,"height":440,"color":"5","label":"Albero"}, - {"id":"26a2bda47738d7d8","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election.md","x":-440,"y":-240,"width":960,"height":5320}, + {"id":"18ea906d1635d485","type":"group","x":660,"y":900,"width":920,"height":3080,"label":"Anello"}, + {"id":"59e651b187da9388","type":"group","x":660,"y":4100,"width":920,"height":1000,"label":"Grafo di diametro noto"}, + {"id":"8c32c2275213ea05","type":"group","x":660,"y":5220,"width":440,"height":2040,"label":"Anello"}, + {"id":"740207a9a63c9513","type":"group","x":660,"y":340,"width":920,"height":440,"label":"Grafo aciclico"}, + {"id":"e7d0f7c50e744dfe","type":"group","x":660,"y":-260,"width":920,"height":440,"label":"Albero"}, {"id":"b672c8042ef8c199","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader.md","x":-160,"y":-800,"width":400,"height":400}, - {"id":"c1f4d995f9345928","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su albero.md","x":680,"y":-240,"width":400,"height":400}, - {"id":"5c61b7c7c5e2883d","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello all-the-way.md","x":680,"y":920,"width":400,"height":960}, {"id":"855e7d4c6a36c000","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su grafo aciclico.md","x":680,"y":360,"width":400,"height":400}, - {"id":"1c59488cd9ea817b","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello di dimensione conosciuta all-the-way.md","x":1160,"y":920,"width":400,"height":960}, + {"id":"c1f4d995f9345928","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su albero.md","x":680,"y":-240,"width":400,"height":400}, + {"id":"26a2bda47738d7d8","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election.md","x":-440,"y":-240,"width":960,"height":5320}, + {"id":"9f58039648a89105","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/fully synchronous leader election.md","x":-440,"y":5240,"width":960,"height":960}, + {"id":"57cedce16261c4ec","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/FloodMax.md","x":680,"y":4120,"width":400,"height":960}, + {"id":"e419946480096acc","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello speeding.md","x":680,"y":5240,"width":400,"height":960}, + {"id":"a94c943350a80ff7","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/ritardo di comunicazione unitario.md","x":-1000,"y":5520,"width":400,"height":400}, + {"id":"060624bd1d86f910","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello controlled-distance.md","x":680,"y":3000,"width":400,"height":960}, {"id":"bf49d10d32c845a4","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello as-far-as-it-can.md","x":680,"y":1960,"width":400,"height":960}, {"id":"90c13d04acf28d97","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/Angluin 1980.md","x":-1000,"y":2220,"width":400,"height":400}, - {"id":"060624bd1d86f910","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello controlled-distance.md","x":680,"y":3000,"width":400,"height":960}, - {"id":"57cedce16261c4ec","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/FloodMax.md","x":680,"y":4120,"width":400,"height":960} + {"id":"5c61b7c7c5e2883d","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello all-the-way.md","x":680,"y":920,"width":400,"height":960}, + {"id":"1c59488cd9ea817b","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello di dimensione conosciuta all-the-way.md","x":1160,"y":920,"width":400,"height":960}, + {"id":"6bb989c83e5ff0aa","x":680,"y":6280,"width":400,"height":960,"type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello waiting.md"} ], "edges":[ {"id":"76ba628c35000191","fromNode":"b672c8042ef8c199","fromSide":"bottom","toNode":"26a2bda47738d7d8","toSide":"top"}, @@ -23,6 +28,9 @@ {"id":"63b2664f9a3c7489","fromNode":"5c61b7c7c5e2883d","fromSide":"right","toNode":"1c59488cd9ea817b","toSide":"left"}, {"id":"3d8a52267df701d9","fromNode":"5c61b7c7c5e2883d","fromSide":"bottom","toNode":"bf49d10d32c845a4","toSide":"top"}, {"id":"34c21c398375393a","fromNode":"26a2bda47738d7d8","fromSide":"right","toNode":"18ea906d1635d485","toSide":"left"}, - {"id":"29ea3a738fc0be45","fromNode":"26a2bda47738d7d8","fromSide":"right","toNode":"59e651b187da9388","toSide":"left"} + {"id":"29ea3a738fc0be45","fromNode":"26a2bda47738d7d8","fromSide":"right","toNode":"59e651b187da9388","toSide":"left"}, + {"id":"ef87ea0f01bb48f4","fromNode":"26a2bda47738d7d8","fromSide":"bottom","toNode":"9f58039648a89105","toSide":"top"}, + {"id":"2d815c735e9b4772","fromNode":"a94c943350a80ff7","fromSide":"right","toNode":"9f58039648a89105","toSide":"left"}, + {"id":"78abf2a6f676f331","fromNode":"9f58039648a89105","fromSide":"right","toNode":"8c32c2275213ea05","toSide":"left"} ] } \ No newline at end of file diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/centralized routing.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/centralized routing.md new file mode 100644 index 0000000..5efe480 --- /dev/null +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/centralized routing.md @@ -0,0 +1,83 @@ +[[algoritmo]] di [[routing]] che sfrutta l'[[algoritmo di Dijkstra]]. + +## [[restrizioni al modello dei sistemi distribuiti|Restrizioni]] aggiuntive + +- **[[restrizione di topologia|Topologia]]** + - [[canale di comunicazione|canali]] con [[funzione costo|costo]] ***non-negativo*** + +## [[Comportamento]] + +> [!Summary] +> Fintanto che non sono rimasti [[router]] fuori dallo [[spanning tree]], ad ogni iterazione: +> 1. il [[leader]] usa la [[tecnica di saturazione per alberi]] all'interno dello [[spanning tree]] costruito fino a quel momento per determinare il [[canale di comunicazione|canale]] di [[costo]] minimo; +> 2. il [[leader]] aggiunge allo [[spanning tree]] quel [[canale di comunicazione|canale]] e il relativo [[router]], notificandolo della cosa attraverso la route conosciuta; +> 3. il [[router]] aggiunto notifica i [[vicini di un'entità|vicini]] della sua aggiunta all'albero, aspettando che tutti i vicini confermino l'operazione; +> 4. il [[router]] notifica il [[leader]] della aggiunta completata. + +> [!Tip] +> Per ciascun [[router]], il genitore nell'albero diventa il [[default gateway]]! + +## [[algoritmo corretto|Correttezza]] + +> [!Success] +> Deriva dalla [[algoritmo corretto|correttezza]] dell'[[algoritmo di Dijkstra]]. + +## [[costo computazionale distribuito|Costo computazionale]] + +| Costo | [[notazione O-grande]] | +|-|-| +| [[comunicazione di routing]] | $O(Entities^2) | +| [[tempo]] | ... | + +### [[Comunicazione di routing]] + +#### Inizio + +Ciascuna [[entità]] scambia informazioni con i propri vicini: +$$ +\color{LightCoral} 2 \cdot Channels +$$ + +#### Iterazione singola + +1. La [[tecnica di saturazione per alberi]] costa: + $$4 \cdot Entities - 4$$ +2. L'*andata* della notifica di aggiunta costa: + $$Entities$$ +3. La notifica ai [[vicini di un'entità|vicini]] costa: + $$\mathrm{neighbours}(Entity)$$ +4. Il *ritorno* della notifica di aggiunta costa: + $$Entities$$ + +Sommando per tutte le iterazioni, abbiamo: +$$ +\sum_{Entity}^{Entities} +(4 \cdot Entities - 4) ++ +(Entities) ++ +(\mathrm{neighbours}(Entity)) ++ +(Entities) +$$ + +Considerando che i [[vicini di un'entità|vicini]] di una [[entità]] non possono essere più dei [[router]] totali: +$$ +\sum_{Entity}^{Entities} +(4 \cdot Entities - 4) ++ +(Entities) ++ +(Entities) ++ +(Entities) +$$ + +#### Totale + +In totale, dunque, avremo una [[notazione asintotica]] di: +$$ +O(Entities^2) +$$ + +==C'è una dimostrazione diversa sulle slides, che non ho troppo capito perchè è tutta in notazione matematica.== \ No newline at end of file diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/comunicazione del routing.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/comunicazione del routing.md new file mode 100644 index 0000000..56c40f9 --- /dev/null +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/comunicazione del routing.md @@ -0,0 +1,2 @@ +> [!Warning] +> Per qualche motivo a me sconosciuto, nel calcolare il [[costo computazionale]] di [[comunicazione]] in [[routing]] viene usata una misura diversa, ibrida tra [[comunicazione]] e [[9 - Algoritmi distribuiti/1 - Problemi/spazio|spazio]], che considera **un [[messaggio]] ogni coppia chiave-valore della [[routing table]] scambiata***. diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/funzione di routing.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/funzione di routing.md index 9918db8..15b4631 100644 --- a/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/funzione di routing.md +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/funzione di routing.md @@ -2,13 +2,15 @@ aliases: - routing function --- -[[Funzione]] [[individuale]] che, in un problema di [[routing]], associa ogni [[entità]] con il [[canale di comunicazione]] da utilizzare per raggiungerla. +[[Funzione]] [[individuale|specifica ogni singola entità]] che, associa ogni [[entità]] con il [[canale di comunicazione]] da utilizzare per raggiungerla. $$ -\def \varSource {{\color{LimeGreen} Source}} +\def \varEntity {{\color{LimeGreen} Entity}} \def \varDestination {{\color{IndianRed} Destination}} +\def \varChannel {{\color{SkyBlue} Channel}} \Large -\textrm{Channel}_{\varSource}(\varDestination) +\textrm{Route}_{\varEntity}(\varDestination) \to \varChannel $$ -Comunemente implementata come [[routing table]]. +> [!Example] +> Comunemente implementata con una [[routing table]]! diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/gossiping routing.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/gossiping routing.md new file mode 100644 index 0000000..53dc219 --- /dev/null +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/gossiping routing.md @@ -0,0 +1,66 @@ +[[algoritmo]] di [[routing]]. + +## [[Comportamento]] + +> [!Summary] +> I [[router]] recuperano informazioni sul loro [[vicinato]]. +> +> Si costruisce uno [[spanning tree]] non ottimizzato e lo si usa per permettere ai [[router]] di scambiarsi le informazioni raccolte. +> +> Ricevute le informazioni, ogni entità computa uno [[spanning tree]] ottimizzato, e ci deriva la [[routing table]]. + +## [[algoritmo corretto|Correttezza]] + +> [!Success] +> Eventualmente, il [[broadcast problem su grafo aciclico|broadcast]] termina, dando a tutti i [[router]] le informazioni necessarie per calcolare la loro [[routing table]]. + +## [[costo computazionale distribuito|Costo computazionale]] + +| Costo | [[notazione O-grande]] | +|-|-| +| [[comunicazione del routing]] | $O(Entities \cdot Channels)$ | +| [[tempo]] | ... | + +### [[comunicazione del routing]] + +Recuperare informazioni sul [[vicini di un'entità|vicinato]] richiede un'andata-e-ritorno attraverso ogni [[canale di comunicazione|canale]]: +$$ +\color{LightCoral} 2 \cdot Channels +$$ + +Creare lo [[spanning tree]] iniziale con [[shout+ protocol]] richiede: +$$ +\color{SpringGreen} 2 \cdot Channels +$$ + +Infine, inviare il [[broadcast problem su grafo aciclico|broadcast]] richiede: +$$ +\sum_{Entity}^{Entities} (Entities - 1) \cdot \mathrm{neighbours}(Entity) +$$ +Ovvero: +$$ +\color{SkyBlue} (Entities - 1) \cdot (2 \cdot Channels) +$$ + +Per un totale di: +$$ +{\color{LightCoral} 2 \cdot Channels} ++ +{\color{SpringGreen} 2 \cdot Channels} ++ +{\color{SkyBlue} (Entities - 1) \cdot (2 \cdot Channels)} +$$ + +Ovvero: +$$ +(Entities + 3) \cdot (2 \cdot Channels) +$$ +In [[notazione asintotica]]: +$$ +\Large O(Entities \cdot Channels) +$$ + +### [[routing memory]] + +> [!Note] +> Ogni [[entità]] si deve salvare le informazioni per *tutta* la [[rete di comunicazione]]! diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/iterating routing.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/iterating routing.md new file mode 100644 index 0000000..93b154e --- /dev/null +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/iterating routing.md @@ -0,0 +1,57 @@ +[[algoritmo]] di [[routing]]. + +## [[restrizioni al modello dei sistemi distribuiti|Restrizioni]] aggiuntive + +- **[[restrizione di topologia|Topologia]]** + - [[diametro di un grafo|diametro]] noto + +## [[Comportamento]] + +> [!Summary] +> Ogni [[router]] crea una [[routing table]] con solo i suoi vicini. +> +> Ad ogni iterazione, la invia a tutti i suoi [[vicini di un'entità|vicini]], e riceve contemporaneamente le loro, con cui aggiorna la propria. + + +## [[algoritmo corretto|Correttezza]] + +> [!Success] +> Dopo tante iterazioni quante il [[diametro di un grafo|diametro]] della [[rete di comunicazione]], tutti i [[router]] avranno aggregato le routing table di tutti gli altri, terminando cosí l'algoritmo. + +## [[costo computazionale distribuito|Costo computazionale]] + +| Costo | [[notazione O-grande]] | +|-|-| +| [[comunicazione del routing]] | $O(Entities \cdot Channels)$ | +| [[tempo]] | ... | + +### [[Comunicazione]] + +Ogni [[router]] scambia informazioni con i suoi [[vicini di un'entità|vicini]]: +$$ +\color{LightCoral} 2 \cdot Entities +$$ + +Ad ogni iterazione, ogni [[router]] invia la sua [[routing table]] ai suoi [[vicini di un'entità|vicini]]: +$$ +\sum_{Entity}^{Entities} \sum_{RoutingEntry}^{RoutingEntries} \mathrm{neighbours}(Entity) +$$ +Cioè: +$$ +Entities \cdot 2 \cdot Channels +$$ +Riscritto meglio: +$$ +\color{SpringGreen} 2 \cdot Entities \cdot Channels +$$ + +In totale: +$$ +{\color{LightCoral} 2 \cdot Entities} ++ +{\color{SpringGreen} 2 \cdot Entities \cdot Channels} +$$ +In [[notazione asintotica]]: +$$ +\Large O(Entities \cdot Channels) +$$ diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/min-hop routing.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/min-hop routing.md deleted file mode 100644 index 042058f..0000000 --- a/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/min-hop routing.md +++ /dev/null @@ -1,92 +0,0 @@ -[[algoritmo]] [[iterativo]] di [[routing]] che sfrutta la visita [[breadth-first]]. - -## Funzionamento - -### Distanze a relazione - -Consideriamo due [[entità]] vicine nel [[sistema distribuito]]: -$$ -\def \varSource {{\color{LimeGreen} Source}} -\def \varA {{\color{DarkGoldenrod} Entity_A}} -\def \varB {{\color{Goldenrod} Entity_B}} -\Large -\varA\ \textrm{neighbours}\ \varB -$$ - -Misuriamo la [[distanza]] di $\varA$ dalla sorgente $\varSource$: -$$ -\Large -\textrm{Distance}_{\varSource}(\varA) -$$ - -Confrontiamola con la [[distanza]] di $\varB$, notando che ci si può trovare in tre casi: -$$ -\Large -\textrm{Distance}_{\varSource}(\varA) = \begin{cases} -\textrm{Distance}_{\varSource}(\varB)-1\\ -\textrm{Distance}_{\varSource}(\varB)\\ -\textrm{Distance}_{\varSource}(\varB)+1 -\end{cases} -$$ - -### Albero parziale - -Definiamo un *albero parziale*, che ad ogni iterazione conterrà i nodi a distanza $Iterazione - 1$, e poi esploriamo i nodi vicini fino a raggiungere i nodi a distanza $Iterazione$. - -## [[stato di un'entità|Stati]] - -- `SOURCE`: il [[leader]] -- `UNKNOWN`: una [[entità]] non parte dell'albero parziale -- `EXPLORED`: una [[entità]] parte dell'albero parziale - -## [[Comportamento]] - -### `SOURCE` - -==...== - -### `UNKNOWN` - -==...== - -### `EXPLORED` - -==...== -## [[costo computazionale distribuito|Costo computazionale]] - -Ogni iterazione dell'algoritmo è divisa in tre fasi: -- broadcast -- explore -- convergecast - -Definiamo il numero di nodi all'inizio di ogni iterazione come $\def \varNi {{\color{salmon} Nodes_{Iteration}}} \varNi$. - -Definiamo l'iterazione attuale come $\def \varIter {{\color{Blue} Iteration_{Current}}} \varIter$. - -### [[Comunicazione]] - -==...== -### [[Spazio]] - -==...== -### [[Tempo]] - -Per ogni iterazione, abbiamo che: - -| Fase | Costo | -|--|--| -| broadcast | $\varIter - 1$ | -| explore | $2$ | -| convergecast | $\varIter - 1$ | - -In totale, avremo allora che il costo di tempo per una certa iterazione sarà: - -$$ -(\varIter - 1) + 2 + (\varIter - 1) = 2 \cdot \varIter -$$ - -Allora, il costo per l'intero algoritmo sarà: -==quale?== -$$ - -$$ \ No newline at end of file diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/min-hops routing.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/min-hops routing.md new file mode 100644 index 0000000..fb6c521 --- /dev/null +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/min-hops routing.md @@ -0,0 +1,79 @@ +[[algoritmo]] di [[routing]] che sfrutta la [[breadth-first search]]. + +## [[restrizioni al modello dei sistemi distribuiti|Restrizioni]] aggiuntive + +- **[[restrizione di topologia|Topologia]]** + - [[canale di comunicazione|canali]] a [[costo]] ***unitario*** + +## [[Comportamento]] + +> [!Summary] +> Ad ogni iterazione: +> 1. il [[leader]] invia un [[broadcast]]; +> 2. le [[foglia di un albero|foglie]] che lo ricevono chiedono ai loro [[vicini di un'entità|vicini]] se sono già nell'albero; +> 3. i [[vicini di un'entità|vicini]] che rispondono di no oppure con un altra domanda diventano le nuove [[foglia di un albero|foglie]], notificando il loro nuovo genitore della cosa; +> 4. ogni [[router]] attende che tutti i suoi figli abbiano completato l'operazione, poi notifica il genitore, fino ad arrivare alla radice. + + +## [[algoritmo corretto|Correttezza]] + +> [!Success] +> Essendo tutti i [[router]] a distanza finita dal [[leader]], eventualmente saranno aggiunti tutti allo [[spanning tree]], terminando cosí l'algoritmo. + +## [[costo computazionale distribuito|Costo computazionale]] + +| Costo | [[notazione O-grande]] | +|-|-| +| [[comunicazione di routing]] | $O(Entities^2 + Channels)$ | +| [[tempo]] | ... | + +### [[Comunicazione di routing]] + +#### Singola iterazione + +1. Il [[broadcast problem|broadcast]] iniziale costa, nel caso peggiore: + $$Entities$$ +2. L'esplorazione costa, nel caso peggiore: + $$\mathrm{neighbours}(Entity)$$ +3. Le risposte all'esplorazione costano, nel caso peggiore: + $$\mathrm{neighbours}(Entity)$$ +4. Il [[messaggio]] di termine iterazione costa, nel caso peggiore: + $$Entities$$ + +Per un totale di: +$$ +(Entities) ++ +(\mathrm{neighbours}(Entity)) ++ +(\mathrm{neighbours}(Entity)) ++ +(Entities) +$$ + +Ovvero: +$$ +2 \cdot Entities + 2 \cdot \mathrm{neighbours}(Entity) +$$ + +#### Totale + +Il numero totale di iterazione dipende dal [[diametro di un grafo|diametro]] della [[rete di comunicazione]], cioè: +$$ +\sum_{Iteration}^{\mathrm{diameter}} (2 \cdot Entities + 2 \cdot \mathrm{neighbours}(Entity)) +$$ + +Visto che ogni [[canale di comunicazione|canale]] avrà esattamente una *andata-e-ritorno* di esplorazione, possiamo portarlo fuori dalla sommatoria, sostituendolo con $2 \cdot Channels$: +$$ +4 \cdot Channels + \sum_{Iteration}^{\mathrm{diameter}} (2 \cdot Entities) +$$ + +Nel caso peggiore, il [[diametro di un grafo]] è pari al numero totale di [[router]], quindi: +$$ +4 \cdot Channels + 2 Entities^2 +$$ + +In [[notazione asintotica]]: +$$ +\Large O(Entities^2 + Channels) +$$ diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/pacchetto.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/pacchetto.md new file mode 100644 index 0000000..1a56a71 --- /dev/null +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/pacchetto.md @@ -0,0 +1 @@ +In un problema di [[routing]], [[messaggio]] contenente l'[[identificatore]] del [[router]] a cui è destinato. diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/principio di ottimalità.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/principio di ottimalità.md new file mode 100644 index 0000000..0cd6a7f --- /dev/null +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/principio di ottimalità.md @@ -0,0 +1,3 @@ +[[Corollario]] derivante dalla costruzione di uno [[spanning tree]]. + +Se un [[nodo di un grafo|nodo]] si trova tra altri due all'interno dello [[spanning tree]], allora tutti gli [[arco di un grafo|archi]] che connettono i due si trovano nello [[spanning tree]] del nodo. \ No newline at end of file diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/routing table.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/routing table.md index be5a37e..18036ee 100644 --- a/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/routing table.md +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/routing table.md @@ -1,4 +1,4 @@ -In un contesto di [[routing]], [[associazione]] tra [[entità]] da raggiungere e [[canale di comunicazione]] da utilizzare più [[costo]] totale per raggiungerla. +In un contesto di [[routing]], [[hash table|mappa]] da [[router]] destinatario a [[canale di comunicazione]] da utilizzare più [[costo]] totale per raggiungerla. $$ \def \varSource {{\color{LimeGreen} Source}} @@ -13,3 +13,22 @@ $$ $$ Implementazione semplice di [[funzione di routing]]. + +> [!Note] +> ==Il [[principio di ottimalità]] è il motivo per cui è sufficiente salvare solo il [[canale di comunicazione]]!== + +## [[Costo computazionale]] + +### [[Search time]] + +Un lookup nel [[hash table|dizionario]]: +$$ +\Large O(\log(Entities)) +$$ + +### [[Routing memory]] + +Lo spazio usato dal [[hash table|dizionario]]: +$$ +\Large O(Entities \cdot \log(\max(Identifier))) +$$ diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/routing.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/routing.md index 7046a31..8b4059b 100644 --- a/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/routing.md +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/routing.md @@ -1,28 +1,32 @@ [[problema di ottimizzazione]] per un [[sistema distribuito]]. +## Terminologia aggiuntiva + +Le [[entità]] che partecipano al routing sono anche dette [[router]]. + ## Definizione -Date due qualsiasi [[entità]], si vuole determinare un [[cammino]] nella [[rete di comunicazione]] che permetta alle due di comunicare persistentemente. - -### Terminologia - -Le [[entità]] che partecipano alla risoluzione del problema sono dette anche [[router]]. - -Ogni entità ha una [[funzione di routing]], archiviata nella [[routing memory]], che richiede un dato [[tempo di ricerca]] per essere eseguita.e mi +Si vuole determinare una [[funzione di routing]] per tutti i [[router]] del sistema. ## [[restrizioni al modello dei sistemi distribuiti|Restrizioni]] -- [[full-duplex]] -- [[canale di comunicazione|canali di comunicazione]] con un [[costo]] -- ==connettività?== -- [[affidabilità totale]] -- [[orientamento locale]] -- [[identificatori univoci]] +- **[[restrizione di comunicazione|Comunicazione]]** + - [[dimensione dei messaggi illimitata]] + - [[full-duplex]] +- **[[restrizione di affidabilità|Affidabilità]]** + - [[affidabilità totale]] +- **[[restrizione di topologia|Topologia]]** + - [[grafo connesso]] + - [[identificatori univoci]] + - [[canale di comunicazione|canali]] con un [[funzione costo|costo]] +- **[[restrizione di tempo|Tempo]]** + - [[ritardo di comunicazione illimitato]] + - [[risveglio singolo]] + - [[terminazione locale]] ## [[algoritmo|Algoritmi]] -- [[broadcast routing]] -- [[routing table gossiping]] -- [[routing table iterating]] -- [[shortest path spanning tree]] -- [[min-hop routing]] +- [[gossiping routing]] +- [[iterating routing]] +- [[centralized routing]] +- [[min-hops routing]] diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/search time.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/search time.md new file mode 100644 index 0000000..68a6e50 --- /dev/null +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/search time.md @@ -0,0 +1,3 @@ +[[risorsa]]. + +[[Tempo]] necessario a eseguire la [[funzione di routing]]. diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/tempo di ricerca.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/tempo di ricerca.md deleted file mode 100644 index a7fba4e..0000000 --- a/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/tempo di ricerca.md +++ /dev/null @@ -1,3 +0,0 @@ -[[Risorsa]]. - -[[Tempo]] necessario a valutare la [[funzione di routing]]. diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/★ routing.canvas b/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/★ routing.canvas index 2289854..45d0354 100644 --- a/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/★ routing.canvas +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/★ routing.canvas @@ -1,4 +1,34 @@ { - "nodes":[], - "edges":[] + "nodes":[ + {"id":"1b02df69b1abf291","type":"group","x":2060,"y":-1100,"width":1560,"height":1560,"label":"Concetti"}, + {"id":"bb569fef44f295e1","x":2060,"y":580,"width":440,"height":1000,"type":"group","label":"Generale"}, + {"id":"68acbd213e07eb80","x":2060,"y":1700,"width":440,"height":1000,"type":"group","label":"Diametro noto"}, + {"id":"dfe1179e8607aab5","x":2060,"y":2820,"width":440,"height":1000,"type":"group","label":"Costo non-negativo"}, + {"id":"a2f4ec1d9ef4fca5","x":2060,"y":3940,"width":440,"height":1000,"type":"group","label":"Costo unitario"}, + {"id":"d89867fdda35cdde","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/routing.md","x":960,"y":-800,"width":960,"height":5720}, + {"id":"8bf228c354e56f9e","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/funzione di routing.md","x":2080,"y":-520,"width":400,"height":400}, + {"id":"977d445b9efd3c63","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/routing memory.md","x":2640,"y":-800,"width":400,"height":400}, + {"id":"c9ae37a9e586a72d","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/search time.md","x":2640,"y":-240,"width":400,"height":400}, + {"id":"cb0fa8b1f3b67bdd","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/pacchetto.md","x":2080,"y":40,"width":400,"height":400}, + {"id":"a5fe4cabc58e4ded","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/router.md","x":2080,"y":-1080,"width":400,"height":400}, + {"id":"781c1e8e5acea10a","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/routing table.md","x":3200,"y":-800,"width":400,"height":960}, + {"id":"bb4745ef27a83d75","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/gossiping routing.md","x":2080,"y":600,"width":400,"height":960}, + {"id":"aad122a35d265477","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/iterating routing.md","x":2080,"y":1720,"width":400,"height":960}, + {"id":"a64242492150bbbd","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/centralized routing.md","x":2080,"y":2840,"width":400,"height":960}, + {"id":"5602d9da9f18a97d","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/min-hops routing.md","x":2080,"y":3960,"width":400,"height":960}, + {"id":"ea475183f7c55a25","x":1240,"y":-1360,"width":400,"height":400,"color":"3","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/comunicazione del routing.md"} + ], + "edges":[ + {"id":"58a76a4228ed6e62","fromNode":"d89867fdda35cdde","fromSide":"right","toNode":"8bf228c354e56f9e","toSide":"left"}, + {"id":"a9ded24e83178bcd","fromNode":"8bf228c354e56f9e","fromSide":"right","toNode":"977d445b9efd3c63","toSide":"left"}, + {"id":"cdab59da9351844e","fromNode":"8bf228c354e56f9e","fromSide":"right","toNode":"c9ae37a9e586a72d","toSide":"left"}, + {"id":"ba114b8d66b34d81","fromNode":"d89867fdda35cdde","fromSide":"right","toNode":"a5fe4cabc58e4ded","toSide":"left"}, + {"id":"820e0566dd3893d7","fromNode":"d89867fdda35cdde","fromSide":"right","toNode":"cb0fa8b1f3b67bdd","toSide":"left"}, + {"id":"951773f2dfb01c66","fromNode":"8bf228c354e56f9e","fromSide":"right","toNode":"781c1e8e5acea10a","toSide":"left"}, + {"id":"618c83092da33be8","fromNode":"d89867fdda35cdde","fromSide":"right","toNode":"bb4745ef27a83d75","toSide":"left"}, + {"id":"de8236f4437be009","fromNode":"d89867fdda35cdde","fromSide":"top","toNode":"ea475183f7c55a25","toSide":"bottom"}, + {"id":"5f2d6351f5f2f313","fromNode":"d89867fdda35cdde","fromSide":"right","toNode":"68acbd213e07eb80","toSide":"left"}, + {"id":"21d6efdf44e535fc","fromNode":"d89867fdda35cdde","fromSide":"right","toNode":"dfe1179e8607aab5","toSide":"left"}, + {"id":"a86bf78728816781","fromNode":"d89867fdda35cdde","fromSide":"right","toNode":"a2f4ec1d9ef4fca5","toSide":"left"} + ] } \ No newline at end of file diff --git a/9 - Algoritmi distribuiti/3 - Computazione distribuita/7 - Guasti/consenso con fallimenti bizantini.md b/9 - Algoritmi distribuiti/3 - Computazione distribuita/7 - Guasti/consenso con fallimenti bizantini.md new file mode 100644 index 0000000..6e9086d --- /dev/null +++ b/9 - Algoritmi distribuiti/3 - Computazione distribuita/7 - Guasti/consenso con fallimenti bizantini.md @@ -0,0 +1,12 @@ +==Ovviamente TODO, questo è un glossario per le notazioni.== + +- $n$ + - numero delle entità +- $f$ + - massimo delle entità che possono fallire, sempre minore di $\frac{f}{9}$ per qualche motivo +- $n - f$ + - il numero di vicini di un nodo che non possono avere un guasto +- $n - 2f$ + - il numero di vicini in comune tra due nodi che non possono avere un guasto +- $n - 4f$ + - il numero di vicini in comune tra due nodi che hanno sicuramente mandato lo stesso messaggio ==credo== diff --git a/9 - Algoritmi distribuiti/4 - Strutture dati distribuite/distributed hash table.md b/9 - Algoritmi distribuiti/4 - Strutture dati distribuite/distributed hash table.md new file mode 100644 index 0000000..158a90e --- /dev/null +++ b/9 - Algoritmi distribuiti/4 - Strutture dati distribuite/distributed hash table.md @@ -0,0 +1,3 @@ +[[struttura dati distribuita]] basata su una [[hash table]]. + +L'[[hash]] della [[chiave]] viene usato per determinare quale [[entità]] ha controllo su di essa. diff --git a/9 - Algoritmi distribuiti/4 - Strutture dati distribuite/struttura dati distribuita scalabile.md b/9 - Algoritmi distribuiti/4 - Strutture dati distribuite/struttura dati distribuita scalabile.md new file mode 100644 index 0000000..70c4398 --- /dev/null +++ b/9 - Algoritmi distribuiti/4 - Strutture dati distribuite/struttura dati distribuita scalabile.md @@ -0,0 +1 @@ +[[struttura dati distribuita]] di dimensione variabile. diff --git a/9 - Algoritmi distribuiti/4 - Strutture dati distribuite/struttura dati distribuita.md b/9 - Algoritmi distribuiti/4 - Strutture dati distribuite/struttura dati distribuita.md new file mode 100644 index 0000000..1052758 --- /dev/null +++ b/9 - Algoritmi distribuiti/4 - Strutture dati distribuite/struttura dati distribuita.md @@ -0,0 +1 @@ +[[struttura dati]] gestita da [[entità]]. diff --git a/steffo-file-index.json b/steffo-file-index.json index 922fae5..0eac959 100644 --- a/steffo-file-index.json +++ b/steffo-file-index.json @@ -6,65 +6,71 @@ "★ fondamenti di machine learning": "9 - Fondamenti di machine learning/★ fondamenti di machine learning.md", "★ cloud and edge computing": "9 - Cloud and edge computing/★ cloud and edge computing.md", "★ algoritmi distribuiti": "9 - Algoritmi distribuiti/★ algoritmi distribuiti.md", + "struttura dati distribuita": "9 - Algoritmi distribuiti/4 - Strutture dati distribuite/struttura dati distribuita.md", + "struttura dati distribuita scalabile": "9 - Algoritmi distribuiti/4 - Strutture dati distribuite/struttura dati distribuita scalabile.md", + "distributed hash table": "9 - Algoritmi distribuiti/4 - Strutture dati distribuite/distributed hash table.md", "two steps": "9 - Algoritmi distribuiti/3 - Computazione distribuita/7 - Guasti/two steps.md", "teorema innominato": "9 - Algoritmi distribuiti/3 - Computazione distribuita/7 - Guasti/teorema innominato.md", "leader election con fallimenti su grafo completo": "9 - Algoritmi distribuiti/3 - Computazione distribuita/7 - Guasti/leader election con fallimenti su grafo completo.md", "ft-broad-election": "9 - Algoritmi distribuiti/3 - Computazione distribuita/7 - Guasti/ft-broad-election.md", + "consenso con fallimenti bizantini": "9 - Algoritmi distribuiti/3 - Computazione distribuita/7 - Guasti/consenso con fallimenti bizantini.md", "edge-broadcast-possibility": "9 - Algoritmi distribuiti/3 - Computazione distribuita/7 - Guasti/edge-broadcast-possibility.md", "consenso con fallimenti su grafo completo": "9 - Algoritmi distribuiti/3 - Computazione distribuita/7 - Guasti/consenso con fallimenti su grafo completo.md", + "comunicazione del routing": "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/comunicazione del routing.md", + "min-hops routing": "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/min-hops routing.md", "★ routing": "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/★ routing.canvas", - "tempo di ricerca": "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/tempo di ricerca.md", + "search time": "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/search time.md", "routing": "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/routing.md", - "routing table": "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/routing table.md", "routing memory": "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/routing memory.md", "router": "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/router.md", - "min-hop routing": "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/min-hop routing.md", + "routing table": "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/routing table.md", + "principio di ottimalità": "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/principio di ottimalità.md", + "pacchetto": "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/pacchetto.md", + "gossiping routing": "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/gossiping routing.md", + "iterating routing": "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/iterating routing.md", "funzione di routing": "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/funzione di routing.md", + "centralized routing": "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/centralized routing.md", + "tecnica di saturazione per alberi": "9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Computazione/tecnica di saturazione per alberi.md", + "★ computazione": "9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Computazione/★ computazione.canvas", + "tecnica di saturazione per grafi aciclici": "9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Computazione/tecnica di saturazione per grafi aciclici.md", + "computazione in grafi aciclici": "9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Computazione/computazione in grafi aciclici.md", + "computazione in alberi": "9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Computazione/computazione in alberi.md", + "leader election su anello waiting": "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello waiting.md", + "leader election su anello waiting con inizio non contemporaneo": "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello waiting con inizio non contemporaneo.md", "★ leader election": "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/★ leader election.canvas", "leader": "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader.md", "leader election": "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election.md", "leader election su grafo aciclico": "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su grafo aciclico.md", "leader election su anello di dimensione conosciuta all-the-way": "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello di dimensione conosciuta all-the-way.md", + "leader election su anello speeding": "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello speeding.md", + "fully synchronous leader election": "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/fully synchronous leader election.md", "leader election su anello controlled-distance": "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello controlled-distance.md", "leader election su anello as-far-as-it-can": "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello as-far-as-it-can.md", "leader election su anello all-the-way": "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello all-the-way.md", "leader election su albero": "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su albero.md", - "floodmax": "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/FloodMax.md", "angluin 1980": "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/Angluin 1980.md", - "★ computazione": "9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Computazione/★ computazione.canvas", - "tecnica di saturazione per grafi aciclici": "9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Computazione/tecnica di saturazione per grafi aciclici.md", - "tecnica di saturazione per alberi": "9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Computazione/tecnica di saturazione per alberi.md", - "computazione in grafi aciclici": "9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Computazione/computazione in grafi aciclici.md", - "computazione in alberi": "9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Computazione/computazione in alberi.md", + "floodmax": "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/FloodMax.md", "token metaforico": "9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/token metaforico.md", + "spanning tree construction": "9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/spanning tree construction.md", "★ spanning tree": "9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/★ spanning tree.canvas", "traversal+ protocol": "9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/traversal+ protocol.md", "traversal protocol": "9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/traversal protocol.md", + "multiple spanning tree construction": "9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/multiple spanning tree construction.md", "spanning tree": "9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/spanning tree.md", - "spanning tree construction": "9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/spanning tree construction.md", - "shout+ protocol": "9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/shout+ protocol.md", "shout protocol": "9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/shout protocol.md", + "shout+ protocol": "9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/shout+ protocol.md", "selective spanning tree transform": "9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/selective spanning tree transform.md", "multiple spanning tree transform": "9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/multiple spanning tree transform.md", - "multiple spanning tree construction": "9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/multiple spanning tree construction.md", "broadcast tree construction": "9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/broadcast tree construction.md", - "★ broadcast": "9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/★ broadcast.canvas", - "wake-up problem": "9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/wake-up problem.md", - "one step": "9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/one step.md", - "flooding v3": "9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/flooding v3.md", - "flooding v2": "9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/flooding v2.md", - "flooding v1": "9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/flooding v1.md", - "broadcast problem": "9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/broadcast problem.md", - "no failure detection": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/no failure detection.md", - "risveglio singolo": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/risveglio singolo.md", - "risveglio totale": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/risveglio totale.md", - "risveglio parziale": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/risveglio parziale.md", - "terminazione ignorata": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/terminazione ignorata.md", - "vicini di un'entità": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/vicini di un'entità.md", "★ concetti": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/★ concetti.canvas", + "vicini di un'entità": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/vicini di un'entità.md", "timeout": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/timeout.md", "tick": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/tick.md", "terminazione locale": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/terminazione locale.md", + "risveglio singolo": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/risveglio singolo.md", + "risveglio ignorato": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/risveglio ignorato.md", + "risveglio multiplo": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/risveglio multiplo.md", + "terminazione ignorata": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/terminazione ignorata.md", "terminazione globale": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/terminazione globale.md", "stato di un'entità": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/stato di un'entità.md", "sistema sequenziale": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/sistema sequenziale.md", @@ -74,58 +80,68 @@ "ritardo di comunicazione unitario": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/ritardo di comunicazione unitario.md", "ritardo di comunicazione limitato": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/ritardo di comunicazione limitato.md", "ritardo di comunicazione illimitato": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/ritardo di comunicazione illimitato.md", + "evento": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/evento.md", + "personale": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/personale.md", + "interno": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/interno.md", "rete di comunicazione": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/rete di comunicazione.md", "restrizioni al modello dei sistemi distribuiti": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/restrizioni al modello dei sistemi distribuiti.md", "restrizione di topologia": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/restrizione di topologia.md", "restrizione di tempo": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/restrizione di tempo.md", "restrizione di comunicazione": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/restrizione di comunicazione.md", "restrizione di affidabilità": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/restrizione di affidabilità.md", - "personale": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/personale.md", + "no failure detection": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/no failure detection.md", "messaggio": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/messaggio.md", - "interno": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/interno.md", "insieme degli stati di un'entità": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/insieme degli stati di un'entità.md", + "condiviso": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/condiviso.md", + "clock": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/clock.md", "individuale": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/individuale.md", "impulso spontaneo": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/impulso spontaneo.md", "identificatori univoci": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/identificatori univoci.md", "half-duplex": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/half-duplex.md", "full-duplex": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/full-duplex.md", - "evento": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/evento.md", "esterno": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/esterno.md", "entità": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/entità.md", "entity failure detection": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/entity failure detection.md", + "dimensione dei messaggi limitata": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/dimensione dei messaggi limitata.md", + "dimensione dei messaggi illimitata": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/dimensione dei messaggi illimitata.md", "criterio di costo sincrono": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/criterio di costo sincrono.md", "criterio di costo asincrono": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/criterio di costo asincrono.md", "costo computazionale distribuito": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/costo computazionale distribuito.md", "consegna garantita": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/consegna garantita.md", - "condiviso": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/condiviso.md", - "comunicazione": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/comunicazione.md", "comportamento": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/comportamento.md", - "clock": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/clock.md", + "comunicazione": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/comunicazione.md", "channel failure detection": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/channel failure detection.md", + "affidabilità totale": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/affidabilità totale.md", + "affidabilità parziale": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/affidabilità parziale.md", + "ambiente": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/ambiente.md", "canale di comunicazione": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/canale di comunicazione.md", "azione": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/azione.md", "assioma dell'orientamento locale": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/assioma dell'orientamento locale.md", "assioma del ritardo di comunicazione": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/assioma del ritardo di comunicazione.md", - "ambiente": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/ambiente.md", - "affidabilità totale": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/affidabilità totale.md", - "affidabilità parziale": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/affidabilità parziale.md", + "wake-up problem": "9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/wake-up problem.md", + "★ broadcast": "9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/★ broadcast.canvas", + "flooding v3": "9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/flooding v3.md", + "one step": "9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/one step.md", + "flooding v2": "9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/flooding v2.md", + "broadcast problem": "9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/broadcast problem.md", + "flooding v1": "9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/flooding v1.md", "★ algoritmi di approssimazione": "9 - Algoritmi distribuiti/2 - Algoritmi di approssimazione/★ algoritmi di approssimazione.canvas", "vertex cover": "9 - Algoritmi distribuiti/2 - Algoritmi di approssimazione/vertex cover.md", "vertex cover problem": "9 - Algoritmi distribuiti/2 - Algoritmi di approssimazione/vertex cover problem.md", "soluzione approssimata": "9 - Algoritmi distribuiti/2 - Algoritmi di approssimazione/soluzione approssimata.md", + "proprietà triangolare per il costo degli archi": "9 - Algoritmi distribuiti/2 - Algoritmi di approssimazione/proprietà triangolare per il costo degli archi.md", + "approssimazione del problema del commesso viaggiatore": "9 - Algoritmi distribuiti/2 - Algoritmi di approssimazione/approssimazione del problema del commesso viaggiatore.md", "relax and round": "9 - Algoritmi distribuiti/2 - Algoritmi di approssimazione/relax and round.md", "relax and round per vertex cover problem": "9 - Algoritmi distribuiti/2 - Algoritmi di approssimazione/relax and round per vertex cover problem.md", - "proprietà triangolare per il costo degli archi": "9 - Algoritmi distribuiti/2 - Algoritmi di approssimazione/proprietà triangolare per il costo degli archi.md", "minimum perfect matching": "9 - Algoritmi distribuiti/2 - Algoritmi di approssimazione/minimum perfect matching.md", "fattore di approssimazione": "9 - Algoritmi distribuiti/2 - Algoritmi di approssimazione/fattore di approssimazione.md", - "approssimazione del problema del commesso viaggiatore": "9 - Algoritmi distribuiti/2 - Algoritmi di approssimazione/approssimazione del problema del commesso viaggiatore.md", "algoritmo di approssimazione": "9 - Algoritmi distribuiti/2 - Algoritmi di approssimazione/algoritmo di approssimazione.md", + "tesi di church-turing": "9 - Algoritmi distribuiti/1 - Problemi/tesi di Church-Turing.md", "★ problemi": "9 - Algoritmi distribuiti/1 - Problemi/★ problemi.canvas", "verifica": "9 - Algoritmi distribuiti/1 - Problemi/verifica.md", - "tesi di church-turing": "9 - Algoritmi distribuiti/1 - Problemi/tesi di Church-Turing.md", "tempo": "8 - Crittografia applicata/1 - Concetti/2 - Dimostrare la validità delle soluzioni/tempo.md", - "struttura dati": "9 - Algoritmi distribuiti/1 - Problemi/struttura dati.md", "spazio": "8 - Crittografia applicata/1 - Concetti/2 - Dimostrare la validità delle soluzioni/spazio.md", + "struttura dati": "9 - Algoritmi distribuiti/1 - Problemi/struttura dati.md", "soluzione": "8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/soluzione.md", "soluzione ottima": "9 - Algoritmi distribuiti/1 - Problemi/soluzione ottima.md", "satisfability": "9 - Algoritmi distribuiti/1 - Problemi/satisfability.md", @@ -175,6 +191,7 @@ "algoritmo": "9 - Algoritmi distribuiti/1 - Problemi/algoritmo.md", "algoritmo corretto": "9 - Algoritmi distribuiti/1 - Problemi/algoritmo corretto.md", "★ sviluppo di software sicuro": "8 - Sviluppo di software sicuro/★ sviluppo di software sicuro.md", + "distinguisher": "8 - Sviluppo di software sicuro/1 - Terminologia/distinguisher.md", "vulnerabilità": "8 - Crittografia applicata/1 - Concetti/2 - Dimostrare la validità delle soluzioni/vulnerabilità.md", "vettore di attacco": "8 - Sviluppo di software sicuro/1 - Terminologia/vettore di attacco.md", "superficie di attacco": "8 - Sviluppo di software sicuro/1 - Terminologia/superficie di attacco.md", @@ -196,43 +213,42 @@ "input illecito": "8 - Sviluppo di software sicuro/1 - Terminologia/input illecito.md", "funzionalità": "8 - Sviluppo di software sicuro/1 - Terminologia/funzionalità.md", "exploit": "8 - Sviluppo di software sicuro/1 - Terminologia/exploit.md", - "distinguisher": "8 - Sviluppo di software sicuro/1 - Terminologia/distinguisher.md", - "difetto": "8 - Sviluppo di software sicuro/1 - Terminologia/difetto.md", "debolezza": "8 - Crittografia applicata/1 - Concetti/2 - Dimostrare la validità delle soluzioni/debolezza.md", + "difetto": "8 - Sviluppo di software sicuro/1 - Terminologia/difetto.md", "bug": "8 - Sviluppo di software sicuro/1 - Terminologia/bug.md", + "analisi dei rischi": "8 - Sviluppo di software sicuro/1 - Terminologia/analisi dei rischi.md", "attaccante": "8 - Sviluppo di software sicuro/1 - Terminologia/attaccante.md", "asset": "8 - Sviluppo di software sicuro/1 - Terminologia/asset.md", - "analisi dei rischi": "8 - Sviluppo di software sicuro/1 - Terminologia/analisi dei rischi.md", "stride": "8 - Sviluppo di software sicuro/1 - Terminologia/STRIDE.md", "★ sistemi complessi": "8 - Sistemi complessi/2 - Sistemi complessi/★ sistemi complessi.canvas", "🞵 parentesi anti-eugenica": "8 - Sistemi complessi/6 - Robustezza/🞵 parentesi anti-eugenica.md", "★ robustezza": "8 - Sistemi complessi/6 - Robustezza/★ robustezza.canvas", "versatilità": "8 - Sistemi complessi/6 - Robustezza/versatilità.md", "tratto": "8 - Sistemi complessi/6 - Robustezza/tratto.md", - "tolleranza altamente ottimizzata": "8 - Sistemi complessi/6 - Robustezza/tolleranza altamente ottimizzata.md", "robustezza": "8 - Sistemi complessi/6 - Robustezza/robustezza.md", + "tolleranza altamente ottimizzata": "8 - Sistemi complessi/6 - Robustezza/tolleranza altamente ottimizzata.md", "robustezza locale": "8 - Sistemi complessi/6 - Robustezza/robustezza locale.md", "robustezza distribuita": "8 - Sistemi complessi/6 - Robustezza/robustezza distribuita.md", "robustezza differenziale": "8 - Sistemi complessi/6 - Robustezza/robustezza differenziale.md", - "robustezza biologica": "8 - Sistemi complessi/6 - Robustezza/robustezza biologica.md", "ridondanza": "8 - Sistemi complessi/6 - Robustezza/ridondanza.md", + "robustezza biologica": "8 - Sistemi complessi/6 - Robustezza/robustezza biologica.md", "rete regolatrice di geni": "8 - Sistemi complessi/6 - Robustezza/rete regolatrice di geni.md", "rete neutrale": "8 - Sistemi complessi/6 - Robustezza/rete neutrale.md", "proteoma": "8 - Sistemi complessi/6 - Robustezza/proteoma.md", - "popolazione": "8 - Sistemi complessi/6 - Robustezza/popolazione.md", "point mutation": "8 - Sistemi complessi/6 - Robustezza/point mutation.md", + "popolazione": "8 - Sistemi complessi/6 - Robustezza/popolazione.md", "pleiotropia": "8 - Sistemi complessi/6 - Robustezza/pleiotropia.md", "plasticità fenotipica": "8 - Sistemi complessi/6 - Robustezza/plasticità fenotipica.md", "paradosso dell'evolvibilità": "8 - Sistemi complessi/6 - Robustezza/paradosso dell'evolvibilità.md", "omeostasi": "8 - Sistemi complessi/6 - Robustezza/omeostasi.md", "nucleotide": "8 - Sistemi complessi/6 - Robustezza/nucleotide.md", - "modello duplication-degeneracy-complementation": "8 - Sistemi complessi/6 - Robustezza/modello duplication-degeneracy-complementation.md", "individuo": "8 - Sistemi complessi/6 - Robustezza/individuo.md", + "modello duplication-degeneracy-complementation": "8 - Sistemi complessi/6 - Robustezza/modello duplication-degeneracy-complementation.md", "genotipo": "8 - Sistemi complessi/6 - Robustezza/genotipo.md", "genoma": "8 - Sistemi complessi/6 - Robustezza/genoma.md", "gene": "8 - Sistemi complessi/6 - Robustezza/gene.md", - "fitness": "8 - Sistemi complessi/6 - Robustezza/fitness.md", "fenotipo": "8 - Sistemi complessi/6 - Robustezza/fenotipo.md", + "fitness": "8 - Sistemi complessi/6 - Robustezza/fitness.md", "evolvibilità": "8 - Sistemi complessi/6 - Robustezza/evolvibilità.md", "degenerazione": "8 - Sistemi complessi/6 - Robustezza/degenerazione.md", "crossover": "8 - Sistemi complessi/6 - Robustezza/crossover.md", @@ -293,23 +309,6 @@ "aspetto di un grafo multi-livello": "8 - Sistemi complessi/4 - Grafi/aspetto di un grafo multi-livello.md", "aspetto categorico di un grafo multi-livello": "8 - Sistemi complessi/4 - Grafi/aspetto categorico di un grafo multi-livello.md", "arco di accoppiamento": "8 - Sistemi complessi/4 - Grafi/arco di accoppiamento.md", - "topological mixing": "8 - Sistemi complessi/2 - Sistemi complessi/topological mixing.md", - "sistema complesso": "8 - Sistemi complessi/2 - Sistemi complessi/sistema complesso.md", - "rete": "8 - Sistemi complessi/2 - Sistemi complessi/rete.md", - "pila di sabbia abeliana": "8 - Sistemi complessi/2 - Sistemi complessi/pila di sabbia abeliana.md", - "parte di un sistema complesso": "8 - Sistemi complessi/2 - Sistemi complessi/parte di un sistema complesso.md", - "ordine spontaneo": "8 - Sistemi complessi/2 - Sistemi complessi/ordine spontaneo.md", - "non-linearità": "8 - Sistemi complessi/2 - Sistemi complessi/non-linearità.md", - "feedback loop": "8 - Sistemi complessi/2 - Sistemi complessi/feedback loop.md", - "fallimento a cascata": "8 - Sistemi complessi/2 - Sistemi complessi/fallimento a cascata.md", - "emergenza": "8 - Sistemi complessi/2 - Sistemi complessi/emergenza.md", - "dense periodic orbits": "8 - Sistemi complessi/2 - Sistemi complessi/dense periodic orbits.md", - "criticità auto-organizzata": "8 - Sistemi complessi/2 - Sistemi complessi/criticità auto-organizzata.md", - "caos": "8 - Sistemi complessi/2 - Sistemi complessi/caos.md", - "auto-organizzazione": "8 - Sistemi complessi/2 - Sistemi complessi/auto-organizzazione.md", - "apertura all'ambiente": "8 - Sistemi complessi/2 - Sistemi complessi/apertura all'ambiente.md", - "adattabilità": "8 - Sistemi complessi/2 - Sistemi complessi/adattabilità.md", - "landau's phenomenological theory": "8 - Sistemi complessi/2 - Sistemi complessi/Landau's phenomenological theory.md", "★ automi cellulari": "8 - Sistemi complessi/3 - Automi cellulari/★ automi cellulari.canvas", "vicinato di von neumann": "8 - Sistemi complessi/3 - Automi cellulari/vicinato di von Neumann.md", "vicinato di un automa cellulare": "8 - Sistemi complessi/3 - Automi cellulari/vicinato di un automa cellulare.md", @@ -360,9 +359,26 @@ "langton's loops": "8 - Sistemi complessi/3 - Automi cellulari/Langton's Loops.md", "game of life": "8 - Sistemi complessi/3 - Automi cellulari/Game of Life.md", "evoloop": "8 - Sistemi complessi/3 - Automi cellulari/Evoloop.md", + "topological mixing": "8 - Sistemi complessi/2 - Sistemi complessi/topological mixing.md", + "sistema complesso": "8 - Sistemi complessi/2 - Sistemi complessi/sistema complesso.md", + "rete": "8 - Sistemi complessi/2 - Sistemi complessi/rete.md", + "pila di sabbia abeliana": "8 - Sistemi complessi/2 - Sistemi complessi/pila di sabbia abeliana.md", + "parte di un sistema complesso": "8 - Sistemi complessi/2 - Sistemi complessi/parte di un sistema complesso.md", + "ordine spontaneo": "8 - Sistemi complessi/2 - Sistemi complessi/ordine spontaneo.md", + "non-linearità": "8 - Sistemi complessi/2 - Sistemi complessi/non-linearità.md", + "feedback loop": "8 - Sistemi complessi/2 - Sistemi complessi/feedback loop.md", + "fallimento a cascata": "8 - Sistemi complessi/2 - Sistemi complessi/fallimento a cascata.md", + "emergenza": "8 - Sistemi complessi/2 - Sistemi complessi/emergenza.md", + "dense periodic orbits": "8 - Sistemi complessi/2 - Sistemi complessi/dense periodic orbits.md", + "criticità auto-organizzata": "8 - Sistemi complessi/2 - Sistemi complessi/criticità auto-organizzata.md", + "caos": "8 - Sistemi complessi/2 - Sistemi complessi/caos.md", + "auto-organizzazione": "8 - Sistemi complessi/2 - Sistemi complessi/auto-organizzazione.md", + "apertura all'ambiente": "8 - Sistemi complessi/2 - Sistemi complessi/apertura all'ambiente.md", + "adattabilità": "8 - Sistemi complessi/2 - Sistemi complessi/adattabilità.md", + "landau's phenomenological theory": "8 - Sistemi complessi/2 - Sistemi complessi/Landau's phenomenological theory.md", "★ sistemi dinamici": "8 - Sistemi complessi/1 - Sistemi dinamici/★ sistemi dinamici.canvas", - "veicolo di braitenberg": "8 - Sistemi complessi/1 - Sistemi dinamici/veicolo di Braitenberg.md", "traiettoria": "8 - Sistemi complessi/1 - Sistemi dinamici/traiettoria.md", + "veicolo di braitenberg": "8 - Sistemi complessi/1 - Sistemi dinamici/veicolo di Braitenberg.md", "stabilità": "8 - Sistemi complessi/1 - Sistemi dinamici/stabilità.md", "spazio di fase": "8 - Sistemi complessi/1 - Sistemi dinamici/spazio di fase.md", "sistema lineare": "8 - Sistemi complessi/1 - Sistemi dinamici/sistema lineare.md", @@ -370,184 +386,94 @@ "sistema dinamico": "8 - Sistemi complessi/1 - Sistemi dinamici/sistema dinamico.md", "sella": "8 - Sistemi complessi/1 - Sistemi dinamici/sella.md", "seconda legge della termodinamica": "8 - Sistemi complessi/1 - Sistemi dinamici/seconda legge della termodinamica.md", - "repulsore": "8 - Sistemi complessi/1 - Sistemi dinamici/repulsore.md", "punto critico": "8 - Sistemi complessi/1 - Sistemi dinamici/punto critico.md", + "repulsore": "8 - Sistemi complessi/1 - Sistemi dinamici/repulsore.md", "potenziale": "8 - Sistemi complessi/1 - Sistemi dinamici/potenziale.md", "numero di rayleigh": "8 - Sistemi complessi/1 - Sistemi dinamici/numero di Rayleigh.md", "numero critico di rayleigh": "8 - Sistemi complessi/1 - Sistemi dinamici/numero critico di Rayleigh.md", "metastabilità": "8 - Sistemi complessi/1 - Sistemi dinamici/metastabilità.md", "legge di potenza": "8 - Sistemi complessi/1 - Sistemi dinamici/legge di potenza.md", + "criticità": "8 - Sistemi complessi/1 - Sistemi dinamici/criticità.md", "legge gutenberg-richter": "8 - Sistemi complessi/1 - Sistemi dinamici/legge Gutenberg-Richter.md", "instabilità": "8 - Sistemi complessi/1 - Sistemi dinamici/instabilità.md", "effetto marangoni": "8 - Sistemi complessi/1 - Sistemi dinamici/effetto Marangoni.md", - "criticità": "8 - Sistemi complessi/1 - Sistemi dinamici/criticità.md", "convezione di rayleigh-bénard": "8 - Sistemi complessi/1 - Sistemi dinamici/convezione di Rayleigh-Bénard.md", "condizione iniziale": "8 - Sistemi complessi/1 - Sistemi dinamici/condizione iniziale.md", "centro": "8 - Sistemi complessi/1 - Sistemi dinamici/centro.md", "attrattore": "8 - Sistemi complessi/1 - Sistemi dinamici/attrattore.md", "★ metodologie di sviluppo software": "8 - Metodologie di sviluppo software/★ metodologie di sviluppo software.md", - "unit test": "8 - Metodologie di sviluppo software/Testing/unit test.md", "test": "8 - Metodologie di sviluppo software/Testing/test.md", + "unit test": "8 - Metodologie di sviluppo software/Testing/unit test.md", "test coverage": "8 - Metodologie di sviluppo software/Testing/test coverage.md", "regression test": "8 - Metodologie di sviluppo software/Testing/regression test.md", "performance test": "8 - Metodologie di sviluppo software/Testing/performance test.md", "integration test": "8 - Metodologie di sviluppo software/Testing/integration test.md", "acceptance test": "8 - Metodologie di sviluppo software/Testing/acceptance test.md", - "timeboxing": "8 - Metodologie di sviluppo software/Tecniche di sviluppo/timeboxing.md", "test-driven development": "8 - Metodologie di sviluppo software/Tecniche di sviluppo/test-driven development.md", + "timeboxing": "8 - Metodologie di sviluppo software/Tecniche di sviluppo/timeboxing.md", "sprint review": "8 - Metodologie di sviluppo software/Tecniche di sviluppo/sprint review.md", "sprint retrospective": "8 - Metodologie di sviluppo software/Tecniche di sviluppo/sprint retrospective.md", "sprint planning": "8 - Metodologie di sviluppo software/Tecniche di sviluppo/sprint planning.md", - "refactoring": "8 - Metodologie di sviluppo software/Tecniche di sviluppo/refactoring.md", "pair programming": "8 - Metodologie di sviluppo software/Tecniche di sviluppo/pair programming.md", + "refactoring": "8 - Metodologie di sviluppo software/Tecniche di sviluppo/refactoring.md", "5 - project estimation": "8 - Metodologie di sviluppo software/Svolgimento esercizi/5 - Project Estimation.md", + "scrum master": "8 - Metodologie di sviluppo software/Ruoli professionali/scrum master.md", + "product owner": "8 - Metodologie di sviluppo software/Ruoli professionali/product owner.md", "unified process": "8 - Metodologie di sviluppo software/Processi di sviluppo/unified process.md", "scrum": "8 - Metodologie di sviluppo software/Processi di sviluppo/scrum.md", - "scrum of scrum": "8 - Metodologie di sviluppo software/Processi di sviluppo/scrum of scrum.md", "processo di sviluppo software": "8 - Metodologie di sviluppo software/Processi di sviluppo/processo di sviluppo software.md", + "scrum of scrum": "8 - Metodologie di sviluppo software/Processi di sviluppo/scrum of scrum.md", "feature-driven development": "8 - Metodologie di sviluppo software/Processi di sviluppo/feature-driven development.md", "epic": "8 - Metodologie di sviluppo software/Processi di sviluppo/epic.md", "daily scrum": "8 - Metodologie di sviluppo software/Processi di sviluppo/daily scrum.md", - "backlog grooming": "8 - Metodologie di sviluppo software/Processi di sviluppo/backlog grooming.md", "agile": "8 - Metodologie di sviluppo software/Processi di sviluppo/agile.md", + "backlog grooming": "8 - Metodologie di sviluppo software/Processi di sviluppo/backlog grooming.md", "agile unified process": "8 - Metodologie di sviluppo software/Processi di sviluppo/agile unified process.md", - "scrum master": "8 - Metodologie di sviluppo software/Ruoli professionali/scrum master.md", - "product owner": "8 - Metodologie di sviluppo software/Ruoli professionali/product owner.md", "modello waterfall": "8 - Metodologie di sviluppo software/Modelli di sviluppo/modello waterfall.md", "modello trasformativo": "8 - Metodologie di sviluppo software/Modelli di sviluppo/modello trasformativo.md", "modello iterativo": "8 - Metodologie di sviluppo software/Modelli di sviluppo/modello iterativo.md", "modello incrementale": "8 - Metodologie di sviluppo software/Modelli di sviluppo/modello incrementale.md", "modello evolutivo": "8 - Metodologie di sviluppo software/Modelli di sviluppo/modello evolutivo.md", "modello di sviluppo": "8 - Metodologie di sviluppo software/Modelli di sviluppo/modello di sviluppo.md", - "modello code-and-fix": "8 - Metodologie di sviluppo software/Modelli di sviluppo/modello code-and-fix.md", "modello basato sui componenti": "8 - Metodologie di sviluppo software/Modelli di sviluppo/modello basato sui componenti.md", + "modello code-and-fix": "8 - Metodologie di sviluppo software/Modelli di sviluppo/modello code-and-fix.md", "fase di testing": "8 - Metodologie di sviluppo software/Fasi di sviluppo/fase di testing.md", - "fase di specifica": "8 - Metodologie di sviluppo software/Fasi di sviluppo/fase di specifica.md", "fase di rilascio": "8 - Metodologie di sviluppo software/Fasi di sviluppo/fase di rilascio.md", + "fase di specifica": "8 - Metodologie di sviluppo software/Fasi di sviluppo/fase di specifica.md", "fase di manutenzione": "8 - Metodologie di sviluppo software/Fasi di sviluppo/fase di manutenzione.md", "fase di implementazione": "8 - Metodologie di sviluppo software/Fasi di sviluppo/fase di implementazione.md", "fase di design": "8 - Metodologie di sviluppo software/Fasi di sviluppo/fase di design.md", "user story": "8 - Metodologie di sviluppo software/Artefatti/user story.md", "product backlog": "8 - Metodologie di sviluppo software/Artefatti/product backlog.md", - "increment": "8 - Metodologie di sviluppo software/Artefatti/increment.md", "burndown chart": "8 - Metodologie di sviluppo software/Artefatti/burndown chart.md", - "★ mappa concettuale": "8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/★ mappa concettuale.canvas", - "weak existential unforgeability": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/6 - Falsificazione di firme/weak existential unforgeability.md", - "weak existential message forgery": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/6 - Falsificazione di firme/weak existential message forgery.md", - "strong existential unforgeability": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/6 - Falsificazione di firme/strong existential unforgeability.md", - "strong existential message forgery": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/6 - Falsificazione di firme/strong existential message forgery.md", - "selective message forgery": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/6 - Falsificazione di firme/selective message forgery.md", - "random-message attacker": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/6 - Falsificazione di firme/random-message attacker.md", - "no-message attacker": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/6 - Falsificazione di firme/no-message attacker.md", - "known-message attacker": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/6 - Falsificazione di firme/known-message attacker.md", - "contesto di firma digitale": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/6 - Falsificazione di firme/contesto di firma digitale.md", - "chosen-message attacker": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/6 - Falsificazione di firme/chosen-message attacker.md", - "any message forgery": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/6 - Falsificazione di firme/any message forgery.md", - "adaptively-chosen-message attacker": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/6 - Falsificazione di firme/adaptively-chosen-message attacker.md", - "zero-knowledge proof": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/zero-knowledge proof.md", - "witness": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/witness.md", - "trasformazione di fiat-shamir": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/trasformazione di Fiat-Shamir.md", - "transcript": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/transcript.md", - "signature scheme": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/signature scheme.md", - "signature forgery": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/signature forgery.md", - "protocollo di identificazione di schnorr non-interattivo": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/protocollo di identificazione di Schnorr non-interattivo.md", - "protocollo di identificazione di schnorr interattivo": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/protocollo di identificazione di Schnorr interattivo.md", - "problema di firma digitale": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/problema di firma digitale.md", - "probabilistic signature scheme": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/probabilistic signature scheme.md", - "full domain hash": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/full domain hash.md", - "firma digitale": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/firma digitale.md", - "fiducia": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/fiducia.md", - "elliptic curve digital signature algorithm": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/elliptic curve digital signature algorithm.md", - "digital signature algorithm": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/digital signature algorithm.md", - "schnorr signature scheme": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/Schnorr signature scheme.md", - "schnorr deterministic signature scheme": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/Schnorr deterministic signature scheme.md", - "pkcs1 v21": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/PKCS1 v21.md", - "edwards-curve digital signature algorithm": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/Edwards-curve digital signature algorithm.md", - "trapdoor one-way function": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/trapdoor one-way function.md", - "textbook rsa": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/textbook RSA.md", - "scambio di chiave simmetrica basato sull'incapsulamento": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/scambio di chiave simmetrica basato sull'incapsulamento.md", - "problema rsa": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/problema RSA.md", - "million message attack": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/million message attack.md", - "mask generation function": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/mask generation function.md", - "key encapsulation": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/key encapsulation.md", - "integrated encryption scheme": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/integrated encryption scheme.md", - "funzione toziente": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/funzione toziente.md", - "elliptic curve integrated encryption scheme": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/elliptic curve integrated encryption scheme.md", - "crittografia ibrida": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/crittografia ibrida.md", - "crittografia asimmetrica": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/crittografia asimmetrica.md", - "congettura della fattorizzazione": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/congettura della fattorizzazione.md", - "rsa": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/RSA.md", - "pkcs1 v20": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/PKCS1 v20.md", - "pkcs1 v15": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/PKCS1 v15.md", - "scambio di chiave": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/scambio di chiave.md", - "scambio di chiave mutualmente autenticato": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/scambio di chiave mutualmente autenticato.md", - "scambio di chiave basato su diffie-hellman": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/scambio di chiave basato su Diffie-Hellman.md", - "scambio di chiave autenticato": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/scambio di chiave autenticato.md", - "scambio di chiave autenticato lato server": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/scambio di chiave autenticato lato server.md", - "scambio di chiave autenticato basato su diffie-hellman": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/scambio di chiave autenticato basato su Diffie-Hellman.md", - "scambio di chiave diffie-hellman": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/scambio di chiave Diffie-Hellman.md", - "scambio di chiave diffie-hellman su curva ellittica": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/scambio di chiave Diffie-Hellman su curva ellittica.md", - "one-way function": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/one-way function.md", - "numero primo sicuro": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/numero primo sicuro.md", - "logaritmo discreto su gruppi ciclici primi sugli interi": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/logaritmo discreto su gruppi ciclici primi sugli interi.md", - "logaritmo discreto su curva ellittica": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/logaritmo discreto su curva ellittica.md", - "key generation algorithm": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/key generation algorithm.md", - "coppia di chiavi": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/coppia di chiavi.md", - "congettura diffie-hellman": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/congettura Diffie-Hellman.md", - "congettura diffie-hellman decisionale": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/congettura Diffie-Hellman decisionale.md", - "congettura diffie-hellman computazionale": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/congettura Diffie-Hellman computazionale.md", - "congettura diffie-hellman classica": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/congettura Diffie-Hellman classica.md", - "chiave pubblica": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/chiave pubblica.md", - "chiave privata": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/chiave privata.md", - "attacco del sottogruppo debole": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/attacco del sottogruppo debole.md", - "attacco del punto non valido": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/attacco del punto non valido.md", - "sep256k1": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/Sep256k1.md", - "p-521": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/P-521.md", - "p-256": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/P-256.md", - "curve448": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/Curve448.md", - "curve25519": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/Curve25519.md", - "somma di punti su curve ellittiche": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/2 - Teoria delle curve ellittiche/somma di punti su curve ellittiche.md", - "punto a infinito nelle curve ellittiche": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/2 - Teoria delle curve ellittiche/punto a infinito nelle curve ellittiche.md", - "gruppo ciclico su curva ellittica": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/2 - Teoria delle curve ellittiche/gruppo ciclico su curva ellittica.md", - "equazione di weierstrass": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/2 - Teoria delle curve ellittiche/equazione di Weierstrass.md", - "curva ellittica": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/2 - Teoria delle curve ellittiche/curva ellittica.md", - "sottogruppo": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/1 - Teoria dei gruppi/sottogruppo.md", - "ordine di un gruppo": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/1 - Teoria dei gruppi/ordine di un gruppo.md", - "gruppo": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/1 - Teoria dei gruppi/gruppo.md", - "gruppo moltiplicativo": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/1 - Teoria dei gruppi/gruppo moltiplicativo.md", - "gruppo infinito": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/1 - Teoria dei gruppi/gruppo infinito.md", - "gruppo finito": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/1 - Teoria dei gruppi/gruppo finito.md", - "gruppo di galois": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/1 - Teoria dei gruppi/gruppo di Galois.md", - "gruppo ciclico": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/1 - Teoria dei gruppi/gruppo ciclico.md", - "gruppo ciclico di modulo primo": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/1 - Teoria dei gruppi/gruppo ciclico di modulo primo.md", - "gruppo additivo": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/1 - Teoria dei gruppi/gruppo additivo.md", - "generatore di un gruppo ciclico": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/1 - Teoria dei gruppi/generatore di un gruppo ciclico.md", + "increment": "8 - Metodologie di sviluppo software/Artefatti/increment.md", "★ crittografia applicata": "8 - Crittografia applicata/★ crittografia applicata.md", + "★ mappa concettuale": "8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/★ mappa concettuale.canvas", "symmetric ratchet": "8 - Crittografia applicata/5 - Protocolli sicuri/3 - Signal/symmetric ratchet.md", - "ricezione x3dh": "8 - Crittografia applicata/5 - Protocolli sicuri/3 - Signal/ricezione X3DH.md", "registrazione x3dh": "8 - Crittografia applicata/5 - Protocolli sicuri/3 - Signal/registrazione X3DH.md", + "ricezione x3dh": "8 - Crittografia applicata/5 - Protocolli sicuri/3 - Signal/ricezione X3DH.md", "one-time pre-key": "8 - Crittografia applicata/5 - Protocolli sicuri/3 - Signal/one-time pre-key.md", "non-ripudiabilità": "8 - Crittografia applicata/5 - Protocolli sicuri/3 - Signal/non-ripudiabilità.md", "negabilità": "8 - Crittografia applicata/5 - Protocolli sicuri/3 - Signal/negabilità.md", "invio x3dh": "8 - Crittografia applicata/5 - Protocolli sicuri/3 - Signal/invio X3DH.md", "identity key": "8 - Crittografia applicata/5 - Protocolli sicuri/3 - Signal/identity key.md", "identity information": "8 - Crittografia applicata/5 - Protocolli sicuri/3 - Signal/identity information.md", - "double ratchet": "8 - Crittografia applicata/5 - Protocolli sicuri/3 - Signal/double ratchet.md", "authenticated deniable key agreement": "8 - Crittografia applicata/5 - Protocolli sicuri/3 - Signal/authenticated deniable key agreement.md", + "double ratchet": "8 - Crittografia applicata/5 - Protocolli sicuri/3 - Signal/double ratchet.md", "authenticated deniable key agreement basato su diffie-hellman": "8 - Crittografia applicata/5 - Protocolli sicuri/3 - Signal/authenticated deniable key agreement basato su Diffie-Hellman.md", "x3dh": "8 - Crittografia applicata/5 - Protocolli sicuri/3 - Signal/X3DH.md", - "signal": "8 - Crittografia applicata/5 - Protocolli sicuri/3 - Signal/Signal.md", "signal protocol": "8 - Crittografia applicata/5 - Protocolli sicuri/3 - Signal/Signal protocol.md", + "signal": "8 - Crittografia applicata/5 - Protocolli sicuri/3 - Signal/Signal.md", "signal aead": "8 - Crittografia applicata/5 - Protocolli sicuri/3 - Signal/Signal AEAD.md", "diffie-hellman ratchet": "8 - Crittografia applicata/5 - Protocolli sicuri/3 - Signal/Diffie-Hellman ratchet.md", "sender spoofing": "8 - Crittografia applicata/5 - Protocolli sicuri/2 - Email/sender spoofing.md", "sender policy framework": "8 - Crittografia applicata/5 - Protocolli sicuri/2 - Email/sender policy framework.md", - "secure mime": "8 - Crittografia applicata/5 - Protocolli sicuri/2 - Email/secure mime.md", "record dns": "8 - Crittografia applicata/5 - Protocolli sicuri/2 - Email/record DNS.md", + "secure mime": "8 - Crittografia applicata/5 - Protocolli sicuri/2 - Email/secure mime.md", "posta elettronica certificata": "8 - Crittografia applicata/5 - Protocolli sicuri/2 - Email/posta elettronica certificata.md", + "email": "8 - Crittografia applicata/5 - Protocolli sicuri/2 - Email/email.md", "phishing": "8 - Crittografia applicata/5 - Protocolli sicuri/2 - Email/phishing.md", "malware attachment": "8 - Crittografia applicata/5 - Protocolli sicuri/2 - Email/malware attachment.md", - "email": "8 - Crittografia applicata/5 - Protocolli sicuri/2 - Email/email.md", "domainkeys identified mail": "8 - Crittografia applicata/5 - Protocolli sicuri/2 - Email/domainkeys identified mail.md", "domain-based message authentication reporting and conformance": "8 - Crittografia applicata/5 - Protocolli sicuri/2 - Email/domain-based message authentication reporting and conformance.md", "brand indicators for message identification": "8 - Crittografia applicata/5 - Protocolli sicuri/2 - Email/brand indicators for message identification.md", @@ -559,24 +485,24 @@ "pre-master secret": "8 - Crittografia applicata/5 - Protocolli sicuri/1 - TCP-IP/pre-master secret.md", "mobile shell": "8 - Crittografia applicata/5 - Protocolli sicuri/1 - TCP-IP/mobile shell.md", "encrypted client hello": "8 - Crittografia applicata/5 - Protocolli sicuri/1 - TCP-IP/encrypted client hello.md", - "downgrade attack": "8 - Crittografia applicata/5 - Protocolli sicuri/1 - TCP-IP/downgrade attack.md", "datagram transport level security": "8 - Crittografia applicata/5 - Protocolli sicuri/1 - TCP-IP/datagram transport level security.md", + "downgrade attack": "8 - Crittografia applicata/5 - Protocolli sicuri/1 - TCP-IP/downgrade attack.md", "coppia di chiavi effimere": "8 - Crittografia applicata/5 - Protocolli sicuri/1 - TCP-IP/coppia di chiavi effimere.md", "wireguard": "8 - Crittografia applicata/5 - Protocolli sicuri/1 - TCP-IP/Wireguard.md", "macsec": "8 - Crittografia applicata/5 - Protocolli sicuri/1 - TCP-IP/MACSec.md", "internet key exchange": "8 - Crittografia applicata/5 - Protocolli sicuri/1 - TCP-IP/Internet Key Exchange.md", "ipsec": "8 - Crittografia applicata/5 - Protocolli sicuri/1 - TCP-IP/IPSec.md", "trust-on-first-use": "8 - Crittografia applicata/4 - Controllo dell'accesso/4 - Distribuzione di chiavi/trust-on-first-use.md", - "trust anchor": "8 - Crittografia applicata/4 - Controllo dell'accesso/4 - Distribuzione di chiavi/trust anchor.md", "token": "8 - Crittografia applicata/4 - Controllo dell'accesso/4 - Distribuzione di chiavi/token.md", + "trust anchor": "8 - Crittografia applicata/4 - Controllo dell'accesso/4 - Distribuzione di chiavi/trust anchor.md", "tipo di certificato web": "8 - Crittografia applicata/4 - Controllo dell'accesso/4 - Distribuzione di chiavi/tipo di certificato web.md", "stale attack": "8 - Crittografia applicata/4 - Controllo dell'accesso/4 - Distribuzione di chiavi/stale attack.md", "self-signed certificate": "8 - Crittografia applicata/4 - Controllo dell'accesso/4 - Distribuzione di chiavi/self-signed certificate.md", "scope": "8 - Crittografia applicata/4 - Controllo dell'accesso/4 - Distribuzione di chiavi/scope.md", "root certification authority": "8 - Crittografia applicata/4 - Controllo dell'accesso/4 - Distribuzione di chiavi/root certification authority.md", "revoca certificato web": "8 - Crittografia applicata/4 - Controllo dell'accesso/4 - Distribuzione di chiavi/revoca certificato web.md", - "public key infrastructure": "8 - Crittografia applicata/4 - Controllo dell'accesso/4 - Distribuzione di chiavi/public key infrastructure.md", "privacy enhanced mail": "8 - Crittografia applicata/4 - Controllo dell'accesso/4 - Distribuzione di chiavi/privacy enhanced mail.md", + "public key infrastructure": "8 - Crittografia applicata/4 - Controllo dell'accesso/4 - Distribuzione di chiavi/public key infrastructure.md", "periodo di validità": "8 - Crittografia applicata/4 - Controllo dell'accesso/4 - Distribuzione di chiavi/periodo di validità.md", "out-of-band verification": "8 - Crittografia applicata/4 - Controllo dell'accesso/4 - Distribuzione di chiavi/out-of-band verification.md", "online certificate status protocol": "8 - Crittografia applicata/4 - Controllo dell'accesso/4 - Distribuzione di chiavi/online certificate status protocol.md", @@ -595,12 +521,12 @@ "claim": "8 - Crittografia applicata/4 - Controllo dell'accesso/4 - Distribuzione di chiavi/claim.md", "certificato web": "8 - Crittografia applicata/4 - Controllo dell'accesso/4 - Distribuzione di chiavi/certificato web.md", "certification authority": "8 - Crittografia applicata/4 - Controllo dell'accesso/4 - Distribuzione di chiavi/certification authority.md", - "certificate transparency": "8 - Crittografia applicata/4 - Controllo dell'accesso/4 - Distribuzione di chiavi/certificate transparency.md", "certificate sign request": "8 - Crittografia applicata/4 - Controllo dell'accesso/4 - Distribuzione di chiavi/certificate sign request.md", + "certificate transparency": "8 - Crittografia applicata/4 - Controllo dell'accesso/4 - Distribuzione di chiavi/certificate transparency.md", "certificate revocation list": "8 - Crittografia applicata/4 - Controllo dell'accesso/4 - Distribuzione di chiavi/certificate revocation list.md", "audience": "8 - Crittografia applicata/4 - Controllo dell'accesso/4 - Distribuzione di chiavi/audience.md", - "attestato": "8 - Crittografia applicata/4 - Controllo dell'accesso/4 - Distribuzione di chiavi/attestato.md", "abstract syntax notation one": "8 - Crittografia applicata/4 - Controllo dell'accesso/4 - Distribuzione di chiavi/abstract syntax notation one.md", + "attestato": "8 - Crittografia applicata/4 - Controllo dell'accesso/4 - Distribuzione di chiavi/attestato.md", "pkcs7 cryptographic message syntax": "8 - Crittografia applicata/4 - Controllo dell'accesso/4 - Distribuzione di chiavi/PKCS7 Cryptographic message syntax.md", "pkcs12": "8 - Crittografia applicata/4 - Controllo dell'accesso/4 - Distribuzione di chiavi/PKCS12.md", "openpgp web of trust": "8 - Crittografia applicata/4 - Controllo dell'accesso/4 - Distribuzione di chiavi/OpenPGP web of trust.md", @@ -610,24 +536,24 @@ "secure remote password": "8 - Crittografia applicata/4 - Controllo dell'accesso/3 - Autenticazione di identità/secure remote password.md", "password-based authenticated key exchange": "8 - Crittografia applicata/4 - Controllo dell'accesso/3 - Autenticazione di identità/password-based authenticated key exchange.md", "one-time credential": "8 - Crittografia applicata/4 - Controllo dell'accesso/3 - Autenticazione di identità/one-time credential.md", - "oblivious": "8 - Crittografia applicata/4 - Controllo dell'accesso/3 - Autenticazione di identità/oblivious.md", "oblivious pseudo-random function": "8 - Crittografia applicata/4 - Controllo dell'accesso/3 - Autenticazione di identità/oblivious pseudo-random function.md", + "oblivious": "8 - Crittografia applicata/4 - Controllo dell'accesso/3 - Autenticazione di identità/oblivious.md", "hash-based one-time password": "8 - Crittografia applicata/4 - Controllo dell'accesso/3 - Autenticazione di identità/hash-based one-time password.md", "digest authentication": "8 - Crittografia applicata/4 - Controllo dell'accesso/3 - Autenticazione di identità/digest authentication.md", - "channel binding": "8 - Crittografia applicata/4 - Controllo dell'accesso/3 - Autenticazione di identità/channel binding.md", "challenge-response": "8 - Crittografia applicata/4 - Controllo dell'accesso/3 - Autenticazione di identità/challenge-response.md", - "challenge-response based on time": "8 - Crittografia applicata/4 - Controllo dell'accesso/3 - Autenticazione di identità/challenge-response based on time.md", + "channel binding": "8 - Crittografia applicata/4 - Controllo dell'accesso/3 - Autenticazione di identità/channel binding.md", "challenge-response based on public key": "8 - Crittografia applicata/4 - Controllo dell'accesso/3 - Autenticazione di identità/challenge-response based on public key.md", + "challenge-response based on time": "8 - Crittografia applicata/4 - Controllo dell'accesso/3 - Autenticazione di identità/challenge-response based on time.md", "challenge-response based on password": "8 - Crittografia applicata/4 - Controllo dell'accesso/3 - Autenticazione di identità/challenge-response based on password.md", "challenge-response based on common knowledge": "8 - Crittografia applicata/4 - Controllo dell'accesso/3 - Autenticazione di identità/challenge-response based on common knowledge.md", "blinded": "8 - Crittografia applicata/4 - Controllo dell'accesso/3 - Autenticazione di identità/blinded.md", "bearer token": "8 - Crittografia applicata/4 - Controllo dell'accesso/3 - Autenticazione di identità/bearer token.md", "basic authentication": "8 - Crittografia applicata/4 - Controllo dell'accesso/3 - Autenticazione di identità/basic authentication.md", "augmented password-based key exchange": "8 - Crittografia applicata/4 - Controllo dell'accesso/3 - Autenticazione di identità/augmented password-based key exchange.md", - "untitled": "7 - Introduction to quantum information processing/1 - Concetti base/Untitled.md", "scram authentication": "8 - Crittografia applicata/4 - Controllo dell'accesso/3 - Autenticazione di identità/SCRAM authentication.md", - "opaque": "8 - Crittografia applicata/4 - Controllo dell'accesso/3 - Autenticazione di identità/OPAQUE.md", + "untitled": "7 - Introduction to quantum information processing/1 - Concetti base/Untitled.md", "initiative for open authentication": "8 - Crittografia applicata/4 - Controllo dell'accesso/3 - Autenticazione di identità/Initiative for Open Authentication.md", + "opaque": "8 - Crittografia applicata/4 - Controllo dell'accesso/3 - Autenticazione di identità/OPAQUE.md", "scrypt": "8 - Crittografia applicata/4 - Controllo dell'accesso/2 - Protezione dai data breach/scrypt.md", "salt": "8 - Crittografia applicata/4 - Controllo dell'accesso/2 - Protezione dai data breach/salt.md", "rainbow table": "8 - Crittografia applicata/4 - Controllo dell'accesso/2 - Protezione dai data breach/rainbow table.md", @@ -643,49 +569,131 @@ "attacco interattivo": "8 - Crittografia applicata/4 - Controllo dell'accesso/2 - Protezione dai data breach/attacco interattivo.md", "attacco di pre-computazione": "8 - Crittografia applicata/4 - Controllo dell'accesso/2 - Protezione dai data breach/attacco di pre-computazione.md", "archiviazione delle credenziali": "8 - Crittografia applicata/4 - Controllo dell'accesso/2 - Protezione dai data breach/archiviazione delle credenziali.md", - "pbkdf2": "8 - Crittografia applicata/4 - Controllo dell'accesso/2 - Protezione dai data breach/PBKDF2.md", "pbkdf1": "8 - Crittografia applicata/4 - Controllo dell'accesso/2 - Protezione dai data breach/PBKDF1.md", + "pbkdf2": "8 - Crittografia applicata/4 - Controllo dell'accesso/2 - Protezione dai data breach/PBKDF2.md", "argon2": "8 - Crittografia applicata/4 - Controllo dell'accesso/2 - Protezione dai data breach/Argon2.md", "utente": "8 - Crittografia applicata/4 - Controllo dell'accesso/1 - Modello/utente.md", "user agent": "8 - Crittografia applicata/4 - Controllo dell'accesso/1 - Modello/user agent.md", - "servizio di autenticazione": "8 - Crittografia applicata/4 - Controllo dell'accesso/1 - Modello/servizio di autenticazione.md", "identificazione": "8 - Crittografia applicata/4 - Controllo dell'accesso/1 - Modello/identificazione.md", - "database delle credenziali": "8 - Crittografia applicata/4 - Controllo dell'accesso/1 - Modello/database delle credenziali.md", + "servizio di autenticazione": "8 - Crittografia applicata/4 - Controllo dell'accesso/1 - Modello/servizio di autenticazione.md", "credenziale": "8 - Crittografia applicata/4 - Controllo dell'accesso/1 - Modello/credenziale.md", - "autorizzazione di utente": "8 - Crittografia applicata/4 - Controllo dell'accesso/1 - Modello/autorizzazione di utente.md", + "database delle credenziali": "8 - Crittografia applicata/4 - Controllo dell'accesso/1 - Modello/database delle credenziali.md", "autenticazione di identità": "8 - Crittografia applicata/4 - Controllo dell'accesso/1 - Modello/autenticazione di identità.md", + "autorizzazione di utente": "8 - Crittografia applicata/4 - Controllo dell'accesso/1 - Modello/autorizzazione di utente.md", "access control model": "8 - Crittografia applicata/4 - Controllo dell'accesso/1 - Modello/access control model.md", "access control list": "8 - Crittografia applicata/4 - Controllo dell'accesso/1 - Modello/access control list.md", + "weak existential unforgeability": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/6 - Falsificazione di firme/weak existential unforgeability.md", + "weak existential message forgery": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/6 - Falsificazione di firme/weak existential message forgery.md", + "strong existential message forgery": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/6 - Falsificazione di firme/strong existential message forgery.md", + "strong existential unforgeability": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/6 - Falsificazione di firme/strong existential unforgeability.md", + "selective message forgery": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/6 - Falsificazione di firme/selective message forgery.md", + "any message forgery": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/6 - Falsificazione di firme/any message forgery.md", + "random-message attacker": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/6 - Falsificazione di firme/random-message attacker.md", + "contesto di firma digitale": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/6 - Falsificazione di firme/contesto di firma digitale.md", + "chosen-message attacker": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/6 - Falsificazione di firme/chosen-message attacker.md", + "no-message attacker": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/6 - Falsificazione di firme/no-message attacker.md", + "known-message attacker": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/6 - Falsificazione di firme/known-message attacker.md", + "adaptively-chosen-message attacker": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/6 - Falsificazione di firme/adaptively-chosen-message attacker.md", + "witness": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/witness.md", + "zero-knowledge proof": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/zero-knowledge proof.md", + "trasformazione di fiat-shamir": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/trasformazione di Fiat-Shamir.md", + "transcript": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/transcript.md", + "signature scheme": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/signature scheme.md", + "signature forgery": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/signature forgery.md", + "protocollo di identificazione di schnorr interattivo": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/protocollo di identificazione di Schnorr interattivo.md", + "protocollo di identificazione di schnorr non-interattivo": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/protocollo di identificazione di Schnorr non-interattivo.md", + "problema di firma digitale": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/problema di firma digitale.md", + "probabilistic signature scheme": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/probabilistic signature scheme.md", + "firma digitale": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/firma digitale.md", + "elliptic curve digital signature algorithm": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/elliptic curve digital signature algorithm.md", + "full domain hash": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/full domain hash.md", + "fiducia": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/fiducia.md", + "digital signature algorithm": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/digital signature algorithm.md", + "schnorr deterministic signature scheme": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/Schnorr deterministic signature scheme.md", + "schnorr signature scheme": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/Schnorr signature scheme.md", + "pkcs1 v21": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/PKCS1 v21.md", + "edwards-curve digital signature algorithm": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/Edwards-curve digital signature algorithm.md", + "congettura della fattorizzazione": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/congettura della fattorizzazione.md", + "pkcs1 v15": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/PKCS1 v15.md", + "trapdoor one-way function": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/trapdoor one-way function.md", + "textbook rsa": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/textbook RSA.md", + "scambio di chiave simmetrica basato sull'incapsulamento": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/scambio di chiave simmetrica basato sull'incapsulamento.md", + "problema rsa": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/problema RSA.md", + "million message attack": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/million message attack.md", + "mask generation function": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/mask generation function.md", + "key encapsulation": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/key encapsulation.md", + "integrated encryption scheme": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/integrated encryption scheme.md", + "elliptic curve integrated encryption scheme": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/elliptic curve integrated encryption scheme.md", + "funzione toziente": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/funzione toziente.md", + "crittografia asimmetrica": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/crittografia asimmetrica.md", + "crittografia ibrida": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/crittografia ibrida.md", + "rsa": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/RSA.md", + "pkcs1 v20": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/PKCS1 v20.md", + "scambio di chiave": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/scambio di chiave.md", + "scambio di chiave basato su diffie-hellman": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/scambio di chiave basato su Diffie-Hellman.md", + "scambio di chiave mutualmente autenticato": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/scambio di chiave mutualmente autenticato.md", + "scambio di chiave autenticato": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/scambio di chiave autenticato.md", + "scambio di chiave autenticato lato server": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/scambio di chiave autenticato lato server.md", + "scambio di chiave diffie-hellman": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/scambio di chiave Diffie-Hellman.md", + "scambio di chiave autenticato basato su diffie-hellman": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/scambio di chiave autenticato basato su Diffie-Hellman.md", + "scambio di chiave diffie-hellman su curva ellittica": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/scambio di chiave Diffie-Hellman su curva ellittica.md", + "one-way function": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/one-way function.md", + "logaritmo discreto su gruppi ciclici primi sugli interi": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/logaritmo discreto su gruppi ciclici primi sugli interi.md", + "numero primo sicuro": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/numero primo sicuro.md", + "logaritmo discreto su curva ellittica": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/logaritmo discreto su curva ellittica.md", + "key generation algorithm": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/key generation algorithm.md", + "coppia di chiavi": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/coppia di chiavi.md", + "congettura diffie-hellman": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/congettura Diffie-Hellman.md", + "congettura diffie-hellman computazionale": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/congettura Diffie-Hellman computazionale.md", + "congettura diffie-hellman decisionale": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/congettura Diffie-Hellman decisionale.md", + "congettura diffie-hellman classica": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/congettura Diffie-Hellman classica.md", + "chiave pubblica": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/chiave pubblica.md", + "chiave privata": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/chiave privata.md", + "attacco del sottogruppo debole": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/attacco del sottogruppo debole.md", + "attacco del punto non valido": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/attacco del punto non valido.md", + "sep256k1": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/Sep256k1.md", + "p-521": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/P-521.md", + "p-256": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/P-256.md", + "curve25519": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/Curve25519.md", + "curve448": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/Curve448.md", + "somma di punti su curve ellittiche": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/2 - Teoria delle curve ellittiche/somma di punti su curve ellittiche.md", + "punto a infinito nelle curve ellittiche": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/2 - Teoria delle curve ellittiche/punto a infinito nelle curve ellittiche.md", + "curva ellittica": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/2 - Teoria delle curve ellittiche/curva ellittica.md", + "gruppo ciclico su curva ellittica": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/2 - Teoria delle curve ellittiche/gruppo ciclico su curva ellittica.md", + "equazione di weierstrass": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/2 - Teoria delle curve ellittiche/equazione di Weierstrass.md", + "sottogruppo": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/1 - Teoria dei gruppi/sottogruppo.md", + "ordine di un gruppo": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/1 - Teoria dei gruppi/ordine di un gruppo.md", + "gruppo moltiplicativo": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/1 - Teoria dei gruppi/gruppo moltiplicativo.md", + "gruppo": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/1 - Teoria dei gruppi/gruppo.md", + "gruppo finito": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/1 - Teoria dei gruppi/gruppo finito.md", + "gruppo infinito": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/1 - Teoria dei gruppi/gruppo infinito.md", + "gruppo di galois": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/1 - Teoria dei gruppi/gruppo di Galois.md", + "gruppo ciclico": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/1 - Teoria dei gruppi/gruppo ciclico.md", + "gruppo ciclico di modulo primo": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/1 - Teoria dei gruppi/gruppo ciclico di modulo primo.md", + "gruppo additivo": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/1 - Teoria dei gruppi/gruppo additivo.md", + "generatore di un gruppo ciclico": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/1 - Teoria dei gruppi/generatore di un gruppo ciclico.md", "struttura dati autenticata": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/5 - Strutture dati particolari/struttura dati autenticata.md", "partial disclosure": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/5 - Strutture dati particolari/partial disclosure.md", "merkle hash tree": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/5 - Strutture dati particolari/merkle hash tree.md", "format-preserving encryption": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/5 - Strutture dati particolari/format-preserving encryption.md", - "pseudo-random key": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/4 - Derivazione di chiave/pseudo-random key.md", - "key derivation": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/4 - Derivazione di chiave/key derivation.md", - "key derivation function": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/4 - Derivazione di chiave/key derivation function.md", - "input key material": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/4 - Derivazione di chiave/input key material.md", - "extraction di una key derivation function": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/4 - Derivazione di chiave/extraction di una key derivation function.md", - "expansion di una key derivation function": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/4 - Derivazione di chiave/expansion di una key derivation function.md", - "contestualizzazione di una key derivation function": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/4 - Derivazione di chiave/contestualizzazione di una key derivation function.md", - "chiave derivata": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/4 - Derivazione di chiave/chiave derivata.md", - "aggiunta di entropia in una key derivation function": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/4 - Derivazione di chiave/aggiunta di entropia in una key derivation function.md", - "hkdf": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/4 - Derivazione di chiave/HKDF.md", - "hkdf-extract": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/4 - Derivazione di chiave/HKDF-Extract.md", - "hkdf-expand": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/4 - Derivazione di chiave/HKDF-Expand.md", - "funzione contestualizzata": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/3 - Contestualizzazione ed estendibilità/funzione contestualizzata.md", - "extendible output function": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/3 - Contestualizzazione ed estendibilità/extendible output function.md", "cshake": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/3 - Contestualizzazione ed estendibilità/cSHAKE.md", + "extendible output function": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/3 - Contestualizzazione ed estendibilità/extendible output function.md", + "funzione contestualizzata": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/3 - Contestualizzazione ed estendibilità/funzione contestualizzata.md", "tuplehash": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/3 - Contestualizzazione ed estendibilità/TupleHash.md", - "parallelhash": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/3 - Contestualizzazione ed estendibilità/ParallelHash.md", "keccak message authentication code": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/3 - Contestualizzazione ed estendibilità/Keccak message authentication code.md", - "operation framework": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/2 - Operation framework/operation framework.md", - "operation framework probabilistico": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/2 - Operation framework/operation framework probabilistico.md", - "operation framework probabilistico per la crittografia simmetrica": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/2 - Operation framework/operation framework probabilistico per la crittografia simmetrica.md", - "operation framework deterministico": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/2 - Operation framework/operation framework deterministico.md", - "operation framework deterministico per crittografia simmetrica a flusso con nonce": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/2 - Operation framework/operation framework deterministico per crittografia simmetrica a flusso con nonce.md", - "operation framework deterministico per crittografia simmetrica a blocchi con initialization vector": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/2 - Operation framework/operation framework deterministico per crittografia simmetrica a blocchi con initialization vector.md", - "deterministic authenticated encryption with associated data": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/2 - Operation framework/deterministic authenticated encryption with associated data.md", - "authenticated encryption with associated data": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/2 - Operation framework/authenticated encryption with associated data.md", + "parallelhash": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/3 - Contestualizzazione ed estendibilità/ParallelHash.md", + "pseudo-random key": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/4 - Derivazione di chiave/pseudo-random key.md", + "key derivation function": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/4 - Derivazione di chiave/key derivation function.md", + "key derivation": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/4 - Derivazione di chiave/key derivation.md", + "input key material": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/4 - Derivazione di chiave/input key material.md", + "expansion di una key derivation function": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/4 - Derivazione di chiave/expansion di una key derivation function.md", + "extraction di una key derivation function": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/4 - Derivazione di chiave/extraction di una key derivation function.md", + "aggiunta di entropia in una key derivation function": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/4 - Derivazione di chiave/aggiunta di entropia in una key derivation function.md", + "chiave derivata": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/4 - Derivazione di chiave/chiave derivata.md", + "contestualizzazione di una key derivation function": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/4 - Derivazione di chiave/contestualizzazione di una key derivation function.md", + "hkdf-extract": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/4 - Derivazione di chiave/HKDF-Extract.md", + "hkdf": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/4 - Derivazione di chiave/HKDF.md", + "hkdf-expand": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/4 - Derivazione di chiave/HKDF-Expand.md", "wide-block encryption": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/1 - Indistinguibilità su disco/wide-block encryption.md", "tweakable operation mode di un cifrario a blocchi": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/1 - Indistinguibilità su disco/tweakable operation mode di un cifrario a blocchi.md", "tweak": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/1 - Indistinguibilità su disco/tweak.md", @@ -698,15 +706,23 @@ "xor-encrypt-xor operation mode": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/1 - Indistinguibilità su disco/XOR-encrypt-XOR operation mode.canvas", "hctr2": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/1 - Indistinguibilità su disco/HCTR2.md", "adiantum": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/1 - Indistinguibilità su disco/Adiantum.md", - "operation mode autenticato di un cifrario a blocchi": "8 - Crittografia applicata/2 - Comunicazione simmetrica/6 - Indistinguibilità autenticata/operation mode autenticato di un cifrario a blocchi.md", + "operation framework": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/2 - Operation framework/operation framework.md", + "operation framework probabilistico": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/2 - Operation framework/operation framework probabilistico.md", + "operation framework probabilistico per la crittografia simmetrica": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/2 - Operation framework/operation framework probabilistico per la crittografia simmetrica.md", + "operation framework deterministico": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/2 - Operation framework/operation framework deterministico.md", + "operation framework deterministico per crittografia simmetrica a flusso con nonce": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/2 - Operation framework/operation framework deterministico per crittografia simmetrica a flusso con nonce.md", + "operation framework deterministico per crittografia simmetrica a blocchi con initialization vector": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/2 - Operation framework/operation framework deterministico per crittografia simmetrica a blocchi con initialization vector.md", + "deterministic authenticated encryption with associated data": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/2 - Operation framework/deterministic authenticated encryption with associated data.md", + "authenticated encryption with associated data": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/2 - Operation framework/authenticated encryption with associated data.md", "generic composition": "8 - Crittografia applicata/2 - Comunicazione simmetrica/6 - Indistinguibilità autenticata/generic composition.md", - "encrypt-then-mac": "8 - Crittografia applicata/2 - Comunicazione simmetrica/6 - Indistinguibilità autenticata/encrypt-then-MAC.md", + "operation mode autenticato di un cifrario a blocchi": "8 - Crittografia applicata/2 - Comunicazione simmetrica/6 - Indistinguibilità autenticata/operation mode autenticato di un cifrario a blocchi.md", "encrypt-and-mac": "8 - Crittografia applicata/2 - Comunicazione simmetrica/6 - Indistinguibilità autenticata/encrypt-and-MAC.md", - "crittografia simmetrica autenticata": "8 - Crittografia applicata/2 - Comunicazione simmetrica/6 - Indistinguibilità autenticata/crittografia simmetrica autenticata.md", + "encrypt-then-mac": "8 - Crittografia applicata/2 - Comunicazione simmetrica/6 - Indistinguibilità autenticata/encrypt-then-MAC.md", "counter with cipher block chaining message authentication code": "8 - Crittografia applicata/2 - Comunicazione simmetrica/6 - Indistinguibilità autenticata/counter with cipher block chaining message authentication code.md", + "crittografia simmetrica autenticata": "8 - Crittografia applicata/2 - Comunicazione simmetrica/6 - Indistinguibilità autenticata/crittografia simmetrica autenticata.md", "mac-then-encrypt": "8 - Crittografia applicata/2 - Comunicazione simmetrica/6 - Indistinguibilità autenticata/MAC-then-encrypt.md", - "galois-counter mode": "8 - Crittografia applicata/2 - Comunicazione simmetrica/6 - Indistinguibilità autenticata/Galois-Counter mode.md", "chacha20-poly1305": "8 - Crittografia applicata/2 - Comunicazione simmetrica/6 - Indistinguibilità autenticata/Chacha20-Poly1305.md", + "galois-counter mode": "8 - Crittografia applicata/2 - Comunicazione simmetrica/6 - Indistinguibilità autenticata/Galois-Counter mode.md", "replay attack": "8 - Crittografia applicata/2 - Comunicazione simmetrica/5 - Autenticazione/replay attack.md", "reflection attack": "8 - Crittografia applicata/2 - Comunicazione simmetrica/5 - Autenticazione/reflection attack.md", "message authentication code": "8 - Crittografia applicata/2 - Comunicazione simmetrica/5 - Autenticazione/message authentication code.md", @@ -719,24 +735,24 @@ "cmac": "8 - Crittografia applicata/2 - Comunicazione simmetrica/5 - Autenticazione/CMAC.md", "cbc-mac": "8 - Crittografia applicata/2 - Comunicazione simmetrica/5 - Autenticazione/CBC-MAC.canvas", "verifica crittografica dell'integrità": "8 - Crittografia applicata/2 - Comunicazione simmetrica/4 - Integrità crittografica/verifica crittografica dell'integrità.md", - "second pre-image collision": "8 - Crittografia applicata/2 - Comunicazione simmetrica/4 - Integrità crittografica/second pre-image collision.md", "second pre-image collision experiment": "8 - Crittografia applicata/2 - Comunicazione simmetrica/4 - Integrità crittografica/second pre-image collision experiment.md", - "length extension attack": "8 - Crittografia applicata/2 - Comunicazione simmetrica/4 - Integrità crittografica/length extension attack.md", + "second pre-image collision": "8 - Crittografia applicata/2 - Comunicazione simmetrica/4 - Integrità crittografica/second pre-image collision.md", "hashing con più input": "8 - Crittografia applicata/2 - Comunicazione simmetrica/4 - Integrità crittografica/hashing con più input.md", - "funzione di hashing crittografico": "8 - Crittografia applicata/2 - Comunicazione simmetrica/4 - Integrità crittografica/funzione di hashing crittografico.md", + "length extension attack": "8 - Crittografia applicata/2 - Comunicazione simmetrica/4 - Integrità crittografica/length extension attack.md", "first pre-image collision": "8 - Crittografia applicata/2 - Comunicazione simmetrica/4 - Integrità crittografica/first pre-image collision.md", + "funzione di hashing crittografico": "8 - Crittografia applicata/2 - Comunicazione simmetrica/4 - Integrità crittografica/funzione di hashing crittografico.md", "first pre-image collision experiment": "8 - Crittografia applicata/2 - Comunicazione simmetrica/4 - Integrità crittografica/first pre-image collision experiment.md", "collision": "8 - Crittografia applicata/2 - Comunicazione simmetrica/4 - Integrità crittografica/collision.md", - "collision experiment": "8 - Crittografia applicata/2 - Comunicazione simmetrica/4 - Integrità crittografica/collision experiment.md", "attacco del compleanno": "8 - Crittografia applicata/2 - Comunicazione simmetrica/4 - Integrità crittografica/attacco del compleanno.md", - "shattered": "8 - Crittografia applicata/2 - Comunicazione simmetrica/4 - Integrità crittografica/SHAttered.md", + "collision experiment": "8 - Crittografia applicata/2 - Comunicazione simmetrica/4 - Integrità crittografica/collision experiment.md", "sha512": "8 - Crittografia applicata/2 - Comunicazione simmetrica/4 - Integrità crittografica/SHA512.md", + "shattered": "8 - Crittografia applicata/2 - Comunicazione simmetrica/4 - Integrità crittografica/SHAttered.md", "sha384": "8 - Crittografia applicata/2 - Comunicazione simmetrica/4 - Integrità crittografica/SHA384.md", "sha3": "8 - Crittografia applicata/2 - Comunicazione simmetrica/4 - Integrità crittografica/SHA3.md", "sha3-512": "8 - Crittografia applicata/2 - Comunicazione simmetrica/4 - Integrità crittografica/SHA3-512.md", "sha3-384": "8 - Crittografia applicata/2 - Comunicazione simmetrica/4 - Integrità crittografica/SHA3-384.md", - "sha3-256": "8 - Crittografia applicata/2 - Comunicazione simmetrica/4 - Integrità crittografica/SHA3-256.md", "sha3-224": "8 - Crittografia applicata/2 - Comunicazione simmetrica/4 - Integrità crittografica/SHA3-224.md", + "sha3-256": "8 - Crittografia applicata/2 - Comunicazione simmetrica/4 - Integrità crittografica/SHA3-256.md", "sha256": "8 - Crittografia applicata/2 - Comunicazione simmetrica/4 - Integrità crittografica/SHA256.md", "sha224": "8 - Crittografia applicata/2 - Comunicazione simmetrica/4 - Integrità crittografica/SHA224.md", "sha2": "8 - Crittografia applicata/2 - Comunicazione simmetrica/4 - Integrità crittografica/SHA2.md", @@ -746,8 +762,8 @@ "hash": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Integrità semplice/hash.md", "funzione di hashing": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Integrità semplice/funzione di hashing.md", "cyclic redundancy check": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Integrità semplice/cyclic redundancy check.md", - "checksum": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Integrità semplice/checksum.md", "bit di parità": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Integrità semplice/bit di parità.md", + "checksum": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Integrità semplice/checksum.md", "uniforme": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/uniforme.md", "synthetic initialization vector": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/synthetic initialization vector.md", "synthetic initialization vector operation mode": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/synthetic initialization vector operation mode.canvas", @@ -755,36 +771,36 @@ "riutilizzo di chiavi": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/riutilizzo di chiavi.md", "riutilizzo di chiavi nell'one-time pad": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/riutilizzo di chiavi nell'one-time pad.md", "re-keying": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/re-keying.md", - "rc": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/rc.md", "random permutation": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/random permutation.md", + "rc": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/rc.md", "principi di kerckhoffs": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/principi di Kerckhoffs.md", "padding": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/padding.md", - "padding oracle attack": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/padding oracle attack.md", "output feedback operation mode": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/output feedback operation mode.canvas", + "padding oracle attack": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/padding oracle attack.md", "operation mode di un cifrario a blocchi": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/operation mode di un cifrario a blocchi.md", "one-time pad": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/one-time pad.md", "nonce": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/nonce.md", - "nonce → initialization vector": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/nonce → initialization vector.md", "non-uniforme": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/non-uniforme.md", + "nonce → initialization vector": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/nonce → initialization vector.md", "manipolazione dell'initialization vector": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/manipolazione dell'initialization vector.md", "malleabilità": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/malleabilità.md", - "malleabilità dell'one-time pad": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/malleabilità dell'one-time pad.md", "malleabilità dei cifrari a flusso": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/malleabilità dei cifrari a flusso.md", + "malleabilità dell'one-time pad": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/malleabilità dell'one-time pad.md", "limite di dati cifrabili": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/limite di dati cifrabili.md", "keystream": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/keystream.md", "keyed family of pseudo-random permutations": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/keyed family of pseudo-random permutations.md", "key recovery": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/key recovery.md", - "initialization vector": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/initialization vector.md", "famiglia di funzioni pseudo-casuali": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/famiglia di funzioni pseudo-casuali.md", + "initialization vector": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/initialization vector.md", "esperimento ind-dcpa": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/esperimento IND-DCPA.md", "esperimento ind-cpa": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/esperimento IND-CPA.md", "esperimento ind-coa": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/esperimento IND-COA.md", "electronic codebook operation mode": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/electronic codebook operation mode.canvas", "distinguibilità degli errori di padding": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/distinguibilità degli errori di padding.md", - "deterministic pseudo-random bitstring generator": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/deterministic pseudo-random bitstring generator.md", "determinismo dell'initialization vector": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/determinismo dell'initialization vector.md", - "crittografia simmetrica moderna": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/crittografia simmetrica moderna.md", + "deterministic pseudo-random bitstring generator": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/deterministic pseudo-random bitstring generator.md", "counter operation mode": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/counter operation mode.canvas", + "crittografia simmetrica moderna": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/crittografia simmetrica moderna.md", "cipher feedback operation mode": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/cipher feedback operation mode.canvas", "cipher block chaining operation mode": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/cipher block chaining operation mode.canvas", "cifrario a flusso": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/cifrario a flusso.md", @@ -792,14 +808,14 @@ "chiave simmetrica": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/chiave simmetrica.md", "bruteforce": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/bruteforce.md", "blocco": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/blocco.md", - "attacco contro initialization vector prevedibili": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/attacco contro initialization vector prevedibili.md", - "xor": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/XOR.md", "xchacha20": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/XChaCha20.md", + "attacco contro initialization vector prevedibili": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/attacco contro initialization vector prevedibili.md", "pkcs7": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/PKCS7.md", + "xor": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/XOR.md", "efail": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/EFAIL.md", "des": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/DES.md", - "chacha20": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/ChaCha20.md", "aes": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/AES.md", + "chacha20": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/ChaCha20.md", "a51": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/A51.md", "3des": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/3DES.md", "crittografia classica": "8 - Crittografia applicata/2 - Comunicazione simmetrica/2 - Confidenzialità/crittografia classica.md", @@ -824,26 +840,27 @@ "blob": "8 - Crittografia applicata/2 - Comunicazione simmetrica/1 - Modello/blob.md", "autenticità": "8 - Crittografia applicata/2 - Comunicazione simmetrica/1 - Modello/autenticità.md", "adaptive chosen-ciphertext attacker": "8 - Crittografia applicata/2 - Comunicazione simmetrica/1 - Modello/adaptive chosen-ciphertext attacker.md", - "update dello stato di un pseudo-random number generator": "8 - Crittografia applicata/1 - Concetti/3 - Casualità ed entropia/update dello stato di un pseudo-random number generator.md", - "true random number generator": "8 - Crittografia applicata/1 - Concetti/3 - Casualità ed entropia/true random number generator.md", - "stato di un pseudo-random number generator": "8 - Crittografia applicata/1 - Concetti/3 - Casualità ed entropia/stato di un pseudo-random number generator.md", - "sorgente di rumore": "8 - Crittografia applicata/1 - Concetti/3 - Casualità ed entropia/sorgente di rumore.md", - "random fork": "8 - Crittografia applicata/1 - Concetti/3 - Casualità ed entropia/random fork.md", + "casualità crittografica": "8 - Crittografia applicata/1 - Concetti/3 - Casualità ed entropia/casualità crittografica.md", "random clone": "8 - Crittografia applicata/1 - Concetti/3 - Casualità ed entropia/random clone.md", + "update dello stato di un pseudo-random number generator": "8 - Crittografia applicata/1 - Concetti/3 - Casualità ed entropia/update dello stato di un pseudo-random number generator.md", + "stato di un pseudo-random number generator": "8 - Crittografia applicata/1 - Concetti/3 - Casualità ed entropia/stato di un pseudo-random number generator.md", + "true random number generator": "8 - Crittografia applicata/1 - Concetti/3 - Casualità ed entropia/true random number generator.md", + "random fork": "8 - Crittografia applicata/1 - Concetti/3 - Casualità ed entropia/random fork.md", + "sorgente di rumore": "8 - Crittografia applicata/1 - Concetti/3 - Casualità ed entropia/sorgente di rumore.md", + "hardware random number generator": "8 - Crittografia applicata/1 - Concetti/3 - Casualità ed entropia/hardware random number generator.md", + "dev-urandom": "8 - Crittografia applicata/1 - Concetti/3 - Casualità ed entropia/dev-urandom.md", "pseudo-random number generator": "8 - Crittografia applicata/1 - Concetti/3 - Casualità ed entropia/pseudo-random number generator.md", "mixing": "8 - Crittografia applicata/1 - Concetti/3 - Casualità ed entropia/mixing.md", "imprevedibilità": "8 - Crittografia applicata/1 - Concetti/3 - Casualità ed entropia/imprevedibilità.md", - "hardware random number generator": "8 - Crittografia applicata/1 - Concetti/3 - Casualità ed entropia/hardware random number generator.md", + "entropy pool": "8 - Crittografia applicata/1 - Concetti/3 - Casualità ed entropia/entropy pool.md", "generatore": "8 - Crittografia applicata/1 - Concetti/3 - Casualità ed entropia/generatore.md", "forward secrecy": "8 - Crittografia applicata/1 - Concetti/3 - Casualità ed entropia/forward secrecy.md", "flusso": "8 - Crittografia applicata/1 - Concetti/3 - Casualità ed entropia/flusso.md", - "entropy pool": "8 - Crittografia applicata/1 - Concetti/3 - Casualità ed entropia/entropy pool.md", + "dev-random": "8 - Crittografia applicata/1 - Concetti/3 - Casualità ed entropia/dev-random.md", "entropia": "8 - Crittografia applicata/1 - Concetti/3 - Casualità ed entropia/entropia.md", "distribuzione uniforme": "8 - Crittografia applicata/1 - Concetti/3 - Casualità ed entropia/distribuzione uniforme.md", - "dev-urandom": "8 - Crittografia applicata/1 - Concetti/3 - Casualità ed entropia/dev-urandom.md", - "dev-random": "8 - Crittografia applicata/1 - Concetti/3 - Casualità ed entropia/dev-random.md", - "casualità crittografica": "8 - Crittografia applicata/1 - Concetti/3 - Casualità ed entropia/casualità crittografica.md", "backward secrecy": "8 - Crittografia applicata/1 - Concetti/3 - Casualità ed entropia/backward secrecy.md", + "mitigazione": "8 - Crittografia applicata/1 - Concetti/2 - Dimostrare la validità delle soluzioni/mitigazione.md", "violazione": "8 - Crittografia applicata/1 - Concetti/2 - Dimostrare la validità delle soluzioni/violazione.md", "utilizzo": "8 - Crittografia applicata/1 - Concetti/2 - Dimostrare la validità delle soluzioni/utilizzo.md", "squadra": "8 - Crittografia applicata/1 - Concetti/2 - Dimostrare la validità delle soluzioni/squadra.md", @@ -851,7 +868,6 @@ "squadra blu": "8 - Crittografia applicata/1 - Concetti/2 - Dimostrare la validità delle soluzioni/squadra blu.md", "sfidante": "8 - Crittografia applicata/1 - Concetti/2 - Dimostrare la validità delle soluzioni/sfidante.md", "risorsa": "8 - Crittografia applicata/1 - Concetti/2 - Dimostrare la validità delle soluzioni/risorsa.md", - "mitigazione": "8 - Crittografia applicata/1 - Concetti/2 - Dimostrare la validità delle soluzioni/mitigazione.md", "livello di sicurezza": "8 - Crittografia applicata/1 - Concetti/2 - Dimostrare la validità delle soluzioni/livello di sicurezza.md", "garanzia perfetta": "8 - Crittografia applicata/1 - Concetti/2 - Dimostrare la validità delle soluzioni/garanzia perfetta.md", "garanzia computazionale": "8 - Crittografia applicata/1 - Concetti/2 - Dimostrare la validità delle soluzioni/garanzia computazionale.md", @@ -861,8 +877,8 @@ "crittoanalisi": "8 - Crittografia applicata/1 - Concetti/2 - Dimostrare la validità delle soluzioni/crittoanalisi.md", "costo": "8 - Crittografia applicata/1 - Concetti/2 - Dimostrare la validità delle soluzioni/costo.md", "avversario": "8 - Crittografia applicata/1 - Concetti/2 - Dimostrare la validità delle soluzioni/avversario.md", - "attacco": "8 - Crittografia applicata/1 - Concetti/2 - Dimostrare la validità delle soluzioni/attacco.md", "agente": "8 - Crittografia applicata/1 - Concetti/2 - Dimostrare la validità delle soluzioni/agente.md", + "attacco": "8 - Crittografia applicata/1 - Concetti/2 - Dimostrare la validità delle soluzioni/attacco.md", "vincolo": "8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/vincolo.md", "risultato": "8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/risultato.md", "protocollo": "8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/protocollo.md", @@ -870,29 +886,32 @@ "problema": "8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/problema.md", "primitiva": "8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/primitiva.md", "interfaccia": "8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/interfaccia.md", - "garanzia": "8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/garanzia.md", "funzione": "8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/funzione.md", + "garanzia": "8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/garanzia.md", "funzione ideale": "8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/funzione ideale.md", "dominio": "8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/dominio.md", "contesto": "8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/contesto.md", - "stato base di un qbit": "7 - Introduction to quantum information processing/1 - Concetti base/stato base di un qbit.md", + "★ introduction to quantum information processing": "7 - Introduction to quantum information processing/★ introduction to quantum information processing.md", "qbit": "7 - Introduction to quantum information processing/1 - Concetti base/qbit.md", + "stato base di un qbit": "7 - Introduction to quantum information processing/1 - Concetti base/stato base di un qbit.md", "prodotto tensoriale": "7 - Introduction to quantum information processing/1 - Concetti base/prodotto tensoriale.md", "ket": "7 - Introduction to quantum information processing/1 - Concetti base/ket.md", "bit": "7 - Introduction to quantum information processing/1 - Concetti base/bit.md", - "★ introduction to quantum information processing": "7 - Introduction to quantum information processing/★ introduction to quantum information processing.md", - "★ high performance computing": "7 - High performance computing/★ high performance computing.md", "glossario": "7 - High performance computing/glossario.md", + "★ high performance computing": "7 - High performance computing/★ high performance computing.md", "★ big data analytics": "7 - Big data analytics/★ big data analytics.md", "◍ problema distribuito": "0 - Template/◍ problema distribuito.md", "◍ algoritmo distribuito": "0 - Template/◍ algoritmo distribuito.md", - "grafo aciclico": "0 - Generale/grafo aciclico.md", - "albero": "0 - Generale/albero.md", "lista": "0 - Generale/lista.md", + "indicizzazione a 0": "0 - Generale/indicizzazione a 0.md", + "indicizzazione a 1": "0 - Generale/indicizzazione a 1.md", "insieme": "0 - Generale/insieme.md", - "cardinalità di un insieme": "0 - Generale/cardinalità di un insieme.md", + "anello": "0 - Generale/anello.md", "back edge": "0 - Generale/back edge.md", - "anello": "0 - Generale/anello.md" + "hash table": "0 - Generale/hash table.md", + "grafo aciclico": "0 - Generale/grafo aciclico.md", + "cardinalità di un insieme": "0 - Generale/cardinalità di un insieme.md", + "albero": "0 - Generale/albero.md" }, "paths": [ "0 - Generale/albero.md", @@ -900,6 +919,9 @@ "0 - Generale/back edge.md", "0 - Generale/cardinalità di un insieme.md", "0 - Generale/grafo aciclico.md", + "0 - Generale/hash table.md", + "0 - Generale/indicizzazione a 0.md", + "0 - Generale/indicizzazione a 1.md", "0 - Generale/insieme.md", "0 - Generale/lista.md", "0 - Template/◍ algoritmo distribuito.md", @@ -1745,6 +1767,8 @@ "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/costo computazionale distribuito.md", "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/criterio di costo asincrono.md", "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/criterio di costo sincrono.md", + "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/dimensione dei messaggi illimitata.md", + "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/dimensione dei messaggi limitata.md", "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/entity failure detection.md", "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/entità.md", "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/esterno.md", @@ -1765,9 +1789,9 @@ "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/restrizione di topologia.md", "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/restrizioni al modello dei sistemi distribuiti.md", "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/rete di comunicazione.md", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/risveglio parziale.md", + "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/risveglio ignorato.md", + "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/risveglio multiplo.md", "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/risveglio singolo.md", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/risveglio totale.md", "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/ritardo di comunicazione illimitato.md", "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/ritardo di comunicazione limitato.md", "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/ritardo di comunicazione unitario.md", @@ -1809,29 +1833,43 @@ "9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Computazione/★ computazione.canvas", "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/Angluin 1980.md", "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/FloodMax.md", + "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/fully synchronous leader election.md", "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su albero.md", "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello all-the-way.md", "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello as-far-as-it-can.md", "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello controlled-distance.md", "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello di dimensione conosciuta all-the-way.md", + "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello speeding.md", + "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello waiting con inizio non contemporaneo.md", + "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su anello waiting.md", "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election su grafo aciclico.md", "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader election.md", "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/leader.md", "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/★ leader election.canvas", + "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/centralized routing.md", + "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/comunicazione del routing.md", "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/funzione di routing.md", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/min-hop routing.md", + "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/gossiping routing.md", + "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/iterating routing.md", + "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/min-hops routing.md", + "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/pacchetto.md", + "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/principio di ottimalità.md", "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/router.md", "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/routing memory.md", "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/routing table.md", "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/routing.md", - "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/tempo di ricerca.md", + "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/search time.md", "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/★ routing.canvas", + "9 - Algoritmi distribuiti/3 - Computazione distribuita/7 - Guasti/consenso con fallimenti bizantini.md", "9 - Algoritmi distribuiti/3 - Computazione distribuita/7 - Guasti/consenso con fallimenti su grafo completo.md", "9 - Algoritmi distribuiti/3 - Computazione distribuita/7 - Guasti/edge-broadcast-possibility.md", "9 - Algoritmi distribuiti/3 - Computazione distribuita/7 - Guasti/ft-broad-election.md", "9 - Algoritmi distribuiti/3 - Computazione distribuita/7 - Guasti/leader election con fallimenti su grafo completo.md", "9 - Algoritmi distribuiti/3 - Computazione distribuita/7 - Guasti/teorema innominato.md", "9 - Algoritmi distribuiti/3 - Computazione distribuita/7 - Guasti/two steps.md", + "9 - Algoritmi distribuiti/4 - Strutture dati distribuite/distributed hash table.md", + "9 - Algoritmi distribuiti/4 - Strutture dati distribuite/struttura dati distribuita scalabile.md", + "9 - Algoritmi distribuiti/4 - Strutture dati distribuite/struttura dati distribuita.md", "9 - Algoritmi distribuiti/★ algoritmi distribuiti.md", "9 - Cloud and edge computing/★ cloud and edge computing.md", "9 - Fondamenti di machine learning/★ fondamenti di machine learning.md",