Lista na ćwiczenia
Transkrypt
Lista na ćwiczenia
Algorytmy Internetu Lista 11 Zadanie 1 (2 pkt.) Rozważmy następujący algorytm dla problemu potwierdzania pakietów (TCP acknowledgement). Algorytm będzie ustawiać budzik z alarmem na pewien czas w przyszłości i wysyłać potwierdzenie wszystkich otrzymanych i jeszcze niepotwierdzonych pakietów w momencie włączenia się alarmu. Na początku alarm nie jest ustawiony. W momencie t, w którym nadchodzi pakiet, algorytm kasuje obecny alarm i ustawia alarm na czas t + γ/k, gdzie k jest liczbą niepotwierdzonych pakietów (łącznie z tym, który właśnie nadszedł w chwili t), zaś γ jest kosztem wysłania potwierdzenia. Pokaż, że istnieje ciąg wejściowy składający się z n pakietów, dla którego konkurencyjność tego √ algorytmu wynosi co najmniej Ω( n). Zadanie 2 (4 pkt.) Pokaż, że konkurencyjność każdego deterministycznego algorytmu online dla problemu potwierdzania pakietów wynosi co najmniej 2, nawet jeśli algorytm w każdej chwili zna czasy przyjścia L najbliższych pakietów, gdzie L jest pewną stałą. Zadanie 3 (4 pkt.) W tym zadaniu rozważamy wariant problemu TCP acknowledgement na drzewie. Pokaż, że konkurencyjność przedstawionego na wykładzie algorytmu Rent-or-Buy jest co najmniej Ω(log α/ log log α) gdzie α = w(T ) jest całkowitą wagą drzewa. Wskazówka: rozważ drzewo dwupoziomowe o krawędzi od korzenia o wadze k 2k+1 i k liściach połączonych z wierzchołkiem wewnętrznym krawędziami o koszcie k 2k . Skonstruuj takie wejście, dla którego Rent-Or-Buy wysyła pakiety z poszczególnych liści osobno. Marcin Bieńkowski