Sprzedaż online. Piotr Sankowski Uniwersytet Warszawski Warszawa p. 1/40

Podobne dokumenty
Algorytmy aproksymacyjne dla problemów stochastycznych

Metody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra

Algorytmy aproksymacyjne dla problemów stochastycznych

VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa.

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Znajdowanie skojarzeń na maszynie równoległej

Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe. P. F. Góra

Aukcje Bayesa. Piotr Sankowski Uniwersytet Warszawski Warszawa p. 1/54

Wykład 8. Informatyka Stosowana. 26 listopada 2018 Magdalena Alama-Bućko. Informatyka Stosowana Wykład , M.A-B 1 / 31

Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA

Obliczenia naukowe Wykład nr 6

Algorytmy aproksymacyjne dla problemów stochastycznych

Dynamiczne drzewa. Piotr Sankowski. - p. 1/27

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

Kolorowanie wierzchołków Kolorowanie krawędzi Kolorowanie regionów i map. Wykład 8. Kolorowanie

Układy równań i nierówności liniowych

Algorytmy aproksymacyjne dla problemów stochastycznych

Problemy Decyzyjne dla Systemów Nieskończonych

ESTYMACJA PRZEDZIAŁOWA WYBRANYCH PARAMETRÓW

Wykłady z Matematyki Dyskretnej

1 Przykładowe klasy zagadnień liniowych

Ekonometria - ćwiczenia 10

Obliczenia naukowe Wykład nr 8

Definicje i przykłady

Przykładowe zadania z teorii liczb

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

IX. Rachunek różniczkowy funkcji wielu zmiennych. 1. Funkcja dwóch i trzech zmiennych - pojęcia podstawowe. - funkcja dwóch zmiennych,

Matematyka dyskretna

Kolorowanie wierzchołków

Stopę zbieżności ciagu zmiennych losowych a n, takiego, że E (a n ) < oznaczamy jako a n = o p (1) prawdopodobieństwa szybciej niż n α.

Sortowanie topologiczne skierowanych grafów acyklicznych

Sieć (graf skierowany)

1 Wykład 3 Generatory liczb losowych o dowolnych rozkładach.

Matematyka dyskretna

Programowanie liniowe

Planowanie przedsięwzięć

Transformaty. Kodowanie transformujace

ALGEBRA Z GEOMETRIĄ CIAŁO FUNKCJI WYMIERNYCH

Rozkład figury symetrycznej na dwie przystające

Algebra liniowa. Macierze i układy równań liniowych

Analiza Algorytmów 2018/2019 (zadania na laboratorium)

Wykład 3 Równania rózniczkowe cd

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Maksymalne skojarzenia przy pomocy eliminacji Gaussa

Matematyka dyskretna. Andrzej Łachwa, UJ, B/14

Algorytmy i Struktury Danych, 9. ćwiczenia

Grafy Alberta-Barabasiego

ALGEBRA Z GEOMETRIĄ BAZY PRZESTRZENI WEKTOROWYCH

Informacja o przestrzeniach Sobolewa

VI. Równania różniczkowe liniowe wyższych rzędów

SPÓJNOŚĆ. ,...v k. }, E={v 1. v k. i v k. ,...,v k-1. }. Wierzchołki v 1. v 2. to końce ścieżki.

Równania różniczkowe. Notatki z wykładu.

Układy równań liniowych

Dystrybucje, wiadomości wstępne (I)

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova

PODSTAWY WNIOSKOWANIA STATYSTYCZNEGO czȩść II

Znajdowanie maksymalnych skojarzeń przy pomocy eliminacji Gaussa

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a

Algorytmy w teorii liczb

Kolorowanie wierzchołków grafu

Metody numeryczne. Sformułowanie zagadnienia interpolacji

Matematyka dyskretna

Wykład 11: Martyngały: definicja, twierdzenia o zbieżności

Optymalizacja ciągła

Rachunek prawdopodobieństwa i statystyka

Wykład 4. Droga i cykl Eulera i Hamiltona

Elementy logiki i teorii mnogości

Sieci komputerowe. Wykład 8: Wyszukiwarki internetowe. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Zadanie 3 Oblicz jeżeli wiadomo, że liczby 8 2,, 1, , tworzą ciąg arytmetyczny. Wyznacz różnicę ciągu. Rozwiązanie:

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Algorytmika Problemów Trudnych

) a j x j b; x j binarne (j N) całkowitoliczbowe; przyjmujemy (bez straty ogólności): c j > 0, 0 <a j b (j N), P n

