The field of AI is wildly dispersed in beliefs, methods, paradigms and philosophies. The next paragraphs describe the philosophies we adhere to for our project.

More Than the Sum of Its Parts

In our project we consider the Gestalt theory as one of our major allies. In short, it allows us to take as a foundation that our diverse unified AI system is greater than the sum of its parts. The combination of limited sub-systems like vision, hearing, speech, logic, etc., will eventually result in a system far more powerful than the simple sum of the individual parts.

A strongly related philosophy is that intelligence is holistic. Holism states that the working of a system cannot be determined or explained by the sum of its parts alone. Instead, the behavior of the parts is determined in an important way by the rest of the system. This also applies to interpretation of information (something that is of utmost importance for any AI system): it is only possible to understand certain information if we place it in a broader context of other information. We strongly adhere to this philosophy.

Biology vs. Computers

Since Artificial General Intelligence is usually inspired on the human mind, we try to find useful similarities between it and the human physiology and psychology.

The human brain is a great teacher, and where possible we copy useful designs into digital implementation. However, in our philosophy the human example is not sacred. In every issue that we study from the human brain we should consider its advantages, disadvantages and possible improvements when transferring them from biology to digital computing. The human brain may have many advantages over computers, but it certainly also has its limitations. We should try to lift these limitations where possible to get the most of our system.

Learning vs. Programming

In the field of AI there are roughly two philosophies: Conventional AI and Computational Intelligence. The first is a strict approach that focuses on formal methods (expert systems, programmed knowledge, etc). The second is a more empirical approach that involves learning, using methods like neural networks and fuzzy logic.

Since we want to create a system that is flexible whenever possible, and precise only when necessary, we adhere to a hybrid philosophy while leaning somewhat to the empirical side. Since our projects are very result driven, we try to avoid the overhead that comes with the formal approach: we have no need to find the most optimal solution when we have another solution that works almost as well. This allows us to work faster without loosing ourselves in details.


Most AI systems to date are build with little facilities for input and output. We try to break with that tradition by not only having plenty of input methods (text, audio, visual, tactile, etc.) but also many output facilities. The idea is to have every input method matched by a similar output method, giving the system a unique symmetry. Audio and video will not only be subject to analysis, but the system should also be able to synthesize any possible sound or image that it can 'imagine' or that it has learned.

In practice, we want a system that can reproduce any input at a comparable level. This means for instance that once the system has learned to recognize a person, it should be able to generate an image of this person with certain detail. Or if it thinks about some music, that it can synthesize it in some detail, with different instruments, voice, etc. This feature opens up huge possibilities in the area of communication, entertainment and research.

Design Strategy

Due to the foreseen level and complexity of connectivity between functional components in our AGI system, it is not logical to assemble the complete system from the results of independent research on these specific parts. Instead, we work in a more holistic way.

First, we try to design the whole picture, including shared system parts and common base elements. Only then we divide the work into smaller projects for each of the functional components. Design and development of components is always done within the context of the whole project, including the global design and the other components. On the other hand, new insights from a specific component may alter the global design, including any dependent components.