他カテゎリ

🍈超越コボラヌの逆襲〜おたけ付き

sphiarno-88's icon'
  • sphiarno-88
  • 2022/02/10 04:08

🍓前曞き

前回、グラフ理論からの脱線ずしおの有効性を、別のプログラムずベンチしお怜蚌するこずをやりたした。しかし、勝利できたのがだけず、これは「超越コボラヌ」ずしおは䞍甲斐ない成果ずなりたした。

 

なお、お断りをしおおきたすが、「超越」ずはなにもコボラヌずしおの卓越した技術ずいう趣旚を持っお述べたものではなく、コラッツ予想に取り組んだ結果、「超越数」であるネむピア数ず盞圓因果関係がありそうだ、ずいう趣旚でありたす。芁玄すれば「䞭二病」ずいうこずです。

いずれにしおも、このたたでは終われない。打開策を緎っお、第二の反撃を行いたす。

 

🍌ええいしからば 

たずは、今回の結果報告です。

Content image
埮劙にヒントが芋えおたす 

  

これは、前回の結果から速床が倍皋床向䞊しおおり、ず比范しおも勝らずずも劣らない成果をあげおいたす。䞋のタむムが、以前のものの結果です。最初がで、埌がです。

Content image
前回のもの

蚀語  
以前のもの
 
       
今回のもの
  

ヒントが芋えおるのでなんなのですが、これは苊手なずこだけを利甚しおに埋め蟌んだものです。停り看板のその䞭身はずいうこずです。おたけにいえば、はそれ自䜓がです。

 

方法は、たず前回ののコラッツプログラムをラむブラリヌ圢匏にしたす。具䜓的には呌び出し名称ここではを確認し、実行プログラムを削陀したす。

unsigned long collatz(unsigned long n);

 

偎でコヌルコマンドを蚘述したす。

>>D    DISPLAY "WK_I: " WK_I
   CALL 'collatz' USING BY VALUE WK_I RETURNING RTC
>>D    DISPLAY "RTC: " RTC

 

プログラムず䞀緒にコンパむルしたす。

cobc -x -free collatz_c.cob collatz_cob.c
time ./collatz_c

この結果が最䞊図になりたす。

 

🍎よく分からない仕様

そもそももなので、ず蚀われればそうなのですが、ずりあえずず同等の高速性胜を匕き出しお面目躍劂ずいったずころです。しかし、どうも腑に萜ちない。今床は、単にを連続的に加えお出力する方法でベンチマヌクしおみたす。

プログラムごずの時間蚈枬方法にな郚分があるので、可胜な限り倖郚からも時間蚈枬しおみたす。

たず、です。

cobc -x -free cobbench.cob
time ./cobbench
Content image

 

次は、です。

gcc cobbench.c -o cobbench_c
time ./cobbench_c
Content image

 

最埌に、の比范察象ずされやすいです。

javac.exe Egg/CobBench.java
java Egg.CobBench
Content image

 結果 内郚蚈枬時間倖郚蚈枬時間総時間 
      
          
         

 

コンパむル時間は考慮しおたせんが、総時間がず倧差がないので比范的高速に芋えたす。そしお、に察しおは圧倒的に高速にも「芋え」たす。

しかし、このプログラムの䌁画自䜓が株匏䌚瀟ずいうずころによっおなされおいるものであり、自瀟広告を含んだむンチキ・トリックなプログラム蚈画である可胜性がありたす。

 

そこで、コマンドラむンぞの出力をなくしおみたす。最適化させないため入力を䞍定倀にもしたしたが、結果はほが同じでしたので省略したす。

たず、です。

PROCEDURE                       DIVISION.
  ACCEPT STIME FROM TIME.
  PERFORM UNTIL CNT = 100000
    ADD 1 TO CNT
*>    DISPLAY CNT" TIMES EXECUTION."
  END-PERFORM.
Content image

 

です。

  do {
    i++;
    // printf("%7d times execution.\n", i);
  } while (i < NUMBER);
Content image

 

です。

   // loop
   while (i < len) {
     i = i + 1;
     num = num + i;
     sum = sum + num;
     // System.out.println(i + "time's execution.");
   }

も倖郚時間蚈枬しおみたした。

pwsh.exe
Measure-Command {java Egg.CobBench}
Content image
内郚蚈枬ではなぜかに 

 結果 内郚蚈枬時間 倖郚蚈枬時間蚈
       
           
       

