sprawko hetmany

Wojskowa Akademia Techniczna w Warszawie

Systemy Eksperckie

Zadanie laboratoryjne z przedmiotu Systemy Eksperckie

Autor: Prowadzący:

kpr. pchor. Piotr JAKUBOWSKI dr inż. Roman Wantoch - Rekowski

Grupa: I8C1S1

Id: 43564

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.

  1. Problem n hetmanów jest przykładowym zadaniem ustawieniu n hetmanów na szachownicy n*n . Program liczy położenie 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. Itp. Aż do końca podanej wartości n szachownicy.

  2. Analityczna postać zaproponowanej funkcji heurystycznej.

F(w) = dl_tablicy_hetmanow*3000 + (x*n + | (ns/2 – y)| + (x*n + x*200+ (|ns/3 - y |))

Ekran główny

Symulacja dla n = 9. Program wykonany w Javie. Użytkownik podaje liczbę wymiaru szachownicy po czym zatwierdza, szachownica zmienia wygląd po czym po naciśnięciu przycisku symulacja. Hetmany ustawiane są na szachownicy. Użytkownik ma do wyboru zmianę koloru szachownicy oraz wyboru koloru hetmanów.

Fragment kodu żródłowego

Private int funcja (int n, int m, int p){

int wartosc = 0;

for (int y = 0; y < n; y++ ){

for (int x = 0; x< n ; X++){

int pozycja = a.charAt(x) + m.charAt(y);

if (m.pole(pozycja)! = -1) {

wartosc+ =x*n+ Math.abs(ns/2-y);

}

If (p.pole(pozycja)!=-1){

wartosc+= x*n + x* 200 + Math.abs(ns/3 - y)

}

}

}

return wartość +p.length *3000;

}

-------------------------------------------------------------------------------------

Rysowanie szachownicy

private void paintSzachownica(Graphics g) {

g.setColor(new Color(0, 102, 102));

g.fillRect(0, 0, 400, 400);

for (int i = 0; i < N; i++) {

for (int j = 0; j < N; j++) {

if ((i + j) % 2 == 0) {

// g.setColor(kolor1);

g.drawImage(image1, i*X, j*X, X, X, this);

} else {

// g.setColor(kolor2);

g.drawImage(image2, i*X, j*X, X, X, this);

}

// g.fillRect(i * X, j * X, X, X);

}

}

---------------------------------------------------------------------------------------

public void symuluj() {

watek = new Thread(this);

watek.start();

flaga = true;

----------------------------------------------------------------------------------------


Wyszukiwarka

Podobne podstrony:
El sprawko 5 id 157337 Nieznany
LabMN1 sprawko
Obrobka cieplna laborka sprawko
Ściskanie sprawko 05 12 2014
1 Sprawko, Raport wytrzymałość 1b stal sila
stale, Elektrotechnika, dc pobierane, Podstawy Nauk o materialach, Przydatne, Sprawka
2LAB, 1 STUDIA - Informatyka Politechnika Koszalińska, Labki, Fizyka, sprawka od Mateusza, Fizyka -
10.6 poprawione, semestr 4, chemia fizyczna, sprawka laborki, 10.6
PIII - teoria, Studia, SiMR, II ROK, III semestr, Elektrotechnika i Elektronika II, Elektra, Elektro
grunty sprawko, Studia, Sem 4, Semestr 4 RŁ, gleba, sprawka i inne
SPRAWKO STANY NIEUSTALONE, Elektrotechnika, Elektrotechnika
SPRAWOZDANIE Z farmako, Farmacja, II rok farmacji, I semstr, fizyczna, Fizyczna, Sprawozdania z fizy
mmgg, Studia PŁ, Ochrona Środowiska, Chemia, fizyczna, laborki, wszy, chemia fizyczna cz II sprawka
Zadanie koncowe, Studia PŁ, Ochrona Środowiska, Biochemia, laborki, sprawka
Piperyna sprawko PŁ, chemia produktów naturalnych, ćw. 5 PIPERYNA
03 - Pomiar twardości sposobem Brinella, MiBM Politechnika Poznanska, IV semestr, labolatorium wydym
Sprawozdanie nr 1 CECHY TECHNICZNE MATERIAfLOW BUDOWLANYCH, Budownictwo studia pł, sprawka maater
Sprawko badanie twardosci, Studia, WIP PW, I rok, MATERIAŁY METALOWE I CERAMICZNE, SPRAWOZDANIA
sprawko z ćwiczenia 11, Farmacja, II rok farmacji, I semstr, fizyczna, Fizyczna, Sprawozdania z fizy

więcej podobnych podstron