ALGORITHMEN TEIL X: Das hat uns noch gefehlt!

  • Abt. Willkommen im Kapitel X. des totalen Algorithmen-Wahnsinns
    ==========================================
    Nur zur Erinnerung: Hier darf jeder seinen Altmüll entsorgen, nach Herzenslust Programme austesten und seinen Computer über die Dachfirste jagen bis zum Abwinken. Er wird Dinge erfahren, die er nie wissen wollte und deshalb nie zu fragen wagte. Er wird Fehler-Meldungen und Abstürze ignorieren lernen und sich fragen, wer da wen gerade progammiert: Er seinen Computer oder schon umgekehrt?
    Das Alles ohne jede Gewähr - und ohne Gewehr auch, hoffentlich!
    Gruss


    P.S. Wo immer ich hier "er" gesagt habe, meine ich natürlich auch ein herzliches "sie"! Mein Computsie besteht darauf! :oops:

    HP255G7:Win10pro2.004,4*AMD Ryzen3200U@2.60GHz,6+2GB-RadeonVega/237GBSSD:intlDVDRW,3xUSB3 ext4TB-HDX,XProfanX3+Xasm/Xpse

  • Themenübersicht zum vorherigen Algorithmen-Kapitel IX
    ====================================

    HP255G7:Win10pro2.004,4*AMD Ryzen3200U@2.60GHz,6+2GB-RadeonVega/237GBSSD:intlDVDRW,3xUSB3 ext4TB-HDX,XProfanX3+Xasm/Xpse

  • Abt. Gunkl-Zahlen
    ===========
    Der Wiener Kabarettist Günther Paal firmiert seit langem unter dem Pseudonym GUNKL und produziert dabei (meine persönliche Meinung) schräg-intellektuellen bis arg-nerdigen Humor zum Todlachen. Das zeigt auch seine Homepage, wo er unter der Rubrik "Tipps zum Tag" seine skurril-sprachorientierten Beobachtungen zum Besten gibt.


    Der Gunkl-Tipp vom 22.10.2015 stellte dabei eine mathematische Herausforderung dar, die es lohnt, ausführlicher geprüft zu werden: Ergebnis sind die (zumindest von mir sogenannten) GUNKL-Zahlen, die vermutlich die gesamte Mathematik der westlichen Welt aus den Angeln zu heben nicht drohen werden.


    Die schräge Aufgabe lautete wie folgt: "Finden sie ein paar vierstellige Zahlen, die, durch alle möglichen zweistelligen Zahlen, die sich aus d_e_n vier Z_i_f_f_e_r_n basteln lassen, dividiert, eins ergeben". Herausforderung angenommen!
    Gruss


    P.S.: Die Probe liefert: 0000=0*0=Triviale Lösung; 0126=6*21; 0153=3*51; 0688=8*86; 1260=21*60; 1395=15*93; 1435=41*35; 1530=51*30; 1827=87*21; 2187=27*81; 6880=86*80


    HP255G7:Win10pro2.004,4*AMD Ryzen3200U@2.60GHz,6+2GB-RadeonVega/237GBSSD:intlDVDRW,3xUSB3 ext4TB-HDX,XProfanX3+Xasm/Xpse

    3 Mal editiert, zuletzt von p. specht ()

  • Abt. Stein´scher GGT-Algorithmus auf Double Precision Float gebracht
    ============================================
    Der Steinsche Algorithmus stellt eine Verbesserung gegenüber dem berühmten Euclidischen Algorithmus zur Ermittlung des Größten Gemeinsamen Teilers GGT von zwei Ganzzahlen dar, weil er keine Divisionen verwendet, sondern im Prinzip mit Schiebeoperationen auskommt.


    Es gibt meines Erachtens allerdings keinen Grund, warum man solche Algorithmen nicht auch auf Floatingpoint-Variable anwenden können sollte: Der GGT von Pi() und 2*Pi() ist schließlich Pi(). Dazu war es nur nötig, den Steinschen Algo ein bisschen aufzupeppen und ihm eine Integerfunktion für XProfans Float-Variablen sowie eine Modulo-2 Funktion für Floats mitzugeben.


    Gruss


    P.S.: Vielleicht lassen sich so ja gewisse Verwandtschaften zwischen Naturkonstanten entdecken??

    HP255G7:Win10pro2.004,4*AMD Ryzen3200U@2.60GHz,6+2GB-RadeonVega/237GBSSD:intlDVDRW,3xUSB3 ext4TB-HDX,XProfanX3+Xasm/Xpse

  • Ergänzung zu oben: Es gibt einige ungünstige Zahlenverhältnisse, die das obige Programm scheinbar nicht terminieren lassen. Ursache ist u.a. der Umstand, dass zur binären Darstellung mancher Zahl aufgerundet werden muss, die der anderen Zahl dagegen nur abgerundet dargestellt werden kann. Dadurch bleibt stets ein nicht verschwindender Rest. Weiters gibt es Zahlenverhältnisse, die zu langsam konvergieren um in sinnvoller Zeit zur Abbruchbedingung zu gelangen.


    Zur Abhilfe teste ich gerade Zählschleifen mit anschließender Präzisionssenkung, muss das aber noch im Detail anschauen. Eine weitere Idee ist ´laufende Kommaverschiebung synchron im Zähler und Nenner´. Davon unberührt bleibt noch das Problem, daß man Zahlen wie Pi (unendlich viele Kommastellen) auch binär nur mit endlicher Stellenzahl annähern kann.

    HP255G7:Win10pro2.004,4*AMD Ryzen3200U@2.60GHz,6+2GB-RadeonVega/237GBSSD:intlDVDRW,3xUSB3 ext4TB-HDX,XProfanX3+Xasm/Xpse

    Einmal editiert, zuletzt von p. specht ()

  • Abt. Die Tücken von Floatingpoint-Variablen
    ===========================
    Die Umsetzung von XProfans dezimaler Floatwerte in Binäre Darstellung und zurück erfordert einiges Know How über dabei möglicherweise auftretende Tücken. Um die angewendeten Verfahren konket überprüfen zu können, ist neben der Kenntnis der entsprechenden Norm IEEE 754 (ANSI/IEEE Std 754-1985; IEC-60559:1989 – International version) die konkrete Umsetzung in der Windows/Intel-Speicherhaltung (`Little Endian`) sowie allfällige Abweichungen in den jeweils verwendeten Mathe-Paketen der verschiedenen XProfan-Version nötig. So kann dann auch die Herkunft des manchmal erscheinenden Ergebniswertes NaN (Not a Number!) erklärt werden, welcher in IEEE 754 noch viel detaillierter definiert ist: Er stammt aus Delphi, bei 64bit-Versionen z.B. auch aus Freepascal heraus. Mit dem nachstehenden Machwerk sollen erste Schritte zur Einarbeitung ermöglicht werden.
    Gruss


    HP255G7:Win10pro2.004,4*AMD Ryzen3200U@2.60GHz,6+2GB-RadeonVega/237GBSSD:intlDVDRW,3xUSB3 ext4TB-HDX,XProfanX3+Xasm/Xpse

  • Abt. Rundtisch-Permutationen und Ringsymmetrien
    ================================
    Für Reihenaufstellung gilt die bekannte Permutationsformel x = n ! (sprich "n Faktorielle"), nämlich x = n * (n-1) * (n-2) * ... bis 1 herunter. Mit 1 zu multiplizieren ändern aber natürlich nichts mehr am Ergebnis, also ist die eigentliche Runterzählgrenze die 2.


    Bei Sitzordnungen an Rundtischen unterscheidet man aber nicht, ob Tisch und Sesseln gedreht im Restaurant stehen oder nicht. Es gibt daher um eine volle Drehung (=n Plätze) weniger unterschiedlichen Anordnungsmöglichkeiten, daher lautet die Formel x = (n-1)*(n-2)*... *2 bzw.
    "Faktorielle von (n-1)".


    Bei Armreifen mit am Ring gleichverteilten Schmucksteinen ist als weiterer Faktor zu berücksichtigen, daß der Ring ja auch umgedreht auf den Tisch gelegt werden kann. Rückläufige Anordnungen der Steine werden daher von rechtläufigen nicht unterschieden, die Formel lautet daher x = (n-1)*(n-2)*... * 3 bzw. x = 1/2 * Faktorielle von (n-1). Das nachstehene Progi zeigt, wieviele Unikate solcher Schmuckreifen hergestellt werden können.


    Gruss

    HP255G7:Win10pro2.004,4*AMD Ryzen3200U@2.60GHz,6+2GB-RadeonVega/237GBSSD:intlDVDRW,3xUSB3 ext4TB-HDX,XProfanX3+Xasm/Xpse

    2 Mal editiert, zuletzt von p. specht ()

  • Abt. Weihnachten naht
    ==============
    Bevor noch diverse adipöse Jahresendfiguren wieder den Schornstein verstopfen, möchte ich mit Computerhilfe ein Rätsel lösen, das mich seit nunmehr 10 Jahren verfolgt: Ziffernrätsel haben sich bisher meinem Verständnis erfolgreich entzogen. Zwar waren einige wenige Gesetzmäßigkeiten klar, so etwa
    - daß Überträge entweder 0 oder 1 sein können, aber nicht mehr. Oder
    - daß eine Endziffer nur dann wieder die selbe Endziffer ergeben kann, wenn die zu addierende Zahl 0 und der Übertrag 0 sind oder aber die zu addierende Zahl 9 und der Übertrag 1. Auch der Umstand,
    - daß jedes Zahlensymbol eine von den anderen Symbolen wohlunterscheidbare Ziffer repräsentieren muß, und
    - daß die erste Ziffer einer Zahl nicht 0 sein kann, sondern höchstens 1 bis 9,
    das war mir bekannt. Dennoch hat das alles in meiner Vorstellung die vermutete Unzahl möglicher kombinatorischer Möglicheiten nicht wesentlich beschränkt. Das Rätsel, um das es hier konkret geht, lautet:


    K I N D E R
    _ + L E I N
    --------------
    K O M M E T


    Anbei das lösende Machwerk dazu.
    Gruß


    P.S.: Um Rechenzeit zu sparen, wurde der Umstand genutzt, daß für das obige Rätsel I=0 und daher O=1 aus der Angabe evident werden. Diese zwei besetzten Ziffern müssen daher auch beim Rest der Stellenvariablen nicht mehr geprüft werden.

    HP255G7:Win10pro2.004,4*AMD Ryzen3200U@2.60GHz,6+2GB-RadeonVega/237GBSSD:intlDVDRW,3xUSB3 ext4TB-HDX,XProfanX3+Xasm/Xpse

    3 Mal editiert, zuletzt von p. specht ()

  • Abt. ABSCHLUSSARBEITEN
    ==================
    Das Jahr 2015 neigt sich dem Ende zu. Neue Aufgaben warten 2016 und werden vollen Einsatz fordern, sodaß für mein bisheriges Profan-Hobby künftig nur wenig bis gar keine Zeit bleiben wird. Mit einem lachenden und einem weinenden Auge muß ich die Betreuung dieser Kolumne (begonnen ca. 2005 - lange vor dem von Frank Abbing initiierten Umzug auf Paules PC-Forum) nun per Jahresende in die Hände anderer interessierter Profaner legen.


    Ein großes DANKE an alle mitwirkenden Beitragsverfasser, alle Leser und Besucher! Es war eine wirklich schöne Zeit mit Euch! Ich wünsche Euch allen Gesundheit, das nötige Quentchen Glück, Frohe Festtage und einen Guten Rutsch ins Neue Jahr 2016!


    Gruss, Euer
    P. Specht


    P.S.: Eine Gesamtübersicht über alle in den "ALGORITHMEN"-Kapiteln I bis X behandelten Themen findet sich in gezippter Form HIER. (Durch die lettzte Boardumstellung können alte Beitragsnummern um 1 - 2 Positionen versetzt sein - bitte ggf. prüfen!)

    HP255G7:Win10pro2.004,4*AMD Ryzen3200U@2.60GHz,6+2GB-RadeonVega/237GBSSD:intlDVDRW,3xUSB3 ext4TB-HDX,XProfanX3+Xasm/Xpse

    Einmal editiert, zuletzt von p. specht ()

  • Dann wünsche ich Dir viel Erfolg für Deine neuen Aufgaben. Wie ich Dich kenne, wirst Du das meisterhaft bewältigen :thumbup: Deine Beiträge waren immer interessant und haben auch zum Nachdenken angeregt. Danke dafür und ein besinnliches Weihnachtsfest.


    Gruß Volkmar

  • Hallo Peter,


    ich kann das völlig nachvollziehen und wünsche dir alles gute für deine neue Aufgabe! Rutsch gut hinein und die beste Wünsche für die Zukunft! :)

    Gruß, Frank

  • Danke, Frank! Bisher lässt es sich ganz gut an. Hoffe, Dir geht es auch gut!


    Ich darf heute ausnahmsweise wieder mal etwas auf unserer Mathe-Müllkippe deponieren (Geht um Stoffbahnen, die nicht mühsam jedesmal aufgerollt werden müssen, weil flach in Faltlagen aufbewahrt. Leider läßt sich das in der Praxis nicht so einfach realisieren wie ursprünglich angedacht).
    Gruss


    P.S.: Leute, Ihr lasst aus! Was'n los mit Euch?


    HP255G7:Win10pro2.004,4*AMD Ryzen3200U@2.60GHz,6+2GB-RadeonVega/237GBSSD:intlDVDRW,3xUSB3 ext4TB-HDX,XProfanX3+Xasm/Xpse

  • Freut mich, Frank. Auch Volkmar hält ja noch die Stellung!


    Hier noch etwas Trashware für unsere Müllkippe, mit Hinweis auf ein Youtube-Video, das zeigt wie das ursprünglich eigentlich wirklich aussehen sollte. Leider, Zeitmangel...


    Gruss

    HP255G7:Win10pro2.004,4*AMD Ryzen3200U@2.60GHz,6+2GB-RadeonVega/237GBSSD:intlDVDRW,3xUSB3 ext4TB-HDX,XProfanX3+Xasm/Xpse

  • Faszinierendes YouTube-Video. So macht Mathematik Spaß!


    Gruß
    Roland


    Nachtrag: Und natürlich musste ich auch Deine XProfan-Umsetzung ausprobieren. Gelungen!

    (Intel Duo E8400 3,0 GHz / 4 GB RAM / 250 GB HDD / ATI Radeon HD4770 512 MB / Windows Vista - ausgemustert zum Verkauf)
    AMD Athlon II X2 2,9 GHz / 8 GB RAM / 500 + 1000 GB HDD / ATI Radeon 3000 (onboard) / Windows 10(64) - XProfan X4


    http://www.xprofan.de

  • Danke, RGH! Ja, der Typ hat was am Kasten - auch seine anderen Mathe-Videos bringen es stets auf den Punkt bzw. geben gute Anregungen!


    Unicode
    =====
    Mich dagegen hat vor kurzem erstmals Unicode interessiert (Einleitendes Zeichen in Textfiles $FFFE). Dazu habe ich mal versuchsweise einen Dateigenerator für mehrere (alle?) Unicode-"Planes" erstellt. Nicht ausgereift - bitte Pfade stets selbst checken und anpassen. Wer die Datei mit dem Windoof-Editor bzw. Notepad öffnet (Das dauert ein wenig!), der findet doch einige neue Zeichen, die ganz brauchbar erscheinen.
    Gruss


    P.S.: Die Chinesen sind dem Vernehmen nach mit der Sortierreihenfolge nicht zufrieden...


    HP255G7:Win10pro2.004,4*AMD Ryzen3200U@2.60GHz,6+2GB-RadeonVega/237GBSSD:intlDVDRW,3xUSB3 ext4TB-HDX,XProfanX3+Xasm/Xpse

  • Die Zwei-Kreise-Frage
    ==============
    Gegeben sei ein großer, fester Kreis mit Radius R; Auf dessen Umfang rollt ein kleinerer Kreis mit einem Radius von genau r = R / 3 ohne Schlupf ab. Welche Anzahl an Umdrehungen macht der kleine Kreis bei genau einer Umrundung des großen Kreises?


    Zur Verwirrung noch einige Antwortmöglichkeiten: 2, 3, 3 1/2, 4, 5, 5 1/2, 6 oder 6 1/2


    HP255G7:Win10pro2.004,4*AMD Ryzen3200U@2.60GHz,6+2GB-RadeonVega/237GBSSD:intlDVDRW,3xUSB3 ext4TB-HDX,XProfanX3+Xasm/Xpse

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!