2016年11月25日星期五

Artificial Intelligence


The movie I, Robot presents us with a future that one day robot may take out humanity. Despite worries that robot will take jobs from human, we could hope that human life will be more efficient and convenient with the help of AI.

Artificial Intelligence (AI) is intelligence exhibited by machines and the main is programming. Scientist claim that intelligence is the ability to adapt one's behavior to fit a new circumstance. That means that the heart of AI is to make computer thinks rationally. Last year, an Go computer program called Alpha Go beat the world Go champion. This is considered to be a great leap of AI because playing Go requires more than just computation and repetition.

Intelligence requires many different components that are: learning, reasoning and problem-solving.
Learning is quite simple, which is performed by trial-and-error. Like the journal that I wrote earlier, the Eight Queen is a perfect example of trial-and-error program, when the program gets the right answer and memorize that, it learns.

Reasoning is the ability that one can distinguish from its judgement. An easy example is that: he is either in the dorm or dhall. So if he is not in dorm, he is in dhall. AI should be able to come out with this kind of conclusion based on its deductive base and also distinguish the relevance from the irrelevance.

One last component is problem-solving. Given a problem like finishing a math problem or wining a chess game, it should be able to solve the problem based on its learning and reasoning.

Although in our life nowadays there are a lot of examples of these kinds of programs like Siri, games that are able to solve some problems, they still can't satisfy scientist's expectation of AI: machine that can think and act rationally. This field is still very potential for us to explore.





-------------------------------------------------------------------------------

Reference:
1. http://www.alanturing.net/turing_archive/pages/reference%20articles/what%20is%20ai.html
2.
http://www.computerworld.com/article/2906336/emerging-technology/what-is-artificial-intelligence.html

2016年11月18日星期五

Snapchat and Facial Recognition Technology

Snapchat has been really popular since I came to America. There are a lot of people around me using it so I downloaded it to see why people are so crazy about it. It turned out that it is really fun using it. When you are taking selfie, it will automatically change your expression into something else, some are mimic of animal or some strange things. Although it seems a little bit weird, it works really well because the APP can recognize your facial expression clearly and when you move your head, it moves with you! So I was really curious about how Snapchat managed to do that.

It turns out that, Snapchat's lenses utilized a type of special selfie "filter." Basically, the APP spotted us based on contrast patterns seen in people's faces. However it is really hard to spot specifically how people's faces look like. Snapchat's system analyzed thousands of faces to spot where eyes, nose, and lips are. After that, it can set up different masks that can move with these spots accordingly.

Although it is really interesting to have this kind of technology for fun, it is also a little bit scary to have such tech in our life. If you can have a mask that will fit your face so well, why not people can try to put your face someone else's face? It may also offend people's privacy because your expression is analyzed so clearly and who knows what you can do with those data.






---------------------------------------------------------------------------------

(Here is a video about how Snapchat works)


---------------------------------------------------------------------------------

Photo Reference:
1.http://petapixel.com/2016/06/30/snapchats-powerful-facial-recognition-technology-works/
2.http://uatoday.tv/techandscience/deal-of-the-year-snapchat-buys-ukrainian-startup-looksery-for-usd-150-mln-494701.html

2016年11月11日星期五

Siri

Previously when I was talking about machine learning, I mentioned a little bit about Siri as an example of our cell phone interacting with us. This time I want to talk more about how this amazing APP works.

Siri is a personal virtual assistant APP since iPhone 4S. It came as an APP to provide information and handle tasks for iPhone users, and it becomes more familiar with your preferences as you use more and more of it. 

How Siri works is really like what we learn in class. It records your voice and analyze the frequency and waves. And then it will translate those into codes. Then it will have a special program to identify the words, phrases and patterns. The command line argument and scanner input is just like this, but very elementary. It takes in input, and translate it into whether int, double or String and then run the program we coded to get the result that we want. In Siri, this becomes tremendously complex. There are thousands of possibilities for input, the algorithm has to run through thousand times to determine which possibility fits the input.

Then after it finds the input, it will run through the program according to the keywords of the phrases. For example, if it reads "weather today", it will run the weather program and output today's weather. Of course the reality is far more complex than this simple example. Sometimes even when we ask some really tricky questions, Siri is able to answer it or even make joke about it!

I still remember when I first learned about Jarvis in the Iron Man, it was amazing and unbelievable for me to think of a machine or program that can stay with me and assist me in such detail. But as technology goes on innovating, that may some days become true.  


---------------------------------------------------------------------------------
Writing Reference:
1.http://electronics.howstuffworks.com/gadgets/high-tech-gadgets/siri.htm
2.http://www.jameco.com/Jameco/workshop/howitworks/how-siri-works.html

Photo Reference:
https://techcrunch.com/topic/product/siri/

2016年11月5日星期六

Fingerprint Scanner

           
Have you ever experienced this: you forgot the password for one app because you have so many different kinds of passwords, either a combination of numbers and letter or something that requires capital letter or slash or some buzzard combination. At the same time you also have to worry that someday someone will hack your phone or app because they find a way to find your password. But actually we human have a unique "built-in" keyword: fingerprint.

On people's skin, there are tiny "ridges" and "valleys" that make us easier to grasp. And DNA and environmental factors that affect the formation of fingerprint so each person has a unique fingerprint pattern, even a twins. So the unique characteristic of fingerprint makes it a great password for us: it is a key that you will never forget and lose.

