September 02, 2026

Prototypen für ein selbstfahrendes Auto

„Du bist tatsächlich gekommen“, sagte Dr. Lena Hoffmann und winkte ihm auf dem Parkplatz entgegen.

„Eine Einladung zu einer Probefahrt mit einem selbstfahrenden Auto lehnt man als Informatiker nicht ab“, antwortete Daniel Weber. Er blieb vor dem silbernen Wagen stehen und betrachtete die glatte Karosserie. Auf dem Dach saßen mehrere Kameras und flache Sensoren, die sich kaum sichtbar in das Design einfügten.

Lena öffnete die Beifahrertür. „Dann steig ein. Ich sitze heute hinter dem Steuer.“

Daniel hob überrascht die Augenbrauen. „Du fährst selbst?“

„Ich überwache das System. Das ist nicht dasselbe.“ Sie setzte sich auf den Fahrersitz und legte die Hände locker auf das Lenkrad. „Das Auto übernimmt die meisten Aufgaben. Ich kann aber jederzeit eingreifen.“

Daniel nahm neben ihr Platz. Im Innenraum gab es nur wenige Schalter. Ein breites Display erstreckte sich über das Armaturenbrett, doch zunächst blieb es dunkel.

„Wie viele Sensoren benutzt das Fahrzeug?“, fragte Daniel.

„Vierzehn Kameras, sechs Radar-Module und drei Lidar-Einheiten“, erklärte Lena. „Dazu kommen GPS, digitale Karten, Ultraschallsensoren und eine ständige Überwachung des Fahrzeugzustands. Die KI kombiniert alle Daten zu einem Modell der Umgebung.“

„Und wie entscheidet sie, was sie tun soll?“

„Nicht wie ein Mensch, der spontan denkt: Dort ist ein Fahrradfahrer, ich bremse. Das System verarbeitet viele Datenströme gleichzeitig. Es erkennt Objekte, berechnet deren Bewegungen und erstellt mehrere mögliche Zukunftsszenarien. Für jedes Szenario bewertet es Sicherheit, Verkehrsregeln, Komfort und die Wahrscheinlichkeit von Fehlern.“

Daniel schnallte sich an. „Das klingt nach ziemlich viel Verantwortung für ein System, das niemand direkt verstehen kann.“

Lena lächelte. „Genau deshalb habe ich die innere Stimme eingebaut.“

„Die innere Stimme?“

„Eine verständliche Darstellung der wichtigsten Wahrnehmungen und Entscheidungen. Keine geheimen Gedanken, sondern eine technische Übersetzung der Prozesse.“

Sie tippte auf das Display. Über der Windschutzscheibe leuchtete plötzlich eine transparente Anzeige auf. Auf dem Head-up-Display erschienen grüne Linien auf der Straße, kleine Markierungen um parkende Fahrzeuge und gelbe Umrisse um Fußgänger.

Darunter stand:

UMGEBUNG ERKANNT:
Fahrbahn frei.
Parkendes Fahrzeug, Entfernung 18 Meter.
Fußgänger am linken Gehweg, Bewegungsrichtung: parallel zur Fahrbahn.
Geschätzte Geschwindigkeit: 5 Kilometer pro Stunde.

Daniel beugte sich leicht nach vorn. „Das wird direkt auf die Scheibe projiziert?“

„Ja. Die Anzeige bleibt im Sichtfeld, ohne den Fahrer abzulenken. Du kannst die Informationen auch hören.“

Lena drückte eine Taste am Lenkrad. „Fahrzeug, beschreibe deine aktuelle Umgebung.“

Eine ruhige, geschlechtsneutrale Stimme antwortete aus den Lautsprechern:

„Ich erkenne eine zweispurige Zufahrt. Die zulässige Geschwindigkeit beträgt dreißig Kilometer pro Stunde. Ein Lieferwagen nähert sich von rechts. Abstand: vierundzwanzig Meter. Zwei Fußgänger befinden sich auf dem Gehweg. Keine Hindernisse auf der geplanten Fahrspur.“

Daniel sah Lena an. „Du kannst einfach mit dem Auto sprechen?“

„Ja. Das Sprachmodul ist nicht nur für Befehle gedacht. Es erlaubt mir, die Wahrnehmung des Systems abzufragen.“

„Fahrzeug, warum reduzierst du die Geschwindigkeit?“, fragte sie.

