Samstag, 30. November 2013

Willis Dysart

Ich las unlängst einen Bericht über den Rechenkünstler Willis Nelson Dysart. Er wurde 1923 in den USA geboren.

Ungewöhnlich fand ich seine Methode der Berechnung des Wochentags für ein genanntes Datum:

Dysart ging vom Wochentag des aktuellen Datums aus und ermittelte die Verschiebung des Wochentags für den Zeitraum, der seit dem genannten Datum vergangen war!
 
Dazu ermittelte er für den Zeitraum die Anzahl der Tage und teilte sie durch Sieben. Mit dem Siebenrest korrigierte er anschließend den aktuellen Wochentag.

Gewöhnlich rechnet man umgekehrt und ermittelt die Verschiebung des Wochentags für den Zeitraum, der seit einem fixen Datum (meist 1.Januar 1900)  bis zum genannten Datum vergangen ist. Die Verschiebung ermittelt man additiv aus bekannten Verschiebungen für fixe Zeitabschnitte wie Jahrhunderte, Jahre, Monate und Tage. 

Samstag, 5. Oktober 2013

Alles schon dagewesen ..., Teil II

Ich war stolz, im Abschnitt "Jahrhundertbezogene Monatskennzahl" meiner Enzyklopädie eine Lösung präsentieren zu können, die eine Reduktion der üblichen Four Offset-Berechnung des Wochentags zur Three Offset-Berechnung erlaubt. Die Berechnung wird dadurch um einen Berechnungsschritt verkürzt. 

Im Verlauf meiner Recherchen zum Thema habe ich unlängst festgestellt, dass eine fast identische Lösung bereits vor über 100 Jahren veröffentlicht wurde!
H. G. Cleveland: „To Find Day Of Month For Any Given Date“; Stanyon’s Magic, Nr. 10,
67/68, June, 1910.
Selbst die Einbindung von Mnemotechnik war ähnlich!

Das zeigt, wie auch tolle Ideen durch Ignoranz in Vergessenheit geraten können. Recherche lohnt sich!

Freitag, 20. September 2013

Alles schon dagewesen ..., Teil I

Endlich konnte ich dank Al Stanger eine meiner Vermutungen bestätigen.
Immer wieder wird in diesem Jahrhundert die Komplement-Methode von William W. Durbin [1] wiederentdeckt.
So von  Eisele, Walters und Goddard [2-4] und anderen. Und unlängst in einem Forumsbeitrag von Cram [5]. Dabei wurde diese Methode schon 1927 von Durbin und Rogent publiziert, was ich bisher nur vermuten konnte, da mir die Originalquelle fehlt.. 

Man kann die Jahreskennzahl E eines Jahres E durch den Bezug auf das vorhergehende
und ohne Rest durch Vier teilbare Jahr E’ (mit Ausnahme von Säkularjahren ein Schaltjahr, ) berechnen. Das Jahr E wird dafür in Schaltjahr plus Folgejahre zerlegt.

Das einem Jahr E vorhergehende, durch Vier teilbare (Schalt)-Jahr E’, wird durch Zwei geteilt. Vom Quotienten werden die vorher vernachlässigten Jahre abgezogen.

Das Komplement E+ ist das Datum des ersten Januarsonntags – quasi der Sonntagsbuchstabe LD:        E+ = LD = (E’/2 – E4)
(Der Bezug auf den Sonntagsbuchstaben ist bisher so nicht herausgestellt worden).

Sein Wochenrest E+ wird für die Jahreskennzahl E auf Sieben ergänzt.  
E = 7 – E+

Beispiel 24. Mai 1929 (M=1 E+=6   E=1)
1929 ==} 29 ==} 28 + 1 ==} 28/2 ==} 14 – 1 ==} 137 ==} Komplement 6 ==} 6 bis zur 7 ==} Jahreskennzahl 1

a)         24 + 1 ==} 25 ==} von 6 (E+) bis 25 ==} 19 ==} 5 ==} Freitag oder
b)         6. (E+) Januar 1929 ist ein Sonntag ==} 6. Mai ist ein Montag, da M=1 ==} 13. und 20. Mai ist ein Montag ==} 24. Mai ist ein Freitag oder
c)        24 + 1 + 1 (E) ==} 26 ==} 5 ==} Freitag

[1] E. Rogent, W. W. Durbin: „How to find the day of the week on which any particular date
falls”, The Linking Ring, Vol. 6“; August 1927. Der Artikel liegt mir jedoch nicht vor.
[2] Martin Eisele: „Kalendertagsberechnung“, privates Manuskript, 2005
[3] Michael K. Walters: „An Improved Doomsday Algorithm“, Blogspot blog, 2008
http://easydoomsday.blogspot.com/; (25.03.2011)
[4] Robert Goddard: „Learn the First Sunday Doomsday Algorithm“, Blogspot blog, 2009
http://firstsundaydoomsday.blogspot.com/; (25.03.2011)
[5] http://www.themagiccafe.com/forums/viewtopic.php?topic=520087&forum=99&4

