ぐる式 (貳) より引っ越し作業中.未完.

2013年12月14日土曜日

2013/12/14 の収穫:『Python チュートリアル』,『応用オートマトン工学』

2013/12/14 の収穫:讀物篇

  • Guido van Rossum "Python チュートリアル", 第2版, 鴨澤眞夫 訳, オライリー・ジャパン, 2010, 2012, ISBN978-4-87311-442-2, (Guido van Rossum "The Python Tutorial", 2007, 2010)
  • 西野哲朗, 若月光夫, 後藤隆彰 "応用オートマトン工学", コロナ社, 2012, ISBN978-4-339-02459-3

Python チュートリアル 第2版

PyCharmにCommunity Editionが出てるのを最近知って,200ページちょいと,いちばん薄い(携帯に便利な)本書を記念購入.Pythonコミュニティに無償のPython IDE、PyCharm 3.0をお届けします! | JetBrains ブログ

もっとも,Pythonで組みたいんじゃなくて,Pythonで書かれたmusic21: a Toolkit for Computer-Aided Musicologyを使ってみたいだけなんだけど.あれ,リポジトリはmusic21 - Toolkit for Computer-Aided Musicology and Musical Analysis - Google Project HostingからcuthbertLab/music21 · GitHubに引っ越したん?

Music21 requires Python 2.6 or 2.7 to run. Python 3 is not yet supported.

とあるんだが,そのうちPython 3でも動くようになるんかね.

そういや,複数バージョン対応で,virtualenv (virtualenv — virtualenv 1.10.1 documentation)やら virtualenvwrapper (virtualenvwrapper 4.1.1.20.gf0f0077 — virtualenvwrapper 4.1.1.20.gf0f0077 documentation) やら入れたんだけど,使い方なんかすっぱり忘れちまった.workondeactivate だったっけか.あれ,何か環境壊れとるな.yyuu/pyenv · GitHub とかに引っ越した方がエエのか.

プログラミング言語Python(パイソン)の作者Guido氏が書き下ろしたPython入門者のための手引き書。Pythonの言語とシステムの基本的な機能やコンセプトを解説する。さらにPythonの特徴的な機能を数多く取り上げて紹介することで、読者がこの言語の雰囲気とスタイルをつかめるよう配慮している。本書第2版ではPython 3に対応。また、Python 2の構文にも対応できるよう、2.xシリーズとの違いや注意点についての付録も追加掲載している。本書を読めば、Pythonのモジュールやプログラムを読み書きできるようになり、ライブラリリファレンスで解説されているさまざまなモジュールについて、詳しく学ぶ準備が整う。入門者必読の書。

訳者まえがき
概要
1章 食欲をそそってみようか
2章 Pythonインタープリタの使い方
    2.1 インタープリタの起動
    2.2 インタープリタとその環境
3章 気楽な入門編
    3.1 Pythonを電卓として使う
    3.2 プログラミング、はじめの一歩
4章 制御構造ツール
    4.1 if文
    4.2 for文
    4.3 range()関数
    4.4 break文とcontinue文、ループにおけるelse節
    4.5 pass文
    4.6 関数の定義
    4.7 さらに関数定義について
    4.8 幕間つなぎ:コーディングスタイル
5章 データ構造
    5.1 リストについての補足
    5.2 del文
    5.3 タプルとシーケンス
    5.4 集合(set)
    5.5 ディクショナリ
    5.6 ループのテクニック
    5.7 条件についての補足
    5.8 シーケンスやその他の型の比較
6章 モジュール
    6.1 さらにモジュールについて
    6.2 標準モジュール
    6.3 dir()関数
    6.4 パッケージ
7章 入出力
    7.1 手の込んだ出力フォーマット
    7.2 ファイルの読み書き
8章 エラーと例外
    8.1 構文エラー
    8.2 例外
    8.3 例外の処理
    8.4 例外の送出
    8.5 ユーザー定義例外
    8.6 クリーンアップ動作の定義
    8.7 オブジェクトに定義してあるクリーンアップ動作(Python 2.5以降)
9章 クラス
    9.1 名前とオブジェクトについて一言
    9.2 Pythonにおけるスコープと名前空間
    9.3 はじめてのクラス
    9.4 その他いろいろ
    9.5 継承
    9.6 プライベート変数
    9.7 残り物あれこれ
    9.8 例外もまたクラスである
    9.9 反復子(iterator)
    9.10 ジェネレータ
    9.11 ジェネレータ式
10章 標準ライブラリめぐり
    10.1 OSインターフェイス
    10.2 ファイルのワイルドカード
    10.3 コマンドライン引数
    10.4 エラー出力のリダイレクト
       (行き先を変えること)とプログラムの終了
    10.5 文字列パターンマッチング
    10.6 数学
    10.7 インターネットへのアクセス
    10.8 日付と時間
    10.9 データ圧縮
    10.10 パフォーマンス計測
    10.11 品質管理
    10.12 電池付属です
