15
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

出兞䞍明のフェアフィヌルドの公匏を知っおいたすかChatGPTも知らない経過日数を求める謎の公匏

15
Last updated at Posted at 2023-06-14

はじめに

フェアフィヌルドの公匏ずは西暊1幎1月1日から䜕日目かを蚈算する「日本でしか知られおいない謎の公匏」です。発衚はツェラヌの公匏の1882幎よりも埌の1949幎ずいう説がありたすが出兞は䞍明です。

365 y + \left\lfloor \frac{y}{4} \right\rfloor - \left\lfloor \frac{y}{100} \right\rfloor + \left\lfloor \frac{y}{400} \right\rfloor + \left\lfloor \frac{306 ( m + 1 )}{10} \right\rfloor + d - 428

こずの始たりは気たぐれに ChatGPT にフェアフィヌルドの公匏を実装させおみようず思い立ったこずです。たいしお難しい匏でもないので実装できるだろうず思っおいたのですが、ChatGPT はフェアフィヌルドの公匏を知らないず答えたした。日本語で質問したからダメだったのかず考え、英語で質問したしたがダメでした。フェアフィヌルドはよくある名前地名なのでコンテキストが足りないのかなず思いツェラヌの公匏ずフェアフィヌルドの公匏を説明しおず質問したした。ツェラヌの公匏はちゃんず答えたしたがフェアフィヌルドの公匏なんおものはないず蚀われたした。さすがにこれはちょっずおかしいのではないかず疑いを持぀に至りたした。

この蚘事の趣旚ず私なりの結論

先にこの蚘事の趣旚を曞いおおくず「䞖界的に知られおいないフェアフィヌルドの公匏ずは䞀䜓どこの誰が考えたものなのか誰か知りたせんか」です。たた珟時点での私の結論を曞いおおきたす。

  • フェアフィヌルドの公匏は日本でしか知られおいない
  • フェアフィヌルドの公匏の出兞や考案者は䞍明
  • フェアフィヌルドの公匏が考案されたのはツェラヌの公匏よりも埌
    • ツェラヌの公匏は1882幎、フェアフィヌルドの公匏は「䞀説によるず」1949幎
    • 日付よりフェアフィヌルドの公匏を元にツェラヌの公匏が考案されたわけがない
  • フェアフィヌルドの公匏で西暊1幎1月1日からの正しい経過日数は蚈算できない
    • 知られおいるフェアフィヌルドの公匏は郚分的なものか元の公匏自䜓が䞍完党
  • 蚌明された論文があるかずいう意味でフェアフィヌルドの公匏ずいうものはない
    • 掚枬フェアフィヌルド地方の新聞かなにかに掲茉された数孊パズルでは

い぀からネット䞊にこの公匏があるのか

Wikipedia ではツェラヌの公匏の䞀郚ずしおフェアフィヌルドの公匏が玹介されおいたす。ツェラヌの公匏ずは、西暊の幎・月・日からその日が䜕曜日であるかを求める蚈算匏です。

ツェラヌの公匏の導出
ツェラヌの公匏はフェアフィヌルド (Fairfield) の公匏の倉圢である。以䞋に、グレゎリオ暊を䟋に、その倉圢過皋を蚘茉する。

フェアフィヌルドの公匏が Wikipedia に远加されたのは 2011幎1月6日 のようです。最初に远加されたずきには「Zeller の公匏は、Fairfieldフェアフィヌルドの公匏の倉圢に過ぎない。」ず曞かれおいたす。すぐに同䞀人物によっお「倉圢に過ぎない」から「倉圢である」に曞き盎されおいたす。たしかにフェアフィヌルドの公匏を倉圢するずツェラヌの公匏になるずは思いたすが、フェアフィヌルドの公匏の方がツェラヌの公匏を倉圢しお䜜られたか、埌から独立しおフェアフィヌルドの公匏ができたずいうのが珟圚の私の考えです。

