Commit Graph

490 Commits

Author SHA1 Message Date
Michał Czekański
04e3b29c21 If there are is no food left, then make decision tree return water. 2020-05-25 01:24:17 +02:00
Michał Czekański
29ba3d23c0 Add more dt examples. 2020-05-25 00:45:13 +02:00
Michał Czekański
d383fdefc4 Add printing score after dt run end. 2020-05-25 00:44:58 +02:00
Michał Czekański
939c3f9072 Add entity picking being adjustable for pure dt run and ga with dt run
In pure dt mode player can choose the same object like water any times in a row.
In dt with ga mode player can't choose same object two times in a row.
2020-05-24 23:40:13 +02:00
Michał Czekański
1e4b44558c Add more dt examples 2020-05-24 23:25:17 +02:00
Michał Czekański
994c509831 Fix calculating dst from player in dt objects 2020-05-24 22:58:41 +02:00
Michał Czekański
326551ad1c Add dt attribute - distance between water and food and some examples 2020-05-24 22:56:00 +02:00
Michał Czekański
e7cd571d95 Add method returning dt distance between two dt interactables 2020-05-24 22:32:42 +02:00
Michał Czekański
da119fca37 Add new field for accurate dst from player in dt interactable class
This will be used to sort foods more precisely when looking for nearest food, water, etc.
2020-05-24 22:21:10 +02:00
Michał Czekański
9825cd9b7d Add more dt examples 2020-05-24 19:44:29 +02:00
Michał Czekański
597a709224 Fix running game in pure dt mode 2020-05-24 19:29:29 +02:00
Michał Czekański
34eb74d980 Add game mode for generating dt examples and delete unnecessary class
This class was storing dt examples. Now they are generated to file and read from it to be used.
2020-05-24 19:19:56 +02:00
Michał Czekański
3f2e5550c7 Make prints done by method gen dt exmpls readable 2020-05-24 19:10:45 +02:00
Michał Czekański
6969a81616 Add method generating dt examples 2020-05-24 18:48:53 +02:00
Michał Czekański
f025df0381 Fix method writing dt examples to file
Method wasn't removing trailing new line chars.
2020-05-24 18:48:30 +02:00
Michał Czekański
f73ae6290f Change resolution to smaller in mainConfig.json
It won't fit on my screen without window adjusting.
2020-05-24 18:39:36 +02:00
Michał Czekański
df70b321ae Adjust project after new enum value addition 2020-05-24 18:38:55 +02:00
Michał Czekański
48560fb3a1 Add >= 15 value in dist from object enum 2020-05-24 18:37:46 +02:00
Michał Czekański
873bfd0d8e Add method returning description of dt survival example 2020-05-24 18:26:10 +02:00
Michał Czekański
98f692a6d8 Add method comparing survival dt examples attributes
This will be used to check for duplicates when generating decision tree's examples.
2020-05-24 17:48:11 +02:00
Michał Czekański
ed58517b82 Fix method reading from and adding examples to file 2020-05-24 17:12:35 +02:00
Michał Czekański
8e9d0c1267 Add method appending examples to file 2020-05-24 17:07:34 +02:00
Michał Czekański
9dc74bc599 Add file with for dt examples and manager capable of reading them 2020-05-24 17:02:35 +02:00
Michał Czekański
b8d2a4f379 Add decision tree pause mode 2020-05-24 15:57:49 +02:00
Michał Czekański
2c2d865d7f Fix wrong argument being passed to method 2020-05-24 15:51:15 +02:00
Michał Czekański
7b6a46188b Remove wrong DT examples, leave them empty for now. 2020-05-24 15:48:32 +02:00
Michał Czekański
02df6e01c6 Remove duplicate of pickEntity() in GA_With_DT and SurvivalDT classes 2020-05-24 15:47:56 +02:00
Michał Czekański
45345cabd8 Add method returning description of DT interactable 2020-05-24 15:46:25 +02:00
Michał Czekański
80946a4246 Add possibility of running GA with decision tree
Decision tree will be used to give player movement targets.
2020-05-24 14:04:10 +02:00
Michał Czekański
c88965de38 Add pausing decision tree run 2020-05-24 13:58:33 +02:00
Michał Czekański
5f7cd0dce7 Add decision tree run game mode 2020-05-24 13:48:05 +02:00
Michał Czekański
7d12c9f59e Add class picking movement target for player with dt 2020-05-24 13:30:50 +02:00
Michał Czekański
3fafade1e9 Add examples class which will contain learning examples for decision tree 2020-05-24 00:38:54 +02:00
Michał Czekański
0d6b3e4e84 Default indent fix in decision tree print 2020-05-24 00:38:12 +02:00
Michał Czekański
2fbc877141 Fix circular import between decision tree and dt branch 2020-05-23 23:49:06 +02:00
Michał Czekański
93839b3580 Add field for associated interactable in dt interactable class 2020-05-23 23:48:10 +02:00
Michał Czekański
05d28c4f5b Remove commas from decision tree's enums
Commas were causing enum values to be tuples instead of integers.
2020-05-23 23:47:36 +02:00
Michał Czekański
c4809373a0 Add method converting interactable to object representing it that can be used in dt 2020-05-23 22:20:14 +02:00
Michał Czekański
3e3fd259dd Rename dt class
Class was named ...Entity but it should be ...Interactable, because entities do not have classifiers.
2020-05-23 22:13:24 +02:00
Michał Czekański
94ec3c273e Remove unnecessary DTEntities and add classification in general class 2020-05-23 22:10:05 +02:00
Michał Czekański
f0af76520b Add method converting pl statistics to those that can be used in dt 2020-05-23 21:57:43 +02:00
Michał Czekański
1f99669d29 Add classes which will represent environment and will be usable in decision trees
Classes to represent player statistics, food objects etc...
2020-05-23 21:42:10 +02:00
Michał Czekański
c347c68958 Comment classes 2020-05-23 17:23:50 +02:00
Michał Czekański
052516540f Add survival dt example class
It will be used to create decision tree examples with project specific attributes like hunger, distance from food etc...
2020-05-23 17:20:18 +02:00
Michał Czekański
8bc292f06d Create survival dt attributes definitions
Definitions like hungerAttribute etc...
2020-05-23 17:16:28 +02:00
Michał Czekański
8d4cde8eb0 Add enum for classifying dt survival examples.
This enum will be used in decision tree learning. For example food classification will mean that player should go for food.
2020-05-23 17:15:44 +02:00
Michał Czekański
c4d4d6bb52 Add enum for player distance from objects like food
This enum will be used in decision tree learning.
2020-05-23 17:14:29 +02:00
Michał Czekański
479137ce74 Add enum for player stats amount
This enum will be used in decision tree learning when creating examples.
2020-05-23 17:14:06 +02:00
Michał Czekański
b0d8872c15 Add inductive decision tree learning set of functions
To build decision tree use inductiveDecisionTreeLearning function.
2020-05-22 14:21:52 +02:00
Michał Czekański
43b654a6a5 Add static method printing decision tree 2020-05-21 17:01:27 +02:00