Sprachproblem: Verständnis



  • Weshalb ich gemeint habe, dass die Klammerung anders gemeint ist.

    Du meinst also, dass die Klammerung so gemeint war: (n+m)%2=0.

    Falls ja, dann haben wir aneinander vorbei geredet. Der Automat von mir für dies Klammerung ist aber anscheinend falsch, weil er auch 0011 erkennt.



  • vip@r schrieb:

    Der Automat von mir für dies Klammerung ist aber anscheinend falsch, weil er auch 0011 erkennt.

    Nicht nur das. Er akzeptiert z. B. auch 100110.



  • Hm, dann is der Automat wohl schon wieder mal völliger Unsinn... Wie soll ich da dann weiter rangehen? Ich muss halt irgendwie sicherstellen, dass der Automat am Anfang nur Einser liest und danach nur Nullen. Und dann muss ich eben noch reinbringen, dass der Automat entweder bei gleicher anzahl ungerader Nullen und Einsen sowei bei unterschiedlicher Anzahl an Einsen und Nullen aber gerader Summe und bei Einsen und Nullen gerade Anzahl akzept. Leichter gesagt als getan...



  • vip@r schrieb:

    Und dann muss ich eben noch reinbringen, dass der Automat entweder bei gleicher anzahl ungerader Nullen und Einsen sowei bei unterschiedlicher Anzahl an Einsen und Nullen aber gerader Summe und bei Einsen und Nullen gerade Anzahl akzept. Leichter gesagt als getan...

    Erstens: Nullen können nicht ungerade sein.
    Zweitens: Warum drückst du dich so kompliziert aus? Die Gesamtwortlänge soll gerade sein.



  • Ja, wenn nur die Gesamtwortlänge gerade sein soll, dann ist das ja weniger Problem als ich hier vermutet habe. Dann sollte es ja ein Automat der nur gerade Wortlänge erkennt tun. Aber: So ein Automat erkennt ja dann auch 010010, was aber doch laut Sprache gar nicht existieren kann, oder?



  • Du hast einen Automaten, der gerade Wortlängen erkennt. Außerdem hast du afair noch einen Automaten für 1*0* rumliegen. Also brauchst du nur noch die Schnittmenge aus beidem zu bilden und hast einen neuen Automaten für diese Sprache.



  • Außerdem hast du afair noch einen Automaten für 1*0* rumliegen.

    Hab ich das wirklich? 😃

    Aber danke für die Hilfe. Jetzt weiß ich ja wie man da drauf kommen könnte.



  • Hm, Sorry, aber wie sieht denn ein 1*0* Automat aus? Der müsste doch wieder eine unendliche Anzahl an 1 und eine unendliche Anzahl an 0 erkennen, oder?



  • Ich bin mir ziemlich sicher, daß wir den schonmal irgendwo hier hatten. Aber ich versuch's trotzdem nochmal:

    -> [u]A[/u] -0-> [u]B[/u] -1-> C
      ( )    ( )
       1      0
    


  • vip@r schrieb:

    Hm, Sorry, aber wie sieht denn ein 1*0* Automat aus? Der müsste doch wieder eine unendliche Anzahl an 1 und eine unendliche Anzahl an 0 erkennen, oder?

    Was meinst du damit? Meinst du, dass Wörter beliebig viele (nicht unendlich viele) Nullen und Einsen beinhalten können? Wenn ja: Wo ist das Problem?



  • CStoll: Dein Automat verwirft 1^n, n in |N_0.



  • Meinst du, dass Wörter beliebig viele (nicht unendlich viele) Nullen und Einsen beinhalten können?

    Genau das meinte ich; ich hab anscheinend bloß grad das Wort unendlich im falschen Kontext benutzt...

    -> A -0-> [u]B[/u]
      ( )    ( )
       1      0
    

    Ich geh mal davon aus, dass das B akzept. sein soll, oder?



  • Michael E. schrieb:

    CStoll: Dein Automat verwirft 1^n, n in |N_0.

    Sorry, hab's schon korrigiert. Wenn da noch weitere Fehler drin sind, überlasse ich die Viper als Übung 😃



  • Übung ist immer gut 🙂

    Was ich hier jetzt bloß nicht ganz verstehe ist das, was du hier noch ergänzt hast. Für mich wäre der Automat so korrekt gewesen ohne dem zusätzlichen Zustand C.



  • A und B sind beides akzeptierende Zustände (A für den Teil 1^n, auf den mich Michael hingewiesen hat). C ist ein nicht-akzeptierender Auffang-Zustand für Fehl-Eingaben wie "101".


Anmelden zum Antworten