„Ein Kind steht neben einem geparkten Fahrzeug. Aufgrund der eingeschränkten Sicht besteht die Möglichkeit, dass es die Fahrbahn betritt. Ich reduziere die Geschwindigkeit auf fünfzehn Kilometer pro Stunde und verschiebe die geplante Fahrlinie nach links.“

Das Auto setzte sich langsam in Bewegung. Auf dem Head-up-Display wanderte eine blaue Linie über die Straße. Der Wagen folgte ihr mit sanften Lenkbewegungen.

Daniel verschränkte die Arme. „Du hast das alles programmiert?“

„Ich habe die Wahrnehmungs- und Erklärungsschicht entwickelt. Das Fahrverhalten selbst basiert auf mehreren neuronalen Netzen und regelbasierten Sicherheitsmodulen. Wichtig ist, dass die KI nicht nur erkennt, sondern ihre Unsicherheit mitteilt.“

„Kann sie das?“

„Frag sie.“

Daniel blickte auf die Straße. Ein Fahrradfahrer fuhr zwischen zwei parkenden Autos hervor.

„Fahrzeug, wie sicher bist du bei der Erkennung des Fahrradfahrers?“

„Erkennungssicherheit: siebenundneunzig Prozent. Bewegungsprognose: achtundsiebzig Prozent. Mögliche Abweichung nach links. Ich halte an.“

Das Auto bremste kontrolliert und blieb stehen. Der Fahrradfahrer überquerte die Einfahrt, ohne die beiden Insassen zu bemerken.

Daniel atmete aus. „Die Erklärung ist tatsächlich hilfreich. Sie sagt nicht einfach nur, was sie tut, sondern auch, wie sicher sie sich ist.“

„Das ist entscheidend“, sagte Lena. „Menschen müssen verstehen, wann sie dem System vertrauen können und wann nicht. Eine KI darf keine falsche Sicherheit erzeugen.“

„Und wenn du nicht eingreifen würdest?“

„Dann würde das Auto nach seinen Sicherheitsregeln handeln. Aber ich bleibe verantwortlich. Deshalb muss ich jederzeit aufmerksam sein.“

Auf dem Display erschien eine neue Meldung:

FAHRRADFAHRER PASSIERT.
Fahrbahn wieder frei.
Geplante Route wird fortgesetzt.

Lena sah Daniel kurz an. „Noch eine Frage?“

„Ja“, sagte er. „Kannst du ihr auch sagen, wohin sie fahren soll?“

„Natürlich.“ Sie lächelte und wandte sich an das Fahrzeug. „Bring uns zu dem Ort, an dem du zum ersten Mal selbstständig eine Entscheidung getroffen hast.“

Für einen Moment schwieg die KI.

Dann antwortete sie: „Zielangabe ist unklar. Meinst du das Testgelände?“

Daniel lachte. „Sie kann also doch nicht alles.“

„Noch nicht“, sagte Lena und gab leicht Gas. „Aber sie lernt, bessere Fragen zu stellen.“

Lemmings ist np vollständig

Ort: Kaffeeküche des Instituts für Theoretische Informatik, Universität Bonn
Zeit: Ein verregneter Nachmittag im November 1994

(In der Ecke brummt ein IBM PS/2. Rainer, Anfang 30, kurbelt aufgeregt am Manuskript-Stapel in seinen Händen. Thomas, Ende 40, gießt sich kochendes Wasser über seinen löslichen Kaffee.)

Rainer: Thomas, stell die Tasse weg. Das hier verändere die Informatik grundlegend! Ich habe letzte Nacht die korrigierten Fahnen meines Papers fertiggestellt. Der mathematische Beweis steht.

Thomas: (seufzt) Rainer, du hast drei Wochen lang nichts anderes getan als auf deinem Amiga diese kleinen Pixelmännchen mit grünen Haaren über den Bildschirm zu scheuchen. Sag mir bitte nicht, dass dein wissenschaftlicher Durchbruch auf Lemmings basiert.

Rainer: Genau das tut er! Hör zu. Ich habe das Wegfindungs- und Ressourcenallokationsproblem in Lemmings formalisiert. Überlegung: Du hast eine endliche Menge von Agenten, beschränkte Fertigkeiten – Basher, Builder, Blocker – und eine dynamische Topologie. Ich habe eine Reduktion konstruiert: Das allgemeine Lemmings-Entscheidungsproblem lässt sich direkt auf das Erfüllbarkeitsproblem der Aussagenlogik, auf 3-SAT, reduzieren!