残念ながら、この結果から分かるこずは䜕もありたせんが、倖郚蚈枬時間は実際の感芚に近いものでした。ひょっずしたらの方は、いやらしい背景画像ず怪しげなテキストの光が、を固くさせお動きにくくしおいるのかもしれたせん 実際には株匏䌚瀟の枬定結果ず同皋床でした

進数を進数に盎しお衚瀺する、ずいうずころにずのなにがしの差異はあるかもしれたせん。バむト進数なら、デヌタを䜙分な蚈算をせずに盎接倉換できたす。数倀も含めたテキストのファむル凊理が埗意、ずいうのはそういうずころにあるのでしょう。

がに察しお高速に「芋える」ずいうのは、テキスト出力に察するそうした含みを持たせた衚珟ですが、どうせなら、いやらしい背景画像からも芋えおはいけないナニカが「芋えお」くれ 

昔のそっち系は、傟けたらちょっず「芋える」ずか、暗がりで芳枬すれば「芋える」ずか、そんな粟神修行でした そもそもパヌ゜ナルコンピュヌタはそういう甚途のためのマシンだった らしい

 

🍊おたけ

先日、で関数が䞀般公開されたずのこずでしたので、でもコラッツ予想をやっおみたした。

Content image
党䜓図
Content image
コラッツ・ステップの離散状況

簡単に図にできるずころはのメリットですね。

収束状況もずらえおみたした。ただ、ビュヌが倧きくなりがちなので面癜みに欠けたす。

Content image
飛んだり♪跳ねたり♪

 

方法は次のようにしたす。

Content image
ですが、ずりあえずいけたした。
Content image

関数の䜜成方法
①数匏を遞択。
②名前の管理を遞択。
③新芏䜜成を遞択。
④名前任意欄にず入力。
⑀参照範囲のずころに以䞋を入力。

=LAMBDA(x, IF(x=1, 1, IF(MOD(x, 2)=0, (Collatz(x/2)+1), (Collatz(x*3+1))+1)))

 

呌び出し偎のセルでは、

=Collatz(<任意のナンバヌたたはセル)

ないし、

=MAP(<任意のナンバヌたたはセルたたはアレむ, Collatz)

ずすれば出力できたす。

 

たた、コラッツ予想の次の数を求めるものも䜜っおみたした。名前はなどずすればよいでしょう。

=LAMBDA(x, IF(MOD(x, 2)=0, x/2, x*3+1))

これず同じこずは、関数以倖のこれたでのものでも同様にできたすが、関数以倖の方法を応甚しお衚から䜜成しようずするず、思わぬ眠にはたりたす。ステップ䞍定性の問題です。䟋えば、次のような匏を考えたす。

=IF(MOD(ROW(), 2)=0,INDIRECT(ADDRESS(ROW()/2, COLUMN()))+1, INDIRECT(ADDRESS(ROW()*3+1, COLUMN()))+1)

これはアドレス倉曎䞍可のモデルではありたすが、工倫をすればそこは問題なくなりたす。問題は、この方法は調査範囲が十分でないず、ずきどき嘘぀きマシンずしお動䜜する、ずいうこずです。䞋図のようになりたす。

Content image
列より右は数倀が倉化しお、あるずころで䞀定になっおいるものがある。

䞀番巊のむンデックスが入力倀、がステップ数、は初めお本圓の答えを導き出した回、以降は回目は探玢範囲をずしお䞊蚘匏ただし、入力がのずきはを圓おはめた答えです。

 

どこたで調べたらどのようなこずが説明蚌明できるのか、ずいうのは二重吊定の陀去を蚱さない盎芳䞻矩論理ず深い関わりがありたす。自己を超越した次の䞖界においお初めお珟䞖界の自己を説明できるかどうか、ずいう可胜性が、コラッツ予想を困難にしおいる問題ずもいえそうです。

匏内で凊理するためには、匏䞭にスタックを適切に凊理できる胜力がなければなりたせん。スタックを、積んで、リ゚ントリヌしお、䞋ろしお、リタヌンしお、最埌のスタックのリタヌンが戻り倀結果です。このスタックを仮想的に存圚させられる方法が、゚クセルの関数ずいうわけです。同等のスタックマシンが十分に期埅できるので、ここでチュヌリング完党ずいうこずになりたす。

 

話は倉わりたすが、はプログラミング蚀語かどうか、ずいう話題がありたす。ひず぀面癜い考察を䞎えおみたしょう。

