Decision Procedures Concerning Artificially Intelligent Automatons In Hunter/Prey Scenarios

An introduction on artificial intelligence

Artificial intelligence is a field of science and engineering whose main objective is to develop methods that enable a machine or entity to behave in an intelligent manner. You can find this topic overlapping such fields as psychology, computer science, robotics, philosophy and neuroscience. Faithful artificial intelligence enthusiasts believe that one day, we will have the knowledge and the understanding to simulate the complexities of the human mind so that a machine can be designed and programmed to exhibit real and genuine intelligence, comparable, if not greater, to a human being’s.

But what does it mean to be intelligent? Can a computer be considered intelligent? Today’s computers have a perfect memory able to recall millions and millions of pages worth of information without forgetting, skewing or distorting any data. Today’s models can perform in a few seconds or minutes extremely complicated calculations that would take a team of humans several days, months or even years to solve by hand. They can multitask between large amounts of procedures flawlessly, they correct our spelling and grammar mistakes, and they can play chess games while beating some of the world’s strongest players. With these features, they certainly appear a lot more intelligent than we do. But can a computer write music like Mozart did? Can a robot paint a picture comparable to a Michelangelo? Can a machine have a stimulating discussion on business ethics, spirituality or philosophy? Is a robot able to laugh, cry, and feel bored? Does a computer ever wonder where he came from and who his creator was? Can it look in a mirror and wonder what it is and what it’s made of? Can it feel aware of itself the way we do? Can it dream?

It is obvious that we haven’t even come close to reaching these goals when comparing ourselves to our smartest machines. An intelligent being is much more than a sophisticated calculator. An intelligent being learns and adapts from its own experience, while developing its own perspective on matters. An intelligent being has emotional and instinctive responses to the outside world. An intelligent being has desires, hopes and aspirations. A computer or robot of today is nothing more than an automaton, a machine designed to follow directions a human programmed it to perform. Devoid of any consciousness, a computer is merely a mechanical and electrical clockwork of automated tasks and switches.

How would we be able to tell if we were looking at an intelligent machine? How can we be sure that a certain machine isn’t simply a great mimic, programmed so well that he fools us into believing he’s genuinely conscious and intelligent? One of the fathers of modern computing, Alan Turing, devised a test known as the Turing Test that would help us determine if a machine is intelligent or not. His test involves placing the machine and a real human inside a room cutoff from anyone else. A second human sitting in another room then engages in a natural language conversation with both parties, usually by means of a keyboard, where their responses are displayed on a screen in front of him. If after some time the interviewer cannot determine which responses belong to whom, the machine is said to be intelligent. So as to keep the test unbiased, the interviewer cannot know who the other human is. If he was interviewing a close friend of his, or maybe his brother, he might be able to guess which participant is the human based on subtle and recognizable personality traits and conversation mannerisms.

A powerful argument devised by American philosopher John Searle in 1980 claims that a computer can never be programmed to have a mind or real thoughts, no matter how authentic it appears. This was his reason: Let’s say a computer was designed to be able to speak fluent Chinese. It was designed to take in Chinese characters as input and spit out an intelligent response in Chinese. Let’s say it behaves so intelligent that it passes the Turing test. According to Turing’s theory, one can say then that the computer is intelligent. But does that mean the computer is really aware of itself the way we are and really “understands” what it is saying? Searle then asks you to consider that he is sitting in a room and has with him an English manual containing the complete logic flow of the computer at his disposal, along with paper and pencils. In front of him is a door with a little slot where someone feeds him on a piece of paper some Chinese characters as input. Using his large manual, Searle follows the computer’s logic and writes down the same characters the computer would have spit out and passes them in the slot. The people on the other side of the room might think that the responses are coming from an intelligent being who can speak Chinese, while the truth is, Searle doesn’t understand a single Chinese word. Searle argues that there are no differences between both scenarios. They are both strictly following step-by-step instructions and producing what looks like intelligence. So he concludes that the computer doesn’t understand Chinese.

Bots

A bot is an automaton very similar to a robot except for one thing; a bot is not made of metal, gears and wires. Instead, it is an artificial entity living inside the virtual realms of a computer. Bots are designed and programmed by humans and have to be given very specific orders and instructions in order to accomplish any task. These orders can be very simple and repetitive, or they can be complicated and unpredictable, depending on what the human wants it to accomplish. You can’t see a bot because its essence is a vague series of electrical signals confined to a computers circuit board. In case one wants to monitor the bot’s movement or activity, it can be represented as an icon, image or strings of data displayed on a computer monitor.

