Abo
  1. Foren
  2. Kommentare
  3. Security
  4. Alle Kommentare zum Artikel
  5. › Hacker: Was ist eigentlich ein…

Undefinierter Zustand

  1. Thema
  1. 1
  2. 2

Neues Thema Ansicht wechseln


  1. Undefinierter Zustand

    Autor: twothe 15.06.18 - 09:47

    "Weird State" finde ich etwas unzutreffend, denn der Zustand den ein Programm haben muss um Exploits zuzulassen ist ja nicht merkwürdig, sondern ein solcher, in dem nicht mehr alles so läuft wie geplant. Also ein Zustand, in dem nicht mehr alle möglichen Programmablaufpfade definiert sind.

    Der Klassiker ist ja ein If um festzustellen das man in einem bestimmten erwarteten Zustand ist, aber dann wird das Else vergessen, weil der Zustand ja "total unwahrscheinlich" ist. Unwahrscheinlich heißt aber nicht unmöglich, und dann eines schönen, verregneten Dienstag Nachmittags stürzt das Programm ab.

    Die viel schlimmeren undefinierten Zustände sind die, mit denen keiner gerechnet hat. Beispiel: man nimmt ein String aus einer externen Quelle an, vergisst aber die Länge zu beschränken, weil es auch total unsinnig wäre mehrere GB an Daten über die Schnittstelle einzureichen. Der Fehler wird also aus Menschlichkeit gemacht, der Programmpfad dort wird also als "Quatsch" abgetan. Was er auch ist, aber man vergisst dann, dass eine CPU nicht denkt sondern ausführt, und daher auch genau so doof Quatsch ausführt wie alles andere.

  2. Re: Undefinierter Zustand

    Autor: Tuxgamer12 15.06.18 - 10:39

    twothe schrieb:
    --------------------------------------------------------------------------------
    > "Weird State" finde ich etwas unzutreffend, denn der Zustand den ein
    > Programm haben muss um Exploits zuzulassen ist ja nicht merkwürdig, sondern
    > ein solcher, in dem nicht mehr alles so läuft wie geplant. Also ein
    > Zustand, in dem nicht mehr alle möglichen Programmablaufpfade definiert
    > sind.

    Du denkst auf der völlig falschen Ebene :).

    Du denkst als Programmierer, der in seinem C(++) auf abstrakter Ebene etwas entwickelt - und da spricht man in der Tat von "undefiniertem Verhalten".

    Der Witz ist doch aber, was wir so sagen, formell und mathemtiasch zu definieren. Eben mit diesem endlichen Automaten. Um den Begriff im formellen mal ad absurdum zu führen:

    Definiere mir doch mal "Undefinierter Zustand", wie alles in der Mathematik bzw. theoretischen Informatik. Ah, der "Undefinierte Zustand" ist also doch definiert. Wieso nennen du den dann "undefiniert"?

    Verstehst du? Du kannst doch jeden Prozessorzustand klar betitteln. Dein endlicher Automat ist durch Prozessor + Programm definiert - und da ist es völlig unabhängig, ob du den Automaten zeichnen kannst oder nicht. Es ist auch völlig egal, ob du als Programmierer einen Pfad definiert hast - als Machinencode auf einem Prozessor ist der definiert.
    Da ist von "undefiniert" zu sprechen einfach "komisch".

    Ne, in der Mathematik bzw. theoretischen Informatik ist "weird" für nicht beabsichtigten Zustand ein sehr treffender Begriff. Auch wenn du auf deiner Abstraktionsebene vermutlich das gleiche oder zumindest eine Teilmenge meinst.



    2 mal bearbeitet, zuletzt am 15.06.18 10:42 durch Tuxgamer12.

  3. Re: Undefinierter Zustand

    Autor: bombinho 15.06.18 - 10:56

    Tuxgamer12 schrieb:
    --------------------------------------------------------------------------------
    > Ne, in der Mathematik bzw. theoretischen Informatik ist "weird" für nicht
    > beabsichtigten Zustand ein sehr treffender Begriff. Auch wenn du auf deiner
    > Abstraktionsebene vermutlich das gleiche oder zumindest eine Teilmenge
    > meinst.

    "Weird" steht fuer "unerwartet" und macht insofern durchaus voellig Sinn.

  4. Re: Undefinierter Zustand

    Autor: chefin 15.06.18 - 11:17

    twothe schrieb:
    --------------------------------------------------------------------------------
    > "Weird State" finde ich etwas unzutreffend, denn der Zustand den ein
    > Programm haben muss um Exploits zuzulassen ist ja nicht merkwürdig, sondern
    > ein solcher, in dem nicht mehr alles so läuft wie geplant. Also ein
    > Zustand, in dem nicht mehr alle möglichen Programmablaufpfade definiert
    > sind.

    Das ist aber doch wieder ein geplanter Zustand. Naja..vieleicht nicht im Pflichtenheft so geplant, aber beim Programmieren so geplant. Und die Programmablaufpfade funktionieren sehr wohl wie geplant. Ein Exploid kannst du dir vorstellen wie ein Strassenschild. Es enthält 2 Informationen. Einen Ort und eine Richtung. Die Richtung kann ich nun ändern ohne das es der Nutzer bemerkt. Und schon funktioniert es für den Nutzer weiterhin wie geplant, nur der Programmierer kann sehen, das es unerwartet ist. Unerwartet im Sinne von, ich hätte nicht gedacht das sich jemand die Mühe macht und das Schild so umbaut.

    >
    > Der Klassiker ist ja ein If um festzustellen das man in einem bestimmten
    > erwarteten Zustand ist, aber dann wird das Else vergessen, weil der Zustand
    > ja "total unwahrscheinlich" ist. Unwahrscheinlich heißt aber nicht
    > unmöglich, und dann eines schönen, verregneten Dienstag Nachmittags stürzt
    > das Programm ab.
    >

    Das ist kein else vergessen Problem sondern ein Designproblem des Programmierers. Ein Else wird nur benötigt, wenn der false UND der true etwas verändern sollen. Wenn nur der True etwas auslösen soll und ein False einfach weiter machen, kann man else weglassen.

    Ich glaube das du da die if-anweisung etwas falsch verstehst. ich vermute mal, das du VB programmierst. Den da ist nach dem End ein Prog zuende, da es rein ereignissbasiert arbeitet. Ein Programm also nur das Ereigniss bedient und danach die Kontrolle wieder abgibt.

    Das hat dann allerdings auch garnichts mit dem zu tun, was den exploid ausmacht.

    > Die viel schlimmeren undefinierten Zustände sind die, mit denen keiner
    > gerechnet hat. Beispiel: man nimmt ein String aus einer externen Quelle an,
    > vergisst aber die Länge zu beschränken, weil es auch total unsinnig wäre
    > mehrere GB an Daten über die Schnittstelle einzureichen. Der Fehler wird
    > also aus Menschlichkeit gemacht, der Programmpfad dort wird also als
    > "Quatsch" abgetan. Was er auch ist, aber man vergisst dann, dass eine CPU
    > nicht denkt sondern ausführt, und daher auch genau so doof Quatsch ausführt
    > wie alles andere.

  5. Re: Undefinierter Zustand

    Autor: Tuxgamer12 15.06.18 - 12:57

    bombinho schrieb:
    --------------------------------------------------------------------------------
    > Tuxgamer12 schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > Ne, in der Mathematik bzw. theoretischen Informatik ist "weird" für
    > nicht
    > > beabsichtigten Zustand ein sehr treffender Begriff. Auch wenn du auf
    > deiner
    > > Abstraktionsebene vermutlich das gleiche oder zumindest eine Teilmenge
    > > meinst.
    >
    > "Weird" steht fuer "unerwartet" und macht insofern durchaus voellig Sinn.

    Habe ich etwas anderes geschrieben?
    Wobei ich "weird" nicht als "unerwartet" übersetzen würde. In diesem Fall klar als "seltsam".

  6. Re: Undefinierter Zustand

    Autor: twothe 15.06.18 - 16:44

    Tuxgamer12 schrieb:
    --------------------------------------------------------------------------------
    > Du denkst als Programmierer, der in seinem C(++) auf abstrakter Ebene etwas
    > entwickelt - und da spricht man in der Tat von "undefiniertem Verhalten".
    Nein ich denke als Architekt, der sämtliche möglichen Ablaufpfade eines Programms durchdenkt. Dahingehend auch nicht von einem Verhalten, sondern von - wie oben geschrieben - einem undefinierten (also nicht geplanten) Programmablaufpfad. Und das ist eine sehr formelle Definition.

    > Definiere mir doch mal "Undefinierter Zustand"
    Ein Undefinierter Zustand ist ein solcher, indem sich ein Automat nach Durchlauf eines Programmes befindet, der vom Entwickler des Programmablaufplans so nicht eingeplant wurde.

    Simpel ausgedrückt: Du bist in einem Raum mit 3 Türen und planst damit, dass eine Person durch eine von den 3 Türen den Raum verlassen muss. Irgendwann stellst du fest das weniger Personen raus gekommen sind als rein gegangen sind, weil einer durchs Fenster raus ist, und dir fällt auf: "Ja stimmt... das geht ja auch..."

    > als Machinencode auf einem Prozessor ist der definiert.
    Das ist so nicht richtig. Ein JMP Befehl abhängig von einer nicht initialisierten Variable führt den Prozessor zu einem Maschinencode der völlig zufällig ist, da er aus nicht bekannten RAM-Zuständen besteht. Was das Programm dann macht ist völlig unklar (aka undefiniert). Im Regelfall stürzt es ab, es sei denn es gelingt den RAM dort so vor zu belegen, dass das Programm etwas tut, was man dann üblicherweise Exploit nennt.



    1 mal bearbeitet, zuletzt am 15.06.18 16:46 durch twothe.

  7. Re: Undefinierter Zustand

    Autor: bombinho 15.06.18 - 18:22

    Tuxgamer12 schrieb:
    --------------------------------------------------------------------------------
    > Habe ich etwas anderes geschrieben?
    > Wobei ich "weird" nicht als "unerwartet" übersetzen würde. In diesem Fall
    > klar als "seltsam".

    Nein, das sollte auch keine Kritik sondern eine Ergaenzung sein.
    Du wuerdest "unerwartet" nicht benutzen, weil du es als "unexpected" uebersetzen wuerdest.
    Aber "weird behaviour" ist ein nichtnormatives, nicht die Erwartungen erfuellendes, Verhalten.
    Das wird dir selbstverstaendlich seltsam vorkommen. Aber dann wuerdest Du eher "strange" benutzen.

  8. Re: Undefinierter Zustand

    Autor: bombinho 15.06.18 - 18:32

    twothe schrieb:
    --------------------------------------------------------------------------------
    > Das ist so nicht richtig. Ein JMP Befehl abhängig von einer nicht
    > initialisierten Variable führt den Prozessor zu einem Maschinencode der
    > völlig zufällig ist, da er aus nicht bekannten RAM-Zuständen besteht. Was
    > das Programm dann macht ist völlig unklar (aka undefiniert). Im Regelfall
    > stürzt es ab, es sei denn es gelingt den RAM dort so vor zu belegen, dass
    > das Programm etwas tut, was man dann üblicherweise Exploit nennt.

    Ein Exploit wird voraussichtlich fast immer zu unerwartetem Verhalten fuehren.
    Der Nutzer ist hoffentlich darauf trainiert, dass Dinge manchmal nicht beim ersten Mal funktionieren oder Abstuerze und seltsames Verhalten des Systems voellig normal sind.
    Immerhin wird der Nutzer mittlerweile selten durch Fehlermeldungen verunsichert.
    Mit Glueck laesst sich wenigstens im Log dann noch ein Eintrag identifizieren, der sonst eher nicht vorkommt.

  9. Re: Undefinierter Zustand

    Autor: Baron Münchhausen. 15.06.18 - 19:33

    Es gibt keine undefinierte Zustände. Genauso, wie es keine komische Zustände gibt.

  10. Re: Undefinierter Zustand

    Autor: Tuxgamer12 15.06.18 - 20:08

    bombinho schrieb:
    --------------------------------------------------------------------------------
    > Tuxgamer12 schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > Habe ich etwas anderes geschrieben?
    > > Wobei ich "weird" nicht als "unerwartet" übersetzen würde. In diesem
    > Fall
    > > klar als "seltsam".
    >
    > Nein, das sollte auch keine Kritik sondern eine Ergaenzung sein.

    Ach so, Sorry.

    > Du wuerdest "unerwartet" nicht benutzen, weil du es als "unexpected"
    > uebersetzen wuerdest.
    > Aber "weird behaviour" ist ein nichtnormatives, nicht die Erwartungen
    > erfuellendes, Verhalten.
    > Das wird dir selbstverstaendlich seltsam vorkommen. Aber dann wuerdest Du
    > eher "strange" benutzen.

    Na hauptsächlich würde ich "seltsam" benutzen, weil ich das Wort auch in entsprechenden Vorlesungen theoretischer Informatik gehört habe ;).

    Gerade sogar noch einmal Wörterbuch hervorgeholt (ein 10 Jahre altes Pons). Da wirds übrigens auch "seltsam" übersetzt.

  11. Re: Undefinierter Zustand

    Autor: Tuxgamer12 15.06.18 - 20:43

    twothe schrieb:
    --------------------------------------------------------------------------------
    > Tuxgamer12 schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > Du denkst als Programmierer, der in seinem C(++) auf abstrakter Ebene
    > etwas
    > > entwickelt - und da spricht man in der Tat von "undefiniertem
    > Verhalten".
    > Nein ich denke als Architekt, der sämtliche möglichen Ablaufpfade eines
    > Programms durchdenkt.

    Soll mir recht sein, läuft aufs gleiche Hinaus.

    > Dahingehend auch nicht von einem Verhalten, sondern
    > von - wie oben geschrieben - einem undefinierten (also nicht geplanten)
    > Programmablaufpfad. Und das ist eine sehr formelle Definition.

    Ich möchte doch auch gar nicht sagen, dass deine Sichtweise grundsätzlich falsch ist.

    Ich möchte dir doch nur erklären, dass in diesem Fall der Herr Dullien die Dinge mit einer anderen Sichtweise erklären will - eben mathematisch formell. Und mathematisch formell ist die logische Bezeichnung "seltsam" und nicht "undefiniert".

    Ich versuche es mal anders: In der Mathematik kennst du sehr wohl partielle Funktionen, die für gewisse Eingaben "undefiniert" sein können. z.B. das Ergebniss von while(true) {} ist auch undefiniert.

    Das bedeutet dann aber auch, es gibt keinen Wert.

    Lässt du einen Prozessor in einen von dir nicht definierten Zustand laufen, läuft der weiter und weiter. Das stört dem nicht. Da hast du Werte.

    Noch einmal: Es geht hier rein um BEGRIFFLICHKEITEN. Ich verstehe was du meinst, "undefiniert" hat in der theoretischen Informatik aber eine andere Bedeutung als in der praktischen.

    > > Definiere mir doch mal "Undefinierter Zustand"
    > Ein Undefinierter Zustand ist ein solcher, indem sich ein Automat nach
    > Durchlauf eines Programmes befindet, der vom Entwickler des
    > Programmablaufplans so nicht eingeplant wurde.

    Yep. Letzendlich nicht anders als der Herr Dullien. Jetzt hast du eine wohl definierte Menge an Zustanden - und wieso nennst du die "undefiniert" ;) ?

    > > als Machinencode auf einem Prozessor ist der definiert.
    > Das ist so nicht richtig. Ein JMP Befehl abhängig von einer nicht
    > initialisierten Variable führt den Prozessor zu einem Maschinencode der
    > völlig zufällig ist, da er aus nicht bekannten RAM-Zuständen besteht. Was
    > das Programm dann macht ist völlig unklar (aka undefiniert). Im Regelfall
    > stürzt es ab, es sei denn es gelingt den RAM dort so vor zu belegen, dass
    > das Programm etwas tut, was man dann üblicherweise Exploit nennt.

    Ich kann mich nicht erinnern, dass irgendwo "Deterministischer endlicher Automat" gefodert wurde. Du?

    Von daher sind zufällige Übergänge völlig akzeptabel.

  12. Re: Undefinierter Zustand

    Autor: Tuxgamer12 15.06.18 - 20:46

    Baron Münchhausen. schrieb:
    --------------------------------------------------------------------------------
    > Es gibt keine undefinierte Zustände. Genauso, wie es keine komische
    > Zustände gibt.

    Mach dich doch einmal frei und reiß dich doch mal von solchen Begrifflichkeiten los.

    In der Mathematik oder theoretischen Informatik kannst du alles nennen, wie du willst - solange klar und für jeden verständlich definiert.

    Wenn ich sagen, alle Zustände, wo eine 0 in einem Register steht sind grün, dann gibt es von jetzt an grüne Register. Punkt.

    Wenn der Herr Dullien seltsame Zustände definiert, dann sind die Zustände einfach "seltsam". Es sind doch nur Begriffe.

  13. Re: Undefinierter Zustand

    Autor: Baron Münchhausen. 16.06.18 - 00:43

    Es gibt keine grüne Register!


    "Begriffe" sind dazu da Information zu transportieren. Richtige Anwendung von Begriffen erleichtert Sachverhalte ohne Umschweife zu verstehen. Falsche Anwendung von Begriffen führt zu Missverständnissen und Fehlern.

    Wichtig ist, dass die Bedeutung sowohl dem Sender als auch Empfänger exakt bekannt ist.
    Gibt es hier unschärfe, dann entsteht "Noise" in der Kommunikation und ein hin und her Fragen für Klarifikation, oder gar bei Oberflächlichkeit falsche Interpretation!



    1 mal bearbeitet, zuletzt am 16.06.18 00:50 durch Baron Münchhausen..

  14. Re: Undefinierter Zustand ;)

    Autor: bombinho 16.06.18 - 00:49

    Gibt es sehr wohl! *aufstampf*



    1 mal bearbeitet, zuletzt am 16.06.18 00:49 durch bombinho.

  15. Re: Undefinierter Zustand

    Autor: Tuxgamer12 16.06.18 - 09:21

    Baron Münchhausen. schrieb:
    --------------------------------------------------------------------------------
    > Wichtig ist, dass die Bedeutung sowohl dem Sender als auch Empfänger exakt
    > bekannt ist.
    > Gibt es hier unschärfe, dann entsteht "Noise" in der Kommunikation und ein
    > hin und her Fragen für Klarifikation, oder gar bei Oberflächlichkeit
    > falsche Interpretation!

    Noch einmal zurückscrollen. Na gut, ich Copy-Paste:

    "In der Mathematik oder theoretischen Informatik kannst du alles nennen, wie du willst - solange klar und für jeden verständlich definiert."

    Habe ich klar gefordert, dass Bedeutung jedem bekannt sein muss. Das ist doch gearde der Witz an der Mathematik, da gibt es keinen "Noise".

    Wenn ich definiere:

    "grüne Zustände genau dann wenn es ein Register gibt, dessen Inhalt 0 ist"

    Da gibt es nichts falsch zu verstehen.

    > "Begriffe" sind dazu da Information zu transportieren. Richtige Anwendung
    > von Begriffen erleichtert Sachverhalte ohne Umschweife zu verstehen.
    > Falsche Anwendung von Begriffen führt zu Missverständnissen und Fehlern.

    Richtig - aber ich sehe schon, du bist mit der Mathematik / theoretischen Informatik noch nicht so tief in Berührung gekommen.

    Natürlich willst du Informationen übertragen. Der Witz ist doch, Informationen verständlicher zu transportieren:

    1. "Das ist ein Zustand, in dem ein Register existiert, dessen Inhalt 0 ist".
    2. "Das ist ein grüner Zustand".

    Paar A4-Seiten; in jedem zweiten Satz entweder 1. oder 2. Was ist angenehmer?

    Begriffe definieren darf wohlgemerkt kein Selbstzweck sein. Der Sinn sollte IMMER sein, das Verständniss zu erhöhen. Manche Begriffe bürgern sich dann ein, andere nicht. Das ist aber egal: In der Mathematik/theoretischen Informatik willst du immer neue Sachen ausdrücken und dafür brauchst du neue Begriffe und musst deinen Wortschatz erweitern.

    "Weird" in diesem Zusammenhang scheint sogar durchaus etabliert zu sein:
    https://en.wikipedia.org/wiki/Weird_machine

    Ich denke, an dieser Stelle macht es für mich recht wenig Sinn weiterzureden. Entweder du glaubst mirs oder du hast Pech gehabt. Aber jeder, der auch nur ein bisschen in die Mathematik geschnuppert hat wird merken: Es führt kein Weg daran vorbei, ständig Begriffe zu definieren.

    Oder hättest hier jemand Lust zu sagen: "Der Nachfolger vom Nachfolger von 0" - na nennen wir das doch lieber 2.

  16. Re: Undefinierter Zustand

    Autor: twothe 16.06.18 - 20:09

    Tuxgamer12 schrieb:
    --------------------------------------------------------------------------------
    > Ich versuche es mal anders: In der Mathematik kennst du sehr wohl partielle
    > Funktionen, die für gewisse Eingaben "undefiniert" sein können. z.B. das
    > Ergebniss von while(true) {} ist auch undefiniert.

    Hier liegt unsere grundlegende Kommunikationsdifferenz: Ich rede NICHT von Ergebnissen von Funktionen, ich rede von Programmabläufen.

    Das Ergebnis von while (true) ist nicht definiert, der Programmablauf aber sehr wohl.
    Um es mal ganz simpel auszudrücken:
    10 GOTO 10
    Jeder kann ganz genau sagen was dieses Programm tun wird.
    10 GOTO 20
    Niemand kann sagen was dieses Programm tun wird.

  17. Re: Undefinierter Zustand

    Autor: Tuxgamer12 16.06.18 - 22:20

    twothe schrieb:
    --------------------------------------------------------------------------------
    > 10 GOTO 20
    > Niemand kann sagen was dieses Programm tun wird.

    Ein sehr gutes Beispiel.

    https://upload.wikimedia.org/wikipedia/commons/thumb/7/74/Cup_or_faces_paradox.svg/844px-Cup_or_faces_paradox.svg.png

    Kennst du? Eigentlich ziemlich bekannt. Je nachdem, wie du das Bild anschaust siehst du zwei schwarze Gesichter vor weißem Hintergrund oder eine weiße Vase vor schwarzem Hintergrund.

    Ich verstehe doch, wieso du sagst auf diesem Bild ist (sagen wir mal) eine Vase. Ich verstehe, wieso du sagst, das da oben ist undefiniertes Verhalten. Ist ja auch richtig.

    Ich will dir die zwei Gesichter zeigen.

    Als Mathematiker / theoretischer Informatiker kannst du sehr wohl sagen, was das Programm jetzt tut. Wird wohl der Instruction Pointer auf 20 setzen, oder nicht ;). Was ist daran undefiniert?
    Ja, und selbst wenn der nächste Befehl aussieht: "Führe einen zufälligen Befehl aus". Das ist doch dann immer noch wohl definiert, was dein Programm machen soll: Suche dir eine zufällige Zahl x zwischen 0 und n; wenn diese 0 ist machen das. wenn diese 1 ist mache das. Und so weiter.
    Für jede Zahl x ist wohl definiert, was das Programm machen soll. Jedes x ist valide und wird einen neuen validen Zustand erzeugen.


    > Hier liegt unsere grundlegende Kommunikationsdifferenz: Ich rede NICHT von
    > Ergebnissen von Funktionen, ich rede von Programmabläufen.

    Das ist in der Tat interessant. Dieses Konzept von "Programmablauf" existiert in der Mathematik nicht so, wie du es kennst. In der Mathematik hast du nur Funktionen. Wohlgemerkt: Funktionen ohne Nebeneffekte.

    Damit lässt sich dann auch eine Art "Programmablauf" emulieren. Das Funktioniert dann so:

    Zustand --Überführungsfunktion--> Zustand --Überführungsfunktion--> Zustand -> (...)

    Das Ergebniss einer Funktion wie

    > 10 GOTO 20

    ist ein neuer Zustand (bei dem der IP auf 20 steht). Als Programmablauf empfinden würdest du dann wahrscheinlich eine chronologische Abfolge von Zuständen.

    Glaub mir, ich weiß schon, wovon du redest. Verstehe ich vollkommend und ist auch nichts falsch, was du schreibst. Ich will dir nur zeigen, dass man manchmal Sachen auf verschiedene "richtige" Perspektiven sehen kann.

    Und wenn der Herr Dullien und Exploits aus einer theoretischeren Sicht erklären will, sind eben auch gelegentlich andere Begriffe passender. Wie hier "seltsam" anstatt "undefiniert".

  18. Re: Undefinierter Zustand

    Autor: bombinho 17.06.18 - 14:42

    Tuxgamer12 schrieb:
    --------------------------------------------------------------------------------
    > Ja, und selbst wenn der nächste Befehl aussieht: "Führe einen zufälligen
    > Befehl aus". Das ist doch dann immer noch wohl definiert, was dein Programm
    > machen soll: Suche dir eine zufällige Zahl x zwischen 0 und n; wenn diese 0
    > ist machen das. wenn diese 1 ist mache das. Und so weiter.
    > Für jede Zahl x ist wohl definiert, was das Programm machen soll. Jedes x
    > ist valide und wird einen neuen validen Zustand erzeugen.

    Das waere wuenschenswert und funktioniert aufgrund gewollter und ungewollter Komplexitaet eben nur fast immer.

    Aber die Differenz zwischen Theorie und Praxis ist nicht Bestandteil der Diskussion.

    Aber wie passt in die Theorie, wenn dann die Regeln an einer Stelle ohne weiteren Kommentar geaendert werden? Inwiefern ist in der Theorie dann eine Erklaerbarkeit fuer das Ausmasz der Folgen der Regelaenderung gegeben?



    2 mal bearbeitet, zuletzt am 17.06.18 14:54 durch bombinho.

  19. Re: Undefinierter Zustand

    Autor: bombinho 17.06.18 - 15:20

    Ich muss erklaerend dazu sagen, dass ich gerade eben zwei Theorien als belegt praesentiert bekommen habe, welche gegensaetzliche Ergebnisse haben. An einem Punkt stimmten die Theorien allerdings frappierend ueberein: Wenn sich die Systeme dann nicht wie erwartet verhalten, dann liegt es an der Komplexitaet. 8]

    Oder anders ausgedrueckt, unter Vernachlaessigung der Rueckkopplung und der Toleranzen ist der Systemzustand umso besser definierbar, je kleiner der betrachtete Zeitrahmen und je simpler die Umgebungsbedingungen definiert werden.



    1 mal bearbeitet, zuletzt am 17.06.18 15:24 durch bombinho.

  20. Re: Undefinierter Zustand

    Autor: Tuxgamer12 17.06.18 - 16:30

    bombinho schrieb:
    --------------------------------------------------------------------------------
    > Tuxgamer12 schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > Ja, und selbst wenn der nächste Befehl aussieht: "Führe einen zufälligen
    > > Befehl aus". Das ist doch dann immer noch wohl definiert, was dein
    > Programm
    > > machen soll: Suche dir eine zufällige Zahl x zwischen 0 und n; wenn diese
    > 0
    > > ist machen das. wenn diese 1 ist mache das. Und so weiter.
    > > Für jede Zahl x ist wohl definiert, was das Programm machen soll. Jedes
    > x
    > > ist valide und wird einen neuen validen Zustand erzeugen.
    >
    > Das waere wuenschenswert und funktioniert aufgrund gewollter und
    > ungewollter Komplexitaet eben nur fast immer.
    >
    > Aber die Differenz zwischen Theorie und Praxis ist nicht Bestandteil der
    > Diskussion.
    >
    > Aber wie passt in die Theorie, wenn dann die Regeln an einer Stelle ohne
    > weiteren Kommentar geaendert werden? Inwiefern ist in der Theorie dann eine
    > Erklaerbarkeit fuer das Ausmasz der Folgen der Regelaenderung gegeben?

    Na das war dann wohl von mir missverständlich.

    Also das "Suche dir eine zufällige Zahl x" ist der Wert, der bei "10 Goto 20" in der Speicherzelle 20 steht. Und zwangsweise als nächstes ausgeführt wird. Ändern tun wir hier keine Regeln.

    Ich will eigentlich auch keine zwei konkurierenden Theorien erklären. Im Gegenteil: Selbe Münze mit zwei Seiten - ein mal nennen wirs "undefiniert" und ein mal "weird" - aber ist deshalb immer noch die selbe Münze.

  1. 1
  2. 2

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Zum Login

