Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:machine_learning:mljs:markow:start [19.02.2025 18:56] – Frank Schiebel | faecher:informatik:oberstufe:machine_learning:mljs:markow:start [19.02.2025 20:52] (aktuell) – [Die wichtigsten Bestandteile:] Frank Schiebel | ||
---|---|---|---|
Zeile 159: | Zeile 159: | ||
Vollziehe am Wort '' | Vollziehe am Wort '' | ||
+ | |||
+ | Du kannst das mit dem Markow-Texter überprüfen, | ||
++++ Hilfestellung: | ++++ Hilfestellung: | ||
Zeile 171: | Zeile 173: | ||
++++ | ++++ | ||
+ | ++++ Hilfestellung: | ||
+ | {{ : | ||
+ | ++++ | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | |||
+ | <code java> | ||
+ | /** | ||
+ | * | ||
+ | */ | ||
+ | public String erzeugeText(String anfang, int laenge) { | ||
+ | |||
+ | String aktuellerZustand = anfang; | ||
+ | StringBuilder resultat = new StringBuilder(anfang); | ||
+ | |||
+ | for (int i = 0; i < laenge; i++) { | ||
+ | char naechstesZeichen = zufaelligerUebergang(aktuellerZustand); | ||
+ | aktuellerZustand = aktuellerZustand.substring(1) + naechstesZeichen; | ||
+ | resultat.append(naechstesZeichen); | ||
+ | } | ||
+ | return resultat.toString().replaceAll(" | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * Wählt ein zufälliges Folgezeichen. Die Häufigkeit der Zeichen wird | ||
+ | * nicht berücksichtigt. | ||
+ | */ | ||
+ | char zufaelligerUebergang(String aktuellerZustand) { | ||
+ | Map< | ||
+ | |||
+ | if(folgeZeichen != null) { | ||
+ | // Zufalsgenerator initialisieren | ||
+ | Random generator = new Random(); | ||
+ | // Die Keys der HashMap in ein Array umwandeln. Diese Methode | ||
+ | // funktioniert nur, wenn alleZeichen eine Array vom Typ | ||
+ | // Object ist. | ||
+ | Object[] alleZeichen = folgeZeichen.keySet().toArray(); | ||
+ | // mit generator.nextInt(alleZeichen.length) wird eine Zufallszahl erzeugt | ||
+ | // die über den Index ein zufälliges Element auswählt. | ||
+ | // Bevor das Element zurückgegen werden kann, muss es nach char | ||
+ | // gecastet werden. | ||
+ | return (char) alleZeichen[generator.nextInt(alleZeichen.length)]; | ||
+ | } else { | ||
+ | return ' '; | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A4) === | ||
+ | |||
+ | Vollziehe nach wie das Erzeugen von Texten abläuft. | ||
+ | |||
+ | * Erstelle eine Methode '' | ||
+ | * Für Fortgeschrittene: |