2004-05-01から1ヶ月間の記事一覧

欲しい機能と違うじゃないか!!

よく見たらやっぱり違うじゃないか!!ヽ(`Д´)ノ

boost::function_output_iteratorがあるじゃないか!!

よく見たら同じ機能のiterator adaptorがあるじゃないか!!ヽ(`Д´)ノ

transform_iterator + proxy object

projection_iteratorを使った面白いトリックを思いついて,documentを読んでみたらprojection_iteratorが無くなってる!・・・と思ったけれど,よくよく考えてみたら,自分が思いついたトリックはtransform_iteratorで十分なことに気が付く.というか,これ…

今後の書く予定の事柄メモ

C++

Expression Template(式オブジェクト)の説明を終わらせるw(TMP) 関数ポインタ,あるいはメンバ関数ポインタによるcall backをinline化したい(STL, TMP) uBLASで自作浮動小数点クラスを使いたい(boost::numeric::ublas, GP) lambdaにおけるメンバ選…

"Chinese Unknown Word Identification Using Class-based LM" from IJCNLP 2004

中国語の未知語同定

続:lambda式を直接適用可能なtransform_iterator

ということで,実装しました.そもそも何故こんなに苦労したかというと, transform_iteratorに渡すfunctorは戻り値が定まっている必要がある 一方で,lambdaはoperator()に引数が渡される瞬間まで戻り値が決定しない というジレンマがあったせいで,これを…

lambda式を直接適用可能なtransform_iterator

id:Cryolite:20040518で指摘したように,transform_iteratorに直接lambdaを渡すことが出来ません.なので,これを可能にするコードを書いてみました.が,よりによって一番やりたくない解法であるマクロを使うことになりました.しかし,これが限界というか…

"Machine Learning: Discriminative and Generative"(asin:1402076479)の輪読

MEとEMの話が中心.数学的に厳密なところから入っていくので追うのが若干大変.

FSNLP,11章(PCFGのInside-Outside algorithm)と16章(Maximum Entropy Modeling)

この勉強会でちゃんと読むまで,Inside-Outsideアルゴリズムの具体的な内容を知らなかったという勉強量の無さ.反省.

std::transform + boost::counting_iterator + boost::lambda

昨日寝る前に上を思いついて半ば興奮状態で書きましたが,一度寝て,起きて冷静に考えてみるとcounting_iterator + transformの方が圧倒的に直感的だという結論が出ました.lambdaも直接書けますし.(´・ω・`)ショボーン.上が有効になるのはiterator範囲に…

boost::transform_iterator + boost::lambdaによる即席iterator

さて,ここまでは話の半分で次からが本題です. 日々boostと戯れる変態(褒め言葉ですからね!)なら,当然,transform_iteratorに渡すファンクタをlambdaでinlineに書きたいと思いますね?思いませんか?思わない人はここでさようなら. で,実際にやってみ…

iteratorによる数値関数の模倣(boost::counting_iterator + boost::transform_iterator)

今まだ,私の時間感覚では5/17なのですが,先走って18日の日記を書きます.長くなるので17日の分と分けたほうが良いだろうと思われるからです. 前から思っていたこととして,数値関数を模倣するiteratorがあればなぁ,というのがありました.ここで数値関数…

"Licensing Complex Prepositions via Lexical Constraints" form MWE Workshop, ACL 2003

Boost Iterator Adaptor + 標準algorithm

以下のようなmy_key_valというクラスがあるとします. struct my_key_val { my_key_val() : key(int()), val(double()) { } my_key_val(int key, double val = double()) : key(key), val(val) { } int key; double val; }; これをkeyについてソートしてvect…

っていうかもうそろそろC++に関して読むべき本がなくなってきた

C++

今まで読んできた本を,感想一言添えて挙げてみる. 取り合えず,一通り目は通したもの 『標準C++の基礎知識』(C++の本で最初に買った記念すべき1冊.今思えばあんまり良いとは言えない内容か) 『プログラミング言語C++ 第3版』(C++を真面目にやるなら最…

Boost本キタ━━━━(゜Д(○=(*´Д`*)=○)Д゜)━━━━━!!!!