Zaawansowane metody numeryczne

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa

3.Funkcje elementarne - przypomnienie

Problem straŝaka w drzewach. Agnieszka Skorupka Matematyka Stosowana FTiMS

Programowanie dynamiczne i algorytmy zachłanne

Instytut Informatyki Uniwersytet Wrocławski. Dane w sieciach. (i inne historie) Marcin Bieńkowski

PROBLEM: SORTOWANIE PRZEZ ODWRÓCENIA METODA: ALGORYTMY ZACHŁANNE

9.9 Algorytmy przeglądu

Zadania do wykładu Jakościowa Teoria Równań Różniczkowych Zwyczajnych

Zagadnienie transportowe

Matematyka od zaraz zatrudnię

Graf. Definicja marca / 1

Wykład 10 Estymacja przedziałowa - przedziały ufności dla średn

Funkcja kwadratowa. f(x) = ax 2 + bx + c,

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Statystyka opisowa. Wykład V. Regresja liniowa wieloraka

Analiza numeryczna Lista nr 3 (ćwiczenia) x x 2 n x.

Wykład 1. Na początku zajmować się będziemy zbiorem liczb całkowitych

Teoria gier. wstęp Teoria gier Zdzisław Dzedzej 1

8 Całka stochastyczna względem semimartyngałów

Trudność aproksymacji problemów NP-trudnych

Lista zadania nr 7 Metody probabilistyczne i statystyka studia I stopnia informatyka (rok 2) Wydziału Ekonomiczno-Informatycznego Filia UwB w Wilnie

Rachunek różniczkowy i całkowy w przestrzeniach R n

1. Funkcje monotoniczne, wahanie funkcji.

Rozwiązywanie układów równań liniowych

dla t ściślejsze ograniczenie na prawdopodobieństwo otrzymujemy przyjmując k = 1, zaś dla t > t ściślejsze ograniczenie otrzymujemy przyjmując k = 2.

Przestrzenie wektorowe

Transkrypt:

Sprzedaż online Piotr Sankowski Uniwersytet Warszawski Warszawa 18.04.2013 - p. 1/40

Plan wykładu Problem skojarzeń online Algorytm zachłanny Algorytm losowo rankujacy Dolne ograniczenie Problem aukcji sponsorowanych online Sformułowanie liniowe Algorytm online - p. 2/40

Skojarzenia online Skojarzenie to niezależny zbiór krawędzi grafu. Doskonałe skojarzenie to skojarzenie zawierajace wszystkie wierzchołki grafu. Niech G(U, V, E) będzie dwudzielnym grafem na 2n wierzchołkach zawierajacym doskonałe skojarzenie. Będziemy rozważać problem konstruowania jak największego skojarzenia online. - p. 3/40

Skojarzenia online Załóżmy, że wierzchołki U pojawiaja się w zadanej kolejności, a krawędzie sasiednie do nich ujawniane sa w raz z ich pojawieniem się. Po pojawieniu się wierzchołka u z U naszym zadaniem jest zdecydowanie z jakim wierzchołkiem v z V go połaczymy. Raz przydzielonego wierzchołka v nie możemy zmienić. Naszym celem jest poł aczenie wierzchołków tak aby rozmiar skojarzenia był jak największy. - p. 4/40

Algorytm zachłanny Algorytm zachłanny zawsze łaczy wierzchołek u z dowolnym wolnym wierzchołkiem z V. Obserwacja 1 Algorytm zachłanny konstruuje skojarzenie rozmiaru co najmniej n 2. Obserwacja 2 Dla każdego deterministycznego algorytmu istnieje scenariusz, w którym konstruuje on skojarzenie rozmiaru co najwyżej n 2. Dowody na ćwiczeniach. - p. 5/40

Adaptacyjny przeciwnik Adaptacyjny przeciwnik może wybrać kolejność pojawiania się wierzchołków i krawędzi w zależności od wyborów (i losowań) algorytmu. Obserwacja 3 Adaptacyjny przeciwnik, może zmusić, każdy randomizowany algorytm do skojarzenia co najwyżej n 2 + O(log n) wierzchołków. Dowód na ćwiczeniach. - p. 6/40

Algorytm rankujacy Następujacy algorytm nazwiemy algorytmem rankującym: Inicjalizacja wybierz losowa permutację V, tzn. każdemu wierzchołkowi przypisz losowa rangę, Kojarzenie każdy pojawiajacy się wierzchołek u połacz z wolnym wierzchołkiem z V o najwyższej randze. - p. 7/40

