読者です 読者をやめる 読者になる 読者になる

竹林のゆとりブログ

山奥で生活し、日々の思いをつらつらと書くブログ。 IT、数学、アニメなど。

君の名は。

雨が降っていましたね。
雨といえば、言の葉の庭を思い出します。
言の葉の庭の情報を少してみると、新海誠監督が新しい映画作って、公開していることに気づきます。

というわけで、新海誠監督の最新作品、君の名は。をみてきました。

以下ネタバレ感想なので、注意を。

       

  

       

では、感想です。

二人の主人公はどちらも青い学生。街のしきたりを大事にしながらも、東京に憧れ、良い生活をしてみたいと願う女子高生。もう一人は、日々都会生活に流されつつ、自分の正義感を貫こうとする一生懸命な学生。

ふたりとも感情移入しやすく、とてもよかったです。 気がついたら、お互いのことを考えてしまい、会いにいってしまうのも非常にいい。

女の子が気づいてもらえなくて、髪の毛をばっさり切るのも非常にかわいいです。

結末について話したいので、あらすじを軽く。

この物語は二人の主人公がお互いの体がいれかわることになってから始まります。

憧れの都会生活を初めて味わう女子高生。 嫌なこともあったりもするが、新鮮な体験や憧れの先輩もおり、充実した日々を過ごす。

地方のまったりした生活を味わう男子高校生。 地方の文化と伝統に苦労と理解をしつつ、自分らしく生きていく。

どちらも生活の変化を肯定的に受け入れ、お互いのことがどんどん好きになっていく。 そんなある時、そう、1200年ぶりに巨大な隕石が見れる日。これを境に、二人は全く入れ替われなくなる。

こらえきれなくなって会いに行った男子高校生。 そこには信じられない光景が…。なんと3年前にこの街は潰れたというのです。 そして、街と一緒に死んだ子に恋をしていたのです。

単なる入れ替わりにみせかけて、実はタイムパラドックスだというところがストーリの肝です。

この前ふりから自然に想像できると思いますが、結局、 一日時間を巻き戻し、未来を変え、世界は救われます。

ただ、本来交わらないはずの二人。夢のようないれかわりの間の記憶はすぐに失われます。 好きだったのに、あんなに好きだったのに、名前すら思い出せない。

名前すら思い出せなくても、自分の中にあった感情だけは忘れていない。 出会った瞬間に、好きだったことを思い出せる。

最後、二人が出会うところでこの映画は終わります。

ハッピーエンドでめでだし、めでだし。

なんとハッピーエンドなんですね…。

新海誠作品といえば、とても鋭い切り口で、一気に視聴者の心を突き刺す作品です。

言の葉の庭も秒速5cmも日常社会の無常さを主張し、自分の歯車感を思い知らされるような作品でした。

そして同時に、恋の一瞬の淡く切ない感情を書いていた作品でした。

新海誠作品は雰囲気的に切なく終わるように見えるんです。 現実や時間におしつぶされていく人間らしさが描かれている。

だから今回も

あの頃、あいつが好きだった。今はもう名前さえも思い出せない。 君の名はなんだったんだろう。あの頃はどうしてあんなに無茶な行動ができたんだろう。 でもそんな思いも現実にいつかは塗りつぶされていく。

みたいな終わりを妄想してました。

それが、今回、世界を変えて、まさかのハッピーエンド。

想定との食い違いがなかなか受け入れられませんでした。

時代を超えた赤い糸は、それほどまでに強力だということなんでしょうか。 それとも、にわかの浅い読みを外しにいったということなんでしょうか。

わかりません。もう一度ぐらい映画をみて考えを深めたいと思います。

ひとまず、彼らは不器用なりにも、再び出会えました。

奇跡の続きを得られたのです。彼らに幸せな日々が訪れることを期待しています。

物語(鉄血編)感想

アニメ 物語シリーズ

こんな記事をみかけた。

wagahaji.hatenablog.com

堀江由衣のロマンポルノ・・???? ごしごし(つд⊂)、堀江由衣のロマンポルノだと!!。 堀江由衣ファン歴15年以上の自分としてはいてもたってもいられず、映画をみてきた。

以下感想。

言ってる通りだった。 いろんなアニメを見てきたつもりだったけれど、これ程直球的にえっちな堀江由衣は、他に記憶がない。

例えば、羽川翼と暦が友達になるあのシーン。

