a framework for expressing and combining preferences
Download
Skip this Video
Download Presentation
A Framework for Expressing and Combining Preferences

Loading in 2 Seconds...

play fullscreen
1 / 15

A Framework for Expressing and Combining Preferences - PowerPoint PPT Presentation


  • 120 Views
  • Uploaded on

A Framework for Expressing and Combining Preferences. By Rakesh Agrawal & Edward L. Wimmers Presented by William Lee For CS491cxz Spring 2004. Problem. Explosion of information (the web) Impossible to construct a “social preference function” without leaving out individual preferences.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' A Framework for Expressing and Combining Preferences' - cybele


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
a framework for expressing and combining preferences

A Framework for Expressing and Combining Preferences

By Rakesh Agrawal & Edward L. Wimmers

Presented by William Lee

For CS491cxz Spring 2004

problem
Problem
  • Explosion of information (the web)
  • Impossible to construct a “social preference function” without leaving out individual preferences
related work
Related Work
  • Recommendation systems
    • E.g. Personalogic (no longer in business?)
  • Problem
    • Solutions are too specific -- needs a more generic preference framework
the preference problem

combining

preferences

The Preference Problem

Model #

Any color

Alice’s preference function

A0

Model #

Best Choice:

Model: 1

Color: Black

Quality: Good

Quality

Betty’s preference function

B0

record type
Record Type
  • Record type is set of (name : type) pair that is used to express the preference parameters.
  • Examples:
    • dom(A0)={model: int, color: string union {*}}
    • dom(B0)={model: int, quality: int}
scoreboard
ScoreBoard
  • ScoreBoard(rt) is by itself a record type!
    • Define the data type to store Scores
    • New names of the record type = all combinations of the wild types in the original rt separated with “!”.
    • 2^j number of fields, j = number of wild types
    • Use “star!” for the wild type
  • Examples
    • ScoreBoard(dom(A0))={color!model: score, star!!model: score}
    • ScoreBoard(dom(B0))={model!quality: score}
recordof rt r n 1 n 2 n k
RecordOfrt(r,n’1! n’2!...n’k)
  • RecordOf() a particular record always results in a generalization of the record.
  • Example
    • If r = {color = “red”, model = 134}
    • RecordOfdom(A)(r,star!!model)={color = *,model = 134} (a more general r based on the field of the ScoreBoard)
scores
Scores
  • Scores(p,r) applies the preference function p to the generalization of record r
  • Scores(p,r).n’1!...n’k=p(RecordOfrt(r, n’1!...n’k))
  • Example:
    • Scores(A0,r)={color!model = 0.3, star!!model = 0.5}
    • Where A0({color = r.color, model=r.model})=0.3 and A0({color=*, model=r.model})=0.5
putting everything together
Putting Everything Together

r = record:

{color: white

model: 1342

quality: 3}

Field name: star!!model

rt = record type:

{color: white or *

model: int}

RecordOfrt(r,star!!model):

color: *

model: 1342

ScoreBoard(rt):

{color!model: score,

star!!model: score

Scores(A0,r):

{color!model: veto,

star!!model: 0.3}

Scores(B0,r):

{color!quality: 0.5,

star!!quality: 0.4}

A0 (preference function that

has type rt)

(combine(f))(a: Scores(A0,r),

b: Scores(B0,r), r)

= final score

example value function f
Example Value Function (f)
  • Alice has the veto power to veto a color/model combination or on a particular model. If she thinks that it’s OK, then let Betty’s “quality” decide.

FirstVeto(a: ScoreBoard(dom(A0)), b: ScoreBoard(dom(B0)), c: merge(dom(A0), dom(B0))) returns score

{

if a.color!model = veto then return veto

else if a.star!!model = veto then return veto

else return b.model!quality

}

implementation using rdbms
Implementation using RDBMS

Alice’s preference function

  • Preference functions (p, or A0 or B0) are implemented in a table

Betty’s preference function

generating the scores
Generating the Scores
  • To generate the “Scores” for Alice:
    • color!model: =
      • SELECT Score FROM Alice WHERE Color = r.color AND Model = r.model
    • Return score, or NO_PREF if query returns nothing
    • star!!model =
      • SELECT Score FROM Alice WHERE Color = * AND Model = r.model
  • Similarly for Betty, model!quality = SELECT Score FROM Betty WHERE Model = r.model AND Quality = r.quality
combining the scores
Combining the Scores
  • Get the Scores for Alice
  • Get the Scores for Betty
  • Returns the value obtained by FirstVeto(a,b,r)
  • The FirstVeto function can be realized by a table with 4 columns (Color, Model, Quality, and Score) that covers the domain of the records that we pass to it.
questions for discussion
Questions for Discussion
  • What about the running time?
    • 1000 fridges = 1000 * (2^j) SELECTs for each user where j is the number of fields that have type *.
    • Would this be a problem?
  • Does this system works on web search? (Think Alice == Google and Betty == you)
  • How can the system learn the user’s preference function?
ad