Thomas: (blinzelt) Du hast bewiesen, dass ein Computerspiel von DMA Design NP-hart ist?

Rainer: Genau! Besser gesagt: Das Lösen eines Lemmings-Levels in optimaler Zeit ist ein Problem aus der Klasse der NP-harten Probleme. Da P!=NP gilt – und davon gehen wir alle aus –, gibt es keinen Algorithmus, der in polynomieller Zeit die optimale Route für beliebig große Level berechnen kann. Die Zahl der möglichen Zustände wächst exponentiell. Ein Rechner bräuchte für ein komplexes Level mehr Rechenschritte, als es Atome im Universum gibt!

Thomas: Schon faszinierend, Rainer. Eine nette mathematische Spielerei für die Zeitschrift für Angewandte Mathematik. Aber warum schaust du mich an, als hättest du gerade das Feuer erfunden?

Rainer: Weil die Implikation gigantisch ist! Bedenke doch, was die KI-Enthusiasten in MIT und Stanford behaupten: Sie wollen ein System bauen, das die menschliche Kognition simuliert. Sie träumen von "intelligenten Agenten", die reale Umgebungen analysieren, Entscheidungen in Echtzeit treffen und Probleme lösen.

Thomas: Und wo ist der Widerspruch?

Rainer: Die reale Welt ist um ein Vielfaches komplexer als ein zweidimensionales Lemmings-Raster! Ein dreijähriges Kind schaut auf den Bildschirm, sieht die Gruben und Hindernisse und begreift innerhalb von zwei Minuten intuitiv, wie es drei Lemminge retten kann. Ein menschliches Gehirn löst dieses NP-harte Problem spontan, durch Intuition, Gestaltwahrnehmung und heuristisches Verständnis.

Thomas: Der Mensch nutzt eben Faustregeln, Rainer. Keine exakten Berechnungen.

Rainer: Aber ein Computer kann nur exakt rechnen! Er hat kein Bewusstsein, keine Intuition. Er muss den Zustandsraum absuchen. Wenn ein Algorithmus schon an einem deterministischen, hochgradig vereinfachten 256x128-Pixel-Level mathematisch an der exponentiellen Laufzeitmauer zerschellt, wie soll eine Maschine je die chaotische, kontinuierliche Realität erfassen?

Thomas: Er könnte Approximationen nutzen. Künstliche Neuronale Netze, wie Rumelhart und McClelland sie beschreiben...

Rainer: (winkt ab) Ach, Backpropagation! Das sind doch nur lineare Algebra-Tricks auf Supercomputern. Wenn das zugrundeliegende Entscheidungsproblem der Welt NP-hart ist, verfängt sich jedes neuronale Netz in lokalen Minima oder braucht unendlich lange zum Konvergieren. Ein Computer kann niemals "denken", weil Denken bedeutet, NP-harte Strukturen ohne exponentiellen Rechenaufwand zu durchdringen. Meine Arbeit zeigt klar: Eine echte Künstliche Intelligenz ist auf siliziumbasierten Architekturen mathematisch unmöglich. Es ist eine funktionale Sackgasse!

Thomas: (schaut auf den Stapel) Und du meinst wirklich, die Gutachter nehmen eine AI-Widerlegung auf Basis von Pixel-Tieren an?

Rainer: Die Mathematik ist unbestechlich, Thomas! Ich habe 40 Seiten Reduktionsbeweise mit Schaltelementen und Tunnel-Gadgets geführt. Wenn die Redaktion das akzeptiert, ist der KI-Hype der letzten Jahrzehnte offiziell widerlegt. Wir können die Lehrstühle für Expertensysteme dichtmachen und das Geld wieder in die ehrliche, mathematische Numerik stecken.

Thomas: Nun gut. Aber bevor du die KI-Forschung abschaffst: Kann dein Beweis mir erklären, wie ich Level 12 auf dem Amiga schaffe? Ich hänge da seit Montag.

Rainer: (schmunzelt) Das ist das Schöne daran: Nein. Du musst dein Gehirn benutzen, Thomas. Denn eine Maschine wird es für dich niemals ausrechnen können.

