実用Common Lisp

翔泳社(出版社) , Peter Norvig(著) , 杉本宣男(訳)

商品番号
118900
販売状態
販売終了
納品形態
宅配便にてお届け
発売日
2010年05月10日
ISBN
9784798118901
判型
B5変
ページ数
928
キーワード
プログラミング  人工知能  LISP

販売価格:¥9,936(税込)

送料無料

本体価格の10%をポイント還元(会員限定)

現在、本商品は販売しておりません。 電子書籍を見る
ほしい物リストに追加

良質なプログラムへ到達する王道

本書が扱っているトピックは、人口知能(AI)、コンピュータプログラミング技術、プログラミング言語Common Lispの3つです。丁寧に読めばAIに対する多くの疑問が解けると同時に、重要なAIの技法も理解できるようになります。また、Common Lispのプログラムを読み、修正し、作成する能力の向上も期待できます。

プログラム例は、良質のプログラミングスタイルで書かれているもので、実例はAIの研究で使用されるパラダイムを使っています。本書を読破することによって3つの良質なプログラミングを習得できる貴重な1冊です。

【原題】Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp

推薦の言葉
まえがき
なぜLisp なのか? なぜCommon Lisp なのか?
各章の概要
この本の使い方
補助的教科書と参考書
演習についての注意
謝辞

第1部 Common Lisp 入門

第1章 Lisp 入門
1.1 記号計算
1.2 変数
1.3 特殊形式
1.4 リスト
1.5 新しい関数の定義
1.6 関数の使用
1.7 高階関数
1.8 その他のデータ型
1.9 要約:Lisp 評価規則
1.10 Lisp は何が違うのか?
1.11 演習
1.12 解答

第2章 簡単なLisp プログラム
2.1 英語のサブセット用文法
2.2 成功法による解法
2.3 ルールベースによる解法
2.4 進むべき2つの道
2.5 プログラムの変更を伴わない文法の変更
2.6 同じデータを使用した複数のプログラム開発
2.7 演習
2.8 解答

第3章 Lisp 概要
3.1 Lisp スタイルガイド
3.2 特殊形式
3.3 リストを扱う関数
3.4 等値性と内部表現
3.5 シーケンスを扱う関数
3.6 表を管理するための関数
3.7 木構造を扱う関数
3.8 数を扱う関数
3.9 集合を扱う関数
3.10 破壊的な関数
3.11 データ型の概要
3.12 入力/出力
3.13 デバックツール
3.14 バグ予防ツール
3.15 評価
3.16 クロージャ
3.17 スペシャル変数
3.18 多値
3.19 パラメータに関する補足
3.20 その他
3.21 演習
3.22 解答

第2部 初期のAIプログラム

第4章 GPS:一般問題解決機
4.1 局面1:問題記述
4.2 局面2:仕様記述
4.3 局面3:実装
4.4 局面4:テスト
4.5 局面5:分析、もしくは「GPSの一般性について嘘をついていた」
4.6 「ブロックの周りを走り回る」問題
4.7 「シブリング目標を打ち消す」問題
4.8 「調べることなく跳躍する」問題
4.9 「再帰的な副目標」問題
4.10 「中間情報の不足」問題
4.11 GPSバージョン2:もう少し一般性のある一般問題解決機
4.12 モンキーとバナナ(新しい領域の問題)
4.13 迷路探索
4.14 積み木の世界
4.15 局面5(再び):バージョン2の分析
4.16 「跳躍もしなければ調べもしない」問題
4.17 「記述力不足」問題
4.18 「完全な情報」問題
4.19 「相互作用する目標」問題
4.20 GPSの限界
4.21 歴史と参考資料
4.22 演習
4.23 解答

第5章 ELIZA:機械との対話
5.1 ELIZAの問題記述と仕様記述
5.2 パターンマッチング
5.3 セグメントパターンマッチング
5.4 ELIZAのプログラム:ルールベーストランスレータ
5.5 歴史と参考資料
5.6 演習
5.7 解答

第6章 ソフトウェアツールの構築
6.1 対話的インタープリタツール
6.2 パターンマッチングツール
6.3 ルールベーストランスレータツール
6.4 探索ツール一式
6.5 探索問題としてのGPS
6.6 歴史と参考資料
6.7 演習
6.8 解答

