Multiple Intelligence

Howard Gardner, a Graduate of Harvard, wrote a book called Multiple Intelligences. It talks about how people have different kinds of intelligence,
and that each learn and work in different ways. It also talks about advantages each has.

What is intelligence


We are going to try to make programs that interact with the user in some intelligent way, to understand some things to do,
We talked with a bots to understand better.

Alan Turing

Alan Turing was a very influential person in computer science. He made a theory of a machine that would scan and altered,
and the symbol will determine how the machine works. This theory was made in 1936, and can simulate the logic of a computer algorithm,
and explain some of how a CPU works.

Turing Test

The Turing Test is a test of how well a computer can answer like a human.
On Thursday, we did Turing test with our ChatBots and had the class vote on them. The person would go out and randomly assigned to either answer
as a human and try to act like a computer, or have the ChatBot and see how it does with what the class asked.
Some people made the program to do one thing and would do the same if they were chose, so that we couldn't tell who it was.


We have been working on a program to chat with people. We have the program look at the answer the person is giving and looking for
Key words to decide how to respond. In mine, if "can" and "you" are in a sentence, I can assume that they are asking if it can do
something, and respond with no.

Little chat with the program

On Wednesday we added an ability to talk to the ChatBot. We are still continuing to try and make the ChatBot act in a human way.
we also learned how to connect the program to Wolframalpha to get it to answer a question the person is asking.(don't have code on that yet)

I figured out that we need to put (if '___' in question() or '____' in question()) to get the code to use the and/or statements correctly.
If we just put (if '_____' or '______' in question()) would do something strange and it wouldn't work at all.

Rock, Paper, scissors

Tuesday we made a rock paper scissors game. It would randomly deicide a play and ask you yours, and tell you if you win, lose, or tie.


Watson is a program that was made by IBM to understand Jeopardy question and answer them correctly. You may not think it is that difficult, but to understand
how to answer them. It can only look and see what is there, not meant. If a one word comes up too much, it will decide that as the answer, like if a keyword
is termism, it may decide September 11th is the answer, because so many article have it related. Not only that, it don't just know flick can mean movie.
It is programmed to learn from millions of examples to find a pattern, then slowly starts to understand what is meant.


War Games is a science fiction movie set in 1983, were a high school student gains access to a military program and plays a thermonuclear war game with it. After the
game starts, the program tries to "win" the nuclear war, as in win with acceptable losses. The government thinks the game is and that real Russian nuclear launches.
The U.S. is ready to launch real missiles in response. Once they figure out it is fake, the program hacks for the launch codes to "win the game". In the end, since the
program can learn, they get the program to run a game of tic-tak-toe to try to show it there is no winner. It then learns the only winning play is not to play. This shows
how a computer doesn't give up unless told or finds that it is better to just not try.

Number game

On Monday we made a program to play a number guessing game. The computer picks a random number between 1 and the given maximum. It would then ask the player for what thier guess is and
tell them if the the answer is higher, lower, or correct.


We Worked on making a hangman game to play. I haven't finished it. The win loss end still is not working, but everything else is working right now. I made most the code in functions
so it is less complicated to find problems and to be able to reuse them later. First we greet the player, choose a word, then reformat the word for the win check later. I then check the
number of missed letters to determine what image to show the player. It then resets the player's word to be rewritten and displayed for the player. The program then asks for a letter,
checks if it's right, and tells you if it is right or wrong. Finally (the part I'm still working on) it compares the word the player has made with the correct word for the win, or if you have
lost based on the same number that shows you the image. Here is how it is working.

On Wednesday I finished the hang man code to work. The reason the win/loss condition was failing was because it checked after asking for the letters. Because it asked for a letter first to check,
changed it so you wouldn't win/loss until it is checked another time after it should have determined so. The next problem was it setting up a replay or stopping. That was solved by having the break command
in the actual loop the game is, instead of the function.


On Thursday we made a Tic-Tac-Toe game in class. Right now it doesn't have an AI in, but it does work as a 2 player Tic-Tac-Toe. To print the board we have to write it so it can be changed. This is were we make the
first list for all the spaces. We then just put a location from the list (board = list name. [1] is the place in the list.) This also let's us change the number to a X or an O later.

Once we asked for the player's spot to take, we then just replace that spot with the respective players symbol. It tells this by seeing who the player is, witch is saved to computer/human, and switches every turn.
To deal with people not putting in a correct number, or a used number, I first have the game check if the move variable is a valid number, and then if it is left in the board list. If the response fails either, it just starts over
without switching the players. The only problem is if you just press enter with nothing written, it breaks.

Tic-Tac-Toe AI

On Friday we made an AI for the game to play against the person. It is programmed to check if it can win with any moves, and if not goes to check if the human can win with a move and block it. If it can't find either of those, it will
just take the next space on the a list of good choices in order. The problem now is that the computer will take a space you said to take, then take a turn of it's own. It doesn't happen all the time, but it does happen sometimes. It does work
if the computer is just making random moves, so it has to be a part of the AI code