Algorytm rankujacy Pokażemy, że algorytm rankujacy kojarzy (1 1 e )n wierzchołków w przypadku nieadaptacyjnego adwersarza. Wydaje się, że ten algorytm jest tak dobry jak algorytm losowy, ale: Obserwacja 4 Algorytm losowy zachłanny kojarzy co najwyżej n 2 + O(log n) wierzchołków. Dowód na ćwiczeniach. - p. 8/40

Algorytm rankujacy Po fazie inicjalizacji algorytmu mamy określone porzadki na wierzchołkach: w U porzadek ich pojawiania się, w V losowy porzadek wybrany przez algorytm. Niech Ranking(σ) oznacza uruchomienie algorytmu dla porzadku na V zadanego przez σ. Niech m : V U oznacza doskonałe skojarzenie. - p. 9/40

Algorytm rankujacy Lemat 5 Ustalmy u U oraz niech v = m (u). Jeżeli v nie jest skojarzone przez Ranking(σ), to u jest skojarzone przez Ranking(σ) do wierzchołka v, którego ranga σ(v ) jest mniejsza niż t = σ(v). Jeżeli v nie jest skojarzone przez Ranking(σ), to w momencie swojego pojawiania się u ma dostępnego sasiada, bo v jest jednym z nich. u musi zostać skojarzone do s asiada o mniejszej randze niż v. - p. 10/40

Algorytm rankujacy Lemat 6 Niech u U oraz v = m (u). Niech σ będzie permutacją, oraz niech σ i będzie permutacją otrzymaną z σ poprzez usunięcie v i dodanie go na pozycji i. Jeżeli v jest nieskojarzone przez Ranking(σ ), to dla każdego i, wierzchołek u jest skojarzony przez Ranking(σ i ) do wierzchołka v i, którego ranga σ i (v i ) wynosi co najwyżej t = σ (v). Niech m = Ranking(σ ) oraz niech m i = Ranking(σ i ). - p. 11/40

Algorytm rankujacy Skojarzenia m oraz m i, jeżeli nie sa identyczne, to różnia się wzdłuż jednej ścieżki alternujacej p zaczynajacej się w v krawędzia z m i. Co więcej, możemy zauważyć, że wierzchołki V na ścieżce p pojawiaja się w kolejności rosnacych rang. Dlatego m i kojarzy u do wierzchołka v i, którego ranga jest σ i (v i ) σ i (v ), gdzie v = m (u). - p. 12/40

Algorytm rankujacy Z definicji σ i wiemy, że σ i (v ) σ (v ) 1. Z Lematu 5 wiemy, że σ (v ) < t. Dlatego mamy σ i (v i ) < 1+t. Z całkowitości otrzymujemy, że σ i (v i ) t. - p. 13/40

Algorytm rankujacy Lemat 7 Niech x t oznacza prawdopodobieństwo, że dla σ wierzchołek V rangi t jest skojarzony przez Ranking(σ), wtedy 1 x t 1 n 1 n t x s. Zanim udowodnimy ten lemma pokażemy jak z niego wynika: Twierdzenie 8 Algorytm rankujący ma współczynnik kompetytywności wynoszący asymptotycznie 1 1 e 0.63. - p. 14/40

Algorytm rankujacy Ponieważ graf G zawiera doskonałe skojarzenie, to współczynnik kompetytywności jest równy infimum z 1 n Zdefiniujmy S t przez: 1 s n S t = 1 s t x s. x s. - p. 15/40

Algorytm rankujacy Z Lematu 7 otrzymujemy, że: ( 1+S t 1 S t 1+ 1 ) n Możemy teraz zauważyć, że infimum jest nie mniejsze niż gdy wszystkie nierówności zachodza z równościa. Oznacza to, że: dla każdego t. S t t s=1 ( 1 1 ) s, n+1. - p. 16/40

Algorytm rankujacy Współczynnik kompetytywności wynosi więc co najmniej: S n n 1 ( 1 1 ) s = n n+1 = 1 n t s=1 = n+1 n ( 1 1 ( 1 t s=1 ) s = 1 n+1 n 1 ( ) 1 1 n n+1 1 ( ) = 1 1 n+1 ( 1 1 ) n ) n 1 1 n+1 e. - p. 17/40

