Sramana: There is no way to improve the capability of an expert system unless there is a learning capability. Is that the aspect that frustrated you?
Akli Adjaoute: Yes. When the residents would test our system, I was frustrated because every time they would find a case that the system did not already have a rule for, I would have to add a new rule. The system was really just a list of rules that were triggered. The only good thing was that an expert who had no IT experience could write rules. However, I did not see any intelligence in that system. I was not proud of any type of work with that system.
In France you have to spend four years to get a doctorate. I went to see the head of the department and explained what I had done. He told me the work I had done was very good, and he approved me to present my thesis. I told him that what I did was really nothing because anytime I forgot a rule the system was ineffective. I told him that we should call them stupid expert systems instead of intelligent expert systems.
At that point I started thinking of ways to improve the systems. I wanted to design something that would respond, even in an average way, when the way ahead was not clear. I was obsessed with that answer. My initial goal was to have an average system. I felt that it would be even better than a stupid system because it would operate even where rules were not written.
I started thinking about computers, and the basic thing I realized is that any computer program you have must have an algorithm. Before I was just telling something to the computer and the computer was repeating it back. I wanted to move from algorithmic technology toward writing a computer program that could react to inputs with “if” statements.
The intelligence would be in the way the computer responded to the “then” portion of an “if-then” statement. I tried to find an algorithm that could define the correct output based on the input. It just had to be an output that made sense. People were thinking about different technologies back then. I started thinking about designing goals. My view for the computer was not like designing programs with initial states trying to get to a final state by going through different explorations of states, but to get different entities to collaborate between each other and propose a solution.
For example, if you take medications, they all have purposes. Some are against fevers, some are against coughs, and some are against other ailments. That is how I designed the system. I would identify treatments as enclaves, and I identified the goals of each of the treatments. Then I started to think about the symptoms that somebody would come in with. Rather than looking at the rules doctors would enter for diagnosis, I would look at the symptom and then correlate that with the treatment that addressed that symptom. Any element that related to the inputs could be related to a goal. Every medication had an attribute defined as well as a goal.
I designed computer objects for each of the goals. For every input we received from the patient, we tried to find the best response from the objects rather than following the rules. The computer program no longer needed someone to write a bunch of inputs. The “then” portion of the “if-then” statement would be the objects that were coded into the computer. If a fever, then a certain medicine. That system did not always produce the best output, but it did produce an acceptable output and it always responded by itself.
This segment is part 2 in the series : Making Millions Out Of Artificial Intelligence: Brighterion CEO Akli Adjaoute
1 2 3 4 5 6 7