タグ

ブックマーク / nishiohirokazu.hatenadiary.org (6)

  • 妻に公開鍵暗号を教えてみた - 西尾泰和のはてなダイアリー

    何気なく放送大学をつけていたら公開鍵暗号の話をしていた。 「この話、何度聞いてもわかんないのよね」 僕「え、どこがわからない?どこまではわかってる?」 「平文はわかるけど、鍵を共有するとか秘密にするとか、署名するとかがよくわからない」 僕「あー、鍵に例えているのが逆効果なのか」 「鍵」をNGワードに指定 僕「じゃあ『鍵』という言葉を使わずに説明してみよう。暗号って『平文を暗号文に変換する方法』で伝えたい文章を暗号文に変えて送り、受け取った人はそれに『暗号文を平文に戻す方法』を使って元の文章を得るわけだ。その目的は、途中の通信文が敵に取られたりしても通信の内容がバレないようにするため。」 「うん」 僕「昔の暗号化の方法は、片方の方法がわかるともう片方の方法も分かった。例えば『アルファベットを後ろに1個ずつずらすと平文に戻せます』って教えてもらったら、『なるほど、前に1個ずつずらせば暗号

    妻に公開鍵暗号を教えてみた - 西尾泰和のはてなダイアリー
    hiroyuki1983
    hiroyuki1983 2014/08/10
    AとBはそれぞれ一色の秘密色を選ぶ。公開色Cをそれらに混ぜたものをそれぞれ公開する(AC, BC)。それぞれ相手が混ぜた色を自分の秘密色と混ぜると色ABCを共有できる。公開されている色C, AC, BCからABCを再現するのは不可能
  • Re: プログラマの実力は〜 - 西尾泰和のはてなダイアリー

    プログラマの実力は経験だけであがらないことがレベル格差につながる - きしだのはてな 要約して「Xを学ぶべきだ」になる主張は、その主張が正しいかどうか聞き手が判断できない。Xについて知らないのだから、判断できるはずがない。 話し手も正しく判断できているかどうか怪しい。単に自分がXを学んだから、それが無意味だったと思いたくないがために「Xを学ぶべきだ」と思っているのではないか?これに答えるのは難しい。Xを学ぶ時間でYを学んだほうがよかったのでは?この質問には答えられない。Yを学んでいないのだから、判断できない。 だから「Xを学ぶべきだ」という主張は質的に不毛なのではないか。代わりに「私はXに興味がある」「私はXを学ぶことが有益だと思っている」「私はXを学ぶこと自体が楽しい」「あなたが『Xなんか学んでも意味ないよ』と思うのであれば、どうぞご自由に。私は私のしたいことをするだけです」とでも言っ

    Re: プログラマの実力は〜 - 西尾泰和のはてなダイアリー
    hiroyuki1983
    hiroyuki1983 2012/10/31
    ZDD: Zero-supress BDD
  • PRMLを読むのに掛かる時間 - 西尾泰和のはてなダイアリー

    naoya_t さんの始めた初代 PRML 読書会は、当初は演習問題を全部解くんだ! と意気込んでいたようだが、初回で挫折。演習問題は必要に応じて適宜解くことにして、月1回、各回6〜9時間(!)を費やして、14ヶ月で全14章を読み通した。 一方、サイボウズ・ラボでの社内 PRML 読書会は、主宰の独断と偏見で全体の 1/3 は飛ばし、演習問題も必要最小限に絞った。週2回(!!)、各回1時間〜1時間半を費やして、それでも8ヶ月かかった。 PRML の読む章・飛ばす章(私家版) - Mi manca qualche giovedi`? つまり前者は平均7.5時間 * 14 = 105時間、後者は 1回1.5時間 * 週2回 * 月に4週 * 8ヶ月 = 96時間掛かっているということになる。「全部でだいたい100時間掛かる」っていう目安(というか心づもり)があると途中で心が折れにくくていいかも

    PRMLを読むのに掛かる時間 - 西尾泰和のはてなダイアリー
  • SamurAI Codingのゲームルールを勝手に解説 - 西尾泰和のはてなダイアリー

    SamurAI Codingは情報処理学会主催で行われる国際プログラミングコンテスト。9月28日にシンガポール予選、10月11日にシリコンバレー予選、24日に日予選が行われる。 公式サイト: https://samuraicoding.org/ ゲームは簡潔に言えば「サムライと犬を動かして陣取りをするゲーム」で、その動かすアルゴリズムをGunbai Scriptっていうこのゲーム専用の言語で実装して提出する。だから「慣れた言語やライブラリが使えるかどうか」っていう点での有利不利はなく、同じスタートラインから「理解し、よいプログラムを作る」という力を競い合うことができる。 ちなみに10月22日がソースコードの提出期限。24日は対戦が行われる日なので勘違いしないように。 ゲームルール ここではざっくりとルールの概要を解説する。ざっくりとしか書かないので細かいことはオフィシャルのPDFを参考に

    SamurAI Codingのゲームルールを勝手に解説 - 西尾泰和のはてなダイアリー
  • 混合ガウス分布モデルのクラスタをk平均法とEMアルゴリズムと変分ベイズでそれぞれ推定 - 西尾泰和のはてなダイアリー

    「クラスタは球状だ」と想定しているk平均法が苦労するように、細長くて交差したクラスタのデータを使った。また変分ベイズの「クラスタの個数を自動調整する」というメリットを確認するために、クラスタの個数は2, 4, 8個で行った。EMアルゴリズムと変分ベイズでは、k平均法ができていない「長細いクラスタだ」という推定ができている。またEMアルゴリズムではクラスタの個数は人間が与えないといけないが変分ベイズでは自動調整されている。ただし、自動調整に失敗することも結構あるので「何回か実行して一番良かったものを取る」というアプローチが必要だろうな。変分ベイズの8クラスタでの実験は10回やって一番良かったものを取っている。4クラスタの実験は6回。それぞれ初期状態から20ステップの学習過程を動画にしている。 k平均法 k平均法では細長いクラスタを見つけられないのでこれが限界 4クラスタの例。クラスタの個数を

    混合ガウス分布モデルのクラスタをk平均法とEMアルゴリズムと変分ベイズでそれぞれ推定 - 西尾泰和のはてなダイアリー
  • gitをテキトーに使って生産性を向上したユースケース - 西尾泰和のはてなダイアリー

    バージョン管理とかgitとかが「おおげさでめんどくさいもの」だと思う人は多い。でも、それは生産性向上のチャンスを逃していると思う。特に業務として多人数で開発している人たちの「変更前にはまずトピックブランチ」というやり方が、それはそれでよい方法なんだけど、いかにもめんどくさそうで尻込みさせてしまうのではないか。 先日の日曜日に、テキトーなgitの使い方をして、とても役に立ったのでユースケースとして報告しておこう。ただし、若干特殊な環境なのでここでやった方法が直接そのまま皆さんの所で使えるとは限らないが。 まず環境の説明。プロジェクトは「次の日曜日、新感覚シューティングゲームを展示します」で紹介している、テーブル型ディスプレイで動くシューティングゲーム。メインは @tokoroten で、ソースコードをバリバリ変更している。土曜日にとりあえず動くところまでは行った。改善点は山積みだ。使える時間

    gitをテキトーに使って生産性を向上したユースケース - 西尾泰和のはてなダイアリー
  • 1