W poszukiwaniu wyzwań algorytmicznych

37
W poszukiwaniu wyzwań algorytmicznych Jakub Radoszewski, Wydział Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego

description

W poszukiwaniu wyzwań algorytmicznych. Jakub Radoszewski, Wydział Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego. Dlaczego tu jestem?. Co, gdzie, kiedy?. Uczestnicy: 112 drużyn z całego świata (wyłonionych spośród 25 016 studentów z 2219 uczelni z 85 krajów) - PowerPoint PPT Presentation

Transcript of W poszukiwaniu wyzwań algorytmicznych

Page 1: W poszukiwaniu wyzwań algorytmicznych

W poszukiwaniuwyzwań algorytmicznych

Jakub Radoszewski, Wydział Matematyki, Informatyki i Mechaniki

Uniwersytetu Warszawskiego

Page 2: W poszukiwaniu wyzwań algorytmicznych

Dlaczego tu jestem?

Page 3: W poszukiwaniu wyzwań algorytmicznych

Co, gdzie, kiedy?

Uczestnicy: 112 drużyn z całego świata (wyłonionych spośród 25 016 studentów z 2219 uczelni z 85 krajów)

Termin: 14-18 maja (zawody: 17 maja)

Lokalizacja:Wydział Zarządzania Uniwersytetu WarszawskiegoAuditorium Maximum Uniwersytetu WarszawskiegoPolitechnika WarszawskaPałac Kultury i NaukiCentrum Nauki KopernikHotele: Marriott i Sobieski

Page 4: W poszukiwaniu wyzwań algorytmicznych

Orlando, Floryda, maj 2011

Page 5: W poszukiwaniu wyzwań algorytmicznych

Jak to się stało?

Finały światowe ACM ICPC organizowane sąod 1977 roku.

Dotychczas tylko 3 razy w Europie (Eindhoven 1999, Praga 2004, Sztokholm 2009) i łącznie 6 razy poza USA i Kanadą.

W rywalizacji o organizację finałów 2012 pokonaliśmy kilka innych lokalizacji, m.in. Sankt Petersburg.

Jak to możliwe?

Page 6: W poszukiwaniu wyzwań algorytmicznych

Sukcesy Polakóww konkursach programistycznych

Polacy dwukrotnie zwyciężali w:

Mistrzostwach Świata w Programowaniu Zespołowym (2003, 2007 r.)

i na Międzynarodowej Olimpiadzie Informatycznej (2006, 2007 r.).

Page 7: W poszukiwaniu wyzwań algorytmicznych

Mistrzowie 2003

Andrzej Gąsienica-Samek, Tomasz Czajka, Krzysztof OnakBeverly Hills, 2003 r.

Page 8: W poszukiwaniu wyzwań algorytmicznych

Mistrzowie 2007

Filip Wolski, Marcin Pilipczuk, Marek CyganTokio, 2007 r.

Page 9: W poszukiwaniu wyzwań algorytmicznych

Najlepszy licealista 2006

Filip Wolski, Meksyk, 2006 r.

Page 10: W poszukiwaniu wyzwań algorytmicznych

Informatyka specjalnością młodych Polaków

Page 11: W poszukiwaniu wyzwań algorytmicznych

Inne sukcesy Polaków

Polacy zwyciężali i zajmowali czołowe miejsca w prestiżowych konkursach Facebook Hacker Cup, Google Code Jam, Microsoft Imagine Cup, TopCoder Open…

Page 12: W poszukiwaniu wyzwań algorytmicznych

Organizacja Międzynarodowej Olimpiady Informatycznej 2005

Page 13: W poszukiwaniu wyzwań algorytmicznych

Organizacja ACM ICPC 2012

Page 14: W poszukiwaniu wyzwań algorytmicznych

Przykład zadania

Jak pokryć planszę 8x8 z jednym usuniętym polemza pomocą literek L?

Page 15: W poszukiwaniu wyzwań algorytmicznych

Krok 1: dziel

Page 16: W poszukiwaniu wyzwań algorytmicznych

Krok 2: postaw jedną L-kę

Page 17: W poszukiwaniu wyzwań algorytmicznych

Krok 3: to samow kwadratach 4x4

Page 18: W poszukiwaniu wyzwań algorytmicznych

Krok 4: to samow kwadratach 2x2

Page 19: W poszukiwaniu wyzwań algorytmicznych

Związki konkursów z praktyką

ACM ICPC sponsored by IBM Google Code Jam Facebook Hacker Cup Microsoft Imagine Cup…

Page 20: W poszukiwaniu wyzwań algorytmicznych

Związki konkursów z teorią

Page 21: W poszukiwaniu wyzwań algorytmicznych

Zadanie 1: Jaskinia

Jaskinia składa się z pewnej liczby komór połączonychw linię. W jednej z komór Małgosia ukryła skarb. Jaś musi zgadnąć położenie skarbu, zadając pytania postaci: „Czy skarb jest położony na lewo, czy też na prawo od danej komory?”.

Page 22: W poszukiwaniu wyzwań algorytmicznych

Zadanie 1: Jaskinia

Jaskinia składa się z pewnej liczby komór połączonychw linię. W jednej z komór Małgosia ukryła skarb. Jaś musi zgadnąć położenie skarbu, zadając pytania postaci: „Czy skarb jest położony na lewo, czy też na prawo od danej komory?”.

Page 23: W poszukiwaniu wyzwań algorytmicznych

Zadanie 1: Jaskinia

Jaskinia składa się z pewnej liczby komór połączonychw linię. W jednej z komór Małgosia ukryła skarb. Jaś musi zgadnąć położenie skarbu, zadając pytania postaci: „Czy skarb jest położony na lewo, czy też na prawo od danej komory?”.

