Tell Me Who I Am: An Interactive Recommendation System N. Alon, B. - - PowerPoint PPT Presentation

tell me who i am an interactive recommendation system
SMART_READER_LITE
LIVE PREVIEW

Tell Me Who I Am: An Interactive Recommendation System N. Alon, B. - - PowerPoint PPT Presentation

Tell Me Who I Am: An Interactive Recommendation System N. Alon, B. Awerbuch, Y. Azar, B. Patt-Shamir Richard Huber Publication Theory of Computing Systems Volume 45 August 2009 Tel Aviv University, Israel John Hopkins


slide-1
SLIDE 1

Tell Me Who I Am: An Interactive Recommendation System

Richard Huber

  • N. Alon, B. Awerbuch, Y. Azar, B. Patt-Shamir
slide-2
SLIDE 2

2 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

Publication

  • Theory of Computing Systems
  • Volume 45
  • August 2009
  • Tel Aviv University, Israel
  • John Hopkins University, Baltimore, USA
slide-3
SLIDE 3

3 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

Experiment

  • Travel in a foreign country
  • Unknown language
  • Learn to know the night

life subculture

  • Not allowed to talk to

each other

slide-4
SLIDE 4

4 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

Experiment

  • Problem:
  • 5 typical drinks
  • money for 3 drinks
  • Waitress asks whether you liked the drink
  • Idea: Human preferences correlate
slide-5
SLIDE 5

5 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

Experiment

  • http://demo.racerfish.com
slide-6
SLIDE 6

6 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

Players and Billboard

? no yes ? no ? ? yes ? no ? ? ? no ? yes ? yes yes ? no no no ? no ? ? yes ? no no ? yes ? ? ? yes ? ? ? no no ? ? ? ? ? yes ? O1 O2 O3 O4 O5 O6 O7 p1 p2 p3 p4 p5 p6 p7

Shared Billboard

? no yes ? no ? ?

Preference Vector Probe

Player p1

? ? ? ? ? yes ?

Preference Vector Probe

Player p7

Read/Write Read/Write

How can a player find out his preferences with only a few probes?

slide-7
SLIDE 7

7 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

Statement of the Problem

  • n players and m objects
  • each player has an unknown yes/no grade for each
  • bject
  • Parallel rounds: in each round each player
  • reads the shared billboard
  • probes one object
  • writes the result of the probe on the billboard
  • For each player: output a vector as close as

possible to that player's original preference vector

slide-8
SLIDE 8

8 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

Statement of the Problem (Formal)

  • Input:
  • A set of players and a set of objects
  • A vector for each player

P n v p∈{yes , no}m p

  • Output:
  • An estimate vector for each player

w p∈{yes ,no}m p

  • Goal:
  • Minimize for each player

is the Hamming distance

  • Minimize the number of probes

dist v p,w  p p dist x , y O m

slide-9
SLIDE 9

9 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

Input Characteristic

  • Diameter of a subset

DA=max{dist v p, vq∣p ,q∈A} A⊂P

  • -typical set: Subset with

 , D ∣A∣ n , 01 A⊂P DAD , D0

slide-10
SLIDE 10

10 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

A=max{dist w  p,v p∣p∈A}

  • Discrepancy of a subset

Approximation Quality

A⊂P

  • Stretch of a subset A⊂P

 A= A DA

slide-11
SLIDE 11

11 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

  • Output
  • A vector such that

The CHOOSE_CLOSEST Problem

  • Input
  • A set of preference Vectors with
  • A player with (initially unknown) preference vector

wmin∈V V p v p distwmin , v p  dist w ,v  p , w∈V

Object 1 Object 2 Object 3 Player p ? ? ? V yes no no yes no yes no yes yes v1 v2 v3

∣V∣=k

Object 1 Object 2 Object 3 Player p yes yes no V yes no no yes no yes no yes yes v1 v2 v3 Object 1 Object 2Object 3 Player p yes yes no V yes no no yes no yes no yes yes v1 v2 v3

slide-12
SLIDE 12

12 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

The SELECT Algorithm

  • Solves an adapted version of the CHOOSE_CLOSEST

problem

  • Adaptions:
  • Additional input
  • There is a vector such that

D

distw ,v pD

w∈V

slide-13
SLIDE 13

13 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

The SELECT Algorithm

X(V) Object 1 Object 2 Object 3 Object 4 Object 5Object 6Object 7 Player p ? ? ? ? ? ? ? V yes no yes no no yes yes yes no no yes yes no no yes yes no yes yes no no v1 v2 v3

1) Repeat 1a) Let X(V) be the set of Objects on which some two vectors in V differ. 1b) Execute Probe on the first coordinate in X(V) that has not been probed yet. 1c) Remove from V any vector with more than D disagreements with v(p). Until all coordinates in X(V) are probed or X(V) is empty.

