2008年1月のエントリー 一覧

いい加減頭に来た

今日はもういい加減頭に来ました!只でさえこんな修論提出前にストレスを溜めたくないのによりによってなんでそんな問題が起きるのか。これは今の研究を始めて幾度となく思ったことだけど、最後の最後まで付きまとってくるとか絶対嫌です。

詳細を書いても後で見て嫌になるだけなんで書きませんが、アルバイトというからには選択権はあるはず、ということだけ。めちゃめちゃストレス溜まったんで頑張って冷静になれるよう努めます。でも、またこれで研究がこじれるんだろうな?。

意思の疎通を図るのはかくも難しいものなのですね(>Д<;)

FXやってみた

  • 更新日:
  • お金
  • FX, 為替
たまたま弟に連絡をとったら、FXでかなり痛い目にあったとかいう話を聞きました。
でも、とにかくリスクとリターンのバランスを考えればなんとかなりそう?な雰囲気だったので
挑戦してみることにしました。

FXと株取引と違うのは、レバレッジスワップポイントの存在といえるでしょう。
FXでは、ある一定の証拠金を証券会社に預けることによって、その何倍もの金額の
取引を行うことができます。その倍率がレバレッジです。
レバレッジが大きければ大きいほど大きな取引ができるので、必然的にリスクが高くなります。
つまり儲けられるときは儲けられるし、損をするときはとんでもない金額の借金ができて
しまいます。
そんなわけで、自分の所持金と勘案して、ある程度のレバレッジで取引することになります。

そして、スワップポイントは外貨との金利差により発生する利息のことです。
金利の低い貨幣を利用して、金利の高い貨幣を買い注文を出した場合、その貨幣を
持っていればいるほど利息がついていきます。日本の金利だと1%に満たない程度
ですが、諸外国ではそれよりは高いので、徐々にスワップポイントがたまっていくことに
なります。
しかも、通常の外貨預金などと比較してもレバレッジが利いている分、受け取れる金額も
大きくなります。長期でじっくり貯めたい場合にはよさそうな感じです。
ただし、逆もしかりで金利の高い貨幣を売り建ててしまうと、決済取引で利息を払わないと
いけません。

そんなわけで、通常の株取引と比べると気を使わないといけないな、という印象はうけました。
当分は安全運転でちょこちょこと頑張ってみたいと思います。

そしてまた1つ迎える結末

ここ最近、研究の話ばかりしか書いてないのでそれ以外のことも書いてみようと思います。*1


昨日は4年間ずっと担当していた家庭教師の最終日でした。
振り返ってみればかなり長い期間やってたんだなって思いますね。
初めてその家に訪問したときはどういうノリでやったらいいか分からず、
かなり真面目に頑張ってました。でも、いっぱい学校の話もしたし
何に興味を持ってるのかとか一生懸命?教えてくれたりとか。
彼が小学校のときは、足を持って振り回されるのがなぜか好きだったので、
こっちは彼の脚をつかんでよく振り回してました。
今思えば、とっても体張ってましたね。

