250 likes | 367 Views
Uživatelské preference. 3. Dotazování s preferencemi. Motivace – desetiboj – G ötzis 27.5.2001. Individuální výsledky. Motivace – desetiboj – G ötzis 27.5.2001. Pořadí v jednorlivých disciplínách. Motivace – desetiboj – G ötzis 27.5.2001. Decathlon points. 100m. Shot. Long. High.
E N D
Uživatelské preference 3. Dotazování s preferencemi
Motivace – desetiboj – Götzis 27.5.2001 Individuální výsledky 3. Dotazování s preferencemi - úvod
Motivace – desetiboj – Götzis 27.5.2001 Pořadí v jednorlivých disciplínách 3. Dotazování s preferencemi - úvod
Motivace – desetiboj – Götzis 27.5.2001 Decathlon points 100m Shot Long High 110mh Discus 400m Pole Javelin 1500m 3. Dotazování s preferencemi - úvod
Motivace – desetiboj – Götzis 27.5.2001 Body za jednotlivé disciplíny Pomineme časový aspekt 3. Dotazování s preferencemi - úvod
Motivace – restaurace Hledám restauraci, mám informace z různých serverů - cenová hladina - vzdálenost - parkování - různá hodnocení návštěvníků, průvodců, ... - styl (nejlepší italské restaurace) ... Některé informace dostanu jen v uspořádání od nejlepší Někdy i s „počtem bodů = skóre, hodnocení“ Někdy, když znám jméno restaurace, můžu se doptat přímo Jména nemůžu hádat – nejdřív ho musím najít sekvenčně Princip desetiboje – potřebuji body za jednotlivé discipliny Potřebuji je nějak skombinovat – součet nemusí být dobrý 3. Dotazování s preferencemi - úvod
Motivace – příklady, top-k, rychle, ... Uživatel hledá objekt podle svých preferencí Preference vyjádřené skóre v jednotlivých „disciplinách“ Kombinační funkce dáva celkové pořadí (vážený průměr?) Multimédiá – objekt červený, s danou texturou,... Dovolená = hotel, restaurace, reputace podle pořadí v Googlu, Studentská anketa – co by studenti rádi hledali lépe Nepotřebujeme všechny odpovědi Potřebujeme 10 nejlepších (rychle, bez prohledání všech dat) 3. Dotazování s preferencemi - úvod
Model Fagin – Lotem - Naor Podle článku R. Fagin, A. Lotem, M. Naor, Optimal aggregation algorithms for middleware. Journal of Computer and System Sciences 66 (2003) 614–656 Objekty {Ri : i N}, m atributů R má skóre x1, ..., xm [0, 1] Data máme v m uspořádaných seznamech L1, ..., Lm Záznam v Li má tvar (R, xiR) Přístup k datům: - podle pořadí – cena cS (S podle „sequential“) - přímý přístup (kdyz znám jméno, id. R) – cR (R podle „random“) celková cena s*cS + r*cR Kombinační funkce t:[0,1]m [0,1], monotónní, tj. xi yi implikuje t(x1, ..., xm) t(y1, ..., ym) 3. Dotazování s preferencemi - úvod
Model Fagin – Lotem - Naor Top-k t(R) = w1*x1 + w2*x2 + … + w5*x5 (zatím) předpokládáme synchronizovaný, paralelní přístup 3. Dotazování s preferencemi - úvod
Práhový algoritmus TA – threshold algorithm 1. Sekvenčně přistupme ke každému seznamu Li. Pro každý nalezený objekt R přímým přístupem nalezněme zbylé skóre. Vypočítejme t(R). Když patří ke k největším hodnotám které jsmekdy viděli, zapamatujme si ho. 2. Nechť x1, ..., xm jsou skóre objektů naposledy viděných v L1, ..., Lm sekvenčním přístupem. Položme = t(x1, ..., xm). Jakmile jsme viděli k objektů s t(R) skonč, jinak jdi na 1. 3. Nechť Y je množina k největších viděných objektů, výstup je množina {(R, t(R))| R Y} uspořádaná podle t(R). 3. Dotazování s preferencemi - úvod
TA algoritmus - ilustrace Hledám hotel blízko pláže, levný, kvalitní Práh 1 Práh 2 Ještě neznám nejlepší 0,81>0,8 … H2 je nejlepší 3. Dotazování s preferencemi - úvod
NDBI021 Ve kterém kroku překročil práh Objekty viděné v prvním druhém třetím kroku 3. Dotazování s preferencemi - úvod
Korektnost TA algoritmu Věta. Jestliže kombinační (agregační) funkce t je monotónní, Pak TA korektně najde k nejlepších objektů (remízy jsou uspořádany libovolně). Důkaz. Každý objekt z, který nebyl viděn do skončení algoritmu, má xiz xm a tedy t(x1z, ..., xmz) = t(x1, ..., xm) Jelikož Y obsahuje objekty s hodnotou tak z není lepší než žádný z nich (nejvýš stejně dobrej). □ 3. Dotazování s preferencemi - úvod
TA je optimální Věta. TA je optimální vzhledem ke všem algoritmům A které korektně naleznou top-k (s danou monotónní agregační funkcí) bez hádání nad všemi instancemi databází D. Důkaz. Nechť A A aD D. Výsledek je YA a v každém seznamu Li algoritmus A udělal di sekvenčných kroků, posledné viděné skóre je xi a příslušný práh je A. A viděl a objektů, cenaA je alespoň a*cS. Položme d=maxdi, víme, že da. Jelikož A nehádá, tak na stejných datech TA viděl po d*m krocích všechny objekty co A a TA A . Výsledek YTA =* YA . 3. Dotazování s preferencemi - úvod
TA je optimální Pro R YA platí t(R) A . Nechť ne, pak vytvořme databázi D’, takovou, že na místo di+1 vložíme záznam (V, xi). Jelikož Anehádá, tak na D’ běží stejně jako na D. Objekt V neviděl a skončil se stejným výsledkem, spor. Jelikož TA A t(R), TA končí Nejpozději v kroku d. (R1,x1) (Rm,xm) (V,x1) (R2,x2) (V,xm) d (V,x2) 3. Dotazování s preferencemi - úvod
TA je optimální Cena výpočtu TA je d*m*cS + d*m*(m-1)*cR O kolik je TA horší nežA určí poměr (s použitím d/a 1) (konstanta) V konkrétních příkladech může být poměr cR/cS> 1000 Pro 5 atributů je koeficient m(m-1) = 20 … je tady ještě dostatečný prostor pro vylepšení Co když sekvenční přístup jen někam – variant TA Co když přímý přístup není k dispozici, nebo příliš drahý? □ 3. Dotazování s preferencemi - úvod
Model FLN – bez přímého přístupu R, známe S(R)={i1,…,il} {1,…,m} l<m WS(R)=t(x1,…xl, 0,…,0) v pozici z = (x1,…,xm) BS(R)=t(x1,…xl, xl+1,…,xm) WS(R) t(R) BS(R) WS(R) během výpočtu roste BS(R) během výpočtu klesá R z (R1,x1) (R2,x2) (Rm,xm) 3. Dotazování s preferencemi - úvod
Poznamka k dalsimu Dulezita je pozice z S(R) zavisi od z lepsi tedy je znacit Sz(R) Misto BS(R) je lepsi znacit Bz(R) Oznaceni (Rm,xm) z = (x1,…,xm) asi neni uplne Lepsi je z = ((R1,x1),…, (Rm,xm), ani to ale nemusi byt jeste presne, protoze tam muzou byt remizy, tentyz seznam objektu s preferencema muze byt prezentovan ruzne vzhledem k remizam zL = ((R1,x1),…, (Rm,xm), kde L=(L1,…,Lm) (casove) usporadani z1 < z2 souvisi s pozici v seznamu □ 3. Dotazování s preferencemi - úvod
Algoritmus NRA (No Random Access) • Sekvenčně přistupme ke každému seznamu Li. V hloubce d • spočteme x1d, ..., xmd , pro každý objekt R, spočteme Sd(R), • WSd(R) a BSd(R). Tkd je seznam objektů s k nejlepšími • hodnotami Wd(R) (remízy se uspořádají vzhledem k Bd(R), • při rovnosti Bd(R) libovolně). • Mkd je minimum z hodnoceníWd(R) pro R Tkd. • 2. Objekt zůstává ve hře, pokud BSd(R) > Mkd. • Skonč pokud • a) Tkdobsahuje alespoň k objektů • a současně • b) žádný objekt mimo Tkdnezůstal ve hře • jinak jdi na 1. • 3. Výstup je množina Tkd(bez uspořádání (neznáme ho)). 3. Dotazování s preferencemi - úvod
Algoritmus NRA (No Random Access) 3. Dotazování s preferencemi - úvod
Korektnost NRA algoritmu Věta. Jestliže kombinační (agregační) funkce t je monotónní, Pak NRA korektně najde k nejlepších objektů (remízy jsou uspořádány libovolně). Důkaz. Nechť Tkd = {R1, …, Rk}. Každý objekt R Tkd má BSd(R) Mkd, a tedy pro každé i n t(R) BS(R) Mkd WS(Ri) t(Ri) □ 3. Dotazování s preferencemi - úvod
NRA je optimální Věta. NRA je optimální vzhledem ke všem algoritmům A které korektně naleznou top-k (s danou monotónní agregační funkcí) Bez přímého přístupu nad všemi instancemi databází D. Důkaz. Nechť A A, D jsou data na kterých NRA nejpozději v kroku d-1 viděl k objektů a skončil až v kroku d (jinak viděl k objektů v kroku když skončil, k objektů musel vidět taky A , poměr zhoršení NRA může být nejvýše m). Tvrdíme, že A musel do hloubky d v alespoň jednom seznamu. Nechť R je objekt který byl v kroku d-1 pro NRA ve hře, ne v Tkd-1. Pak Bd-1(R)>Mkd-1 a Wd-1(R) Mkd-1. Z pravidla remízy víme, že pokud Wd-1(R)=Mkd-1, pak pro každé RiTkd-1, takové že Mkd-1=Wd-1(Ri), platí Bd-1(R)Bd-1(Ri). 3. Dotazování s preferencemi - úvod
NRA je optimální Sporem, nechť A nemusel do hloubky d v žádném seznamu. Případ 1. Nechť R TkA . Pak D’ jako D do hloubky d-1. ScházejícíRi se doplni hodnotou xi, scházející R se doplní hodnotou 0. Pak t(R) = Wd-1(R) Mkd-1 , Mkd-1 Wd-1(Ri) Bd-1(Ri) = t(Ri). Jelikož, Mkd-1 < Bd-1(R)Bd-1(Ri) Máme t(R) < r(Ri), i<k Spor s tím, že R TkA□ 1 t(Ri) = Bd-1(Ri) Bd-1(R) Mkd-1=Wd-1(Ri) Wd-1(R) = t(R) 0 3. Dotazování s preferencemi - úvod
NRA je optimální Případ 2. Nechť R TkA . Pak D’’jako D do hloubky d-1. ScházejícíRi se doplni hodnotou 0, scházející R se doplní hodnotou xi. Pak t(R) = Bd-1(R) > Mkd-1 , a alespoň jedno Ri, pro které Mkd-1 = Wd-1(Ri) Platí Wd-1(Ri) = t(Ri) a tedy t(R) > r(Ri). Spor s tím, že R TkA□ Všechny spory z toho, že A jen do d-1 Tedy A musel v alespoň v jednom seznamu do hloubky d. □ 1 t(R) = Bd-1(Ri) Bd-1(R) Mkd-1=Wd-1(Ri) Wd-1(R) = t(Ri) 0 3. Dotazování s preferencemi - úvod
Diskuze Různé heuristiky pro TA pro NRA Poměr nalezení a potvrzení Výsledky experimentů Gurský, Eckhardt, … V některých seznamech některé objekty schází… Komunikace se servery v dávkách, asynchronní,… Některé atributy přibydou později (časový faktor desetiboje) Nastavení experimentu data v paměti, na disku, přes web službu data v čase přibývají, mění se (zlevnění) Reálné experimenty? 3. Dotazování s preferencemi - úvod