WsdSI/LJK/za2a

From WikiZMSI

Spis treści

Problem

Rozwiązywany problem to n-hetmanów, gdzie n jest parametrem programu. Określa on wielkość szachownicy jak i liczbę hetmanów.

Algorytm

Celem laboratorium jest implementacja algorytmu największego wzrostu (wariant simple albo steepest).

Wymagane elementy programu:

  1. zadawana wymiarowość problemu n
  2. stan problemu (kandydat na rozwiązanie) reprezentowany jest jako: wektor ustawień hetmanów w wierszach (każdy hetman ustawiony jest w innej kolumnie),
  3. stan początkowy ma być losowany
  4. funkcją celu: zlicza parami atakujących się hetmanów, zatem oczekiwanym globalnym optimum jest wartość funkcji = 0;
  5. funkcja generująca sąsiedni stan: przesuwa wybranego hetmana do wybranego pustego pola dozwolonego dla danego hetmana (po wolnych wierszach); w wariancie steepest powinna generować listę wszystkich możliwych przesunięć;

Algorytmy - pseudokod

Wynik

  • stan, który został wskazany przez program jako rozwiązanie i jego wartość funkcji celu
  • liczbę odwiedzonych potomków (stanów sąsiednich) do znalezienia rozwiązania.


Punktacja

Program należy oddać na zajęciach laboratoryjnych/wymagana prezentacja działania programu. Za program można zdobyć max 1 pkt.

Termin oddania programu

  • Grupa 20A ---27 kwietnia 2019
  • Grupa 20B --- 7 kwietnia 2019
  • Grupa powt --- 7 kwietnia 2019