優しすぎる羽川を遠ざけるため、暦は体目当て話した、スカートの中身をみせるのなら、仲良くしてやってもいいとまでう。 そんな暦の嘘を気づいている羽川が、仲良くなれるんだったら…、本当の自分をみせてくれるんだったらと、スカートをるという衝撃的なシーン。 小説でも衝撃的だったが、映画はその比ではなかった。 映画の制約上、セリフ量が少なく、突然感があるせいか、ただの変態に見える。

映画を見る限り、アニメスタッフ側は全力で羽川に変態シーンをやらせている。

暦の体を触るシーン、会話の最後にエロ本をみつけてしまうシーン、羽川のお腹を頬釣りされるシーンなど、どれをみて直線的にえっちな行動をしている。 下着を脱ぐ時も、映像も声もみょうになまめかしい。

まっすぐ清純な女の子が好きな男の子の前で、妙に大胆になっている感じとでもいえばいいんでしょうかね。

最後におおきすぎる爆弾を投げて終わる。映画が終わった瞬間、あまりの衝撃で興奮半分、呆然半分で動けなくなってしまった。

こんなこと放送倫理上本当に許されるんだろうか、と思うぐらいだ。

この羽川の何がすごいかというと、変態的シーンしかないにもかかわらず、羽川は暦のことがただ好きなだけで、別に変なわけじゃないと感じられるところだ。 こんなに清純でまっすぐに見えるのは、堀江由衣という偉大な声優のなせる技だろう。

堀江由衣が好きな人はぜひこの映画をみて、素晴らしい演技を味わって欲しい。

8月の目標

雑記

8月になりましたね。

7月の目標を振り返りたいと思います。

まず、10記事を書くことですが、これは全然達成できませんでした。

理由を書いていきます。

最近真剣に数学をしているから。

数学の記事をはてなブログに書くのはかなり難しいのです。

自分がTeXで論文やレポートを書くのと同じ表現がはてなではできません。 特に、可換図式は表示されないので、他のもので代用する必要があります。 以前、数式等を画像としてはりつけながら資料を書いていましたが、実際にこれらの記事を作成するのは量に対して大変時間がかかります。

また、数学の記事は最初から最後まで繋がるので、texで書くと10ページになるものがあり、それを要約しようがないからです。もはやそれを要約するのであれば、定理だけ書くのと何も変わらなく感じます。

きちんと証明を書き、性質を確認してきた道具で一番言いたい定理をきれいに示す。

そんな数学の論文の王道ははてなブログには長過ぎます。

そのため、数学系の記事を諦めました。

人工知能の論文を読んでみても紹介する気になれなかった。

論文を読んでも正しいのか全くわからないんです。 いくつか読んでみましたが、だいたいの論文がこんな流れでした。

  1. 今までの技術にはこんな課題があった
  2. これを使えば解決できるという仮説を立てた
  3. 実験してみたら、改善されたという結果が出た

論文だけ読んでる身からすると、こうなるわけです。

  • 今までの技術にはこんな課題があった
    ⇒どこから、そこまで確認できるのか、わからない。

  • 実験してみたら、改善されたという結果が出た
    ⇒仮設から演繹的に議論していないから、正しいことの証明が論文から追えない。 なおかつ、実験するための環境があるわけでもないから、データをいじることもできない。

相手の言うことを一方的に信じることしかできず、自分にはそれが正しいとも革新的だとも評価することができないわけです。

自分が同じような研究をしていたら評価できるかもしれませんが、これだと意見できないと思って、諦めました。

やろうと思っていたことをさぼったというよりは、やろうとしたことのアウトプットがはてなブログにしづらいものだったので、減ったという分析です。

Ruby SilverやOpenstackの勉強はできたし、Haskellは眺めたレベルだけど、数学はかなり勉強したので、個人的には満足しています。

8月の予定

今月は技術系を維持、改善しつつ、応用系の数学を中心に勉強します。 情報幾何やTDAがDeepLearningやデータ分析に役立つと確信しているので、 継続していきます。

Atom改善

  • 本読む
  • TeX(数学甩)のパッケージ作成

Ruby力強化

  • Paizaの問題解く
  • Nokogiriソース(1ks)を読む

数学力強化

応用数学よりの理論のより高度な復習と、純粋数学の知識を維持したいと思っています。

Deep Learning

音楽系のレコメンドの応用例を調査して、まとめる

はてなでは

数学の重い記事は書けません。

しかし、月10回ぐらい文章をアウトプットするのは文章を書くという意味で非常にいいと思っています。