Algorytm rankujacy Wróćmy do dowodu Lematu 7. Majac dana losowa permutację σ, zdefiniujmy nowa losowa permutację σ otrzymana z σ poprzez: wybranie wierzchołka v z V z rozkładem jednostajnym, wyjecie v z σ i włożenie go tak by jego ranga wynosiła t. Rozważmy skojarzenie m otrzymane przez Ranking(σ ). - p. 18/40

Algorytm rankujacy Niech u będzie takie, że v = m (u). Z Lematu 6 zastosowanego do σ i = σ wiemy, że jeżeli v nie jest skojarzone przez Ranking(σ ), to u jest skojarzone przez Ranking(σ i ) do wierzchołka v takiego, że σ( v) t. Prawdopodobieństwo, że v nie jest skojarzone przez Ranking(σ ) wynosi 1 x t. - p. 19/40

Algorytm rankujacy Niech R t oznacza zbiór wierzchołków z U, które zostały skojarzone w algorytmie do wierzchołków z V o randze mniejszej równej t. Innymi słowy pokazaliśmy, że jeżeli v nie jest skojarzone przez Ranking(σ ) to u R t. Zauważmy, że u jest niezależne of σ, a więc także od R t. Dla danej permutacji σ prawdopodobieństwo, że u R t wynosi R t n. - p. 20/40

Algorytm rankujacy Z drugiej strony wiemy, że: E σ [ R t ] = Otrzymujemy więc, że 1 x t E σ [ Rt n t s=1 Co kończy dowód Lematu 7 ] x s. = 1 n t s=1 x s. - p. 21/40

Dolne ograniczenie Niech graf T będzie grafem dwudzielnym, w którym u jest połaczone z v wttw u v. Załóżmy też, że wierzchołki z T pojawiaja się w odwróconej kolejności. Twierdzenie 9 (Ćwiczenia) Rozmiar skojarzenia wygenerowany przez dowolny algorytm jest ograniczona z góry przez oczekiwany rozmiar skojarzenie wygenerowanego przez algorytm losowy na grafie T. - p. 22/40

Dolne ograniczenie Twierdzenie 10 Oczekiwany rozmiar skojarzenie wygenerowanego przez algorytm losowy na grafie T wynosi n(1 1 e )+o(n). Załóżmy, że zostało na jeszcze l wierzchołków z V gdy pojawia się k wierzchołek z U. Wtedy te l wierzchołków V jest losowym podzbiorem pierwszych n k+1 wierzchołków. - p. 23/40

Dolne ograniczenie Niech y(t) będzie zmienna losowa oznaczajac a liczbę dostępnych wierzchołków w V gdy pojawia się t ty wierzchołek z U. Wartość y(t) może zmaleć o: 2 jeżeli t+1 wierzchołek był dostępny, 1 w przeciwnym przypadku. Ponieważ zbiór dostępnych wierzchołków z V jest losowy, to E[ y(t)] = 1 y(t) n t y(t) 1 y(t) = 1 y(t) 1. n t - p. 24/40

Dolne ograniczenie Zgodnie z Twierdzeniem Kurtza przy n daż acym do nieskończoności, wartości oczekiwane sa bliskie rozwiazaniu równania różniczkowego: dy dt = 1 y 1 n t Rozwiazuj ac to równanie otrzymujemy: y = 1+(n t) ( n 1 n ln n t n ). - p. 25/40

Dolne ograniczenie Wstawiajac y = 1 i rozwiazuj ac na x otrzymujemy, że x = n ( 1 e) 1 + o(n). Algorytm rankujacy jest więc 1 1 e kompetytywny. Zrobimy teraz to samo dla aukcji online. - p. 26/40

Aukcje online Rozważymy model, w którym wyszukiwarka otrzymuje oferty ogłaszajacych oraz ich maksymalny dzienny budżet. W ciagu dnia użytkownicy wykonuja pewne wyszukiwania, a ogłaszajacy sa przypisywani slotom reklamowym, oraz obciażani oferta jaka zgłosili. Zakładamy, że każda strona ma tylko jeden slot. Naszym celem jest zmaksymalizować zysk bez przekraczania budżetów graczy. - p. 27/40

Aukcje online Niech n będzie liczba ogłaszajacych, a m niech będzie liczba słów kluczowych. Zakładamy, że gracz j zgłasza ofertę b ij za słowo i oraz całkowity budżet B j. Zakładamy, co więcej, że b ij B j. Zakładamy, że wyszukiwarka zna r i liczbę zapytań o i te słowo kluczowe. - p. 28/40

