Sunday, December 20, 2015

A Difficult Conversation

I've been thinking about what would be a difficult conversation for AI to handle and I came up with the following conversation between a marketing manager (mmgr) and a software developer (sdev):

mmgr: Our best customer needs to be able to use our X-MARKS spot color press software with colored paper.

sdev: What's the problem? Can't they just load colored stock on the press?

mmgr: They tried that. They put blue paper on the press and printed with yellow ink, but it came out green.

sdev: Probably the ink soaked into the paper or was not sufficiently opaque. If you did finger painting in grade school, you know that mixing yellow and blue makes green. I think that's a problem with the press, the finish on the paper their using, or the ink, not with the software.

mmgr: Not from their point of view. They expect the software to give them what they want. They used the preview feature, and it showed yellow printing on white paper.

sdev: Yes, the software assumes it's going to be printed on white paper. Supporting other paper colors would mean that the software would need to know what happens with every color and finish of paper when printed with every color and kind of ink. That's a huge problem. Programming it would multiply the number of lines of code in the program, I don't know, maybe 10 times, maybe 100.

mmgr: There's another problem. They tried to print blue text on white background, but with the blue paper, it printed blue text on blue background and the text was nearly invisible.

sdev: As I said, the software assumes printing on white paper. When you ask to print something in white, the software just prints nothing and assumes it will be white. Many presses these days use a five to fifteen color cartridge and can't even print white, never mind the fact that it's always difficult to print any light color on dark paper.

mmgr: So what should I tell the customer?

sdev: Tell them not to print on colored paper.

mmgr: They're not going to be happy.

sdev: I'm sorry about that. I can't even give you an estimate of what it would cost to implement that in our software because it's so beyond anything I've ever thought about doing.


I can't get my mind around what the AI would be like that could handle the sdev side of this conversation. Think about all the things the AI would need to know about and reason about. It boggles the mind. And we're talking about a printing press, not a jetliner. It's possible that no human will ever be able to create software that can engage in complex conversations, that it's beyond the ability of the most capable humans imaginable. We might, however, some day create computer programs that can create such programs, if they're much better at designing programs than we are, though we may never be able to understand the programs they create. We're almost at that point with automated design of processor circuits, I believe, if not there already.

Another possibility is that the above conversation isn't necessary once AI gets to a certain point. If AI knows everything about printing presses, papers, and inks, and knows how to write programs, it may simply be able to create the program without having to discuss it with the marketing manager or anyone. If so, this raises a question about the incremental approach I'm exploring with the "humanity engine". Maybe the intermediate step of creating an AI that can engage in the above conversation on the sdev side is harder than, or just as hard as, having the AI create the needed program, thus making the conversation moot.

Will AIs ever need to engage in conversations with humans? Maybe they will know everything about us and won't feel the need to explain themselves to us. Where then is the need for conversation? I think they will probably need to engage in conversations with each other, though, and with themselves.

Nevertheless, developing programs that engage in conversations is the path to AI, I believe, because, as the Turing Test seems to imply, it's the only way we will know if we're making progress towards the goal.

No comments:

Post a Comment