Go to file
2020-04-08 07:03:07 +00:00
.gitignore przyrost1 2020-04-07 16:58:12 +02:00
beetroot.py Zaktualizuj 'beetroot.py' 2020-04-07 18:58:58 +00:00
cabbage.py przyrost1 2020-04-07 18:46:09 +00:00
carrot.py przyrost1 2020-04-07 18:17:35 +00:00
main.py przyrost1 2020-04-07 16:58:12 +02:00
plant.py przyrost1 2020-04-07 18:28:04 +00:00
pumpkin.py przyrost1 2020-04-07 18:46:27 +00:00
README.md raport 2020-04-07 20:59:26 +02:00
soil.py przyrost1 2020-04-07 18:28:04 +00:00
traktor.py Zaktualizuj 'traktor.py' 2020-04-08 07:03:07 +00:00

AIProjekt

Spis treści

Uruchomienie

Wymagania:

  • python 3.7
  • zainstalowana paczka pygame (np. pip3 install pygame)

Wpisanie komendy w glownym folderze:
python3 main.py

Raport 1

Środowisko agenta

Całość środowiska jest napisana za pomocą języka programowania - Python oraz dodatkowej paczki - Pygame. Niebieski kwadrat reprezentuje agenta, plansza to widoczne na ekranie okno z czarnym tłem.

W naszym projekcie głównym agentem wykonującym określone działania jest traktor. Może się on poruszać po planszy, która będzie podzielona na równe części - mniejsze kwadraty. Zadania traktora to:

  • decyzja o sadzeniu/zasianiu rośliny,
  • nawożenie,
  • zbiory upraw w odpowiednim czasie,
  • oraz oczywiście odpowiednie poruszanie się po planszy.

W danym mniejszym kwadracie, traktor znajdzie wszystkie niezbędne informacje do podjęcia wyżej wymienionych działań. Będą to indywidualne projekty, które wkrótce zrealizujemy i połączymy w całość.

Reprezentacja wiedzy

Projekt zostanie napisany w języku Python, wiedzę również będziemy reprezentować za jego pomocą. System opiera się na klasach i zawartych w nich zmiennych oraz metodach. Dzięki temu cała wiedza jest integralną częścią wykorzystywanych narzędzi programistycznych. Dostęp do danych jest szybki i bezproblemowy.

Utworzyliśmy przykładowe klasy reprezentujące wymienione obiekty:

  • roślina oraz dany rodzaj rośliny - marchewka,
  • gleba.

W pliku carrot.py mamy między innymi funkcję add_soil, która dodaje odpowiedni rodzaj gleby (zmienna), w jakim została umieszczona marchewka. Reszta funkcji jest analogiczna i nie będziemy ich omawiać ze względu na dużą ilość.

Wymienione wyżej klasy zostały utworzone jako przykład i mogą być, w trakcie rozwoju projektu, zmienione bądź dodane nowe.

Notatki

Pomysły na projekt indywidualny:

  1. Decyzja odnoścnie ruchu (szukanie najlepszej ścieżki)
  2. Decycja czy sadzić roślinę
  3. Wykrywanie jaka jest roślina i czy zbierać
  4. Decyzja odnośnie nawożenia

Środowisko: Jest ogrnaiczone pole, w polu są kratki, gracz może poruszać się po kratkach. W danej kratce są dane o polu.