The objectives of this paper are to establish realistic and convincing theoretical methods of artificial intelligence applied to a bot trapped in a virtual maze in pursuit of another bot. The ‘Avoider’ bot is not the focus of this article, but is equally important. Topics that will be discussed are realistic methods and strategies a ‘Seeker’ bot would use to increase his chances to capture the Avoider bot. The Avoider bot is assumed to be continuously avoiding the Seeker bot while always remaining in motion, and avoiding areas where the Seeker bot was last seen. Certain methods will be ignored that would give the Seeker unfair advantages, like for example, giving the Seeker the ability to know where the Avoider is at any time without seeing him. Of course this would be an optimal advantage for the Seeker, but it is an unrealistic circumstance in the reality of the experiment. The theory in this article will be continually built upon previous strategies further being optimized along the way.

Let’s begin by imagining the simplest scenario where a Seeker and Avoider bot are placed inside a maze. The Avoider bot, assumed to already be fully functional, would immediately begin to move around, avoiding the Seeker bot whenever he spots it. At this point, our Seeker hasn’t been given instructions so he would remain idle, waiting patiently until he receives his first orders. Even if the Avoider were to pass right in front of him, our Seeker wouldn’t react, because he wasn’t instructed to. So let’s tell our Seeker to move. To keep things simple at first, lets instruct it to move around randomly for now. Proceeding is a flowchart that navigates through the bot’s instructions starting from the top:

1

This flowchart and the proceeding ones were simplified for the reader’s enjoyment. At each step, there might be dozens of other very specific steps that need to take place in order to get through these main ones. For example, if you were to dissect the first step, you would find several instructions that instruct the bot how to select the random direction. Since this paper is directed to the layman/amateur a.i. enthusiast, it might have been too overwhelming if I included the complete flowcharts.

Anyways, the Seeker bot is now moving randomly through the maze as if rolling a dice to determine his next move, not even being influenced by the Avoider yet, who might be right in front of him. The chances for the Seeker bot to capture the Avoider bot in this circumstance are very small, because it would be due to the Avoider accidentally colliding with the Seeker. This situation is the most implausible from the Seeker’s point of view, so we’ll need to install some upgrades.

One solution to increase his chances is to give the Seeker a way to determine when the Avoider is in his line of vision. This would eliminate some of the randomness because as soon as the Seeker sees the Avoider, he can be instructed to move towards him in that direction. So let’s give the Seeker some artificial eyes. At every instant, the Seeker will determine if the Avoider is in line of sight by looking in all directions. Every instant can mean many things. It can mean the bot checks every second, every step he takes, or only when he reaches an intersection. The longer the delay between checks, the longer he would be blind in between, because when he’s not checking, he can’t see if the Avoider is in front of him. So ideally, the seeker wants to check as much as possible, only to be limited by how short the delay would be in between checks. We will call every increment where he’s able to check a ‘step’.

We can now write a crude flowchart of a semi-smart bot. His movement and decisions are limited to the following: the Seeker will continue to move randomly in the maze checking all around him at every step. If the Avoider steps in his line of sight, the Seeker bot would move towards him on his next step. If the Avoider happens to still be in his line of site, the Seeker would of course detect him again and take another step towards him, hence repeating the cycle. Since the Seeker doesn’t have a memory yet, he forgets where the Avoider is as soon as he moves, so this is why the Seeker has to check at every step. This new flow chart illustrates our Seekers new upgrade:

2

The problem with this scenario is that when the Avoider is not in site, the Seeker then goes back to moving randomly and may be stuck going back and forth because the randomness generator that determines his next direction can essentially tell him to go forward, then go backward, then go forward, then go backward, making himself look real incompetent. We can improve this by making the bot select a new direction avoiding the direction he just came from. If there are no directions apart from the one he just came from, that means he ended up in a dead end and he would have no choice but to go back. Since the Seeker would have to remember where he came from last, he would now need a memory component. After making his move, the bot would store in his memory the direction he came from, and when he is later deciding where to go next, assuming the Avoider isn’t in site, he will retrieve it from his memory to make the new decision. The new flow chart would look like this:

3

