今回はC++を便利に使う事に注力した前半部分の締めくくりです。8章以降は使うだけではなく、機能を提供する際に特に役立つ機能の解説へと移っていきます。それでも使う事に主眼が置かれている事には変わりませんが。第6章では、第5章までに学んで来たシーケンシャルコンテナに対して、STLに用意されているアルゴリズムを適用する事を解説しています。後、記憶域クラス指定子が初登場します。意外な事にここまで出てきてなかったんですね。この章は、言ってしまえばいくつかのアルゴリズム系関数の使い方を見ていくだけです。課題を工夫する事でイテレータアダプタやリバースイテレータ等、必要な事は大体網羅しています。(使う必要が無い事も多いのは確かですが......)。心当たりがある人は本章で慣れておくと良いでしょう。第7章では、連想コンテナを扱います。例題のプログラムを見ていると、なにやら懐かしい気持ちになります。勉強をしたのではないでしょうか?すでに連想コンテナをバリバリ使ってる人は昔を懐かしみながら復習するのも良いでしょう。第7章までで抽象度の高いライブラリを使う事に関しては学べました。次章からは自分が抽象度の高いプログラムを書くにはどうすべきかに注力して展開していきます。OOPらしくなるのは13章まで待たなければならないのがにくいですね。ここまでは入門者さんにオススメの部分でした。今までの内容にも初~中級者が学ぶべき事は色々ありましたが、ある程度C++かじった人には次章以降を強くオススメしたいと思います。次章以降は今後二回に分けて書いていきたいと思います。6~10章を予定してたんですが、予想外の掘り出し物を見つけたので。そっちのけで買ってきた方を読んでしまいました。言え、一応6~7章は読んでるのでそれも後で書きます。仕事の休み時間にOS【第2版】も読んでるのでそれも。第1章はご多分に漏れず本書の概要を述べています。人工知能という研究分野の成り立ちや応用分野をさらりと流した後、本書の構成を説明しています。この中で一つの分野として自然言語処理が挙げられています。長月が興味を持っている分野がこれです。́・ω・`)第2章は問題の表現について。人工知能は極論すれば解法のない問題を解くためのプログラムです。これと言って適したアルゴリズムの無い問題を、いかに推測し、制限し、探索するかが主題となります。問題解決の方法を定める際に、問題自体の形式や構造が重要になります。本章では扱う問題を、解が曖昧でない、問題解決に探索を行う物と制限した上で、よく用いられる論理的な構造の理論を解説します。内容としては問題の整理の仕方と所謂データ構造の理論になります。問題を整理する方法の解説では、記法の正規化、操作の定義、制限条件の定義等に触れています。データ構造に関しては、目的は探索なので、主に扱われるデータ構造はマルチウェイなツリー構造やグラフ構造です。この辺りはアルゴリズム論やデータ構造に詳しい人は読み飛ばしても大丈夫でしょう。さわりといった感触です。本格的になるのはもっと後の様で、少し物足りない感じでした。なんと言うか、やはり研究者の先生方が書かれた本なので、全体としてお堅い感じがしますね。読む人によっては眠いかもしれません。お目当ての本はぼくの好きな先生4巻。場所はわかってるのでとりあえず手に取る。350円分の割引券があるから他にも何か買おうと徘徊。思いついてコンピュータ書籍のコーナーへ。行って見るもめぼしい物は無い。Java本にちょっと興味を惹かれるも入門書なので要らない。ほかを見に行こうと思って振り返るとそちらにもコンピュータ書籍のコーナーが。ああ、105円均一コーナーか。期待せずに見てみる、やっぱり大した物は無い、隣の棚まであるみたいなのでそちらを見てみる。背筋を駆け抜ける衝撃、ずらりと並ぶケース入り本の数々、背表紙を見ると岩波講座情報処理シリーズ。2巻から24巻までずらりと勢ぞろい。これが105円なら相当美味しい。一冊手にとって値札確認。!!速攻23巻人工知能と16巻オペレーティングシステムを手に取る。ダッシュでレジへ向かい購入。ああ、物凄い掘り出し物、良い買い物でした。