何かを書き留める何か

数学や読んだ本について書く何かです。最近は社会人として生き残りの術を学ぶ日々です。

『失敗の本質 日本軍の組織論的研究』を読んだ

我々はこの本から何を学ぶべきか

『失敗の本質 日本軍の組織論的研究』を読んだ。

失敗の本質|文庫|中央公論新社

この本は前から知ってはいたがなかなか読むタイミングがなかった。*1 2017年7月は無職で暇であり、読むチャンスと思い購入した。 従来の戦史研究に加えて組織論の観点から見た大東亜戦争*2の研究成果である。

1章 失敗の事例研究

事例として、 ノモンハン事件, ミッドウェー海戦, ガダルカナル作戦, インパール作戦, レイテ海戦, 沖縄戦 が挙げられ、いずれも負け戦から採られている。 コミュニケーション不足、情報の無視、兵站の軽視などが挙げられる。

2章 失敗の本質

6つの事例に見られる共通点を分析し、米軍との対比でその戦略や組織の特性を比較している。 日本軍は目的が不明確、短期決戦志向で長期計画がない、帰納的な戦略策定(帰納的ですらなかったと筆者らは指摘している)、一点豪華主義バランスに欠く技術体系、属人的な構造や関係、型にはまった学習ループ、動機・プロセスを評価する評価体系であると要約している。

3章 失敗の教訓

「軍事組織の環境適応」という軸で日本軍という組織を論じていく。

これらの原因を総合していえることは、日本軍は、自らの戦略と組織をその環境にマッチさせることに失敗したということである。(P.343)

と指摘し、

前章で、日本軍の失敗の原因が六つのケースを通じて析出された。そこでは、日本軍の戦略、資源、組織がその作戦環境の生み出す機会や脅威に、いかに適合していなかったかが示された。これらの失敗の原因をつなぎ合わせて、その最も本質的な点をつきつめていくと、まことに逆説的ではあるが、「日本軍は環境に適応しすぎて失敗した」、といえるのではないか。

と述べる。

陸軍は対ソ連・白兵戦主義、海軍は対米・艦隊決戦主義にとらわれていた。

日本軍最大の失敗の本質は、特定の戦略原型に徹底的に適応しすぎて学習棄却ができず自己革新能力を失ってしまった、ということであった。

この本を読むべきか?

ブームに乗じたアンチョコや関連本、筆者による姉妹本(何とかの本質というタイトルが多い)もあるが、まずはこの原点となるこの本を読むべきである。 忙しい人ならば、2章から読み始めても十分な便益を得られると思う。

感想

読んでいて、第三者機関が作成した報告書を読んでいる気分になった。 また、目的が不明確、帰納的な戦略策定、属人的な構造や関係、動機・プロセスを評価する評価体系に思い当たる節があり、非常に辛くなった。 私がいた世界は軍事組織でもなければ戦時中でもなかったので、こうして無職になったであるが…。

*1:但し、知ったタイミングは仕事を始めた2014年以降であり、ここ最近のブームとは関係がない。ここ最近のブームの存在を知らなかった。

*2:「戦場が太平洋地域にのみ限定されていなかったという意味で、本書はこの呼称を用いる」とある。

『人工知能の核心』を読んだ

羽生善治NHKスペシャル取材班『人工知能の核心』を読んだ。

www.nhk-book.co.jp

前々から本屋で見かけていた。この度無職になったので読んでみようと思い手に取った。 人工知能に興味があるというより、将棋界に興味があったから買った。 渡辺明竜王のブログや『将棋の渡辺くん』で将棋界に興味を持っていた。 つまり、これはジャケ買いならぬ著者買いである。

NHKスペシャル「天使か悪魔か –羽生善治 人工知能を探る」という番組の取材を通して羽生三冠が考えたことをまとめたもの、と言える。 いくら羽生三冠が将棋の第一人者*1とはいえ、人工知能について何か語れることはあるのだろうかと正直見くびっていた。 実際に読むと、羽生三冠の将棋に限ららないその博覧強記ぶりに驚いた。

*1:世間的なイメージ。2017年7月現在は渡辺明竜王棋王佐藤天彦名人、羽生三冠という並びだと思う。

『Effective Debugging』の査読を担当しました

一年越しの夢がかなう

2017年6月24日にオライリージャパンから『Effective Debugging』の邦訳が発売される。

www.oreilly.co.jp

この度、邦訳の査読者として参加させていただいた。 オライリーの方から話があったのは2017年1月ごろ、査読を開始したのが3月中旬ごろである。

筆者のDiomidis Spinellisさんは『Code Reading』や『Code Quality』で有名なギリシャの計算機科学者である。 経歴を見る限り、GoogleのSREエンジニアとして1年間働くなど実務経験もあるすごい人である。

book.mynavi.jp book.mynavi.jp

私は原著を2016年6月頃に紀伊國屋経由で入手している。

『Effective Debugging』も『Effective Python』のように読み進めようとしていた。

xaro.hatenablog.jp

最初の4項目で断念していた。 どこかの出版社から邦訳が出ないかと思っていた。 英語ができない、デバッグに関するドメイン知識が足りないという要因もあるが、筆者が英語ネイティブではないという要因も少なからずあった。 査読をしつつ、楽しみながら読み続けた。

さて、内容としては効果的にデバッグを行う方法が書いてあるのだが、この手の技術では珍しく心理学の観点からデバッグの心構えを説いた項目がある。 「項目9:デバッグを成功させるために心の準備をする」がそれである。 本の帯にも採用されて、

最初に、問題を特定して解決できると固く信じることが必要だ。

から始まり、果ては睡眠時間の大切さまで話が進む。

こう書くと精神論めいたテクニックばかり書いてあるかのような印象を受けるが、1章、2章でデバッグ戦略の全体像、心構えを説明し、3章以降で各場面・ツールに着目してデバッグの手法を解説している。 特に面白いのはハードウェアに関するデバッグでデバイスをアルミホイルで包んで劣悪な通信環境を作ってバグの再現手順を確立したエピソード(「項目16:特別な監視およびテスト装置を使う」)である。

デバッグそのものは言語によらない技法であるが、中で登場するのはC/C++, Java, Python, Lua、各種Unix系のツール、そしてシェルスクリプトである。 使われている言語をよく知らなくても十分読むことができると思う。

ちょうど『Effective Debugging』の書影が公開された時期に業務中に作成したAPI群のデバッグに迫られていた。 そこで役に立ったのが5章の「プログラミング技法」、「項目3:前条件と後条件が満たされていることを確認する」、そして「項目9:デバッグを成功させるために心の準備をする」である。 様々な要因が重なってとてもつらい状況下でもデバッグであったが、『Effective Debugging』を読んで得たものを心の支えにして乗り切ることができた。 アルゴリズムデバッグのようにすぐには役には立たず、じわじわと役に立つと目論見を立てていたが、すぐに効果が出るとは思っていなかった。

原著を所有している方はお気づきであると思うが、邦訳版と表紙のデザインが異なる。 邦訳版は『Effective Python』のテイストに寄せている。 偶然ではあるが、表紙を決めるやり取りを垣間見ることができてとても面白かった。

読んでためになる本である。ぜひ職場、研究室、ご家庭、座右にと思う。