Donnerstag, 29. August 2013

The Rainman Algorithm 3



Buch "The Rainman Algorithm"

Pro
-          Leicht verständlich und ohne Mathematik geschrieben.

Cons
-          Keine Quellenkenntnis, keine Wertung oder gar Kenntnis existierender Methoden.
-          Keine neue Methode, sie wurde so und mit den Abwandlungen erster Sonntag/erster Montag schon wiederholt beschrieben. Ebenso die Zugabe 65. Geburtstag.
-          Die Arbeit  mit dem Neujahrstag und damit mit dem Monatsersten ist umständlicher als die normalerweise übliche Arbeit mit dem Silvestertag (Zero-Jahresbeginn, Jahreskennzahlen) und den Zero-Monatsdays, da diese eine einfache Addition erlauben: Monatskennzahl plus Tag ergibt den Wochentag. 
-          Es wird keine praktikable Methode zur Ermittlung des Neujahrstags für die Jahre 00 bis 99 angegeben.
-          Die Verwendung der Schaltjahr-Monatskennzahlen ist umständlich. Einfacher wäre es für die angegebene Methodik, in Schaltjahren in den Monaten März bis Dezember Eins zur Monatskennzahl zu addieren.
-          Einfacher statt der 65. Geburtstag wäre der 60. oder 80. Geburtstag zu berechnen, da man ohne Ausnahmeregel auskommt. 
- Für 100 USD sicher kein Schnäppchen, wenn man bedenkt, dass man die angeboteten Informationen allgemein zugänglich sind. 

Freitag, 19. Juli 2013

New universal formula for day of week calculation!

I recently developed a new universal formula in the tradition of Gauss and Zeller for day of week calculation!

Solka’s Universal Formula for Day of Week Calculation

W = D + M + Y
Year Offset Y:
Y = [(5*X)7 * (Y int 4*X) + Y4*X + Y4*X int 4 –   
       Y int 100 + Y int 400 – 1]7

W – day of week; Sun=0 … Sat=6
D – day
M – month offset; 0; 3; 3 / 6; 1; 4 / 6; 2; 5 / 0; 3; 5
       for January – December
Y – year offset
Y – year
X – positive integer
lower index – mod

examples
X=100
Y = [4Y int 400 + Y400 + Y400 int 4 – Y int 100 – 1]
X=25
Y = [5Y int 100 + Y100 + Y100 int 4 + Y int 400 – 1]7


X=10
Y = [Y int 40 + Y40 + Y40 int 4 – Y int 100 + Y int 400 – 1]7

August 23, 1994
example X =100
W = (23 + 2 + 5007*1994int400 + 1994400 + 1994400int4 –
         – 1994int100 + 1994int400 - 1)7
     = (25 + 3*1994int400 + 394 + 394int4 - 19 + 4 - 1)7
     = (25 + 3*4 + 394 + 98 – 16)7
     = (25 + 12 + 394 + 98 – 16)7
     = 513/7 ==> 73 remainder 2 ==> Tuesday

August 23, 1994
example X =25
W = (23 + 2 + 1257*1994int100 + 1994100 + 1994100int4 –
         – 1994int100 + 1994int400 - 1)7
     = (25 + 6*1994int100 + 94 + 94int4 - 19 + 4 - 1)7
     = (25 + 6*19 + 94 + 23 – 16)7
     = (25 + 114 + 94 + 23 – 16)7
     = 240/7 ==> 34 remainder 2 ==> Tuesday

August 23, 1994
example X =10
W = (23 + 2 + 507*1994int40 + 199440 + 199440int4 –
        – 1994int100 + 1994int400 - 1)7
     = (25 + 1*1994int40 + 34 + 34int4 – 19 + 4 - 1)7
     = (25 + 3*49 + 34 + 8 – 16)7
     = (25 + 147 + 34 + 8 – 16)7
     = 198/7 ==> 28 remainder 2 ==> Tuesday

A partition of the year into "the century" and "the year in the century" will get:

Y = 100H + E   with   H = Y int 100   and   E=Y100     
Which would correspond to the mathematical form:  
Y = H + E         with   H = [5 H + H int 4 – 1]7   and   E = [E + E int 4]7               

Year in Century Offset E:
E = [(5*X)7 * (E int 4*X) + E4*X + E4*X int 4]7

H – century
E – year in century
H – century offset
E – year in century offset
X – positive integer (1 … 25)

Solka’s Universal Formula corresponds to their special cases …

... Zeller’s Formula
W = (D + 2,6(M + 1) int 1 + E + E int 4 + H int 4 – 2H)7