September 01, 2026

From mathematics to non mathematics in robotics

 

The classification matrix shows algorithms on two categories: a) mathematics to linguistics and b) batch to interactive processing. Artificial Intelligence in the past was influenced by the bottom left section based on optimization algorithms like PSO and search algorithms like RRT. These algorithms are useless for advanced robot control so there was a need to invent more advanced techniques.

Advanced means that at first the former focus on mathematics was replaced by a linguistics paradigm. Early examples were ontologies, OWL and knowledge graph. And second the former batch oriented paradigm was replaced by interactive systems. An example which combines both is voice control robotics which is based on interactive with a human user and by natural language.

Voice control was popular in the 2010 for example in the MIT forklift robot and has evolved in more recent vision language action models based on neural networks available since 2025. These state of the art robot control algorithms are located top right in the chart.

Let us take a closer look into the figure. Algorithms in the past were designed with a certain purpose. For example simulated annealing allows to find the local minimum for a cost function which is the correct algorithms more most mathematical optimiziation problems. Other concepts like ontologies were designed to capture domain specific knowledge. It allows a computer to access human knowledge.

The problem with these algorithms was, that they are not powerful enough. Its not possible to use them directly for robot control. Its unclear how a certain robot OWL ontology has to look like and an algorithms like potential field has a very long runtime. So there is a need to develop a new sort of algorithm which is located in a different section of the figure.

This missing Quadrant is located on top right in the figure at the interaction of linguistics + interactive. Such kind of algorithms are very powerful and are new developments. ITs possible to use them for robot control. Their inner working is based on linguistics on the one hand that means, domain knowledge isn't stored in numbers but in words, and secondly they are based on external feedback loops realized with interactive control. That means, a human operator gives a textual command to the robot like "move north and stop".

If these algorithms are labeled with a single term it would be "voice control". These algorithms are working very different from classical AI algorithms in the past because there is no mathematical optimiziation problem and there is no semantic network or knowledge graph available anymore. Instead the algorithm acts as a parser. Its an interface between man and machine. 

Rückblick auf 70 Jahre KI Geschichte

 Seit der Erfindung des Computers in den 1950er Jahren gab es parallel dazu eine philosophische Debatte über Künstliche Intelligenz und Robotik. Demnach blickt die Erforschung künstlicher Intelligenz auf eine rund 70 jährige Geschichte zurück, worin Mathematiker und Programmierer aus mehreren Generationen mitgewirkt haben.

Das ungelöste Problem in diesem Zeithorizont war die kombinatorische Explosion des Suchraums. Bereits die ersten Schachprogramme in Software waren von der Größe des game trees (=Suchbaums) überfordert. Es gab große Anstrenungen mit Hilfe von Bewertungsfunktionen, schnellen Algorithmen und besserer Hardware die kombinatorische Explosion zu überwinden aber es gelang nicht. Die aufkommende Robotik war von dem selben Hinderniss blockiert. Man kann anhand des piano movers und mittels motion planning Aufgaben zeigen, dass auch hier der Suchbaum sehr groß ist und gegen unendlich geht wodurch es nicht möglich ist für einen Computer eine Entscheidung zu treffen was in einer Situation zu tun ist.

Theoreitsch gesehen kann man künstliche Inteliigenz dadurch realisieren indem man den Suchbaum durchprobiert um die beste Aktion zu finden, nur dauert das je nach Domäne Jahre bis Jahrzehnte auf aktueller Computerhardware. Eine KI Software die jedoch nur ausgibt, dass sie nachdenkt, aber keine Antwort liefert ist praktisch nutzlos.

Die kombinatorische Explosion ist ein Fakt den die Künstliche Intelligenz seit ihren Anfängen begleitet hat. Man kann für ein konkretes Computerspiel wie Schach, Lemmings oder Autorennen im Detail berechnen wie umfangreich der Suchbaum jeweils ist, anderer Forscher können diese Berechnung überprüfen und gelangen zum selben Ergebnis, nur dadurch wird das Problem nicht gelöst sondern es gibt lediglich einen Konsens darüber dass die Aufgabe unlösbar ist.

