1 TEORIA ALGORYTM ´OW I OBLICZE ´N
Propozycje temat´ow projekt´ow dla matematyk´ow (2007)
1. Zaprojektuj i zaimplementuj wielomianowy algorytm wyznaczaj¸acy liczb¸e chromatyczn¸a grafu o maksy- malnym stopniu wierzcho lka nie wi¸ekszym ni˙z 3. ([2] rozdz. 4.1 , ´cw.4.14)
2. Zastosowanie algorytmu Greedy-Set-Cover do wyznaczania pokrycia zbioru o minimalnej wadze do problemu planowania lot´ow personelu lotniczego:
Dane s¸a rotacje Ri z lo˙zone z lot´ow, kt´ore mog¸a by´c obs lugiwane przez ten sam personel oraz ich koszty obs lugi ci. Znale´z´c pokrycie zbioru wszystkich lot´ow rotacjami o minmalnej sumie koszt´ow.
([2] rozdz.2.2.1; [1] rozdz. 37.3)
3. Ka˙zdy z pracownik´ow pewnej firmy ma przypisany ”wsp´o lczynnik towarzysko´sci”. Za l´o˙zmy, ˙ze na or- ganizowany bankiet nie mo˙ze zosta´c zaproszony jednocze´snie pracownik i jego bezpo´sredni prze lo˙zony.
Stworzy´c list¸e go´sci w ten spos´ob aby suma ”wsp´o lczynnik´ow towarzysko´sci” zaproszonych go´sci by la maksymalna. Zaprojektuj i zaimplementuje algorytm oparty na programowaniu dynamicznym, kt´ory rozwi¸azuje powy˙zszy problem. ([1] rozdz. 16, problem 16-4)
4. Opracuj i zaimplementuj algorytm, kt´ory w czasie liniowym wzgl¸edem n oblicza pole n-wierzcho lkowego prostego wielok¸ata oraz sprawdza czy podany punkt le˙zy wewn¸atrz tego wielok¸ata. Program powinien zawiera´c procedur¸e sprawdzaj¸ac¸a czy dany wielok¸at jest prosty. ([1] rozdz. 35.1, ´cw. 35.1-6, 35.1-7) 5. Opracuj i zaimplementuj algorytm, kt´ory (w czasie O(n log2n)) dla danego ci¸agu punkt´ow z0, z1, . . . zn−1
znajduje wsp´o lczynniki wielomianu P (x) o ograniczeniu stopnia n, kt´orego jedyny pierwiastkami s¸a z0, z1, . . . zn−1. ([1] zad. 32.2-7)
6. Niech p b¸edziue nieparzyst¸a liczb¸a pierwsz¸a. Liczba a ∈ Zp jest reszt¸a kwadratow¸a modulo p je´sli r´ownanie x2 = a (mod p) ma rozwi¸azanie ze wzgl¸edu na niewiadom¸a x. Opracuj i zaimplementuj efektywny algorytmy sprawdzaj¸acy czy dana liczba a jest reszt¸a kwadratow¸a modulo p. ([1] problem 33-4)
7. Opracuj i zaimplementuj algorytm rozwi¸azuj¸acy problem estetycznego drukowania akapitu oparty na programowaniu dynamicznym. ([1] problem 16-2)
8. Opracuj i zaimplementuj algorytm mno˙zenia macierzy Toeplitza n × n przez wektor d lugo´sci n dzia laj¸acy w czasie O(n log n). ([1] problem 32-2 c))
9. Zaprojektuj i zaimplementuj algorytm zach lanny, kt´ory dla danej trasy z miasta A do miasta B wyznacza minimalny zbi´or stacji benzynowych na kt´orych nale˙zy zatankowa´c samoch´od. Podana jest liczba kilometr´ow, kt´ore mo˙zna przejecha´c na pe lnym baku oraz odleg lo´sci mi¸edzy stacjami. ([1] zad.
17.2-4)
10. Danych jest n duch´ow i n pogromc´ow. Ka˙zdy pogromca wybiera sobie jednego ducha a nast¸epnie wszyscy pogromcy wystrzeliwywuj¸a strumie´n proton´ow, ka˙zdy w wybranego przez siebie ducha.
Opracuj i zaimplementuj algorytm dzia laj¸acy w czasie O(n2log n), kt´ory l¸aczy w pary pogromc´ow i duchy tak, ˙zeby ˙zadne dwa promienie nie przecina ly si¸e. ([1] problem 35-3)
11. W lasna propozycja tematu projektu (po akceptacji prowadz¸acego).
Literatura:
[1] T.H. Cormen, C.E. Leiserson, R.L. Rivest ”Wprowadzenie do algorytm´ow”, WNT.
[2] M.M. Sys lo, N. Deo, J.S. Kowalik ”Algorytmy optymalizacji dyskretnej”, PWN.
Ka˙zdy projekt przewidziany jest dla dwuosobowej grupy student´ow.
2 Projekt powinien sk lada´c si¸e z implementacji komputerowej, zbior´ow danych do testowania oraz dokumentacji.
Dokumentacja powinna zawiera˙c:
– przedstawienie problemu, – opis rozwi¸azania problemu,
– analiz¸e poprawno´sci (jako´sci) oraz z lo˙zono´sci stworzonego algorytmu, – opis programu dla u˙zytkownika,
– opis techniczny programu, – opis przyk ladowych test´ow, – wnioski,
– bibliografi¸e.
Zasady oceniania projektu (maks. 40 pkt):
• implementacja komputerowa, przygotowanie danych do testowania oraz prezentacja projektu - maks.
15 pkt
• dokumentacja - maks. 25 pkt, w tym:
– opis problemu i jego rozwi¸azania - maks. 5 pkt,
– analiza poprawno´sci (jako´sci) i z lo˙zono´sci - maks. 5 pkt, – opis dla u˙zytkownika - maks. 5 pkt,
– opis techniczny - maks. 5 pkt,
– om´owienie test´ow i wnioski - maks. 5 pkt.
Projekt powinien zosta´c oddany najp´o´zniej w pi¸atek 21 grudnia 2007 !
Kara za sp´o´znione oddanie projektu: -4 pkt za ka˙zdy tydzie´n op´o´znienia pocz¸awszy od czwartku, 3 stycznia 2008 - kara pozostaje sta la przez ca ly tydzie´n.