AIProjekt/README.md

59 lines
2.4 KiB
Markdown
Raw Normal View History

2020-03-04 17:28:53 +01:00
# AIProjekt
2020-04-07 20:59:26 +02:00
## Spis treści
* [Uruchomienie](#uruchomienie)
2020-05-12 18:25:47 +02:00
* [Wykrywanie roślin](#wykrywanie-roślin)
2020-04-07 20:59:26 +02:00
* [Raport 1](#raport-1)
* [Notatki](#notatki)
## Uruchomienie
2020-04-07 16:58:12 +02:00
Wymagania:
* python 3.7
* zainstalowana paczka pygame (np. pip3 install pygame)
Wpisanie komendy w glownym folderze: <br> `python3 main.py`
2020-05-12 18:25:47 +02:00
## Wykrywanie roślin
Podprojekt na osobnym branchu - kuba. Raport - adamski_raport.md
2020-04-07 20:59:26 +02:00
## 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.
<br>
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.
<br>
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ść.
<br>
Wymienione wyżej klasy zostały utworzone jako przykład i mogą być, w trakcie rozwoju projektu, zmienione bądź dodane nowe.
## Notatki
2020-04-07 16:58:12 +02:00
2020-03-21 13:00:32 +01:00
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:
2020-04-07 19:39:53 +02:00
Jest ogrnaiczone pole, w polu są kratki, gracz może poruszać się po kratkach. W danej kratce są dane o polu.