W – day of week; Sat=0 … Fri=6
D – day
M – month; Mar=3 … Jan=13, Feb=14
E – year in century (adjusted Gregorian date March - February)
H – century

August 23, 1994
W = (23 + 2,6*(8+1)int1 + 94 + 94int4 + 19int4 - 2*19)7
     = (23 + 23,4int1 + 94 + 23,5int1 + 4,75int1 – 38)7
     = (23 + 23 + 94 + 23 + 4 – 38)7
     = 129/7 ==> 18 remainder 3 ==> Tuesday

... Gauss'/Sokolow’s Formula
W = (D + M + 3E + 5E4 - 2H4)7

W – day of week; Sat=0 … Fri=6
D – day
M – month offset; 0; 3; 3 / 6; 1; 4 / 6; 2; 5 / 0; 3; 5 for
       January – December
E – year in century (standard Gregorian date January - December)
H – century

August 23, 1994
W = (23 + 2 + 3 * 94 + 5 * 944 – 2 * 194)7
     = (23 + 2 + 282 + 10 – 6)7
     = 311/7 ==> 44 remainder 3 ==> Tuesday


... X=7 transforms the universal formula into "sun cycle of 28 years" formula 
E = [E28 + E28 int 4]7

 E – year in century offset
E – year in century

... X=3 transforms the universal formula into Lewis' Caroll's formula 
E = [E int 12 + E12 + E12 int 4]7

... X=1 transforms the universal formula into Dioysius’ Exiguus’ classic formula 
E = [E + E int 4]7



Hans-Christian Solka
July 19, 2013
revised
May 17, 2014

Donnerstag, 11. Juli 2013

Universalformel zur Bestimmung der Kennzahl für das Jahr im Jahrhundert



           Fast alle bisher bekannten Methoden, gehen wie die klas­sische Schaltjahr-Methode auf eine universelle Formel zur Er­mitt­lung der Kenn­zahl für das Jahr im Jahrhundert E zurück. Kürzt man die Jahre im Jahr­­hundert um ein Vielfaches X von Vier, kann man die Kennzahl E berechnen:

           E = [(5*X)7 * (E int 4*X) + E4*X + E4*X int 4]7

           Symbole
           E – Kennzahl für Jahr im Jahrhundert                          X – ganze Zahl (1 … 25)
           E – Jahr im Jahrhundert
           Der Index bezieht sich auf die Rechenoperation "mod" bzw. Divisionsrest: 

D.h. (5*X)7 entspricht (5*X)mod7 und E4*X  entspricht Emod(4*X). 

Diese Universalformel habe ich bisher nicht in der Literatur zur Kalenderrechnung gefunden.



Montag, 3. Juni 2013

Schnapszahlmethode

Bei meinem Buch "Die Schnapszahl-Methode" wurde die 3. erweiterte Auflage fertig gestellt.

Die Schnapszahl-Methode beschreibt einen Effekt der Kalenderrechner – den sogenannten „Kalender im Kopf“. Die Schnapszahl-Methode ist ein sehr einfaches und elegantes Verfahren zur Berechnung des Wochentags für ein beliebiges Datum. Die Methode ist virtuos und völlig neu. Die Schnapszahl-Methode ist für die Jahre von 1955 bis 2054 extrem simpel. Ihre Erweiterung auf den Zeitraum 1900 bis 2099 ist einfach. Der rechnerische Aufwand geht dabei nicht über ein „Zählen bis 13“ hinaus. In mehr als einem Drittel aller Fälle muss überhaupt nicht gerechnet werden, man weiß die Antwort sofort. Es müssen keinerlei Kennzahlen für Wochentage, Monate oder gar Jahre gelernt werden. Der „Kalenderrechner“ kann völlig stressfrei „unter Feuer“ das richtige Monatskalenderblatt für jeden beliebigen Monat zwischen 1900 und 2099 entwickeln. Von diesem Monatskalenderblatt kann man den Wochentag für jeden beliebigen Tag des Monats ablesen

Hauptsächlich wurden für die neue Auflage die Vorlagen für die Kalenderblätter überarbeitet. Die einfache Version wirkt durch die Einbeziehung von Tierkreiszeichen für die Zuschauer plausibler.
Ebenso wurde das Buch neu strukturiert. Einige der Grafiken wurden verkleinert, so dass trotz der Erweiterung des Buchs die Seitenanzahl nicht anwuchs.

Auch die Erläuterung der Schnapszahl-Methode wurde überarbeitet. So wurde die Vorgehensweise für die Daten der 1700 bis 1899 eingefügt. Damit kann die Schnapszahl-Mehode auf alle Daten des gregorianischen Kalenders angewendet werden.  

Die Schnapszahl-Methode kann auch für die Berechnung des Doomsdays genutzt werden.

Das Buch ist direkt beim Autor erhältlich oder bei
http://www.lulu.com/spotlight/ozmdatsolkadotde