AI(人工知能)とは?
人間の頭脳の振る舞いを模倣した
システム。
知識ベース
と推論エンジン
に加えて、学習や判断や認識機能を持つ
。
学習や判断は、機械学習
やディープラーニング
の技術を利用する。
機械学習
与えられたデータを基に反復学習
を行って特徴や法則を見つけ出す。
その後未知のデータについて推論
を行う。
学習が進むほど認識や判断の精度が向上
する。
ただし学習の方向性は人間が与える必要
がある。
教師あり学習
特徴付きのデータを与え
たり、入力に対する正解をデータとして与え
たりすることで、未知のデータに対する推論や判断
に結びつける。
教師なし学習
正解を与えない
方法。データを蓄積することで出現頻度を分析したり、規則性によりグルーピング
したりすることで解答を導き出す。
強化学習
行動及びその良し悪しを得点として与え
、最適な解を試行させる。
ディープラーニング(深層学習)
機械学習を進化
させた手法。
ニューラルネットワークにより学習
を行う。
人間が方向性を与えなくても、コンピュータが多方面のデータを基に自律的に学習を進めていく
。
ただし過程や結果が意図しない方向性へ進む
こともある。
正規表現
コンピュータがなどで情報として扱うために、曖昧さを排除した言語を形式言語
という。
形式言語の構文を形式的(厳密な表現としう意味)に定義するための言語に正規言語があり、その表現の方法が正規表現
である。
記憶機能を持たせた表現の代表例に構文規則を記述に用いるBNF(Backus-Naur Form: バッカス・ナウア記法)
がある。
BNFのルール
プログラム言語の構文を形式的(厳密な表現という意味)に定義する表現方法。
<平日> ::=月|火|水|木|金|土 <休日> ::= 日
::
は右辺で左辺を定義すること
|
はまたはを表す。
なので平日は月火水木金土のいずれか、休日は日
再帰記述
BNFは、再起的な表現(自分自身を呼び出す性質)を許しており、
<文字列> ::=<文字> | <文字列><文字>
<文字> ::= a|b|c
これは
文字列は文字または文字列の後ろに文字が付く。
文字はabcのいずれか
なので1文字以上の文字a,b,cの組み合わせとなる。
逆ポーランド記法
括弧なしで数式が表現でき、算術式の評価が単純に行える利点がある。
演算子を被演算子をの後ろに置く。
A+BはAB+となる。
ABCD÷+ーの場合は、
AB(C÷D)+ー
A(B+(C÷D))ー
Aー(B+(C÷D))
2分木を使った逆ポーランド記法への変換
算術式を2分木の表現にして、その2分木を後攻順序木としてなぞると後置記法(逆ポーランド記法)で表現した式が得られる。
p43を見る。
オートマトン
入力、処理、出力といったコンピュータの動作をモデル化し、問題解決のための処理手順(アルゴリズム)を定式化したもの
。
状態が有限のものを有限オートマトン
という。
通常、データには初期状態があり、その後複数の状態を遷移しながら、最終状態で停止する。
この遷移しを表や図にしたものが、状態遷移表
、状態遷移図
である。
状態遷移図
状態が遷移する様子を図に書いて図形や矢印などのビジュアルで表現したもの
です。状態遷移図では四角で表現された「状態名」
、矢印で表現された「遷移」
、その矢印のそばにどういう動作を行ったのか記入する「イベント(アクション)」
で構成されます。
出典 https://cacoo.com/ja/blog/what-is-state-machine-diagram/
気づき
参考書には丸になっている。
こういうこともあるのか。
状態遷移表
「状態」と「イベント」をマトリクスで表現したものです。状態遷移図と比較すると、状態とイベントの組み合わせを網羅的に検討できる
ため、仕様として無効な組み合わせも検討することができます。
出典 https://service.shiftinc.jp/column/4960/
マトリクスとは?
一般には「数学の行列」
のことを指す。マーケティングで用いられる際には「マトリクス図」の意味となることが多い。
出典 https://www.synergy-marketing.co.jp/glossary/matrix/#:~:text=%E3%83%9E%E3%83%88%E3%83%AA%E3%82%AF%E3%82%B9%E3%81%A8%E3%81%AF%E3%80%81%E6%9C%AC%E6%9D%A5%E3%81%AF,%E3%82%92%E6%8D%89%E3%81%88%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%82%8B%E3%80%82
アルゴリズムの計算量
アルゴリズムの計算量は、処理の効率性を見積もる上で重要となる。
検索の計算量
平均 | 最大 | オーダ | |
---|---|---|---|
線形探索 | n/2 | n | o(n) |
2分探索 | log2n | log2n + 1 | o(log2n) |
ハッシュ | 1 | 1 | o(1) |
整列の計算量
比較回数 | オーダ | 大きさ | |
---|---|---|---|
交換法、選択法、挿入法 | n(n-1)/2 | O(n^2) | 大 |
シェルソート | nlog2n | O(n^1.25~n^1.5) | 中 |
クイックソート、ヒープソート | nlog2n | O(nlog2n) | 小 |
これを覚えるしかないのか。