Wojskowa Akademia Techniczna w Warszawie
Systemy Eksperckie
Zadanie laboratoryjne z przedmiotu Systemy Eksperckie
Autor: Prowadzący:
kpr. pchor. Mirosław Klimek dr inż. Roman Wantoch - Rekowski
Grupa: I8C1S1
Rok akademicki: 2011/2012
Zadanie:
Zaprojektować i zaimplementować algorytm heurystyczny (najpierw najlepszy) ustawiający na szachownicy nXn polowej n hetmanów tak aby nie atakowały się wzajemnie. W rozwiązaniu należy zaproponować własną modyfikację heurystycznej funkcji oceny wierzchołków. Hetmany należy ustawić w kolejnych wierszach począwszy od pierwszego.
Wykonanie:
Hetman jest to figura w szachach, która może poruszać się w dowolnym kierunku i o dowolną liczbę pól.
Szachownica plansza do gry w szachy lub w warcaby charakteryzująca się zmiennością koloru pól obok siebie.
Problem n hetmanów jest zadaniem ustawieniu n hetmanów na szachownicy n x n . Zadanie programu jest ustalenie położenia dla każdego hetmana na szachownicy wartość funkcji oceny, stawia hetmana na polu o największej wartości funkcji i przechodzi do kolejnej kolumny wylicza wartość funkcji, wybiera położenie i dostawia kolejnego hetmana i zapętla się do n razy. Wynikiem jest podanie rozstawienia hetmanów na szachownicy.
Wybrana funkcja heurystyczna:
$$\sum_{i = 0}^{n}{\text{wolne}\ \text{pola}*(\text{nx} + |\frac{n}{2} - y|)} + \sum_{i = 0}^{n}{\text{pola}\ \text{zaj}e\text{te}*(x*20 + |\frac{n}{3} - y|)}$$
gdzie:
n – pola szachownicy,
x, y – współrzędne położenia hetmana