(A)I, Robot

Robert Peck
5 min readNov 4, 2017

--

Artificial intelligence has come a long way, from the mechanical turk in the 18th century, to Deep Blue, AlphaGo, and RankBrain (An AI search algorithm used by Google), among others. But what does it actually mean for a system to be artificially intelligent?

AI in movies are usually what would be termed a ‘Strong’ AI. Able to think, aware of itself, capable of creative acts, able to learn, and on par with the humans alongside it. Sonny in I, Robot, HAL 9000 in 2001, A Space Odyssey (btw, HAL is one letter down each, from IBM), Ahnold as the Terminator, etc.

The counterpoint to a Strong AI is a Weak or Narrow AI. These are systems that may appear to have intelligence, but operate in a very narrow frame, and have no self-awareness or ability to ‘think’. Siri, Alexa, Trump, etc.

So what determines if an AI is Strong or Weak? Short answer: we don’t know. It could simply be access to enough information (Wikipedia-Skynet!), the number of connections available (complexity of the hardware), time spent turned on, the hardware organization (neural nets), or simply the underlying code. At the moment, we don’t have any Strong AI to base judgement on, so we really can’t say what the determining factors may be.

Enter the Singularity

The Technological Singularity is a hypothetical point where Artificial Intelligence systems will enter a period of runaway growth. Basically, where they take over their own evolution, and continually design a better/faster/smarter subsequent system that designs a better/faster/smarter system that designs… Such a system would overtake and outcompete anything mere Humanity could achieve in the same time scale.

For more information on that, check out the link at the bottom, or look up Ray Kurzweil.

Current AI

There are a few AI systems around today, like Xian’er, the Robot Monk (he’s basically a stand for an IPad with information on bhuddist tenets), Sophia, running Intelligence software designed by SingularityNET that uses voice recognition and analyzes past conversations to learn how to better interact with people in the future. Sophia was granted citizenship in Saudia Arabia in October 2017 (Yup, a robot has more rights there than women).

How can a system evolve?

One of the core capabilities for a Strong AI is the ability to learn, for future decisions to be affected by current decisions and circumstances. Evolution in nature is well understood (sorry, Creationists, we did in fact evolve from filthy monkey men): Offspring are slightly genetically modified versions of the parents, and if those modifications end up being beneficial, they have a greater likelihood of surviving long enough to pass on their genetic information, the cycle repeats, and the analog in computing isn’t too difficult to imagine.

Given enough time, a system could modify its own code, character by character, line by line, and of a million failures, one may result in improved functionality. That would be completely directionless, a system unaware of itself, just changing bits by chance. If the system were aware of itself, and understood the language it was written in, the speed of evolution would increase dramatically. Imagine if you could open your brain, add some neurons, and be smarter tomorrow. Pop in some extra muscle, and increase your running speed.

This is a really cool video demonstration of evolution using line tracing. 500 people were told to trace a line, with their line being the template for the next person, and the results get crazy. It’s just copying a line, how hard can it be? https://www.theguardian.com/science/punctuated-equilibrium/2011/feb/16/1

Testing it Out

I built a little ‘Evolution’ program to show how random chance can result in complex systems. It takes in a target string of whatever you want, and arrives at that string by trial and error, just modifying itself over and over, retaining any matches, until it hits on the target string.

It takes a different path each time, just banking on random chance to arrive at the right answer, but the concept of a system being able to write its own programs, to just try a million combinations until one works, is one way for Strong AI to build itself, and for evolution to cross over into software. This is an example of directed evolution, because it’s proceeding towards a known goal, but undirected computer evolution could result in new functionality.

There doesn’t need to be a goal, and the resulting functions don’t need a purpose, random chance can take it’s course and evolve the intelligence that can then analyze itself, and make conscious decisions for it’s own further upgrading.

This isn’t all the code, just the bits that do the cool stuff. evolveWord takes in a string, checks it against the target, and if it doesn’t match, makes a newPool of words, each modified but retaining any letter matches, and finds the most matching new word, and keeps repeating until the target is reached.

Links:

--

--