Home Credits Impressum more

ReimSY

26.09.2024

ReimSY ist eine kleine und einfach anwendbare Open-Source-Programmierklasse in JavaScript, mit der man logische Abhängigkeiten als Tabelle darstellen und auswerten lassen kann.

Sie können das Tool hier direkt ausprobieren. Sie können Beispiele auswählen und einfach modifizieren. Die Reihenfolge der Zeilen spielt keine Rolle.

Wenn Sie sich für die Grundidee interessieren, finden Sie unten einige Hinweise.




Ausgabe

Grundidee

Jede Zeile der Tabelle besteht aus einem Propositionalteil (die ersten drei Wörter) und einem Konditionalteil (die letzten drei Wörter). Propositional- und Konditionalteil sind immer gleich aufgebaut. In der Mitte steht ein logisches Wort, wie z. B. „wenn“. Die Reihenfolge der Aussagen spielt keine Rolle.

Die Prädikate und deren Implikationen lassen sich je nach Fachbereich selbst definieren. Ein Beispiel, das die Leistungsfähigkeit aufzeigt, ist Nummer 6:


%A	hat Eigenschaft	%B	und-wenn	%A	ist vom Typ	%C
%A	hat Eigenschaft	%B	und-wenn	%C	hat Eigenschaft	%B
 

Auch wenn das Beispiel etwas kompliziert wirkt, ist der Zusammenhang einfach. Man schließt vom einer Typisierung (z.B. Mensch) auf eine Eigenschaft (z.B. sterblich). Natürlich ist das Prinzip auch in der Alltagslogik und in der Technik allgegenwärtig.

Mathematische Aussagen werden ganz simpel nach einer Einsetzungsmethode ausgewertet.

Weitere allgemeine Aspekte

Im schulischen und im universitären Bereich drückt man logische Zusammenhänge oft durch eine Klammerschreibweise aus. Durch Verschacheltung kann es unübersichtlich werden. Hinzu kommt, dass es Klammern eigentlich in der Alltagssprache nicht gibt. Falls es unübersichtlich wird, kann man auch Filter- und Sortier-Funktionen in der Tabelle nutzen, denn die Reihenfolge der Aussagen spielt keine Rolle.

Hinweise für Programmierer:

Der Code besteht aus ca. 700 Zeilen und kann auf GitHub heruntergeladen werden.

Instanz erzeugen


let demo = new ReimSY("de");
 

Aussagen hinzufügen und auswerten

Beispiel 1:


demo.add("Gerät", "Zustand", "eingeschaltet", "wenn", "LED", "leuchtet", "grün");
demo.add("LED", "leuchtet", "grün");
let result = demo.evaluate();
console.log(result); // [["LED", "leuchtet", "grün"], ["Gerät", "Zustand", "eingeschaltet"]]
 

Weitere Hinweise:

Es werden standardmäßig 5 logische Iterationen durchlaufen. Diese könnten über die Variable numberOfLoops erhöht werden.