第7章 STUDENT:代数の文章題を解く
7.1 英文を方程式に変換する
7.2 代数方程式を解く
7.3 例題
7.4 歴史と参考資料
7.5 演習
7.6 解答

第8章 記号計算:簡単化プログラム 
8.1 中置記法を前置記法に変換する
8.2 簡単化ルール
8.3 結合性と可換性
8.4 対数関数、三角関数、微分
8.5 ルールベースの限界
8.6 積分
8.7 歴史と参考資料
8.8 演習

第3部 ツールと技法

第9章 効率性の問題
9.1 キャッシュ技法:メモ化(Memoization)
9.2 コンパイル技法
9.3 遅延計算技法
9.4 索引付け技法
9.5 インスツルメンテーション:最適化すべきものを決定する
9.6 効率に関するケーススタディ:SIMPLIFY プログラム
9.7 歴史と参考資料
9.8 演習
9.9 解答

第10章 低レベルの効率性の問題
10.1 宣言の使用
10.2 総称関数の回避
10.3 複雑な引数リストの回避
10.4 不必要なcons の回避
10.5 適切なデータ構造の使用
10.6 演習
10.7 解答

第11章 論理プログラミング
11.1 アイディア1:一様なデータベース
11.2 アイディア2:論理変数のユニフィケーション
11.3 アイディア3:自動後戻り制御
11.4 ゼブラ問題
11.5 後戻りとユニフィケーションの相乗効果
11.6 破壊的ユニフィケーション
11.7 Prolog によるProlog
11.8 Prolog とLisp の比較
11.9 歴史と参考資料
11.10 演習
11.11 解答

第12章 論理プログラムのコンパイル
12.1 Prologコンパイラ
12.2 コンパイラのエラー修復
12.3 コンパイラの改良
12.4 ユニフィケーションのコンパイルの改良
12.5 ユニフィケーションのさらなる改良
12.6 コンパイラのユーザインタフェース
12.7 コンパイラのベンチマークテスト
12.8 プリミティブの追加
12.9 カット
12.10 「実際の」Prolog
12.11 歴史と参考資料
12.12 演習
12.13 解答

第13章 オブジェクト指向プログラミング
13.1 オブジェクト指向プログラミング
13.2 オブジェクト
13.3 総称関数
13.4 クラス
13.5 委譲
13.6 継承
13.7 CLOS:Common Lisp Object System
13.8 CLOS による実装例:探索ツール
13.9 CLOS はオブジェクト指向システムか?
13.10 オブジェクト指向プログラミングの利点
13.11 歴史と参考資料
13.12 演習

第14章 知識表現と推論
14.1 知識表現言語の分類
14.2 述語論理とその問題
14.3 論理型言語:Prolog
14.4 Prolog の表現力に関する問題
14.5 述語論理の表現力に関する問題
14.6 完全性に関する問題
14.7 効率に関する問題:索引付け
14.8 索引付け問題の解決法
14.9 安全性の問題の解決法
14.10 表現力の問題の解決法
14.11 歴史と参考資料
14.12 演習
14.13 解答

第4部 高度なAIプログラム

第15章 標準形による記号計算
15.1 多項式のための標準形
15.2 多項式の微分
15.3 中置形式と前置形式間の変換
15.4 多項式簡単化プログラムのベンチマークテスト
15.5 有理式のための標準形
15.6 有理式の拡張
15.7 歴史と参考資料
15.8 演習
15.9 解答

第16章 エキスパートシステム
16.1 不確実性への対応
16.2 導出された事実のキャッシュ
16.3 質問
16.4 変数の代わりをするコンテキスト
16.5 後ろ向き連鎖再考
16.6 専門家との対話
16.7 クライアントとの対話
16.8 医療診断エキスパートシステムMYCIN
16.9 確信度に代わるもの
16.10 歴史と参考資料
16.11 演習
16.12 解答