11章 標準ライブラリめぐり─Part II
    11.1 出力整形
    11.2 テンプレート
    11.3 バイナリデータレコードの処理
    11.4 マルチスレッド
    11.5 ログ取り
    11.6 弱参照
    11.7 リスト操作のツール
    11.8 10進数の浮動小数点計算
12章 次はなに?
13章 対話環境での入力行編集とヒストリ置換
    13.1 行編集
    13.2 ヒストリ置換
    13.3 キー割り当て
    13.4 その他の対話型インタープリタ
14章 浮動小数点(float)の演算:その問題と限界
    14.1 表現誤差
付録A 用語
付録B Pythonのドキュメント群について
    B.1 Pythonドキュメンテーションへの貢献者
付録C 歴史とライセンス
    C.1 このソフトウェアの歴史
    C.2 Pythonへのアクセスその他の使用における条件
      (Terms and conditions for accessing or otherwise using Python)
    C.3 含有されるソフトウェアについてのライセンスおよび承認書
      (Licenses and Acknowledgements for Incorporated Software)
付録D コピーライト
付録E Python初心者だった頃──
 みんながひっかかるPythonのヘンなとこ
    E.1 内包がわかりません
    E.2 正規表現について
    E.3 Unicodeについて
    E.4 その他の情報
付録F Python 2を振り返る
    F.1 Python 2.xの位置付け
    F.2 今後のPythonについて
    F.3 Python 2.xの違い
索引 217 

応用オートマトン工学

これも160ページちょいの薄い本だが,第3章に「オートマトンを用いたジュウシマツの歌の学習(文法規則の抽出)に関するアプリケーションの構築事例」とあって,思わず手が出ちまったよw.

有限個の状態間遷移を表現するモデルである有限オートマトンについて,その理論に基づく,コンパイラ,機械学習,機械翻訳,情報検索,画像圧縮,暗号などへの応用を「応用オートマトン工学」と呼び,その理論と応用の一部を解説。

1. オートマトン理論
1.1 オートマトンと形式言語
1.1.1 オートマトン
1.1.2 形式言語
1.2 有限オートマトン
1.2.1 正則言語
1.2.2 等価性
1.2.3 等価性判定アルゴリズム
1.2.4 状態対の等価性判定
1.2.5 有限オートマトンの最簡形
1.3 非決定性有限オートマトン
1.3.1 部分集合構成法
1.3.2 ε-動作をもつ非決定性有限オートマトン
1.4 正則表現
1.4.1 有限オートマトンから正則表現への変換
1.4.2 正則表現から有限オートマトンへの変換
1.5 正則言語と正則文法
1.5.1 形式文法
1.5.2 正則文法
1.5.3 文脈自由文法
章末問題

2. コンパイラ
2.1 プログラミング言語
2.1.1 高水準プログラミング言語と低水準プログラミング言語
2.1.2 プログラミング言語の歴史
2.2 コンパイラの概要
2.2.1 コンパイラとは
2.2.2 コンパイラの構成
2.3 字句解析
2.3.1 字句解析の概要
2.3.2 正則表現
2.3.3 正則表現から有限オートマトンへの変換
2.3.4 字句解析処理系の実現
2.4 構文解析
2.4.1 構文解析の概要
2.4.2 プログラミング言語と構文解析
2.4.3 下向き構文解析
章末問題

3. 文法学習
3.1 はじめに
3.2 小鳥の音声コミニュケーション
3.2.1 ジュウシマツの歌
3.2.2 人間の言語との共通点
3.2.3 歌の階層構造
3.3 k 可逆言語
3.3.1 k 可逆オートマトン
3.3.2 k 可逆言語の学習アルゴリズム
3.4 ジュウシマツの歌への適用
3.4.1 チャンクの構成
3.4.2 バウトデータの切分け
3.4.3 ノイズの除去
3.4.4 繰返し構造の圧縮
3.4.5 可逆度の設定
3.5 ジュウシマツの歌文法抽出
3.5.1 歌文法抽出アルゴリズム
3.5.2 適用例
3.6 おわりに
章末問題

4. 画像圧縮
4.1 はじめに
4.2 複素ベクトル空間
4.2.1 2 次元テンソル積ベクトル空間
4.2.2 2n 次元テンソル積ベクトル空間
4.3 量子セルオートマトン
4.3.1 量子コンピュータの数理モデル
4.3.2 1 次元古典セルオートマトン
4.3.3 1 次元量子セルオートマトン
4.4 デジタル画像データの圧縮
4.4.1 画像圧縮の概念
4.4.2 画像圧縮の基本的な考え方
4.5 実験結果
4.5.1 先行研究の検証
4.5.2 圧縮率およびPSNR の比較
4.5.3 ログファイルのサイズ
4.6 おわりに
章末問題

引用・参考文献
章末問題解答
索引


0 件のコメント:

コメントを投稿