パスワードを忘れた? アカウント作成
97439 journal

WindVoiceの日記: 【続2】笑わない数学者の問題、n=10の途中経過 5

日記 by WindVoice
昨日の日記で、ボールが10個の場合は計算しないようなことを言いましたが、本日会社を休んだので、少し実行しました。

昨日のスクリプトにリジューム機能をつけて、途中から計算できるようにしています。10個のボールの選び方は、5812通り見つかりますが、2722/5812まで計算が終ったところで、5通りの成功例が見つかっています。

(1,5,4,13,3,8,7,12,2,36)
(1,6,9,11,29,4,8,2,3,18)
(1,4,3,10,2,9,14,16,6,26)
(1,4,2,20,8,9,23,10,3,11)
(1,3,9,11,6,8,2,5,28,18)

現状、以上です。残りは週末あたりにでもするでしょう。

ところで、私の興味はすでに答えがあるなしではなくなっており、効率の良いアルゴリズムのほうに向かっています。10個は現在のままで8時間くらいで終わりそうなので頑張れますが、11個になるとお手上げです。おそらく10個の100倍くらいの時間がかかるからです。アルゴリズムを大きく改善できない限り、計算の限界に来てしまいます。そこに、改善のし甲斐があります。

で、AC#1567409さんに頂いたコメントにある方法をアルゴリズム化すべく検討中ですが…… 小さな番号のつながりを並べ替えたりするあたりが、Perlで管理するのはちょっと大変かなと。オブジェクト指向言語のほうが直感的にプログラミングできそうなので、Javaで作り直すかもしれません。や、Perlだってオブジェクト作れるよ! という人がいるとは思うんですが、なんかめんどくさそうなんですよ。喰わず嫌いですけど。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

私はプログラマです。1040 formに私の職業としてそう書いています -- Ken Thompson

読み込み中...