待ちわびたぞぇ・・・.思っていたより小さかったけれど,その分厚みは充実していて中身も濃くて超(゜д゜)ウマー.リファレンスとして身近に置けて必要なときにすぐに項目引っ張れる.っていうか,Boostのリファレンスが手元に必要な漏れって一体・・・

式オブジェクト without テンプレート

ETの説明を長々やってますけれど,ここでふと「こういう式オブジェクトの実装は別にテンプレートを使わなくても出来ますよ」ってことを最初の最初に書いておくべきだった気がします.OOPというか,動的なオブジェクト生成でもETと同様な実装は可能です.式オ…

"Optimization with EM and Expectation-Conjugate-Gradient" from ICML2003

http://citeseer.ist.psu.edu/573817.html EMアルゴリズムがQuasi-Newtonのようなsuper-linearな収束を見せる時と,勾配法のようなlinearな遅い収束を見せる時の条件を解析的に同定した上で,その条件に基づいてEMと勾配法を切り替えるhyblidなアルゴリズム…

変な方向の労力は惜しまない

2次元画像を画像掲示板から楽に落とすために,Irvine用のDMonkeyのスクリプトを一生懸命ちまちま書いている自分が嫌w.

数値計算(一時オブジェクトの排除)におけるETの欠点

id:Cryolite:20040510#p2より続きます. 今回は数値計算ライブラリにおけるETの負の面について書きます. 数値計算ライブラリにおいてはETはもっぱら一時オブジェクトの生成を抑えるために使われます.しかし,このことが期待しない作用をもたらすことがあり…

はふぅ・・・

やっぱり余計なことしていると本業の方が疎かになってしまいますね.あくまで本業を最優先に,趣味はあくまで趣味に,と. よしっ!明日からも頑張るぞ,っと.

MSVC++ .NET 2003 Standard + MSVC++ Toolkit 2003

C++

一ヶ月ほど前でしたか,MSVS .NET 2003 ProfessionalのC++コンパイラ(最適化有り)相当のものが無料公開されまして, http://msdn.microsoft.com/visualc/vctoolkit2003/ 自分もちょっと前に入れていたのですが,自分Standard版(最適化なしのコンパイラが…

unroll+ETなC++数値計算ライブラリ

id:Cryolite:20040510#p3書いてて(というかずっと前から)思ったのですが,unroll+ET+ブロック化なC++線型代数ライブラリって無いんでしょうかねぇ.線型代数ライブラリってやっぱりATLAS最適化BLASあたりが一つの目標になると思うのですが,あれと同じよう…

boost本( ゜д゜)ホスィ…

日曜に書き忘れていたのですが,実はまだboost本買ってません.日曜に自分が知っている中で一番大きな本屋さんに逝ったのですが無かったのです.まぁ,フライングゲットできたらラッキー程度で探してみたんですけれどね.でも,無かったら無かったでやっぱり…

おまけ

以下は上の欺瞞に満ちた実験に対する言い訳ですw.数値計算の泥臭い話で,ETの本筋の話から外れるのであんまし読まないでくださいw. まず最初に,Explicitの書き方は毎回の演算ごとにindexingするあんまりよろしくない書き方で本来は以下の書き方が適切と…

Expression Template(式テンプレート)の効果

id:Cryolite:20040507#p1より続きます. というわけで,今回はETの効果について検証します.今回検証に用いるのは以下の高次元のvectorの和の計算についての速度です. t = u + v + w; これを,ETによって和を実装したvectorクラスet_vector.hppを用いて実装…

難しいお話はなしよ,っと

2002年 月刊アスキー6月号 竹内郁夫、山形浩生 対談「ハッカーたちの言葉遊び」 P.188 物理シュミレーションがからむグラフィックスのような世界では、今でも魔法使いがいっぱいいますよ。IPAの未踏プロジェクトってあるじゃないですか、あれに関わった人で…

ヤヴァい

なんか,色々切羽詰ってるので余裕が無い・・・.

今日はお休み

今日はお休み >

ETの考え方とその簡単な実装

id:Cryolite:20040506#p2より続きます. 今日はETの基本的な考え方とその簡単な実装について書きます. ETの鍵となる考え方は,式の中に現れる各演算の結果をそのつど計算するのではなく,各演算を表す小さなオブジェクトを順々に生成していくことにあります…