Page List

Search on the blog

2019年5月17日金曜日

GITADORA DM スキル 1921.83

 最近GITADORAのドラムマニアにハマっている。


どのくらいのスキルのときにどのくらいのレベルの曲を練習していたかの記録を付けていこうと思う。

  • ロードオブメジャーの懐メロ
  • サビ前のHHSHHHSHHHSHHHSHのところが右右左右...だと難しかったが、右左右左...だと叩けた。


  • アニメの主題歌らしい
  • タム回しがうまく叩けない 


  • けいおん!!の主題歌らしい
  • ロータム、フロアタム、スネアを力強くたたくところが気持ちいい


2019年1月19日土曜日

Approximation Algorithms Part I Week 2

 Week2 の講義を視聴した。Week2のテーマはナップサック問題だった。

 ナップサック問題は、動的計画法の基礎中の基礎ということで、プロコンで何度も解いているので最初の方はだいたい知っている話だった。価値が小さな整数の場合は多項式時間の動的計画法で解けるが、任意の実数の場合はどうすればよいか? Scaling、Roundingというテクニックを使うことで近似解を求めることができる。

 Roundingのテクニックは Week1 の vertex cover にも出来てたが、vertex cover の場合は LP relaxation を解いた出力を rounding するのに対して、ナップサック問題の場合は 入力値を rounding する。アイデア自体はシンプルで実数を整数に変換して動的計画で解けばOK。

 Scalingのパラメータの取り方によって、任意のε > 0 に対して|OPT - ApproximationOPT| < εとなるような近似問題を定式化できるが、実行時間は1/εに対して線形で増えていくので実用的には程よいεを見極める必要がある。このあたりの reasoning/analysis は面白かった。

 

2019年1月12日土曜日

Approximation Algorithms Part I Week 1

 Courseraで「Approximation Algorithms Part I」という講義を取り始めた。以下のようなことを教えてくれる。

  • クラスNPの組み合わせ最適化問題の近似解を多項式アルゴリズムで求める
  • 近似アルゴリズムの精度
  • 近似解が実行可能であることの考察

ちなみにコースを提供しているENS(École normale supérieure; 高等師範学校)というのはフランスの大学らしい。

 第1週は Vertex Cover を解くための Linear Programming RelaxationとRoundingについてだった。さっき課題を提出したが、記述式の問題で、生徒同士で評価しあう形式だった。数式を書かないといけないのでひさびさにlatexを使って学生に戻った気分になった。

 組み合わせ最適化問題は実世界の問題にも適用できる場面が多いので、基本を抑えてエンジニアとしての引き出しを増やしておきたい。

2018年12月23日日曜日

reason about computer programs

 以前「Functional Programming in Scala」という本を読んでいたときに「reason about」という表現が出てきた。そのときはしっくりとくる和訳を見つけられずにいた。

Because of their modularity, pure functions are easier to test, to reuse, to parallelize, to generalize, and to reason about.

The use of throw and catch means we can no longer reason about our program purely locally by substituting terms with their definitions.

 どうやら純粋関数でプログラムを書くと reason abount しやすいらしい。最近読み出した「AN INTRODUCTION TO PROGRAMMING IN GO」という本でも同じ表現が出てきた。

You'll spend a large amount of your time just trying to fix your program so that it finally compiles. But types help us reason about what our program is doing and catch a wide variety of common mistakes.

 改めて辞書を引いてみると、「〜について論理的に考える、判断する」というのが妥当な和訳っぽい。そういえば日本語でも、ものごとについて論理的に考えて推論することをリーズニングというなぁ。

 ということで、reason about program でググっていたら面白い記事を見つけた。

 reason about という表現はバズワード的に使われるが、実は重要な意味がある。リーズニングしやすいコードとは以下の特性を持っている。
  1. 意図しない副作用を持たないこと
  2. 外部の状態に依存・影響しないこと
  3. 参照透明性
上記の特性を保証するには様々な方法がある。
  1. ユニットテスト
  2.  型
  3. イミュータビリティ
