An introduction to artificial minds

Artificial minds are not AI

I want to make it very clear that this is not about AI algorithms, deep learning, etc. What I mean by "artificial mind" is essentially a software-emulated mind that, as any organic animal mind, forms world models based on the senses in its body and survival needs.

A mind has to have a goal. The goal is to understand the world through the information received by the senses in the body in order to survive or maintain its own existance (ego). The body of an animal is what mostly defines how exactly the animal is to interact with the world. For example, if it uses legs to walk, eyes to see, etc. The specifics of the body depend on the world and environment where the body will be situated.

An artificial animal, would live in an artificial world. Artificial means we are responsible for defining and creating how that world works and what the animal needs and does.

Let's try to make this more tangible. Think about an RPG or better yet an MMORPG like Tibia. An artificial mind would represent the player. The body would have the same senses you have when you play the game: keyboard controls where you either press a button or release it and a single viewport of the game's graphics. In terms of raw data though, you get binary states for buttons and pixels for graphics. There's way more into this but I'll keep it simple for now.

There's a goal in the game, to not die and to level up. The goal could actually vary since that's something that the player decides, but keep in mind that the player is not the character. When you play this game, in order to achieve those goals, your mind starts learning about how the game works - how your character moves, how it attacks, how it gets XP points, pick-up items, etc. Your mind starts learning all there is to how to move through this new world as this character / body. That's what your mind evolved for and that's what an artificial mind is designed for.

We need robots, all kinds

We could get into more detailed analogies with video games but it would make this longer than necessary. The main purpose I see for creating artificial minds today is for delegating digital-intensive tasks. I think that artificial minds are a key part of the future of how we'll interact with computers and the ever-growing complexity of software needs.

Better customizable OSes and better UI are not the only benefit or purpose. Virtually every field where there are activities that depend on our human ability to express ideas about how something works could benefit from being able to create artificial minds.

The best way to visualize the impact a technology like this could have is by asking ourselves what could we do if there was a tireless person living in our computers willing to work for us?

Sample Use Cases

These are a few places where I can see us using artificial minds.

Personal Computer Assistants

This one is pretty obvious, we’ve seen this perfectly illustrated in the movie “Her”. Although, I don't think it will be as cheesy and dramatic. Not unless we want them to be that way.

Autonomous Robots

This one is very obvious as well. Artificial minds will use these robots through custom controllers that would be very hard or impossible for us to use effectively with our hands. Kind of like how our brain has controllers for our body.

Video Game Characters

The best example is also from the movie "Her". Do you remember that annoying little character from the video game that Theodore plays? How he and Sam are able to talk with him naturally?

Simulations and Complexity Research

The concepts behind implementing artificial minds could bring a new horizon in how we think about solving problems — they give us a new solution space. It’s normal for us humans to create mental models with characters and little stories. Specially when trying to understand how certain systems or a set of rules work, think of when we say "this talks to this part and then...". The mental system that allows us to do that can basically allow us to do the same thing but in a tangible way. We could think of this as a new way to do programming. It might make more sense later on in future posts.

User Experience

Using artificial minds will initially take the form of a chat bot or a very smart command line. For example, say I have a text editor or IDE and I’m trying to visualize an execution path or maybe I want to visualize a dependency graph. Imagine just being able to say something like “Show me all the ways I could get to this breakpoint”. It could also change the way IDEs work. We could say “rename this function” and instead of running some sort of algorithm that involves a parser, etc. the assistant knows exactly where to replace those because it has a personal map that it uses to navigate the code.

Sometimes it's as simple as saying "send this person a message at 5:00pm saying that I won't be able to make it." Or "I only want to receive notifications from my this person.", okay one more “Create a copy of all my kids photos you can find in my files and put them in a new album/folder. Then send it to my mom, and when you do, ask me to write a message for her.”

If we think about most cases, we don't really need to talk out loud to get this things done. It can be just like sending a message to our personal assistant.