Sunday, January 27, 2008

Facing the Quasi-Autonomous Robot Monsters Under The Bed, Part I

Commenter Geoffrey asked a whole slew of questions in response to my post on ethics and robots and autonomy, oh my!. And they aren't simple-to-answer questions. In fact, they are precisely the kind of questions I frequently avoid addressing because of their can-of-worms nature.

But I've never been very good at coming up with excuses -- more often than not, eventually I'll realize that it's taking more effort to keep explaining why I'm avoiding something than it would to just go ahead and confront the darn thing. That's where the title of this post comes from: at a certain point, thinking about the monsters (quasi-autonomous robot sort or otherwise) that might be under the bed (and how to avoid them) starts to become more exhausting and annoying than just switching on the light and proving that either there aren't any monsters at all, or just getting to know them a little better if there are.

So while this post (the first in a series) will by no means address these questions to the extent that they likely need to be addressed, it will at least be a start. I figure it's a good chance to at least try and get some of the language sorted out in my head for discussing issues like this, since they seem to come up rather a lot, and I usually respond by saying "I haven't thought that through well enough to comment yet".

In the following, G precedes each of Geoffrey's questions/statements, and A precedes each of my responses.

G: (1) What do you mean by autonomous? As far as I can tell from your post, it seems that autonomy, according to your philosophy, is the ability to make decisions for one's self. However, what does this mean?

A: Most dictionaries (see here for an example of this) seem to define "autonomy" in terms like independence, freedom, self-direction, and self-governance. I don't have any argument with the dictionary in that regard, however, in this discussion, the "autonomy" I have most in mind is that which describes a discrete and independently-operating locus of consciousness, awareness, and thought.

In this sense, humans and cats and even mice can be said to be "autonomous". Every human, cat, and mouse has some level of wholly private experience that no other entity can directly access. That is the usual sense in which I think about autonomy -- there are other complicating layers and definitions on top of that one, some involving decision-making ability and legal sorts of independence from external coercion and control, but the basic unit of "autonomy" for me is the individual mind.

As far as what it means for an entity to be capable of making decisions for itself, that's another question entirely. It's also a question that depends on what you'd consider a "decision" to be, and whether you automatically require explanations of agency in addressing that concept.

In some respects, entities (we can assume to be) wholly lacking in minds are capable of "making decisions" -- say you write a function in C that will output one string if a variable has a value of less than five and a different string if a variable has a value of five or more. Many of us would, at least colloquially, say that the function decides which string to output based on what its input value is. And if this function existed in the context of a program where any of multiple functions might be called in response to higher-level inputs, we might say that the program decides which functions it is going to call.

But if we dig a little deeper, it's clear that the colloquial conventions in which program behavior is commonly discussed do not reflect the (arguably) "ultimate" sources of the program's behavior. The software engineer writing the program in fact decides in advance what the program's outputs are going to be. She decides what inputs will prompt which functions to be called, and she also decides what criteria will determine the outputs of each function.

But! Say we dig even deeper than that! Say the software engineer is writing her program according to a set of requirements handed to her by her boss. Her boss may not even know the C language himself; all he knows is what he wants the program to do. So he provides "inputs" to the software engineer in the form of requirements, which are probably written in "natural language" as opposed to code or pseudocode. The engineer then takes the requirements and processes them into a C program.

