Überfordert...? Gelangweilt...? → Beteilige Dich an Diskussionen oder sage uns, was gut bzw. schlecht ist, in der → 3-Minuten-Umfrage.
Definiere den Startzustand s0, Endzustände F und das input-Wort im Deklarationsbereich.
Tipp: Regeln können zusammengefasst werden, auf der rechten Seite, der linken oder beiden:
→ Mehr Hilfe zu 'Endlicher-Automat'...
oder 'von s0 ohne die Eingabe zu lesen...' als: (s0, lambda, k) => (s1, abck);
Definiere den Startzustand s0, Endzustände F, das Kellersymbol kSymb und input-Wörter im Deklarationsbereich.
→ Mehr Hilfe zu 'Kellerautomat'...
Definiere den Startzustand s0, Endzustände F, das blank-Symbol und input-Wörter im Deklarationsbereich.
→ Mehr Hilfe zu 'Turingmaschine'...
Grammatiken können in zwei Modi betrieben werden (Gesamtbaum oder Parsebaum).
Beachte: Das leere Wort heißt epsilon, nicht lambda, in Grammatik-Skripten.
→ Mehr Hilfe zu 'Grammatik'...
Beispiel: (((((a+b).b)*.c).d)+O)oder äquivalent: ((a+b)b)*cd
Die Ausgabe wird automatisch durch einige Standard-Operationen vereinfacht. Um auch das Skript zu vereinfachen, klicke auf vereinfache (ein bisschen) .
→ Mehr Hilfe zu 'Regulärer-Ausdruck'...
→ Mehr Hilfe zu '2-3-4-Baum'...
→ Mehr Hilfe zu 'Rot-Schwarz-Baum'...
Beginne mit linalg:. Definiere Matrizen als A = [1 2; 3 4] und Spaltenvektoren als v = (1, 2), mit einer Anweisung pro Zeile. w = A * v, A^T und A^-1 beschreiben Operationen. Operatoren koennen markiert werden: C = A * @product B. operation=product; step=0; im Deklarationsblock zeigt das anfangs leere Ergebnis. Jeder Schritt addiert ein skalares Produkt zur laufenden Summe (m*n*k Schritte); leere Eintraege bleiben von Nullen unterscheidbar. step=-1 zeigt das Endergebnis, Multiplikation animieren erstellt eine SVG-Klickanimation. Markernamen muessen eindeutig sein; Namen mit Leerzeichen stehen in Anfuehrungszeichen, z.B. @"mein Produkt", und werden im Deklarationsblock URL-kodiert (operation=mein+Produkt;). Fuer MLP-Trainingsanimationen definiere x, target, Gewichte und Bias, dann mlpLayers=#W1,b1,tanh;W2,b2,sigmoid#; mlpStep=0; im Deklarationsblock. MLP-Ziele koennen Skalare (target=0.8) oder Zeilen-/Spaltenvektoren (z.B. target=[0.3,0.7]) sein; intern werden sie zu Spaltenvektoren. MLP-Training animieren zeigt Netzwerk und nur die zur aktuellen Rechnung passenden Matrizen, ein Neuron pro Schritt, mit Vorwaertslauf, Backpropagation, einem SGD-Schritt und einem weiteren Vorwaertslauf zum Vergleich alter und neuer Aktivierungen. Jeder Schritt erklaert die Rechnung; der Loss-Schritt vergleicht Vorhersage und Ziel und erklaert mittleren quadratischen Fehler oder Kreuzentropie. Konversionsbuttons erscheinen nur bei passendem Skript: MLP-Steuerung braucht MLP-Deklarationen, Multiplikationssteuerung ein markiertes Matrixprodukt; am letzten Schritt wird Weiter ausgeblendet. Mit svgHeight=800; im Deklarationsblock startet die Web-Ausgabe hoeher (Pixel; 0 behaelt den Standard). Dies gilt fuer alle Diagrammtypen; manuelles Vergroessern bleibt moeglich. Aufrufe wie det(A), rank(A), span(A), eigenvalues(A) und eigenvectors(A) liefern wiederverwendbare Ergebnisse. DesignMatrix(x, degree) erstellt die Matrix der Polynomregression $(1,x_i,\ldots,x_i^{degree})$ (Grad 0 bis 12); showPlot=true zeigt jede Potenzfunktion als Kurve mit den Stichprobenpunkten. DesignMatrix(x, degree, y) passt zusaetzlich das Kleinste-Quadrate-Polynom an die Werte y an und zeichnet es (blau) mit den Datenpunkten (rot) und Residuen. svd(A) und evd(A) zeigen ihre Zerlegungen an Ort und Stelle. mean(data), variance(data) und std(data) berechnen Statistiken; ein grosser Anfangsbuchstabe zeigt die Rechenschritte. Klassifikation und Wahrscheinlichkeit: precision(tp, fp), recall(tp, fn) und bayes(prior, likelihood, evidence). binomial(n, p, k) und poisson(lambda, k) liefern P(X=k). Neuronale Netze nutzen dense(W, X, b), relu(Z), sigmoid(Z), tanh(Z), softmax(Z) und explizite Backward-Funktionen. Grosser Anfangsbuchstabe erklaert die Grundlagen; showPlot=true zeigt auch Aktivierungs-/Steigungskurven und Softmax-Klassenanteile. Mit showPlot=true im Deklarationsblock werden 2D-/3D-Objekte und empirische Histogramme mit Mittelwert und Standardabweichung gezeichnet.
linalg:
A = [1 2; 3 4]
v = (1, 2)
w = A * v
A^T
A^-1
C = A * @product B
operation=product; step=0;
step=-1
@"mein Produkt"
operation=mein+Produkt;
x
target
mlpLayers=#W1,b1,tanh;W2,b2,sigmoid#; mlpStep=0;
target=0.8
target=[0.3,0.7]
svgHeight=800;
det(A)
rank(A)
span(A)
eigenvalues(A)
eigenvectors(A)
DesignMatrix(x, degree)
showPlot=true
DesignMatrix(x, degree, y)
y
svd(A)
evd(A)
mean(data)
variance(data)
std(data)
precision(tp, fp)
recall(tp, fn)
bayes(prior, likelihood, evidence)
binomial(n, p, k)
poisson(lambda, k)
dense(W, X, b)
relu(Z)
sigmoid(Z)
tanh(Z)
softmax(Z)
→ Mehr Hilfe zu 'Lineare Algebra'...
Die Benennung der Variablen kann angepasst werden, indem vorne a,b,c,... eingefügt wird.
→ Mehr Hilfe zu 'BDD'...
→ Mehr Hilfe zu 'Huffman-Code'...
→ Mehr Hilfe zu 'Schaltkreis'...
→ Mehr Hilfe zu 'Zahlen'...
Wenn formulaMode=true eingestellt ist (im Deklarations-Bereich), dann ist der Mathe-Modus eingeschaltet. Alles außen herum (Package-Deklarationen, \documentclass, \begin{document} usw.) fallen in diesem Fall weg.
Latex-Code kann aus allen auf Latex basierenden Skripten generiert werden, indem auf den Button zeige generator-code geklickt wird.
Beachte: Im Augenblick kann nur der Graphviz-'dot'-Prozessor genutzt werden.