Go to file
Jakub Adamski cf80f84132 labes-correction 2020-06-10 08:15:15 +02:00
assets grafika-init 2020-06-09 12:15:51 +02:00
data final 2020-06-09 22:06:04 +02:00
imgs training 2020-05-18 10:55:02 +02:00
raporty final 2020-06-09 22:06:04 +02:00
ss raport 2020-06-09 22:16:16 +02:00
.gitignore training 2020-05-18 10:55:02 +02:00
ID3.py final 2020-06-09 22:06:04 +02:00
README.md raport 2020-06-09 22:16:16 +02:00
data.csv labes-correction 2020-06-10 08:15:15 +02:00
decisiontree.py labes-correction 2020-06-10 08:15:15 +02:00
dijkstra.py planowanie_ruchu 2020-04-28 21:15:29 +02:00
final-evaluation.md raport 2020-06-09 22:16:16 +02:00
main.py final 2020-06-09 22:06:04 +02:00
net_training.py training 2020-05-18 10:55:02 +02:00
traktor.py grafika-init 2020-06-09 12:15:51 +02:00

README.md

AIProjekt

Final

final-evaluation

Spis treści

Uruchomienie

Wymagania:

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

Wpisanie komendy w glownym folderze:
python3 main.py

Wykrywanie roślin

Podprojekt na osobnym branchu - kuba. Raport - adamski_raport.md

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.