Aukcje online Możemy zapisać następujac program liniowy: max m i=1 n j=1 b ij x ij 1 i m n j=1 x ij r i 1 j n m i=1 b ij x ij B j 1 i m,1 j n x ij 0. - p. 29/40

Aukcje online Program dualny natomiast jest następujacy: min n j=1 B j β j + m i=1 r i α i 1 i m,1 j n α i + b ij β j b ij 1 j n β j 0 1 i m α i 0. Gracz j jest przypisany słowu i jeżeli (1 β j )b ij = max 1 k n (1 β k )b ik. - p. 30/40

Aukcje online Za każdym razem gdy pojawia się wyszukiwanie o słowo i wyszukiwarka przypisuje miejsce ogłoszeniowe graczowi j o największym b ij (1 β j ). Innymi słowy oferta gracza j jest przeskalowana w dół przez 1 β j. W ten sposób powstały przydział ogłoszeń będzie optymalny. - p. 31/40

Aukcje online Co zrobić jednak gdy nie znane nam sa wartości r i. Możemy spróbować przypisywać zachłannie, tzn. przypisywać ogłoszenia graczom, którzy daja największa ofertę i nie wyczerpali jeszcze swojego budżetu. Algorytm zachłanny jest co najmniej i co najwyżej 1/2 kompetytywny. Czy możemy to zrobić lepiej? - p. 32/40

Aukcje online Niech φ(x) = 1 e x 1. Niech f j oznacza ułamek budżetu jaki wydał dotychczas gracz j. Algorytm rozmywający przypisuje ogłoszenie graczowi o najwyższym b ij φ( f j ). Twierdzenie 11 Współczynnik kompetytywności algorytmu rozmywającego wynosi 1 1 e. - p. 33/40

Aukcje online Niech k będzie dostatecznie duża liczba... Powiemy, że ogłaszajacy jest typu j jeżeli wydał budżet w ułamku z przedziału ( j 1 k, j k ]. Niech s j oznacza całkowity budżet graczy typu j. Niech w i będzie całkowitym wydatkiem graczy z ułamku budżetu ( j 1 k, j k ]. - p. 34/40

Aukcje online Zdefiniujmy też dyskretna wersję funkcji φ: ( Φ(s) = 1 1 1 k s, k) możemy zauważyć, że jak k daży do nieskończoności to Φ(s) φ( s k ). Niech OPT będzie optymalnym rozwiazaniem offline. Dla prostoty załóżmy, że optymalne rozwiazanie wydaje całe budżety wszystkich graczy. - p. 35/40

Aukcje online Lemat 12 Na koniec działania algorytmu zachodzi: k i=0 Φ(i)s i k i=0 Φ(i)w i. Rozważmy moment czasu gdy pojawi się zapytanie q. Załóżmy, że OPT przypisuje q graczowi, który ma typ t, a którego typem na koniec działania algorytmu jest t. - p. 36/40

Aukcje online Niech b opt oraz b alg będzie opłata jaka dostaje OPT i algorytm od graczy za q. Niech i będzie typem gracza, któremu algorytm przypisuje q. Wtedy mamy: Φ(t )b opt Φ(t)b opt Φ(i)b alg. Sumujac po wszystkich zapytaniach otrzymujemy tezę lematu. - p. 37/40

Aukcje online Korzystajac z tego lematu udowodnimy teraz twierdzenie. Z definicji wiemy, że w i 1 k k j=i s j, a z lematu: Φ(i)s i 1 k i=0 k i=0 Φ(i) k j=i s j =. zmieniajac kolejność sumowania otrzymujemy: ( ) = 1 k i k ( ) i Φ(j) s i k k + Φ(i) Φ(0)) i=0 j=0 i=0 s i - p. 38/40

Aukcje online Otrzymujemy, więc: ( Φ(0) O( 1 k ) ) k i=0 s i k i=0 i k s i. Jak k daży do nieskończoności to Φ(0) = 1 ( 1 k) 1 k daży do 1 1 e. A więc lewa strona daży do (1 1 e )OPT. Natomiast, prawa strona jest równa dokładnie zyskowi algorymu. - p. 39/40

Aukcje online Problemy otwarte: budżety nigdy nie sa twarde, budżety używane sa przez graczy aby wyrazić ich preferencje względem długości trwania kampanii, co z klikaniem przez roboty i przeciwników? modele z wieloma wyszukiwarkami, nie analizowaliśmy zupełnie strategii graczy, co z problemem wyznaczania klikalności? - p. 40/40