Thursday, December 11, 2014

AI - How?

My current area of interest is Artifical Intelligence. Since I started programming I've been thinking about it: how can an algorithm evolve? The code writes/modifies itself... I just could not imagine how can something artifical, like a program or machine can learn concepts. Maybe with
if {...} else {...}
statements?
I made my first ever "Hello World!" in C++, and from then on I coded every kind of stuff. Now I use C#, C++, C and ASM to write programs. But with none of them I managed to write even a simple AI. I didn't read papers about this topic because at that time the math and theory behind this area was not comprehensible to me (altough it's still hard to understand). Now as I have more patience (or at least enough), I read articles and blogs about it. Many of them includes lots of formulas and math, so it's pretty necessary to have some clue about the followings:
  • mathematical analysis
  • probability theory
  • some linear algebra
  • ...and maybe more I have not encountered yet.
So why is it a must? Because an AI - at least an optimal and scaleable one - is not made of millions of braches (if-s). It is more abstract than that. Just imagine that you are a function F(x, y, ... z). There are inputs, and of course outputs from this function. What are the inputs? A pain in your back, a sound, or a picture. And you also have reactions to these inputs. You go to doctor, start to whistle, or just simply realize what's in that picture. They are like outputs. But what's between them? A system of neurons, sending signals (or not) to other neurons. I'm not saying that only they are responsible for our actions and feelings. These neurons are behaving like a function. It is a big method that we shall construct. A system of simple connections. And it will be the brain of our AI.

No comments:

Post a Comment