Uživatelské preference 3. Dotazování s preferencemi
NDBI021 Uživatelské preference 3. Dotazování s preferencemi - úvod 2 Motivace – desetiboj – Götzis Individuální výsledky
NDBI021 Uživatelské preference 3. Dotazování s preferencemi - úvod 3 Motivace – desetiboj – Götzis Pořadí v jednorlivých disciplínách
NDBI021 Uživatelské preference 3. Dotazování s preferencemi - úvod 4 Motivace – desetiboj – Götzis Decathlon points 100m Long Shot High 400m 110mhDiscus Pole Javelin1500m
NDBI021 Uživatelské preference 3. Dotazování s preferencemi - úvod 5 Motivace – desetiboj – Götzis Body za jednotlivé disciplíny Pomineme časový aspekt
NDBI021 Uživatelské preference 3. Dotazování s preferencemi - úvod 6 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ý
NDBI021 Uživatelské preference 3. Dotazování s preferencemi - úvod 7 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)
NDBI021 Uživatelské preference 3. Dotazování s preferencemi - úvod 8 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 {R i : i N}, m atributů R má skóre x 1,..., x m [0, 1] Data máme v m uspořádaných seznamech L 1,..., L m Záznam v L i má tvar (R, x i R ) Přístup k datům: - podle pořadí – cena c S (S podle „sequential“) - přímý přístup (kdyz znám jméno, id. R) – c R (R podle „random“) celková cena s*c S + r*c R Kombinační funkce t:[0,1] m [0,1], monotónní, tj. x i y i implikuje t(x 1,..., x m ) t(y 1,..., y m )
NDBI021 Uživatelské preference 3. Dotazování s preferencemi - úvod 9 Model Fagin – Lotem - Naor t(R) = w 1 *x 1 + w 2 *x 2 + … + w 5 *x 5 (zatím) předpokládáme synchronizovaný, paralelní přístup Top-k
NDBI021 Uživatelské preference 3. Dotazování s preferencemi - úvod 10 Práhový algoritmus TA – threshold algorithm 1. Sekvenčně přistupme ke každému seznamu L i. 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é jsme kdy viděli, zapamatujme si ho. 2. Nechť x 1,..., x m jsou skóre objektů naposledy viděných v L 1,..., L m sekvenčním přístupem. Položme = t(x 1,..., x m ). Jakmile jsme viděli k objektů s t(R) skonč, jinak jdi na 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).
NDBI021 Uživatelské preference 3. Dotazování s preferencemi - úvod 11 TA algoritmus - ilustrace blízko H10,9 H20,8 H30,5 H40,4 levný H30,9 H20,8 H40,5 H10,3 kvalita H20,9 H30,8 H10,5 H40,3 Zásob. H2H20,81 H30,68 H10,63 Práh 1 Práh 2 Ještě neznám nejlepší 0,81>0,8 … H2 je nejlepší Hledám hotel blízko pláže, levný, kvalitní
NDBI021 Uživatelské preference 3. Dotazování s preferencemi - úvod 12 NDBI021 Ve kterém kroku překročil práh Objekty viděné v prvním druhém třetím kroku
NDBI021 Uživatelské preference 3. Dotazování s preferencemi - úvod 13 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á x i z x m a tedy t(x 1 z,..., x m z ) = t(x 1,..., x m ) Jelikož Y obsahuje objekty s hodnotou tak z není lepší než žádný z nich (nejvýš stejně dobrej). □
NDBI021 Uživatelské preference 3. Dotazování s preferencemi - úvod 14 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 a D D. Výsledek je Y A a v každém seznamu L i algoritmus A udělal d i sekvenčných kroků, posledné viděné skóre je x i a příslušný práh je A. A viděl a objektů, cena A je alespoň a*c S. Položme d=maxd i, víme, že d a. 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 Y TA =* Y A.
NDBI021 Uživatelské preference 3. Dotazování s preferencemi - úvod 15 TA je optimální (R1,x1)(R1,x1) (R2,x2)(R2,x2) (Rm,xm)(Rm,xm) (V,x1)(V,x1) (V,x2)(V,x2) (V,xm)(V,xm) d Pro R Y A platí t(R) A. Nechť ne, pak vytvořme databázi D ’, takovou, že na místo d i +1 vložíme záznam (V, x i ). Jelikož A nehá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.
NDBI021 Uživatelské preference 3. Dotazování s preferencemi - úvod 16 TA je optimální Cena výpočtu TA je d*m*c S + d*m*(m-1)*c R 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 c R /c S > 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ý? □
NDBI021 Uživatelské preference 3. Dotazování s preferencemi - úvod 17 Model FLN – bez přímého přístupu R, známe S(R)={i1,…,i l } {1,…,m} l<m W S (R)=t(x 1,…x l, 0,…,0) v pozici z = (x 1,…,x m ) B S (R)=t(x 1,…x l, x l+1,…,x m ) W S (R) t(R) B S (R) W S (R) během výpočtu roste B S (R) během výpočtu klesá z R (R1,x1)(R1,x1)(R2,x2)(R2,x2)(Rm,xm)(Rm,xm)
NDBI021 Uživatelské preference 3. Dotazování s preferencemi - úvod 18 Poznamka k dalsimu Dulezita je pozice z S(R) zavisi od z lepsi tedy je znacit S z (R) Misto B S (R) je lepsi znacit B z (R) Oznaceni (R m,x m ) z = (x 1,…,x m ) asi neni uplne Lepsi je z = ((R 1,x 1 ),…, (R m,x m ), ani to ale nemusi byt jeste presne, protoze tam muzou byt remizy, tentyz seznam objektu s preferencema muze byt prezentovan ruzne vzhledem k remizam z L = ((R 1,x 1 ),…, (R m,x m ), kde L =(L 1,…,L m ) (casove) usporadani z1 < z2 souvisi s pozici v seznamu □
NDBI021 Uživatelské preference 3. Dotazování s preferencemi - úvod 19 Algoritmus NRA (No Random Access) 1.Sekvenčně přistupme ke každému seznamu L i. V hloubce d spočteme x 1 d,..., x m d, pro každý objekt R, spočteme S d (R), W S d (R) a B S d (R). T k d je seznam objektů s k nejlepšími hodnotami W d (R) (remízy se uspořádají vzhledem k B d (R), při rovnosti B d (R) libovolně). M k d je minimum z hodnocení W d (R) pro R T k d. 2. Objekt zůstává ve hře, pokud B S d (R) > M k d. Skonč pokud a) T k d obsahuje alespoň k objektů a současně b) žádný objekt mimo T k d nezůstal ve hře jinak jdi na Výstup je množina T k d (bez uspořádání (neznáme ho)).
NDBI021 Uživatelské preference 3. Dotazování s preferencemi - úvod 20 Algoritmus NRA (No Random Access)
NDBI021 Uživatelské preference 3. Dotazování s preferencemi - úvod 21 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ť T k d = {R 1, …, R k }. Každý objekt R T k d má B S d (R) M k d, a tedy pro každé i n t(R) B S (R) M k d W S (R i ) t(R i ) □
NDBI021 Uživatelské preference 3. Dotazování s preferencemi - úvod 22 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 T k d-1. Pak B d-1 (R)>M k d-1 a W d-1 (R) M k d-1. Z pravidla remízy víme, že pokud W d-1 (R)=M k d-1, pak pro každé R i T k d-1, takové že M k d-1 =W d-1 (R i ), platí B d-1 (R) B d-1 (R i ).
NDBI021 Uživatelské preference 3. Dotazování s preferencemi - úvod 23 NRA je optimální Sporem, nechť A nemusel do hloubky d v žádném seznamu. Případ 1. Nechť R T k A. Pak D’ jako D do hloubky d-1. Scházející R i se doplni hodnotou x i, scházející R se doplní hodnotou 0. Pak t(R) = W d-1 (R) M k d-1, M k d-1 W d-1 (R i ) B d-1 (R i ) = t(R i ). Jelikož, M k d-1 < B d-1 (R) B d-1 (R i ) Máme t(R) < r(R i ), i<k Spor s tím, že R T k A □ 1 0 M k d-1 =W d-1 (R i ) B d-1 (R i ) B d-1 (R) W d-1 (R) = = t(R)t(R) t(R i )
NDBI021 Uživatelské preference 3. Dotazování s preferencemi - úvod 24 NRA je optimální Případ 2. Nechť R T k A. Pak D’’ jako D do hloubky d-1. Scházející R i se doplni hodnotou 0, scházející R se doplní hodnotou x i. Pak t(R) = B d-1 (R) > M k d-1, a alespoň jedno R i, pro které M k d-1 = W d-1 (R i ) Platí W d-1 (R i ) = t(R i ) a tedy t(R) > r(R i ). Spor s tím, že R T k A □ Všechny spory z toho, že A jen do d-1 Tedy A musel v alespoň v jednom seznamu do hloubky d. □ 1 0 M k d-1 =W d-1 (R i ) B d-1 (R i ) B d-1 (R) W d-1 (R) = = t(R)t(R) t(R i )
NDBI021 Uživatelské preference 3. Dotazování s preferencemi - úvod 25 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?