Click Here to Request a FREE Quote to Develop an iPhone App or Android App

What is Artificial Intelligence?

The neural network below wants to learn how to drive. Press “Start AI Demo” to see a real neural network trying to solve a problem.

How does AI work?

Have you ever heard the saying, that a monkey hitting keys at random on a typewriter keyboard for an infinite amount of time will eventually type the complete works of William Shakespeare?

Of course, you would need to wait a very long time for your theatre script.

But what if you could take all the bits the monkey got right, and teach the money to focus and build on the good parts?

OK, this is probably stretching the metaphor to breaking point, but in a very real sense this is how AI works.

AI starts with a set of completely random attempts to solve a problem.

Just by chance some of those random solution attempts will be slightly better than the others in the set. AI builds on those slight improvements, and uses a process of iterative improvement to finally produce a solution.

This is why AI uses so much electricity and computing power – you have to sift a lot of poor quality attempted solutions, to find the one solution which answers your requirements. Sifting all those failures takes a lot of computing power.

Should I include AI in my next solution?

Maybe. AI is worth considering when conventional programming techniques are struggling to solve a problem. If you wanted to build an app which say recognises objects in photographs, using conventional programming to home in on the features of the object which help identify it would be extremely challenging. But an AI might be able to zero in on those identifying features in hours, a task which might take a human programmer months to solve, if they ever solve it.

What are the disadvantages of using AI?

AI is expensive to develop, and expensive to run. It is very difficult to estimate how long it will take to develop an AI, because AI isn’t amenable to usual quoting techniques – breaking down the problem into small steps, then analysing the cost of those steps.

If you would like to discuss whether AI can help your next project, Desirable Apps is happy to assist. But be aware, a serious AI project requires a serious budget, far more so than regular software development.

Mobile Apps and Artificial Intelligence

I get asked a lot of questions about Artificial Intelligence. Artificial intelligence is processor and memory intensive, so despite advances in mobile battery capacity and processor speed, if a mobile app requires access to an artificial intelligence it is better to do the heavy lifting on a background server. Occasionally the AI task is lightweight enough so a mobile can perform the AI feat on its own, without help from a backend system.

The following is a simple AI demonstration – a solution for the Travelling Salesman Problem. The task is to find the shortest route which allows a travelling salesman to visit all of the cities on their itinerary.

(Click here for a full screen version of the demonstration)

A mobile device or computer could simply look at every possible path, but as you add more cities, the number of possible paths grows impossibly large – years, maybe millennia would be required to examine absolutely every possibility, when considering more than a handful of cities.

Thankfully artificial intelligence can help. Through use of an Evolutionary Algorithm it is possible to build on past knowledge, while combining the best traits of winning solutions.

As the name implies, an evolutionary algorithm seeks to mimic nature, by taking the fittest solutions, slicing them up, and splicing them together – very much what happens during sexual reproduction. Most of the time the spliced version will not be as good as the original parents, but sometimes it is better. The occasional win is enough to keep this particular algorithm wriggling towards a solution.

I like the Travelling Salesman Problem because it is one of the most visual of possible AI demonstrations – by watching you can get a real feel for how artificial intelligences solve problems.

If you have any questions about artificial intelligence and how AI could help your mobile app, please contact me at Desirable Apps.