なので、今月は、軽めの技術系記事

  • 音楽系のレコメンド調査
  • 東北大の院試を解く
  • Atomの改善
  • Nokogiriの一部

これらを書くことに加え、自分の考えをまとめて雑記みたいなものを発信しようかなと思います。

ふと思ったけど…みたいな話は今書いておかないと忘れるし、数学の雑記も書いておきたいし、本の感想なんかも書こうかなと思います。

Ruby Silver合格報告

ruby IT プログラム言語 合格体験記

受かりました。

結果は90/100点。 75点合格なので、ぎりぎりではないという意味でも、ほっと一安心。

せっかくなので、振り返ります。

Ruby経験値

Rubyを使い始めたのは二年前で、書いた行数は約10ks(Rails含む)
ほとんどが趣味。遊びで触って、個人レベルのアプリを作っていた人です。

実際にしたこと

受けるにあたって対策として実際にしたことを記載します。

  1. 問題集を解く
  2. 重点カ所を特定し、その部分の教科書を読み、暗記する。
  3. 気になるところは公式のリファレンスを読み、pryで試す。

基本は1.と2.の繰り返しです。 リファレンスは量が膨大なので、リファレンスで勉強するのではなく、 教科書から意味が一意に特定できないものを確認するだけにとどめました。

僕は試験までに3ループしました

1回目

40点

ほとんどわからなくて、精神的にずたぼろになりました。

メンタルはだいぶやられまいたが、へこみ続けるわけにもいかないので、課題を分析します。 すると・・・

使ったことも聞いたこともないメソッドが多数あることに気づきました。 しかも、それは、Array,String,Hashクラスに固まっていることに気づきました。

なので、この3クラス、教科書を読んで暗記ました。

例えば以下のようなメソッドです。

  • 配列を初期化するclearメソッド
  • 配列を結びつけるzipメソッド
  • 該当する文字列の位置を返すindexメソッド

上に書いたメソッドを知らない人はメソッドをきちんと覚えるところから始めた方がいいでしょう。

気を付けたのは完璧にしすぎないこと。 この段階では、忘れるもの、細かいことに気づかないことは十分あるとので

  • メソッド名をみて、Rubyにあるか、否かがわかること
  • おおよそ、何をするか(配列から要素を減らすのか、増やすのか、配列自体を組み替えるものなのか)を理解する

これらに焦点をあてて暗記しました。

2回目

70点

一気に点数が合格圏内に近づく。 一回目の対策に意味はあったと一安心。

まだ、合格できない点数だったので、わからなかった問題をみて課題を分析します。 すると・・・

正規表現/ファイル操作、時間/の挙動の理解があいまいだと気づきます。

知らないのではなく、あいまいなのです。

なので、これらで違いがわかるようにチェックしていきます。

具体的には、こんな感じものです。

  • 正規表現|,[]の違い
  • 時間を表示するときの%Y,%yの違い
  • ファイルを読み込むときのread/gets/realinesの違い

3回目

80点

一応合格点は取れてるものの、運悪く本番知らない問題が多く出ると落ちるレベル。 試験一日前でこれはぎりぎりだなと思いながら課題を考えます。 すると・・・

変な状況 での挙動がわからなくなる。

例えば、こういうのがわかっていなかった。

  • "127A".to_iの挙動
  • 定数を破壊的メソッドで置き換えた場合の挙動
  • "AAAAAAbb".delete("A")が何回文字を消すか
  • "A" * 2 ** 4の挙動
  • a = 1,2,3;p aで何が表示されるのか
  • ヒアドキュメントの挙動(""でくくっていいのか、<<-にしていいのか)

上にあげた例だけでなく、類似で気になる部分も教科書で確認します。 ここは教科書だけじゃなわからないものもあったので、pryやリファレンスもみました。

受かるためには

模擬試験の問題とを完璧にすることを目標にすればいいと思います。

同じ問題も出た気がしますし、少なくともほとんどが類似の問題でした。 問題を解いて、理解します。また、問題をみて、問題になりそうなものを想像しましょう。

具体的には"微妙に挙動が特殊なもの"

  • !がないのに破壊的なメソッド
  • 定数は代入するとどうなるか
  • 似た名前の文字列があるけど、この中で実際に存在するメソッドはどれか
  • Scopeの確認

等も上の勉強と一緒に覚えておくといいかと思います。

問題の紹介

最後に、これでもわからなかった問題を紹介します。

ただ、問題を正確に覚えていないので、うそをついているかもしれません。

問題1

