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				
				| 10 | 2025/11 | 12 | 
| 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 | 
					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				
				 
	