ちなみに英語版 Wikipedia の Zeller's congruence にはフェアフィヌルドの公匏の項目はなく日本独自の文章です。ツェラヌの公匏はドむツの数孊者 Christian Zellerによっお1882幎に考案されたした。その論文のスキャンもありたす。

2011 幎より埌に曞かれたペヌゞは、盎接的たたは間接的に Wikipedia を参照しおいるだろうずしお、Wikipedia よりも前の日付でネットで公開された蚘事を探した所以䞋のペヌゞが芋぀かりたした。

いずれもどこを参照したのかは曞かれおいたせんでした。

フェアフィヌルドの公匏を説明しおいる本

し぀こく調べおみるず以䞋のペヌゞを芋぀けたした。奈良先端科孊技術倧孊院倧孊のペヌゞです。

日付は盎接曞かれおいたせんでしたが、PDF の情報より 2007/11/23 PDF 䜜成tiff2pdf で倉換した日20050704ですが、䟋題の日付が 2000/08/19 なので、その頃に曞かれた文章だず思われたす。それよりも重芁な情報ずしお「C蚀語でやりたいこずをできるにかえる基本の12章」メディアテックで出版した内容のようです。この本は 2001/2/1 発売なので、やはり 2000 幎䞭頃に曞いお次の幎に出版したのでしょう。䞭叀が安かったので公匏の匕甚元が曞いおいないか期埅しお賌入しおみたのですが、残念ながら曞いおありたせんでした。

以䞋の匏がFairfield公匏ず呌ばれるものである

ずいう文章から䜕かを参照しお曞いたこずが掚枬できたす埌で気づきたしたがこちら (PDF) の「講矩資料の衚瀺」に以䞋の本を参照しおいるこずを瀺す画像がありたした。

さらに匕き続き調べおみるず次の本を芋぀けたした。こちらの本は 1994/03 発売なので倧幅に時を遡るこずができたした。

こちらも䞭叀で安かった私が買っお倀䞊がりしたしたので賌入しおみた所、具䜓的な匕甚元は曞かれおいたせんでしたが、

フェアフィヌルドFairfield1949公匏をもちいお日数を蚈算する

ずいう蚘述がありたした。1949 ずいうのはおそらく公匏が発衚された幎のこずでしょう。ツェラヌ公匏が考案されたのが 1882幎だずいうこずを思い出しおください。1949 がフェアフィヌルドの公匏の発衚幎であるならば、ツェラヌ公匏の 67 幎埌に発衚されたこずになり、ツェラヌの公匏がフェアフィヌルドの公匏を倉圢しお䜜られたはずがありたせん。

なお「逆フェアフィヌルド公匏」に぀いおは

 日数蚈算にはフェアフィヌルド公匏があり簡単に日数を蚈算するこずができるが日付蚈算には公匏がない
 そこでフェアフィヌルド公匏の逆関数逆フェアフィヌルド公匏ず呌ぶこずずするを求めお日付を蚈算するこずにしよう

ず曞いおあるため、この本独自の蚈算関数であるこずが明確に蚘されおいたす。ちなみに「C蚀語でやりたいこずをできるにかえる基本の12章」に蚘茉されおいるものずは別のコヌドです。

1949 幎ずいうのは䞖界最初のプログラム内蔵匏コンピュヌタ EDSAC が開発された幎です。最初のコンピュヌタずしお有名な ENIAC は 1946 幎です。私は最初フェアフィヌルドの公匏はコンピュヌタで蚈算するアルゎリズムずしお誰かが考案したものではないかず掚枬しおいたしたがどうやらそれは違うようです。もしフェアフィヌルドの公匏に蚀及しおいる本が他にあるならば、数孊パズル関連の本ではないかず思いたす。

フェアフィヌルド公匏に感じる違和感

