Abt. Künstliche Evolution
================
Lehrreiches Video (engl.) zur Verbindung von GPU-Computing (2009), KI (insb. "Deep Learning" (2012)) und Genetischen Algorithmen ("Künstliche Kreativität"): LINK
Gruss
ALGORITHMEN UND ANDERES ZEUG - Teil XIII
-
p. specht -
9. April 2017 um 12:18 -
Geschlossen
-
-
-
Abt. In Reih´ und Glied
===============
Aus der Schulmathematik ist vielen sicher noch der "kleine Gauß" geläufig: Der Lehrer wollte in Ruhe Zeitung lesen und stellte den Schülern daher die Aufgabe, alle Zahlen von 1 bis 100 zu addieren. Der junge Gauß bemerkte, daß 1+100=101, 2+99=101, 3+98=101,... bis 50+51 immer 101 ergab und knallte nach etwa 12 1/2 Sekunden (dramatisierte Version) seine Schiefertafel auf den Lehrertisch, angeblich mit den Worten "Ligget se!" (hdt.: Da liegt das Ergebnis!). Etwas allgemeiner formuliert lautet die Lösungsformel für derartige Probleme:
SUM( i | i=1 to N) = (N+1)*N / 2Archimedes, der geniale alte Grieche, war bei der Untersuchung seiner berühmten Spirale auf ein verwandtes Problem gestoßen und hatte es folgendermaßen gelöst:
SUM( i^2 | i=1 to N-1 ) = 1²+2²+3²+...+(n-1)² = n^3/3 - n^2/2 + n/6
Um Vergleichbarkeit mit dem Gauß-Problem herzustellen, wollen wir die Quadrate voll bis N aufaddieren. Die Formel wird nur wenig komplizierter:
SUM( i^2 | i=1 to n )= (n+1)^3/3-(n+1)^2/2+(n+1)/6Es ergibt sich nun in weiterer Folge die Frage, wie 1³+2³+3³+...+n³ formelmäßig ausgedrückt werden könnte. Nach mehreren Versuchen ergab sich dann dieser interessante Zusammenhang:
SUM( i^3 | i=1 to N) = ( N/2*(N+1) )^2 = KleinerGauß^2Gruss
P.S.: Anbei nochmal die Rechengesetze für Reihen (bzw. Teilsummen):
Spoiler anzeigen
SUM(x=1,n;G(x)+c) == n*c + SUM(g(x))SUM(x=1,n;a*G(x)) == a*SUM(g(x))
SUM(x=1,n;a*G(x)+c) == n*c + a*SUM(g(x))
SUM(x=1,n;G(x)+F(x))== SUM(x=1,n;G(x)) + SUM(x=1,n;F(x))
Arithmetische Reihen:
A(n)=n*(2*a1+(n-1)*d)/2 mit d=a2-a1Geometrische Reihen:
B(n)=b1*(q^n-1)/(q-1) mit q=b2/b1ANWENDUNGSBEISPIELE:
-----------------------------INVESTITIONSBEURTEILUNG DURCH BARWERTBERECHNUNG
Mit Periodenzinsfaktor q=1+p%/100, Dauer = n Perioden gilt:
* Nachschüssiger_Investitionsbarwert = NettoReturnJePeriode * (q^n-1)/(q^n*(q-1))
Man kann aber auch den erwarteten ENDWERT zum Vergleich heranziehen:
Investitionsendwert Ev = NettoReturnJePeriode * (q^n-1)/(q-1) = InvBarwert * q^n* Wenn vorschüssig:
Ev=R*q*(q^n-1)/(q-1), Bv=R*(q^n-1)/(q^(n-1)*(q-1))
mit En = Bn*q^n bzw. Ev=En*q, Bv = Bn*q (da 1. Periode schon zählt). -
Abt. Geile Schnitte
============
Mit Schnitten kann man Dinge teilen - auch mathematische Dinge wie z.B.:Linien:
* 1 Punkt auf einer Linie trennt diese in 2 Hälften.
* n Punkte auf einer Linie trennen diese in n+1 Abschnitte.Ebenen:
Hier sind folgende Überlegungen ausschlaggebend:
n Linien trennen bei geeigneter Lage ein Gebiet in max. a(n) Gebiete,
n+1 Linien trennen diese Gebiete in max. a_n+1 = a_n + (n+1) Gebiete,
nämlich die bisherigen plus n+1 neue Gebiete! Nichtrekursiv bedeutet das:
* Max. Anzahl der Gebiete a_n = 1 + n*(n+1)/2 = (n^2+n+2)/2Und wie steht es mit Teilungen des
3D-Raumes durch Ebenen?
* n Ebenen zerlegen den Euklidischen Raum in maximal r_n Teilräume:
r_n+1 = r_n + a_n , wobei
r_n= 1 + a0+a1+a2+...+a(n-1) mit a(k) = (k^2+k)/2+1, mit anderen Worten:
r_n= 1 + SUM(k=0..n-1; a_k) = maximale Zahl an Teilräumen r,
in die n Ebenen den 3D-Raum zerlegen. Nichtrekursiv ausgedrückt gilt dann:r_n = (n^3+5*n+6)/6 (Steiner-Formel)
Gruss
P.S.: Clever, dieser Jakob Steiner! Ihm verdanken wir auch viele weitere technisch wichtige Erkenntnisse, etwa zu Trägheitsachsen (Steinerscher Satz) oder in der Statistik (Verschiebungssatz)
-
Abt. Programmierprojekte
================
Anders als wir Hobbyisten sind EDV-Softwareschmieden gehalten, Ihre Angebote auf einer realistischen Abschätzung des erforderlichen Aufwandes basieren zu lassen (plus branchenüblicher Gewinnaufschlag). In einem engl. Youtube-Video wurde dabei folgendes 12-Schritte-Modell als Basis für die Abschätzung des nötigen Personaleinsatz-Aufwandes genommen:1. Beschreibung der Ausgangssituation
2. Detaillierte Problembeschreibung
3. Lösungsideen
4. Lösungsauswahl, Pflichtenheft, Vertragsunterzeichnung
5. Umsetzungskonzepte, Wahl der Sprache
6. Zerlegung in Teilschritte/Teilprobleme
7. Umsetzungsvariantenauswahl
8. Programmmodule bzw. Klassen realisieren
9. Funktionen bzw. Methoden schaffen
10. Performance-Check bzw. nötige Maschinennähe
11. Funktionstest bzw. Qualitätskontrolle, Nachbetreuung, Einschulung
12. Synthese des Gesamtdesigns, Dokumentation, RechnungsabschlußKlingt irgendwie logisch, setzt aber viel Erfahrung zum Zeitaufwand in den einzelnen Phasen voraus.
Viele Hobby-Programmierer würden m.E. so manches Projekt sein lassen, gäben sie sich Rechenschaft über den tatsächlich notwendigen Aufwand... Mit anderen Worten: Gut, daß ich davon keine Ahnung habe!Gruss
-
Abt. Reihen
=======
waren ein Hauptthema von Leonhard Euler, der zuerst sein rechtes Auge wegen einer Infektion verlor und einige Jahre später wegen Grauem Star (damals inoperabel) auch links sein Augenlicht verlor. Seine Produktivität, gemessen an mathematischen Veröffentlichungen, machte in der Folge einen Sprung: NACH OBEN! Schließlich hatte er die überlebenden fünf seiner 13 Kinder zu ernähren!
Insgesamt 96 (!) wissenschaftliche Innovationen und 57 Bände mathematische Literatur verdanken wir seinem phänomenal guten Gedächtnis (Gauß z.B. kam später lediglich auf 40 mathematische Veröffentlichungen).Einfachstes Beispiel einer Euler´schen Produktreihe:
SUM( log(i); i=1 to N) = log(PROD( i; i=1 to N))
GrussP.S.: Prüfprogramm anbei:
Code
Alles anzeigencls set("Numwidth",20) set("decimals",15) declare i&,n&,s!,p! print " N SUM(LN(i)) = LN(PROD(i))" whileloop 30:n&=&Loop clear s!,p! whileloop n&:i&=&Loop s!=s!+ln(i&) endwhile p!=1 whileloop n&:i&=&Loop p!=p!*i& endwhile print " n=";if(n&<10," ","");trim$(str$(n&)),s!,ln(p!) endwhile waitinput
-
Abt. Polynominversion
==============
Durch Polynomanpassung (Polynome sind ja sozusagen das Gummi-Lineal der Mathematik) kann so manche Formel für Vorgänge in Natur, Wirtschaft und Technik gefunden werden, die zwar einen Zusammenhang beschreibt, der aber nicht kausal erklärt werden kann: Etwa wenn Börsennotierungen (Input) von Firmen mit der Anzahl freigesetzter Mitarbeiter (Output) zusammenzuhängen scheinen.Um mehr Erklärungskraft zu erzeugen, hilft dann manchmal Formel-Inversion, sprich: Die Umstellung der Formel nach der anderen Seite. Man versucht dadurch, die Ergebnisvariable mit der unabhängogen Variable zu vertauschen und dabei eine "Gegenformel" zu finden: Wirkt sich die Freisetzung von Mitarbeitern (Input) auf den Börsenkurs (Output) aus, weil z.B. sinkende Lohnkosten die Coupon-schneidenden Aktionäre und kurzsichtigen Spekulanten auf größere Gewinnausschüttungen hoffen lassen? Verrückte Welt...
Anbei ein Programm zur Polynominversion im obigen Sinne.
GrussP.S.: Das Programm kann Formeln bis zum Grad 7 invertieren, der Koeffizient a1 darf dabei aber nicht Null sein!
Code
Alles anzeigenWindowtitle "Polynom-Inversion: Aus Y=a0+a1*X+a2*x^2+... wird X=b0+b1*Y+b2*X^2+..." Windowstyle 24:Cls '(D) Demo 2017-05 by P.Specht, Vienna/EU. No warranty whatsoever! '**************************************************** '* Program to demonstrate the series reversion * '* ------------------------------------------------ * '* Reference: BASIC Scientific Subroutines, Vol. II * '* By F.R. Ruckdeschel, BYTE/McGRAWW-HILL, 1981 [1].* '* * '* F90 Version by J.-P. Moreau, Paris. * '* (www.jpmoreau.fr) * '* XProfan 11.2 Version by P.Specht, Vienna/Austria * '* ------------------------------------------------ * '* SAMPLE RUN: * '* What is the degree of the input polynomial: 3 * '* * '* Input the coefficients as prompted: * '* * '* A( 0) = 1 * '* A( 1) = 1 * '* A( 2) = 1 * '* A( 3) = 1 * '* * '* The reversed polynomial coefficients are: * '* * '* B( 0) = 9 * '* B( 1) = 1 * '* B( 2) = 0 * '* B( 3) = -1 * '* B( 4) = 0 * '* B( 5) = 3 * '* B( 6) = 0 * '* B( 7) = -12 * '* * '**************************************************** Set("decimals",15)_Declare A![10],B![10],i&,n&,z! Print "\n Grad des Polynoms?: ";:Input n& Print "\n Bitte die Koeffizienten des Polynoms wie abgefragte eingeben:\n" WhileLoop 0,n&:i& = &Loop Print " a(";i&;") = ";:Input z!:A![i&]=z! EndWhile:Print Reverse_coeff(A![],B![]) ::::ClearClip If A![1]<>0 print " Die reversen Polynom-Koeffizienten lauten:\n" WhileLoop 0,7:i&=&Loop If Abs(B![i&]) < Val("1e-20") B![i&] = 0 EndIf Print " b(";i&;") = ";Format$("%g",B![i&]) ::::PutClip Format$("%g",B![i&])+"," EndWhile EndIf:Print "\n OK" WaitInput:END Proc Reverse_coeff :Parameters A![],B![] '****************************************************** '* Series reversion - This routine takes a polynomial * '* Y = A(0) + A(1) * X + ... and returns a polynomial * '* X = B(0) + B(1) * Y + ... A(1) must be <> 0. * '* The degree of reversion is limited to seven. * '* -------------------------------------------------- * '* Reference: CRC Standard Mathematical Tables, * '* 24th edition. * '****************************************************** Declare a1!,a2!,a3!,a4!,a5!,a6!,a7!,aa!,bb! a1!=A![1] a2!=0 If a1!=0 print " Fehler: Division durch 0! A(1) darf nicht Null sein!":Return else B![1]=1/a1! aa!=1/a1! EndIf bb!=aa!*aa! aa!=aa!*bb! B![2]=-a2!/aa! a3!=A![3] aa!=aa!*bb! B![3]=aa!*(2*a2!*a2! - a1!*a3!) a4!=A![4] aa!=aa!*bb! B![4]=aa!*(5*a1!*a2!*a3! - a1!*a1!*a4! - 5*a2!*a2!*a2!) a5!=A![5] aa!=aa!*bb! B![5]=6*a1!*a1!*a2!*a4! + 3*a1!*a1!*a3!*a3! + 14*a2!*a2!*a2!*a2! B![5]=B![5] - a1!*a1!*a1!*a5! - 21*a1!*a2!*a2!*a3! B![5]=aa!*B![5] a6!=A![6] aa!=aa!*bb! B![6]=7*a1!*a1!*a1!*a2!*a5! + 7*a1!*a1!*a1!*a3!*a4! + 84*a1!*a2!*a2!*a2!*a3! B![6]=B![6] - a1!*a1!*a1!*a1!*a6! - 28*a1!*a1!*a2!*a2!*a4! B![6]=B![6] - 28*a1!*a1!*a2!*a3!*a3! - 42*a2!*a2!*a2!*a2!*a2! B![6]=aa!*B![6] a7!=A![7] aa!=aa!*bb! B![7]=8*a1!*a1!*a1!*a1!*a2!*a6! + 8*a1!*a1!*a1!*a1!*a3!*a5! B![7]=B![7] + 4*a1!*a1!*a1!*a1!*a4!*a4! + 120*a1!*a1!*a2!*a2!*a2!*a4! B![7]=B![7] + 180*a1!*a1!*a2!*a2!*a3!*a3! + 132*a2!*a2!*a2!*a2!*a2!*a2! B![7]=B![7] - a1!*a1!*a1!*a1!*a1!*a7! - 36*a1!*a1!*a1!*a2!*a2!*a5! B![7]=B![7] - 72*a1!*a1!*a1!*a2!*a3!*a4! - 12*a1!*a1!*a1!*a3!*a3!*a3! B![7]=B![7] - 330*a1!*a2!*a2!*a2!*a2!*a3! B![7]=aa!*B![7] B![0]=0 aa!=A![0] WhileLoop 1,7:i&=&Loop B![0]=B![0] - B![i&]*aa! aa!=aa!*A![0] EndWhile EndProc ' End of file reverse.prf
-
Abt. Gegenwartsforschung?
=================
Viele Politiker denken immer noch, der Staat müsse in Konjunkturtälern Schulden machen, die er in Hockkonjunkturzeiten wieder zurückzahlt (... hat er aber nie!). Doch gegenwärtig gibt es keine identifizierbare Konjunktur-Wellen mehr (sondern -Umbrüche und -Gischt) und auch die Inflationsrate blieb lange unter 2,2 % (weil die Gehälter, anders als die Firmengewinne, seit ca. 20 Jahren netto nicht mehr steigen).Mit anderen Worten: Alte Modelle über Ursachen und Wirkungen stimmen nicht mehr. Nichtmal theoretisch. Auch Prof. Gunter Dueck sieht deshalb Re-orientierungsbedarf, analysiert und seziert in diesem Vortrag aber auch die Beharrungs- und Trägheitskräfte der Gesellschaft. Meine Folgerung daraus: Unsere Staatslenker brauchen keine Zukunftsforschung mehr, sondern Gegenwartsforschung!
Gruss
P.S.: Auch jüngere Vorträge von Herrn Dr. Dueck behandeln dieses Thema (Ok, damit oute ich mich nun endgültig als Dueck-Fan).
-
Abt. Kommt das Internet of Things IoT mit JSON ?
================================
Es ist soweit: Das Internet der Dinge verspricht nun doch, eine heisse Sache zu werden: Vernetzung von Haushaltsgeräten, Alarmanlagen, intelligenten Kühlschränken etc. hat sachlich Vorteile, stiftet aber auch Nutzen puncto Bequemlichkeit, Komfort, Wellness - natürlich auch Prestige für die Pioniere dieser Technologie. Nachteile wie Abhängigkeit von Technologie und Elektrizität sowie ständige Überwachbarkeit von Aufenthaltsort und Tätigkeit werden von Otto Normalverbraucher vermutlich ignoriert werden.Darüber hinaus sind für Bastler nun auch schon empfindliche Sensoren, Mess- und Regelteile preiswert verfügbar, die via WIFI- und anderen digitalen Netzen vom echten "Home-Computer" als elektronischen Hausmeister auslesbar und fernsteuerbar sind. Zusammen mit neu aufkommenden Internetdiensten, die Daten in computerlesbarer Form (via XML oder JSON) zur Verfügung stellen, ergeben sich neue Automatisierungs- und Einsatzmöglichkeiten:
* Lichtsteuerung, Pflanzenbewässerung, Beschattung, Rolladensteuerung,
* Logistik bis hin zur Schnäppchenjagd,
* "Nie wieder Hochzeitstag vergessen samt automatischer Geschenk-Beschaffung" bis zu
* echten Sicherheitsanwendungen mit automatischem Polizei-, Rettungs- oder Feuerwehrnotruf,
* Heimkontrolle via netfähiger Kamera per Handy, Seniorenalarm bei Nichtbewegung, ...
* Garagentorfernsteuerung, Heizungskontrolle selbst von anderen Kontinenten aus,
* Tourenplanung mit öffentlichen Verkehrsmitteln, mit Minutencountdown ...
* Gesundheitsüberwachung, Sport nach anerkannten Trainingsprogrammen, Lehren und Lernen,
* ... und das wird noch lange nicht alles sein, denkbar sind z.B. neue Dienste wie Einholung meiiner Einkaufsrechnungen in maschinenlesebarer Form (via e-mail?) für die persönliche Finanzübersicht.Alle Bausteine dazu stehen nun preiswert zur Verfügung, wie der interessanten Youtube-Serie (engl.) eines Schweizer Bastlers zu entnehmen ist.
GrussP.S.: Das sollte keine Werbung für XProfan X4 und dessen JSON-Fähigleit sein, aber für diese kommende Welt ist man damit jedenfalls gut vorbereitet!
-
Abt. Berühmte mathematische Formel- und Tabellensammlung
=======================================
Die Chemical Rubber Coproration CRC aus Cleveland, Ohio war und ist berühmt für ihre übersichtlich gegliederte Formelsammlung, die seit 1964 herausgegeben wird. Während der Letztstand zwar schon in 31ster Auflage vorliegt, erhalten dieses Werk nur ausgesucht gute Kunden. Eine 634-seitige Ausgabe (21. Auflage) als pdf im Internet zu finden ist deshalb geradezu sensationell.Gruss
-
Abt. Explizite Formeln für Exponentialreihen
============================
In Beitrag 42 weiter oben war ich doch recht stolz, die explizite Formel für die Summe von
1^3+2^3+3^3+...+n^3 als Quadrat der Gaußschen Summenformel gefunden zu haben.
In der Mathematik (geistiger Höchstleistungssport) sollte man als Normalo heutzutage mit Sicherheit nicht mehr an eigene "mathematische Erstbesteigungen" glauben - die Enttäuschung folgt sonst auf dem Fuße. So erging es auch mir: Herr Festungsbaumeister Johannes Faulhaber kam mir ein bisschen zuvor und hat dieses Problem in ganz allgemeiner Form schon A.D. 1598 (!) gelöst:Die FAULHABERsche FORMEL lautet: Die SUMME aller (i=0..N mit i^k) =
1/(k+1)*SUMME(j=0..k: Binomial(k+1 über j )*(j.te Bernoullizahl)*n^(k+1−j)Gruss
P.S.: Dazu im Spoiler die expliziten Werte bis zur 12. Potenz in Freeprofan-geeigneter Form
Spoiler anzeigen
1^0+2^0+3^0+...+n^0 = n
1^1+2^1+3^1+...+n^1 = 1/2*n^2+1/2*n (Gaußsche Summenformel)
1^2+2^2+3^2+...+n^2 = 1/3*n^3+1/2*n^2+1/6*n (Quadratische Pyramidalzahl)
1^3+2^3+3^3+...+n^3 = 1/4*n^4+1/2*n^3+1/4*n^2 (Quadrat der Summe der ersten n Zahlen)
1^4+2^4+3^4+...+n^4 = 1/5*n^5+1/2*n^4+1/3*n^3−1/30*n
1^5+2^5+3^5+...+n^5 = 1/6*n^6+1/2*n^5+5/12*n^4−1/12*n^2
1^6+2^6+3^6+...+n^6 = 1/7*n^7+1/2*n^6+1/2*n^5−1/6*n^3+1/42*n
1^7+2^7+3^7+...+n^7 = 1/8*n^8+1/2*n^7+7/12*n^6−7/24*n^4+1/12*n^2
1^8+2^8+3^8+...+n^8 = 1/9*n^9+1/2*n^8+2/3*n^7−7/15*n^5+2/9*n^3−1/30*n
1^9+2^9+3^9+...+n^9 = 1/10*n^10+1/2*n^9+3/4*n^8−7/10*n^6+1/2*n^4−3/20*n^2
1^10+2^10+3^10+...+n^10 = 1/11*n^11+1/2*n^10+5/6*n^9−n^7+n^5-1/2*n^3+5/66*n
1^11+2^11+3^11+...+n^11 = 1/12*n^12+1/2*n^11+11/12*n^10−11/8*n^8+11/6*n^6−11/8*n^4+5/12*n^2
1^12+2^12+3^12+...+n^12 = 1/13*n^13+1/2*n^12+n^11−11/6*n^9+22/7*n^7−33/10*n^5+5/3*n^3−691/2730*n -
Abt. Höhere Programmierparadigmen
=======================
(Auszug aus den Mitschriften zu einem Youtube-Vortrag)Thema "Use Cases" (Business rules)
Beispiele für problemspezifische Anwendungsschemata
------------------------------------------------------------
Auftragsannahme (Programmiert als Device-Independent Business rule)Daten:
- kundenID
- - Kunden-Kontaktinfo
- Lieferadresse
- Versandart
- ZahlungsinformationenErst-Abfolge:
- Verkaufsinnendienst startet Auftrag und gibt obige Daten ein
- Das System überprüft alle Eingaben
- System schafft Auftragsschein und vergibt AuftragsID
- System exekutiert Auftrag via Zuständige StellenAusnahmevorgänge:
z.B: Datenvalidierungsfehler
- System zeigt Fehler an
- - und bietet Verbesserungsmöglichkeit
- - oder Vorgangsabbruch an.Gegenbeispiel, wann Datenisolierung nicht möglich ist:
----------------
"Auftragsabwicklung" ist als Business rule notwendigerweise Process- and Device-dependentGruss
-
Abt. Bernoulli-Zahlen
=============
In Beitrag 50 kommen die sog. Bernoulli-Zahlen (gesprochen ´Bernui´) vor. Die Familie Bernoulli stammte ursprüngliche aus den Niederlanden und wanderte via Frankfurt am Main schließlich nach Basel in der Schweiz ein. Sie brachte vom 17. Jahrhundert an bis heute begabte Mathematiker, Physiker und Wissenschaftler hervor.Die Entdeckung der Bernoulli-Zahlen um ca. 1703 (veröffentlicht erst 1713, also 8 Jahre nach seinem Ableben) verdanken wir Jakob (I.) Bernoulli. Anlaß war tatsächlich das in Beitrag 50 geschilderte Problem, allerdings findet sich die Hauptanwendung der Bernoulli-Zahlen heute in der sog. Euler-MacLaurin-Formel, die eine numerische Approximation des "Bestimmten Integrals" durch Einsetzen der Ableitung an den Integrationsgrenzen erlaubt.
Anbei ein Programm zur Berechnung dieser Zahlenwerte bis zur 28. Bernoullizahl.
Gruss
P.S.: Eines der ersten Programme der Welt beschäftigte sich mit der Berechnung dieser Bernoulli-Zahlen. Es stammte 1843 aus einer Veröffentlichung von Lady Ada Lovelace, der ersten Programmiererin der Welt, und war für den ersten echten (Turing-mächtigen) Computer der Welt gedacht, die Analytical Engine von Charles Babbage (... leider nie fertiggestellt).
Code
Alles anzeigenWindowTitle "Die BERNOULLI-ZAHLEN bis B_28 berechnen":WindowStyle 24:CLS Set("decimals",17) '********************************************************************* '* This program computes Bernoulli number Bn using subroutine BERNOA * '* ----------------------------------------------------------------- * '* SAMPLE RUN: * '* * '* Compute Bernoulli number Bn for n = 0,1,...,10. * '* * '* Please enter Nmax: 10 * '* * '* n Bn * '* -------------------------- * '* 0 0.100000000000D+01 * '* 1 -0.500000000000D+00 * '* 2 0.166666666667D+00 * '* 4 -0.333333333333D-01 * '* 6 0.238095238095D-01 * '* 8 -0.333333333333D-01 * '* 10 0.757575757576D-01 * '* -------------------------- * '* * '* ----------------------------------------------------------------- * '* REFERENCE: "Fortran Routines for Computation of Special Functions,* '* jin.ece.uiuc.edu/routines/routines.html". * '* F90 Release By J-P Moreau, Paris. * '* (www.jpmoreau.fr) * '* * '* XProfan 11.2a-Version by P.Specht, Vienna/Austria * '* No warranty whatsoever! * '********************************************************************* ' PROGRAM MBERNOA Declare B![200],n&,k& Print nochma: Print "\n Bitte Nmax eingeben: ";:Input N& If n&>29:Print " Zu groß!":goto "nochma":endif BERNOA(N&,B![]) Print "\n n Bn " Print "---------------------------" Print " ";0,Tab(11);Format$("%g",B![0]) Print " ";1,Tab(11);Format$("%g",B![1]) WhileLoop 2,N&,2:k&=&Loop Print " ";k&,Tab(11);Format$("%g",B![k&]) EndWhile Print "---------------------------" WaitInput END Proc BERNOA :Parameters N&,BN![] ' ====================================== ' Purpose: Compute Bernoulli number Bn ' Input : n --- Serial number ' Output: BN(n) --- Bn ' ====================================== ' IMPLICIT DOUBLE PRECISION (A-H,O-Z) Declare S!,R!,j&,k&,m& BN![0]=1 BN![1]=-0.5 WhileLoop 2,n&:m&=&Loop S!=-(1.0e0/(M&+1)-0.5) WhileLoop 2,M&-1:k&=&Loop R!=1 WhileLoop 2,K&:j&=&Loop R!=R!*(J&+M&-K&)/J& EndWhile S!=S!-R!*BN![K&] EndWhile BN![M&]=S! EndWhile WhileLoop 3,N&,2:m&=&Loop BN![M&]=0 EndWhile Return EndProc ' end of file mbernoa.prf
-
Abt. Zukunftsfeste Aus- und Weiterbildung
===========================
Umbrüche fordern Opfer. Den gehorsamen Anweisungsausführer von Standardprozessen wird es in Kürze nicht mehr geben. Beispiel: Jobabbau bei Banken und Ersatz der Ein- und Auszahlungs-Funktionen von Bankkassieren durch Automaten. Und alles was man auch googlen kann erfordert in Zukunft keine menschlichen Berater mehr, die mit standardisierten Frage-Antwortspielen individuelle Spar- und Investitionspläne erarbeiten: Prof Dr. Gunter Dueck nennt diese "Flachbildschirm-Rückseitenberater". Er forderte schon 2011 konsequent ein neues Bildungssystem, das experimentier- und innovationsfreudige Charaktere zum Bildungsideal macht (Youtube-Link).
GrussP.S. (Meinung:) Die Produktionsmittel konzentrieren sich also noch mehr auf wenige Unternehmen. Wird wohl Zeit, a la long die 20-Stundenwoche zu fordern, soll es nicht zur Armutsfalle für fast alle kommen... Wer dagegen ist, kann ja sein christliches Gewissen erforschen und unbezahlt mehrarbeiten...
-
Abt. Gültigkeit von JSON-Datenstrukturen
==========================
kann man auf der Internetseite https://jsonlint.com/ per copy & paste überprüfen lassen. Selbstverständlich nicht mit Echtdaten, da vermutlich Namen und mail-Adressen gesammelt werden - wie immer bei Gratis-Services. Auch die Feldnamen könnten für Betriebsspionage ganz interessant sein, was bei privaten Anwendungen aber vermutlich nicht ins Gewicht fällt. Ein deutsches Tutorial ist auch verfügbar.Gruss
P.S. - Mein Kommentar: Zum üben ganz gut...
-
Internet-Prognose 2017
===============
Ausgangsbasis: 3.4 Milliarden Internetuser bei 10% Wachstum / Jahr
Trends:
1. Solides Smartphone-Wachstum, wird aber langsamer (10% gegenüber 20% p.a.)
2. Online-Werbung wird Onlineshop, bereits messbar, noch leichter handhabbar
3. Interaktive Spiele stellen eine Lawine von Produktinnovationen bereit und
__ werden die Basis für moderne Aus- und Weiterbildungssysteme (Webinars, MOOC etc)
4. Medien wie Videos, Musik-& Spiele-DVDs, Bücher etc erfahren weitere Verkaufseinbrüche
__ Statt dessen wachsen Bezahl-Streamingdienste wie Spotify (+9%)
5. Das Chinesische Internet wird Basis weltweiter Unterhaltung und Inhaltsübermittlung
__ (US capital fonds investieren dort kräftig)
6. Das Indische Internet entwickelt starke Konkurrenz zum Nutzen der Konsumenten
7. Es entstehen Crowdfinanzierte Public-Private Partnership-Unternehmen
8. Großflächig entstehen Data-Centers weltweit.
9. Das Gesundheitswesen profitiert als erstes vom den Durchbrüchen bei KI
10. Weltweite BranchenClouds erlauben firmenübergreifende Just-in-time Supply-ChainsGruss
P.S.: Quelle: Mehrere U.S.-Youtubevorträge
-
Abt. Nichtganzzahlige Ableitungen
=========================
Den Anstieg ZWISCHEN zwei Punkten zu definieren ist leicht: Um wieviel ändert sich die Höhe h, wenn ich z.B. eine Einheit (z.B. einen Meter) nach rechts (oder links) gehe: Anstieg = (h2 - h1)/(x2-x1). Komplizierter wird die Sache, wenn man den Anstieg in einem EINZIGEN Punkt definieren will: x2 = x1 bedeutet ja Division durch Null, und das geht bekanntlich nicht.Leibnitz und Newton sei Dank - wissen wir doch aus der Schule, was eine Ableitung an der Stelle x einer Funktion f(x) ist. Die Lösung für das EIN-Punkt-Problem bei der Suche des Anstieges lautet also: Die Ableitung einer Funktion y=f(x) nach der x-Achse ist dy/dx (de-ypsilon nach de-ix), und bei den meisten Funktionen folgt sie einfachen, relativ leicht zu merkenden Umwandlungsregeln, die man auf die betrachtete Funktion anwendet. Anm.: Es gibt kompliziertere Funktionen, die haben z.B. komplexe Ableitungen. Mache Funktionen haben garkeine oder sie bleibt undefiniert (Anstieg an einem Kantenpunkt beispielsweise).
Bei vielen Funktionen lassen sich auch Ableitungen von Ableitungen bilden: Die erste Ableitung des Ortes nach der Zeit ist z.B. die Geschwindigkeit, die zweite Ableitung (die Änderung der Geschwindigkeit nach der Zeit) gibt die Beschleunigung an usw. usw. Wir kennen dann die 1., 2., 3. Ableitung usw., also die meisten ganzzahligen Ableitungen.
Ein relativ neuer Zweig der Mathematik beschäftigt sich nun mit der Frage, ob es auch gebrochenzahlige Ableitungen (Youtube: "Fractional calculus") gibt! Was wäre denn z.B. die 2 1/2 -te Ableitung von y=x^4?
Auch für gebrochenzahlige Ableitungen gibt es reale Anwendungsfälle: Sie erlauben beispielsweise in der Steuer- und Regeltechnik, die Ausregelzeit bei Störungen zu minimieren, ohne daß Sollwerte überregelt werden (Gefahr bei Störgrößenaufschaltung) oder aber nicht so richtig erreicht werden. Forscher bilden damit auch Modelle des Verhaltens von Menschenansammlungen in Panik-geneigten Situationen, tragen so zur Sicherheit bei.
Aber wie berechnen? Dazu mußte man sich genauer ansehen, wie eigentlich aus der Zweipunkt-Anstiegsformel die Einpunkt-Anstiegsformeln folgen. Man erhält diese durch einen Grenzwert-Übergang (Limes, lim), wenn die Differenz zwischen x2 und x1 -siehe oben- gegen Null geht. Die n.te Ableitung einer Funktion ergibt sich dann zu:
d^n(f(x))/dx^n = lim(eps>>>0;{1/eps^2*SUM(j=0..n; (-1)^j * BinCoeff(n,j)*(x-j*eps))}
Für ganzzahlige Ableitungen liefert diese Formel die selben Ergebnisse wie die nach Ableitungsregeln ermittelten. Aus der vorstehenden Formel sehen wir aber: Wir brauchen offenbar gebrochenzahlige Binärkoeffizienten! Gibt es die?
Ja, weil es n! auch für nichtganze n gibt: Die sog. Gamma-Funktion. Daraus folgt z.B. für n = -1/2: T_(1/2)=sqrt(pi())
bzw. für beliebige n: T_(n). An ganzzahligen Stellen stimmt T_(n) mit (n-1)! überein, ansonsten sind diese Werte tabelliert. Folglich lässt sich auch ein gebrochener Binärkoeffizient errechnen: Statt Bincoeff(n über j) schreiben wir T_(z+1)/T_(z+1-j) mit z aus |R. Daher wird aus der iterativen obigen Formel nun für die z. Ableitung:d^z(f(x))/dx^z = Limes(eps>>>0; {1/eps^z*SUM[j=0..abs((x-x0)/eps); T_(z+1)/(j!*T_(z+1-j)) * f(x-j*eps) ]}
und die Sache ist bestmöglich geregelt. Die Formel wird uns z.B. in fahrerlosen Autos begegnen, erlaubt sie doch noch schnellere Reaktionen als alle klassischen Regelkreise!
Gruss
-
Youtube-Link (engl.): HACK einer 230V Fernsteuerbaren LED-Leuchte (Integration ins Internet of Things IoT)
-
Abt. Chancenungleichheit
================
Die Wahrscheinlichkeit, daß du in einem Haus mit ungeradzahliger Hausnummer wohnst,
beträgt 50,2 %.
Wieso?Spoiler anzeigen
Es gibt gleich viele Strassen mit geradzahliger wie ungeradzagliger Häuserzahl. Ungeradzahlige haben aber 1 Haus mehr mit ungeradere Hausnummer.
Die Zahl 50,2% ist statistisch bewiesen! -
Abt. Wunderzahlen
============
13*53^2*3853*96179=
13.532.385.396.179
...gefunden von James David (kein Mathematiker) in einem Wettbewerb. Preisgeld: 1000 $ !
Das Beispiel widerlegt eine Hypothese von J.H.Conway (u.a. Erfinder des Spiels LIFE) , dass sukzessives Primfaktorzerlegen mit anschließendem "Herabziehen" stets in einer einzigen großen Primzahl endet.Oder:
Hier eine Formel (gefunden von Richard Savey in 2004), die jeweils alle Ziffern von 1 bis 9 enthält:
(1+9^-4^(6*7))^3^2^85 = exp(1), - die Eulersche Zahl, Basis des natürlichen Logarithmus, auf die unglaubliche Genauigkeit von 18.457.734.525.360.901.453.873.569 Kommastellen genau! (Achtung, XProfan braucht bei Hoch-Zahlen hoch Zahlen Klammerung, um die mathematisch richtige Berechnungsreihenfolge sicherzustellen!)
GrussP.S.: Normalos können also doch noch was Neues finden! Quelle: Youtube
-
Abt. Partitionen zählen
==============
Anbei ein rekursives Zählprogramm für die Anzahl möglicher Zerschnipselungen (="Partitionen") eines N Einheiten langen Stabes (="Anordnung von Elementen") in Teilstrecken der Länge von 1 bis maximal M (= "Klassen bis Klassengröße M").
GrussCode
Alles anzeigenWindowTitle "Teilungsmöglichkeiten zählen":WindowStyle 24:cls Print "\n Dieses Programm zählt die möglichen Teilungen von N Elementen" print "\n für zulässige Teilungsgrößen von 1 bis M Elementen.\n" declare n&,m&,count! nochmal: clear n&,m&,count! print "\n Gesamtlänge N = ";:input n& print "\n Max. Teillänge M = ";:input m& print "\n Count ergibt ";format$("%g",Count_partitions(n&,m&));" mögliche Teilungen!\n" waitinput:cls:goto "nochmal" proc count_partitions :parameters n&,m& if n&=0:return 1 elseif n&<0:return 0 elseif m&=0:return 0 else return count_partitions(n&-m&,m&)+count_partitions(n&,m&-1) endif Endproc
P.S. Probe: count(6,4) sollte 9 ergeben:
6 = 2 + 4
6 = 1 + 1 + 4
6 = 3 + 36 = 1 + 2 + 3
6 = 1 + 1 + 1 + 3
6 = 2 + 2 + 26 = 1 + 1 + 2 + 2
6 = 1 + 1 + 1 + 1 + 2
6 = 1 + 1 + 1 + 1 + 1 + 1... stimmt also!
-
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!