A way of looking at the future of AI
“Merging Software Development with AI: A way of looking at the future of AI”
An article by Dimitris Lyras, Ulysses Systems founder, in the frame of the European Cyber Security Organisation (ECSO) Work to generate rules and legislation for AI that can apply, today and in the future.
Dimitris Lyras weaves the case in favour of activity models -working together with ER models- to provide computers with knowledge to assist in problem-solving.
Initiatives that can make computing more effective
Out of the initiatives that can make computing more effective, is covering the ground to emulate the amount of varied information that humans can process. Why? Because it is human problems that computers are mostly dealing with.
There is no denying that there have been many developments that do not need to follow human thinking, which help the human world. For example, electronic maps and personal navigators need less information to achieve navigation than do humans, for several reasons. To begin with, humans have constructed maps to shortcut the need to remember sequential scenes to determine their location. Then, humans do not have global positioning. So, this is one example where the staple of accumulating scenes and cases of experience is less efficient than the reasoning behind special positioning.
However, in most human endeavours and activities, computers are very far behind. For example, a computer does not usually know the physics of our environment, nor the physics of our bodies, nor the social and psychological aspects of cohabitation. So, for example, it would not be able to understand decisions made when working out the layout of a refugee space. Nor the layout of a workspace needed for repairs. Also, a computer does not know how a person, who is asked to fill a form, can interpret the questions. More importantly a computer cannot understand text written by humans because it has no frame of reference for the subject matter, or the problems or opportunities being discussed. In fact, people write in “shorthand” and so, do not describe the world around their written exchanges.
Accordingly, for computers to read text, computers must know how each area of focus of a piece of text works, and to the same extent and level of detail as humans reading the text.
Teaching computers about the world requires a collaborative approach
The effort to teach computers about the world will require the approach to be collaborative. One supplier/source emulating the world around an area of interest, is not going to work. Collaborative efforts, however, will work and will need methods of abstraction and integration.
Abstraction requirements in computing
Abstraction in computing requires emulating activities, not entities. In addition, covering the range of humanly understood concepts about the world requires activity models, not entity models. Among recent events pointing us to domains that may need more advanced development platforms sooner than later, are Cybersecurity and Refugee Security. But they are not the only ones.
Yet, how quickly the developments will take place is hard to say. We often see that the move towards more efficient means for building software, as in all efforts for better methods, pale to insignificance when urgent demands are placed on the existing method. For example, protection of personal communications in a roaming environment, jurisdiction and rules applied to cloud hosted information, or the integration of government services.
However, eventually, migration to a more efficient development system must happen.
Computer languages and why we have them
Computer languages are useful in programming a computer to process commands regardless of what it knows.
But this is contrary to natural learning. For instance, do we tell a child to do calculations as soon as it is born? It is therefore puzzling that we are comfortable with computers processing data while knowing nothing about the world other than to turn commands into binary language.
To understand the world, a computer needs a goal and process model of the world
The result is that we use computer languages to provide commands, but not to have the computer be knowledgeable and solve problems. When in fact, Artificial intelligence does require the computer to solve problems. AI requires a computer to accumulate enough knowledge to match/assimilate processes like humans do.
Once a computer has a goal and process model of the world, it can fill gaps in the knowledge by noticing differences in processes and it can learn.
Entities find their way into goals and processes via activities
We have described the fact that the work that goes into computer languages avoids teaching computers about the world. But when computers are taught, they are taught entities, when only humans can understand entities. Humans understand entities because goals and processes have activities. It is via the activities that entities find their way into goals and processes.
Adding intelligence to existing software
Subsequently, the right abstraction is that people solve problems, and people need machines to help them. The fact that the machines follow commands, and the commands have domain notations, is not the only consideration.
For computers to help people, it is significant that they too have models of the world like people do. Not as broad and adaptable, evidently, but continuous or extendable. The aim would be to connect the commands and the datapoints in a continuous reasoning mechanism.
To achieve the above, there is no need to change existing software. Developing the next generation of functionality on a more efficient framework will work. Existing ER models and new “activity models” can work together with the latter taking over.