Es ist verständlich warum einige KI Forscher in der Vergangenheit vermuteten, dass Künstliche Intelligenz vielleicht nicth realisierbar ist auf einem Computer. Das es also ähnlich wie ein Perpetuum mobile ein Naturgesetz gibt wonach denkende Maschinen nur in der Science Fiction möglich sind. Es gibt in der Informatik sogar ein Pendant zum Energieerhaltungssatz und zwar die Vermutung P!=NP, was diese Vermutung auf eine mathematische Grundlage stellt. Was man gesichert annehmen kann ist dass es keine mathematische Lösung gibt für KI Probleme wie das piano movers problem. Sondern dass die Lösung außerhalb der Mathematik zu suchen ist.

Die Mathematik verwendet als wichtiges Werkzeug das Zahlensystem sowie Algorithmen die auf den Zahlen angewendet werden. Mit diesem Werkzeugkasten lassen sich bestimmte Aufgaben lösen und andere nicht. Leider liegen KI Probleme wie die Steuerung von robotern oder das automatische Spielen von Computerspielen in jener Klasse von Problemen für die es keine mathematischen Lösungsverfahren gibt. Selbst neuartige propabilistische sampling Verfahren wie RRT sind nicht leistungsfähig genug für motion planning Probleme. Die einzige Methode um KI Aufgaben zu lösen wäre eine generalisierte Heuristik. Allerdings hat die Erforschung der KI in über 70 Jahren keine solche Metaheuristik finden können.

Um den Pessimismus zu verstärken hier einige Versuche aus der Vergangenheit Robotikprobleme zu lösen, die sich jedoch als nicht leistungsfähig genug erwiesen haben:

1. Pfadplanung mit A* Graphensuche
2. Dynamische Programmierung nach Richard Bellman 
3. STRIPS plannungsalgorithmus
4. potential field method
5. genetische Algorithmen
6. Simulated Annealing
7. Expertensysteme
8. Ant Colony Optimization
9. Partikelschwarm-Optimierung
10. Neuronale Netze
11. Probabilistische Roadmaps
12. Rapidly-exploring Random Trees

Anzahlmäßig gab es also mehrere Ansätze die als metaheuristik angepriesen wurden, allerdings in der Praxis gescheitert sind. Keiner der Verfahren ist in der Lage die kompbinatorische Explosion zu vermindern. Das bedeutet konkret, dass sobald man z.b. einen Simulated Annealing Algorithmus startet um die Greifplanung eines Roboters durchzuführen, dass dieser Algorithm 100% der CPU Leistung benötigt und nach 1 Woche Rechenzeit immernoch keine Antwort gefunden hat.

Das eigentliche Problem mit den obigen Verfahren ist dass sie alle mathematisch orientiert sind. Sie versuchen ein optimierungsproblem zu lösen was als unlösbar bekannt ist. Die neueren Verfahren wie Partikelschwarm-Optimierung arbeiten dabei mit statistischen Ungenauigkeiten um so den Suchraum zu verkleinern, trotzdem bleiben sie innerhalb des mathematischen Horizonts verhaftet.

Das vermutlich höchst-entwickelteste Verfahren in der Liste sind neuronale Netze die eine eigene Kategorie bilden und viele Unterbereiche aufweisen. Es gibt mehrere Neuronale Netze mit vielen Lernverfahren. Aber auch hier gelang es nicht, Roboter zu steuern, grund ist dass der Rechenaufwand zum Finden der richtigen Gewichte für das Netz zu lange dauert und das unklar ist wie lange man genau warten muss bis ein neuronales Netz konvergiert.

Ein hochentwickeltes Verfahren ist Neuroevolution of augmenting topologies (NEAT) aus dem Jahr 2002 was genetische Algorithmen mit neuronalen Netzen kombiniert und in der Theorie eine Metaheuristik ist mit der jedes Optimierungsproblem gelöst werden kann. Allerdings nur theoretisch, in der Praxis scheitert NEAT an der hohen Rechenzeit.

Die Grafik zeigt unterschiedliche Verfahren innerhalb eines Koordinatensystems da. Klassische optiimierungsalgorithmen sind mathematisch und batch orientiert zugleich. Es wird ein Zahlenproblem gelöst ohne dass von außen der Nutzer eingreifen kann.

Im Gegensatz dazu sind Sprachorientierte verfahren wie Ontologien nicht länger zahlenbasiert, aber setzen immernoch voraus dass der Roboter die Lösung von allein findet und zwar mit Hilfe eines semantic networks. 

