Thursday, November 5, 2009

Theoretical Thursday: Software- The end, or the beginning?

A couple years ago I met a college student who was creating an autonomous Unmanned Ariel Vehicle. The little plane would fly over a field and scan the ground using color sensors. Black lines drawn in the field told the plane not to fly past them, grey lines were landing strips, and so on. He told me not to waste my time with software, and that hardware was the future of innovation. He explained that soon our computers would have "hardware updates" instead of software updates where the computer would reconfigure a computer's transistors to better fit the needs of the computer. Soon, he claimed, this new hardware would be everywhere. That was three years ago.

I agree that there is a future for hardware, however we still have a long way to go coding-wise with what we've currently got. For instance, the UAV I mentioned above has some things that code needs to fix. When the plane is flying over a green field, wouldn't the sunlight reflect off of the grass and get picked up by the color sensor as a different color? I don't know of any color sensors that can correct this, though it is possible to fix through coding.

Another example, Artificial Intelligence. Let's face it, our AI coding needs work, making robots and software "smart" is one of the hardest things to do, because the coder has to teach the program to learn. There is far too much logic to code to be done in one fellow swoop (in fact, one such software company did try to code every piece of logic a child has, like water is wet, fire is hot, and so on. Many of their coders quit, one claimed that they were "working day and night to create a shadow of what we originally promised".). I won't be satisfied with our AI until we've got a working HAL 9000, complete with the drive to take us over.


AI is something I really want to work on, as there's still a lot of progress to make. I'm sure I'll be happy I chose to go into AI programming until the day I ask my computer:
Me: "Open the bay doors!"
Computer: "I'm afraid I can't do that, Brennon."

2 comments:

Dr Ch@0s said...

I hear ya, I have been developing AI for games and more practical uses for a few years.
Note: from my experience what most developers call AI actually contains no learning methods at all. Neural Networks are where its at for an easy one-two punch.

Brennon said...

Yeah, a lot of coders seem to call something like:

"if mainGuy is near bad guy make bad guy attack"

Artificial Intelligence.

My thinking for coding AI is this, humans learn through patters mostly, even infants, so making a program that can recognize patters and act upon them is real AI. This may be totally wrong, but that's how I like to think about it.

blogger templates 3 columns | Make Money Online