I was recently contacted by a computer scientist, Sergey Bulanov, who has been working quietly for 20 years on a new approach to artificial intelligence. It’s a pretty interesting and novel approach, and I would like to see what others think about it.
From what I understand, the essence of Sergey’s approach is a new form of computer reasoning that implements “non-computational” networks of logical operations to solve problems.
It is “non-computational” in the sense that it is not an expert system or traditional computer program — rather it is a network of simple operators that compute locally and interact with one another, to emergently arrive at results, reflected by an overall state of the system at the end of the process. This approach reminds me of “connectionist” approaches to AI, such as neural networks and cellular automata.
Sergey believes that his approach could be an important step towards making truly humanlike artificial intelligence in the future. His point is that the brain is a non-computational system, and might in fact use some of these principles.
Sergey calls his approach “Artificial Consciousness,” but I don’t think the word “consciousness” adds value here – and it may even distract from the core idea. But, for the moment, let’s not argue about terminology — his theory is very interesting.
Sergey states that he has used this approach, to solve every logic problem in Raymond Smullyan’s book, Lady and the Tiger. For more info, read Sergey’s overview of his theory. You can read some more of his writings on this theory, here.
I can’t explain it very well, so here is Sergey’s explanation to me, from our correspondence (please note, he is not a native English speaker, so I have added some corrections to his letter to improve readability):
I consider the present version of system, which only solves logical tasks, to not be a truly “intelligent” system. This system is only a starting point for my investigations. This system only looks like it is intelligent because it is solving tasks that are hard for people. The idea for how to solve logical problems in this way came to me accidentally by thinking about the book, Lady and the Tiger, by Raymond Smullyan. In my classification of AI, a system for solving logical puzzles appears to be a kind of low complexity system (according my theory). This present version of the system is just a step along the way towards more sophisticated AI.
Despite my low valuation of systems for logical solving, for practical use at least, such systems can be amusing for people. And such system can be the starting point to thinking about more sophisticated “non-computational” systems. The theory of such systems is well developed for computational case and such system is called SAT system (Boolean satisfiability problem).
The essence of the problem is as follows. Suppose we have a logical expression. (In our case the logical expression reflects the statement of a puzzle). And we consider that logical expression has value “TRUE” (in our case the formulation of the puzzle is true). Then we shall find out logical arguments of this expression which satisfy this expression (to make this expression to be “TRUE”). This procedure is so called NP-complete. In the worst case, this requires full enumeration of all possible arguments. The SAT approach aims to reduce the probable enumerations. The methods of SAT is well developed. But I don’t know about this at the beginning of my work. Moreover, from the beginning I started to create a non-computational approach.
My idea was very simple. Assume we have a logical function , “AND,” with two arguments. This function will have output value “TRUE” only in case where both of its arguments are “TRUE”. So if we know the value of the output of function, we can predict (not in any cases) the value of its inputs.
The formulation of the puzzle is expressed as a logical expression. The expression is represented in a form of a tree (mathematical tree). This tree you can see at video in my website. The nodes of the tree are logical functions (AND, OR and some more types). These nodes are represented as balls in the video. Each ball has one output link and several input links. The state of the function can be TRUE (red ball), FALSE (blue ball) and UNKNOWN (grey ball). From the beginning the logical tree has some nodes with pre-determined initial values (according to the formulation of the puzzle). These values are reassigned not only at the top or the bottom of the tree, but also in the middle of it.
After the start of the system, each ball (each of the logical functions, i.e. each node) can fill states of the adjacent nodes. And each of the balls begins to continuously correct its state depending on the states of the nearby balls. For example, if one of the balls bears function AND with three inputs (thee arguments) and the upper ball sends to this ball information to be a “TRUE” then this ball will assign value “TRUE” at the each of its three inputs. In such a way different kinds of information will be propogated through the tree until a steady state is reached.
This information can change until steady state, asynchronously and even without clocking (this is not proved by me). During the theory about NP-completeness, solving can’t be reached unconditionally (like solving in the linear or differential equations). After some time, the system reaches an unresolvable state and it would need some more iterations to reach the complete solution. The system can be knocked out from each of these unresolvable states by assuming a hypothesis on one of the unresolved balls. The system can reach a global contradiction state or it can reach a global solution. If system doesn’t reach global solution or global contradiction state we must add a next hypothesis on the one of the next balls. In case of contradiction state we must change one of the hypotheses (typically the last hypothesis).
So the system can reach the solution (or set of the solutions) during the iterations between the assignment of hypotheses. This solving can be achieved without explicit algorithm and it can be achieved on non-computational structure, thousands or million time faster than in the computational devices.
These results appear to be an unusual and promising for the AI domain. The importance of these results is in the demonstration of possibilities of non-computational solving of complicated tasks. I hope this system can attract attention of people to develop non-computational cognitive system millions times more powerful than human brain.
But unfortunately this kind of system is not yet a true AI system. Below is some explanations of why.
A full AI system can’t be based on traditional (simple) logical basis. The system represented in our website can solve some kinds of logical tasks. But it can’t discus with humans about these tasks. It can’t explain the solving of these tasks. It can’t (and never could in future) understand natural written text. And it couldn’t do most of the human brain’s functions. One of the most fundamental reasons is that a network of logical functions (as I represent it) could only solve logical tasks, and it can’t grow by its own reasoning. There are many reasons to construct completely another kind of AI system based on different principles. But creating of more complicated system would be hard without understanding principles and problems of more simple system. Logical systems, such as mine, can be a starting point of the way to more powerful systems that apply my non-computational approach.
I came to idea that a really powerful system must be based on the idea of mathematical sets. I found a way to create a network based on sets that can grow, and how such a network can solve different tasks. The range of these tasks is much greater than only solving of mathematical puzzles. I am working on this presently.
My idea for a the chain of model tasks is not an engine of the system but it is a method of research. This idea is very close to the statement of philosopher Bertrand Russell:
“The point of philosophy is to start with something so simple as not to seem worth stating, and to end with something so paradoxical that no one will believe it”.
So that is my approach. For example, I made an expression of the idea of logical functions without logical notions. And I found unusual ideas for my novel system in this way.
There is another example of my principle. Assume we take a simplest question, so simple that decision of this question would be almost inevitable. Then if the decision would have high quality, the principles of this decision can be applied to a next but more complicated question. So moving from simple task to more complicated we can develop our theory.
I hope Sergey’s 20 years of thinking in this direction will prove interesting, and perhaps even fruitful, for the field of artificial intelligence. It does appear to me to be a novel and potentially promising vein of innovation.
Best of luck to Sergey and his collaborators. I’m always happy to see really original thinking in the field of AI.