Document

Lightweight Distributed
Trust Propagation
(daniele quercia & stephen hailes & licia capra)
What I do...
Research @ ...
What I research...
Reputation Systems for Mobiles
Daniele Quercia
Situation: People exchange
digital content
Daniele Quercia
Problem: Content overload
Daniele Quercia
Proposal: Accept content only
from reputable people
Daniele Quercia
Take two devices…
A
B
Daniele Quercia
Shall I accept
content from B?
A
B
Daniele Quercia
A should set its initial trust for B
A
B
Daniele Quercia
A should set its initial trust for B
A
Yes, but how?
B
Daniele Quercia
Traditional way:
Trust propagation
C
A
?
B
Daniele Quercia
 That way works on the Web and
has been tested on “binary” ratings
Daniele Quercia
If that way is tested on
3-level ratings
Conclusion: A needs a new way
for propagating its trust in B
Conclusion: A needs a new way
for propagating its trust in B
But which way?
Our proposal
Daniele Quercia
C
1
A
?
B
AB
2
AC
CB
Daniele Quercia
Put trust relationships
in a new graph &
label graph nodes
?
C
1
A
?
B
AB
2
AC
CB
1
2
Daniele Quercia
Define a
“good” function
that rates AB
Put trust relationships
in a new graph &
label graph nodes
?
C
1
A
?
B
AB
2
AC
CB
1
2
f
Daniele Quercia
find_f
build_graph(trust_relationships, AB)
?
C
1
A
?
B
AB
2
AC
CB
1
2
f
<build_graph>
?
A
B
2
1
1
3
C
2
1
D
AB
0.5
1
?
M
2
?
M
3
?
A
B
2
1
1
3
C
2
D
AB
0.5
?
M
1
2
What are those
1
?
?
M
3
Remember, we’ll define f
We will see that f rates neighbouring nodes alike
?
It’s a neighbour of AB;
therefore, it rates as AB does
Remember, we’ll define f
We will see that f rates neighbouring nodes alike
?
It’s a neighbour of AB;
therefore, it rates as AB does
Find relationships that
rate as AB does
Remember, we’ll define f
We will see that f rates neighbouring nodes alike
?
It’s a neighbour of AB;
therefore, it rates as AB does
2 Types
of those
relationships
1. The relationships with same rater (A)
A
B
2
1
3
C
2
D
1
As long as B and D behave alike
2. The relationships with same rated node (B)
A
B
2
1
3
C
2
D
1
As long as A and C rate alike
OK,
2 Types
Taking those relationships,
one comes up with …
…a graph!
AC
1
AB
0.5
AD
M
2
1
CB
M
3
</build_graph>
<find_f>
AC
1
AB
0.5
AD
M
2
1
CB
M
3
AC
1
AB
0.5
AD
M
1
CB
M
2
Take f that returns
3
the ratings already there ( 2 3 )
& similar ratings for neighbouring nodes
More formally, …
We find f that minimizes that loss!
</find_f>
Daniele Quercia
find_f
build_graph
?
C
1
A
?
B
AB
2
AC
CB
1
2
f
Does it work?
Useful, Robust, Fast, “Light”?
Daniele Quercia
Useful? Tested on real data
(Advogato: > 55K user ratings)
Daniele Quercia
Useful? Tested on real data
(Advogato: > 55K user ratings)
Daniele Quercia
Robust?
Daniele Quercia
Robust?
Fast and “Light”?
Daniele Quercia
Fast and “Light”?
For propagating AB
(worst case)
30KB
& run for 2.8ms
Transmit
Daniele Quercia
Daniele Quercia
All this on …
Daniele Quercia
All this on …
Daniele Quercia