D=1

slide-14
SLIDE 14

14 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

The SELECT Algorithm

X(V) Object 1 Object 2 Object 3 Object 4 Object 5Object 6Object 7 Player p ? ? ? ? ? ? ? V yes no yes no no yes yes yes no no yes yes no no yes yes no yes yes no no v1 v2 v3

1) Reapeat 1a) Let X(V) be the set of Objects on which some two vectors in V differ. 1b) Execute Probe on the first coordinate in X(V) that has not been probed yet. 1c) Remove from V any vector with more than D disagreements with v(p). Until all coordinates in X(V) are probed or X(V) is empty.

D=1

slide-15
SLIDE 15

15 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

The SELECT Algorithm

X(V) Object 1 Object 2 Object 3 Object 4 Object 5Object 6Object 7 Player p ? no ? ? ? ? ? V yes no yes no no yes yes yes no no yes yes no no yes yes no yes yes no no v1 v2 v3

1) Repeat 1a) Let X(V) be the set of Objects on which some two vectors in V differ. 1b) Execute Probe on the first coordinate in X(V) that has not been probed yet. 1c) Remove from V any vector with more than D disagreements with v(p). Until all coordinates in X(V) are probed or X(V) is empty.

D=1

slide-16
SLIDE 16

16 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

The SELECT Algorithm

X(V) Object 1 Object 2 Object 3 Object 4 Object 5Object 6Object 7 Player p ? no ? ? ? ? ? V yes no yes no no yes yes yes no no yes yes no no yes yes no yes yes no no v1 v2 v3

1) Repeat 1a) Let X(V) be the set of Objects on which some two vectors in V differ. 1b) Execute Probe on the first coordinate in X(V) that has not been probed yet. 1c) Remove from V any vector with more than D disagreements with v(p). Until all coordinates in X(V) are probed or X(V) is empty.

D=1

slide-17
SLIDE 17

17 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

The SELECT Algorithm

X(V) Object 1 Object 2 Object 3 Object 4 Object 5Object 6Object 7 Player p ? no ? ? ? ? ? V yes no yes no no yes yes yes no no yes yes no no yes yes no yes yes no no v1 v2 v3

1) Repeat 1a) Let X(V) be the set of Objects on which some two vectors in V differ. 1b) Execute Probe on the first coordinate in X(V) that has not been probed yet. 1c) Remove from V any vector with more than D disagreements with v(p). Until all coordinates in X(V) are probed or X(V) is empty.

D=1

slide-18
SLIDE 18

18 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

The SELECT Algorithm

X(V) Object 1 Object 2 Object 3 Object 4 Object 5Object 6Object 7 Player p ? no no ? ? ? ? V yes no yes no no yes yes yes no no yes yes no no yes yes no yes yes no no v1 v2 v3

1) Repeat 1a) Let X(V) be the set of Objects on which some two vectors in V differ. 1b) Execute Probe on the first coordinate in X(V) that has not been probed yet. 1c) Remove from V any vector with more than D disagreements with v(p). Until all coordinates in X(V) are probed or X(V) is empty.

D=1

slide-19
SLIDE 19

19 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

The SELECT Algorithm

X(V) Object 1 Object 2 Object 3 Object 4 Object 5Object 6Object 7 Player p ? no no ? ? ? ? V yes no yes no no yes yes yes no no yes yes no no yes yes no yes yes no no v1 v2 v3

1) Repeat 1a) Let X(V) be the set of Objects on which some two vectors in V differ. 1b) Execute Probe on the first coordinate in X(V) that has not been probed yet. 1c) Remove from V any vector with more than D disagreements with v(p). Until all coordinates in X(V) are probed or X(V) is empty.

D=1

slide-20
SLIDE 20

20 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

The SELECT Algorithm

X(V) Object 1 Object 2 Object 3 Object 4 Object 5Object 6Object 7 Player p ? no no ? ? ? ? V yes no yes no no yes yes yes no no yes yes no no yes yes no yes yes no no v1 v2 v3

1) Repeat 1a) Let X(V) be the set of Objects on which some two vectors in V differ. 1b) Execute Probe on the first coordinate in X(V) that has not been probed yet. 1c) Remove from V any vector with more than D disagreements with v(p). Until all coordinates in X(V) are probed or X(V) is empty.

D=1

slide-21
SLIDE 21

21 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

The SELECT Algorithm

X(V) Object 1 Object 2 Object 3 Object 4 Object 5Object 6Object 7 Player p ? no no yes ? ? ? V yes no yes no no yes yes yes no no yes yes no no yes yes no yes yes no no v1 v2 v3

1) Repeat 1a) Let X(V) be the set of Objects on which some two vectors in V differ. 1b) Execute Probe on the first coordinate in X(V) that has not been probed yet. 1c) Remove from V any vector with more than D disagreements with v(p). Until all coordinates in X(V) are probed or X(V) is empty.

