mirror of
https://github.com/Steffo99/appunti-magistrali.git
synced 2024-11-21 18:34:18 +00:00
Various updates to things
This commit is contained in:
parent
1a58be76fa
commit
743c08ed68
85 changed files with 2134 additions and 790 deletions
11
.obsidian/appearance.sync-conflict-20231031-092039-UV5KNJL.json
vendored
Normal file
11
.obsidian/appearance.sync-conflict-20231031-092039-UV5KNJL.json
vendored
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"accentColor": "#d14224",
|
||||||
|
"textFontFamily": "",
|
||||||
|
"monospaceFontFamily": "",
|
||||||
|
"theme": "obsidian",
|
||||||
|
"baseFontSize": 16,
|
||||||
|
"enabledCssSnippets": [
|
||||||
|
"canvas-zoom",
|
||||||
|
"canvas-node-placeholder-size"
|
||||||
|
]
|
||||||
|
}
|
11
.obsidian/appearance.sync-conflict-20231031-134338-UV5KNJL.json
vendored
Normal file
11
.obsidian/appearance.sync-conflict-20231031-134338-UV5KNJL.json
vendored
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"accentColor": "#d14224",
|
||||||
|
"textFontFamily": "",
|
||||||
|
"monospaceFontFamily": "",
|
||||||
|
"theme": "obsidian",
|
||||||
|
"baseFontSize": 16,
|
||||||
|
"enabledCssSnippets": [
|
||||||
|
"canvas-zoom",
|
||||||
|
"canvas-node-placeholder-size"
|
||||||
|
]
|
||||||
|
}
|
4
.obsidian/community-plugins.sync-conflict-20231031-092039-UV5KNJL.json
vendored
Normal file
4
.obsidian/community-plugins.sync-conflict-20231031-092039-UV5KNJL.json
vendored
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
[
|
||||||
|
"obsidian-file-color",
|
||||||
|
"steffo-file-index"
|
||||||
|
]
|
2
.obsidian/core-plugins-migration.json
vendored
2
.obsidian/core-plugins-migration.json
vendored
|
@ -11,7 +11,7 @@
|
||||||
"daily-notes": false,
|
"daily-notes": false,
|
||||||
"templates": true,
|
"templates": true,
|
||||||
"note-composer": false,
|
"note-composer": false,
|
||||||
"command-palette": true,
|
"command-palette": false,
|
||||||
"slash-command": false,
|
"slash-command": false,
|
||||||
"editor-status": true,
|
"editor-status": true,
|
||||||
"starred": false,
|
"starred": false,
|
||||||
|
|
31
.obsidian/core-plugins-migration.sync-conflict-20231031-092039-UV5KNJL.json
vendored
Normal file
31
.obsidian/core-plugins-migration.sync-conflict-20231031-092039-UV5KNJL.json
vendored
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
{
|
||||||
|
"file-explorer": true,
|
||||||
|
"global-search": true,
|
||||||
|
"switcher": true,
|
||||||
|
"graph": true,
|
||||||
|
"backlink": true,
|
||||||
|
"canvas": true,
|
||||||
|
"outgoing-link": true,
|
||||||
|
"tag-pane": true,
|
||||||
|
"page-preview": false,
|
||||||
|
"daily-notes": false,
|
||||||
|
"templates": true,
|
||||||
|
"note-composer": false,
|
||||||
|
"command-palette": true,
|
||||||
|
"slash-command": false,
|
||||||
|
"editor-status": true,
|
||||||
|
"starred": false,
|
||||||
|
"markdown-importer": false,
|
||||||
|
"zk-prefixer": false,
|
||||||
|
"random-note": false,
|
||||||
|
"outline": true,
|
||||||
|
"word-count": true,
|
||||||
|
"slides": false,
|
||||||
|
"audio-recorder": false,
|
||||||
|
"workspaces": false,
|
||||||
|
"file-recovery": false,
|
||||||
|
"publish": false,
|
||||||
|
"sync": false,
|
||||||
|
"bookmarks": true,
|
||||||
|
"properties": true
|
||||||
|
}
|
31
.obsidian/core-plugins-migration.sync-conflict-20231031-134339-UV5KNJL.json
vendored
Normal file
31
.obsidian/core-plugins-migration.sync-conflict-20231031-134339-UV5KNJL.json
vendored
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
{
|
||||||
|
"file-explorer": true,
|
||||||
|
"global-search": true,
|
||||||
|
"switcher": true,
|
||||||
|
"graph": true,
|
||||||
|
"backlink": true,
|
||||||
|
"canvas": true,
|
||||||
|
"outgoing-link": true,
|
||||||
|
"tag-pane": true,
|
||||||
|
"page-preview": false,
|
||||||
|
"daily-notes": false,
|
||||||
|
"templates": true,
|
||||||
|
"note-composer": false,
|
||||||
|
"command-palette": true,
|
||||||
|
"slash-command": false,
|
||||||
|
"editor-status": true,
|
||||||
|
"starred": false,
|
||||||
|
"markdown-importer": false,
|
||||||
|
"zk-prefixer": false,
|
||||||
|
"random-note": false,
|
||||||
|
"outline": true,
|
||||||
|
"word-count": true,
|
||||||
|
"slides": false,
|
||||||
|
"audio-recorder": false,
|
||||||
|
"workspaces": false,
|
||||||
|
"file-recovery": false,
|
||||||
|
"publish": false,
|
||||||
|
"sync": false,
|
||||||
|
"bookmarks": true,
|
||||||
|
"properties": true
|
||||||
|
}
|
1
.obsidian/core-plugins.json
vendored
1
.obsidian/core-plugins.json
vendored
|
@ -9,7 +9,6 @@
|
||||||
"tag-pane",
|
"tag-pane",
|
||||||
"properties",
|
"properties",
|
||||||
"templates",
|
"templates",
|
||||||
"command-palette",
|
|
||||||
"editor-status",
|
"editor-status",
|
||||||
"bookmarks",
|
"bookmarks",
|
||||||
"outline",
|
"outline",
|
||||||
|
|
17
.obsidian/core-plugins.sync-conflict-20231031-092039-UV5KNJL.json
vendored
Normal file
17
.obsidian/core-plugins.sync-conflict-20231031-092039-UV5KNJL.json
vendored
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
[
|
||||||
|
"file-explorer",
|
||||||
|
"global-search",
|
||||||
|
"switcher",
|
||||||
|
"graph",
|
||||||
|
"backlink",
|
||||||
|
"canvas",
|
||||||
|
"outgoing-link",
|
||||||
|
"tag-pane",
|
||||||
|
"properties",
|
||||||
|
"templates",
|
||||||
|
"command-palette",
|
||||||
|
"editor-status",
|
||||||
|
"bookmarks",
|
||||||
|
"outline",
|
||||||
|
"word-count"
|
||||||
|
]
|
17
.obsidian/core-plugins.sync-conflict-20231031-134338-UV5KNJL.json
vendored
Normal file
17
.obsidian/core-plugins.sync-conflict-20231031-134338-UV5KNJL.json
vendored
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
[
|
||||||
|
"file-explorer",
|
||||||
|
"global-search",
|
||||||
|
"switcher",
|
||||||
|
"graph",
|
||||||
|
"backlink",
|
||||||
|
"canvas",
|
||||||
|
"outgoing-link",
|
||||||
|
"tag-pane",
|
||||||
|
"properties",
|
||||||
|
"templates",
|
||||||
|
"command-palette",
|
||||||
|
"editor-status",
|
||||||
|
"bookmarks",
|
||||||
|
"outline",
|
||||||
|
"word-count"
|
||||||
|
]
|
80
.obsidian/plugins/obsidian-file-color/data.json
vendored
80
.obsidian/plugins/obsidian-file-color/data.json
vendored
|
@ -274,23 +274,11 @@
|
||||||
"color": "fc3lLaITDn62PYbzBhqxl"
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/flooding broadcast v3.md",
|
"path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing",
|
||||||
"color": "fc3lLaITDn62PYbzBhqxl"
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/flooding broadcast v2.md",
|
"path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election",
|
||||||
"color": "fc3lLaITDn62PYbzBhqxl"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/protocollo shout v1.md",
|
|
||||||
"color": "fc3lLaITDn62PYbzBhqxl"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Routing",
|
|
||||||
"color": "fc3lLaITDn62PYbzBhqxl"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Leader election",
|
|
||||||
"color": "fc3lLaITDn62PYbzBhqxl"
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -298,19 +286,15 @@
|
||||||
"color": "fc3lLaITDn62PYbzBhqxl"
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Leader election/2 - Su anello",
|
"path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/2 - Su anello",
|
||||||
"color": "fc3lLaITDn62PYbzBhqxl"
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Leader election/3 - Su grafo generico",
|
"path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/3 - Su grafo generico",
|
||||||
"color": "fc3lLaITDn62PYbzBhqxl"
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast",
|
"path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/1 - Concetti",
|
||||||
"color": "fc3lLaITDn62PYbzBhqxl"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Leader election/1 - Concetti",
|
|
||||||
"color": "fc3lLaITDn62PYbzBhqxl"
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -330,11 +314,11 @@
|
||||||
"color": "me4XBNQC4rwzQFLlvIAn0"
|
"color": "me4XBNQC4rwzQFLlvIAn0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "0 - Template/algoritmo distribuito.md",
|
"path": "0 - Template/◍ algoritmo distribuito.md",
|
||||||
"color": "me4XBNQC4rwzQFLlvIAn0"
|
"color": "me4XBNQC4rwzQFLlvIAn0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "0 - Template/problema distribuito.md",
|
"path": "0 - Template/◍ problema distribuito.md",
|
||||||
"color": "me4XBNQC4rwzQFLlvIAn0"
|
"color": "me4XBNQC4rwzQFLlvIAn0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -350,59 +334,55 @@
|
||||||
"color": "7j7Pqog0VHMVVAfazMNlb"
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Leader election/★ leader election.canvas",
|
"path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Leader election/★ leader election.canvas",
|
||||||
"color": "7j7Pqog0VHMVVAfazMNlb"
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Routing/★ routing.canvas",
|
"path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/6 - Routing/★ routing.canvas",
|
||||||
"color": "7j7Pqog0VHMVVAfazMNlb"
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "7 - Big data analytics/README.md",
|
"path": "7 - Big data analytics/★ big data analytics.md",
|
||||||
"color": "fc3lLaITDn62PYbzBhqxl"
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "7 - High performance computing/README.md",
|
"path": "7 - High performance computing/★ high performance computing.md",
|
||||||
"color": "fc3lLaITDn62PYbzBhqxl"
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "X - Introduction to quantum information processing/README.md",
|
"path": "X - Introduction to quantum information processing/★ introduction to quantum information processing.md",
|
||||||
"color": "fc3lLaITDn62PYbzBhqxl"
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "8 - Crittografia applicata/README.md",
|
"path": "8 - Crittografia applicata/★ crittografia applicata.md",
|
||||||
"color": "fc3lLaITDn62PYbzBhqxl"
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "8 - Metodologie di sviluppo software/README.md",
|
"path": "8 - Metodologie di sviluppo software/★ metodologie di sviluppo software.md",
|
||||||
"color": "fc3lLaITDn62PYbzBhqxl"
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "8 - Sistemi complessi/README.md",
|
"path": "8 - Sistemi complessi/★ sistemi complessi.md",
|
||||||
"color": "fc3lLaITDn62PYbzBhqxl"
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "8 - Sviluppo di software sicuro/README.md",
|
"path": "8 - Sviluppo di software sicuro/★ sviluppo di software sicuro.md",
|
||||||
"color": "fc3lLaITDn62PYbzBhqxl"
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "9 - Algoritmi distribuiti/README.md",
|
"path": "9 - Cloud and edge computing/★ cloud and edge computing.md",
|
||||||
"color": "fc3lLaITDn62PYbzBhqxl"
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "9 - Cloud and edge computing/README.md",
|
"path": "X - Fondamenti di machine learning/★ fondamenti di machine learning.md",
|
||||||
"color": "fc3lLaITDn62PYbzBhqxl"
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "X - Fondamenti di machine learning/README.md",
|
"path": "9 - Kernel hacking/★ kernel hacking.md",
|
||||||
"color": "fc3lLaITDn62PYbzBhqxl"
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "9 - Kernel hacking/README.md",
|
"path": "9 - Programmazione mobile/★ programmazione mobile.md",
|
||||||
"color": "fc3lLaITDn62PYbzBhqxl"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "9 - Programmazione mobile/README.md",
|
|
||||||
"color": "fc3lLaITDn62PYbzBhqxl"
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -412,6 +392,26 @@
|
||||||
{
|
{
|
||||||
"path": "LICENSE.txt",
|
"path": "LICENSE.txt",
|
||||||
"color": "me4XBNQC4rwzQFLlvIAn0"
|
"color": "me4XBNQC4rwzQFLlvIAn0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "9 - Algoritmi distribuiti/★ algoritmi distribuiti.md",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/terminazione locale.md",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/terminazione globale.md",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Computation in trees",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Computation in trees/★ computation in trees.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
345
.obsidian/plugins/obsidian-file-color/data.sync-conflict-20231031-092037-TC3LVPI.json
vendored
Normal file
345
.obsidian/plugins/obsidian-file-color/data.sync-conflict-20231031-092037-TC3LVPI.json
vendored
Normal file
|
@ -0,0 +1,345 @@
|
||||||
|
{
|
||||||
|
"palette": [
|
||||||
|
{
|
||||||
|
"id": "7j7Pqog0VHMVVAfazMNlb",
|
||||||
|
"name": "Accent",
|
||||||
|
"value": "#d14224"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "me4XBNQC4rwzQFLlvIAn0",
|
||||||
|
"name": "System",
|
||||||
|
"value": "#5c0f00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "fc3lLaITDn62PYbzBhqxl",
|
||||||
|
"name": "To do",
|
||||||
|
"value": "#d7a628"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"fileColors": [
|
||||||
|
{
|
||||||
|
"path": "8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/★ mappa concettuale.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Crittografia applicata/1 - Concetti/2 - Dimostrare la validità delle soluzioni/★ mappa concettuale.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Crittografia applicata/2 - Comunicazione simmetrica/1 - Modello/★ mappa concettuale.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/2 - Operation framework/★ mappa concettuale.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/1 - Indistinguibilità su disco/★ mappa concettuale.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Crittografia applicata/1 - Concetti/3 - Casualità ed entropia/★ mappa concettuale.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Crittografia applicata/2 - Comunicazione simmetrica/2 - Confidenzialità/★ mappa concettuale.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Indistinguibilità/★ mappa concettuale.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Crittografia applicata/2 - Comunicazione simmetrica/4 - Integrità crittografica/★ mappa concettuale.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Crittografia applicata/2 - Comunicazione simmetrica/5 - Autenticazione/★ mappa concettuale.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Crittografia applicata/2 - Comunicazione simmetrica/6 - Indistinguibilità autenticata/★ mappa concettuale.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/3 - Contestualizzazione ed estendibilità/★ mappa concettuale.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/4 - Derivazione di chiave/★ mappa concettuale.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Crittografia applicata/4 - Controllo dell'accesso/1 - Modello/★ mappa concettuale.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Crittografia applicata/4 - Controllo dell'accesso/3 - Autenticazione di identità/★ mappa concettuale.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Crittografia applicata/4 - Controllo dell'accesso/2 - Protezione dai data breach/★ mappa concettuale.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/1 - Teoria dei gruppi/★ mappa concettuale.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "7 - High performance computing/★ glossario.md",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/3 - Scambio di chiave/★ mappa concettuale.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Metodologie di sviluppo software/★ Materiale di studio/1 - Slides/05-AgileMethodologies_2_decrypted.pdf",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Metodologie di sviluppo software/★ Materiale di studio/1 - Slides/06-ProjectEstimation.pdf",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Metodologie di sviluppo software/★ Materiale di studio/1 - Slides/07-DesignPatterns.pdf",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Metodologie di sviluppo software/★ Materiale di studio",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/2 - Teoria delle curve ellittiche/★ mappa concettuale.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/★ mappa concettuale.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "0 - Generale/★ esami.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "0 - Generale",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/★ mappa concettuale.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/6 - Falsificazione di firme/★ mappa concettuale.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Crittografia applicata/2 - Comunicazione simmetrica/7 - Implementazioni particolari/5 - Strutture dati particolari/★ mappa concettuale.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Crittografia applicata/4 - Controllo dell'accesso/4 - Distribuzione di chiavi/★ mappa concettuale.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Crittografia applicata/5 - Protocolli sicuri/1 - TCP-IP/★ mappa concettuale.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Crittografia applicata/5 - Protocolli sicuri/2 - Email/★ mappa concettuale.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Crittografia applicata/5 - Protocolli sicuri/3 - Signal/★ mappa concettuale.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Integrità semplice/★ mappa concettuale.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Sistemi complessi/2 - Sistemi complessi/★ sistemi complessi.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Sistemi complessi/3 - Automi cellulari/★ automi cellulari.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Sistemi complessi/4 - Grafi/★ grafi.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Sistemi complessi/5 - Origine della vita/★ insiemi auto-replicanti.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Sistemi complessi/6 - Robustezza/★ robustezza.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Sistemi complessi/1 - Sistemi dinamici/★ sistemi dinamici.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Sistemi complessi/2 - Sistemi complessi/topological mixing.md",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Sistemi complessi/2 - Sistemi complessi/dense periodic orbits.md",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Sistemi complessi/2 - Sistemi complessi/Landau's phenomenological theory.md",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Sistemi complessi/4 - Grafi/percolation threshold.md",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Sistemi complessi/4 - Grafi/★ grafi multi-livello.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Sistemi complessi/4 - Grafi/rete interdipendente.md",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Sistemi complessi/4 - Grafi/rete multiplex correlata.md",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Sistemi complessi/4 - Grafi/★ ipergrafi.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Sistemi complessi/5 - Origine della vita/insieme auto-catalitico riflessivo generato da cibo.md",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Sistemi complessi/0 - Materiale di studio/Slides/07_RBNd_COLOR.pdf",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Sistemi complessi/6 - Robustezza/🞵 parentesi anti-eugenica.md",
|
||||||
|
"color": "me4XBNQC4rwzQFLlvIAn0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Sistemi complessi/6 - Robustezza/robustezza differenziale.md",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Sistemi complessi/6 - Robustezza/versatilità.md",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Sistemi complessi/6 - Robustezza/evolvibilità.md",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Sistemi complessi/5 - Origine della vita/modello di Kauffman gene-RBN.md",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Sistemi complessi/5 - Origine della vita/★ geni come random boolean network.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "9 - Algoritmi distribuiti/1 - Problemi",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "9 - Algoritmi distribuiti/1 - Problemi/★ problemi.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "9 - Algoritmi distribuiti/1 - Problemi/classe di problemi NP-difficili.md",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "9 - Algoritmi distribuiti/2 - Algoritmi di approssimazione/relax and round.md",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "9 - Algoritmi distribuiti/2 - Algoritmi di approssimazione/vertex cover problem.md",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "9 - Algoritmi distribuiti/2 - Algoritmi di approssimazione/relax and round per vertex cover problem.md",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "9 - Algoritmi distribuiti/2 - Algoritmi di approssimazione/minimum perfect matching.md",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "9 - Algoritmi distribuiti/2 - Algoritmi di approssimazione/★ algoritmi di approssimazione.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "9 - Algoritmi distribuiti/2 - Algoritmi di approssimazione",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "9 - Algoritmi distribuiti/3 - Computazione distribuita",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/flooding broadcast v3.md",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/flooding broadcast v2.md",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/protocollo shout v1.md",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Routing",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Leader election",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Leader election/2 - Su anello",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Leader election/3 - Su grafo generico",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Leader election/1 - Concetti",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "7 - Big data analytics/★ indice.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "7 - Introduction to quantum information processing",
|
||||||
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "8 - Crittografia applicata/★ indice.canvas",
|
||||||
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
210
.obsidian/workspace.sync-conflict-20231031-092039-UV5KNJL.json
vendored
Normal file
210
.obsidian/workspace.sync-conflict-20231031-092039-UV5KNJL.json
vendored
Normal file
|
@ -0,0 +1,210 @@
|
||||||
|
{
|
||||||
|
"main": {
|
||||||
|
"id": "ea42b6c6a6ada42e",
|
||||||
|
"type": "split",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"id": "60117978cefd2149",
|
||||||
|
"type": "tabs",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"id": "24671e9d856e1cb9",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "markdown",
|
||||||
|
"state": {
|
||||||
|
"file": "README.md",
|
||||||
|
"mode": "source",
|
||||||
|
"backlinks": false,
|
||||||
|
"source": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"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": "appunti",
|
||||||
|
"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": "README.md",
|
||||||
|
"collapseAll": false,
|
||||||
|
"extraContext": false,
|
||||||
|
"sortOrder": "alphabetical",
|
||||||
|
"showSearch": false,
|
||||||
|
"searchQuery": "",
|
||||||
|
"backlinkCollapsed": false,
|
||||||
|
"unlinkedCollapsed": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "517852a0c1eb77e0",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "outgoing-link",
|
||||||
|
"state": {
|
||||||
|
"file": "README.md",
|
||||||
|
"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": "README.md"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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,
|
||||||
|
"command-palette:Open command palette": false,
|
||||||
|
"templates:Insert template": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"active": "24671e9d856e1cb9",
|
||||||
|
"lastOpenFiles": [
|
||||||
|
"LICENSE.md",
|
||||||
|
"LICENSE.txt",
|
||||||
|
"README.md",
|
||||||
|
"7 - High performance computing.md",
|
||||||
|
"7 - Big data analytics/README.md",
|
||||||
|
"7+-+Big.md",
|
||||||
|
"7.md",
|
||||||
|
"9 - Programmazione mobile/README.md",
|
||||||
|
"9 - Kernel hacking/README.md",
|
||||||
|
"7 - High performance computing/README.md",
|
||||||
|
"X - Fondamenti di machine learning/README.md",
|
||||||
|
"9 - Cloud and edge computing/README.md",
|
||||||
|
"9 - Algoritmi distribuiti/0 - Materiale di studio/Slides/01 - Problemi e algoritmi.pdf",
|
||||||
|
"9 - Algoritmi distribuiti/README.md",
|
||||||
|
"8 - Sviluppo di software sicuro/README.md",
|
||||||
|
"8 - Sistemi complessi/README.md",
|
||||||
|
"8 - Metodologie di sviluppo software/README.md",
|
||||||
|
"8 - Sistemi complessi/Untitled.canvas",
|
||||||
|
"8 - Crittografia applicata/README.md",
|
||||||
|
"X - Introduction to quantum information processing/README.md",
|
||||||
|
"7 - High performance computing/glossario.md",
|
||||||
|
"7 - Big data analytics/★ indice.canvas",
|
||||||
|
"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/★ concetti.canvas",
|
||||||
|
"9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Routing/★ routing.canvas",
|
||||||
|
"9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Leader election/★ leader election.canvas",
|
||||||
|
"9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/★ spanning tree.canvas",
|
||||||
|
"9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/★ broadcast.canvas",
|
||||||
|
"9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/broadcast.md",
|
||||||
|
"0 - Template/problema distribuito.md",
|
||||||
|
"9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/costruzione di uno spanning tree.md",
|
||||||
|
"0 - Template/algoritmo distribuito.md",
|
||||||
|
"9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Leader election/1 - Concetti/leader election.md",
|
||||||
|
"9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/costruzione di uno spanning tree tramite traversal.md",
|
||||||
|
"9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/wake-up problem.md",
|
||||||
|
"0 - Template",
|
||||||
|
"8 - Sistemi complessi/2 - Sistemi complessi/★ sistemi complessi.canvas",
|
||||||
|
"9 - Algoritmi distribuiti/0 - Materiale di studio/Slides/03 - Algoritmi distribuiti.pdf",
|
||||||
|
"9 - Algoritmi distribuiti/1 - Problemi/★ problemi.canvas",
|
||||||
|
"0 - Generale/★ esami.canvas",
|
||||||
|
"steffo-file-index-ignore.json",
|
||||||
|
"steffo-file-index-ignore.json.part",
|
||||||
|
"steffo-file-index.json",
|
||||||
|
"9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Leader election/1 - Concetti",
|
||||||
|
"9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast",
|
||||||
|
"9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Leader election/3 - Su grafo generico",
|
||||||
|
"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"
|
||||||
|
]
|
||||||
|
}
|
210
.obsidian/workspace.sync-conflict-20231031-134339-UV5KNJL.json
vendored
Normal file
210
.obsidian/workspace.sync-conflict-20231031-134339-UV5KNJL.json
vendored
Normal file
|
@ -0,0 +1,210 @@
|
||||||
|
{
|
||||||
|
"main": {
|
||||||
|
"id": "ea42b6c6a6ada42e",
|
||||||
|
"type": "split",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"id": "60117978cefd2149",
|
||||||
|
"type": "tabs",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"id": "24671e9d856e1cb9",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "markdown",
|
||||||
|
"state": {
|
||||||
|
"file": "README.md",
|
||||||
|
"mode": "source",
|
||||||
|
"backlinks": false,
|
||||||
|
"source": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"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": "appunti",
|
||||||
|
"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": "README.md",
|
||||||
|
"collapseAll": false,
|
||||||
|
"extraContext": false,
|
||||||
|
"sortOrder": "alphabetical",
|
||||||
|
"showSearch": false,
|
||||||
|
"searchQuery": "",
|
||||||
|
"backlinkCollapsed": false,
|
||||||
|
"unlinkedCollapsed": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "517852a0c1eb77e0",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "outgoing-link",
|
||||||
|
"state": {
|
||||||
|
"file": "README.md",
|
||||||
|
"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": "README.md"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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,
|
||||||
|
"command-palette:Open command palette": false,
|
||||||
|
"templates:Insert template": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"active": "24671e9d856e1cb9",
|
||||||
|
"lastOpenFiles": [
|
||||||
|
"LICENSE.md",
|
||||||
|
"LICENSE.txt",
|
||||||
|
"README.md",
|
||||||
|
"7 - High performance computing.md",
|
||||||
|
"7 - Big data analytics/README.md",
|
||||||
|
"7+-+Big.md",
|
||||||
|
"7.md",
|
||||||
|
"9 - Programmazione mobile/README.md",
|
||||||
|
"9 - Kernel hacking/README.md",
|
||||||
|
"7 - High performance computing/README.md",
|
||||||
|
"X - Fondamenti di machine learning/README.md",
|
||||||
|
"9 - Cloud and edge computing/README.md",
|
||||||
|
"9 - Algoritmi distribuiti/0 - Materiale di studio/Slides/01 - Problemi e algoritmi.pdf",
|
||||||
|
"9 - Algoritmi distribuiti/README.md",
|
||||||
|
"8 - Sviluppo di software sicuro/README.md",
|
||||||
|
"8 - Sistemi complessi/README.md",
|
||||||
|
"8 - Metodologie di sviluppo software/README.md",
|
||||||
|
"8 - Sistemi complessi/Untitled.canvas",
|
||||||
|
"8 - Crittografia applicata/README.md",
|
||||||
|
"X - Introduction to quantum information processing/README.md",
|
||||||
|
"7 - High performance computing/glossario.md",
|
||||||
|
"7 - Big data analytics/★ indice.canvas",
|
||||||
|
"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/★ concetti.canvas",
|
||||||
|
"9 - Algoritmi distribuiti/3 - Computazione distribuita/5 - Routing/★ routing.canvas",
|
||||||
|
"9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Leader election/★ leader election.canvas",
|
||||||
|
"9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/★ spanning tree.canvas",
|
||||||
|
"9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/★ broadcast.canvas",
|
||||||
|
"9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/broadcast.md",
|
||||||
|
"0 - Template/problema distribuito.md",
|
||||||
|
"9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/costruzione di uno spanning tree.md",
|
||||||
|
"0 - Template/algoritmo distribuito.md",
|
||||||
|
"9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Leader election/1 - Concetti/leader election.md",
|
||||||
|
"9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/costruzione di uno spanning tree tramite traversal.md",
|
||||||
|
"9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/wake-up problem.md",
|
||||||
|
"0 - Template",
|
||||||
|
"8 - Sistemi complessi/2 - Sistemi complessi/★ sistemi complessi.canvas",
|
||||||
|
"9 - Algoritmi distribuiti/0 - Materiale di studio/Slides/03 - Algoritmi distribuiti.pdf",
|
||||||
|
"9 - Algoritmi distribuiti/1 - Problemi/★ problemi.canvas",
|
||||||
|
"0 - Generale/★ esami.canvas",
|
||||||
|
"steffo-file-index-ignore.json",
|
||||||
|
"steffo-file-index-ignore.json.part",
|
||||||
|
"steffo-file-index.json",
|
||||||
|
"9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Leader election/1 - Concetti",
|
||||||
|
"9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast",
|
||||||
|
"9 - Algoritmi distribuiti/3 - Computazione distribuita/4 - Leader election/3 - Su grafo generico",
|
||||||
|
"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"
|
||||||
|
]
|
||||||
|
}
|
|
@ -1,14 +0,0 @@
|
||||||
Problema per un [[sistema distribuito]].
|
|
||||||
## Definizione
|
|
||||||
|
|
||||||
==...==
|
|
||||||
|
|
||||||
## [[restrizioni al modello dei sistemi distribuiti|Restrizioni]]
|
|
||||||
|
|
||||||
- ==...==
|
|
||||||
- ==...==
|
|
||||||
|
|
||||||
## [[algoritmo|Algoritmi]]
|
|
||||||
|
|
||||||
- ==...==
|
|
||||||
- ==...==
|
|
|
@ -1,23 +1,31 @@
|
||||||
[[algoritmo]] di ==PROBLEMA==.
|
[[algoritmo]] di ==PROBLEMA==.
|
||||||
|
|
||||||
## [[stato di un'entità|Stati]]
|
## Funzionamento
|
||||||
|
|
||||||
- ==`STATO1`==
|
==...==
|
||||||
- ==`STATO2`==
|
|
||||||
|
|
||||||
## [[Comportamento]]
|
## [[Comportamento]]
|
||||||
|
|
||||||
### ==`STATO1`==
|
### ==`STATO1`==
|
||||||
|
|
||||||
==...==
|
==...==
|
||||||
|
```rust
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
### ==`STATO2`==
|
### ==`STATO2`==
|
||||||
|
|
||||||
|
==...==
|
||||||
|
```rust
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
## [[algoritmo corretto|Correttezza]]
|
||||||
|
|
||||||
==...==
|
==...==
|
||||||
|
|
||||||
## [[costo computazionale distribuito|Costo computazionale]]
|
## [[costo computazionale distribuito|Costo computazionale]]
|
||||||
|
|
||||||
==...==
|
|
||||||
### [[Comunicazione]]
|
### [[Comunicazione]]
|
||||||
|
|
||||||
==...==
|
==...==
|
21
0 - Template/◍ problema distribuito.md
Normal file
21
0 - Template/◍ problema distribuito.md
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
Problema per un [[sistema distribuito]].
|
||||||
|
|
||||||
|
## Definizione
|
||||||
|
|
||||||
|
==...==
|
||||||
|
|
||||||
|
## [[restrizioni al modello dei sistemi distribuiti|Restrizioni]]
|
||||||
|
|
||||||
|
- **[[restrizione di comunicazione|Comunicazione]]**
|
||||||
|
- ==...==
|
||||||
|
- **[[restrizione di affidabilità|Affidabilità]]**
|
||||||
|
- ==...==
|
||||||
|
- **[[restrizione di topologia|Topologia]]**
|
||||||
|
- ==...==
|
||||||
|
- **[[restrizione di tempo|Tempo]]**
|
||||||
|
- ==...==
|
||||||
|
|
||||||
|
## [[algoritmo|Algoritmi]]
|
||||||
|
|
||||||
|
- ==...==
|
||||||
|
- ==...==
|
|
@ -1,3 +1,9 @@
|
||||||
|
---
|
||||||
|
aliases:
|
||||||
|
- correttezza
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
[[Algoritmo]] che per ogni [[istanza]] restituisce sempre la [[soluzione]] corrispondente.
|
[[Algoritmo]] che per ogni [[istanza]] restituisce sempre la [[soluzione]] corrispondente.
|
||||||
|
|
||||||
> Un algoritmo non è *corretto* non solo se c'è qualche istanza per cui restituisce la soluzione sbagliata, ma anche se c'è qualche istanza **per cui non termina mai**!
|
> Un algoritmo non è *corretto* non solo se c'è qualche istanza per cui restituisce la soluzione sbagliata, ma anche se c'è qualche istanza **per cui non termina mai**!
|
||||||
|
|
|
@ -3,6 +3,7 @@ aliases:
|
||||||
- arco
|
- arco
|
||||||
- arco di un sistema distribuito
|
- arco di un sistema distribuito
|
||||||
- stanza
|
- stanza
|
||||||
|
- canale
|
||||||
---
|
---
|
||||||
Unità di comunicazione di un [[sistema distribuito]].
|
Unità di comunicazione di un [[sistema distribuito]].
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
---
|
||||||
|
aliases:
|
||||||
|
- numero di messaggi
|
||||||
|
---
|
||||||
|
|
||||||
[[Risorsa]].
|
[[Risorsa]].
|
||||||
|
|
||||||
Misurata in [[messaggio|messaggi]] totali scambiati tra entità.
|
Misurata in [[messaggio|messaggi]] totali scambiati tra entità.
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
---
|
||||||
|
aliases:
|
||||||
|
- grafo indiretto
|
||||||
|
---
|
||||||
|
|
||||||
[[restrizione di comunicazione|restrizione di comunicazione]] applicabile a un [[canale di comunicazione]].
|
[[restrizione di comunicazione|restrizione di comunicazione]] applicabile a un [[canale di comunicazione]].
|
||||||
|
|
||||||
Determina che entrambe le [[entità]] possono inviare e ricevere [[messaggio|messaggi]] in esso.
|
Determina che entrambe le [[entità]] possono inviare e ricevere [[messaggio|messaggi]] in esso.
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
---
|
||||||
|
aliases:
|
||||||
|
- grafo diretto
|
||||||
|
---
|
||||||
|
|
||||||
[[restrizione di comunicazione|restrizione di comunicazione]] applicabile a un [[canale di comunicazione]].
|
[[restrizione di comunicazione|restrizione di comunicazione]] applicabile a un [[canale di comunicazione]].
|
||||||
|
|
||||||
Determina che una sola delle due [[entità]] può inviare [[messaggio|messaggi]] in esso, e che l'altra può solo riceverli.
|
Determina che una sola delle due [[entità]] può inviare [[messaggio|messaggi]] in esso, e che l'altra può solo riceverli.
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
[[restrizione di topologia]].
|
||||||
|
|
||||||
|
Specifica che tutte le [[entità]] partecipanti hanno un [[identificatore]] distinto da tutte le altre.
|
||||||
|
|
||||||
|
> [!EXAMPLE]
|
||||||
|
> Nella pratica, questo identificatore potrebbe essere un [[UUID]]!
|
|
@ -0,0 +1,3 @@
|
||||||
|
[[restrizione di comunicazione]].
|
||||||
|
|
||||||
|
Prevede che sia già stato selezionato un singolo [[leader]] che dia il via all'[[algoritmo]].
|
|
@ -0,0 +1,3 @@
|
||||||
|
[[restrizione di comunicazione]].
|
||||||
|
|
||||||
|
Prevede che qualsiasi [[entità]] possa dare il via all'algoritmo, anche se un'altra lo ha già fatto.
|
|
@ -1,6 +1,6 @@
|
||||||
Nel trattare [[sistema distribuito simmetrico|sistemi distribuiti simmetrici]], bisogna sempre esplicitare:
|
Nel trattare [[sistema distribuito simmetrico|sistemi distribuiti simmetrici]], bisogna sempre esplicitare:
|
||||||
- [[restrizione di comunicazione]]
|
- [[restrizione di comunicazione]]
|
||||||
- [[restrizione di affidabilità]]
|
- [[restrizione di affidabilità]]
|
||||||
- [[restrizione topologica]]
|
- [[restrizione di topologia]]
|
||||||
- [[restrizione di tempo]]
|
- [[restrizione di tempo]]
|
||||||
|
|
||||||
|
|
|
@ -5,4 +5,4 @@ aliases:
|
||||||
---
|
---
|
||||||
[[Insieme]] di [[canale di comunicazione|canali di comunicazione]] relativo ad un [[sistema distribuito]].
|
[[Insieme]] di [[canale di comunicazione|canali di comunicazione]] relativo ad un [[sistema distribuito]].
|
||||||
|
|
||||||
La conoscenza di essa da parte delle [[entità]] è soggetta all'[[assioma dell'orientamento locale]] e alle [[restrizione topologica]].
|
La conoscenza di essa da parte delle [[entità]] è soggetta all'[[assioma dell'orientamento locale]] e alle [[restrizione di topologia]].
|
|
@ -0,0 +1,5 @@
|
||||||
|
[[restrizione di tempo]].
|
||||||
|
|
||||||
|
Specifica che le [[entità]] partecipanti vengono a conoscenza di quando l'algoritmo è terminato per tutti i partecipanti.
|
||||||
|
|
||||||
|
È un problema a sè stante, il [[termination detection problem]].
|
|
@ -0,0 +1,3 @@
|
||||||
|
[[restrizione di tempo]].
|
||||||
|
|
||||||
|
Specifica che le [[entità]] partecipanti conoscono quando la loro partecipazione è terminata, ma non quando è terminata quella di tutte le altre.
|
|
@ -1,17 +1,10 @@
|
||||||
{
|
{
|
||||||
"nodes":[
|
"nodes":[
|
||||||
{"id":"0e88c8c55309b762","type":"group","x":220,"y":-2020,"width":1960,"height":1640,"label":"Restrizioni del modello"},
|
{"id":"0e88c8c55309b762","type":"group","x":220,"y":-2860,"width":1960,"height":2480,"label":"Restrizioni del modello"},
|
||||||
{"id":"840584051841921d","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/tick.md","x":240,"y":960,"width":400,"height":400},
|
{"id":"840584051841921d","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/tick.md","x":240,"y":960,"width":400,"height":400},
|
||||||
{"id":"ec508dff8f0fad49","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/clock.md","x":240,"y":400,"width":400,"height":400},
|
{"id":"ec508dff8f0fad49","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/clock.md","x":240,"y":400,"width":400,"height":400},
|
||||||
{"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":"44b1b735656f3c4b","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/azione.md","x":1360,"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},
|
||||||
{"id":"1d32058a6d2df7ec","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/comportamento.md","x":800,"y":1520,"width":400,"height":400},
|
{"id":"1d32058a6d2df7ec","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/comportamento.md","x":800,"y":1520,"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":"40f55b66f9214ecd","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/sistema distribuito.md","x":-320,"y":-1360,"width":400,"height":400},
|
|
||||||
{"id":"806b3a8cfb46e427","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/sistema distribuito simmetrico.md","x":-320,"y":-800,"width":400,"height":400,"color":"#ffffff"},
|
|
||||||
{"id":"ce14b5c90fd5e953","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/ambiente.md","x":-1440,"y":400,"width":400,"height":400},
|
{"id":"ce14b5c90fd5e953","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/ambiente.md","x":-1440,"y":400,"width":400,"height":400},
|
||||||
{"id":"9fed72abdca670aa","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/impulso spontaneo.md","x":-1440,"y":960,"width":400,"height":400},
|
{"id":"9fed72abdca670aa","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/impulso spontaneo.md","x":-1440,"y":960,"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":"afa296d887da4394","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/evento.md","x":-600,"y":1520,"width":400,"height":400},
|
||||||
|
@ -20,26 +13,10 @@
|
||||||
{"id":"e23a1daa61a49d62","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/interno.md","x":-880,"y":2320,"width":400,"height":200},
|
{"id":"e23a1daa61a49d62","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/interno.md","x":-880,"y":2320,"width":400,"height":200},
|
||||||
{"id":"17f246e08226b97c","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/esterno.md","x":-880,"y":2560,"width":400,"height":200},
|
{"id":"17f246e08226b97c","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/esterno.md","x":-880,"y":2560,"width":400,"height":200},
|
||||||
{"id":"37d87879f33b9570","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/condiviso.md","x":-320,"y":2320,"width":400,"height":200},
|
{"id":"37d87879f33b9570","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/condiviso.md","x":-320,"y":2320,"width":400,"height":200},
|
||||||
{"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":-600,"width":400,"height":200},
|
|
||||||
{"id":"0951993b4f64f1b4","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/restrizione topologica.md","x":800,"y":-880,"width":400,"height":200},
|
|
||||||
{"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":"4f5b2defe1e9072a","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/assioma del ritardo di comunicazione.md","x":-880,"y":680,"width":400,"height":400},
|
{"id":"4f5b2defe1e9072a","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/assioma del ritardo di comunicazione.md","x":-880,"y":680,"width":400,"height":400},
|
||||||
{"id":"9abf440226d21d98","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/assioma dell'orientamento locale.md","x":-880,"y":120,"width":400,"height":400},
|
{"id":"9abf440226d21d98","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/assioma dell'orientamento locale.md","x":-880,"y":120,"width":400,"height":400},
|
||||||
{"id":"6b49f0fc996cb192","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/messaggio.md","x":-320,"y":960,"width":400,"height":400},
|
{"id":"6b49f0fc996cb192","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/messaggio.md","x":-320,"y":960,"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":"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":"ca6adc368f6aed21","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/channel failure detection.md","x":1280,"y":-1720,"width":400,"height":200},
|
|
||||||
{"id":"a16e77231955a7a3","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/entity failure detection.md","x":1760,"y":-1720,"width":400,"height":200},
|
|
||||||
{"id":"961e2a0551edc3c5","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/restrizione di comunicazione.md","x":800,"y":-2000,"width":400,"height":200},
|
|
||||||
{"id":"dacdf2aa108d08d3","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/half-duplex.md","x":1280,"y":-2000,"width":400,"height":200},
|
|
||||||
{"id":"e52fa24f0be7ac0e","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/full-duplex.md","x":1760,"y":-2000,"width":400,"height":200},
|
|
||||||
{"id":"281bcf7f0a4b5be1","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/restrizione di affidabilità.md","x":800,"y":-1720,"width":400,"height":760},
|
|
||||||
{"id":"b69def8d92ba28df","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/consegna garantita.md","x":1280,"y":-1160,"width":400,"height":200},
|
|
||||||
{"id":"887f1f52394b3721","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/affidabilità parziale.md","x":1280,"y":-1440,"width":400,"height":200},
|
|
||||||
{"id":"6b3170059dad55ef","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/affidabilità totale.md","x":1760,"y":-1440,"width":400,"height":200},
|
|
||||||
{"id":"83b3be69f6f3d497","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/timeout.md","x":1520,"y":-880,"width":400,"height":200},
|
|
||||||
{"id":"472610beeef20101","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/ritardo di comunicazione limitato.md","x":1280,"y":-600,"width":400,"height":200},
|
|
||||||
{"id":"fc4c48607c9ae580","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/ritardo di comunicazione unitario.md","x":1760,"y":-600,"width":400,"height":200},
|
|
||||||
{"id":"5253e63787adc7c1","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/sistema distribuito asincrono.md","x":-880,"y":-800,"width":400,"height":400},
|
{"id":"5253e63787adc7c1","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/sistema distribuito asincrono.md","x":-880,"y":-800,"width":400,"height":400},
|
||||||
{"id":"5cb928eebbce8c85","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/comunicazione.md","x":-1440,"y":-1920,"width":400,"height":400},
|
{"id":"5cb928eebbce8c85","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/comunicazione.md","x":-1440,"y":-1920,"width":400,"height":400},
|
||||||
{"id":"0663141369318ae1","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/costo computazionale distribuito.md","x":-880,"y":-1360,"width":400,"height":400},
|
{"id":"0663141369318ae1","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/costo computazionale distribuito.md","x":-880,"y":-1360,"width":400,"height":400},
|
||||||
|
@ -48,7 +25,35 @@
|
||||||
{"id":"9c678aa28deb9edc","type":"file","file":"9 - Algoritmi distribuiti/1 - Problemi/criterio di costo logaritmico.md","x":-2000,"y":-840,"width":400,"height":200},
|
{"id":"9c678aa28deb9edc","type":"file","file":"9 - Algoritmi distribuiti/1 - Problemi/criterio di costo logaritmico.md","x":-2000,"y":-840,"width":400,"height":200},
|
||||||
{"id":"68d2646884fe10e3","type":"file","file":"9 - Algoritmi distribuiti/1 - Problemi/tempo.md","x":-1440,"y":-1360,"width":400,"height":400},
|
{"id":"68d2646884fe10e3","type":"file","file":"9 - Algoritmi distribuiti/1 - Problemi/tempo.md","x":-1440,"y":-1360,"width":400,"height":400},
|
||||||
{"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":"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 totale.md","x":-2000,"y":-1400,"width":400,"height":200}
|
{"id":"3c2d2701a7095e82","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/criterio di costo sincrono totale.md","x":-2000,"y":-1400,"width":400,"height":200},
|
||||||
|
{"id":"dacdf2aa108d08d3","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/half-duplex.md","x":1280,"y":-2560,"width":400,"height":200},
|
||||||
|
{"id":"ca6adc368f6aed21","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/channel failure detection.md","x":1280,"y":-2280,"width":400,"height":200},
|
||||||
|
{"id":"a16e77231955a7a3","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/entity failure detection.md","x":1760,"y":-2280,"width":400,"height":200},
|
||||||
|
{"id":"961e2a0551edc3c5","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/restrizione di comunicazione.md","x":800,"y":-2840,"width":400,"height":480},
|
||||||
|
{"id":"e52fa24f0be7ac0e","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/full-duplex.md","x":1760,"y":-2560,"width":400,"height":200},
|
||||||
|
{"id":"281bcf7f0a4b5be1","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/restrizione di affidabilità.md","x":800,"y":-2280,"width":400,"height":760},
|
||||||
|
{"id":"b69def8d92ba28df","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/consegna garantita.md","x":1280,"y":-1720,"width":400,"height":200},
|
||||||
|
{"id":"887f1f52394b3721","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/affidabilità parziale.md","x":1280,"y":-2000,"width":400,"height":200},
|
||||||
|
{"id":"6b3170059dad55ef","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/affidabilità totale.md","x":1760,"y":-2000,"width":400,"height":200},
|
||||||
|
{"id":"5f79f222c02d34a4","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/iniziatore singolo.md","x":1280,"y":-2840,"width":400,"height":200},
|
||||||
|
{"id":"8feba6ce763a0898","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/iniziatori multipli.md","x":1760,"y":-2840,"width":400,"height":200},
|
||||||
|
{"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":"40f55b66f9214ecd","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/sistema distribuito.md","x":-320,"y":-1360,"width":400,"height":400},
|
||||||
|
{"id":"83b3be69f6f3d497","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/timeout.md","x":1520,"y":-880,"width":400,"height":200},
|
||||||
|
{"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":"472610beeef20101","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/ritardo di comunicazione limitato.md","x":1280,"y":-600,"width":400,"height":200},
|
||||||
|
{"id":"fc4c48607c9ae580","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/ritardo di comunicazione unitario.md","x":1760,"y":-600,"width":400,"height":200},
|
||||||
|
{"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":"806b3a8cfb46e427","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/sistema distribuito simmetrico.md","x":-320,"y":-800,"width":400,"height":400,"color":"#ffffff"},
|
||||||
|
{"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":"4a1b9354e73b16bc","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/identificatori univoci.md","x":1280,"y":-1440,"width":400,"height":200},
|
||||||
|
{"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":"55006dcc3b515353","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/terminazione locale.md","x":1280,"y":-1160,"width":400,"height":200},
|
||||||
|
{"id":"d12cedf357c12705","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/1 - Concetti/terminazione globale.md","x":1760,"y":-1160,"width":400,"height":200}
|
||||||
],
|
],
|
||||||
"edges":[
|
"edges":[
|
||||||
{"id":"1bb35cb60ca4ea15","fromNode":"afa296d887da4394","fromSide":"bottom","toNode":"904bb8e648bdcb90","toSide":"top"},
|
{"id":"1bb35cb60ca4ea15","fromNode":"afa296d887da4394","fromSide":"bottom","toNode":"904bb8e648bdcb90","toSide":"top"},
|
||||||
|
@ -102,6 +107,10 @@
|
||||||
{"id":"c83642765cb5fdb3","fromNode":"0663141369318ae1","fromSide":"left","toNode":"1bbe4f0ecb072362","toSide":"right"},
|
{"id":"c83642765cb5fdb3","fromNode":"0663141369318ae1","fromSide":"left","toNode":"1bbe4f0ecb072362","toSide":"right"},
|
||||||
{"id":"4e6bc2efe53e4e17","fromNode":"0663141369318ae1","fromSide":"left","toNode":"68d2646884fe10e3","toSide":"right"},
|
{"id":"4e6bc2efe53e4e17","fromNode":"0663141369318ae1","fromSide":"left","toNode":"68d2646884fe10e3","toSide":"right"},
|
||||||
{"id":"11e3f0f7f9977138","fromNode":"68d2646884fe10e3","fromSide":"left","toNode":"7307a3e6d21d094d","toSide":"right"},
|
{"id":"11e3f0f7f9977138","fromNode":"68d2646884fe10e3","fromSide":"left","toNode":"7307a3e6d21d094d","toSide":"right"},
|
||||||
{"id":"0a39548d5dde3f7e","fromNode":"68d2646884fe10e3","fromSide":"left","toNode":"3c2d2701a7095e82","toSide":"right"}
|
{"id":"0a39548d5dde3f7e","fromNode":"68d2646884fe10e3","fromSide":"left","toNode":"3c2d2701a7095e82","toSide":"right"},
|
||||||
|
{"id":"459233fc20cad1e7","fromNode":"961e2a0551edc3c5","fromSide":"right","toNode":"5f79f222c02d34a4","toSide":"left"},
|
||||||
|
{"id":"862f0a43ddf5a87a","fromNode":"5f79f222c02d34a4","fromSide":"right","toNode":"8feba6ce763a0898","toSide":"left"},
|
||||||
|
{"id":"92889f0a7be5f7d4","fromNode":"55006dcc3b515353","fromSide":"right","toNode":"d12cedf357c12705","toSide":"left"},
|
||||||
|
{"id":"02d76934b8ed7603","fromNode":"2d21a7ed903a16e7","fromSide":"right","toNode":"55006dcc3b515353","toSide":"left"}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -0,0 +1,83 @@
|
||||||
|
---
|
||||||
|
aliases:
|
||||||
|
- broadcast
|
||||||
|
---
|
||||||
|
|
||||||
|
Problema per un [[sistema distribuito]].
|
||||||
|
|
||||||
|
## Definizione
|
||||||
|
|
||||||
|
Una [[entità]] vuole comunicare un'informazione a tutto il resto del [[sistema distribuito]].
|
||||||
|
|
||||||
|
## [[restrizioni al modello dei sistemi distribuiti|Restrizioni]]
|
||||||
|
|
||||||
|
- [[terminazione locale]]
|
||||||
|
- **[[restrizione di comunicazione|Comunicazione]]**
|
||||||
|
- [[iniziatore singolo]]
|
||||||
|
- **[[restrizione di affidabilità|Affidabilità]]**
|
||||||
|
- [[affidabilità totale]]
|
||||||
|
- **[[restrizione di topologia|Topologia]]**
|
||||||
|
- [[grafo connesso]]
|
||||||
|
- [[full-duplex|grafo indiretto]]
|
||||||
|
- **[[restrizione di tempo|Tempo]]**
|
||||||
|
- [[ritardo di comunicazione unitario]]
|
||||||
|
|
||||||
|
## [[algoritmo|Algoritmi]]
|
||||||
|
|
||||||
|
- **Flooding**
|
||||||
|
- [[flooding v1]] (non [[algoritmo corretto|corretto]]...)
|
||||||
|
- [[flooding v2]] ([[algoritmo corretto|corretto]].)
|
||||||
|
- [[flooding v3]] (ottimizzato!)
|
||||||
|
|
||||||
|
## [[notazione Ω-grande|Lower bound]] [[costo computazionale|costo computazionale]]
|
||||||
|
|
||||||
|
### [[Comunicazione]]
|
||||||
|
|
||||||
|
#### In un [[grafo]] qualsiasi
|
||||||
|
|
||||||
|
Ogni [[entità]] deve ricevere per forza il messaggio, quindi sicuramente:
|
||||||
|
$$
|
||||||
|
\Omega(Entities)
|
||||||
|
$$
|
||||||
|
|
||||||
|
In più, non è possibile togliere nessun [[canale di comunicazione|canale]] senza rischiare che un'[[entità]] non venga raggiunta, in quanto non si hanno informazioni sulla [[rete di comunicazione]] sottostante:
|
||||||
|
$$
|
||||||
|
\Large 2 \cdot Channels - (Entities - 1)
|
||||||
|
$$
|
||||||
|
|
||||||
|
#### [[restrizioni al modello dei sistemi distribuiti|Restringendo]] a un [[albero]] con [[leader]] alla [[radice di un albero|radice]]
|
||||||
|
|
||||||
|
In un [[albero]], è impossibile che due [[entità]] vicine vengano scoperte contemporaneamente, pertanto il [[notazione Ω-grande|lower bound]] diminuisce a:
|
||||||
|
$$
|
||||||
|
\Large 1 \cdot Channels
|
||||||
|
$$
|
||||||
|
|
||||||
|
#### [[restrizioni al modello dei sistemi distribuiti|Restringendo]] a un [[grafo completo]]
|
||||||
|
|
||||||
|
In un [[grafo completo]] il [[leader]] può inviare il [[messaggio]] direttamente ai suoi vicini:
|
||||||
|
$$
|
||||||
|
\Large 1 \cdot Nodes
|
||||||
|
$$
|
||||||
|
|
||||||
|
### [[tempo]]
|
||||||
|
|
||||||
|
#### In un [[grafo]] qualsiasi
|
||||||
|
|
||||||
|
Il [[grafo]] potrebbe essere un [[cammino]], che richiederebbe che ogni arco venisse attraversato, quindi sicuramente:
|
||||||
|
$$
|
||||||
|
\Large 1 \cdot Channels
|
||||||
|
$$
|
||||||
|
|
||||||
|
#### [[restrizioni al modello dei sistemi distribuiti|Restringendo]] a un [[albero]] con [[leader]] alla [[radice di un albero|radice]]
|
||||||
|
|
||||||
|
Anche un [[albero]] potrebbe essere un [[cammino]] come un [[grafo]] qualsiasi:
|
||||||
|
$$
|
||||||
|
\Large 1 \cdot Channels
|
||||||
|
$$
|
||||||
|
|
||||||
|
#### [[restrizioni al modello dei sistemi distribuiti|Restringendo]] a un [[grafo completo]]
|
||||||
|
|
||||||
|
In un [[grafo completo]], tutte le [[entità]] sono vicine del [[leader]], quindi ricevono tutte il [[messaggio]] contemporaneamente:
|
||||||
|
$$
|
||||||
|
\Large 1
|
||||||
|
$$
|
|
@ -1,21 +0,0 @@
|
||||||
[[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/problema]] per un [[sistema distribuito]].
|
|
||||||
|
|
||||||
## Definizione
|
|
||||||
|
|
||||||
Una singola [[entità]] vuole fare arrivare un [[messaggio]] a tutte le altre.
|
|
||||||
|
|
||||||
### [[restrizioni al modello dei sistemi distribuiti]]
|
|
||||||
|
|
||||||
- [[affidabilità totale]]
|
|
||||||
- [[full-duplex]]
|
|
||||||
- [[grafo connesso]]
|
|
||||||
|
|
||||||
> L'algoritmo è indipendente da:
|
|
||||||
> - [[topologia]]
|
|
||||||
> - numero di [[entità]]
|
|
||||||
> - presenza di [[identificativi]] del sistema
|
|
||||||
|
|
||||||
## Algoritmi
|
|
||||||
|
|
||||||
- [[flooding broadcast v3]]
|
|
||||||
-
|
|
|
@ -1,22 +0,0 @@
|
||||||
[[Algoritmo]] ***incorretto*** di [[broadcast]].
|
|
||||||
|
|
||||||
Ogni [[entità]] manda l'informazione a tutti i suoi vicini.
|
|
||||||
|
|
||||||
## [[Stato]]
|
|
||||||
|
|
||||||
- `INITIATOR`: quello che manda il messaggio
|
|
||||||
- `SLEEPING`: quelli che non mandano il messaggio
|
|
||||||
|
|
||||||
## [[comportamento]]
|
|
||||||
|
|
||||||
### `INITIATOR`
|
|
||||||
|
|
||||||
Se ricevo il messaggio non faccio niente.
|
|
||||||
|
|
||||||
### `SLEEPING`
|
|
||||||
|
|
||||||
Se ricevo il messaggio lo propago ai miei vicini.
|
|
||||||
|
|
||||||
## Incorrettezza
|
|
||||||
|
|
||||||
L'algoritmo molto probabilmente non terminerà!
|
|
|
@ -1,23 +0,0 @@
|
||||||
[[Algoritmo]] di [[broadcast]], una correzione a [[flooding broadcast v1]].
|
|
||||||
|
|
||||||
Ogni [[entità]] manda l'informazione a tutti i suoi vicini, **ma solo se non l'ha già fatto**.
|
|
||||||
|
|
||||||
## [[Stato]]
|
|
||||||
|
|
||||||
- `INITIATOR`: quello che manda il messaggio
|
|
||||||
- `SLEEPING`: quelli che non mandano il messaggio
|
|
||||||
- **`DONE`: quelli non hanno mandato il messaggio, ma l'hanno ricevuto e inoltrato**
|
|
||||||
|
|
||||||
## [[comportamento]]
|
|
||||||
|
|
||||||
### `INITIATOR`
|
|
||||||
|
|
||||||
Se ricevo il messaggio non faccio niente.
|
|
||||||
|
|
||||||
### `SLEEPING`
|
|
||||||
|
|
||||||
Se ricevo il messaggio lo propago ai miei vicini e passo a `DONE`.
|
|
||||||
|
|
||||||
### **`DONE`**
|
|
||||||
|
|
||||||
**Se ricevo il messaggio non faccio niente.**
|
|
|
@ -1,47 +0,0 @@
|
||||||
[[Algoritmo]] di [[broadcast]], migliore rispetto a [[flooding broadcast v2]].
|
|
||||||
|
|
||||||
Ogni [[entità]] manda l'informazione a tutti i suoi vicini **che non gliel'hanno mandato**, ma solo se non l'ha già fatto.
|
|
||||||
|
|
||||||
## [[Stato]]
|
|
||||||
|
|
||||||
- `INITIATOR`: quello che manda il messaggio
|
|
||||||
- `SLEEPING`: quelli che non mandano il messaggio
|
|
||||||
- `DONE`: quelli non hanno mandato il messaggio, ma l'hanno ricevuto e inoltrato
|
|
||||||
|
|
||||||
## [[comportamento]]
|
|
||||||
|
|
||||||
### `INITIATOR`
|
|
||||||
|
|
||||||
Se ricevo il messaggio non faccio niente.
|
|
||||||
|
|
||||||
### `SLEEPING`
|
|
||||||
|
|
||||||
Se ricevo il messaggio lo propago ai miei vicini **eccetto quello che me l'ha mandato** e passo a `DONE`.
|
|
||||||
|
|
||||||
### `DONE`
|
|
||||||
|
|
||||||
Se ricevo il messaggio non faccio niente.
|
|
||||||
|
|
||||||
## [[costo computazionale distribuito]]
|
|
||||||
|
|
||||||
### [[Spazio]]
|
|
||||||
|
|
||||||
Abbiamo massimo $2$ messaggi per ogni [[arco di un grafo|arco]] della [[rete di comunicazione]]:
|
|
||||||
- $1$ normalmente
|
|
||||||
- $2$ se i due nodi che l'arco connette si mandano messaggi a vicenda
|
|
||||||
|
|
||||||
Quindi, l'algoritmo è in $O(archi)$, ovvero $O(nodi)$, e in particolare:
|
|
||||||
#TODO La formula formattata bene.
|
|
||||||
|
|
||||||
### [[Tempo]] (unitario uniforme per messaggio)
|
|
||||||
|
|
||||||
[[diametro di un grafo|Diametro]] della [[rete di comunicazione]].
|
|
||||||
|
|
||||||
Quindi, l'algoritmo è in $O(nodi)$.
|
|
||||||
|
|
||||||
## Osservazioni
|
|
||||||
|
|
||||||
C'è [[terminazione locale]], ma non [[terminazione globale]]: non si sa [[termination detection problem|il momento in cui il messaggio è stato propagato a tutti i nodi]]!
|
|
||||||
|
|
||||||
L'algoritmo è efficiente negli [[albero|alberi]], non nei [[grafo completo|grafi completi]]:
|
|
||||||
#TODO Al minimo richiede $n - 1$ messaggi, e quindi $\Omega(nodi)$.
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
[[algoritmo]] ***[[algoritmo corretto|incorretto]]*** di [[broadcast problem]].
|
||||||
|
|
||||||
|
## Funzionamento
|
||||||
|
|
||||||
|
Il [[leader]] invia il suo messaggio iniziale a tutti i vicini, e loro lo inoltrano a loro volta ai loro vicini.
|
||||||
|
## [[Comportamento]]
|
||||||
|
|
||||||
|
### `LEADER`
|
||||||
|
|
||||||
|
All'[[impulso spontaneo|inizio dell'algoritmo]], invia il suo messaggio:
|
||||||
|
```rust
|
||||||
|
spontaneously! {
|
||||||
|
send!(*, Message {...});
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Se lo riceve indietro, non fa niente:
|
||||||
|
```rust
|
||||||
|
on_receive! {
|
||||||
|
_ => {},
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### `SLEEPING`
|
||||||
|
|
||||||
|
Se riceve il messaggio, lo inoltra a tutti i suoi vicini:
|
||||||
|
```rust
|
||||||
|
on_receive! {
|
||||||
|
_ => send!(*, msg)
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## [[algoritmo corretto|Correttezza]]
|
||||||
|
|
||||||
|
> [!DANGER] Algoritmo incorretto
|
||||||
|
>
|
||||||
|
> Questo algoritmo non termina mai!
|
||||||
|
> È riportato qui solo come base per le due versioni successive.
|
|
@ -0,0 +1,81 @@
|
||||||
|
[[algoritmo]] di [[broadcast problem]] che risolve l'incorrettezza del [[flooding v1]].
|
||||||
|
|
||||||
|
## Funzionamento
|
||||||
|
|
||||||
|
Il [[leader]] invia il suo messaggio iniziale a tutti i vicini, e, ***se è la prima volta che lo ricevono***, loro lo inoltrano a loro volta ai loro vicini.
|
||||||
|
|
||||||
|
## [[Comportamento]]
|
||||||
|
|
||||||
|
### `LEADER`
|
||||||
|
|
||||||
|
All'[[impulso spontaneo|inizio dell'algoritmo]], invia il suo messaggio:
|
||||||
|
```rust
|
||||||
|
spontaneously! {
|
||||||
|
send!(*, Message {...});
|
||||||
|
state!(DONE);
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Se lo riceve indietro, non fa niente:
|
||||||
|
```rust
|
||||||
|
on_receive! {
|
||||||
|
_ => {},
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### `SLEEPING`
|
||||||
|
|
||||||
|
Se riceve il messaggio, lo inoltra a tutti i suoi vicini, poi passa allo stato `DONE`:
|
||||||
|
```rust
|
||||||
|
on_receive! {
|
||||||
|
_ => {
|
||||||
|
send!(*, msg);
|
||||||
|
state!(DONE);
|
||||||
|
},
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### `DONE`
|
||||||
|
|
||||||
|
Non fa niente:
|
||||||
|
```rust
|
||||||
|
on_receive! {
|
||||||
|
_ => {},
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## [[algoritmo corretto|Correttezza]]
|
||||||
|
|
||||||
|
Per via dell'ipotesi di [[grafo connesso]], tutte le [[entità]] riceveranno eventualmente il [[messaggio]] inviato.
|
||||||
|
|
||||||
|
Con la ricezione del [[messaggio]], eventualmente tutte le [[entità]] diventeranno `DONE`, raggiungendo [[terminazione locale]].
|
||||||
|
|
||||||
|
## [[costo computazionale distribuito|Costo computazionale]]
|
||||||
|
|
||||||
|
### [[Comunicazione]]
|
||||||
|
|
||||||
|
Attraverso ogni [[canale di comunicazione|canale]] passeranno al massimo due [[messaggio|messaggi]]:
|
||||||
|
- $0$, se l'algoritmo termina prima che il [[canale di comunicazione|canale]] sia esplorato
|
||||||
|
- $1$, se l'[[entità]] di destinazione non è ancora stata scoperta
|
||||||
|
- $2$, se entrambe le [[entità]] connesse sono scoperte contemporaneamente
|
||||||
|
|
||||||
|
Dunque, i [[messaggio|messaggi]] trasferiti saranno:
|
||||||
|
$$
|
||||||
|
2 \cdot Channels
|
||||||
|
$$
|
||||||
|
|
||||||
|
Che, in [[notazione asintotica]], è:
|
||||||
|
$$
|
||||||
|
\Large O(Channels)
|
||||||
|
$$
|
||||||
|
|
||||||
|
### [[Spazio]]
|
||||||
|
|
||||||
|
Un multiplo del [costo di comunicazione](#Comunicazione), sempre [[notazione asintotica|asintotico]] a:
|
||||||
|
$$
|
||||||
|
\Large O(Channels)
|
||||||
|
$$
|
||||||
|
|
||||||
|
### [[Tempo]]
|
||||||
|
|
||||||
|
Coincide con il lower bound del [[broadcast problem]].
|
|
@ -0,0 +1,74 @@
|
||||||
|
[[algoritmo]] di [[broadcast problem]] che riduce il [[comunicazione|numero di messaggi]] rispetto al [[flooding v2]]. ^6af4aa
|
||||||
|
|
||||||
|
## Funzionamento
|
||||||
|
|
||||||
|
Il [[leader]] invia il suo [[messaggio]] iniziale a tutti i vicini, e, se è la prima volta che lo ricevono, loro lo inoltrano a loro volta ai loro vicini ***tranne quello che gliel'ha inviato***.
|
||||||
|
|
||||||
|
## [[Comportamento]]
|
||||||
|
|
||||||
|
### `LEADER`
|
||||||
|
|
||||||
|
All'[[impulso spontaneo|inizio dell'algoritmo]], invia il suo [[messaggio]]:
|
||||||
|
```rust
|
||||||
|
spontaneously! {
|
||||||
|
send!(*, Message {...});
|
||||||
|
state!(DONE);
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Se lo riceve indietro, non fa niente:
|
||||||
|
```rust
|
||||||
|
on_receive! {
|
||||||
|
_ => {},
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### `SLEEPING`
|
||||||
|
|
||||||
|
Se riceve il [[messaggio]], lo inoltra a tutti i suoi vicini, poi passa allo stato `DONE`:
|
||||||
|
```rust
|
||||||
|
on_receive! {
|
||||||
|
_ => {
|
||||||
|
send!(!sender, msg);
|
||||||
|
state!(DONE);
|
||||||
|
},
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### `DONE`
|
||||||
|
|
||||||
|
Non fa niente:
|
||||||
|
```rust
|
||||||
|
on_receive! {
|
||||||
|
_ => {},
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## [[algoritmo corretto|Correttezza]]
|
||||||
|
|
||||||
|
Vedi [[flooding v2]].
|
||||||
|
|
||||||
|
## [[costo computazionale distribuito|Costo computazionale]]
|
||||||
|
|
||||||
|
### [[Comunicazione]]
|
||||||
|
|
||||||
|
Il costo computazionale è lo stesso del [[flooding v2]], ma con un trasferimento in meno per ogni [[entità]] che non è il [[leader]]:
|
||||||
|
$$
|
||||||
|
2 \cdot Channels - (Entities - 1)
|
||||||
|
$$
|
||||||
|
|
||||||
|
In [[notazione asintotica]], è sempre:
|
||||||
|
$$
|
||||||
|
\Large O(Channels)
|
||||||
|
$$
|
||||||
|
|
||||||
|
### [[Spazio]]
|
||||||
|
|
||||||
|
Un multiplo del [costo di comunicazione](#Comunicazione), sempre [[notazione asintotica|asintotico]] a:
|
||||||
|
$$
|
||||||
|
\Large O(Channels)
|
||||||
|
$$
|
||||||
|
|
||||||
|
### [[Tempo]]
|
||||||
|
|
||||||
|
Vedi [[flooding v2]].
|
|
@ -1,9 +1,54 @@
|
||||||
[[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/problema]] per [[sistema distribuito|sistemi distribuiti]].
|
Problema per un [[sistema distribuito]], variante del [[broadcast problem]].
|
||||||
|
|
||||||
È un [[broadcast]] in cui ci sono più `INITIATOR`.
|
## Definizione
|
||||||
|
|
||||||
## Algoritmi
|
***Varie [[entità]]*** vogliono comunicare una ***stessa*** informazione a tutto il resto del [[sistema distribuito]].
|
||||||
|
|
||||||
- [[flooding broadcast v3]]
|
## [[restrizioni al modello dei sistemi distribuiti|Restrizioni]]
|
||||||
- #TODO Più archi avranno $2$ messaggi scambiati.
|
|
||||||
- $2 \cdot archi - (nodi - initiator)$
|
- [[terminazione locale]]
|
||||||
|
- **[[restrizione di comunicazione|Comunicazione]]**
|
||||||
|
- ***[[iniziatori multipli]]***
|
||||||
|
- **[[restrizione di affidabilità|Affidabilità]]**
|
||||||
|
- [[affidabilità totale]]
|
||||||
|
- **[[restrizione di topologia|Topologia]]**
|
||||||
|
- [[grafo connesso]]
|
||||||
|
- [[full-duplex|grafo indiretto]]
|
||||||
|
- **[[restrizione di tempo|Tempo]]**
|
||||||
|
- [[ritardo di comunicazione unitario]]
|
||||||
|
|
||||||
|
## [[algoritmo|Algoritmi]]
|
||||||
|
|
||||||
|
- **Flooding**
|
||||||
|
- [[flooding v1]] (non [[algoritmo corretto|corretto]]...)
|
||||||
|
- [[flooding v2]] ([[algoritmo corretto|corretto]].)
|
||||||
|
- [[flooding v3]] (ottimizzato!)
|
||||||
|
|
||||||
|
## [[notazione Ω-grande|Lower bound]] [[costo computazionale|costo computazionale]]
|
||||||
|
|
||||||
|
### [[Comunicazione]]
|
||||||
|
|
||||||
|
#### Con un solo iniziatore
|
||||||
|
|
||||||
|
Uguale al [[broadcast problem]]:
|
||||||
|
$$
|
||||||
|
\Large 2 \cdot Channels - (Entities - 1)
|
||||||
|
$$
|
||||||
|
|
||||||
|
#### Con tutti iniziatori
|
||||||
|
|
||||||
|
Tutti i [[canale di comunicazione|canali]] vengono esplorati $2$ volte, quindi:
|
||||||
|
$$
|
||||||
|
\Large 2 \cdot Channels
|
||||||
|
$$
|
||||||
|
|
||||||
|
#### Con più iniziatori
|
||||||
|
|
||||||
|
Nel caso peggiore, gli iniziatori sono tutti vicini tra loro, e ciò aumenta il numero di [[canale di comunicazione|canali]] esplorati $2$ volte:
|
||||||
|
$$
|
||||||
|
\Large 2 \cdot Channels - (Entities - Initiators)
|
||||||
|
$$
|
||||||
|
|
||||||
|
### [[9 - Algoritmi distribuiti/1 - Problemi/tempo|Tempo]]
|
||||||
|
|
||||||
|
Nel caso peggiore, si ha un solo iniziatore, il che lo rende uguale al [[broadcast problem]].
|
||||||
|
|
|
@ -1 +1,17 @@
|
||||||
{}
|
{
|
||||||
|
"nodes":[
|
||||||
|
{"id":"1ae79343ecdc2ecf","type":"group","x":900,"y":540,"width":1640,"height":1000,"color":"5","label":"Flooding"},
|
||||||
|
{"id":"1bf892659093d611","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/flooding v1.md","x":920,"y":560,"width":480,"height":960},
|
||||||
|
{"id":"a1841455be06b505","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/flooding v2.md","x":1480,"y":560,"width":480,"height":960},
|
||||||
|
{"id":"ea39c9f9c9d31ba6","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/flooding v3.md","x":2040,"y":560,"width":480,"height":960},
|
||||||
|
{"id":"f3ab5010d2f02e70","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/broadcast problem.md","x":-120,"y":560,"width":960,"height":960},
|
||||||
|
{"id":"11f8175c0f53986b","x":-120,"y":1680,"width":960,"height":960,"type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/2 - Broadcast/wake-up problem.md"}
|
||||||
|
],
|
||||||
|
"edges":[
|
||||||
|
{"id":"35072e6a9d31a026","fromNode":"1bf892659093d611","fromSide":"right","toNode":"a1841455be06b505","toSide":"left"},
|
||||||
|
{"id":"3dc6b0d3f79913da","fromNode":"a1841455be06b505","fromSide":"right","toNode":"ea39c9f9c9d31ba6","toSide":"left"},
|
||||||
|
{"id":"ef4269bad6676843","fromNode":"f3ab5010d2f02e70","fromSide":"bottom","toNode":"11f8175c0f53986b","toSide":"top"},
|
||||||
|
{"id":"29e162f3ecbad77b","fromNode":"11f8175c0f53986b","fromSide":"right","toNode":"1ae79343ecdc2ecf","toSide":"left"},
|
||||||
|
{"id":"b064dba571d8d37f","fromNode":"f3ab5010d2f02e70","fromSide":"right","toNode":"1ae79343ecdc2ecf","toSide":"left"}
|
||||||
|
]
|
||||||
|
}
|
|
@ -1,16 +0,0 @@
|
||||||
[[Algoritmo]] di [[costruzione di uno spanning tree]].
|
|
||||||
|
|
||||||
Utilizza un [[token]] per visitare sequenzialmente tutti i nodi del tree.
|
|
||||||
|
|
||||||
## #TODO [[restrizioni al modello dei sistemi distribuiti]]
|
|
||||||
|
|
||||||
- Iniziatore singolo
|
|
||||||
- [[full-duplex]]
|
|
||||||
- Connettività???
|
|
||||||
- [[affidabilità totale]]
|
|
||||||
|
|
||||||
## [[Stato]]
|
|
||||||
|
|
||||||
|
|
||||||
## [[comportamento]]
|
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
[[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/problema]] per [[sistema distribuito|sistemi distribuiti]].
|
|
||||||
|
|
||||||
Consiste nel creare uno [[spanning tree]] per effettuare efficientemente [[broadcast]] ripetuti.
|
|
||||||
|
|
||||||
## [[restrizioni al modello dei sistemi distribuiti]]
|
|
||||||
|
|
||||||
#TODO
|
|
||||||
|
|
||||||
## Algoritmi
|
|
||||||
|
|
||||||
- [[protocollo shout v1]]
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
Problema per un [[sistema distribuito]], che estende il problema di [[spanning tree construction]].
|
||||||
|
|
||||||
|
## Definizione
|
||||||
|
|
||||||
|
Si vuole [[problema di ricerca|determinare]] uno [[spanning tree]] per il [[sistema distribuito]] in modo da poter effettuare efficientemente [[broadcast problem|broadcast]], ***ma è possibile che più [[entità]] diano il via alla costruzione contemporaneamente***.
|
||||||
|
|
||||||
|
## [[restrizioni al modello dei sistemi distribuiti|Restrizioni]]
|
||||||
|
|
||||||
|
- **[[restrizione di comunicazione|Comunicazione]]**
|
||||||
|
- ***[[iniziatori multipli]]***
|
||||||
|
- [[identificatori univoci]]
|
||||||
|
- **[[restrizione di affidabilità|Affidabilità]]**
|
||||||
|
- [[affidabilità totale]]
|
||||||
|
- **[[restrizione di topologia|Topologia]]**
|
||||||
|
- [[grafo connesso]]
|
||||||
|
- [[full-duplex|grafo indiretto]]
|
||||||
|
- **[[restrizione di tempo|Tempo]]**
|
||||||
|
- [[ritardo di comunicazione unitario]]
|
|
@ -1,11 +0,0 @@
|
||||||
[[Algoritmo]] per la [[costruzione di uno spanning tree]].
|
|
||||||
|
|
||||||
## #TODO [[Stato]]
|
|
||||||
|
|
||||||
## #TODO [[comportamento]]
|
|
||||||
|
|
||||||
## [[costo computazionale distribuito]]
|
|
||||||
|
|
||||||
È composto da una fase di [[flooding broadcast v3]] più una fase di reply.
|
|
||||||
|
|
||||||
Dato che nella fase di reply ogni nodo risponde una e una sola volta, possiamo dire che il costo sia esattamente doppio a quello del [[flooding broadcast v3]].
|
|
|
@ -1,8 +0,0 @@
|
||||||
[[Algoritmo]] per la [[costruzione di uno spanning tree]], basato su [[protocollo shout v1]] ma che interpreta come `No` lo scambio di due `Question` tra nodi.
|
|
||||||
|
|
||||||
## #TODO [[Stato]]
|
|
||||||
|
|
||||||
## #TODO [[comportamento]]
|
|
||||||
|
|
||||||
## [[costo computazionale distribuito]]
|
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
Problema per un [[sistema distribuito]].
|
||||||
|
|
||||||
|
## Definizione
|
||||||
|
|
||||||
|
Si vuole [[problema di ricerca|determinare]] uno [[spanning tree]] per il [[sistema distribuito]] in modo da poter effettuare efficientemente [[broadcast problem|broadcast]].
|
||||||
|
|
||||||
|
## [[restrizioni al modello dei sistemi distribuiti|Restrizioni]]
|
||||||
|
|
||||||
|
- **[[restrizione di comunicazione|Comunicazione]]**
|
||||||
|
- [[iniziatore singolo]]
|
||||||
|
- **[[restrizione di affidabilità|Affidabilità]]**
|
||||||
|
- [[affidabilità totale]]
|
||||||
|
- **[[restrizione di topologia|Topologia]]**
|
||||||
|
- [[grafo connesso]]
|
||||||
|
- [[full-duplex|grafo indiretto]]
|
||||||
|
- **[[restrizione di tempo|Tempo]]**
|
||||||
|
- [[ritardo di comunicazione unitario]]
|
||||||
|
|
||||||
|
## [[algoritmo|Algoritmi]]
|
||||||
|
|
||||||
|
- [[SHOUT protocol]]
|
||||||
|
- [[SHOUT+ protocol]]
|
||||||
|
- [[spanning tree by depth-first traversal]]
|
|
@ -1 +1 @@
|
||||||
[[Sottografo]] [[grafo aciclico|aciclico]] [[grafo connesso|connesso]] che contiene tutti i nodi dell'originale, ma solo un sottoinsieme degli archi.
|
Sotto-[[grafo]] [[grafo aciclico|aciclico]] che include **tutti i [[nodo di un grafo|nodi]]**.
|
||||||
|
|
|
@ -1 +1,9 @@
|
||||||
{}
|
{
|
||||||
|
"nodes":[
|
||||||
|
{"id":"e4db85d4dd9cb928","type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/spanning tree construction.md","x":-320,"y":-1280,"width":960,"height":960},
|
||||||
|
{"id":"42f2908da34c9d4d","x":-40,"y":-1840,"width":400,"height":400,"type":"file","file":"9 - Algoritmi distribuiti/3 - Computazione distribuita/3 - Spanning tree/spanning tree.md"}
|
||||||
|
],
|
||||||
|
"edges":[
|
||||||
|
{"id":"0b872430734f1f17","fromNode":"42f2908da34c9d4d","fromSide":"bottom","toNode":"e4db85d4dd9cb928","toSide":"top"}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1 @@
|
||||||
|
Unica [[entità]] di un [[sistema distribuito]] che dà il via ad un [[algoritmo]] in condizioni di [[iniziatore singolo]].
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
## Funzionamento (del duale FloodMin)
|
## Funzionamento (del duale FloodMin)
|
||||||
|
|
||||||
Vengono effettuati $Diametro$ [[flooding broadcast v3]], ciascuno con l'id più basso incontrato da ciascun nodo nella fase precedente.
|
Vengono effettuati $Diametro$ [[flooding v3]], ciascuno con l'id più basso incontrato da ciascun nodo nella fase precedente.
|
||||||
|
|
||||||
## [[costo computazionale]]
|
## [[costo computazionale]]
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
[[algoritmo]] di [[routing]].
|
|
||||||
|
|
||||||
Sfrutta il [[broadcast]] per fare arrivare il messaggio a destinazione.
|
|
||||||
|
|
||||||
Funziona, ma è molto problematico in termini di [[costo computazionale distribuito]]!
|
|
|
@ -1,5 +0,0 @@
|
||||||
#TODO Termine?
|
|
||||||
|
|
||||||
Database contenuto in ciascuna entità che effettua [[routing]].
|
|
||||||
|
|
||||||
Associa ogni destinazione al collegamento necessario per raggiungerla e al costo richiesto.
|
|
|
@ -1,7 +0,0 @@
|
||||||
---
|
|
||||||
aliases:
|
|
||||||
- instradamento
|
|
||||||
---
|
|
||||||
[[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/problema]].
|
|
||||||
|
|
||||||
Consiste nel determinare un percorso all'interno della [[rete di comunicazione]] tra due [[entità]].
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
aliases:
|
||||||
|
- routing function
|
||||||
|
---
|
||||||
|
[[Funzione]] [[individuale]] che, in un problema di [[routing]], associa ogni [[entità]] con il [[canale di comunicazione]] da utilizzare per raggiungerla.
|
||||||
|
|
||||||
|
$$
|
||||||
|
\def \varSource {{\color{LimeGreen} Source}}
|
||||||
|
\def \varDestination {{\color{IndianRed} Destination}}
|
||||||
|
\Large
|
||||||
|
\textrm{Channel}_{\varSource}(\varDestination)
|
||||||
|
$$
|
||||||
|
|
||||||
|
Comunemente implementata come [[routing table]].
|
|
@ -0,0 +1,65 @@
|
||||||
|
[[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]]
|
||||||
|
|
||||||
|
### [[Comunicazione]]
|
||||||
|
|
||||||
|
==...==
|
||||||
|
### [[Spazio]]
|
||||||
|
|
||||||
|
==...==
|
||||||
|
### [[Tempo]]
|
||||||
|
|
||||||
|
==...==
|
|
@ -0,0 +1 @@
|
||||||
|
[[Entità]] che partecipa ad un [[algoritmo]] di [[routing]].
|
|
@ -0,0 +1,3 @@
|
||||||
|
[[Risorsa]].
|
||||||
|
|
||||||
|
[[Spazio]] necessario a memorizzare la [[funzione di routing]].
|
|
@ -0,0 +1,15 @@
|
||||||
|
In un contesto di [[routing]], [[associazione]] tra [[entità]] da raggiungere e [[canale di comunicazione]] da utilizzare più [[costo]] totale per raggiungerla.
|
||||||
|
|
||||||
|
$$
|
||||||
|
\def \varSource {{\color{LimeGreen} Source}}
|
||||||
|
\def \varDestination {{\color{IndianRed} Destination}}
|
||||||
|
\Large
|
||||||
|
\varDestination \to
|
||||||
|
\begin{pmatrix}
|
||||||
|
\textrm{Channel}_{\varSource}(\varDestination)
|
||||||
|
\\
|
||||||
|
\textrm{Cost}_{\varSource}(\varDestination)
|
||||||
|
\end{pmatrix}
|
||||||
|
$$
|
||||||
|
|
||||||
|
Implementazione semplice di [[funzione di routing]].
|
|
@ -0,0 +1,28 @@
|
||||||
|
[[problema di ottimizzazione]] per un [[sistema distribuito]].
|
||||||
|
|
||||||
|
## 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
|
||||||
|
|
||||||
|
## [[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]]
|
||||||
|
|
||||||
|
## [[algoritmo|Algoritmi]]
|
||||||
|
|
||||||
|
- [[broadcast routing]]
|
||||||
|
- [[routing table gossiping]]
|
||||||
|
- [[routing table iterating]]
|
||||||
|
- [[shortest path spanning tree]]
|
||||||
|
- [[min-hop routing]]
|
|
@ -0,0 +1,3 @@
|
||||||
|
[[Risorsa]].
|
||||||
|
|
||||||
|
[[Tempo]] necessario a valutare la [[funzione di routing]].
|
|
@ -0,0 +1,4 @@
|
||||||
|
{
|
||||||
|
"nodes":[],
|
||||||
|
"edges":[]
|
||||||
|
}
|
13
9 - Algoritmi distribuiti/★ algoritmi distribuiti.md
Normal file
13
9 - Algoritmi distribuiti/★ algoritmi distribuiti.md
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
Appunti del corso di ***Algoritmi distribuiti***, tenuto da [[Manuela Montangero]] e [[Giacomo Cabri]] nel primo semestre dell'anno accademico 2023/2024.
|
||||||
|
|
||||||
|
## Appunti
|
||||||
|
|
||||||
|
1. [[★ problemi.canvas|★ problemi]]
|
||||||
|
2. [[★ algoritmi di approssimazione.canvas|★ algoritmi di approssimazione]]
|
||||||
|
3. **Computazione distribuita**
|
||||||
|
1. [[★ concetti.canvas|★ concetti]]
|
||||||
|
2. [[★ broadcast.canvas|★ broadcast]]
|
||||||
|
3. [[★ spanning tree.canvas|★ spanning tree]]
|
||||||
|
4. [[★ computation in trees.canvas|★ computation in trees]]
|
||||||
|
5. [[★ leader election.canvas|★ leader election]]
|
||||||
|
6. [[★ routing.canvas|★ routing]]
|
42
README.md
42
README.md
|
@ -5,35 +5,41 @@ Sono [Steffo](https://www.steffo.eu/), studente del corso di Laurea Magistrale i
|
||||||
Li [ho pubblicati qui](https://gh.steffo.eu/obsiview/?vault=https%3A%2F%2Fraw.githubusercontent.com%2FSteffo99%2Fappunti-magistrali%2Fmain%2F&path=README.md) nella speranza che ti possano essere utili!
|
Li [ho pubblicati qui](https://gh.steffo.eu/obsiview/?vault=https%3A%2F%2Fraw.githubusercontent.com%2FSteffo99%2Fappunti-magistrali%2Fmain%2F&path=README.md) nella speranza che ti possano essere utili!
|
||||||
|
|
||||||
Buona fortuna! :)
|
Buona fortuna! :)
|
||||||
## Insegnamenti
|
## Contenuti
|
||||||
|
|
||||||
### 7 - Primo semestre magistrale
|
### `0` - Sistema e materiali di studio
|
||||||
|
|
||||||
- [Big data analytics](7%20-%20Big%20data%20analytics/README.md)
|
- Concetti generali sfusi
|
||||||
- [High performance computing](7%20-%20High%20performance%20computing/README.md)
|
- Template per creazione di nuove pagine
|
||||||
|
- Materiali vari di studio (non pubblicati, ma potenzialmente referenziati)
|
||||||
|
|
||||||
### 8 - Secondo semestre magistrale
|
### `7` - Primo semestre magistrale
|
||||||
|
|
||||||
- [Crittografia applicata](8%20-%20Crittografia%20applicata/README.md)
|
- [[★ big data analytics]]
|
||||||
- [Metodologie di sviluppo software](8%20-%20Metodologie%20di%20sviluppo%20software/README.md)
|
- [[★ high performance computing]]
|
||||||
- [Sistemi complessi](8%20-%20Sistemi%20complessi/README.md)
|
|
||||||
- [Sviluppo di software sicuro](8%20-%20Sviluppo%20di%20software%20sicuro/README.md)
|
|
||||||
|
|
||||||
### 9 - Terzo semestre magistrale
|
### `8` - Secondo semestre magistrale
|
||||||
|
|
||||||
- [Algoritmi distribuiti](9%20-%20Algoritmi%20distribuiti/README.md)
|
- [[★ crittografia applicata]]
|
||||||
- [Cloud and edge computing](9%20-%20Cloud%20and%20edge%20computing/README.md)
|
- [[★ metodologie di sviluppo software]]
|
||||||
- [Kernel hacking](9%20-%20Kernel%20hacking/README.md)
|
- [[★ sistemi complessi]]
|
||||||
- [Programmazione mobile](9%20-%20Programmazione%20mobile/README.md)
|
- [[★ sviluppo di software sicuro]]
|
||||||
|
|
||||||
### 10 - Quarto semestre magistrale
|
### `9` - Terzo semestre magistrale
|
||||||
|
|
||||||
|
- [[★ algoritmi distribuiti]]
|
||||||
|
- [[★ cloud and edge computing]]
|
||||||
|
- [[★ kernel hacking]]
|
||||||
|
- [[★ programmazione mobile]]
|
||||||
|
|
||||||
|
### `10` - Quarto semestre magistrale
|
||||||
|
|
||||||
*Non c'è ancora niente qui.*
|
*Non c'è ancora niente qui.*
|
||||||
|
|
||||||
### X - Work-in-progress
|
### `X` - Work-in-progress
|
||||||
|
|
||||||
- [Introduction to quantum information processing](X%20-%20Introduction%20to%20quantum%20information%20processing/README.md)
|
- [[★ introduction to quantum information processing]]
|
||||||
- [Fondamenti di machine learning](X%20-%20Fondamenti%20di%20machine%20learning/README.md)
|
- [[★ fondamenti di machine learning]]
|
||||||
|
|
||||||
## Licenza
|
## Licenza
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue