Yaleで、遊んで学ぶ日々。
Yaleで、遊んで学ぶ日々。
囲碁、ときどきプログラミング、ところにより経済。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
第50期十段戦予選 高梨聖健 対 淡路修三
PR
組み合わせ(n C k )を計算する時間は、nが大きくなるにつれて大きくなる。一番時間がかかるのはkがちょうどnの半分のところ(階乗の計算が大変)。逆にk=1またはk=nの時は、n C k = 1 なので簡単。
pythonでn C k を計算する関数としては、gmpy.comb() とscipy.misc.comb() の2つが有名どころらしい(参考URL)。このうち、gmpy.comb()は正確に組み合わせの数を計算するのに対して、scipy.misc.comb()のほうは、対数ガンマ関数を利用して近似値を返すらしい。そのため、後者のほうがスピードが速いとか。
実験してみたところ、次のような結果になった。
n = 10000を固定して、k の値を1から10000まで、色々変えて、それぞれの関数でn C k の計算にかかる時間を記録した。グラフのy軸は経過時間(ミリ秒)で。対数にしてある。
予想通り、gmpyのほうは階乗の計算が難しくなる中間のkについて、計算時間は長くなり、真ん中(k=5000)のあたりで最大になる。一方、近似値を計算するscipyの方は、そういった問題が起こらないらしく、一定の速度で計算できるらしい。そもそも計算の簡単な範囲(kが1に近いかnに近いか)では、gmpyで計算したほうが速いということもグラフから分かる。
使用したファイル:comb_test.py, comb-graph.R
pythonでn C k を計算する関数としては、gmpy.comb() とscipy.misc.comb() の2つが有名どころらしい(参考URL)。このうち、gmpy.comb()は正確に組み合わせの数を計算するのに対して、scipy.misc.comb()のほうは、対数ガンマ関数を利用して近似値を返すらしい。そのため、後者のほうがスピードが速いとか。
実験してみたところ、次のような結果になった。
n = 10000を固定して、k の値を1から10000まで、色々変えて、それぞれの関数でn C k の計算にかかる時間を記録した。グラフのy軸は経過時間(ミリ秒)で。対数にしてある。
予想通り、gmpyのほうは階乗の計算が難しくなる中間のkについて、計算時間は長くなり、真ん中(k=5000)のあたりで最大になる。一方、近似値を計算するscipyの方は、そういった問題が起こらないらしく、一定の速度で計算できるらしい。そもそも計算の簡単な範囲(kが1に近いかnに近いか)では、gmpyで計算したほうが速いということもグラフから分かる。
使用したファイル:comb_test.py, comb-graph.R
文書はほぼ全てlatexで書く。構造が論理的なところが好き。
共著をする時には大きな障害になりそうな気がするが、そこは追々考えるとして、当面は、ライティングの先生に添削を依頼する時にワードに変換する必要が生じた。
文章だけが必要なので、方程式や図表は綺麗に表示出来なくても差し支えない。この目的なら、tth (HTMLへ変換)とlatex2rtf (RTFへ変換。ワードで読める)が良い。どちらもUbuntuの公式リポジトリに入っている。
特に、tthは知らないパッケージが出てきても、その部分を無視してとにかく変換を成し遂げてくれる、小粋なソフトウェアだ。つまりクラッシュしない(何も吐き出さないということはない)ので、ストレスが少ない。tthでHTMLに変換→ワードにコピペという方法もなかなか有効。
スタイルを忠実に再現したり、様々なパッケージに対応できるコンバーターもあるようだけど、今はとにかくクラッシュしないtthがベスト。
使い方:
tth <tex file>
latex2rtf <tex file>
【追記】
tthは日本語でもいける(Nice!)。アウトプットはオリジナルのファイルと同じエンコーディングになるようだ。
共著をする時には大きな障害になりそうな気がするが、そこは追々考えるとして、当面は、ライティングの先生に添削を依頼する時にワードに変換する必要が生じた。
文章だけが必要なので、方程式や図表は綺麗に表示出来なくても差し支えない。この目的なら、tth (HTMLへ変換)とlatex2rtf (RTFへ変換。ワードで読める)が良い。どちらもUbuntuの公式リポジトリに入っている。
特に、tthは知らないパッケージが出てきても、その部分を無視してとにかく変換を成し遂げてくれる、小粋なソフトウェアだ。つまりクラッシュしない(何も吐き出さないということはない)ので、ストレスが少ない。tthでHTMLに変換→ワードにコピペという方法もなかなか有効。
スタイルを忠実に再現したり、様々なパッケージに対応できるコンバーターもあるようだけど、今はとにかくクラッシュしないtthがベスト。
使い方:
tth <tex file>
latex2rtf <tex file>
【追記】
tthは日本語でもいける(Nice!)。アウトプットはオリジナルのファイルと同じエンコーディングになるようだ。
どうやらこれがフルバージョンみたい。ずいぶん焦らすんだなー。
Calender
12 | 2025/01 | 02 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Search in This Blog
Latest Comments
[03/30 川内のばば山田]
[03/30 川内のばば山田]
[08/06 Aterarie]
[07/05 Agazoger]
[07/01 Thomaskina]
Latest Posts
(11/16)
(04/28)
(04/16)
(04/11)
(04/05)
Latest Trackbacks
Category
Access Analysis