009e-Machine Processing

Computers are not aware and do not represent.

If we look at how computers store information we find that computers convert all the characters we see into values represented as bits. And bits are really voltages.

As an example, a bit will have a voltage value of > 1 or < 1. A voltage of > 1 is treated as a binary value 1, and voltage < 1 is treated as a binary value 0. From there we convert those voltage values as binary values into numbers by treating them as strings of binary values.

0000 = 0
0001 = 1
0010 = 2
0011 = 3
0100 = 4
0101 = 5
0110 = 6
0111 = 7
1000 = 8
1001 = 9
1010 = A
1011 = B
1100 = C
1101 = D
1110 = E
1111 = F

This hexadecimal number when paired gives us the 256 ascii or ebcdic characters.

The hexadecimal value '5A' corresponds to the ascii value 'Z'.

**** http://publib.boulder.ibm.com/infocenter/macxhelp/v6v81/index.jsp?topic=/com.ibm.xlf81m.doc/pgs/lr393.htm

However, the computer does not do anything with Z. It is really always using 01011010.

Whenever you see a 'Z' on your computer screen, it is being displayed based on the value 01011010.

If this page were to be scanned, optical character recognition software would convert the binary values of various parts of a page and convert some of them into 01011010, and render it as 'Z'.

However, if the computer was given a sheet a where 'Z' was so large it took up the whole page, the computer would be unable to interpret it. However, a child who knew her alphabet could easily understand the page showed a Z. The child is making representations between things it sees.  the computer is not.  The child make representations between the objects of it's awareness.  The computer is not representing objects, and is not aware.  The computer performs functions, mechanistic function is not representation.

It is the programmers that makes representations and then encodes some of those representations into a form a computer can process using binary values. The programmers are doing all of the representational work of a computer. the computers are only following the instructions encoded by the programmers to do conversions between one kind of binary data to produce another kind of binary data, and then render that binary data in a form useful to the programmer or a user.

How do we know this? (apart from the mechanics). The simplest way we know this is because the computer does not guess. Computers and their programs follow a procedure. So called "errors" on a computer result from a procedure.  Failures on a computer are not procedural failures, but the outcome of a procedure. this is why computer failures are repeatable.

A computer does not guess a different option when a failure is predictable. Our ordinary language when talking about computer events is extraordinarily misleading. We use anthropomorphic terms to describe events on a computer system that the computer does not do.  

When a computer "randomly shutsdown" or "locks up" or "quits" that is exactly what is supposed to happen. It is purely mechanical. It is not what the designer or programmer or user intended but it is not a failure or error on the computer's part.

If a program or computer system were actually intelligent, it should be able to guess when a failure was going to happen, and do something different.  Of course our current computers cannot do anything different, primarily because they cannot form representations about what may or may not happen.  Computers cannot make guesses.  

Guessing is a critically important part of representation and awareness. Guessing can be described in a simple was as randomly choosing one object of awareness to stand in for another. All initial learning is guessing.  The guesses are followed by testing the guesses, usually for consistency and for the accuracy of guess - if the guess predictably represented what unknown event would happen.   this process of guesses and refinements is the basis for learning.  

Learning to play "Tic Tac Toe" is an example where at first, the game is all guessing. But at some point, a player realizes some strategies work better than others, and very soon, the player can learn that it's possible to play so there is never a winner.  The naive player makes guesses, then constructs more complex representations, more complex guesses about outcomes.  The level of guess making changes until guesses are not made all, but strategic choices are made to prevent losing or to trick an opponent. [ A bored player may intentionally lose to simply stop playing the game.  ] 

Tic Tac Toes is the classic example where a guessing game can be turned into a computer program that plays and never loses. Not because the computer is actually playing "Tic Tac Toe", but that the programmer has encoded what square a computer should take following an opponent move, and what square the computer should take to if it starts the game.

But, the computer is never really playing "Tic Tac Toe". It is just following a procedure laid down by a programmer. The first time a computer "plays" does the computer guess which choices will work like a kid? No.

Computers do not guess, they follow a sequence of actions, a sequence of actions laid down by a programmer.  We talk about the computers behavior in narrative terms, and as making guesses but neither thing is happening.  A computer will play against other computers or against humans, or against nothing, simply waiting for an input. The computer follows a procedure, even waiting for input, the computer is following a procedure.  it is not "waiting".  

A footnote about guessing and rock paper scissors:

"Rock Paper Scissors" is a guessing game where a programmer would probably not be able to write a program that could perform better than a random response. A human player could discern a pattern to a computers "play". A person could discern the pattern encoded by a programmer for that kind of game and use it to win by predicting based on the pattern.

In fact, a person could write a program to play the "Rock Paper Scissors" program and then use the game output to look for a pattern in the game play. Then the person could modify her program to play the game and win based on any pattern detected.

"Rock Paper Scissors" played between people is a great example of trying to predict your opponents actions, and often succeeding. But the choice is really just a guess. In children, older players beat younger players, but not always. Once a child stops always choosing rock, it's a very equalizing game. Especially because it's hard to make good guesses about your opponents choice in short games.

Does a computer guess, even if using a random source when making it's selection in Rock Paper Scissors? Do you guess, or are you following a procedure?  Are you thinking ahead of your opponent?  what does it feel like to know what your opponent is going to choose?  How could a computer outsmart you playing rock paper scissors?

play Rock, Paper, Scissors online with an evolving AI  http://iterationprojects.com/rps/   This is a fascinating little project, but in my own experience it's easy to beat the AI at rock paper scissors.  

[speculation:  a computer that can consistently win at rock paper scissors is probably more interesting than a computer that can pass the turing test.  Rock paper scissors is a more fundamental demonstration of awareness than the turing test.   I am frankly baffled how anyone can be fooled by a computer today doing a turing test.  The easiest way to discern a typical computer from a person is to change contexts and make jokes.  A computer cannot tell an improvisational story that would make sense, nor could it determine when a person is acting silly, or silly with a purpose, or making fun of the computer.  How does a computer respond to the jokes:  "your mom is so fat...."  when a computer does not have a mom nor and ego relation to a mother?   How does a computer respond to knock knock jokes such as interrupting cow?   Improvisation is explicitly not about programming or procedures and thus would be outside of all the current approaches to  AI development.   A game like rock paper scissors can be reversed where the loser of a match is the actual winner, ie, try to lose the game.  this idea is easily understood by human players, but it requires a meta level of programming to create that functionality with software - meaning it is the kind of thing only an aware player or programmer can understand but that any kind of computer is beyond the purview of any kind of modern computer system.]

previous next