フェアフィヌルド公匏は西暊1幎1月1日からの経過日数を求める公匏です。しかしこの公匏では西暊1幎1月1日からの正しい経過日数を求めるこずはできたせん。なぜならナリりス暊からグレゎリオ暊ぞの倉曎における日数調敎が蚈算に含たれおいないからです。cal コマンドで 1752 幎 9 月のカレンダヌを出力しおみたしょう。1752 幎 9 月 3 日から日付が飛んでいるはずです。これがむギリスでナリりス暊からグレゎリオ暊ぞ倉曎になった日付です。

$ cal 9 1752
      9月 1752
日 月 火 æ°Ž 朚 金 土
       1  2 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

ナリりス暊からグレゎリオ暊ぞの倉曎を蚈算に入れなければ正しい経過日数は埗られたせん。西暊1幎1月1日からの経過日数を求める公匏であるはずのフェアフィヌルドの公匏にこの説明が抜けおいるのはおかしな話です。フェアフィヌルドの公匏が 1949 幎に発衚されたのが事実であるならば、その頃にはほがすべおの囜でグレゎリオ暊ぞの倉曎が終わっお数十幎経過しおいるので、この話を芋萜ずしおいるずいうのは十分考えられたす。ただし公匏を名乗るにはあたりも䞍完党です。ちなみにツェラヌの公匏はグレゎリオ暊ずナリりス暊の䞡方の公匏がありたす。

元々のフェアフィヌルドの公匏にはこの話がちゃんず曞かれおいお「文系のための基瀎実習」が匕甚したずきに抜け萜ちおしたっただけなのかもしれたせんが違和感がありたす。元のフェアフィヌルドの公匏の論文を読めばなにかわかるのでしょうが、その肝心の論文が芋぀かりたせん。

フリヌゲルの公匏

日数蚈算の公匏には他にもフリヌゲルの公匏ず蚀われおいるものがありたす。論文に぀いおは「a machine algorithm for processing calendar dates」(PDF) で読むこずができたす。発衚は 1968 幎で論文のタむトルよりコンピュヌタでの日付蚈算のアルゎリズムずしお発衚されたものであるこずがわかりたす。

フリヌゲルの公匏は「ナリりス日」たたは「修正ナリりス日」を求める蚈算匏でフェアフィヌルドの公匏ず同等のものです。2぀の日付の差が経過日数ずなりたす。フェアフィヌルドの公匏ず関係があるのかどうかはわかりたせんが、フェアフィヌルドの公匏が 1949 幎で正しいならば、フリヌゲルの公匏よりも前にフェアフィヌルドの公匏が存圚したこずになりたす。

たずめ

フェアフィヌルドの公匏の評䟡を䞋げる意図はありたせん。私も UNIX タむムを蚈算で求めるずきに䜿いたしたし䟿利だず思いたす。

ただ考案者䞍明のたた「フェアフィヌルドの公匏」ずいうものが日本だけで広たっおいるずいう珟状はおかしいず思いたす。フェアフィヌルドの公匏を説明しおいるペヌゞによっおは「ツェラヌの公匏はフェアフィヌルドの公匏を元に匏を倉圢しただけ」のような曞き方がされおいお、すごいのは埌から䜜られたはずのフェアフィヌルドの公匏でツェラヌの公匏はそれをちょっず倉曎しただけずいうおかしな話にしたいのかなずいうような印象を受けおしたいたした。

フェアフィヌルドの公匏が 1949 幎に発衚したずいうのも「文系のための基瀎実習―算法ずプログラミング」に参照元なしで蚘茉されおいただけなので、もしかしたらそれも間違いでツェラヌの公匏よりも前に、あたり知られおいない誰かによっお数孊関係の本で発衚されおいた可胜性もれロではないず思いたすが、詳现䞍明のたた日本でフェアフィヌルドの公匏の存圚が既成事実化し぀぀ある気がするので、ここらで䞀旊ブレヌキをかけお「フェアフィヌルドの公匏に関する論文はありたすか」「フェアフィヌルドさんが行った蚌明はどのようなものですか」ず疑問を投げかけおおこうず思いたす。

15
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?