Page 24: W poszukiwaniu wyzwań algorytmicznych

Zadanie 1: Jaskinia

Jaskinia składa się z pewnej liczby komór połączonychw linię. W jednej z komór Małgosia ukryła skarb. Jaś musi zgadnąć położenie skarbu, zadając pytania postaci: „Czy skarb jest położony na lewo, czy też na prawo od danej komory?”.

Page 25: W poszukiwaniu wyzwań algorytmicznych

Zadanie 1: Jaskinia

Jaskinia składa się z pewnej liczby komór połączonychw linię. W jednej z komór Małgosia ukryła skarb. Jaś musi zgadnąć położenie skarbu, zadając pytania postaci: „Czy skarb jest położony na lewo, czy też na prawo od danej komory?”.

Page 26: W poszukiwaniu wyzwań algorytmicznych

Właściwe zadanie 1

Jaskinia składa się z pewnej liczby komór połączonychw drzewo. W jednej z komór Małgosia ukryła skarb. Jaś musi zgadnąć położenie skarbu, zadając pytania postaci: „W jakim kierunku od danej komory znajduje się skarb?”.

Page 27: W poszukiwaniu wyzwań algorytmicznych

Właściwe zadanie 1

Jaskinia składa się z pewnej liczby komór połączonychw drzewo. W jednej z komór Małgosia ukryła skarb. Jaś musi zgadnąć położenie skarbu, zadając pytania postaci: „W jakim kierunku od danej komory znajduje się skarb?”.

Page 28: W poszukiwaniu wyzwań algorytmicznych

Właściwe zadanie 1

Jaskinia składa się z pewnej liczby komór połączonychw drzewo. W jednej z komór Małgosia ukryła skarb. Jaś musi zgadnąć położenie skarbu, zadając pytania postaci: „W jakim kierunku od danej komory znajduje się skarb?”.

Page 29: W poszukiwaniu wyzwań algorytmicznych

Historia zadania

Zadania pojawiło się na Olimpiadzie Informatycznejw 2004 roku. Niestety, żaden zawodnik go nie rozwiązał…

Autor zadania opublikował rozwiązanie na prestiżowej konferencji z informatyki teoretycznej IEEE FOCS.

Page 30: W poszukiwaniu wyzwań algorytmicznych

Zadanie 2: Monety

Mamy kilka stosów monet, z których każda jest złotym dukatem lub nic niewartym miedziakiem. W grze uczestniczą dwaj gracze, którzy naprzemiennie zabierają po jednej monecie z wierzchołka wybranego stosu. Celem każdego z graczy jest zebrać jak najwięcej dukatów. Kto wygra?

Page 31: W poszukiwaniu wyzwań algorytmicznych

Historia zadania

To zadanie opowiedziałem Tomkowi Idziaszkowiw 2005 roku.

Tomek zdołał je rozwiązać w 2010 roku, po czym jego uogólnienie stało się najtrudniejszym zadaniem ogólnopolskiego konkursu Potyczki Algorytmiczne 2010 (zadanie rozwiązane przez 2 zawodników!).

Tomek pracuje nad publikacją swoich wyników,a tymczasem izomorficzny problem stał się podstawą rozprawy doktorskiej Bartosza Walczaka (Uniwersytet Jagielloński).

Page 32: W poszukiwaniu wyzwań algorytmicznych

Zadanie 3: Klika

W danym grafie nieskierowanym szukamy największej kliki, czyli zbioru wierzchołków, z których każde dwa są połączone krawędzią.

Page 33: W poszukiwaniu wyzwań algorytmicznych

Zadanie 3: Klika

W danym grafie nieskierowanym szukamy największej kliki, czyli zbioru wierzchołków, z których każde dwa są połączone krawędzią.

Page 34: W poszukiwaniu wyzwań algorytmicznych

Właściwe zadanie 3

Wiemy, że graf skierowany o n wierzchołkach zawiera klikę złożoną z co najmniej 2n/3 wierzchołków. Znaleźćw tym grafie klikę zawierającą co najmniej n/3 wierzchołków.

Page 35: W poszukiwaniu wyzwań algorytmicznych

Zadanie 4: Zagadka

Król zakłada złote i srebrne korony na głowy n synów. Wiadomo, że któryś z nich ma złotą koronę. Każdy syn widzi korony pozostałych synów, ale nie swoją.

Każdego dnia król pyta jednocześnie wszystkich synów, czy wiedzą, jakiego koloru koronę mają na głowie. Synowie słyszą nawzajem swoje odpowiedzi.

Okazuje się, że po pewnym czasie wszyscy synowie będą znali kolory swoich koron!

Page 36: W poszukiwaniu wyzwań algorytmicznych

Historia zadania

Jest wiele tego typu zagadek, np.:„Mój sąsiad powiedział mi, że ma 3 córki. Gdy go spytałem, ile mają lat, powiedział, że iloczyn ich wieków to 36. To mi nie wystarczało, żeby wyznaczyć konkretne liczby, więc powiedział mi, że suma ich wieków jest równa numerowi jego mieszkania. Mimo że znałem ten numer, wciąż nie byłem w stanie obliczyć wieków poszczególnych córek. Na to on powiedział, że najstarsza córka miała wczoraj urodziny. Dzięki tej informacji udało mi się rozwiązać zagadkę”.

Na Potyczkach Algorytmicznych 2008 pojawiło się zadanie, które unifikuje większość znanych tego typu zagadek.

Takie zagadki często pojawiają się na rozmowach kwalifikacyjnych do wielkich korporacji informatycznych!

Page 37: W poszukiwaniu wyzwań algorytmicznych

Skąd tytuł wykładu?

W poszukiwaniu wyzwań.

Wybór zadańz konkursów programistycznych

Uniwersytetu Warszawskiego