Privacy enhancing straight average algorithm: Difference between revisions
More actions
Created page with "The straight average algorithm discussed previously was modified to obscure trust information as it works up the tree, thus enhancing privacy. The previous algorithm communicated all trust-modified probabilities up to the head node, where the average would be calculated. This could potentially lead to reverse engineering the trust information associated with those probabilities. The new algorithm only communicates the sum of the probabilities at each node along with the..." |
No edit summary |
||
Line 1: | Line 1: | ||
{{Main|A simple averaging technique to supplement the Bayes equation}} |
|||
The straight average algorithm discussed previously was modified to obscure [[trust]] information as it works up the tree, thus enhancing privacy. The previous algorithm communicated all trust-modified probabilities up to the head node, where the average would be calculated. This could potentially lead to reverse engineering the trust information associated with those probabilities. |
The straight average algorithm discussed previously was modified to obscure [[trust]] information as it works up the tree, thus enhancing privacy. The previous algorithm communicated all trust-modified probabilities up to the head node, where the average would be calculated. This could potentially lead to reverse engineering the trust information associated with those probabilities. |
||
Revision as of 21:19, 30 August 2024
Main article: A simple averaging technique to supplement the Bayes equation
The straight average algorithm discussed previously was modified to obscure trust information as it works up the tree, thus enhancing privacy. The previous algorithm communicated all trust-modified probabilities up to the head node, where the average would be calculated. This could potentially lead to reverse engineering the trust information associated with those probabilities.
The new algorithm only communicates the sum of the probabilities at each node along with the population that the sum represents. Thus every time a node performs an average of its own and its children’s probabilities, it records the sum of the probabilities (numerator) in the average calculation and the population (denominator). It then sends this sum and population on as intermediate_results
to its parent node. The parent can now compute its own average by combining these results with its own probability and its other children’s numerator sum and population information.
A simple example shows how this works. Let’s start with the tree diagram we used earlier for the averaging algorithm and focus on just Nodes 1,3,4.
First the trust modified probabilities are found, noting that no modification is needed for Node 1 because it trusts itself:
The average is clearly:
The intermediate_results
information passed on to Node 0 is then [1.77, 3], the numerator and denominator of the average. In the attached snippet it is called straight_average_intermediate_privacy
. The snippet will run an example, which is just a repeat of the previous (less private) averaging algorithm, to verify that it is giving the correct result:
straight_average_intermediate_privacy -- TEST1 output134 = [0.59, 0.41] inter_results134 = [[1.7699999999999998, 1.23], 3] output256 = [0.71, 0.29] inter_results256 = [[2.13, 0.8699999999999999], 3] output012 = [0.6157142857142858, 0.38428571428571423] inter_results012 = [[4.3100000000000005, 2.6899999999999995], 7.0]
Here the inter_results134
show the same result as calculated above. The 1.23 in the results is simply the same calculation for the 2nd probability in the predicate distribution (1-P). The output012
is the same overall result as shown previously.
The functions associated with this algorithm have the suffix _privacy
. Since they are relatively simple, and the algorithm has been discussed before, we will skip a detailed look at how they work. Inspection of the snippet should reveal what it is doing. This algorithm required no new changes to the algorithms.py
interface.