第17章 制約充足による線画のラベル付け
17.1 線画ラベル付け問題
17.2 制約と探索の組み合わせ
17.3 線画のラベル付け
17.4 線画のエラー検査
17.5 歴史と参考資料
17.6 演習

第18章 探索とオセロゲーム
18.1 ゲームのルール
18.2 表現に関する選択
18.3 局面の評価
18.4 先読み探索:ミニマックス探索
18.5 賢い探索:アルファ・ベータ探索
18.6 ゲームの分析
18.7 競技版オセロ
18.8 一連のゲームによる戦略の評価
18.9 効率の良い探索
18.10 プレサイクル(Precycle)
18.11 キラー手
18.12 選手権試合のプログラム:Iago とBill
18.13 その他の技法
18.14 歴史と参考資料
18.15 演習
18.16 解答

第19章 自然言語入門
19.1 句構造文法によるパース
19.2 文法の拡張とあいまいさの認識
19.3 効率の良いパース
19.4 未知の単語
19.5 意味表現へ踏み込んだパース
19.6 選好を使用するパース
19.7 文脈自由な句構造規則の問題点
19.8 歴史と参考資料
19.9 演習
19.10 解答

第20章 ユニフィケーション文法
20.1 推論としてのパース
20.2 確定節文法
20.3 DCG形式の単純な文法
20.4 限定作用素(Quantifier)を持つDCG 文法
20.5 限定作用素の有効範囲に関するあいまいさの保持
20.6 長距離依存性
20.7 DCG 規則の拡張
20.8 歴史と参考資料
20.9 演習
20.10 解答

第21章 英語の文法
21.1 名詞句
21.2 修飾語
21.3 名詞修飾語
21.4 限定詞
21.5 動詞句
21.6 副詞
21.7 節
21.8 文
21.9 XP
21.10 単語
21.11 辞書(Lexicon)
21.12 辞書の支援
21.13 その他のプリミティブ
21.14 例題
21.15 歴史と参考資料
21.16 演習

第5部 Lisp の続き

第22章 Scheme:Uncommon Lisp
22.1 Scheme インタープリタ
22.2 マクロによる構文の拡張
22.3 真正な末尾再帰インタープリタ
22.4 Throw、Catch、Call/cc
22.5 Call/ccをサポートするインタープリタ
22.6 歴史と参考資料
22.7 演習
22.8 解答

第23章 Lisp のコンパイル
23.1 真正な末尾再帰Lisp コンパイラ
23.2 Call/cc の導入
23.3 抽象マシン
23.4 のぞき穴最適化(Peephole Optimizer)
23.5 異なる語彙規約を持つ言語
23.6 歴史と参考資料
23.7 演習
23.8 解答

第24章 ANSI Common Lisp
24.1 パッケージ
24.2 状態とエラー処理
24.3 プリティプリンティング
24.4 シリーズ(Series)
24.5 Loop マクロ
24.6 シーケンス関数(Sequence Function)
24.7 演習
24.8 解答

第25章 トラブルシューティング
25.1 何も起こらない
25.2 変数を変更してもその効果がない
25.3 関数を変更してもその効果がない
25.4 値がひとりでに変わる
25.5 組み込み関数が要素を発見できない
25.6 多値が欠落する
25.7 宣言が無視される
25.8 Lisp 処理系に問題がある?
25.9 必要な関数の見つけ方
25.10 Loop 構文
25.11 COND 構文
25.12 CASE 構文
25.13 LET 構文とLET* 構文
25.14 マクロに関する問題
25.15 Lisp のスタイルガイド
25.16 ファイル、パッケージ、システムの処理
25.17 可搬性の問題
25.18 演習
25.19 解答

付録 この本に載っているコードを取得する方法
A.1 FTP:ファイル転送プロトコル
A.2 利用可能なソフトウェア

参考文献
索引
訳者あとがき  

各種問い合わせは以下のリンクからご連絡ください

関連商品

絵で見てわかる量子コンピューターの仕組み

販売価格:2,786円(税込)

2019.07.10発売

IT用語図鑑 ビジネスで使える厳選キーワード256

販売価格:1,944円(税込)

2019.05.13発売

Java逆引きレシピ 第2版

販売価格:3,024円(税込)

2019.04.10発売