超言理論

特に益もない日記である

速さは普遍的で必要不可欠な要素

最近は疎行列の取り扱いに関するプログラムを書いているのだけど、n×n行列とn×1行列の内積計算が非常に遅い。多少の遅さなら仕方ないと諦められる(本当は諦めてはいけないのだろうけど、そこよりももっと書きたい部分があるので)のだけど、如何せん多少というレベルではなく、少し計算する個数を増やすとその計算だけで一晩終わってしまうようなレベルなのでこれはなんとかしないとと思っている。
こういった処理にかかる時間の主たる所は「無駄なループ」と「大きな配列などの操作」だと認識していて、恐らく「無駄なループ」というのが今回の原因だと思われる。特に、疎行列のような「全てのデータを確認するとその大半が無駄な値となる」ようなものに対してはループの作り方は非常に重要で、毎回全体を確認するような手荒いバケットな方法よりも、きちんとソートしておいて少ない範囲を探索するだけで前後の数値関係と応対が取れるような方法を考えないと効率が良いとは言えない。今までそんな効率に注力した事がなかった(弾幕はマシンパワーだった)ので、今は非常に苦しんでおります。(悩むのは難しいけれど、いい勉強だと思います。)


プログラムの速さのみならず、人間にとって速さというのは非常に普遍的に存在しながらも(故に?)重要な要素で、例えば論文やソフトウェアなんていうのは思いついてから発表するまでが割とスピード勝負な面もあったりします。(思いついてから完成するまでの速さ、というのには苦い思い出が)
今世界には70億ちょっとの人間がいて、そんな中で自分が思いついた事と同じ事を思いつく人、もしくは既に思いついている人ってどのくらい居るのかと言うと、超たくさんとしか言いようがなくて、そんな中で自分の思いついた事が綺麗に形になる時はどうするかというと一番最初にそれを実現して世界に出すしかないのです。一番最初に世界に出されたものにはたくさん特典があって、もれなくメディアが取り上げて、その後の関連分野ではコンスタントに参照される存在になって、特許でパテントが飛んできたりして、いろいろとりどり。
世界で一番でなくても、速さがあれば例えば学部の1年間の研究で学会にでたり、修士の2年間(特にNAISTのような学部が繋がっていないので一旦研究が途切れるような所)では研究や就活の速さが結構重要になってくる。特に、色々な分野について知識を持たなければならないような研究分野は学習の速さなんかも非常に重要(なんかそんな感じのお話を観月橋日記 (続生駒日記)@mamoruk先生も言っていたような。もし違っていたらごめんなさい。)だと思うので、悩むくらいなら突撃するくらいの身軽さと速さを持っていきたいと思います。特に語学の方面に、ですね。


Copyright © 2012-2016 Masahiro MIZUKAMI All Rights Reserved.