今でも覚えているのは、2回目に行った時は本当に勉強をするのが嫌だったみたいで、
ちょっと教科書を見せようとすると別の話をしたりして、ひたすら気を反らされてたこと。
あの時はちょっとムカッヽ(`Д´)ノ と来たけど、今ではけっこういい思い出です。
1回だけ本気でキレて、彼のほっぺたをギューとやったりしてたしw

彼が小学校のことは、ひたすら百マス計算とか読書する時間とか取ったりして、
けっこうまったりやってました。さすがに読書の時間とかとってると、あまりに
勉強をする時間がなかったので、1年くらいで普通に勉強するように変更したんですけど。

実は彼には当初、もう一人家庭教師の人がついていたらしく、めっちゃ勉強を教えられてた
らしい。でも、雑談をめちゃするこっちのほうが結果的には継続してくれることになったのは、
良かったのか悪かったのか。本気で勉強をするなら、きっと向こうの人の方がひたむきに
頑張ってくれてたんだろうけどね。
ともかく、ずっと担当することになり、先生だか友達なんだかよく分からない関係になって
いました。

彼が中学に入ってからは、小学校のときと比べるとそれほど危機的な状況ではなくて
わりとスタンダードなポジションになってくれたのはちょっとうれしかったかも。
身長もめきめき伸びて、声変わりもして、反抗期に移行するあたりを目の当たりに
できるのは、いつも教えに行ってて楽しかったことですね。
小学生のときは自分の意思を伝えることに一生懸命で、話の展開の仕方も小学生独特の
特徴があったんですけど、やっぱり中学生になると、しっかりと道筋を立てて説明できるように
なってくるし、どうすれば相手を説得できるかのコツも分かってくるし。
中学生になると急成長するんだなって実感しました。

最近では、以前とはまた違った悩みとかも話してくれたりしました。
自分の中学生時代と比べても、こんなこと考えてたかな??て思うこともあったりして
驚かされることもしばしば。きっとこれからもかなりの成長をみせてくれることでしょう。

贅沢をいうなら、高校が決まるくらいは担当をしてみたかったけれど、今自分が
教えられることを考えてみると、やっぱり今くらいでも良かったのかな、という気はします。
もし彼が大学生くらいになって、中学生の時期を振り返ったときに、「あの時も良かったな」と
思ってもらえるなら幸いですね。

場所はまだ近いので会おうと思えば会うことはできるのですが、これまでのように
定期的は会えないのは残念です。とはいえ、もともとは家庭教師と生徒という関係。
これまで何人かの生徒を担当してきて、確かにこういった場面を体験するわけですが、
あまり引っ張ってもしょうがないんですけどね。


そして今日以降、きっと僕が家庭教師を務めることはもうないでしょう。
他の大学生と自分とを比較すると、塾の講師をしている人ならきっと担当した生徒の数は
僕よりとても多いはずです。そんな人たちと比べれば、家庭教師でどれだけ頑張っていようとも
教えられる生徒は限られるし、経験だってもちろん負けてしまうし。
本当に勉強をさせるなら、きっと塾の先生の方が効率よく分かりやすく教えることが
できるでしょう。
そんな負い目もありながらも、それでもいつも自分ができる範囲で頑張ってきたつもりです。

僕が担当した生徒達はみんな個性的で、どこか秀でている面を持っていました。
昨日最後を迎えた彼もまたその1人。
確かに悪ふざけはするし、生活習慣だってちょっと乱れ気味。
でも、スポーツが得意で集中力もあって、優しくて人の気持ちを察することができて。
ユーモアもあるし好奇心旺盛で、幅広く友達もいる、そんな子でした。
そんな彼を4年間も担当できたことは自分にとって本当に良かったと思っています。


大学院生になって涙もろくなったって自覚はしているんですが、
思い出したらやっぱり泣けてきました。
ふとしたきっかけで始めた家庭教師。それもまた今日で1つの終わりを迎えます。
社会人になって10年後振り返ってみても、きっと「あの時も良かったな」と言えるはずです。


ありがとうございました。
そして、おつかれさまでした。

私のPCの前で

話さないでください
そこに聴衆はいません
聞いてなんかいません


っていう替え歌(?)を思いついた。
研究に集中している時に横から話しかけられるってのはよくあることだと思うのですが、
それがいつものことだとかなり凹みます。もうちょっと違う環境でも実験したいな?。
とか言いつつ、あと2週間頑張るだけなんですけどね。

とりあえず、昨日まで苦戦したプログラムの修正のおかげで、実験の結果も好調です。
こんなスケジュールで行けば、論文提出1週間前には実験終了になりそうです。
本当ならもうちょっと早くに終了したかったんですけどね?。

3年目の株投資成績

株投資の経験が今月の6日から4年目を迎えました。
当初はかなり損をして痛い目に遭い、2年目はライブドアショックで凹んだのですが、
3年目の成績はどうだったのでしょうか?
昨日、郵便ポストを見てみると、証券会社から取引報告書が送られてきていました。

おそるおそるその書類の中身を見てみると…、約+16%程度の黒字でした!
年間成績では初の黒字達成ですゝ(^O^)丿
去年の取引を振り返ってみると、一番おいしかったのは任天堂株ですね。
最近では円高の影響もあって微妙な雰囲気ですが、任天堂にはとっても感謝ですね。

今年はサブプライムローン問題や、アメリカのスタグフレーション観測もあったりなんかして
軟調になりそうな雰囲気ですが、それにもめげず、継続して利益を重ねていきたいと
思っています。

もうバグ取りは終わりにしたい

探しても探してもわいてくるバグ。今回のバグはかなり難しい!と自負できます。 これはもう、設計段階でどれだけ例外的な場合を考えることができるかにかかっています。 完璧なアルゴリズムに則ってさっさと組んでしまいたいです。

さて、そんなわけでこのブログの読者様にもぜひ挑戦してみて欲しいです。 ちなみに本来のコードを改造して、ちょっとだけ解きやすくなっています。 クラス名が適当なのは無視ということで...。

class Entry {
    private String id;
    private double value;
    public static Comparator<Entry> ID_ASCEND_COMP;

    // getter, setter は定義済みとします。
}

class Application {

    // 問題のメソッド
    public List<Entry> merge(List<Entry> list1, List<Entry> list2 ){
        Collections.sort(list1, Entry.ID_ASCEND_COMP);
        Collections.sort(list2, Entry.ID_ASCEND_COMP);

        Iterator<Entry> it1 = list1.iterator();
        Iterator<Entry> it2 = list2.iterator();
        Entry e1 = null;
        Entry e2 = null;
        List<Entry> merged = new ArrayList<Entry>();

        while(it1.hasNext() && it2.hasNext()){
            if(e1==null)  e1 = it1.next();
            if(e2==null)  e2 = it2.next();

            int key = Entry.ID_ASCEND_COMP.compare(e1,e2);

            if(key<0){
                merged.add(e1);
                e1 = null;
            } else if(key==0) {
                e1.setValue(e1.getValue()+e2.getValue());
                merge.add(e1);
                e1 = null;
                e2 = null;
            } else {
                merged.add(e2);
                e2 = null
            }
        }
        if(e1!=null)  merged.add(e1);
        if(e2!=null)  merged.add(e2);

        while(it1.hasNext())  merged.add(it1.next());
        while(it2.hasNext())  merged.add(it2.next());

        return merged;
    }
}

で、このメソッドが何をしているかというと、引数に与えられた2つのコレクションを1つにまとめるということをしています。ただし、IDが重複しているインスタンスがあれば、片方のインスタンスに value を加算してそれを追加するというメソッドです。ちなみに、list1とlist2がnullの場合は考えなくても構いません。(NullPointerExceptionが発生して終了するだけなんで。)また、ID_ASCEND_COMPは、Entryのidをソーとキーとして昇順に並び替えるComparatorです。*2

続きを読む

全身痛いです

  • 更新日:
  • 日記
  • 筋肉痛
今日は起きたらめっちゃ全身痛くてびっくりしました!えっなんでや!?
確かに心当たりはあって、昨日ちょっと慣れないことしたな?って自覚はあるんですけど、
そんな筋肉痛になるほどか?とも思うわけで。やっぱり年をとったってことなんでしょうか。

4月から働きに行くのに、こんな簡単に筋肉痛になってたんではダメですね?。
日頃からちゃんと鍛えていきたいとしみじみ思う今日この頃でした。

9人の人間が3つの部屋に入る組合せ

  • 更新日:
  • 雑記
  • SPI, 数学
今日ちょっと就活の話をする機会があった時に、「9人の人間が3つの部屋に入る組合せって何通りなんですか?」って話が出たので、メモ程度にここに解き方を書いておきます。


いきなりタイトルの問題を解こうとするとちょっと面倒なので、ちょっと問題の規模を小さくします。「4人の人間が2つの部屋に入る組合せは何通りか?」を考えます。ここでは、人間には区別があり、部屋には区別がないとします。

こういった組合せの問題を解くときに重要なのは2つあります。1つは「全て区別する時は何通りか?」をまず考えること、そして2つめは、「どういった場合が同じ組合せか?」を考えることです。簡単なほうの問題では、「全て区別するときは4! (4の階乗)」です。これは、部屋の存在を考えずに、単純に順列として考えたときの並び方と同じです。

combination1.jpg 次に、どういった場合に同じ組合せとみなすかを考えます。
この問題では、部屋には区別がないということなので、上の図と下の図は同じとみなせます。さらに、それぞれの部屋の中で場所が変化しても同じとみなせます*3。他の組合せの場合でも、同様にして必ず同じみなせる組合せが存在します。というわけで、この問題では「ある組合せに対して同じとみなせる組合せの数は2*2*2=8通り」です。

combination2.jpgここまで来たらほぼ解けたようなものです。問題の答えは、(全て区別するときの組合せ数)÷(同じとみなす組合せ数)なので、4!÷8 = 24÷8 = 3通り が正解です*4


さて、これまでのことを応用して「9人の人間が3つの部屋に入る組合せ」を考えてみましょう。ここでは、人間に区別があり、部屋に区別があるとします。全て区別するときの組合せ数は、9! (9の階乗)です。次に、どういった場合に同じとみなせるかというと、「部屋の中での位置が変わったとき」なので、その場合について考えます。それぞれの部屋で3人が入れ替わるので、3! * 3! * 3! = 216通りになります。で、最終的な組合せは 9! ÷ (3! * 3! * 3!) = 1680通りになります。

もし、この問題で部屋の区別がない場合は、さらに 3! で割って280通りになります。

これでどうだ!?

昨日、あまりに実験結果の評価が悪かったのでプログラムの見直し+実験結果の見直しをしていました。そしたらやっぱりいました、あの嫌なやつ。バグが潜んでいました。今回のは、これまでバグの確認のために使っていたデータ以外の、本番用のデータで確認したらけっこうあっさり分かってしまいました。これはちゃんとテストをしろよ!という神からの思し召しなんでしょうか。それにしても、これまでこんなにバグが潜んでいたのかを思うと凹みます。

しかも間違えていたのが、コレクション中の最小値を見つける部分という、かなり情けない場所。やっぱり例外処理をちゃんとするべきですね。

double min(Collection<Result> col) {
    double min = Double.MAX_VALUE;
    for(Result r : col) {
        min = r.getValue() < min ? r.getValue() : min;
    }
    return min;
}

はい、これが問題のソースコードです。一見正しそうに見えますが、ちょっと処理が抜け落ちています。さて、どこでしょう…。

続きを読む

検査結果

  • 更新日:
  • 日記
  • 診察, 病院
昨日に引き続き病院に行って診察を受けてきました。
MRIで撮られた画像も見せてもらったんですが、パッと見た感じではレントゲン写真みたいですね。診察室で写真を見ながら、「MRIで撮られたらこんなふうに写るんや?」と興味津々で観察していました。検査結果よりもどうやってMRIって実現してるかの原理が気になってるというのは、なかなかおかしい気もします。が、特に異常なしということで一安心。予後の経過をみる事になりました。

で、今度はなぜか親知らずが痛いのが気になる…。
こっちの痛みもなんとかならないんだろうか。

このページの上部へ

About

tetsuの日記・雑記です。
日々経験したことを記録していきます。

広告

サイト内検索

最近のピクチャ

  • リアディレーラ

月別アーカイブ

最近のコメント