This version is decent enough in which the Seeker will move around the maze in a normal fashion without having spurts of random idiocy, and at the same time chase the Avoider when spotted. A problem arises when the Seeker is chasing the Avoider, and the Avoider suddenly turns around a corner out of site. The Seeker can no longer see him, so he will immediately resume his search following the right-hand side of the decision procedure above, possibly choosing to turn at any arbitrary intersection. To make the Seeker smarter, he should be able to realize at each step where he last saw the Avoider and what direction it was going. Then, if the Avoider turns a corner and is out of site, all the Seeker has to do is go to where he last saw him and turn in the same direction the Avoider did. From there he may be in site once again. We can then actually modify the above flow-chart slightly so that instead of the Seeker taking a step towards the Avoider directly, he takes a step towards the Avoider’s last position. That way, if the Avoider turns a corner, the Seeker will still go towards his last known spot, and knowing what direction he turned, the Seeker does the same and has a better chance at finding him further on. The following is the updated flow chart:

4

With these new modifications, the Seeker will now be able to keep track of where the Avoider was last and where he was headed, so even if he loses site of the Avoider, the Seeker will still move to where the Avoider was last seen, and move in the same direction he last saw him turn, dramatically increasing his chances of capturing him.

Another way the seeker can increase his chances are to have the layout of the maze stored in his memory unit beforehand. This wouldn’t be considered an unfair advantage for the Avoider because that still doesn’t tell the Seeker where the Avoider is at any given time. The Seeker can use this information to make predictive estimations on where the Avoider might be headed. If the Seeker can determine where he might end up, he has a chance at intercepting him. Take a look at the following diagram:

diagram1

The red triangle represents the Seeker and the blue circle the Avoider. The Seeker just spotted the Avoider heading down the top-right corridor from intersection ‘A’. A knowledgeable bot that knows the layout of the maze would predict that he has to end up at intersection ‘B’ if he continues along that path. The Seeker would then try to intercept the Avoider instead of chasing after him, demonstrated in the following diagram:

diagram2

To be able to do this effectively without possibly diminishing his odds, the Seeker has to be equipped with a ‘path finding’ unit. Path finding is a branch of artificial intelligence that deals with devising the best method for determining the quickest and fastest route from one arbitrary location to the next on a given map. Many factors can variably come into play that can affect the method used and the time it takes to find the answer, such as the topography, or obstacles that might be in the way. Path finding is another complete subject in itself, so we won’t delve into it. For now, we will assume the Seeker bot is equipped with the best possible path-finding unit available. The reason the Seeker bot should be equipped with this device is so he can calculate whether or not he should try to intercept the Avoider by determining the quickest route to the Avoider’s anticipated position. He should do this because it won’t always be plausible to try to intercept. Sometimes following him would be the best solution. An example of this can be seen here:

diagram3

In this scenario, the Seeker noticed the Avoider going down a corridor towards intersection ‘A’. With his path-finding unit, the Seeker determines that going around to intercept is a longer path than going strait through. If he would try to intercept him at point ‘A’ by going around, the Avoider would most likely be long gone by the time he gets there. So here he has better odds if he follows him directly.

Conclusion

Even though there are several more improvements we can add, I think I have been able to give you a little taste of the joys I get in giving life to something lifeless. Seeing how complicated it can get trying to make a simple bot play tag makes me appreciate the larger accomplishments like Deep Blue and Honda’s Asimo. I hope to make my own contributions to this wonderful field one day. I hope you have enjoyed this article.

Justin Bohemier

Advertisement

2 Comments

  1. lrh9 said,

    July 1, 2009 at 11:54 pm

    I think the transition in your article from the the theory of a.i. to the implementation of a.i. needs to be worked on. I’m not sure whether or not you feel that real a.i. is possible and why or whether or not you think more research needs to be done. For instance since I think that a.i. is possible, I would’ve countered Searle’s Chinese Box argument with the physical symbol system theory and context. Of course, if one feels that one does not know that a.i. is possible, it would be perfectly appropriate to simply transition by saying more study is needed. Feel free to contact me for more discussion.

  2. 1000101 said,

    July 2, 2009 at 6:12 pm

    I think the bigger picture is not the individual functions of the AI’s but the complex interactions of individual components. As such, the Searle theory is flawed in that the human is doing the same task as the AI but what Searle fails to realize is that even if the language was native to the human (ie: a natural chinese speaker) then they would be doing all this unconciously instead of conciously. All he’s done is enganged another area the area of the brain which is being activated by adding an additional task (chinese->english translation) before the same process as the AI is being performed. Even so, the larger picture remains that biological intelligence is not one large lump of gray matter doing random tasks but, like a computer, specialized areas with specific interactions and data pathways. The only difference is that the gray matter lends itself to the task by naturally forming data pathways and links where an AI must be explicitly programmed (the seeker AI calling the pathfinder as needed).


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.