The AI Report: Binary Tree AI Table of Contents 1. General Idea a. About Binary Tree b. About Machine Learning 2. Personal Project a. The Project b. Mistakes / Challenges c. Accuracy of this AI
General Idea About “Binary Tree” The meaning of Binary Tree in this particular context is a process of AI determining a set of data in sets of conditions (that will be divided into 2 branches of True and False), made by observations made from processing sample data given to the program. To explain more, consider this Diagram:
In the diagram, the AI creates conditions that it think would be able to classify all of the choices. At the top of the diagram, for example, the block (node) uses a parameter in the set of given data (which will be discussed later in the next topic) called “Defense” as a condition to categorize data.
About Machine Learning Machine learning is the process of how the AI learns how to predict the result. In this context, the AI are given a set of predefined data of the choices and its characteristics to learn and recognize the pattern from, then it will use its assumption according to the pattern to identify the choices of another set of data.
Personal Project The Project (User Defined data) In my personal project, my topic is Slime and there are 6 types of slime: Normal Slime, Mini Slime, Fire Slime, Water Slime, King Slime and Ghost Slime. This would be considered as the expected outcomes. The characteristics I used to characterize these types of Slimes are: Size, Speed, Power and Defense. Types of Slime (Outcomes)
Characteristics (Parameters)
The following is the design of the Slime I planned before converting them into numbers (The characteristics are given according to personal preference). Type of Slimes
Size (and HP)
Speed
Power
Defense
Normal Slime (0)
5
5
3
5
Mini Slime (1)
1
10
2
1
Fire Slime (2)
8
7
9
3
Water Slime (3)
3
4
5
8
King Slime (4)
10
2
6
3
Ghost Slime (5)
4
8
7
2
*Notes: there are more sets of data for each type of outcomes than shown here
(Left) The ANS sheet is to tell the AI what is the correct answer to the Measurement characteristics given in the Measurement sheet. (Right) Measurement sheet is to give the data for the AI to recognize pattern of each type of outcomes.
These are the data given to the AI to predict, created by random number generator in the sheets.
The Project (Codes)
Left: The first part of the code retrieves the data from the existing google sheets that I create (shown in the previous part of the report). Right: The next part of the code uses a python AI library “sklearn” to train the AI to recognize the pattern the data provided, then predict from the information given. Mistakes and Challenges A minor mistake that I noticed it about the topic. The topic is very easy to understand, but it is very subjective in a way that all slimes in different games are made differently. This means that the logic used in creating characteristics are purely up to me. Moreover, slimes within the same game would vary in characteristics as well. Thus this might not be a great topic to work on after all. One of the things I could have done differently is to not randomize numbers for the AI. Since the data given to the AI to predict is all randomized, there is some issue of the data not being realistic such as a “Mini Slime” being more powerful than “Normal Slime”. Accuracy of this AI Due to the ambiguity of the characteristics, there’s no right or wrong characteristic for any type of the slimes, so it is hard to actually determine if the result is accurate or not. By speculating and comparing to the possibility in accord to my standard, the result (shown below) could be considered as moderately accurate.
AI’s prediction
Size / HP
Speed
Power
Defense
Water Slime
10
7
8
8
Water Slime
3
7
4
9
Normal Slime
3
1
0
3
Mini Slime
1
7
4
4
King Slime
8
2
1
2
Water Slime
1
4
6
7
Water Slime
9
6
5
9
Fire Slime
9
8
8
0
Water Slime
6
2
5
8
Mini Slime
2
8
2
0