s = "line 1.\nline 2.\nline 3.\nline 4."
s.each {|line| puts line }

文字列にeachメソッドがあったことを知らなかったので、完全に面喰いました。 今調べてみるとRuby1.9でなくなったみですが…。

問題2

begin
rescue
   exit 1
ensure
  p "end"
end

Exit時のesureの挙動を覚えていませんでした。 ensureは必ず実行されます。

問題3

s = "a.txt"
p File join("",s)

./でもさすかと思っていましたが。 Windowsで試してみると、そのまま"/a.txt"となりました。 どこさすんだろ…

問題4

a = File.open("sample.rb")
a.seek(5)
p a.gets

5文字目なのか6文字目なのかわかっていませんでした。 6文字目から取得されるようです。

問題5

hash = { 'A' => 90, 'B' => 50, 'C' => 40, 'D' => 60 }
test = hash.each_with_object([]) do |(key, val), arr|
  arr << key if val >= 60
end
p test.sort

each_with_objectメソッド自体を知りませんでした。 key,val,返り値の順番、返り値があることは覚えておくといいと思います。

今回学んだ知識を活かすには

String/Array/Hash等の知識をたくさん学んだので、 文字列を整形するrubyプログラムを作るのがいいかなと思っています。

例えば、以下が候補です。

texmarkdownの変換は本当にやりたいと思っているので、真剣に手をだすと思います。

今後のRuby力アップに向けて

Rubyは自分が一番使ってきた言語なので、手になじませておきたいと考えています。 他の言語を学んだり、他の言語で実装したものを"Rubyで試す"ができる知識を維持しつつ、 他の言語、特にPython,Haskellに手を出したいと思っています。

なので、以下をゆっくりやっていきたいと思います。

  • RubyGoldの資格勉強
  • よくお世話になったGem,ActiveRecordとNokogiriのソースを読む。
  • Rubyアプリケーションの作成
  • Rubyの最新動向のキャッチアップ

ただ、数学もきっちりやりたいと思っているので、そこのバランスを見極めながら開発していきます。

友達の結婚式に参加してみた

雑記

先日、結婚式に行きました。 儀式系イベントがあまり好きではない自分であっても感動したので、紹介します。

スピーチだと挙動不審になりそうなタイプの友人がうまいスピーチをしていた

敬語がうまく使えないタイプと思っていた友人が非常にいいスピーチをしていました。

僭越ながら、○○が挨拶を申し上げます。

なんて、言えないと思っていたんですけどね。

新郎をネタにしながら、笑いもとり、いい話をし、新婦をほめ、締めるところは締めています。

普段バカしてる姿をみてるだけだと、全然変わらないななんて思っていましたが、 いつの間にか成長してるものなんですね。

新郎が個性を出して、積極的に面白いことする

暖かい笑いがこれだけ溢れている結婚式は初めてでした。 積極的にぼけ、誰かを激しく落とすこともなく、自分をネタにしながら、面白く笑いをとっていってくれます。

失礼だけど、自分が参加した結婚式では儀式的にむりやりイベントをいれましたというものが多かったと感じています。 でも、今回はその無理やり感もないし、突然何かハプニングがあれば、それを積極的に活かしていくスタイルでした。

おかげで、終始笑顔でみていられました。

友人だけだというこを活かして、積極的に人にふっていき、退屈な時間がないようにする

今回内輪にしたかったようで、友人が主となる結婚式をしていました。 だから、無礼講といわんばかりにいろんな人に話を振っていきす。

無茶ぶりも多数あったはずですが、1無茶ぶりぐらいならなんとか返してました。 また、新郎も無茶ぶりだという自覚があるので、 そこで話すネタがない相手には、積極的に流れを止めないように新郎が話をふっていました

空気を壊さないように当たり前のようにフォローしていた新郎。 ほんとうに気を使えるやつなんだなとしみじみ感動していました。

同期が自発的に手伝いをしていた所

これが一番感動しました。

運営が大変なのかわかっているからか、積極的に助け合い、進行をフォローしているのです。 このコミュニティにおいてはそれが当たり前なんですよね。

他のコミュニティに参加して、自発的に手伝うことが当たり前じゃないことに気づきました。

こんなコミュニティに所属できたから、僕みたいな人間がぎりぎりやっていけたのかなと思います。

まとめ

終わってみて、ああいい結婚式だったな、しみじみとなったのは今回が初めてです。

変に気を使わないコミュニティが主だったからかもしれません。 気を使うと自由にできないですからね。

結婚式ももっと楽にできたらいいのに。

