Artificial Intelligence

Artificial Intelligence: the theory and development of computer systems able to perform tasks that normally require human intelligence, such as visual perception, speech recognition, decision-making, and translation between languages.

There are a total of 9 different intelligence types.

Naturalist Intelligence

Musical Intelligence

Logical-Mathematical Intelligence

Existential Intelligence

Interpersonal Intelligence

Bodily-Kinesthetic Intelligence

Linguistic Intelligence

Intra-Personal Intelligence

Spatial Intelligence

Today we worked on making a chat bot. This bot is supposed to be able to answer questions you ask it just like a normal person. In order to test if we had done this effectively, we performed the Turing test. This test is supposed to test if the thing in the other side is human or not depending on their responses. The questions typically asked require that the thing answer with emotions, something computers don't have. The picture above is what I used to make my ChatBot. I made a couple of small functions then put them all under one function and created a loop in order to get the program to ask if the player wanted to keep asking questions. In order to get the program to respond different things depending on the question that was asked, I used the in command that checks if there is a smaller string in the whole string.

Today we worked on a program to actually tell us an answer from a database, WolframAlpha. In order to do this we had to make an account on WA and get and ID. Using this ID, we could then access the database. In order to check if the program had gotten actual response from the database we had to write a conditional statement to check if the length of the string was greater than zero meaning that there was indeed an answer. I also incorporated text to speech into this program. In order to do this, I had to import the module that allows for this to happen then call it when I wanted it to say something. Another component that is present in my code is the ability of the program to be able to print the answer and question to an outside source file. To do this you need to know the exact address of the file.

Today we learned about Watson, the smartest machine on Earth. One of the challenges that IBM faced while creating this computer is getting it to think like a human.They fed the computer with a lot of databases and knowledge. The computer knew how to look things up but didn't know how to make the connections we humans make like being able to recognize the same letter in different fonts. They had to give the computer a bunch of questions and the answers in order for the computer to learn the patterns in how to answer the questions correctly. At first the programmers tried to teach the computer by giving it a bunch of rules but that took long and they wouldn't be able to cover everything there was because there is a lot. They discovered that the computer was able to see patterns on its own so they used this to their advantage.

Today we worked on making a program that played hangman using python. In order to do this we had to create a "while True" loop. Under this loop we had the program ask for the guess and check if the player had one of not and would redraw the board accordingly. To draw the hangman we had to pre-draw everything then tell the program to draw the board that correlated to the number of wrong guesses. We had many different conditionals. One checked if the player had more than one letter as their guess and would prompt them to guess again. Another conditional checked if the player had guessed the word already. One of the problems I encountered while making this program was that I made the winning condition that the number of correct letters has to equal the length of the word. The problem with this is that some of the words had one of the letters twice so the number of correct letters would be one less than the length of the word. I couldn't figure out how to fix this problem with out rewriting the whole code so I just took out the words that had double letters in them.

Today was the first day we worked on tic-tac-toe. I used lists to be able to only use one board template and be able to print many different boards using the items in the lists. So far I've only made the basic functions and the only ones I need to finish are checking for a tie and being able to switch players. After I finish these, I think I can start making the main function where I will call out the smaller functions.

Today was the second day we worked on tic-tac-toe. I added three new things to my program. I added the main function that included two loops that allowed the game to be played repeatedly. Something else I added was a function to check if there had been a tie. To check this, we just checked if there is a blank existent in the list if there wasn't and there was no winner then there was a tie. The last thing I added was a way to switch players. To do this, I had the program check which player's turn it was then switch to the opposite player.

In day three of Tic Tac Toe, we turned the two player game into a one player game. At first we made the computer only move randomly but then we made it pick strategic places like the center then the corners.In order to do this we made a list of the moves in the order in which it should take them them made it check if the moves were possible to make and take them if it was possible. At first we had just programmed the computer to move randomly but it made it easily beaten than if it knew strategic moves. In order to improve it, we would have to teach it how to block potential wins and take wins of its own.

In day 4 we have to make our tic tac toe into an AI that can't be beaten. I think that I will teach the program how to check for all of the possible ways to win. I think this way will take a while but it should work. Maybe I can find a way to make this easier.

We added a block to the code that made the program a bit smarter. It allowed the program to be able to block moves and take winning moves if it was possible.

Today was the last day of tic tac toe. In order to see if our programs really worked, we had the programs play themselves. I played against Mr.Farrell and Zach. When I played Mr. Farrell, we had a tie all three games. When I played Zach, he won my program twice. Something I learned today was the concept of machine learning. I learned that computers can distinguish patterns from data you give it. Most of this computer learning is aided by the humans programming the computer because they tell it what patterns to look for in the data they feed it and then the computer is able to make the connections and is able to represent them.

Home Server Project Programming Gaming Project Circuits Robotics 3D Programming