But let's not stop there! Say the boss got the requirements from the customer over the phone. Furthermore, say that the customer speaks only Chinese, whereas the boss speaks both Chinese and English. The boss, in this case, has to translate the customer's requirements into English so that the software engineer (who doesn't know a word of Chinese) can understand them. This entails the boss having to make a lot of decisions regarding what the customer likely meant by certain turns of phrase, and it also entails the boss having to think about what points to emphasize most strongly so that the engineer gets a sense of the customer's priorities.

Now, lest anyone think I'm veering into the realm of cybernetic totalism, let's pause a moment. While one could indeed condense the software engineer herself into a code-producing box into which you put requirements and out of which you get a software package, and while one could reduce the boss into a Chinese-English requirements translation machine, surely it is apparent that there are discontinuities in this instructional chain.

That is, as you move further away from any individual program output (let's say, a string printed on the screen that reads either "X is less than five" or "X is greater than or equal to five"), things become less and less easy to determine, and far more subject to uncontrollable variables.

When writing a C program, the kinds of inputs the computer gets are constrained to a relatively narrow set -- the programmer generally uses a keyboard interface to type the code in, and very specific rules of syntax must be followed in order for the program to do anything at all when it is compiled (much less the precise thing the programmer wants it to do).

What's more, as far as any of us knows, present-day desktop PCs don't have anything like the "internal life" that we humans do, or like chimps or cats or mice do, even. Neither the computer nor the individual program being written is "autonomous" in the basic sense of having a private vista of self-aware reflection embedded in a larger reality -- notions of the computer and program "making decisions" are found only in a kind of linguistic folklore rather than in literal points of fact. Certainly one might suggest that "random quantum events" or short circuits or power surges might result in the program being written behaving differently than the programmer specifies it to behave, but essentially, the program's outputs are severely and rigorously constrained by the programmer's textual inputs.

The programmer, on the other hand, is autonomous in the sense defined at the beginning of this writing. She has a mind that nobody else can experience the way she experiences it. She can have thoughts that aren't detectable by any other people or by any measuring instruments. And she can, in the most general folk sense of the word "choice" (the one that ignores the vast and convoluted and seemingly never-ending Free Will Debate), choose:

(a) whether or not to write the program at all

(b) whether or not to come to work in the morning

(c) whether to keep this job or seek another

(d) whether to make one function perform a particular task (or split the task across two functions, one of which calls the other)

...or any number of other options that will affect the nature of the program, up to and including whether or not it comes into being at all.

Similarly, the engineer's boss can make a whole slew of decisions (from the vantage point of his autonomous perspective) that will also affect the fate of the program, albeit not as directly and obviously as the decisions made by the engineer will. He can, like the programmer, make decisions that result in the program not being written at all -- e.g., he might decide not to give her the requirements because he wants her to focus on a different task for the rest of the afternoon. He might decide to second-guess something the customer said on the basis of a perception that he knows slightly more about programming than the customer does (whether or not this is a wise move is beside the point for now). Etc.

And by extension, the customer can choose to describe the requirements in one way rather than another based on how important he or she believes this particular project to be -- e.g., s/he might be more thorough and concerned about making sure the engineer's boss really understands the requirements, or s/he might just rattle off the requirements vaguely and carelessly due to feeling that the project is inadequately funded to begin with.

So far, I've described the program's pseudo-decision-making process -- e.g., the fact that the program branches at certain points, but not due to any kind of internally conscious self-reflection on the program's or the PC's part. I've also described the "volitional-feeling" choices made by the engineer, her boss, and the customer. But there are other factors that can indirectly affect the program as well that come from the human agents in the instructional chain without necessarily feeling like choices.

For instance, if the engineer is tired or hungry, she might not consciously decide to make the program sloppier and less modular, but it might come out that way anyway because she's not performing at her best. Similarly, if the engineer is well-rested and cheerfully sipping away at her Mountain Dew (provided generously by the company), the program might come out in a much slicker and more efficient form -- again, without any conscious feeling on the engineer's part that she's choosing for the program to come out that way as a result of sentient and deliberate decision-making.

And if the boss is distracted by other projects when he's taking the customer call, he might inadvertently write down the requirements sloppily. He might make typographical errors by mistake. He might hear the customer say a Chinese phrase he doesn't recognize, at which point he'll look it up in his Chinese-English dictionary, and in doing so discover that there's another phrase he got wrong earlier in the conversation. In any case, the program is going to be affected by things the boss does and various inputs he might receive and consider on a non-volitional-feeling level. The same goes for the customer -- their instructions might seem to say one thing rather than another based on whether or not the customer has a scratchy throat, or based on background noise in the customer's or boss's office. And so on, and so forth.

This is probably a good point to address the following assertion of Geoffrey's:

G: It seems to me that if everything is contingent upon determining material processes, then everything is determined and true decisions don't exist.

A: Here we encounter the can of worms that is the Free Will Debate. I'll go into my own detailed thoughts on that debate in a later post in this series, but for now I would like to ask Geoffrey what he considers to be a "true decision". In my example above, I'd be plenty satisfied to classify the "volitional-feeling" choices made by the engineer, the boss, and the customer as about as close to "true decisions" as humans can assert the existence of. Certainly, one can try and claim that everything about that person's life up to the moment they made the decision about this program actually "determined" its final state, and that there was nothing truly "volitional" about their decision, but one cannot deny that in everyday life, things we do on purpose feel qualitatively different than things we don't do on purpose.

Additionally, there's a whole weird and interesting realm of cognitive psychology related to matters of coercion and "compulsion". Yes, people can be coerced (by other people, by physiological inputs registered subconsciously, etc.), and in some cases people might "feel like" they are acting volitionally even when they're mainly responding to deep, low-level impulses like fear and reward. But at the same time, people are also capable of emerging from coercion and being able to look back and identify when they were actually being coerced (or compelled) and when they weren't.

In light of all that, even if you're a "hard determinist" in the "we're all just objects going through the unconsciously-programmed motions that could have been extrapolated at the moment of the Big Bang if only someone had had a big enough computer, and nobody really makes any kind of meaningful choices at all because of this" sense (I'm not one of those, by the way), I don't see why you'd want to ignore the many and various levels of "feelings of volition" and emergence from/descent into coercion that humans and presumably other entities seem to experience. Clearly, there's something interesting going on in the brain across all these experiences. But more on that in Part II.

3 comments:

abfh said...

This is the best title I've seen for a blog post in quite some time.

;)

Trying to define autonomy is a can of worms, indeed.

Kakalina said...

I just want to say off-the-bat that I am a school girl in a boarding school that has Bess (you know, that sloppy internet program that blocks "inappropriate" sights), so sometimes I can get onto the comment section, sometimes I can't. If I'm not commenting, it means that I can't getting into the comment section, even though I read your posts all the time. :)

The whole issue of autonomy and free will and executive decision (the brain kind, not the boss kind, though one could extrapolate that your excellent Engineer/Boss explanation could be an analogy for the brain interacting with the body) is the stuff of cognitive neuroscience, a sub-field of Neuroscience/Psychology that is still extremely young and, like all recent sciences, has a tendency towards subjectivism that will not be largely eliminated for some time. You could discuss evolutionary biology while you're at it :), they're comparatively closely related.

I'm reminded of your earlier references to panpsychism (I wrote a long e-mail to my father about that after reading it...he's says that the subject struck him as rather existentialist) when it comes to your discussion on autonomy.

The really surreal thing about brain science that makes it kind of iffy is that in order to *study* the brain, we must *use* the same brain (in the sense that they are structured the same way, not that you literally took your brain out of your head a la Nightmare Before Christmas), something that really baffles me in a way similar to trying to understand that a biological being like a jellyfish has no actual consciousness in the way that you and I do.

My Grandfather (who, incidentally, was also an engineer), used to say that if you really wanted to turn your brain to jelly, go outside at night, look up at the darkness between the stars, and imagine infinity. Using the human brain to study the human brain seems to be a similar sentiment.

teine said...

from a scan of your blogs I get an impression of technocrat who has not quite understood a very basic meaning of human life.. sorry..
i hope i am wrong