mirror of
https://github.com/Steffo99/appunti-magistrali.git
synced 2024-11-25 03:34:17 +00:00
Update a few things
This commit is contained in:
parent
8274c28ffb
commit
85d01197a3
166 changed files with 3572 additions and 255 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -6,5 +6,4 @@
|
||||||
.obsidian/workspace-mobile.json
|
.obsidian/workspace-mobile.json
|
||||||
.trash
|
.trash
|
||||||
|
|
||||||
0 - Generale/★ esami.canvas
|
|
||||||
**/0 - Materiale di studio/
|
**/0 - Materiale di studio/
|
4
.obsidian/app.json
vendored
4
.obsidian/app.json
vendored
|
@ -3,7 +3,7 @@
|
||||||
"useMarkdownLinks": false,
|
"useMarkdownLinks": false,
|
||||||
"defaultViewMode": "source",
|
"defaultViewMode": "source",
|
||||||
"showFrontmatter": true,
|
"showFrontmatter": true,
|
||||||
"attachmentFolderPath": "./",
|
"attachmentFolderPath": "0 - Generale",
|
||||||
"newFileLocation": "current",
|
"newFileLocation": "current",
|
||||||
"strictLineBreaks": true,
|
"strictLineBreaks": true,
|
||||||
"showLineNumber": true,
|
"showLineNumber": true,
|
||||||
|
@ -12,6 +12,6 @@
|
||||||
"autoConvertHtml": true,
|
"autoConvertHtml": true,
|
||||||
"showUnsupportedFiles": true,
|
"showUnsupportedFiles": true,
|
||||||
"newLinkFormat": "shortest",
|
"newLinkFormat": "shortest",
|
||||||
"trashOption": "local",
|
"trashOption": "system",
|
||||||
"promptDelete": false
|
"promptDelete": false
|
||||||
}
|
}
|
2
.obsidian/appearance.json
vendored
2
.obsidian/appearance.json
vendored
|
@ -2,7 +2,7 @@
|
||||||
"accentColor": "#d14224",
|
"accentColor": "#d14224",
|
||||||
"textFontFamily": "",
|
"textFontFamily": "",
|
||||||
"monospaceFontFamily": "",
|
"monospaceFontFamily": "",
|
||||||
"theme": "system",
|
"theme": "obsidian",
|
||||||
"baseFontSize": 16,
|
"baseFontSize": 16,
|
||||||
"enabledCssSnippets": [
|
"enabledCssSnippets": [
|
||||||
"canvas-zoom",
|
"canvas-zoom",
|
||||||
|
|
3
.obsidian/community-plugins.json
vendored
3
.obsidian/community-plugins.json
vendored
|
@ -1,3 +1,4 @@
|
||||||
[
|
[
|
||||||
"obsidian-file-color"
|
"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": false,
|
"templates": false,
|
||||||
"note-composer": false,
|
"note-composer": false,
|
||||||
"command-palette": false,
|
"command-palette": true,
|
||||||
"slash-command": false,
|
"slash-command": false,
|
||||||
"editor-status": true,
|
"editor-status": true,
|
||||||
"starred": false,
|
"starred": false,
|
||||||
|
|
1
.obsidian/core-plugins.json
vendored
1
.obsidian/core-plugins.json
vendored
|
@ -8,6 +8,7 @@
|
||||||
"outgoing-link",
|
"outgoing-link",
|
||||||
"tag-pane",
|
"tag-pane",
|
||||||
"properties",
|
"properties",
|
||||||
|
"command-palette",
|
||||||
"editor-status",
|
"editor-status",
|
||||||
"bookmarks",
|
"bookmarks",
|
||||||
"outline",
|
"outline",
|
||||||
|
|
22
.obsidian/graph.json
vendored
22
.obsidian/graph.json
vendored
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"collapse-filter": false,
|
"collapse-filter": false,
|
||||||
"search": "path:\"8 - Sistemi complessi\" ",
|
"search": "",
|
||||||
"showTags": false,
|
"showTags": false,
|
||||||
"showAttachments": false,
|
"showAttachments": false,
|
||||||
"hideUnresolved": false,
|
"hideUnresolved": false,
|
||||||
|
@ -8,10 +8,24 @@
|
||||||
"collapse-color-groups": false,
|
"collapse-color-groups": false,
|
||||||
"colorGroups": [
|
"colorGroups": [
|
||||||
{
|
{
|
||||||
"query": "path:\"8 - Sistemi complessi/4 - Grafi\" ",
|
"query": "path:\"8 - Sistemi complessi\"",
|
||||||
"color": {
|
"color": {
|
||||||
"a": 1,
|
"a": 1,
|
||||||
"rgb": 65284
|
"rgb": 16776960
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"query": "path:\"9 - Algoritmi distribuiti\" ",
|
||||||
|
"color": {
|
||||||
|
"a": 1,
|
||||||
|
"rgb": 255
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"query": "path:\"8 - Crittografia applicata\" ",
|
||||||
|
"color": {
|
||||||
|
"a": 1,
|
||||||
|
"rgb": 16728064
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -25,6 +39,6 @@
|
||||||
"repelStrength": 20,
|
"repelStrength": 20,
|
||||||
"linkStrength": 1,
|
"linkStrength": 1,
|
||||||
"linkDistance": 30,
|
"linkDistance": 30,
|
||||||
"scale": 0.45050811767578125,
|
"scale": 0.14225414259055147,
|
||||||
"close": true
|
"close": true
|
||||||
}
|
}
|
256
.obsidian/hotkeys.json
vendored
256
.obsidian/hotkeys.json
vendored
|
@ -1 +1,255 @@
|
||||||
{}
|
{
|
||||||
|
"markdown:add-metadata-property": [],
|
||||||
|
"file-explorer:new-file": [
|
||||||
|
{
|
||||||
|
"modifiers": [
|
||||||
|
"Mod"
|
||||||
|
],
|
||||||
|
"key": "Insert"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"modifiers": [
|
||||||
|
"Mod"
|
||||||
|
],
|
||||||
|
"key": "N"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"file-explorer:new-file-in-new-pane": [],
|
||||||
|
"editor:delete-paragraph": [],
|
||||||
|
"editor:follow-link": [],
|
||||||
|
"workspace:goto-last-tab": [],
|
||||||
|
"editor:insert-link": [
|
||||||
|
{
|
||||||
|
"modifiers": [
|
||||||
|
"Mod"
|
||||||
|
],
|
||||||
|
"key": "U"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"workspace:new-tab": [],
|
||||||
|
"app:open-help": [],
|
||||||
|
"app:open-settings": [],
|
||||||
|
"switcher:open": [],
|
||||||
|
"editor:open-search-replace": [
|
||||||
|
{
|
||||||
|
"modifiers": [
|
||||||
|
"Mod"
|
||||||
|
],
|
||||||
|
"key": "H"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"modifiers": [
|
||||||
|
"Mod"
|
||||||
|
],
|
||||||
|
"key": "R"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"editor:toggle-blockquote": [
|
||||||
|
{
|
||||||
|
"modifiers": [
|
||||||
|
"Mod"
|
||||||
|
],
|
||||||
|
"key": "\\"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"editor:toggle-bullet-list": [
|
||||||
|
{
|
||||||
|
"modifiers": [
|
||||||
|
"Mod"
|
||||||
|
],
|
||||||
|
"key": "-"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"editor:toggle-inline-math": [
|
||||||
|
{
|
||||||
|
"modifiers": [
|
||||||
|
"Mod",
|
||||||
|
"Shift"
|
||||||
|
],
|
||||||
|
"key": "4"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"editor:set-heading": [
|
||||||
|
{
|
||||||
|
"modifiers": [
|
||||||
|
"Alt",
|
||||||
|
"Mod"
|
||||||
|
],
|
||||||
|
"key": "'"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"editor:toggle-code": [
|
||||||
|
{
|
||||||
|
"modifiers": [
|
||||||
|
"Alt",
|
||||||
|
"Mod"
|
||||||
|
],
|
||||||
|
"key": "["
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"editor:toggle-comments": [
|
||||||
|
{
|
||||||
|
"modifiers": [
|
||||||
|
"Mod",
|
||||||
|
"Shift"
|
||||||
|
],
|
||||||
|
"key": "5"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"editor:toggle-numbered-list": [
|
||||||
|
{
|
||||||
|
"modifiers": [
|
||||||
|
"Mod",
|
||||||
|
"Shift"
|
||||||
|
],
|
||||||
|
"key": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"app:toggle-right-sidebar": [
|
||||||
|
{
|
||||||
|
"modifiers": [
|
||||||
|
"Mod"
|
||||||
|
],
|
||||||
|
"key": "End"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"app:toggle-left-sidebar": [
|
||||||
|
{
|
||||||
|
"modifiers": [
|
||||||
|
"Mod"
|
||||||
|
],
|
||||||
|
"key": "Home"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"editor:toggle-strikethrough": [
|
||||||
|
{
|
||||||
|
"modifiers": [
|
||||||
|
"Alt",
|
||||||
|
"Mod"
|
||||||
|
],
|
||||||
|
"key": "]"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"editor:fold-all": [
|
||||||
|
{
|
||||||
|
"modifiers": [
|
||||||
|
"Alt",
|
||||||
|
"Mod",
|
||||||
|
"Shift"
|
||||||
|
],
|
||||||
|
"key": "-"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"editor:unfold-all": [
|
||||||
|
{
|
||||||
|
"modifiers": [
|
||||||
|
"Alt",
|
||||||
|
"Mod",
|
||||||
|
"Shift"
|
||||||
|
],
|
||||||
|
"key": "+"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"workspace:undo-close-pane": [],
|
||||||
|
"theme:use-dark": [
|
||||||
|
{
|
||||||
|
"modifiers": [
|
||||||
|
"Mod"
|
||||||
|
],
|
||||||
|
"key": "T"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"theme:use-light": [
|
||||||
|
{
|
||||||
|
"modifiers": [
|
||||||
|
"Mod",
|
||||||
|
"Shift"
|
||||||
|
],
|
||||||
|
"key": "T"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"editor:insert-mathblock": [
|
||||||
|
{
|
||||||
|
"modifiers": [
|
||||||
|
"Alt",
|
||||||
|
"Mod",
|
||||||
|
"Shift"
|
||||||
|
],
|
||||||
|
"key": "4"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"editor:insert-codeblock": [
|
||||||
|
{
|
||||||
|
"modifiers": [
|
||||||
|
"Alt",
|
||||||
|
"Mod",
|
||||||
|
"Shift"
|
||||||
|
],
|
||||||
|
"key": "["
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"editor:insert-callout": [
|
||||||
|
{
|
||||||
|
"modifiers": [
|
||||||
|
"Mod",
|
||||||
|
"Shift"
|
||||||
|
],
|
||||||
|
"key": "\\"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"editor:attach-file": [
|
||||||
|
{
|
||||||
|
"modifiers": [
|
||||||
|
"Alt",
|
||||||
|
"Mod",
|
||||||
|
"Shift"
|
||||||
|
],
|
||||||
|
"key": "V"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"graph:open": [
|
||||||
|
{
|
||||||
|
"modifiers": [
|
||||||
|
"Mod",
|
||||||
|
"Shift"
|
||||||
|
],
|
||||||
|
"key": "G"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"graph:open-local": [
|
||||||
|
{
|
||||||
|
"modifiers": [
|
||||||
|
"Mod"
|
||||||
|
],
|
||||||
|
"key": "G"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"app:delete-file": [
|
||||||
|
{
|
||||||
|
"modifiers": [
|
||||||
|
"Alt",
|
||||||
|
"Mod",
|
||||||
|
"Shift"
|
||||||
|
],
|
||||||
|
"key": "Delete"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"workspace:toggle-pin": [
|
||||||
|
{
|
||||||
|
"modifiers": [
|
||||||
|
"Alt",
|
||||||
|
"Mod"
|
||||||
|
],
|
||||||
|
"key": "P"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"command-palette:open": [
|
||||||
|
{
|
||||||
|
"modifiers": [
|
||||||
|
"Mod",
|
||||||
|
"Shift"
|
||||||
|
],
|
||||||
|
"key": "P"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
303
.obsidian/plugins/obsidian-file-color/data.json
vendored
303
.obsidian/plugins/obsidian-file-color/data.json
vendored
|
@ -8,17 +8,12 @@
|
||||||
{
|
{
|
||||||
"id": "me4XBNQC4rwzQFLlvIAn0",
|
"id": "me4XBNQC4rwzQFLlvIAn0",
|
||||||
"name": "System",
|
"name": "System",
|
||||||
"value": "#65342a"
|
"value": "#5c0f00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "fc3lLaITDn62PYbzBhqxl",
|
"id": "fc3lLaITDn62PYbzBhqxl",
|
||||||
"name": "To do",
|
"name": "To do",
|
||||||
"value": "#dac38b"
|
"value": "#d7a628"
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "hEs1KsnMgHNA_g4pwAxtt",
|
|
||||||
"name": "Done",
|
|
||||||
"value": "#696969"
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"fileColors": [
|
"fileColors": [
|
||||||
|
@ -91,7 +86,7 @@
|
||||||
"color": "7j7Pqog0VHMVVAfazMNlb"
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "7 - High performance computing/★ glossario ad alta performance.md",
|
"path": "7 - High performance computing/★ glossario.md",
|
||||||
"color": "7j7Pqog0VHMVVAfazMNlb"
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -114,14 +109,6 @@
|
||||||
"path": "8 - Metodologie di sviluppo software/★ Materiale di studio",
|
"path": "8 - Metodologie di sviluppo software/★ Materiale di studio",
|
||||||
"color": "7j7Pqog0VHMVVAfazMNlb"
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"path": "8 - Metodologie di sviluppo software",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "7 - High performance computing",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"path": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/2 - Teoria delle curve ellittiche/★ mappa concettuale.canvas",
|
"path": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/2 - Teoria delle curve ellittiche/★ mappa concettuale.canvas",
|
||||||
"color": "7j7Pqog0VHMVVAfazMNlb"
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
@ -130,30 +117,10 @@
|
||||||
"path": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/★ mappa concettuale.canvas",
|
"path": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/4 - Crittografia asimmetrica/★ mappa concettuale.canvas",
|
||||||
"color": "7j7Pqog0VHMVVAfazMNlb"
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"path": "0 - Generale/★ esami.canvas",
|
|
||||||
"color": "7j7Pqog0VHMVVAfazMNlb"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"path": "0 - Generale",
|
"path": "0 - Generale",
|
||||||
"color": "7j7Pqog0VHMVVAfazMNlb"
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"path": "7 - Big data analytics",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "7 - Introduction to quantum information processing",
|
|
||||||
"color": "fc3lLaITDn62PYbzBhqxl"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "8 - Crittografia applicata",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "8 - Sviluppo di software sicuro",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"path": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/★ mappa concettuale.canvas",
|
"path": "8 - Crittografia applicata/3 - Comunicazione asimmetrica/5 - Firma digitale/★ mappa concettuale.canvas",
|
||||||
"color": "7j7Pqog0VHMVVAfazMNlb"
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
@ -182,78 +149,10 @@
|
||||||
"path": "8 - Crittografia applicata/5 - Protocolli sicuri/3 - Signal/★ mappa concettuale.canvas",
|
"path": "8 - Crittografia applicata/5 - Protocolli sicuri/3 - Signal/★ mappa concettuale.canvas",
|
||||||
"color": "7j7Pqog0VHMVVAfazMNlb"
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"path": "8 - Sviluppo di software sicuro/0 - Materiale di studio/Slides/6b-unit-testing.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "8 - Sviluppo di software sicuro/0 - Materiale di studio/Slides/6a-introduzione.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "8 - Sviluppo di software sicuro/0 - Materiale di studio/Slides/5f-controllo-input.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "8 - Sviluppo di software sicuro/0 - Materiale di studio/Slides/5e-sincronizzazione.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "8 - Sviluppo di software sicuro/0 - Materiale di studio/Slides/5d-riduzione-superficie-attacco.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "8 - Sviluppo di software sicuro/0 - Materiale di studio/Slides/5c-regola-silenzio.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "8 - Sviluppo di software sicuro/0 - Materiale di studio/Slides/5b-minimo-privilegio.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "8 - Sviluppo di software sicuro/0 - Materiale di studio/Slides/5a-introduzione.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "8 - Sviluppo di software sicuro/0 - Materiale di studio/Slides/4f-input-non-controllato.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "8 - Sviluppo di software sicuro/0 - Materiale di studio/Slides/4e-corse-critiche.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "8 - Sviluppo di software sicuro/0 - Materiale di studio/Slides/4d-eccessiva-esposizione-asset.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "8 - Sviluppo di software sicuro/0 - Materiale di studio/Slides/4c-eccessiva-verbosita-output.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "8 - Sviluppo di software sicuro/0 - Materiale di studio/Slides/4a-introduzione.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "8 - Sviluppo di software sicuro/0 - Materiale di studio/Slides/3-definizioni.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "8 - Sviluppo di software sicuro/0 - Materiale di studio/Slides/4b-esecuzione-privilegi-elevati.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"path": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Integrità semplice/★ mappa concettuale.canvas",
|
"path": "8 - Crittografia applicata/2 - Comunicazione simmetrica/3 - Integrità semplice/★ mappa concettuale.canvas",
|
||||||
"color": "7j7Pqog0VHMVVAfazMNlb"
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"path": "8 - Sviluppo di software sicuro/0 - Materiale di studio/Slides/6c-analisi-statica.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "8 - Sviluppo di software sicuro/0 - Materiale di studio/Slides/6d-analisi-dinamica.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"path": "8 - Sistemi complessi/2 - Sistemi complessi/★ sistemi complessi.canvas",
|
"path": "8 - Sistemi complessi/2 - Sistemi complessi/★ sistemi complessi.canvas",
|
||||||
"color": "7j7Pqog0VHMVVAfazMNlb"
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
@ -274,18 +173,6 @@
|
||||||
"path": "8 - Sistemi complessi/6 - Robustezza/★ robustezza.canvas",
|
"path": "8 - Sistemi complessi/6 - Robustezza/★ robustezza.canvas",
|
||||||
"color": "7j7Pqog0VHMVVAfazMNlb"
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"path": "8 - Sistemi complessi/0 - Materiale di studio/Slides/01_introduction_p1_V2d.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "8 - Sistemi complessi/0 - Materiale di studio/Slides/01_introduction_p2_V3d.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "8 - Sistemi complessi/0 - Materiale di studio/Slides/000_introd.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"path": "8 - Sistemi complessi/1 - Sistemi dinamici/★ sistemi dinamici.canvas",
|
"path": "8 - Sistemi complessi/1 - Sistemi dinamici/★ sistemi dinamici.canvas",
|
||||||
"color": "7j7Pqog0VHMVVAfazMNlb"
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
@ -298,70 +185,14 @@
|
||||||
"path": "8 - Sistemi complessi/2 - Sistemi complessi/dense periodic orbits.md",
|
"path": "8 - Sistemi complessi/2 - Sistemi complessi/dense periodic orbits.md",
|
||||||
"color": "fc3lLaITDn62PYbzBhqxl"
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"path": "8 - Sistemi complessi/0 - Materiale di studio/Slides/02_selforganization_P1_V2d.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "8 - Sistemi complessi/0 - Materiale di studio/Slides/02_selforganization_P2d.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"path": "8 - Sistemi complessi/2 - Sistemi complessi/Landau's phenomenological theory.md",
|
"path": "8 - Sistemi complessi/2 - Sistemi complessi/Landau's phenomenological theory.md",
|
||||||
"color": "fc3lLaITDn62PYbzBhqxl"
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"path": "8 - Sistemi complessi/0 - Materiale di studio/Slides/02_selforganization_P3_V2d.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "8 - Sistemi complessi/0 - Materiale di studio/Slides/03_CA1_intro_emergenced.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "8 - Sistemi complessi/0 - Materiale di studio/Slides/03_CA2_CA1Dd.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "8 - Sistemi complessi/0 - Materiale di studio/Slides/03_CA3_self_replicationd.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "8 - Sistemi complessi/0 - Materiale di studio/Slides/03_CA4_fluidodind.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "8 - Sistemi complessi/0 - Materiale di studio/Slides/03_CA5_modelli_v2d.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "8 - Sistemi complessi/0 - Materiale di studio/Slides/03_CA6_societad.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"path": "8 - Sistemi complessi/4 - Grafi/percolation threshold.md",
|
"path": "8 - Sistemi complessi/4 - Grafi/percolation threshold.md",
|
||||||
"color": "fc3lLaITDn62PYbzBhqxl"
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"path": "8 - Sistemi complessi/0 - Materiale di studio/Slides/04a_lab_reti_p1_v1_COLOREd.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "8 - Sistemi complessi/0 - Materiale di studio/Slides/04a_lab_reti_p2a_v1d_COLOR.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "8 - Sistemi complessi/0 - Materiale di studio/Slides/04a_lab_reti_p2b_v1d_COLOR.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "8 - Sistemi complessi/0 - Materiale di studio/Slides/04a_lab_reti_p2c_v1d_COLOR.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "8 - Sistemi complessi/0 - Materiale di studio/Slides/04a_lab_reti_p3_v1d.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"path": "8 - Sistemi complessi/4 - Grafi/★ grafi multi-livello.canvas",
|
"path": "8 - Sistemi complessi/4 - Grafi/★ grafi multi-livello.canvas",
|
||||||
"color": "7j7Pqog0VHMVVAfazMNlb"
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
|
@ -378,30 +209,10 @@
|
||||||
"path": "8 - Sistemi complessi/4 - Grafi/★ ipergrafi.canvas",
|
"path": "8 - Sistemi complessi/4 - Grafi/★ ipergrafi.canvas",
|
||||||
"color": "7j7Pqog0VHMVVAfazMNlb"
|
"color": "7j7Pqog0VHMVVAfazMNlb"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"path": "8 - Sistemi complessi/0 - Materiale di studio/Slides/05_Mreti_v2d.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "8 - Sistemi complessi/0 - Materiale di studio/Slides/05c_HypNet_V3d.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "8 - Sistemi complessi/0 - Materiale di studio/Slides/06a_OOL_protocells_v3d.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"path": "8 - Sistemi complessi/5 - Origine della vita/insieme auto-catalitico riflessivo generato da cibo.md",
|
"path": "8 - Sistemi complessi/5 - Origine della vita/insieme auto-catalitico riflessivo generato da cibo.md",
|
||||||
"color": "fc3lLaITDn62PYbzBhqxl"
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"path": "8 - Sistemi complessi/0 - Materiale di studio/Slides/06b_autocat_V4_p1d.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "8 - Sistemi complessi/0 - Materiale di studio/Slides/06b_autocat_V4_p2d.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"path": "8 - Sistemi complessi/0 - Materiale di studio/Slides/07_RBNd_COLOR.pdf",
|
"path": "8 - Sistemi complessi/0 - Materiale di studio/Slides/07_RBNd_COLOR.pdf",
|
||||||
"color": "fc3lLaITDn62PYbzBhqxl"
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
@ -422,14 +233,6 @@
|
||||||
"path": "8 - Sistemi complessi/6 - Robustezza/evolvibilità.md",
|
"path": "8 - Sistemi complessi/6 - Robustezza/evolvibilità.md",
|
||||||
"color": "fc3lLaITDn62PYbzBhqxl"
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"path": "8 - Sistemi complessi/0 - Materiale di studio/Slides/08_degener_v1d.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "8 - Sistemi complessi/0 - Materiale di studio/Slides/10_HOT_v1d.pdf",
|
|
||||||
"color": "hEs1KsnMgHNA_g4pwAxtt"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"path": "8 - Sistemi complessi/5 - Origine della vita/modello di Kauffman gene-RBN.md",
|
"path": "8 - Sistemi complessi/5 - Origine della vita/modello di Kauffman gene-RBN.md",
|
||||||
"color": "fc3lLaITDn62PYbzBhqxl"
|
"color": "fc3lLaITDn62PYbzBhqxl"
|
||||||
|
@ -437,6 +240,106 @@
|
||||||
{
|
{
|
||||||
"path": "8 - Sistemi complessi/5 - Origine della vita/★ geni come random boolean network.canvas",
|
"path": "8 - Sistemi complessi/5 - Origine della vita/★ geni come random boolean network.canvas",
|
||||||
"color": "7j7Pqog0VHMVVAfazMNlb"
|
"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": "steffo-file-index.json",
|
||||||
|
"color": "me4XBNQC4rwzQFLlvIAn0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "steffo-file-index-ignore.json",
|
||||||
|
"color": "me4XBNQC4rwzQFLlvIAn0"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
146
.obsidian/plugins/steffo-file-index/main.js
vendored
Normal file
146
.obsidian/plugins/steffo-file-index/main.js
vendored
Normal file
File diff suppressed because one or more lines are too long
11
.obsidian/plugins/steffo-file-index/manifest.json
vendored
Normal file
11
.obsidian/plugins/steffo-file-index/manifest.json
vendored
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"id": "steffo-file-index",
|
||||||
|
"name": "File Index",
|
||||||
|
"version": "1.1.0",
|
||||||
|
"minAppVersion": "0.15.0",
|
||||||
|
"description": "Create a metadata file about the files present in the Vault",
|
||||||
|
"author": "Steffo",
|
||||||
|
"authorUrl": "https://www.steffo.eu",
|
||||||
|
"fundingUrl": "https://ko-fi.com/steffo",
|
||||||
|
"isDesktopOnly": false
|
||||||
|
}
|
1
0 - Generale/back edge.md
Normal file
1
0 - Generale/back edge.md
Normal file
|
@ -0,0 +1 @@
|
||||||
|
[[arco di un grafo|arco]] in un [[albero]] che connette un [[nodo di un grafo|nodo]] ad un suo antenato.
|
31
7 - Big data analytics/★ indice.canvas
Normal file
31
7 - Big data analytics/★ indice.canvas
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
{
|
||||||
|
"nodes":[
|
||||||
|
{"id":"6b1fd76799ab0012","type":"file","file":"7 - Big data analytics/A2 - Big data/README.md","subpath":"#Redis per applicazioni scalabili, efficienti e veloci","x":-800,"y":-480,"width":880,"height":960},
|
||||||
|
{"id":"e4cbe1c9d5eb9723","type":"file","file":"7 - Big data analytics/A1 - MongoDB/README.md","subpath":"#Ricerca in linguaggio naturale sul dataset Amazon","x":240,"y":-480,"width":880,"height":960},
|
||||||
|
{"id":"7c1c60e823cc24ed","type":"file","file":"7 - Big data analytics/A3 - Neo4J/README.md","subpath":"#Modellazione di un database Neo4J per le dipendenze delle crates del linguaggio Rust","x":1280,"y":-480,"width":880,"height":960},
|
||||||
|
{"id":"77b5537483e2931f","type":"file","file":"7 - Big data analytics/B1 - Data analytics/README.md","subpath":"#Data analytics","x":2320,"y":-480,"width":880,"height":960},
|
||||||
|
{"id":"53e84ca993b4c1bb","type":"file","file":"7 - Big data analytics/B3 - Graph analytics/README.md","subpath":"#Analisi su grafo Neo4J relativo alle dipendenze delle crates del linguaggio Rust","x":3360,"y":-480,"width":880,"height":960},
|
||||||
|
{"id":"1b701e57c527ec45","type":"file","file":"7 - Big data analytics/B2 - Text analytics/README.md","subpath":"#Confronto tra modelli di sentiment analysis per recensioni Amazon","x":4400,"y":-480,"width":880,"height":960},
|
||||||
|
{"id":"b285c5a2a42b4b96","type":"text","text":"# Progetti","x":2140,"y":-800,"width":200,"height":80,"color":"#ffffff"},
|
||||||
|
{"id":"322a35eaca61d03f","x":-800,"y":640,"width":880,"height":960,"type":"link","url":"https://github.com/Steffo99/unimore-bda-1"},
|
||||||
|
{"id":"ad0bf82864f8ab92","x":240,"y":640,"width":880,"height":960,"type":"link","url":"https://github.com/Steffo99/unimore-bda-2"},
|
||||||
|
{"id":"1ea0dbc5af26f1d0","x":1280,"y":640,"width":880,"height":960,"type":"link","url":"https://github.com/Steffo99/unimore-bda-3"},
|
||||||
|
{"id":"583dab4ef85f9ab8","x":2320,"y":640,"width":880,"height":960,"type":"link","url":"https://github.com/Steffo99/unimore-bda-4"},
|
||||||
|
{"id":"8f57ec61410579e3","x":3360,"y":640,"width":880,"height":960,"type":"link","url":"https://github.com/Steffo99/unimore-bda-5"},
|
||||||
|
{"id":"460943111ec9b9eb","x":4400,"y":640,"width":880,"height":960,"type":"link","url":"https://github.com/Steffo99/unimore-bda-6"}
|
||||||
|
],
|
||||||
|
"edges":[
|
||||||
|
{"id":"37eaaf2a85a6f27b","fromNode":"b285c5a2a42b4b96","fromSide":"bottom","toNode":"6b1fd76799ab0012","toSide":"top"},
|
||||||
|
{"id":"d1d8cd4aa5b79a9b","fromNode":"b285c5a2a42b4b96","fromSide":"bottom","toNode":"e4cbe1c9d5eb9723","toSide":"top"},
|
||||||
|
{"id":"0db3535077dc0690","fromNode":"b285c5a2a42b4b96","fromSide":"bottom","toNode":"7c1c60e823cc24ed","toSide":"top"},
|
||||||
|
{"id":"672782657df38254","fromNode":"b285c5a2a42b4b96","fromSide":"bottom","toNode":"77b5537483e2931f","toSide":"top"},
|
||||||
|
{"id":"ba306bf36bf9b65a","fromNode":"b285c5a2a42b4b96","fromSide":"bottom","toNode":"53e84ca993b4c1bb","toSide":"top"},
|
||||||
|
{"id":"60bdd10dcdd3a3ea","fromNode":"b285c5a2a42b4b96","fromSide":"bottom","toNode":"1b701e57c527ec45","toSide":"top"},
|
||||||
|
{"id":"3bc6b70bc61c8a26","fromNode":"6b1fd76799ab0012","fromSide":"bottom","toNode":"322a35eaca61d03f","toSide":"top"},
|
||||||
|
{"id":"370e09a6ce9572bf","fromNode":"e4cbe1c9d5eb9723","fromSide":"bottom","toNode":"ad0bf82864f8ab92","toSide":"top"},
|
||||||
|
{"id":"9dd36277eac4ee70","fromNode":"7c1c60e823cc24ed","fromSide":"bottom","toNode":"1ea0dbc5af26f1d0","toSide":"top"},
|
||||||
|
{"id":"a29210bb95313ec7","fromNode":"77b5537483e2931f","fromSide":"bottom","toNode":"583dab4ef85f9ab8","toSide":"top"},
|
||||||
|
{"id":"efd229189b9a96f1","fromNode":"53e84ca993b4c1bb","fromSide":"bottom","toNode":"8f57ec61410579e3","toSide":"top"},
|
||||||
|
{"id":"9ebb31c9c4e1f357","fromNode":"1b701e57c527ec45","fromSide":"bottom","toNode":"460943111ec9b9eb","toSide":"top"}
|
||||||
|
]
|
||||||
|
}
|
|
@ -1 +1 @@
|
||||||
Definizione formale delle caratteristiche condivise da tutte le possibili [[soluzione|soluzioni]] di un problema.
|
Definizione formale delle caratteristiche condivise da tutte le possibili [[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/soluzione|soluzioni]] di un problema.
|
|
@ -1 +1 @@
|
||||||
Specifica realizzazione pratica di una data [[funzione ideale]], che, dati zero o più [[parametro|parametri]], emette uno o più [[risultato|risultati]].
|
Specifica realizzazione pratica di una data [[funzione ideale]], che, dati zero o più [[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/parametro|parametri]], emette uno o più [[risultato|risultati]].
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Serie di azioni da eseguire per ottenere un effetto.
|
Sequenza di azioni da eseguire per ottenere un effetto.
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Requisito delle [[soluzione|soluzioni]] di un [[problema]] per cui esse non devono creare effetti indesiderati.
|
Requisito delle [[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/soluzione|soluzioni]] di un [[problema]] per cui esse non devono creare effetti indesiderati.
|
|
@ -1 +1 @@
|
||||||
Parte di un requisito di [[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/sicurezza]] che specifica uno specifico effetto indesiderato che non deve essere prodotto da una [[soluzione]].
|
Parte di un requisito di [[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/sicurezza]] che specifica uno specifico effetto indesiderato che non deve essere prodotto da una [[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/soluzione]].
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
[[Parametro]] che scala:
|
[[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/parametro]] che scala:
|
||||||
- il [[costo]] per l'[[utilizzo]] di una [[funzione]] *(idealmente [[polinomiale|polinomialmente]])*
|
- il [[costo]] per l'[[utilizzo]] di una [[funzione]] *(idealmente [[polinomiale|polinomialmente]])*
|
||||||
- il [[costo]] per l'[[attacco]] dello stesso *(idealmente [[esponenziale|esponenzialmente]])*
|
- il [[costo]] per l'[[attacco]] dello stesso *(idealmente [[esponenziale|esponenzialmente]])*
|
||||||
- la soglia di probabilità che una [[garanzia computazionale]] venga violata *(idealmente [[inversa polinomiale|inversamente a una polinomiale]])*
|
- la soglia di probabilità che una [[garanzia computazionale]] venga violata *(idealmente [[inversa polinomiale|inversamente a una polinomiale]])*
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
[[parametro]] e [[risultato]] di un [[pseudo-random number generator]] necessario a calcolare il valore successivo da emettere.
|
[[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/parametro]] e [[risultato]] di un [[pseudo-random number generator]] necessario a calcolare il valore successivo da emettere.
|
||||||
|
|
||||||
Viene passato in input al generatore, modificato, e poi rimesso in output.
|
Viene passato in input al generatore, modificato, e poi rimesso in output.
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
## Funzionamento
|
## Funzionamento
|
||||||
|
|
||||||
Consiste nel provare tutti i possibili [[parametro|parametri]] della [[funzione di cifratura]] fino a quando essa non emette il [[ciphertext]] conosciuto.
|
Consiste nel provare tutti i possibili [[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/parametro|parametri]] della [[funzione di cifratura]] fino a quando essa non emette il [[ciphertext]] conosciuto.
|
||||||
|
|
||||||
### Livello di sicurezza
|
### Livello di sicurezza
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
[[parametro|Parametro]] delle [[funzione di cifratura|funzioni di cifratura]] e delle [[funzione di decifratura|funzioni di decifratura]] di [[crittografia simmetrica moderna]].
|
[[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/parametro|Parametro]] delle [[funzione di cifratura|funzioni di cifratura]] e delle [[funzione di decifratura|funzioni di decifratura]] di [[crittografia simmetrica moderna]].
|
||||||
|
|
||||||
[[Blob]] [[casualità crittografica|imprevedibile]] [[uniforme]] condiviso dai [[squadra blu|difensori]].
|
[[Blob]] [[casualità crittografica|imprevedibile]] [[uniforme]] condiviso dai [[squadra blu|difensori]].
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
[[funzione]] il cui output può essere differenziato con uno o più [[parametro|parametri]].
|
[[funzione]] il cui output può essere differenziato con uno o più [[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/parametro|parametri]].
|
||||||
|
|
||||||
Questi parametri possono essere impostati dall'analista che realizza un nuovo [[funzione|protocollo]], oppure dallo sviluppatore che li utilizza in una sua [[applicazione]].
|
Questi parametri possono essere impostati dall'analista che realizza un nuovo [[funzione|protocollo]], oppure dallo sviluppatore che li utilizza in una sua [[applicazione]].
|
|
@ -1,6 +1,6 @@
|
||||||
[[funzione ideale]].
|
[[funzione ideale]].
|
||||||
|
|
||||||
Ha come [[parametro]]:
|
Ha come [[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/parametro]]:
|
||||||
- un dato [[confidenzialità|confidenziale]] non-[[uniforme]]
|
- un dato [[confidenzialità|confidenziale]] non-[[uniforme]]
|
||||||
|
|
||||||
Dà come [[risultato]]:
|
Dà come [[risultato]]:
|
||||||
|
|
|
@ -2,4 +2,4 @@
|
||||||
aliases: ["ikm"]
|
aliases: ["ikm"]
|
||||||
---
|
---
|
||||||
|
|
||||||
[[testo]] fornito in [[parametro|input]] a una [[key derivation function]].
|
[[testo]] fornito in [[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/parametro|input]] a una [[key derivation function]].
|
|
@ -2,4 +2,4 @@
|
||||||
aliases: ["prk"]
|
aliases: ["prk"]
|
||||||
---
|
---
|
||||||
|
|
||||||
[[blob]] dato in [[risultato|output]] dalla fase di [[extraction di una key derivation function]], dato in [[parametro|input]] alla fase di [[expansion di una key derivation function|expansion]].
|
[[blob]] dato in [[risultato|output]] dalla fase di [[extraction di una key derivation function]], dato in [[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/parametro|input]] alla fase di [[expansion di una key derivation function|expansion]].
|
|
@ -2,7 +2,7 @@
|
||||||
aliases: ["private key"]
|
aliases: ["private key"]
|
||||||
---
|
---
|
||||||
|
|
||||||
[[parametro]] sconosciuto della [[congettura Diffie-Hellman classica]].
|
[[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/parametro]] sconosciuto della [[congettura Diffie-Hellman classica]].
|
||||||
|
|
||||||
#TODO Ma non solo.
|
#TODO Ma non solo.
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
aliases: ["public key"]
|
aliases: ["public key"]
|
||||||
---
|
---
|
||||||
|
|
||||||
[[parametro]] conosciuto della [[congettura Diffie-Hellman classica]].
|
[[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/parametro]] conosciuto della [[congettura Diffie-Hellman classica]].
|
||||||
|
|
||||||
#TODO Ma non solo.
|
#TODO Ma non solo.
|
||||||
$$
|
$$
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
[[funzione]] in cui, conoscendo il [[risultato]], non è possibile risalire ai [[parametro|parametri]].
|
[[funzione]] in cui, conoscendo il [[risultato]], non è possibile risalire ai [[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/parametro|parametri]].
|
|
@ -1,11 +1,11 @@
|
||||||
[[funzione di password hashing]] il cui fattore principale di costo è lo [[spazio]].
|
[[funzione di password hashing]] il cui fattore principale di costo è lo [[8 - Crittografia applicata/1 - Concetti/2 - Dimostrare la validità delle soluzioni/spazio]].
|
||||||
|
|
||||||
## Parametri
|
## Parametri
|
||||||
|
|
||||||
- [[password]]
|
- [[password]]
|
||||||
- [[salt]]
|
- [[salt]]
|
||||||
- Fattore di [[tempo]]
|
- Fattore di [[8 - Crittografia applicata/1 - Concetti/2 - Dimostrare la validità delle soluzioni/tempo]]
|
||||||
- Fattore di [[spazio]]
|
- Fattore di [[8 - Crittografia applicata/1 - Concetti/2 - Dimostrare la validità delle soluzioni/spazio]]
|
||||||
- Fattore di parallelismo
|
- Fattore di parallelismo
|
||||||
- [[lunghezza dell'output]]
|
- [[lunghezza dell'output]]
|
||||||
|
|
||||||
|
|
|
@ -7,5 +7,5 @@ Meno tentativi riesce a fare l'[[avversario]], più il livello di sicurezza è e
|
||||||
### Mitigazioni
|
### Mitigazioni
|
||||||
|
|
||||||
Per limitare i tentativi effettuabili dall'[[avversario]], possono essere adottate due soluzioni:
|
Per limitare i tentativi effettuabili dall'[[avversario]], possono essere adottate due soluzioni:
|
||||||
- [[invalidazione]] temporanea della credenziale attaccata per periodi crescenti di [[tempo]]
|
- [[invalidazione]] temporanea della credenziale attaccata per periodi crescenti di [[8 - Crittografia applicata/1 - Concetti/2 - Dimostrare la validità delle soluzioni/tempo]]
|
||||||
- [[invalidazione]] permanente della credenziale attaccata dopo un certo numero di accessi falliti
|
- [[invalidazione]] permanente della credenziale attaccata dopo un certo numero di accessi falliti
|
||||||
|
|
|
@ -10,4 +10,4 @@ Ha un [[costo]] significativamente più elevato delle normali [[funzione di hash
|
||||||
|
|
||||||
Dipende dalle risorse a disposizione dell'[[avversario]].
|
Dipende dalle risorse a disposizione dell'[[avversario]].
|
||||||
|
|
||||||
In passato, il fattore limitante era il [[tempo]], ma con lo sviluppo di [[hardware dedicato all'hashing]], il fattore limitante è diventato prevalentemente lo [[spazio]].
|
In passato, il fattore limitante era il [[8 - Crittografia applicata/1 - Concetti/2 - Dimostrare la validità delle soluzioni/tempo]], ma con lo sviluppo di [[hardware dedicato all'hashing]], il fattore limitante è diventato prevalentemente lo [[8 - Crittografia applicata/1 - Concetti/2 - Dimostrare la validità delle soluzioni/spazio]].
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
[[funzione di password hashing]] il cui fattore principale di costo è lo [[spazio]].
|
[[funzione di password hashing]] il cui fattore principale di costo è lo [[8 - Crittografia applicata/1 - Concetti/2 - Dimostrare la validità delle soluzioni/spazio]].
|
||||||
|
|
||||||
## Casi d'uso
|
## Casi d'uso
|
||||||
|
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
[[parametro]] o [[risultato]] il cui valore è nascosto e può essere rivelato solo da uno specifico [[agente]].
|
[[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/parametro]] o [[risultato]] il cui valore è nascosto e può essere rivelato solo da uno specifico [[agente]].
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Caratteristica di una [[funzione]] in grado di operare su dei [[blinded]] [[parametro|input]] per restituire un [[blinded]] [[risultato|output]].
|
Caratteristica di una [[funzione]] in grado di operare su dei [[blinded]] [[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/parametro|input]] per restituire un [[blinded]] [[risultato|output]].
|
|
@ -1,3 +1,3 @@
|
||||||
[[soluzione]] al problema di [[distribuzione chiavi pubbliche]] in cui si fa uso della [[fiducia transitiva]] per determinare se fidarsi o no di una data [[chiave pubblica]].
|
[[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/soluzione]] al problema di [[distribuzione chiavi pubbliche]] in cui si fa uso della [[fiducia transitiva]] per determinare se fidarsi o no di una data [[chiave pubblica]].
|
||||||
|
|
||||||
Offre ottima [[scalabilità]].
|
Offre ottima [[scalabilità]].
|
|
@ -1 +1 @@
|
||||||
"[[soluzione]]" al problema di [[distribuzione chiavi pubbliche]] in cui si utilizza un canale sicuro stabilito in precedenza per [[autenticità|autenticare]] le nuove [[chiave pubblica|chiavi pubbliche]].
|
"[[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/soluzione]]" al problema di [[distribuzione chiavi pubbliche]] in cui si utilizza un canale sicuro stabilito in precedenza per [[autenticità|autenticare]] le nuove [[chiave pubblica|chiavi pubbliche]].
|
||||||
|
|
|
@ -2,4 +2,4 @@
|
||||||
aliases: ["TOFU"]
|
aliases: ["TOFU"]
|
||||||
---
|
---
|
||||||
|
|
||||||
[[soluzione]] al problema di [[distribuzione chiavi pubbliche]] in cui si considera sempre [[autenticità|autenticato]] il primo [[scambio di chiave]] effettuato con un altro [[user agent]].
|
[[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/soluzione]] al problema di [[distribuzione chiavi pubbliche]] in cui si considera sempre [[autenticità|autenticato]] il primo [[scambio di chiave]] effettuato con un altro [[user agent]].
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
aliases: ["issue"]
|
aliases: ["issue"]
|
||||||
---
|
---
|
||||||
|
|
||||||
Tecnica di sviluppo per la [[fase di specifica]] e la [[fase di design]] in cui i requisiti vengono specificati come gli obiettivi che l'ideatore vuole raggiungere attraverso la sua [[soluzione]], e non come dettagli tecnici di implementazione.
|
Tecnica di sviluppo per la [[fase di specifica]] e la [[fase di design]] in cui i requisiti vengono specificati come gli obiettivi che l'ideatore vuole raggiungere attraverso la sua [[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/soluzione]], e non come dettagli tecnici di implementazione.
|
||||||
|
|
||||||
Sono raccolte in raggruppamenti detti [[epic]].
|
Sono raccolte in raggruppamenti detti [[epic]].
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
Fase di un [[processo di sviluppo software]] in cui si determina ***come è formata*** la [[soluzione]] che si vuole sviluppare.
|
Fase di un [[processo di sviluppo software]] in cui si determina ***come è formata*** la [[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/soluzione]] che si vuole sviluppare.
|
||||||
|
|
||||||
In essa:
|
In essa:
|
||||||
- si utilizzano [[design pattern]] per soddisfare il [[documento dei requsiti]] in una [[soluzione]] pratica
|
- si utilizzano [[design pattern]] per soddisfare il [[documento dei requsiti]] in una [[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/soluzione]] pratica
|
||||||
- si compilano tutti i [[design pattern]] selezionati in un [[artefatto]] detto [[specifica]]
|
- si compilano tutti i [[design pattern]] selezionati in un [[artefatto]] detto [[specifica]]
|
||||||
|
|
||||||
Talvolta ci si avvale di [[diagramma|diagrammi]] per rendere più chiari i concetti modellati, come:
|
Talvolta ci si avvale di [[diagramma|diagrammi]] per rendere più chiari i concetti modellati, come:
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
Fase di un [[processo di sviluppo software]] in cui si ***effettua lo sviluppo***.
|
Fase di un [[processo di sviluppo software]] in cui si ***effettua lo sviluppo***.
|
||||||
|
|
||||||
In essa, partendo dalla [[specifica]]:
|
In essa, partendo dalla [[specifica]]:
|
||||||
- si determinano le [[dipendenza|dipendenze]] da utilizzare nella [[soluzione]], verificando la compatibilità con la [[licenza]] con il progetto
|
- si determinano le [[dipendenza|dipendenze]] da utilizzare nella [[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/soluzione]], verificando la compatibilità con la [[licenza]] con il progetto
|
||||||
- si scrive il [[codice]] necessario a soddisfarla, [[artefatto|producendo]] la [[soluzione]] vera e propria
|
- si scrive il [[codice]] necessario a soddisfarla, [[artefatto|producendo]] la [[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/soluzione]] vera e propria
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
Fase di un [[processo di sviluppo software]] in cui si ***modifica*** la [[soluzione]] realizzata per correggere [[bug]] e [[errore|errori]].
|
Fase di un [[processo di sviluppo software]] in cui si ***modifica*** la [[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/soluzione]] realizzata per correggere [[bug]] e [[errore|errori]].
|
||||||
|
|
||||||
In essa:
|
In essa:
|
||||||
- si mantengono operativi eventuali [[server]] che [[software-as-a-service|prestano servizi]]
|
- si mantengono operativi eventuali [[server]] che [[software-as-a-service|prestano servizi]]
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
aliases: ["fase di release"]
|
aliases: ["fase di release"]
|
||||||
---
|
---
|
||||||
|
|
||||||
Fase di un [[processo di sviluppo software]] in cui si ***consegna*** all'ideatore la [[soluzione]] realizzata.
|
Fase di un [[processo di sviluppo software]] in cui si ***consegna*** all'ideatore la [[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/soluzione]] realizzata.
|
||||||
|
|
||||||
In essa:
|
In essa:
|
||||||
- si [[artefatto|producono]] le [[istruzioni]] per l'installazione e l'utilizzo del software
|
- si [[artefatto|producono]] le [[istruzioni]] per l'installazione e l'utilizzo del software
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
aliases: ["evolutionary model"]
|
aliases: ["evolutionary model"]
|
||||||
---
|
---
|
||||||
|
|
||||||
[[modello iterativo]] in cui la [[soluzione]] realizzata viene ricreata a [[timeboxing|intervalli regolari]], sfruttando le conoscenze ottenute nell'intervallo precedente per trovare una [[soluzione]] migliore.
|
[[modello iterativo]] in cui la [[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/soluzione]] realizzata viene ricreata a [[timeboxing|intervalli regolari]], sfruttando le conoscenze ottenute nell'intervallo precedente per trovare una [[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/soluzione]] migliore.
|
||||||
|
|
||||||
## #Extra Casi d'uso
|
## #Extra Casi d'uso
|
||||||
|
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
aliases: ["incremental model"]
|
aliases: ["incremental model"]
|
||||||
---
|
---
|
||||||
|
|
||||||
[[modello iterativo]] in cui la [[soluzione]] realizzata viene migliorata a [[timeboxing|intervalli regolari]], realizzando ad ogni passo una [[soluzione]] sempre più funzionale.
|
[[modello iterativo]] in cui la [[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/soluzione]] realizzata viene migliorata a [[timeboxing|intervalli regolari]], realizzando ad ogni passo una [[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/soluzione]] sempre più funzionale.
|
||||||
|
|
||||||
## #Extra Casi d'uso
|
## #Extra Casi d'uso
|
||||||
|
|
||||||
Trova ottimo impiego nello sviluppo di [[software-as-a-service]], in quanto è sempre necessario mantenere la [[retrocompatibilità]] ma al tempo stesso c'è bisogno di adattare la [[soluzione]] alle circostanze reali correnti.
|
Trova ottimo impiego nello sviluppo di [[software-as-a-service]], in quanto è sempre necessario mantenere la [[retrocompatibilità]] ma al tempo stesso c'è bisogno di adattare la [[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/soluzione]] alle circostanze reali correnti.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
[[test]] che verifica la soddisfazione di un dato [[requisito]] da parte della [[soluzione]] realizzata.
|
[[test]] che verifica la soddisfazione di un dato [[requisito]] da parte della [[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/soluzione]] realizzata.
|
||||||
|
|
||||||
## Esempio
|
## Esempio
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
aliases: ["benchmark", "bench"]
|
aliases: ["benchmark", "bench"]
|
||||||
---
|
---
|
||||||
|
|
||||||
[[test]] che misura e verifica l'efficienza della [[soluzione]].
|
[[test]] che misura e verifica l'efficienza della [[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/soluzione]].
|
||||||
|
|
||||||
## Esempio
|
## Esempio
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
[[test]] che verifica la corretta risoluzione di un dato [[bug]] o [[errore]], e l'assenza di [[regressione|regressioni]] in versioni future della [[soluzione]].
|
[[test]] che verifica la corretta risoluzione di un dato [[bug]] o [[errore]], e l'assenza di [[regressione|regressioni]] in versioni future della [[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/soluzione]].
|
||||||
|
|
||||||
```
|
```
|
||||||
from calculator import div
|
from calculator import div
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
[[Modello matematico]] che prova a rappresentare un [[fenomeno]] reale che si evolve nel [[tempo]].
|
[[Modello matematico]] che prova a rappresentare un [[fenomeno]] reale che si evolve nel [[8 - Crittografia applicata/1 - Concetti/2 - Dimostrare la validità delle soluzioni/tempo]].
|
|
@ -1 +1 @@
|
||||||
[[automa cellulare continuo]] con [[spazio]] e [[tempo]] continui invece che quantizzati.
|
[[automa cellulare continuo]] con [[8 - Crittografia applicata/1 - Concetti/2 - Dimostrare la validità delle soluzioni/spazio]] e [[8 - Crittografia applicata/1 - Concetti/2 - Dimostrare la validità delle soluzioni/tempo]] continui invece che quantizzati.
|
||||||
|
|
|
@ -13,3 +13,5 @@ $$
|
||||||
\bigg]
|
\bigg]
|
||||||
\bigg]
|
\bigg]
|
||||||
$$
|
$$
|
||||||
|
|
||||||
|
È, nel caso peggiore, $archi - 1$.
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
[[Entità]] all'interno di un [[sistema complesso]].
|
[[entità]] all'interno di un [[sistema complesso]].
|
||||||
|
|
||||||
In particolare, un software.
|
In particolare, un software.
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
[[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**!
|
5
9 - Algoritmi distribuiti/1 - Problemi/algoritmo.md
Normal file
5
9 - Algoritmi distribuiti/1 - Problemi/algoritmo.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
[[Procedura]] generale per risolvere un [[problema computazionale]] che deve:
|
||||||
|
- essere **finita**
|
||||||
|
- **non** essere **ambigua**
|
||||||
|
- essere **effettivamente realizzabile**
|
||||||
|
- terminare **in un tempo finito**
|
|
@ -0,0 +1,6 @@
|
||||||
|
Sequenza di caratteri [[polinomiale]].
|
||||||
|
|
||||||
|
Dimostra che una data [[istanza]] è un'[[istanza positiva]].
|
||||||
|
|
||||||
|
> Nel problema di [[ricerca di ciclo hamiltoniano]], un [[certificato per un'istanza]] positiva è una sequenza di nodi attraversati che risulta in un [[ciclo hamiltoniano]].
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
[[Percorso di un grafo]] che inizia e finisce allo stesso [[nodo di un grafo|nodo]].
|
|
@ -0,0 +1,26 @@
|
||||||
|
---
|
||||||
|
aliases:
|
||||||
|
- classe NP-complete
|
||||||
|
- NP-complete
|
||||||
|
- problema NP-complete
|
||||||
|
---
|
||||||
|
|
||||||
|
[[Insieme]] di [[problema decisionale|problemi decisionali]] equivalenti tra loro.
|
||||||
|
|
||||||
|
Tutti i problemi della [[classe di problemi NP]] possono essere [[riduzione di Karp|ridotti]] ad essi:
|
||||||
|
$$
|
||||||
|
\def \varProblemA {{\color{DarkOrchid} Problem_{A}}}
|
||||||
|
\def \varProblemB {{\color{SlateBlue} Problem_{B}}}
|
||||||
|
\Huge
|
||||||
|
\begin{cases}
|
||||||
|
\varProblemA \in NP
|
||||||
|
\\\\
|
||||||
|
\forall \varProblemB \in NP : \varProblemB \leq_p \varProblemA
|
||||||
|
\end{cases}
|
||||||
|
$$
|
||||||
|
|
||||||
|
> Per dimostrare che un problema è NP-completo, basta dimostrare che un problema [[NP]] sia riducibile a uno NP-completo.
|
||||||
|
|
||||||
|
Il primo problema NP-completo scoperto è stato [[satisfability|SAT]]; è stato poi utilizzato come [[bootstrap]] per tutti gli altri.
|
||||||
|
|
||||||
|
Hanno una particolare rilevanza per il [[problema P e NP]].
|
|
@ -0,0 +1,20 @@
|
||||||
|
---
|
||||||
|
aliases:
|
||||||
|
- classe NP-hard
|
||||||
|
- NP-hard
|
||||||
|
- problema NP-hard
|
||||||
|
---
|
||||||
|
[[Insieme]] di [[problema di ottimizzazione|problemi di ottimizzazione]], di difficoltà uguale o maggiore rispetto alla [[classe di problemi NP]].
|
||||||
|
|
||||||
|
Perchè un problema sia considerato NP-difficile, si deve dimostrare che qualsiasi problema [[classe di problemi NP|NP]] possa essere [[riduzione di Karp|ridotto]] ad esso:
|
||||||
|
$$
|
||||||
|
\def \varProblemA {{\color{DarkOrchid} Problem_{A}}}
|
||||||
|
\def \varProblemB {{\color{SlateBlue} Problem_{B}}}
|
||||||
|
\Huge
|
||||||
|
\begin{cases}
|
||||||
|
\varProblemA \in NP_{Hard}
|
||||||
|
\\\\
|
||||||
|
\forall \varProblemB \in NP : \varProblemB \leq_p \varProblemA
|
||||||
|
\end{cases}
|
||||||
|
$$
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
aliases:
|
||||||
|
- classe NP
|
||||||
|
- NP
|
||||||
|
- problema NP
|
||||||
|
---
|
||||||
|
|
||||||
|
[[Insieme]] di [[problema decisionale|problemi decisionali]] con [[algoritmo]] [[verifica|verificatore]] [[polinomiale]] conosciuto.
|
||||||
|
|
||||||
|
Trovare un algoritmo verificatore [[polinomiale]] per un problema indica che il problema è NP.
|
||||||
|
|
||||||
|
Include la [[classe di problemi P]].
|
||||||
|
|
||||||
|
> Possibilmente *uguale* alla [[classe di problemi P]].
|
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
aliases:
|
||||||
|
- classe P
|
||||||
|
- P
|
||||||
|
- problema P
|
||||||
|
---
|
||||||
|
|
||||||
|
[[Insieme]] di [[problema decisionale|problemi decisionali]] con [[costo computazionale]] [[polinomiale]].
|
||||||
|
|
||||||
|
Trovare un [[algoritmo]] [[polinomiale]] per un problema indica che il problema è P.
|
||||||
|
|
||||||
|
Sottoinsieme della [[classe di problemi NP]].
|
||||||
|
|
||||||
|
> Possibilmente *uguale* alla [[classe di problemi NP]].
|
|
@ -0,0 +1,13 @@
|
||||||
|
---
|
||||||
|
aliases:
|
||||||
|
- complessità computazionale
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
[[Misura]] che quantifica le [[risorsa|risorse]] necessarie a risolvere l'[[istanza]] peggiore di un [[problema computazionale]] in funzione della [[dimensione dell'input|dimensione del suo input]].
|
||||||
|
|
||||||
|
Può essere relativo a:
|
||||||
|
- [[tempo]]
|
||||||
|
- [[spazio]]
|
||||||
|
|
||||||
|
> È spesso interessante studiarne i limiti, in particolare il limite inferiore.
|
|
@ -0,0 +1,13 @@
|
||||||
|
Considera la [[dimensione dell'input]] come il numero di [[bit]] richiesti per rappresentarlo.
|
||||||
|
|
||||||
|
## Esempi
|
||||||
|
|
||||||
|
$$
|
||||||
|
f(16) \underset{costo}{\longrightarrow} lg(16) = 4
|
||||||
|
$$
|
||||||
|
$$
|
||||||
|
f(128) \underset{costo}{\longrightarrow} lg(128) = 7
|
||||||
|
$$
|
||||||
|
$$
|
||||||
|
f([1, 2, 3, 4]) \underset{costo}{\longrightarrow} 1 + 2 + 2 + 3 = 8
|
||||||
|
$$
|
|
@ -0,0 +1,13 @@
|
||||||
|
Considera la [[dimensione dell'input]] come il numero di [[elemento|elementi]] richiesti per rappresentarlo.
|
||||||
|
|
||||||
|
## Esempi
|
||||||
|
|
||||||
|
$$
|
||||||
|
f(16) \underset{costo}{\longrightarrow} 1
|
||||||
|
$$
|
||||||
|
$$
|
||||||
|
f(128) \underset{costo}{\longrightarrow} 1
|
||||||
|
$$
|
||||||
|
$$
|
||||||
|
f([1, 2, 3, 4]) \underset{costo}{\longrightarrow} 1+1+1+1 = 4
|
||||||
|
$$
|
|
@ -0,0 +1 @@
|
||||||
|
Metodo utilizzato per misurare la [[dimensione dell'input]] di un
|
|
@ -0,0 +1,5 @@
|
||||||
|
[[Misura]] relativa ai [[parametro|parametri]] che ne astrae la dimensione.
|
||||||
|
|
||||||
|
Calcolata in base a vari criteri:
|
||||||
|
- [[criterio di costo logaritmico]]
|
||||||
|
- [[criterio di costo uniforme]]
|
13
9 - Algoritmi distribuiti/1 - Problemi/funzione costo.md
Normal file
13
9 - Algoritmi distribuiti/1 - Problemi/funzione costo.md
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
---
|
||||||
|
aliases:
|
||||||
|
- costo
|
||||||
|
- cost
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
[[funzione obiettivo]] per un [[problema di minimizzazione]].
|
||||||
|
|
||||||
|
$$
|
||||||
|
\Huge
|
||||||
|
cost(\dots)
|
||||||
|
$$
|
12
9 - Algoritmi distribuiti/1 - Problemi/funzione guadagno.md
Normal file
12
9 - Algoritmi distribuiti/1 - Problemi/funzione guadagno.md
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
---
|
||||||
|
aliases:
|
||||||
|
- guadagno
|
||||||
|
- gain
|
||||||
|
---
|
||||||
|
|
||||||
|
[[funzione obiettivo]] per un [[problema di massimizzazione]].
|
||||||
|
|
||||||
|
$$
|
||||||
|
\Huge
|
||||||
|
gain(\dots)
|
||||||
|
$$
|
|
@ -0,0 +1,9 @@
|
||||||
|
[[Funzione]] che si vuole ottimizzare in un [[problema di ottimizzazione]].
|
||||||
|
|
||||||
|
$$
|
||||||
|
\Huge
|
||||||
|
goal(\dots)
|
||||||
|
$$
|
||||||
|
|
||||||
|
In [[problema di minimizzazione|problemi di minimizzazione]] è detta [[funzione costo]].
|
||||||
|
In [[problema di massimizzazione|problemi di massimizzazione]] è detta [[funzione guadagno]].
|
|
@ -0,0 +1,5 @@
|
||||||
|
[[Insieme]] di tutte le [[istanza|istanze]] di un [[problema computazionale]].
|
||||||
|
|
||||||
|
$$
|
||||||
|
\Huge I
|
||||||
|
$$
|
|
@ -0,0 +1,5 @@
|
||||||
|
[[insieme]] di tutte le [[soluzione|soluzioni]] di un [[problema computazionale]]:
|
||||||
|
|
||||||
|
$$
|
||||||
|
\Huge S
|
||||||
|
$$
|
|
@ -0,0 +1,3 @@
|
||||||
|
[[istanza]] di un [[problema decisionale]] il cui risultato è [[negativo]].
|
||||||
|
|
||||||
|
Opposta all'[[istanza positiva]].
|
|
@ -0,0 +1,3 @@
|
||||||
|
[[istanza]] di un [[problema decisionale]] il cui risultato è [[positivo]].
|
||||||
|
|
||||||
|
Opposta all'[[istanza negativa]].
|
11
9 - Algoritmi distribuiti/1 - Problemi/istanza.md
Normal file
11
9 - Algoritmi distribuiti/1 - Problemi/istanza.md
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
---
|
||||||
|
aliases:
|
||||||
|
- input
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
Specifica selezione di [[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/parametro|parametri]] di un [[problema computazionale]].
|
||||||
|
|
||||||
|
$$
|
||||||
|
\Huge I
|
||||||
|
$$
|
|
@ -0,0 +1,5 @@
|
||||||
|
[[logaritmo]] a volte rappresentato con la seguente sintassi:
|
||||||
|
$$
|
||||||
|
\Huge
|
||||||
|
lg(n)
|
||||||
|
$$
|
26
9 - Algoritmi distribuiti/1 - Problemi/notazione O-grande.md
Normal file
26
9 - Algoritmi distribuiti/1 - Problemi/notazione O-grande.md
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
---
|
||||||
|
aliases:
|
||||||
|
- big-O
|
||||||
|
---
|
||||||
|
[[notazione asintotica]] per il [[limite inferiore]].
|
||||||
|
|
||||||
|
$$
|
||||||
|
\def \varAsym {{\color{royalblue} g(n)}}
|
||||||
|
\def \varFunc {{\color{orangered} f(n)}}
|
||||||
|
\def \varMore {{\color{palegreen} c_{more}}}
|
||||||
|
\def \varBeginning {{\color{turquoise} n_0}}
|
||||||
|
\Huge
|
||||||
|
O(\varAsym)
|
||||||
|
$$
|
||||||
|
In linguaggio formale, $\varFunc$ è in $O(\varAsym)$ se:
|
||||||
|
$$
|
||||||
|
O(\varAsym)
|
||||||
|
\Longleftrightarrow
|
||||||
|
\begin{cases}
|
||||||
|
\exists & \varMore > 0\\
|
||||||
|
\exists & \varBeginning > 0\\
|
||||||
|
\\
|
||||||
|
\forall & n \geq \varBeginning\\
|
||||||
|
: & 0 \leq \varFunc \leq (\varMore \cdot \varAsym)
|
||||||
|
\end{cases}
|
||||||
|
$$
|
|
@ -0,0 +1,13 @@
|
||||||
|
Notazione astratta per confrontare funzioni, usata solitamente per fare confronti di [[costo computazionale]].
|
||||||
|
|
||||||
|
$$
|
||||||
|
\def \varAsym {{\color{royalblue} g(n)}}
|
||||||
|
\Huge
|
||||||
|
\boxdot(\varAsym)
|
||||||
|
$$
|
||||||
|
|
||||||
|
| Limite | Asintoto stretto | Asintoto libero |
|
||||||
|
|-|-|-|
|
||||||
|
| [[Limite inferiore]] | [[notazione O-grande]] | [[notazione o-piccola]] |
|
||||||
|
| [[Limite bilaterale]] | [[notazione Θ-grande]] | |
|
||||||
|
| [[Limite superiore]] | [[notazione Ω-grande]] | [[notazione ω-piccola]] |
|
|
@ -0,0 +1,28 @@
|
||||||
|
---
|
||||||
|
aliases:
|
||||||
|
- small-o
|
||||||
|
---
|
||||||
|
[[notazione asintotica]] per il [[limite inferiore]].
|
||||||
|
|
||||||
|
$$
|
||||||
|
\def \varAsym {{\color{royalblue} g(n)}}
|
||||||
|
\def \varFunc {{\color{orangered} f(n)}}
|
||||||
|
\def \varMore {{\color{palegreen} c_{more}}}
|
||||||
|
\def \varBeginning {{\color{turquoise} n_0}}
|
||||||
|
\Huge
|
||||||
|
o(\varAsym)
|
||||||
|
$$
|
||||||
|
In linguaggio formale, $\varFunc$ è in $O(\varAsym)$ se:
|
||||||
|
$$
|
||||||
|
o(\varAsym)
|
||||||
|
\Longleftrightarrow
|
||||||
|
\begin{cases}
|
||||||
|
\forall & \varMore > 0\\
|
||||||
|
\\
|
||||||
|
: & \begin{cases}
|
||||||
|
\exists & \varBeginning > 0\\
|
||||||
|
\forall & n \geq \varBeginning\\
|
||||||
|
: & 0 \leq \varFunc \leq (\varMore \cdot \varAsym)
|
||||||
|
\end{cases}
|
||||||
|
\end{cases}
|
||||||
|
$$
|
32
9 - Algoritmi distribuiti/1 - Problemi/notazione Θ-grande.md
Normal file
32
9 - Algoritmi distribuiti/1 - Problemi/notazione Θ-grande.md
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
---
|
||||||
|
aliases:
|
||||||
|
- big-Theta
|
||||||
|
- notazione theta-grande
|
||||||
|
- big-Θ
|
||||||
|
- tight bound
|
||||||
|
---
|
||||||
|
[[notazione asintotica]] per il [[limite bilaterale]].
|
||||||
|
|
||||||
|
$$
|
||||||
|
\def \varAsym {{\color{royalblue} g(n)}}
|
||||||
|
\def \varFunc {{\color{orangered} f(n)}}
|
||||||
|
\def \varLess {{\color{lightcoral} c_{less}}}
|
||||||
|
\def \varMore {{\color{palegreen} c_{more}}}
|
||||||
|
\def \varBeginning {{\color{turquoise} n_0}}
|
||||||
|
\Huge
|
||||||
|
\Theta(\varAsym)
|
||||||
|
$$
|
||||||
|
|
||||||
|
In linguaggio formale, $\varFunc$ è in $\Theta(\varAsym)$ se:
|
||||||
|
$$
|
||||||
|
\Theta(\varAsym)
|
||||||
|
\Longleftrightarrow
|
||||||
|
\begin{cases}
|
||||||
|
\exists & \varLess > 0\\
|
||||||
|
\exists & \varMore > 0\\
|
||||||
|
\exists & \varBeginning > 0\\
|
||||||
|
\\
|
||||||
|
\forall & n \geq \varBeginning\\
|
||||||
|
: & 0 \leq (\varLess \cdot \varAsym) \leq \varFunc \leq (\varMore \cdot \varAsym)
|
||||||
|
\end{cases}
|
||||||
|
$$
|
31
9 - Algoritmi distribuiti/1 - Problemi/notazione Ω-grande.md
Normal file
31
9 - Algoritmi distribuiti/1 - Problemi/notazione Ω-grande.md
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
---
|
||||||
|
aliases:
|
||||||
|
- big-Omega
|
||||||
|
- notazione omega-grande
|
||||||
|
- big-Ω
|
||||||
|
- lower bound
|
||||||
|
---
|
||||||
|
[[notazione asintotica]] per il [[limite inferiore]].
|
||||||
|
|
||||||
|
$$
|
||||||
|
\def \varAsym {{\color{royalblue} g(n)}}
|
||||||
|
\def \varFunc {{\color{orangered} f(n)}}
|
||||||
|
\def \varLess {{\color{lightcoral} c_{less}}}
|
||||||
|
\def \varMore {{\color{palegreen} c_{more}}}
|
||||||
|
\def \varBeginning {{\color{turquoise} n_0}}
|
||||||
|
\Huge
|
||||||
|
\Omega(\varAsym)
|
||||||
|
$$
|
||||||
|
|
||||||
|
In linguaggio formale, $\varFunc$ è in $\Omega(\varAsym)$ se:
|
||||||
|
$$
|
||||||
|
\Omega(\varAsym)
|
||||||
|
\Longleftrightarrow
|
||||||
|
\begin{cases}
|
||||||
|
\exists & \varLess > 0\\
|
||||||
|
\exists & \varBeginning > 0\\
|
||||||
|
\\
|
||||||
|
\forall & n \geq \varBeginning\\
|
||||||
|
: & 0 \leq (\varLess \cdot \varAsym) \leq \varFunc
|
||||||
|
\end{cases}
|
||||||
|
$$
|
|
@ -0,0 +1,30 @@
|
||||||
|
---
|
||||||
|
aliases:
|
||||||
|
- omega-piccola
|
||||||
|
- small-ω
|
||||||
|
- small-omega
|
||||||
|
---
|
||||||
|
[[notazione asintotica]] per il [[limite inferiore]].
|
||||||
|
|
||||||
|
$$
|
||||||
|
\def \varAsym {{\color{royalblue} g(n)}}
|
||||||
|
\def \varFunc {{\color{orangered} f(n)}}
|
||||||
|
\def \varLess {{\color{lightcoral} c_{less}}}
|
||||||
|
\def \varBeginning {{\color{turquoise} n_0}}
|
||||||
|
\Huge
|
||||||
|
\omega(\varAsym)
|
||||||
|
$$
|
||||||
|
In linguaggio formale, $\varFunc$ è in $\omega(\varAsym)$ se:
|
||||||
|
$$
|
||||||
|
\omega(\varAsym)
|
||||||
|
\Longleftrightarrow
|
||||||
|
\begin{cases}
|
||||||
|
\forall & \varLess > 0\\
|
||||||
|
\\
|
||||||
|
: & \begin{cases}
|
||||||
|
\exists & \varBeginning > 0\\
|
||||||
|
\forall & n \geq \varBeginning\\
|
||||||
|
: & 0 \leq (\varLess \cdot \varAsym) \leq \varFunc
|
||||||
|
\end{cases}
|
||||||
|
\end{cases}
|
||||||
|
$$
|
|
@ -0,0 +1,5 @@
|
||||||
|
Un [[problema di ottimizzazione]] si può convertire in [[problema decisionale]]:
|
||||||
|
|
||||||
|
> **[[problema di ottimizzazione|Ottimizzazione]]**: Dato un [[grafo]] e due [[nodo di un grafo|nodi]], qual è la lunghezza del cammino minimo?
|
||||||
|
>
|
||||||
|
> **[[problema decisionale|Decisionale]]**: Dato un [[grafo]] e due [[nodo di un grafo|nodi]], esiste un cammino minimo più corto di $k$?
|
8
9 - Algoritmi distribuiti/1 - Problemi/parametro.md
Normal file
8
9 - Algoritmi distribuiti/1 - Problemi/parametro.md
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
---
|
||||||
|
aliases:
|
||||||
|
- input
|
||||||
|
- argomento
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
Informazione utilizzata da un [[algoritmo]] per arrivare a un [[risultato]].
|
5
9 - Algoritmi distribuiti/1 - Problemi/polinomiale.md
Normal file
5
9 - Algoritmi distribuiti/1 - Problemi/polinomiale.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
[[Funzione]] rappresentabile nel seguente modo:
|
||||||
|
$$
|
||||||
|
\Huge
|
||||||
|
\sum_{monomio = 0}^{grado} coefficiente_{monomio} \cdot n^{monomio}
|
||||||
|
$$
|
19
9 - Algoritmi distribuiti/1 - Problemi/problema P e NP.md
Normal file
19
9 - Algoritmi distribuiti/1 - Problemi/problema P e NP.md
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
[[problema]] matematico tutt'ora [[irrisolto]].
|
||||||
|
|
||||||
|
## Enunciato
|
||||||
|
|
||||||
|
La [[classe di problemi P]] e la [[classe di problemi NP]] sono equivalenti?
|
||||||
|
|
||||||
|
## Relazione con [[classe di problemi NP-completi|NP-complete]]
|
||||||
|
|
||||||
|
Se si riesce a trovare un problema [[classe di problemi NP-completi|NP-complete]] con costo [[polinomiale]]:
|
||||||
|
$$
|
||||||
|
\large
|
||||||
|
P = NP
|
||||||
|
$$
|
||||||
|
|
||||||
|
Se si riesce a dimostrare che per risolvere un problema [[classe di problemi NP-completi|NP-complete]] non esistono [[algoritmo|algoritmi]] con costo [[polinomiale]]:
|
||||||
|
$$
|
||||||
|
\large
|
||||||
|
P \not= NP
|
||||||
|
$$
|
|
@ -0,0 +1,5 @@
|
||||||
|
[[Problema]] a cui vogliamo trovare una risposta dipendente da [[8 - Crittografia applicata/1 - Concetti/1 - Trovare soluzioni crittografiche/parametro|parametri]] non specificati.
|
||||||
|
|
||||||
|
$$
|
||||||
|
\Huge \Pi : I → S
|
||||||
|
$$
|
|
@ -0,0 +1 @@
|
||||||
|
[[problema computazionale]] con risposta [[boolean|booleana]].
|
|
@ -0,0 +1,61 @@
|
||||||
|
---
|
||||||
|
aliases:
|
||||||
|
- traveling salesman problem
|
||||||
|
- TSP
|
||||||
|
---
|
||||||
|
[[problema di ottimizzazione]] appartenente alla [[classe di problemi NP-difficili]].
|
||||||
|
## Enunciato
|
||||||
|
|
||||||
|
Dato un [[grafo completo]] pesato, qual è il [[ciclo hamiltoniano]] di costo minimo?
|
||||||
|
|
||||||
|
### Verifica
|
||||||
|
|
||||||
|
Dato un [[grafo completo]] pesato, e un [[ciclo hamiltoniano]], esso è quello di costo minimo?
|
||||||
|
|
||||||
|
## Dimostrazione della [[classe di problemi NP-difficili]]
|
||||||
|
|
||||||
|
Si può fare uso della [[ricerca di ciclo hamiltoniano]] per dimostrare la classe di appartenenza di questo problema.
|
||||||
|
$$
|
||||||
|
\def \varGraphA {{\color{DarkSalmon} Graph_{Hamilton}}}
|
||||||
|
\def \varEdgesA {{\color{LightSalmon} Edges_{Hamilton}}}
|
||||||
|
\def \varGraphB {{\color{Orchid} Graph_{Salesman}}}
|
||||||
|
\def \varEdgesB {{\color{Thistle} Edges_{Salesman}}}
|
||||||
|
\def \varCost {{\color{MediumPurple} Cost_{Salesman}}}
|
||||||
|
\def \varNodes {{\color{SpringGreen} Nodes_{Shared}}}
|
||||||
|
|
||||||
|
\tiny\color{Gray} [Definizione\ variabili\ \TeX\ qui]
|
||||||
|
$$
|
||||||
|
|
||||||
|
Partiamo dal [[grafo]] semplice della [[ricerca di ciclo hamiltoniano]], che definiamo così:
|
||||||
|
$$
|
||||||
|
\varGraphA = (\varNodes, \varEdgesA)
|
||||||
|
$$
|
||||||
|
|
||||||
|
Vogliamo associare ogni [[istanza]] di esso a un'[[istanza]] di problema del commesso viaggiatore, che però richiede che il grafo sia [[grafo completo|completo]] e pesato:
|
||||||
|
$$
|
||||||
|
\varGraphB = (\varNodes, \varEdgesB)
|
||||||
|
$$
|
||||||
|
|
||||||
|
Allora, sfruttiamo i pesi a nostro vantaggio per creare un grafo in cui gli archi di $\varGraphA$ siano sempre preferiti nella scelta del percorso:
|
||||||
|
$$
|
||||||
|
\forall\ edge \in \varEdgesB : cost(edge) = \begin{cases}
|
||||||
|
\textrm{if}\ edge \in \varEdgesA & 0
|
||||||
|
\\\\
|
||||||
|
\textrm{else} & 1
|
||||||
|
\end{cases}
|
||||||
|
$$
|
||||||
|
Una volta determinata la soluzione del problema del commesso viaggiatore, giungeremo a conoscenza del costo minimo del percorso che attraversa tutti i nodi:
|
||||||
|
$$
|
||||||
|
travelingSalesmanProblem(\varGraphB) = \varCost
|
||||||
|
$$
|
||||||
|
|
||||||
|
In base al costo minimo $\varCost$ risultante, possiamo determinare la risposta al problema di [[ricerca di ciclo hamiltoniano]].
|
||||||
|
|
||||||
|
Infatti, se una soluzione ad esso esiste, il problema del commesso viaggiatore darà $\varCost = 0$, in quanto tutti gli archi di $\varGraphA$ sono preferiti per via del loro peso minore; viceversa, se una soluzione ad esso non esiste, l'output sarà $\varCost > 0$, che significa che è necessario aggiungere il dato numero di archi ulteriori per formare un [[ciclo hamiltoniano]]:
|
||||||
|
$$
|
||||||
|
\begin{cases}
|
||||||
|
\textrm{if}\ \varCost = 0 & \exists\ hamiltonianCycle(\varGraphA)
|
||||||
|
\\\\
|
||||||
|
\textrm{else} & \not\exists\ hamiltonianCycle(\varGraphA)
|
||||||
|
\end{cases}
|
||||||
|
$$
|
|
@ -0,0 +1,9 @@
|
||||||
|
---
|
||||||
|
aliases:
|
||||||
|
- massimizzare
|
||||||
|
- massimizzazione
|
||||||
|
---
|
||||||
|
|
||||||
|
[[problema di ottimizzazione]] in cui si cerca il [[massimo globale]] di una [[funzione guadagno]].
|
||||||
|
|
||||||
|
[[Duale]] del [[problema di minimizzazione]].
|
|
@ -0,0 +1,9 @@
|
||||||
|
---
|
||||||
|
aliases:
|
||||||
|
- minimizzare
|
||||||
|
- minimizzazione
|
||||||
|
---
|
||||||
|
|
||||||
|
[[problema di ottimizzazione]] in cui si cerca il [[minimo globale]] di una [[funzione costo]].
|
||||||
|
|
||||||
|
[[Duale]] del [[problema di massimizzazione]].
|
|
@ -0,0 +1,5 @@
|
||||||
|
[[problema computazionale]] in cui si vuole trovare la [[soluzione ottima]] di una [[funzione obiettivo]].
|
||||||
|
|
||||||
|
Sono problemi di ottimizzazione:
|
||||||
|
- i [[problema di minimizzazione|problemi di minimizzazione]]
|
||||||
|
- i [[problema di massimizzazione|problemi di massimizzazione]]
|
|
@ -0,0 +1 @@
|
||||||
|
[[problema computazionale]] che cerca una qualsiasi [[soluzione]].
|
|
@ -0,0 +1,3 @@
|
||||||
|
[[problema computazionale]] la cui [[notazione O-grande]] è superiore a [[polinomiale]].
|
||||||
|
|
||||||
|
> [[torre di Hanoi]]
|
|
@ -0,0 +1,3 @@
|
||||||
|
[[problema]] per cui non esiste un [[algoritmo]] per risolverlo.
|
||||||
|
|
||||||
|
> [[halting problem]]
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
aliases:
|
||||||
|
- problema difficile
|
||||||
|
---
|
||||||
|
|
||||||
|
[[problema]] per cui non è ancora stato scoperto un algoritmo che lo rende [[problema trattabile|trattabile]], ma nemmeno è ancora stato dimostrato che è [[problema intrattabile|intrattabile]].
|
|
@ -0,0 +1 @@
|
||||||
|
[[problema computazionale]] la cui [[notazione O-grande]] è [[polinomiale]] o inferiore.
|
|
@ -0,0 +1,9 @@
|
||||||
|
[[problema decisionale]] appartenente alla [[classe di problemi NP]].
|
||||||
|
|
||||||
|
## Enunciato
|
||||||
|
|
||||||
|
Dato un [[grafo]], esiste un [[circuito di un grafo|circuito]] che passa attraverso tutti i [[nodo di un grafo|nodi]]?
|
||||||
|
|
||||||
|
### Verifica
|
||||||
|
|
||||||
|
Dato un [[circuito di un grafo]], esso passa attraverso tutti i [[nodo di un grafo|nodi]]?
|
77
9 - Algoritmi distribuiti/1 - Problemi/riduzione di Karp.md
Normal file
77
9 - Algoritmi distribuiti/1 - Problemi/riduzione di Karp.md
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
Un [[problema decisionale]] $A$ può essere trasformato in un altro [[problema decisionale]] $B$ attraverso una *riduzione di Karp* se:
|
||||||
|
- la trasformazione è un'operazione in tempo [[polinomiale]]
|
||||||
|
- ogni [[istanza positiva]] del primo problema rimane un'[[istanza positiva]] dopo essere stata trasformata
|
||||||
|
- ogni [[istanza negativa]] del primo problema rimane un'[[istanza negativa]] dopo essere stata trasformata
|
||||||
|
|
||||||
|
$$
|
||||||
|
\def \varProblemA {{\color{DarkOrchid} Problem_{A}}}
|
||||||
|
\def \varProblemB {{\color{SlateBlue} Problem_{B}}}
|
||||||
|
\def \varProblemC {{\color{DarkOliveGreen} Problem_{C}}}
|
||||||
|
\def \karp {\leq_p}
|
||||||
|
\Huge
|
||||||
|
\varProblemA \karp \varProblemB
|
||||||
|
$$
|
||||||
|
|
||||||
|
## Corollari
|
||||||
|
|
||||||
|
Se un problema è [[polinomiale]], e un altro può essere ridotto ad esso, anche l'altro è [[polinomiale]]:
|
||||||
|
$$
|
||||||
|
\large
|
||||||
|
\begin{cases}
|
||||||
|
\varProblemA \karp \varProblemB
|
||||||
|
\\\\
|
||||||
|
\varProblemB \in P
|
||||||
|
\end{cases}
|
||||||
|
\implies
|
||||||
|
\begin{cases}
|
||||||
|
\\
|
||||||
|
\varProblemA \in P
|
||||||
|
\\\quad
|
||||||
|
\end{cases}
|
||||||
|
$$
|
||||||
|
|
||||||
|
Se un problema non è [[polinomiale]], e può essere ridotto ad un altro, anche l'altro non è [[polinomiale]]:
|
||||||
|
$$
|
||||||
|
\large
|
||||||
|
\begin{cases}
|
||||||
|
\varProblemA \karp \varProblemB
|
||||||
|
\\\\
|
||||||
|
\varProblemA \not\in P
|
||||||
|
\end{cases}
|
||||||
|
\implies
|
||||||
|
\begin{cases}
|
||||||
|
\\
|
||||||
|
\varProblemB \not\in P
|
||||||
|
\\\quad
|
||||||
|
\end{cases}
|
||||||
|
$$
|
||||||
|
|
||||||
|
Infine, se due problemi possono ridursi a vicenda uno all'altro, essi sono [[problemi equivalenti|equivalenti]]:
|
||||||
|
$$
|
||||||
|
\large
|
||||||
|
\begin{cases}
|
||||||
|
\varProblemA \karp \varProblemB
|
||||||
|
\\\\
|
||||||
|
\varProblemB \karp \varProblemA
|
||||||
|
\end{cases}
|
||||||
|
\implies
|
||||||
|
\begin{cases}
|
||||||
|
\\
|
||||||
|
\varProblemA \equiv_P \varProblemB
|
||||||
|
\\\quad
|
||||||
|
\end{cases}
|
||||||
|
$$
|
||||||
|
|
||||||
|
## Proprietà
|
||||||
|
|
||||||
|
La [[riduzione di Karp]] è [[transitività|transitiva]]:
|
||||||
|
$$
|
||||||
|
\large
|
||||||
|
\begin{cases}
|
||||||
|
\varProblemA \karp \varProblemB
|
||||||
|
\\\\
|
||||||
|
\varProblemB \karp \varProblemC
|
||||||
|
\end{cases}
|
||||||
|
\implies
|
||||||
|
\varProblemA \karp \varProblemC
|
||||||
|
$$
|
5
9 - Algoritmi distribuiti/1 - Problemi/satisfability.md
Normal file
5
9 - Algoritmi distribuiti/1 - Problemi/satisfability.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
aliases:
|
||||||
|
- SAT
|
||||||
|
---
|
||||||
|
[[problema]] particolare, dimostrato direttamente essere [[classe di problemi NP-completi|NP-complete]] con i teoremi [[teorema di Cook|di Cook]] e [[teorema di Levin|di Levin]].
|
|
@ -0,0 +1 @@
|
||||||
|
[[soluzione]] ad un [[problema di ottimizzazione]] in cui si cerca di trovare massimi e minimi di una [[funzione obiettivo]].
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue