Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Uživatelské preference 3. Dotazování s preferencemi.

Podobné prezentace


Prezentace na téma: "Uživatelské preference 3. Dotazování s preferencemi."— Transkript prezentace:

1 Uživatelské preference 3. Dotazování s preferencemi

2 NDBI021 Uživatelské preference 3. Dotazování s preferencemi - úvod 2 Motivace – desetiboj – Götzis Individuální výsledky

3 NDBI021 Uživatelské preference 3. Dotazování s preferencemi - úvod 3 Motivace – desetiboj – Götzis Pořadí v jednorlivých disciplínách

4 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

5 NDBI021 Uživatelské preference 3. Dotazování s preferencemi - úvod 5 Motivace – desetiboj – Götzis Body za jednotlivé disciplíny Pomineme časový aspekt

6 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ý

7 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)

8 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 )

9 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

10 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).

11 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í

12 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

13 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). □

14 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.

15 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.

16 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ý? □

17 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

18 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 □

19 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)).

20 NDBI021 Uživatelské preference 3. Dotazování s preferencemi - úvod 20 Algoritmus NRA (No Random Access)

21 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 ) □

22 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 ).

23 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

24 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 )

25 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?


Stáhnout ppt "Uživatelské preference 3. Dotazování s preferencemi."

Podobné prezentace


Reklamy Google