整数論への誘い

数論 数学

お久しぶりです。

気が付いたら数学漬けの毎日を送っています。

そんな予定ではさらさらなかったのだけれど、気になったものは気になっている間にきちんと考えておくことが 理解という意味でも、興味という意味でいいと思うので、数学の記事の記事を書きたいと思います。

数学を書けるスペースはブログ上に用意しておきつつも、全く記事がない段階だったので、まずは紹介からします。

テーマは整数論

整数論は非常に歴史が深く、多岐にわたる分野です。

数論で有名な定理といえば、フェルマーの最終定理かと思います。 フェルマーの最終定理の正確な主張を書くと、以下になります。

{ X^n + Y^n = Z^n } {n \ge 3}の時、{(X,Y,Z)=(0,0,0)}以外、解を持たない。

この定理を最初に見たときはただ単純に計算していけばできるように感じたものです。 ただ、整数論は奥が深いもので、そう簡単には行きません。 。

これが、Kummerなどの発想により、{ \mathbb{Z}}ではなく、1のn乗根 {\zeta}を加えた世界{ \mathbb{Z} [ \zeta ]  } を整数だと思えばいいのではないかと考察されます。

この発想自体は素晴らしいものでしたが、フェルマーの最終定理を示すまでにはいきませんでした。 なぜなら、この世界では、"素因数分解の一意性"が成り立たなかったからです。

言い方を変えてしまうと、素数の性質を完全に満たすものが存在しない世界になったのです。

ただし、素数の全ての性質が失われたわけではなく、"素イデアル"を考えることで、類似の性質を満たすことがわかります。

ただし、上の世界を考えることにより、素数、素イデアルがどうふるまっているかの一般論がわかるようになりました。

そのため、上になるべくのぼって考えたいのですが、まず上にはどんな世界があるかを知らなければ行けません。

その情報を持つものがガロア群です。 ガロア群はがロア理論というよくできた理論があり、ガロア群が決定できれば、その間にどんな世界があるかがわかります。 しかし、ガロア群を一般に計算する方法は見つかっておらず、これも難しい問題となります。

しかし、整数の世界は魅力的な性質があふれているようです。

なんと整数の場合は"類体論"により、ガロア群がイデアル類群等によってわかることがわかります。

イデアル類軍は素イデアル素数がどれだけ離れているかを表す一般的な指標です。

この類体論の結果が、日本の数学の父、高木貞二の主要な結果となります。 つまる20世紀前半の結果になります。

この後も数論は非常に高度に発展していきます。 私的な分類ですが、こうした発展があると思います。

これらのように分野が多数に、かつ、密に関係しあって、進歩しています。

これらの知識を駆使して研究をしている最先端の研究者は天才としか思えない集団です。

この数学の強力、かつ、広すぎる世界を少し眺めて、紹介していきます。

まずは類体論/保型形式を紹介していきます。

ruby silver対策 第一弾

今のところ、対応方針はこの予定です。

  1. Ruby技術者認定試験合格教本を一読
  2. 演習を解く
  3. 覚えていない所を暗記する

以降の方針は暗記量次第で決定予定です。 特定の分野が弱いようであれば、その分野を重点的に暗記する予定です。 ex Fileクラスetc

僕の意思としてはRubyGoldも今月受かるレベルになるつもりでやる予定です。

参考書にある問題よりはるかに難しいかもしれないが、ひとまず解きつつ、暗記量をMaXにする。

ひとまず参考書にあるSilver用問題80問を解きました。 その結果・・・

35/80ぐらい。

全然覚えてないもんですね。 解く段階で、組み込みライブラリが全然覚えてないことを痛感しました。 組み込みライブラリの知識があまりにもなかったので、復讐 します。

悔しいので、復讐がてら、いくつか文法を紹介しましょう。

問題1

a=1,2,3
__X__

実行結果 "1,2,3"

あてはまるXを選べ…

a=1,2,3って何??数字?配列???

結論からみて、配列しか想像できないと思って、a.join(",")を考えましたが…。 a=1,2,3で配列になるなんて初めて知りました。

問題2

p "abc def 123 ghi 456".scan(/\d+/).length

これ何?scanは検索ということ? 調べてみました。

  • \dは整数の正規表現
  • scanは引数に該当する箇所全てを配列にして返すメソッド
    なので、scanした結果[123,456]という配列が返っているので、lengthは2となります

思った以上に覚えていないことに焦りを覚えたので、 本でメソッドを暗記しようと思います。