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 University, Baltimore, USA Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 2
Experiment Travel in a foreign country Unknown language Learn to know the night life subculture Not allowed to talk to each other Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 3
Experiment Problem: 5 typical drinks money for 3 drinks Waitress asks whether you liked the drink Idea: Human preferences correlate Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 4
Experiment http://demo.racerfish.com Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 5
Players and Billboard Player p 1 Shared Billboard Probe O 1 O 2 O 3 O 4 O 5 O 6 O 7 p 1 ? no yes ? no ? ? ? no yes ? no ? ? Read/Write p 2 Preference Vector yes ? no ? ? ? no p 3 ? yes ? yes yes ? no p 4 no no ? no ? ? yes Player p 7 p 5 ? no no ? yes ? ? Probe p 6 ? yes ? ? ? no no ? ? ? ? ? yes ? p 7 Read/Write ? ? ? ? ? yes ? Preference Vector How can a player find out his preferences with only a few probes? Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 6
Statement of the Problem n players and m objects each player has an unknown yes/no grade for each object 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 Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 7
Statement of the Problem (Formal) Input: P O A set of players and a set of objects n m p v p ∈{ yes , no } m A vector for each player Output: w p ∈{ yes ,no } m An estimate vector for each player p Goal: dist v p ,w p p Minimize for each player is the Hamming distance dist x , y Minimize the number of probes Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 8
Input Characteristic Diameter of a subset A ⊂ P D A = max { dist v p , v q ∣ p ,q ∈ A } -typical set : Subset with , D A ⊂ P ∣ A ∣ n , 0 1 D A D , D 0 Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 9
Approximation Quality Discrepancy of a subset A ⊂ P A = max { dist w p ,v p ∣ p ∈ A } Stretch of a subset A ⊂ P A = A D A Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 10
The CHOOSE_CLOSEST Problem Input ∣ V ∣ = k A set of preference Vectors with V A player with (initially unknown) preference vector v p p Output A vector such that w min ∈ V dist w min , v p dist w ,v p , w ∈ V Object 1 Object 2Object 3 Object 1 Object 2 Object 3 Object 1 Object 2 Object 3 Player p Player p Player p yes yes ? yes yes ? no no ? v 1 v 1 v 1 yes no no yes yes no no no no v 2 v 2 v 2 V V V yes no yes yes yes no no yes yes v 3 v 3 v 3 no yes yes no no yes yes yes yes Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 11
The SELECT Algorithm Solves an adapted version of the CHOOSE_CLOSEST problem Adaptions: Additional input D w ∈ V There is a vector such that dist w ,v p D Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 12
The SELECT Algorithm X(V) D=1 Object 1 Object 2 Object 3 Object 4 Object 5Object 6Object 7 Player p ? ? ? ? ? ? ? v 1 yes no yes no no yes yes v 2 V yes no no yes yes no no v 3 yes yes no yes yes no no 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. Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 13
The SELECT Algorithm X(V) D=1 Object 1 Object 2 Object 3 Object 4 Object 5Object 6Object 7 Player p ? ? ? ? ? ? ? v 1 yes no yes no no yes yes v 2 V yes no no yes yes no no v 3 yes yes no yes yes no no 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. Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 14
The SELECT Algorithm X(V) D=1 Object 1 Object 2 Object 3 Object 4 Object 5Object 6Object 7 Player p ? no ? ? ? ? ? v 1 yes no yes no no yes yes v 2 V yes no no yes yes no no v 3 yes yes no yes yes no no 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. Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 15
The SELECT Algorithm X(V) D=1 Object 1 Object 2 Object 3 Object 4 Object 5Object 6Object 7 Player p ? no ? ? ? ? ? v 1 yes no yes no no yes yes v 2 V yes no no yes yes no no v 3 yes yes no yes yes no no 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. Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 16
The SELECT Algorithm X(V) D=1 Object 1 Object 2 Object 3 Object 4 Object 5Object 6Object 7 Player p ? no ? ? ? ? ? v 1 yes no yes no no yes yes v 2 V yes no no yes yes no no v 3 yes yes no yes yes no no 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. Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 17
The SELECT Algorithm X(V) D=1 Object 1 Object 2 Object 3 Object 4 Object 5Object 6Object 7 Player p ? no no ? ? ? ? v 1 yes no yes no no yes yes v 2 V yes no no yes yes no no v 3 yes yes no yes yes no no 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. Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 18
The SELECT Algorithm X(V) D=1 Object 1 Object 2 Object 3 Object 4 Object 5Object 6Object 7 Player p ? no no ? ? ? ? v 1 yes no yes no no yes yes v 2 V yes no no yes yes no no v 3 yes yes no yes yes no no 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. Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 19
The SELECT Algorithm X(V) D=1 Object 1 Object 2 Object 3 Object 4 Object 5Object 6Object 7 Player p ? no no ? ? ? ? v 1 yes no yes no no yes yes v 2 V yes no no yes yes no no v 3 yes yes no yes yes no no 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. Mittwoch, 13. April 2011 Tell Me Who I Am: An Interactive Recommendation System 20
Recommend
More recommend