I recently posted a similar question over on Stack Overflow but they just weren't having it, so I figured I'd bring it over here.

I'm developing a model for a general AI based roughly on Douglas Hofstadter's theory of analogy/categorization as the core of cognition. I'm imagining a mobile robot with stereoscopic vision, a microphone and a speaker. Using machine learning techniques which are well established it shouldn't be too difficult to spoon feed the robot a series of useful "symbols" to start off with, like what a chair looks like, what a desk looks like, what a computer looks like, etc. There could even be a mirror in the room and you could teach it that when it sees its reflection it's seeing itself, which would in essence make it a self conscious artificial intelligence. Maybe that last bit is a leap of wishful thinking but let's run with it for now.

So we have this sentient robot, basically running an object oriented program in which it roams around the room and recognizes and categorizes things (if you're familiar with OOP it actually makes perfect sense for AI, assuming you agree with Hofstadter's take on cognition), so according to Hofstadter it would have some degree of "understanding" about the world around it. For instance you could walk into the room and hold up a piece of paper and say "what is this robot?" and it would say "paper." Then maybe if there's enough examples of paper in the room you could ask it "what is paper used for" and it may respond, "to write things on." Great, we may now have the world's best general AI in our possession, but, here is where I get stuck. As humans, we have an innate tendency to want to explore the world a bit, and I think this can be boiled down to the fact that we have needs and emotions. We get hungry so we go explore the kitchen, we get horny so we go explore the clubs (or internet more likely), but our robot would require none of that. As long as it's plugged into an outlet I don't see any reason why it would have any desire to do anything other than sit there like a perfect little monk, thoughtless, and just existing.

So, if you're with me so far and you have any background in programming, how would you go about putting incentives into the code to make the robot actually do something? I mean, you could hard code it to just try and find new objects, or roam around aimlessly categorizing things and gaining knowledge, but since that's hard coded in it kind of feels like a shame or like breaking the rules of what it means to have a general AI. Although I guess that's what I argued our DNA does for us so maybe that is the answer.

I apologize that the question is vague, I'm both looking for some sort of algorithm in the code which would incentivize the robot to act more like a human and less like a giant Amazon Echo, but I'd also like any general feedback or ideas on whether this would work, improvements to what I've suggested, whatever.

  • I suspect the question may be off-topic here, but perhaps some people may have some answers or insights. A programming site might be a better place for this. Welcome to Philosophy! Jan 9 '19 at 19:11
  • Try CS.SE? This question is more like how to algorithmize AI properly rather than philosophical one. Also, a robot can't learn that paper is paper without examples. Just like humans.
    – rus9384
    Jan 9 '19 at 20:00
  • Don't forget about Isaac Asimov's robot rules! It's not all the way there, but it's a good start. Jan 9 '19 at 20:01
  • 1
    And of course, there's a Stack Exchange for AI I hadn't thought to check out. Here's a similar QA if anyone is interested. ai.stackexchange.com/questions/3903/…
    – spoof
    Jan 9 '19 at 20:25
  • 1
    @PeterJ And what is the difference between the curiosity the AI shows (in the improbable circumstance that OP can make it work) and the curiosity you or I show? We're pre-programmed to be curious, after all. Jan 11 '19 at 19:01

Thanks for the question! This may indeed be a better question for Worldbuilding.SE or something, but I'll have a go at it anyway.

Without reading other theories than what you presented, I would say that your AI lacks meaning.

The most obvious meaning for you to write for your AI is "do whatever my creator tells me." Slightly better might be "do whatever is best for my creator." Or better still, "do whatever is best for any person around me." Or maybe, "do whatever is best for my creator without breaking Asimov's robot rules."

Now, "do whatever is best" sounds free of content but remember what AI is: it's a strictly logical, vastly resourced thinking device. Utilitarians know that it's good to apply existing resources to achieve the best benefit for the most people, and your robot could get started identifying the decisions people make that cause waste and reduce that.

Or maybe "do whatever is best" could be directed at the deontological virtues of human rights: then your robot would learn about injustice and get busy making bank walls thicker, grocery store checkout scales more accurate, witnesses more bold, cops less vulnerable, etc.

Or maybe "do whatever is best" would take more of a progressive stance and identify inequalities and past injustices, and begin its work to rectify that: educating those whose parents weren't educated, enriching those whose parents suffered economic injustice, or structuring current institutions such that this generation, at least, doesn't suffer unequally the same way as the last.

Or perhaps the AI could study our ecosystem and identify things that endanger the world's living wealth: species of bugs, forestry practices that don't work, etc.

Or perhaps the AI could dedicate itself to expanding individual human abilities: could it think of how to build the best submarine? Could it design the best lunar colony? The best personal jetpack?

OK, all these goals are very far from the code you insert into an AI. But they could serve as metrics from which your AI could begin to value its surroundings, and evaluate how best to spend its limited time before the next planned maintenance and before you get too old and die.

After all, current chess computers are not built on a brute-force methodology: they assign a metric to any given decision and do the thing that they think will increase the metric.

  • 1
    I'd personally like to see a robot read everything in every science journal and map out which ideas are original, which ideas are contradictory, which ideas are trivial, which ideas would benefit the most from being spread around... which foreign-language ideas have suffered the most from being siloed in their home language instead of English, etc. Jan 9 '19 at 20:21
  • But, what is meaning in your view?
    – CriglCragl
    Jan 12 '19 at 23:15
  • Can you explain how to program: "do whatever"? How would that "motivate" a robot do anything at all?
    – christo183
    Jan 13 '19 at 3:31
  • @christo183, by "do whatever my creator tells me," I mean that the robot is an assistant-bot. At first, it's like having a baby but in time, the bot will be able to get your coffee and fold your laundry the right way at the right time. Later on, the bot could pick stocks, choose your March Madness brackets, or have parent-teacher conferences for you... or whatever you would hope it to do for you (with your consent, of course). Jan 14 '19 at 14:57
  • @christo183, my idea of "motivation" for the robot is exactly the scheme used to program chess-bots. Every action gets a metric, and the robot chooses the best action. I suppose one thing that's not intuitive is "the zeroth law of robots", in which inaction, too, gets a metric. Jan 14 '19 at 14:59

Not the answer you're looking for? Browse other questions tagged or ask your own question.