D=1

slide-22
SLIDE 22

22 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

The SELECT Algorithm

X(V) Object 1 Object 2 Object 3 Object 4 Object 5Object 6Object 7 Player p ? no no yes ? ? ? V yes no yes no no yes yes yes no no yes yes no no yes yes no yes yes no no v1 v2 v3

1) Repeat 1a) Let X(V) be the set of Objects on which some two vectors in V differ. 1b) Execute Probe on the first coordinate in X(V) that has not been probed yet. 1c) Remove from V any vector with more than D disagreements with v(p). Until all coordinates in X(V) are probed or X(V) is empty.

D=1

slide-23
SLIDE 23

23 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

The SELECT Algorithm

X(V) Object 1 Object 2 Object 3 Object 4 Object 5Object 6Object 7 Player p ? no no yes ? ? ? V yes no yes no no yes yes yes no no yes yes no no yes yes no yes yes no no v1 v2 v3

1) Repeat 1a) Let X(V) be the set of Objects on which some two vectors in V differ. 1b) Execute Probe on the first coordinate in X(V) that has not been probed yet. 1c) Remove from V any vector with more than D disagreements with v(p). Until all coordinates in X(V) are probed or X(V) is empty.

D=1

slide-24
SLIDE 24

24 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

The SELECT Algorithm

Y Object 1 Object 2 Object 3 Object 4 Object 5Object 6Object 7 Player p ? no no yes ? ? ? V yes no yes no no yes yes yes no no yes yes no no yes yes no yes yes no no v1 v2 v3

2) Let Y be the set of objects probed by p. Output the vector closest to v(p) regarding only the objects in Y.

D=1

slide-25
SLIDE 25

25 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

The SELECT Algorithm

Y Object 1 Object 2 Object 3 Object 4 Object 5Object 6Object 7 Player p ? no no yes ? ? ? V yes no yes no no yes yes yes no no yes yes no no yes yes no yes yes no no v1 v2 v3

2) Let Y be the set of objects probed by p. Output the vector closest to v(p) regarding only the objects in Y.

D=1

slide-26
SLIDE 26

26 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

The SELECT Algorithm: Correctness

  • Any vector removed from V is at distance more

than D from v(p).

  • All distinguishing coordinates of the remaining

vectors were probed.

  • Distance to v(p) exactly known up to a common

additive term.

slide-27
SLIDE 27

27 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

The SELECT Algorithm: Cost

  • Each probe exposes at least one disagreement.
  • No vector remains in V after finding D+1

disagreements

  • After k(D+1) probes, no vector remains in V

(k is the number of Vectors in V)

  • Total cost upper bounded by k(D+1)
slide-28
SLIDE 28

28 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

  • Output:
  • The correct vector for all players in a -typical set

The ZERO_RADIUS Algorithm

  • Input:
  • A set of players P and a set of objects O
  • Parameter

 ,0

  • Fails with probability n

−1

  • Terminates after probes

Ơ logn  

 , 01

slide-29
SLIDE 29

29 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

The ZERO_RADIUS Algorithm

1) If probe all objects and return

min∣P∣,∣O∣ cln n 

slide-30
SLIDE 30

30 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

The ZERO_RADIUS Algorithm

2) Partition randomly and

P=P1∪P2 O=O1∪O2

slide-31
SLIDE 31

31 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

The ZERO_RADIUS Algorithm

3) Recursively execute ZERO_RADIUS for the yellow areas

slide-32
SLIDE 32

32 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

The ZERO_RADIUS Algorithm

3) Recursively execute ZERO_RADIUS for the yellow areas

slide-33
SLIDE 33

33 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

The ZERO_RADIUS Algorithm

3) Recursively execute ZERO_RADIUS for the yellow areas

slide-34
SLIDE 34

34 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

The ZERO_RADIUS Algorithm

4) Consider only vectors, which are returned by a fraction of the players.

/2

slide-35
SLIDE 35

35 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

The ZERO_RADIUS Algorithm

5) Execute SELECT for the green areas with the remaining orange vectors as input and D=0

/2

slide-36
SLIDE 36

36 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

ZERO_RADIUS: Cost Analysis

  • Step 1) Probing whole sub-area
  • Executed at most once by each player
  • How many objects probed by each player?
  • Recursive halving maintains
  • :
  • Recursion stops when
  • Player probes objects
  • :
  • Recursion stops when
  • Player probes objects
  • Total cost of step 1) per player is

∣O∣≈∣P∣ ⋅m/n Ơ ⌈m/n⌉logn/ nm

∣P∣=Ơ log n/ Ơ m/n⋅logn/

nm

∣O∣=Ơ log n/ Ơ log n/

slide-37
SLIDE 37

