arc4random Aufeinanderfolgende

  • @Alex: Ich finde es grundsätzlich ganz interessant. Ist zwar wieder typisch, wie hier eine „einfache“ Frage zu einem komplexem Thema wird. Und wie sich hier so die Beteiligten behaupten.

    Aber wie gesagt grundsätzlich lese ich sowas immer wieder gern. Man lernt dann ja auch was dabei.

    Hier noch mein naiver Brei: Es haben aus meiner Sicht beide Recht. Ohne Theorie keine Praxis. Auch wenn die Praxis manchmal anders aussieht. Dennoch ist es immer gut, wenn einem bei der praktischen Anwendung auch immer über den Tellerrand guckt.
  • Du magst schon recht haben. Nur..., ich muss auf mich selbst schauen. Und für mich ergeben solche Diskussionen einfach keinen Sinn. Wenn ich mal reflektieren darf ... Das ist wohl der Grund warum ich mich bei Cocoa-Treffen einfach fehl am Platz fühle. Als Praktiker sollen für mich Sachen funktionieren. Ob die Gravitation dadurch um 4pi verschoben wird oder nicht, ist für mich irrelevant. Naja anyway.
    _____________________________
    Alle Angaben ohne Gewähr :)

    On the internet you can be anything you want. It's strange that so many people choose to be stupid.


    Superbientem animus prosternet
  • @Amin: Du kannst deine Programme gerne für Besoffene schreiben. Ich schreibe meine für Computer. Die können rechnen, das sollten Programmierer auch halbwegs können. Und ich finde es nicht so unverständlich, dass wenn 5 Zahlen zur Auswahl stehen und davon eine Zahl nicht vorkommen soll, genau 4 Möglichkeiten übrig bleiben. Der Rest ist einfaches Hinschieben. Zu den ganzen /Du/-Sachen: Ich habe schon vor deinem ersten Post erklärt, dass das ein theoretischer Einwand ist und das in der Praxis kaum vorkommen wird. Warum so aggressiv?

    @zerm: Bubblesort ist total unintuitiv! Ich sortiere mit Bogosort, total einfach und verständlich (das passt hier wirklich wie Topf auf Deckel). Und überhaupt: Theoretische Informatik braucht kein Mensch und hat in der Praxis noch nie etwas gebracht. Ich arbeite jetzt weiter an meiner Lösung des Halteproblems, in der Praxis geht das bestimmt.

    @Alex: Ja, du hast recht - es wird mal wieder absurd. In diesem Fall wird das in der Praxis kaum eine Rolle spielen. Und im Endeffekt kann ja jeder seine Programme schreiben wie er will. Aber hier wurde ein Algorithmus vorgeschlagen, bei dem ich diesen einen Aspekt für bedenkenswert hielt und den man leicht umgehen kann. Deshalb habe ich das angemerkt, weil es vielleicht für jemanden interessant sein könnte (zumindest freue ich mich immer über solche Anregungen hier). Ich frage mich wirklich bei bei jeder Schleife (und jeder Verzweigung und jeder Rekursion), ob sie immer fertig wird und ob sie überhaupt nötig ist, weil ich einfach keine Lust mehr darauf habe, das Programme irgendwo aus ähnlichen Gründen in ihren Tiefen hängen bleiben. Sowas ist meistens total ekelig zu debuggen. Wie gesagt: In diesem Fall wird das kaum passieren, aber die grundsätzliche Denke halte ich für sehr sinnvoll, weil einem sowas auch in der Praxis irgendwann mal auf die Füße fallen kann.
    Multigrad - 360°-Produktfotografie für den Mac
  • mattik schrieb:

    @zerm: Bubblesort ist total unintuitiv! Ich sortiere mit Bogosort, total einfach und verständlich (das passt hier wirklich wie Topf auf Deckel). Und überhaupt: Theoretische Informatik braucht kein Mensch und hat in der Praxis noch nie etwas gebracht. Ich arbeite jetzt weiter an meiner Lösung des Halteproblems, in der Praxis geht das bestimmt.

    Haha, sehr schoen! Aber was scherst Du Dich ueberhaupt um das Halteproblem? Hat gar keine Praktische Bedeutung. Das braucht niemand. Fuer uns Praktiker ist's nur wichtig, dass es laeuft, wer will schon halten!
    C++
  • macmoonshine schrieb:

    Und die mittlere Laufzeit von O(n n!) schreckt auch keinen Praktiker. Mit genügend Hardware bekommt der das ja alles in den Griff +scnr+

    Ja, und ausserdem sagt das gar nichts aus! Erstens musst Du schon total Pech haben, dass man auf n! kommt, weil so oft geht das gar nicht schief!!! Und ausserdem, da gibs Konstanten drin versteckt, die das ohnehin in der Praxis ganz anders aussehen lassen! Und mir muss auch erstmal jemand den Beweis beweisen, dass es ueberhaupt so ist! Da hab ich lieber gut lesbaren Code!
    C++
  • zerm schrieb:

    Heh, dank Amin braucht man die theoretische Informatik nicht mehr, weils ohnehin unwichtig ist. Ich nehm manchmal auch lieber Bubblesort, weils viel einfacher verständlich ist und überhaupt, soviel sortiere ich nie, dass das ein Unterschied machen würde. Oder? Oder? Und was sagen diese ganzen Beweise überhaupt aus? Nichts, genau!

    Das ist mal wieder falsch geschlossen.

    Man braucht die dann nicht, wenn das Ergebnis der Untersuchung dahin führt, dass das Problem mit einer Wahrhscheinlichkeit auftritt, die im keinem Verhältnis zu de Wahrscheinlichkeit sonstiger Probleme steht. Das ist übrigens ein theoretisches Problem, weshalb ein guter Theoretiker es erkennt. Es ist auch bereits erkannt. Ich habe dazu erst neulich eine Doktorarbeit angelesen.

    Aber mancher Theoretiker bleibt eben auf einer einfachen Stufe stehen …
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • mattik schrieb:

    @Amin: Du kannst deine Programme gerne für Besoffene schreiben. Ich schreibe meine für Computer. Die können rechnen, das sollten Programmierer auch halbwegs können. Und ich finde es nicht so unverständlich, dass wenn 5 Zahlen zur Auswahl stehen und davon eine Zahl nicht vorkommen soll, genau 4 Möglichkeiten übrig bleiben. Der Rest ist einfaches Hinschieben. Zu den ganzen /Du/-Sachen: Ich habe schon vor deinem ersten Post erklärt, dass das ein theoretischer Einwand ist und das in der Praxis kaum vorkommen wird. Warum so aggressiv?


    Bei dem Problem der Lesbarkeit und Intuitivität geht es offenkundig nicht um die Lesbarkeit und Intuitivität für Computer. Das liegt eigentlich auf der Hand.
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • Amin Negm-Awad schrieb:

    Ich habe dazu erst neulich eine Doktorarbeit angelesen

    Jetzt hast Du mich. Eine Doktorarbeit der Informatik, die beschreibt, dass ein nichtdeterministischer Algorithmus einem klar deterministischem vorzuziehen ist, wenn das nicht-deterministische Verhalten nur "unwahrscheinlich genug" und der Algorithmus "einfacher von einem Dorfttrottel zu verstehen" ist?
    Bitte - Autor, Titel und Uni! Ich kau schon Fingernägel vor Aufregung.
    C++
  • Sie beschreibt genau genommen, dass die Fehlerquellen eines Algorithmusses sich nicht durch bekannte Methoden der Informatik erkennen lassen. Damit ist nicht das ohnehin bestehende theoretische Problem gemeint, sondern, dass die praktischen Fehlerquellen sich nicht mit vertretbarem Aufwand beschreiben lassen und daher eine solche Vorgehensweise nur theoretisch interessant ist.

    Die vorgeschlagene Lösung liegt in der Tat darin, es einfach mit verschiedenen Problemlösungen zur Laufzeit zu versuchen und sodann zur Laufzeit zu untersuchen, ob sie zu einer Lösung gelangt sind. Es wird also nicht der Versuch unternommen, vorher (statisch) die Fehlerfreiheit zu belegen, was ohnehin vergebliche Liebsmüh ist, sondern zur Laufzeit geschaut, ob es tatsächlich zu einem Fehler kam. Die von mir genannten Beispiele und Argumente sind übrigens – aus meiner Erinnerung – sämtlich dieser Arbeit entnommen.

    IIRC handelte es sich um die Universität von Stockholm. Und noch IIRC lag dem real die Vermittlungssoftware im norwegischen(?) Mobilfunknetz zugrunde.

    Ich bin mehr oder weniger zufällig darauf gestoßen, als ich ein Thema für die Macoun bezüglich Blocks gesucht habe. Mir schien das dann aber zeitlich zu knapp. Aber vielleicht auf einer der nächsten.

    Ich habe gerade Arbeitszimmer mit Kinderzimmer getauscht, weshalb sich auf meinem Schreibtisch ein Stapel unsortierten Papiers befindet. Ich versuche heute Abend den Link herauszusuchen. Die Doktorarbeit ist veröffentlicht.

    Dass du dir das nicht vorstellen kannst, ist irrelevant. Ich habe auch Monate gebraucht, damit du dir die Vorzüge später Bindung vorstellen kannst.
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • Amin Negm-Awad schrieb:

    sondern zur Laufzeit geschaut, ob es tatsächlich zu einem Fehler kam.

    Halteproblem?

    Aber davon abgesehen - nur weil man nicht alle Fehlerquellen erkennen kann, heisst das ja noch lange nicht, dass man welche, die man schon erkennen kann ignoriert, weil man sie fuer zu unwahrscheinlich haelt.
    Es ist auch ein wenig wie in der Kryptographie: Wenn man einen Angriff beschreiben (beweisen) kann, welcher den Aufwand von 2^1024 auf 2^1000 reduziert, hat das erstmal noch keine praktische Bedeutung (fuer Angreifer), jedoch ist es ein deutliches Indiz, dass das Verfahren nicht gut ist und ueblicherweise wars das dann auch fuer dieses Verfahren. Und das ist gut so.
    C++
  • 1. Der Algorithmus von Michael hält garantiert. Er hält nur bis zu einem gewissen Zeitpunkt nur mit einer gewissen Wahrscheinlichkeit. Das hat mattik schon sehr viel genauer herausgearbeitet als du.

    2. Und genau diese Fehlermöglichkeit ist ein wunderbarer Beleg für die vertretene These. Wenn ein Algorithmus innerhalb einer Zeitschranke, sagen wir den Druck der nächsten Ziffer auf dem Telefon (Ui, die ist ja dynamisch, wie will man da überhaupt statisch herangehen?) nicht zur Lösung führt, kann man entsprechend darauf reagieren. Im einfachsten Falle bekommt der Anrufer dann dieses komische schnelle Tut-tut, was einen Fehler beim Verbindungsaufbau signalisiert.

    Oh, das ist aber unschön, weil der dann auflegen und neu wählen muss. Stimmt. Allerdings dürfte dieser Fall so selten eintreten, dass es wahrscheinlicher ist, dass der Anrufer gar nicht mehr auflegen und neu wählen kann, weil er sich aufgrund eines Unglückes in einem norwegischen Kernreaktor in eine Plasmasuppe verwandelt hat. Und ich möchte hierbei darauf hinweisen, dass Norwegen keine Kernkraft nutzt.
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • Norwegen hat aber 2 Forschungsreaktoren, einen in der Nähe von Oslo, mit dem es auch schonmal einen Zwischenfall,ich glaube 2006, gab. Das mit der Plasmasuppe würde ich also auf jeden Fall durch

    if Plasmasuppe then NOT Plasmasuppe

    ausschließen.