Stellenmarkt
  1. Kistler Remscheid GmbH, Remscheid
  2. Dataport, Altenholz bei Kiel (Home-Office möglich)
  3. Porsche AG, Zuffenhausen
  4. Kommunale Datenverarbeitung Oldenburg (KDO), Oldenburg

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Spiele-Angebote
  1. 47,49€
  2. 4,99€
  3. 0,00€
  4. (PC-Spiele bis zu 85% reduziert)


Haben wir etwas übersehen?

E-Mail an news@golem.de


IT-Headhunter: ReactJS- und PHP-Experten verzweifelt gesucht
IT-Headhunter
ReactJS- und PHP-Experten verzweifelt gesucht

Marco Nadol vermittelt für Hays selbstständige Informatiker, Programmierer und Ingenieure in Unternehmen. Aus langjähriger Erfahrung als IT-Headhunter weiß er mittlerweile sehr gut, was ihre Chancen auf dem Markt erhöht und was sie verschlechtert.
Von Maja Hoock

  1. Bundesagentur für Arbeit Informatikjobs bleiben 132 Tage unbesetzt
  2. IT-Berufe Bin ich Freiberufler oder Gewerbetreibender?
  3. Milla Bund sagt Pläne für KI-gesteuerte Weiterbildungsplattform ab

