Artificial Intelligence Page

Day 1


Today we start learning about Artificial Intelligence (AI) by first asking the question, "What is intelligence?" To find an answer we were asked to research Howard Gardner's theory of multiple intelligences:

Multiple Intelligences


According to Howard Gardner, the Professor of Cognition and Education at Harvard University, instead of having one main intelligence, there are actually 8 different intelligences humans have: musical–rhythmic, visual–spatial, verbal–linguistic, logical–mathematical, bodily–kinesthetic, interpersonal, intrapersonal, and naturalistic. This would go against the previous understanding of intelligence as well as the popular way to determine intelligence through IQ tests (Gardner argues IQ tests only measure the verbal–linguistic and logical–mathematical categories). This theory would also suggest that all people would have the capacity to be intelligent because of its wide variety. You can take a questionaire here to determine which of Gardner's 8 intelligences is your strength.

Day 2


Today we took a look at cleverbot which is a web based chat bot where a user can input answers or questions and the "bot" responds to them. The goal of this was to be able to start to get an idea of how these bots might work so we could make our own.
When we started coding the bots inside of python, we needed a couple of new "tools". In order to receive a response from a user, we needed the "raw_input" code. Also you could include a question for the raw input by typing "raw_input("question")

Using this new tool, we could also use it to store variables. For example, if I wanted my bot to know and remember the users name, I would assign the variable "name" by typing: "name = raw_input("What is your name?"). Now whenever I type something that uses the variable "name" it will recall the name from the the input to the question, "What is your name?"

Day 3


Today we researched the computer scientist, Alan Turing. He is getting a lot of attention especially now with the critically acclaimed movie "The Immitation Game" which is based on his life. He lived during the mid 1900s and was claimed a war hero for his work with computers. Especially in modern warfare, information is everything. However, since messages sent of radio waves could readily be intercepted, there was a need for encryption. The Nazis had come up with what they deemed an "unbreakable code" which was created by devices called Enigma Machines. To to the extent it scrambled characters it was indeed near unbreakable. However after a while, Alan Turing and his team was able to break the code, giving the allies a tremendous advantage. Despite his war achievements, he was given a painful hormone treatment because of his homosexual conduct. He later died with suspected suicide in response to the treatment by eating a poisoned apple, the death similar to the one of his favorite fairy tale Snow White.
Today we also learned one more tool for out bots:

Speaking: In order to use allow our robots to talk we had to import the module "steel" and use the code: "steel.eSpeak().speak".

Day 4



Today we carried out our very own Turing test with our chatbots. In some cases it was actually very difficult to determine if it was human or computer. In Joshes case, we were all convinced that his responses were human. However it turned out it was the computer, and his program had actually malfunctioned.

Day 5


Today we learned about Watson who was deemed the "Smartest Machine in the World" after winning a jeopardy match against the top 2 jeopardy players in the world. At first hearing about it, I though that this was hardly a remarkable feat, especially since computer have complete access to such a large amount of data. However, during the video, I came to realize just how hard it is to get the correct answer the first time every time. For example if I do a google search, I use my own ability to descern which answer is the best one, and it is not always the first. Also, humans have the ability to look at situations with context, which computers cannot. However the way around this is to use computer learning, which is where thousands of examples are inputted into the computer, and the computer looks for patterns within these examples to get an overall idea. Overall, learning about this computer made me realize how crazy the human brain is and all the kinds of nuances our brain uses to understand.

We also watched the movie War Games. This was the second time I had watched this, but I think that I understood it a little more after being in a CS class. I found it really interesting when the main character got the computer to learn by repeatedly do a command and seeing the pattern. While it may have been a little farfetched for a high school student to accidentally launch missiles at another nation through a home computer, the movie did contain several realistic concepts especially in AI as well as computer learning. Also it is a good lesson for humans to realize that there are no winners in war.

Number Guessing and Hangman


Today we started working on a number guessing game. The goal was to be able to create a game that could pick a random number from a set range, allow the player to input a guess, have the game say if the mystery number was higher or lower than the guess, and eventually declare when the right number was selected. To add a little challenge, at least a challenge for me, all of the game was separated into functions. The reason this was a challenge was because previously I had designed programs as just a long line of commands. However, even though it was harder for me at first, it allowed debugging a lot easier. Also it made transferring functions for similar programs easier as well as to different languages.

I was able to convert this program to JavaScript by changing the functions and commands into JavaScript syntax. I have finally got it to work!
We also started working on hangman. A seemingly simple game that many of us have played since child hood, yet it definitely proved to have some difficulties when coding. One problem that I had, and still have until I fix it, is how to get correct guesses to be displayed where the spaces are. Emily helped me to use a list, but I still need to fix out a couple of bugs from this.
One big takeaway from both programs is the difference in data types. My comparison functions were failing because my variables were containing strings rather than integers. While we see the number 5 as a number, when using raw_input, this value is considered a string and must be converted into an interger.

Tic-Tac-Toe


Function Based Programming