Artificial Intelligence:

What is Intelligence?

Well, according to the merriam-webster dictionary intelligence is the ability to learn or understand things or to deal with new or difficult situations.
However, Howard Gardner, a psychologist that received his education from Harvard University
believes that there are 9 kinds of intelligence, I will list the different intelligences below. I will not list the definitions, but I will give a link to them.

1. Naturalist Intelligence (Nature Smart)

2. Musical Intelligence (Musical Smart)

3. Logical-Mathematical Intelligence (Number/Reasoning Smart)

4. Existential Intelligence

5. Interpersonal Intelligence (People Smart)

6. Bodily-Kinesthetic Intelligence (Body Smart)

7. Linguistic Intelligence (Word Smart)

8. Intra-personal Intelligence (Self Smart)

9. Spatial Intelligence (Picture Smart)

Link to definitions:

Here is an image of Howard Gardner, the psychologist that believes in these 9 different intelligences.

Alan Turing

On the 6th week of computer science, Mr. Farrell told us to do some research on Artificial Intelligence, Howard Gardner's 9 Intelligence, and Alan Turing.
Alan Mathison Turing was a man of many skills and had a lot of different professions during his lifetime. Turing was a mathematician, logician, cryptanalyst,
philosopher, mathematical biologist, marathon/ultra distance runner, but he was most known for being a British pioneering computer scientist.
Fun Facts about Alan Turing: During the Second World War, Turing worked for the Government Code and Cypher School, Britain's code-breaking centre. Turing devised
techniques that helped break German Ciphers. Turing's role of creaking intercepted Nazi messages helped the Allied defeat the Nazis much quicker.
It has been estimated that the work done by Turing and the Government Code and Cypher School helped shorten the war by 2 - 4 years in Europe. Here is another fact!
In 1952, Turing was prosecuted for homosexual acts. In 1954 Turing commit suicide using cyanide.

Turing Machine:

According to wikipedia and other sources, A Turing machine is a hypothetical device that manipulates symbols on a strip of tape according to a table of rules.
Despite its simplicity, a Turing machine can be adapted to simulate the logic of any computer algorithm, and is particularly useful in explaining the functions of a CPU inside a computer.

Artificial Intelligence movies to watch:

2001: A Space Odyssey
Blade Runner

Chatting with a bot

Today we started off class by chatting with a chatbot. Click this link if you would like to chat with the bot!
I wanted to test this chatbot's intelligence, so instead of speaking english to it, I started off the conversation by speak Chinese (mandarin) with the bot!
To my suprise the bot actually responded in Chinese! Here is my conversation so far with the bot.

Chinese to English translation of my conversation with the chatbot.
Me: How are you?
Cleverbot: I am doing fine, thank you.
Me: Why are you fine?
Cleverbot: I am fine, because you are doing good.

Beginning to program a chat bot

After we messed around with different chatbots on the web, we began to create our own chatbot!
We programmed our chatbot in Python, I started to program my chatbot with pretty simple responses.
Here is the code and the simple conversation I had with my chatbot! (I turned the conversation into a gif!

After working for awhile and messing around with other chatbots, I decided to improve my chat bot by
adding more questions, making the conversation with the user and the robot last a little bit longer.
Here is an image of a better conversation with my improved chatbot.(I will not turn the conversation into a gif
this time, because the gif changes slides far too quickly) I will include the code for the chatbot thought.

I added a new code to my chatbot. This code allows the user to ask the chatbot some questions.

A more realistic chatbot

Today is the second day of working with our chat bots and we were suppose to make them more realistic.
On the first day we just programmed our chatbots to do very basic things like ask a user what their name is
how there day was, etc. Now we programmed our chatbots so that if you ask it a question it can give you a
pretty decent response.

Text to Speech (TTS)

Something cool Mr. Farrell taught us is how to make the chatbot talk! Yes! I mean how to make a chatbot
articulate, speak, etc! With just about 3 lines of code I was able to make my chatbot speak! I highlighted
the codes I used to make the chatbot speak.

"Smartest" machine in the world

The Smartest machine in the world might be the Watson, an artificially intelligent computer system
capable of answering questions posed in natural language. Watson was developed by IBM. Watson
became famous when it was starred in a show called Jeopardy and won the first place prize of 1 million dollars.
Here is an image of Watson and an image of it playing Jeopardy.

What caught my attention is that Watson has something called "Machine Intelligence" which means
he can learn things after seeing a lot of examples of that thing. He can identify patterns and whatnot.
It took aout 4 years to create Watson! Watson has the processing power of about 6,000 high end home PCs
and is the size of about 10 refrigerators! Watson was named after IBM's founder, Thomas J. Watson and was
designed by Dr. Dave Ferrucci.

Week 2 of Artificial Intelligence

Rock Paper Scissors on Python

On the 7th week of expeditions we continued to work on artificial intelligence, but instead of working with
chatbots again we created a Rock Paper Scissors game on Python! My code for the Python game is a little different
from Mr. Farrell's but it still works just as well! Here is my code for the Rock Paper Scissor game:

I also tried to make a number guessing game, but it didn't work so well. My goal was to have some guess a
number between 1 - 100 and give hints, but my game totally failed and you were only able to choose from numbers
1 - 5 and no hints are given to the player. Here is the code to my faulty number guessing game:

On the second day we spent more time working on the number game. With the help from Mr. Farrell my number game
became much better than the one I posted above. The number guessing game is from 1 - 10 (You can change it to 1 - 100 or any numbers for that matter)
and you can get hints if you choose a number incorrectly. Here is the code of my new code for the number game: (On the right is a gif of the game play)

Hangman on Python

Today we were working on creating a hangman game on Python. When I first tried to code the game by using a bunch of
functions, my program failed completely, so I just did the code by hand. Here is the code I did and a gif of the gameplay.
I was actually inspired by Alan to do the code by hand, because his code was successful and it seemed much easier to do than
using functions.

Here is the gif of gameplay:

Tic Tac Toe Game

Today we started to work on our Tic Tac Toe game. I did not know how to make a tic tac toe game, so I had to go online and
search for a some codes that people used for their tic tac toe game. During my research, I learned quite a few things that I
will be able to use for my own tic tac toe game.

Above is an image of a tic tac toe instruction made Gaurav Chandarana. I noticed that the tic tac toe board that Gaurav
made wasn't very neat, so I wanted to improve upon that. What I changed was make the tic tac toe board more neat and and numbers
to each block so it would look more neat. Here is my introduction to my tic tac toe game:

Also from looking at Gaurav's code I learned all the possible combinations to win a tac tac toe game. I will definitely
use this for my own code.