Most fingerprint system analyzes some specific fingerprint features, commonly known as minutiae. That is analyzers focus on the pints on the fingerprint where one ridge line split into two. Scanner systems usually use complex algorithm to to analyze these minutiae.Several minutiae points are scanned in memory when people first registered,and after that if a scanned fingerprint matches these minutiae then it will be considered a match and then log in for the device.
           



Sources:
1.http://www.androidauthority.com/how-fingerprint-scanners-work-670934/
2.http://gizmodo.com/how-the-iphone-5ss-fingerprint-scanner-works-and-what-1265703794
3.http://biometrics.mainguet.org/types/fingerprint/fingerprint_algo.htm

2016年10月28日星期五

Machine Learning



Nowadays, people are not surprised that when they type in their names several times, next time when you start typing, your name is already in the recommendation list. But we have wondered if our cell phone, computer or even microwave around can actually learn and grow as we do. Siri is a great example for our phone interact with us, learn about our preference and interact accordingly with us. The world is moving towards a more automatic world with more and more convenient technology. Machine learning is a subfield of computer science that is derived from pattern recognition and computational learning theory that "gives computers the ability to learn without being explicitly programmed".(Arthur Samuel, 1959). So computer learn from previous computations to produce reliable and repeatable decisions and results.

The result of machine learning is actually everywhere in our daily life. Here are a few examples of machine learning applications that we are so familiar with:

1. The self-driving car. Self-driving car is the essence of machine learning for its program has system to analyse the condition of the road and learn from the drivers preferences and adjust according to the distance or other aspects on the road.

2.Online recommendation of  Amazon or Netflix. Those online stores and website have system to analyze your preference based on the past consumption history or movie watched to guess your preferences and recommend accordingly.

3.Fraud detection. This is one of the more obvious, important uses in our world today. We depend on our computer to analyze whether it is safe or not to react.

Growing interest in machine learning is because of things like growing volumes and varieties of available data, computational processing that is cheaper and more powerful data storage. All of these things mean it's possible to quickly and automatically produce models that can analyze bigger, more complex data and deliver faster, more accurate results – even on a very large scale. And thus high-value predictions can guide better decisions and smart actions in real time without human intervention.



Photo Reference:
1.https://www.toptal.com/machine-learning/machine-learning-theory-an-introductory-primer
2.https://www.springboard.com/blog/machine-learning-online-courses/


Writing Reference:
1.http://www.huffingtonpost.com/shelly-palmer/can-machines-really-learn_b_6872428.html?
2.https://en.wikipedia.org/wiki/Machine_learning

2016年10月20日星期四

Turning Test

After computer was introduced, there has always been a topic that people talk about: whether computer can overpower human? Last year we had AlphaGo that beats the best Go player Lee Sedol and this topic is brought back to people's mind again. Actually, this topic has been raised several years ago by Alan Turing. 

Basically the Turing test is to test whether a computer is able to think like a human. It was designed to be a rudimentary way of determining whether or not a computer counts as "intelligent". The test, as Turing designed it, is carried out as a sort of imitation game. On one side of a computer screen sits a human judge, whose job is to chat to some mysterious interlocutors on the other side. Most of those interlocutors will be humans; one will be a chatbot, created for the sole purpose of tricking the judge into thinking that it is the real human.

In Turing's test, if the human being conducting the test is unable to consistently determine whether an answer has been given by a computer or by another human being, then the computer is considered to have "passed" the test.

In June 8, 2006, a Russian-designed program called Eugene, passed the Turing test for the first time by letting the judge believed that it was a 13-year-old boy. And it was considered the cornerstone for Artificial Intelligence.

I think this test is really an interesting one that not only relates to computer science but also relates to thinking. Alan Turing proposed that if a computer can act, react and interact with an individual, it should be considered to be conscious. This also changes how people look at the world. It is impossible for us to think of what we will be facing in the next ten years.


-------------------------------------------------------------------------------------------------------------

Photo Reference:
https://upload.wikimedia.org/wikipedia/commons/e/e4/Turing_Test_version_3.png

Writing Reference:
1.https://en.wikipedia.org/wiki/Turing_test
2.http://whatis.techtarget.com/definition/Turing-Test

2016年10月15日星期六

Eight Queens Puzzle

The eight queens puzzle is the problem of placing eight chess queens on an 8×8 chessboard so that no two queens are able to attach each other. Each queen in the chess game is able to attach anything that's in its row, column or diagonal. The eight queens puzzle is an example of the more general n queens problem of placing n non-attacking queens on an n×chessboard that n is not 2 or 3.

Finding the solution may seem easy but it really costs a lot of troubles. So it is a good question for us to use computer science to solve this puzzle. It is  a good example of a problem which can be solved with a recursive algorithm. This puzzle is a tried-and-failed puzzle I believe. Placing one queen on the chessboard and then eliminate the row, column and diagonal's possibility  of putting  the next queen. Then put the next queen randomly in the rest of the position and repeat. If till the end there are no 8 queens on the chessboard, clean the chessboard and put the first queen on the chessboard randomly and repeat the previous process.
I believe that this puzzle can be solved with the combination of if and for loop. Combined with the function that we just learned, I believe that this can be a great project for us to practice.