2005/01/16

以前作成した get_combinations.py を見直した。以前のバージョンにはどうしても気持悪い箇所があって、それは「1つだけ要素を持ってくる組み合わせの全体」へどう対応するか、というものなのだが、最初にこいつを書いたときには最後に帳尻をあわせることで解決していた。結果が同じなんだからいいじゃん。正確にいうと、気持が悪かった箇所の問題が「1つだけ要素を持ってくる組み合わせ」に関連した問題だと気が付いたのはついさっきで、だから書き直したわけだけど。
こういうときに思うのは、つくづく自分はコンピュータサイエンスをきちんと学んでいないなあということだ。今回の場合は組み合わせを求めつくすのが目的で、結果を人間が参照するに分には以前作成したバージョンでも対して困らない。が、データ構造は3つの要素の組み合わせを求める時点から無理繰り変えるような方法をとっていて、それが最後の帳尻合わせが必要となる原因となっていた。で、後になってようやく気が付く。なんで気が付くかというと、それを応用しようというときに不都合にぶちあたるからだ。本来、こんな問題はアルゴリズムを思い付いた次の段階できちんと整理すべきことなのだ。そういうことを面倒がらずにやるのがプロってもんだろうが。プロじゃないけど。

No comments :