37 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

ZERO_RADIUS: Cost Analysis

  • Step 5) (call to SELECT)
  • Call SELECT with candidates and D=0
  • Recursion depth upper bounded by
  • Total cost per player upper bounded by

Ơ 1/ Ơ logn Ơ logn/

  • ZERO_RADIUS terminates after

probes

Ơ⌈ m n ⌉ log n  Ơ logn  =Ơ⌈ m n ⌉ logn  

slide-38
SLIDE 38

38 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

Summary

  • SELECT
  • Find closest of vectors within distance
  • ZERO_RADIUS
  • Find correct preference vector for players in -typical sets
  • k D1

k D  ,0 Ơ ⌈m/n⌉logn/

slide-39
SLIDE 39

39 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

The SMALL_RADIUS Algorithm

  • Input
  • Parameter
  • Parameter
  • Output
  • An estimate vector for every player which is a

member of a -typical set with

 , 01 D=Ơ logn w p p  , D ⇒ A5D A dist w p,v p5D , p∈A ⇒A5

slide-40
SLIDE 40

40 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

The SMALL_RADIUS Algorithm

1) Partition randomly with

O=O1∪∪Os s=D3/2

slide-41
SLIDE 41

41 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

The SMALL_RADIUS Algorithm

2) For every execute ZERO_RADIUS with all players and parameter

Oi /5

slide-42
SLIDE 42

42 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

The SMALL_RADIUS Algorithm

3) Within the set , only use vectors output by at least players

Oi n/5

slide-43
SLIDE 43

43 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

The SMALL_RADIUS Algorithm

4) Within the set , player P applies procedure SELECT to the remaining vectors with distance bound

Oi D

slide-44
SLIDE 44

44 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

The SMALL_RADIUS Algorithm

5) Do this times. Probability that one of the independent executions succeed is

K K 1−2−K 

slide-45
SLIDE 45

45 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

The SMALL_RADIUS Algorithm

6) On the successful executions, all players execute SELECT with distance bound 5D and output the result.

slide-46
SLIDE 46

46 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

  • Step 4): SELECT invoked
  • times with bound and at most

candidates

SMALL_RADIUS: Cost

  • Step 2): ZERO_RADIUS invoked
  • times with users and objects

s=Ơ D3/2

n m/s

D Ơ 1/ s=Ơ D3/2 Ơ m n D

3/2⋅logn

 

  • Step 6): SELECT invoked Ơ  KD

Ơ D5/2/

  • Overall complexity ƠK m

n D

3/2log nD

slide-47
SLIDE 47

47 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

Summary

  • SELECT
  • Find closest of vectors within distance
  • ZERO_RADIUS
  • Find correct preference vector for players in -typical sets
  • SMALL_RADIUS
  • Find preference vectors of -typical sets with
  • k D1

k D  ,0 Ơ ⌈m/n⌉logn/  , D 5

ƠK m  n D

3/2lognD

slide-48
SLIDE 48

48 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

The LARGE_RADIUS Algorithm

  • Input
  • Parameter
  • Parameter
  • Output
  • An estimate vector for every player which is a

member of a -typical set with

 Dlogn w p p  , D ⇒ A=Ơ D/ A dist w p,v p=Ơ D/ , p∈A ⇒A=Ơ 1/

slide-49
SLIDE 49

49 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

LARGE_RADIUS: Idea

slide-50
SLIDE 50

50 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

Main Algorithm

  • Given and
  • If use ZERO_RADIUS
  • If use SMALL_RADIUS
  • If use LARGE_RADIUS
  • For every -typical set
  • w.h.p.
  • the number of probes performed by each player is

 D

D=0 D=Ơ log n Dlog n A  A=OD/ O⌈ m n ⌉ ⋅log

7/2n

2 

 , D

slide-51
SLIDE 51

51 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

Unknown Input Characteristics

  • Known , unknown
  • Run independent versions of the main algorithm

with

  • Choose closest of all output vectors
  • Increase running time by a factor of
  • Decrease quality of output by a constant factor

 D

Ơ log n D={0,21,22 ,,2log n} Ơ logn Ơ log n

O⌈ m n ⌉ ⋅log

9/2n

2 

slide-52
SLIDE 52

52 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

Unknown Input Characteristics

  • Unknown , unknown
  • Given => number of probing rounds
  • Given => minimum
  • Start parallel versions with and unknown
  • After every round, choose closest output vector

 D

=Ơ⌈ m n ⌉⋅log

9/2n

2 

   =2 j D

slide-53
SLIDE 53

53 Tell Me Who I Am: An Interactive Recommendation System Mittwoch, 13. April 2011

Conclusion

  • Distributed algorithm for an interactive

recommendation system

  • No restrictions on the input set
  • Has polylogarithmic running time
  • First algorithm published that combines these two

properties