You are on page 1of 6

Kocioek

Spenianie ograniczeo CSP


Problem N-Hetmanw

1. Sformuowanie problemu
Jako to dla porwnania algorytmu przeszukiwania przyrostowego z powracaniem ze sprawdzaniem w przd wybrano problem N hetmanw. Przyjto oznaczad przez BT algorytm przeszukiwania przyrostowego z powracaniem, natomiast przez FC - sprawdzaniem w przd. W konwersji do CSP zastosowano nastpujc regu: - W zmiennej kodowany jest wiersz pooenia hetmana - Indeks zmiennej jest kodowaniem kolumny Dziki temu otrzymujemy mapowanie 1:1 pooenia hetmana oraz jego zakodowanej postaci. Warunkiem poprawnego rozwizania problemu jest wyznaczenie takich pozycji hetmanw, aby aden nie by atakowany przez pozostaych. Opis formalny: Niech i, j oznaczaj indeks zmiennej, D dziedzin, Z zbir indeksw zmiennych, vi wartod i-tej zmiennej { { Nasze ograniczenie formuujemy nastpujco: | | } }

Jak wynika z opisu algorytm CSP rozwizuje zalenoci N zmiennych o N wymiarach. Zalenod zapewniana jest przez kodowanie kolumn za pomoc odrbnych zmiennych, natomiast pozostae s prostymi binarnymi ograniczeniami. W przypadku kadego algorytmu zostaa zastosowana heurystyka przy wyborze zmiennych. W algorytmie BT jest to zmienna posiadajca najmniejsz rnice pomidzy rozmiarem domeny, a iloci konfliktw, natomiast w algorytmie FC wybierana jest zmienna o najmniejszej domenie.

2. Otrzymane wyniki
W celu porwnania dwch algorytmw w kategorii czasu zebrano i uredniono dane dla rnej wielkoci problemu. Dla lepszego zobrazowania rnic przyjto logarytmiczn skal w osi czasu.
10000

1000 Czas [ms]

100

redni czas BT redni czas FC

10

1 0 20 40 60 80 100 Rozmiar problemu

Wyk 1: Zalenod czasu od rozmiaru problemu Czas potrzebny algorytmowi FC na rozwizanie problemu jest nieznacznie duszy dla maych problemw. Jest to zwizane z koniecznoci modyfikacji domen w zalenoci od aktualnego przypisania, a w razie dodarcia do punktu, ktre nie umoliwia rozwizania, jej przywrceniem do poprzedniego stanu. Jednak od problemu w rozmiarze 40 czas zawsze jest krtszy, a rnica staje si tym wiksza im wikszy rozwizywany problem. Dzieje si tak dlatego, e czas potrzebny na zmian domeny ronie znacznie wolniej ni czas zaoszczdzany przez wczeniejsze wykluczanie przyszych zmiennych, ktre nie mog byd ju przypisane (maj pust domen). Poniewa ciko jest obiektywnie stwierdzid czy rnica 100ms lub 10ms w stosunku do danego rozmiaru wprowadzono dodatkow miar - przyspieszenie. Dziki zauwaeniu, i w wikszej liczbie przypadkw algorytm FC jest szybszy, przyspieszenie, zostao definiowane jako iloraz czasu przetwarzania przez algorytm BT do FC, .

10 Przyspieszenie

0,1

20

40

60

80

100

Rozmiar problemu

Wyk 2: Przyspieszenie obliczeo podczas stosowania algorytmu FC w stosunku do BT Poprzez ujcie danych w taki sposb widad, i algorytm FC sprawuje si znacznie lepiej dla duych problemw, osigajc nawet ponad 10 krotn sprawnod dla problemu o rozmiarze 94 hetmanw. Najgorzej wypado porwnanie FC z BT w problemie 28 hetmanw gdzie FC by niemal 4 krotnie gorszy. Zostao to spowodowane tym, i problem by atwy do znalezienie dla algorytmu BT (mao powrotw), natomiast w algorytmie FC czas zosta zdominowany przez modyfikacje domen zmiennych na kadym z poziomw przeszukiwania.

3. Najciekawsze wyniki

Ilust 1: Rozwizanie (FC) dla 1 hetmana

Ilust 2: Grny) Rozwizanie FC dla 100 hetmanw. Dolny) Analogiczne za pomoc algorytmu BT

Ilust 3: Wykorzystanie silnika solvera do problemu kryptoarytmetyki. (lewy BT, prawy - FC)

4. Omwienie wynikw
Analiza zebranych wynikw wskazuje, i dla nieskomplikowanych problemw nieznacznie szybszy jest algorytm BT, jednak wraz ze wzrostem zoonoci problemu dodatkowy narzut w algorytmie FC spowodowany modyfikacj domen zwraca si dziki odrzucaniu na wczesnym etapie zagniedenia przypisao, ktre nie s moliwe na przyszych zmiennych, a s prbowane w algorytmie BT. Na podstawie wykresw wyranie widad zalenod, i im bardziej zoony problem, tym wiksza staje si rnica czasu przetwarzania na korzyd algorytm FC. Poniewa algorytmw CSP w prawdziwym wiecie uywa si do skomplikowanych problemw (np. ukadanie planw zajd) o wielu zmiennych wielowymiarowych , dlatego w tej kategorii problemw algorytm FC powinien sprawdzid si zdecydowanie lepiej od zwykego BT, ktry bdzie musia wykonad wiele przypisad w przypadku gdy ograniczeo nie spenia ostatnia zmienna. Natomiast podobny przypadek zostanie bardzo szybko znaleziony i odrzucony w algorytmie FC.

5. Dodatki
Rozmiar prby 4 6 7 8 9 10 11 12 27 28 29 37 38 39 40 41 42 79 80 81 82 83 84 85 85 87 89 90 92 94 95 96 redni czas BT(ms) 4,45 4,99 4,48 5,32 4,92 4,6 5,01 5,62 9,62 6,86 11,21 17,87 18,13 26,44 25,89 138,29 778,73 208,39 175,27 9946,02 3459,04 242,99 350,98 184,18 184,18 223,93 300,09 1067,13 231,37 272,29 4666 1331,38 redni czas FC(ms) 9,41 7,98 6,02 8,62 9,07 8,2 8,85 10,52 10,16 27 10,67 13,89 18,13 15,98 19,06 44,77 107,38 90,59 89,48 1408,06 424,18 100,77 105,86 112,44 112,44 113,59 131,9 187,63 134,03 150,15 450,2 196,08 Przyspieszenie 0,47 0,63 0,75 0,62 0,54 0,56 0,57 0,53 0,95 0,25 1,05 1,29 1 1,65 1,36 3,09 7,25 2,3 1,96 7,06 8,15 2,41 3,32 1,64 1,64 1,97 2,28 5,69 1,73 1,81 10,36 6,79

Tab 1: Niektre dane pomiarowe

You might also like