ユニットテストはコードが正しく動くことを保証してくれるしドキュメントとしても利用できるが徹底的に考えないとエッジケースを取りこぼしてしまう。型・イミュータビリティはコードに制約を課すが様々なエッジケースを防いでくれる。

2018年10月14日日曜日

Full Houseで学ぶ英語表現

Full Houseで学んだ英語表現をメモしていきます。

日本語訳は英語の後に白字で書いています。
マウスで領域選択すると確認できます。

6-20 アダになった贈り物
ジョーイがDJに車をプレゼントしますが、その車が盗難車であることが分かり・・・

You bought a lemon, huh?  欠陥車を買ったんでしょ?
Do you have a pink slip? 車の所有権証明書はもってる?
It's an open-and-shut case. 極めて明白な事件です。

6-21 生放送は大混乱
3人目の子供を欲しいと思うジェシーだったが本当にそんな余裕あるのか・・・

Nicky used the baby pottyニッキーがおまるを使ったよ
I'm fresh out of slops. 残飯を切らしています。
I think all that mousse is seeping into your brain. ムースが全部あなたの脳みそに染み
Is his nose still all stuffed up? まだ彼は鼻詰まりなの?
Get off your butt. ケツを(床から)あげろ!
You got a heck of honk there. すごい鼻息だな。
That was way out of line. 言いすぎた。
Zip it. 黙れ。
Now works for me. 今が都合いい。

6-22 ユーワクの夜
DJとスティーブはプロムに参加するが、そこにはスティーブの元カノがいて・・・

Do you have any queens? Go fish. クイーン持ってる?ないよ。
You are on. その話、のった。
It's really uncool to be seen with chaperons. 保護者と一緒にいるのを見られるのはかっこ悪い。
I'll just go over there and straighten out my support hose. あの辺でストッキングのシワを伸ばしてるわ。
I've never seen him go five minutes without at least a Tic Tac. タブレットのお菓子なしじゃ5分ともたないわ。
Let me take a wild shot here. 当ててみましょうか。
I'm robbing the cradle. ずっと年下の若い子と恋人関係だ。
The truth is I was off by two years. 本当は2才サバを読んでるの。
My agent suggested that I drop a few years. 事務所が2,3才サバを読むように提案したの。
It's not my kind of thing. 私の好きなこと(やりたいこと)ではない。

2018年9月27日木曜日

implicationとはどういう意味か

 最近何度か implication という単語を耳にして、イマイチしっくり来なかったので調べてみた。暗示、含蓄という意味の他に、結果、影響、関連事項という意味があるらしい。

Privacy Implications of the Internet of Things
IoT技術のプライバシー影響

Performance implications of the architecture
そのアーキテクチャのパフォーマンス影響

The Security Implications of Open Data in Healthcare
ヘルスケアにおけるオープンデータのセキュリティ影響

〜によって引き起こされる影響、懸念事項くらいの意味があると覚えておくとよさそう。

以下の単語が同様の場面で使われる。

conclusion(結果)
ramification(予期しない結果・影響)
link(関連、関係)
entanglement(もつれ、絡み合い)

2018年9月16日日曜日

アメリカ就労ビザについて

 アメリカの就労ビザをとるのがどれくらい大変なのか調べてみた。


ソフトウェアエンジニアとしてアメリカで働きたい場合は、高度な専門知識を要する職業につくための「H-1B visa」というのを取るらしい。

  • 毎年4月に応募が開始される
  • 結果がでるのは10月
  • 期限は3年
  • 期限が切れたら再申請が必要
  • 取得時の専門分野と異ならなければ転職も可能
  • 応募数がvisa発行可能数を超えた場合は抽選が行われる
    • アメリカの大学院を卒業した人には優先枠が設けられている
  • 抽選に当たる確率(2018)は
    • アメリカの大学院を卒業していれば55%くらい
    • そうでなければ35%くらい
  • 年度によって応募数は変わり、抽選がない年もある
なるほど〜、入社試験をパスしてもvisa取れなかったら多分見送りとかになるのかな・・(よっぽど優秀な人であれば待ってくれるのかもしれないが)。

参考