1/9 パターン認識


試験について


前回の感想,質問より

Q.
ノロウィルスになったので授業に行けません。
A(TA関根さん).
お大事に。
Q.
ArgumentError: wrong number of arguments (0 for 1)
	from (irb):27:in `gjp'
	from (irb):27
	from :0
といわれてgjpがうごきませんでした。
A(TA関根さん).
提出されたプログラムには gjp を呼び出すところが書かれていないのでよくわかりませんが、 引数を付けずに gjp を呼び出してしまっているようです。 適切な引数を付けて呼び出してください。
Q.
アラインメントの表の作り方がよく分からなかった。 A-AとAA-の違いはどうなっているのか?
A(TA関根さん).
「表のあるセルを埋めるに当たって、その上・左・左上の3つのセルだけ見れば良い」 という考え方で順々に表を埋めていきます。

例えば、講義スライド17ページの表において、第2行第3列の空白を埋める状況を考えます。 これはすなわち部分文字列 "A" と "AT" との類似度を求めるということです。 現時点でわかっている情報(表の埋まっているセル)は、

  1. ""(空文字列)と "AT" の類似度は -4 〔直上のセルを見ればよい〕
  2. "" と "A" の類似度は -2 〔左上のセルを見ればよい〕
  3. "A" と "A" の類似度は 2 〔左隣のセルを見ればよい〕
です。それぞれの状態から「"A" と "AT" の比較」に移るには
  1. "" と "AT" にそれぞれ "A" と "-" を付け加える 〔ギャップを加える〕
  2. "" と "A" にそれぞれ "A" と "T" を付け加える 〔不一致な文字を加える〕
  3. "A" と "A" にそれぞれ "-" と "T" を付け加える 〔ギャップを加える〕
というような操作をすることになる訳ですが、ギャップが増えれば類似度は -2 だけ、不一致 な文字を加えれば類似度は -1 だけ変化するので、結局それぞれの類似度は
  1. (-4) + (-2) = -6
  2. (-2) + (-1) = -3
  3. 2 + (-2) = 0
となります。 類似度はそのうち最も良い物(値の大きいもの)を考えればよいので、結局 "A" と "AT" の類 似度は 0 と求まります。

同じ要領で次から次へと表を埋めていけば良いのです。 (そう考えるとスライド14ページの漸化式が得られます)


Q.
[AAAC]と[CAAA]のアラインメントで類似度最大となるのは・・・で、
irb(main):008:0> align_rec("-AAAC","CAAA-")
=> 4
irb(main):009:0> align_rec("AAAC","CAAA")
=> 2
となったのですが、なぜなんでしょうか?align_recは配布プログラムを使いました。
A(TAの滝瀬さん).
これは見たままです。 上の例では「-」は文字と認識して、ギャップ(-2)ではなく不一致(-1)と判断して(+2)*3+(-1)*2=4 講義中はわかりやすくするためにギャップのときに「-」を用いています。 下の例は講義中のスライドで説明した通り2となります。

前回の課題について


補足


投票システム

vote.rbをダウンロードして,ホームディレクトリに保存してください.ドックからターミナルを起動して,
ruby vote.rb 選択肢番号
のように使います.

今日の練習,投票

関連リンク


教科書の補足


今日の課題