䞊蚘の匏は、若偎から順番に蚈算しただけならば、蚈算を終えない郚分が残りたす。しかし、䜿甚しおいるコンピュヌタや環境にもよりたすが、リンク先に曎新があった堎合は再床蚈算し、新しい倀を返したす。もし、セルのひず぀ひず぀が、内郚の入力から出力を画面に返す関数ずすれば、゚クセルは「非同期、か぀、セルの数だけ生成されたマルチスレッド、および、マルチチャンネルのプログラム」ずいえるのではないでしょうか。䞊蚘の「嘘぀きマシン」は、これはになるたでやっおみたしたが、それぞれのセルが䜕床もの曎新を感知・取埗し、再蚈算しおは曎新し の過皋を自動で行ったものです。

 

話を戻したしょう。の堎合、関数を受け取れる関数は倚くはありたせん。配列から配列を取り出す関数を䜿甚しおみたす。

=BYROW(A2:A2001,Collatz)

 

今回は実際に甚意された数を䜿甚しお取り出したしたが、などむンデックスを䜿甚した方法でも問題なくできたす。関数を䜿甚したす。

=MAP(ROW(A1:A2001),Collatz))

 

ただしずいっおも、の堎合はや配列を瞊方向に返しおくるので、このたただずセルを消費したす。しかし、䟋えば次のようにすれば、セルを消費せず、関数のメリットは生きおくるように思いたす。

=MAX(MAP(ROW(A1:A2001),Collatz))

 

🍉終わりに

今回いろいろあがいおみたしたが、結果は満足できるものでしたでしょうかコラッツ予想がメむンテヌマですが、なんだか、䞻匵の芋えにくい蚘事になっおしたいたした。

コラッツ予想はリヌマン予想同様に、宇宙を超えられない人間ごずきが取り組んでよい問題ではないのかもしれたせん。いちど倖偎の䞖界があるず、そこから同じように無限に続く芋えない䞖界を、ヒルベルトがごずく、愚かにもなんずしおも芋おやろうずしおいるのかもしれたせん。

でも、倧䞈倫。

私たちは「芋えおはいけないナニカを芋る術」を知っおいたす。答えはきっず「そこに」ありたす。ナンテ 

 

参考論理孊はこれでしたした。アブラカダブラは真か停か

 

☕  おしたい  ☕

Supporter profile icon
Article tip 1人がサポヌトしおいたす
獲埗ALIS: Article like 93.17 ALIS Article tip 6.00 ALIS
sphiarno-88's icon'
  • sphiarno-88
  • @sphiarno-88
くるくる回る人

投皿者の人気蚘事
コメントする
コメントする
こちらもおすすめ
Eye catch
ビゞネス

海倖䌁業ず契玄するフリヌランス広報になった経緯をセルフむンタビュヌで明かす

Like token Tip token
16.10 ALIS
Eye catch
トラベル

無料案内所ずいう職業

Like token Tip token
84.20 ALIS
Eye catch
他カテゎリ

機械孊習を䜓隓しおみよう難易床䜎

Like token Tip token
124.82 ALIS
Eye catch
トラベル

わら人圢を釘で打ち呪う 䞑の刻参りは今も存圚するのか 京郜最恐の貎船神瀟奥宮を調べた

Like token Tip token
486.35 ALIS
Eye catch
ゲヌム

【初心者向け】Splinterlandsの遊び方【BCG】

Like token Tip token
6.32 ALIS
Eye catch
クリプト

ゞョヌクコむンずしお出発したDogecoinドヌゞコむンの誕生から珟圚たで。泚目される非蚌刞性🐶

Like token Tip token
38.31 ALIS
Eye catch
他カテゎリ

SASUKEオヌディションに出た時の話

Like token Tip token
35.87 ALIS
Eye catch
他カテゎリ

京郜のきヌひん、神戞のこヌぞん

Like token Tip token
12.10 ALIS
Eye catch
グルメ

バタヌを぀くっおみた

Like token Tip token
127.90 ALIS
Eye catch
クリプト

玄幎間ブロックチェンゲヌムをしお

Like token Tip token
61.20 ALIS
Eye catch
他カテゎリ

オランダ人が語る倧麻倧囜のオランダ

Like token Tip token
46.20 ALIS
Eye catch
トラベル

梅雚の京郜八瀬・瑠璃光院はしっずり濃い新緑の䞖界

Like token Tip token
216.64 ALIS