Das neueste und mächtigste Verfahren "voice control" ist einerseits linguistisch orientiert und zugleich interaktion. Ein Menschlicher Benutzer gibt dem Roboter von Außen Kommandos in natürlicher Sprache.
 

Pong game with textual comments

 

August 31, 2026

Chatbot interaction for autonomous driving

 

Human (H): Hey AI, are you ready?

AI Chatbot (SDC): All systems are go, Sarah. Departure to 123 Tech Drive is scheduled. Route is optimized for traffic. Please confirm your destination.

H: Tech Drive, yes. Before we pull out, can you give me a status check on what you see right now?

SDC: Acknowledged. I am currently situated on Main Street. My sensor fusion is active: LiDAR and radar are creating a precise 3D map.
I have detected four immediate objects:

    Object 1 (OB-01): Green Sedan, stationary, parked curb-side.

    Object 2 (OB-02): Moving pedestrian, walking on the sidewalk to our right, 1.2 m/s.

    Object 3 (OB-03): Blue SUV, moving toward us, left-hand lane, 35 km/h.

    Object 4 (OB-04): A bicycle is emerging from behind OB-01.

H: Wait, I don’t see a bicycle.

SDC: The cyclist is partially occluded. My radar detected the micro-Doppler signature. Object classification has confirmed a bicycle (confidence: 94%).

H: Okay. So how do you plan to handle this? What are your rules here?

SDC: My planning module has established a probabilistic corridor.
Rule application is as follows:

    Rule: Pedestrian Right-of-Way: Object OB-02 must be monitored; I will yield if their trajectory intersects my lane.

    Rule: Obstacle Avoidance: I must navigate around OB-01 (the parked sedan).

    Rule: Unsafe Overtaking: The emerging bicycle (OB-04) creates an dynamic obstacle. I cannot accelerate into the main lane until OB-04 has cleared my immediate boundary.

H: So you're going to wait.

SDC: Correct. Wait time: 3.5 seconds. My plan is to maintain Status: Stationary until OB-04 merges safely or clears.

H: Understood. New Command: When it’s clear, I want you to immediately do a lane change to the left. Skip the lane we are in.

SDC: Processing. Command conflict.
Re-evaluating planning.
My current traffic rules prohibit a double lane change within 50 meters of an intersection. The crossroad is 25 meters ahead.
A rapid double lane change (Lane 1 -> Lane 2 -> Lane 3) would also violate my Passenger Comfort & Stability parameters (lateral acceleration limit: 2.0 m/s²).

H: Okay, I get it. Compliance and comfort first.

SDC: Cyclist (OB-04) has cleared. Obstacle (OB-01) can now be navigated. I will execute a Single Lane Change Left to enter traffic. Status: Moving.


August 30, 2026

Grounded language for a geometric card game


 The picture shows a 4x4 grid in which random geometric shapes are visible, on the bottom there is a textbox to interact with the software. The parser recognizes simple commands like "row 1", "green" or "blue circle". These commands will highlight the desired objects in the GUI.

Technically the system was designed around a chatbot. At first, a parser gets programmed which understands a list of commands, and then the parser will execute actions which are visible on the screen.

Its called grounded language because all the commands are referencing to the 4x4 grid visible on the screen. If the user enters a color like "blue", the software will select all the blue objects in the screen. This interaction proofs a share understanding, that menas the term "blue" means the same for the human user and the AI.

August 29, 2026

Color naming game in python

 

To demonstrate grounded language an interactive dialogue with a chatbot is a good starting point. In a minimal example the dialogue is about a 4x4 grid in which colored objects are visible. After entering a keyword "green triangle" the AI in the game highlights all the found objects. The user can also ask for a column with "col2".

The parser in the software analyzes the input, matches the request with the current game state and responds with a text on the command line and the highlighted objects.


The limitation of the AI is located in the amount of words. The current parser understands only simple words like "row1, col2, green, red, blue, triangle, circle, rectangle". Spatial commands like "left, right" are missing. So its not possible to enter a command like "left col2 row2", the AI doesn't understand that the user is referencing to the object left from col2/row2. Also more advanced color names like "light blue, dark brown" and so on are also missing.

The discourse is restricted to the previously mentioned basic vocabulary which. The advantage is that this restriction allows to limit the lines of code for the software to only 250.