Zulassung autonomer Autos: Der Mensch fährt besser als gedacht
Zulassung autonomer Autos
Der Mensch fährt besser als gedacht

Mehrere Jahre haben Wissenschaftler und Autokonzerne an Testverfahren für einen Autobahnpiloten geforscht. Die Ergebnisse sprechen für den umfangreichen Einsatz von Simulation. Und gegen den schnellen Einsatz der Technik.
Von Friedhelm Greis

  1. Ingolstadt Audi vernetzt Autos mit Ampeln
  2. Wasserkühlung erforderlich Leistungshunger von Auto-Rechnern soll stark steigen
  3. Waymo One Lyft vermittelt Waymos autonome Taxis

Raumfahrt: Jeff Bezos' Mondfahrt
Raumfahrt
Jeff Bezos' Mondfahrt

Blue Moon heißt die neue Mondlandefähre des reichsten Mannes der Welt, Jeff Bezos. Sie ist vor exklusivem Publikum und ohne Möglichkeit von Rückfragen vorgestellt worden. Wann sie fliegen soll, ist unklar.
Von Frank Wunderlich-Pfeiffer

  1. Artemis Trump will Nasa-Budget für die Mondlandung aufstocken
  2. SpaceIL Israelische Mondlandung fehlgeschlagen
  3. Raumfahrt Trump will bis 2024 Astronauten auf den Mond bringen

  1. US-Blacklist: Google gibt Huawei offenbar keine Android-Updates mehr
    US-Blacklist
    Google gibt Huawei offenbar keine Android-Updates mehr

    Google soll wegen des Drucks der US-Regierung die Zusammenarbeit mit Huawei eingestellt haben. Damit wäre nur noch die Open-Source-Version von Android für den Hersteller verfügbar.

  2. Onlinehandel: Mehr Verbraucherbeschwerden im Paketgeschäft
    Onlinehandel
    Mehr Verbraucherbeschwerden im Paketgeschäft

    Im vergangenen Jahr haben sich deutlich mehr Kunden über Probleme bei Paketzustellungen beschwert als noch ein Jahr zuvor. Auch im laufenden Jahr hält der Trend durch das Wachstum des Onlinehandels an. Gemessen an der Zahl der gelieferten Pakete sind es aber wenige Beanstandungen.

  3. Premium Alexa Skills: Skills für Amazons Alexa mit Bezahlfunktion starten
    Premium Alexa Skills
    Skills für Amazons Alexa mit Bezahlfunktion starten

    Amazon hat erste Premium Alexa Skills für Deutschland veröffentlicht. Diese enthalten sogenannte In-Skill-Käufe, Kunden können gegen Bezahlung spezielle Funktionen aktivieren. Zum Start stehen insgesamt 14 Angebote zur Verfügung.


  1. 00:03

  2. 12:12

  3. 11:53

  4. 11:35

  5. 14:56

  6. 13:54

  7. 12:41

  8. 16:15