diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 24eb059..919955c 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -4,67 +4,22 @@ "type": "split", "children": [ { - "id": "a4a0be807e701f64", + "id": "1f52c0279712e3d2", "type": "tabs", "children": [ { - "id": "fce83e74db3de5b7", - "type": "leaf", - "state": { - "type": "pdf", - "state": { - "file": "Biometric Systems/slides/LEZIONE2_Indici_di_prestazione.pdf", - "page": 19, - "left": -26, - "top": 410, - "zoom": 0.5666666666666667 - } - } - }, - { - "id": "24553d742ee49625", - "type": "leaf", - "state": { - "type": "pdf", - "state": { - "file": "Autonomous Networking/slides/3 WSN.pdf", - "page": 73, - "left": -26, - "top": 248, - "zoom": 0.5666666666666667 - } - } - } - ] - }, - { - "id": "730530e270323c7d", - "type": "tabs", - "children": [ - { - "id": "06d416b60db86f57", - "type": "leaf", - "state": { - "type": "image", - "state": { - "file": "Autonomous Networking/images/Pasted image 20241002114133.png" - } - } - }, - { - "id": "abce0da557ee63e7", + "id": "e23f9dfc04a75f51", "type": "leaf", "state": { "type": "markdown", "state": { - "file": "Biometric Systems/final notes/2. Performance indexes.md", + "file": "Autonomous Networking/notes/3 WSN.md", "mode": "source", "source": false } } } - ], - "currentTab": 1 + ] } ], "direction": "vertical" @@ -114,8 +69,7 @@ } ], "direction": "horizontal", - "width": 300, - "collapsed": true + "width": 300 }, "right": { "id": "11560c155f3d8f6e", @@ -131,7 +85,7 @@ "state": { "type": "backlink", "state": { - "file": "Biometric Systems/slides/LEZIONE2_Indici_di_prestazione.pdf", + "file": "Autonomous Networking/notes/3 WSN.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -148,7 +102,7 @@ "state": { "type": "outgoing-link", "state": { - "file": "Biometric Systems/slides/LEZIONE2_Indici_di_prestazione.pdf", + "file": "Autonomous Networking/notes/3 WSN.md", "linksCollapsed": false, "unlinkedCollapsed": true } @@ -171,7 +125,7 @@ "state": { "type": "outline", "state": { - "file": "Biometric Systems/slides/LEZIONE2_Indici_di_prestazione.pdf" + "file": "Autonomous Networking/notes/3 WSN.md" } } }, @@ -205,10 +159,55 @@ "obsidian-git:Open Git source control": false } }, - "active": "fce83e74db3de5b7", + "floating": { + "id": "c11cc165af78efc3", + "type": "floating", + "children": [ + { + "id": "2666a13ed8f30641", + "type": "window", + "children": [ + { + "id": "24baa570d7787193", + "type": "tabs", + "children": [ + { + "id": "6d3383612587063d", + "type": "leaf", + "state": { + "type": "markdown", + "state": { + "file": "Autonomous Networking/notes/4 WSN2.md", + "mode": "source", + "source": false + } + } + } + ] + } + ], + "direction": "vertical", + "x": 0, + "y": 0, + "width": 768, + "height": 864, + "maximize": false, + "zoom": 0 + } + ] + }, + "active": "e23f9dfc04a75f51", "lastOpenFiles": [ - "Biometric Systems/final notes/2. Performance indexes.md", + "Autonomous Networking/notes/4 WSN2.md", + "Autonomous Networking/notes/3 WSN.md", + "Autonomous Networking/slides/4 WSN2.pdf", + "Autonomous Networking/slides/3 WSN.pdf", + "Autonomous Networking/notes/2 RFID.md", + "Untitled.md", + "BUCA/Queues.md", + "BUCA", "Biometric Systems/slides/LEZIONE2_Indici_di_prestazione.pdf", + "Biometric Systems/final notes/2. Performance indexes.md", "Autonomous Networking/images/Pasted image 20241002235837.png", "().md", "a.md", @@ -223,23 +222,17 @@ "Biometric Systems/images/Pasted image 20241002181936.png", "Biometric Systems/images/Pasted image 20241002135922.png", "Autonomous Networking/images/Pasted image 20241002114133.png", - "Autonomous Networking/notes/3 WSN.md", - "Autonomous Networking/slides/3 WSN.pdf", "Biometric Systems/final notes/1. Introduction.md", "Foundation of data science/slides/Untitled.md", "conflict-files-obsidian-git.md", "Autonomous Networking/slides/2 RFID.pdf", - "Autonomous Networking/notes/2 RFID.md", "Autonomous Networking/slides", "Autonomous Networking/notes", "Autonomous Networking/images", "Autonomous Networking", "Foundation of data science/slides/notes 2.md", "Foundation of data science/slides/FDS_intro_new.pdf", - "Foundation of data science/slides", - "Foundation of data science", "Biometric Systems/slides/lezione1 notes.md", - "Untitled.canvas", - "Untitled.md" + "Untitled.canvas" ] } \ No newline at end of file diff --git a/Autonomous Networking/notes/4 WSN2.md b/Autonomous Networking/notes/4 WSN2.md new file mode 100644 index 0000000..e69de29 diff --git a/Autonomous Networking/slides/4 WSN2.pdf b/Autonomous Networking/slides/4 WSN2.pdf new file mode 100644 index 0000000..53403db Binary files /dev/null and b/Autonomous Networking/slides/4 WSN2.pdf differ diff --git a/BUCA/Queues.md b/BUCA/Queues.md new file mode 100644 index 0000000..9e754c4 --- /dev/null +++ b/BUCA/Queues.md @@ -0,0 +1,56 @@ +Challenges +- Atomicity + - you write to the queue first + - you write to the db first + - we need a transaction! +- Idempotence + - we need locking mechanism on the queue, to avoid multiple process to process the same element + - solution: replay protection (lastUpdate in the db), but still I have the problem of multiple process reading the same element + +## Data replication +- Waiting for all replicas + - definitely slower + - safer for the data +- Waiting only for the primary replica + - faster but... + - replica may fail + - not getting always the same value + - ok for maybe Instagram feed, but not for e-mails + +## Paxos +Paxos overview: +- partecipnats are: Writers & Replicas +- 2 phase protocol: + - **prepare** reserves right to supply value, and robs other + - **accepts** supplies the value **v** + - replicas are stateful + - communication is ordered by "proposal number" **n** + - uses "viral propagation" + +#### Algorithm +- Prepare phase + - Success if replica hasn't prepared a higher proposal + - Fail otherwise + - Success with value if we have accepted another value (viral property) + +Majority succeded -> Go to Accept Phase + +- Accept phase + - Success only if replica hasn't Prepared a higher proposal (same is ok) + +### Mesh +- full mesh +- subsetting: not every node connected to every other node: in case of a query of death, only connected nodes will fail +- proxying: adding a layer of proxies (load balancers), that use a lookup service to route the request + +### Strong stickiness +Some applications like chat, online game servers, video calls ecc. need a very strong stickiness. +In these cases, we may not want to use consistent hashing. Maybe we can use it to pick a server and then stick with it. + +Also, it can happen that some users are not able to reach a specific server, but other does. +Using leases might be a solution. + +- Request from Alice +- lookup server response is cached +- we have a failure +- we call Set to change the server, but the call stalls until the lease expires. Also, the lookup server might be able to still reach the server and renew the lease \ No newline at end of file diff --git a/Biometric Systems/final notes/2. Performance indexes.md b/Biometric Systems/final notes/2. Performance indexes.md index bc6af55..fbbdd55 100644 --- a/Biometric Systems/final notes/2. Performance indexes.md +++ b/Biometric Systems/final notes/2. Performance indexes.md @@ -98,3 +98,39 @@ Of course templates should be different, not computed i.e. by frames of the same > - pj does not belong to the gallery (most trivial) > - pj belongs to an enrolled subject but the probe claimed another identity, not the real one. +What if ERR in two systems is the same, but the curves are different? + +We can use ROC curve or DET curve. +For ROC, we can compute the area below the curve and use it as a metric, the higher the better. + +#### Possible errors: identificaiton - open set +In an open set identification task, the system determines if the individual's biometric signature matches a signature of someone in the gallery. +The individual **does not make** and identity claim. +- More possible error situations, depending on the matcher and on the threshold +- A problem may occur if the system returns more possible candidates below the threshold. Who is the right one? +> [!PDF|yellow] [[LEZIONE2_Indici_di_prestazione.pdf#page=27&selection=0,8,9,8&color=yellow|LEZIONE2_Indici_di_prestazione, p.27]] +> > Possible errors: identification – open set +> +> + +correct detect and identify rate = rate over which the correct individual has the identified score and so is identified correctly. + +false alarm rate = rate over which unenrolled users are identified as another user in the db. + +We compute that by testing the system with lots of probes belonging to set Pg if enrolled or set Pn if not. + + +We define +- rango(pj) = the position in the list where the first template for the correct identity is returned +- DIR (at rank k) (Detection and Identication Rate (at rank k)): the probability of correct identification at rank k (the correct subject is returned at position k) +- The rate between the number of individuals correctly recognized at rank k and the number of probes belonging to individuals in PG +- If identification does NOT happen at rank 1, we have a False Reject. +- FRR or more specifically FNIR (False Reject Rate or False Negative Identification Rate): the probability of false reject expressed as 1 - DIR (at rank 1) + +- FAR or more specifically FPIR (False Acceptance Rate or False Positive Identification Rate) or False Alarm Rate (Watch List): the probability of false acceptance/alarm +- The rate between the nuber of impostor recognized by error and the total number of impostors in PN + + +#### Closed set +We don't have thresholds! +The only possible error is that the correct identity does not appear at rank 1. \ No newline at end of file diff --git a/Untitled.md b/Untitled.md new file mode 100644 index 0000000..e69de29