mi-5. プロダクションシステム 人工知能を演習で学ぶシリーズ(5)

Slides:



Advertisements
Similar presentations
1 WORD の起動法と終了法 ● WORD の起動法 (1) デスクトップの Microsoft Word アイ コンをダブルクリックする。 * (2) 「スタート」 ― 「すべてのプログラ ム」 ― 「 Microsoft Word 」と選ぶ。 (3) Word で作成された文書があるとき は、そのアイコンをダブルクリック.
Advertisements

1 情報処理 II 第12回の 教材 高知大学理学部 数理情報科学科 1 回生い組対 象 数理情報科学科 1 回生い組対 象担当:塩田 プレゼンテーションソフト プレゼンテーションソフト PowerPoint.
情報基礎演習I(プログラミング) 第9回 6月22日 水曜5限 江草由佳
BBT大学 Ruby on Rails開発環境セットアップマニュアル
情報処理実習 第05回 Excelマクロ機能入門 操作マクロ入門.
Netscape Communicator Eudora Microsoft Word
Microsoft PowerPoint98 Netscape Communicator 4.06[ja]
PHPエディタによる 情報システム演習 01.
情報処理 第11回の教材 プレゼンテーションソフト PowerPoint 高知大学 共通教育 理学部 対象 担当:塩田 ここはメモを書く欄。
心理学情報処理法Ⅰ やってみよう:Wordの起動.
プログラミング序論演習.
プログラミング演習II 2004年10月19日(第1回) 理学部数学科・木村巌.
情報学部 プログラミング体験教室 (初級編)
マイクロソフト Access を使ってみよう 第1回
マイクロソフト Access での SQL 演習 第1回 SQL問い合わせ(クエリ)
マイクロソフト Access を使ってみよう 第4回
基礎プログラミング演習 第1回.
表計算 Excel 演習 6. ルックアップ,データの入力規則.
三浦欽也 2009年11月 〔Sc182(2) 情報科学演習 参考資料〕
経営工学基礎演習a PowerPointの利用.
楽しいプログラミング教室.
表計算 Excel 演習 4.検索,条件付き書式設定,並べ替え.
11.Webサイトとデータベース, Webサイト+ブログシステムの開設手順例
プログラミング.
プログラミング応用 printfと変数.
マイクロソフト Access での SQL 演習 第5回 副問い合わせ
3.1 PowerPoint の概要 PowerPointを使ってできること
湘南工科大学 2013年10月8日 プログラミング基礎1 湘南工科大学情報工学科 准教授 小林 学.
Processing使用の準備.
コンピュータ プレゼンテーション.
変数,式,関数,クラス,コンストラクタ, クラスの属性アクセス,メソッド,親クラ スからの継承
マイクロソフト Access を使ってみよう 第2回
or-3. 作業リスト,スケジューリング,PERT図 (オペレーションズリサーチを Excel で実習するシリーズ)
マイクロソフト Access を使ってみよう 第3回
or-11. 一次式 (オペレーションズリサーチを Excel で実習するシリーズ)
or-4. モンテカルロシミュレーション (オペレーションズリサーチを Excel で実習するシリーズ)
基礎プログラミング演習 第12回.
ex-8. 平均と標準偏差 (Excel 実習シリーズ)
Ex-11. ルックアップ 金子邦彦.
情報基礎演習I(プログラミング) 第11回 7月12日 水曜5限 江草由佳
15.cons と種々のデータ構造.
表計算 Excel 演習 1.Excel を使ってみる.
5.集計,ピボットテーブル(クロス集計表)
vc-3. ダンプリスト,配列 (Visual Studio C++ の実用知識を学ぶシリーズ)
ai-5. 人工知能の Python パッケージ TensorFlow と Keras の動作確認
アルゴリズムとデータ構造 2012年7月2日
vc-2. Visual Studio C++ のデバッガー (Visual Studio C++ の実用知識を学ぶシリーズ)
アルゴリズムとデータ構造 2013年7月2日
pf-7. データ構造とアルゴリズム (Python プログラミング基礎を演習で学ぶシリーズ)
vc-1. Visual Studio C++ の基本操作 (Visual Studio C++ の実用知識を学ぶシリーズ)
pf-5. 関数呼び出し,スコープ (Python プログラミング基礎を演習で学ぶシリーズ)
pf-4. 式の抽象化と関数 (Python プログラミング基礎を演習で学ぶシリーズ)
vc-3. ダンプリスト,配列 (Visual Studio C++ の実用知識を学ぶシリーズ)
or-4. モンテカルロシミュレーション (オペレーションズリサーチを Excel で実習するシリーズ)
or-6. 待ち行列シミュレーション (オペレーションズリサーチを Excel で実習するシリーズ)
pf-6. スタック (Python プログラミング基礎を演習で学ぶシリーズ)
ex-11. データの入力規則 (Excel を演習で学ぶシリーズ)
ex-8. 平均と標準偏差 (Excel を演習で学ぶシリーズ)
or-9. 資金計画と投資効率 (オペレーションズリサーチを Excel で実習するシリーズ)
or-4. モンテカルロシミュレーション (オペレーションズリサーチを Excel で実習するシリーズ)
Visual Studio 2013 の起動と プロジェクトの新規作成 (C プログラミング演習,Visual Studio 2019 対応) 金子邦彦.
ca-9. 数の扱い (コンピュータアーキテクチャとプロセッサ)
pp-1. Python を演習と実践で学ぶ シリーズ
cp-1. クラスとメソッド (C++ オブジェクト指向プログラミング入門)
ニューラルネットワークの仕組み (Raspberry PI 演習で学ぶ) AI DATA VASSEL 資料
情報処理 II 第11回の教材 プレゼンテーションソフト PowerPoint 高知大学 共通教育 理学部 対象 担当:塩田
Microsoft Cognitive Services の概要
pf-2. 条件分岐 (Python プログラミング基礎を演習で学ぶシリーズ)
Cp-1. Microsoft Visual Studio 2019 C++ の使い方 (C プログラミング演習,Visual Studio 2019 対応) 金子邦彦.
mi-8. 自然言語処理 人工知能を演習で学ぶシリーズ(8)
Presentation transcript:

mi-5. プロダクションシステム 人工知能を演習で学ぶシリーズ(5) https://www.kkaneko.jp/dblab/intro/m/index.html 金子邦彦

自分で工夫する. 仲間と教えあう. アクティブラーニングの効果 面白い 集中できる 居眠りしなくなる 質問しやすい 仲間に教えることが楽しい 仲間に教えているともっと分かる 友達が増える クラスの雰囲気がよくなる など 自分で工夫する. 仲間と教えあう.

アウトライン 5-1 繰り返し処理と終了条件 5-2 属性名と属性値によるデータ表現 5-3 プロダクションシステム

5-1 繰り返し処理と終了条件

繰り返し処理と終了条件 繰り返し処理 複数回繰り返される可能性のある処理 (例) 1引く 終了条件 繰り返し処理の終わりを定めるもの  複数回繰り返される可能性のある処理  (例) 1引く 終了条件  繰り返し処理の終わりを定めるもの  (例) 0未満になったらやめる     (0以上なら,繰り返し処理を続ける) 最初 5 とすると : 5 → 4 → 3 → 2 → 1 → 0 (やめ)

paiza.IO プログラミングを行える Web サービス https://paiza.io Web ブラウザを使う たくさんの言語を扱うことができる Java, Ruby, Python, PHP, Perl など

paiza.IO プログラミングを行える Web サービス https://paiza.io Web ブラウザを使う たくさんの言語を扱うことができる Java, Ruby, Python, PHP, Perl など

Python プログラミング言語の1つ 無料で使うことができる言語である ※ この授業では,バージョン 3 を使用

実習準備 ① ウェブブラウザを起動する ② 次の URL を開く https://paiza.io/ ③ もし,表示が英語になっていたら,日本語に切り 替える

④ 「コード作成を試してみる」をクリック ⑤ 「Python 3」を選ぶ (左上のボタンをクリックするとメニューが出る)

パソコン演習 資料 https://www.kkaneko.jp/a/m.html ケイ かねこ ドット ジェイ ピー スラッシュ エイ エム ドット エイチ ティー エム エル

① プログラムを丸ごとコピー&ペースト. paiza.IO に. コピーしたい範囲をマウスで選び, マウスの右クリックメニュー で「コピー」が便利 マウスの右クリックメニュー で「貼り付け」が便利

②「実行」をクリック.結果を確認

終了条件 x < 0 繰り返す処理 x の値を表示, x を1引く

確認クイズ① このような表示を 得たい どう書き直すか? 次ページに続く

確認クイズ② このような表示を 得たい どう書き直すか? 次ページに続く

確認クイズ③ このような表示を 得たい どう書き直すか? 以上,各自パソコンで試すこと.

5-2 属性名と属性値によるデータ表現

属性名と属性値によるデータ表現 name has ichiro ball 属性名 属性値

属性名と属性値によるデータ表現 name has ichiro ball name has saburo ball name has + name has saburo ball 属性名 属性値 属性名が同じときは合体 name has ichiro ball saburo

nil nil は「何もない」ことを示すキーワード name has ichiro ball jiro nil saburo shiro

確認クイズ name has A pen name has B nil name has C apple name has 次の3つのデータを,1つにまとめなさい name has A pen name has B nil name has C apple name has 空欄に書き込 みなさい

パソコン演習 name has ichiro ball jiro nil saburo shiro 1つめ. 次のデータを,変数 m に覚えさせるプログラム 確認表示まで 2つめ.ichiro の行を取り出す 3つめ.ball の行を取り出す name has ichiro ball jiro nil saburo shiro

① 「5-2」のところにある「1つめ」の   プログラムを丸ごとコピー&ペースト. paiza.IO に. コピーしたい範囲をマウスで選び, マウスの右クリックメニュー で「コピー」が便利 マウスの右クリックメニュー で「貼り付け」が便利

② 「実行」をクリック.結果を確認 データを,変数 m に覚えさせるプログラム 確認表示まで

③ 「5-2」のところにある「2つめ」の   プログラムを丸ごとコピー&ペースト. paiza.IO に. コピーしたい範囲をマウスで選び, マウスの右クリックメニュー で「コピー」が便利 マウスの右クリックメニュー で「貼り付け」が便利

④ 「実行」をクリック.結果を確認 データの中から「ichiro の行」を取り出すプログラム

⑤ 「5-2」のところにある「3つめ」の   プログラムを丸ごとコピー&ペースト. paiza.IO に. コピーしたい範囲をマウスで選び, マウスの右クリックメニュー で「コピー」が便利 マウスの右クリックメニュー で「貼り付け」が便利

⑥ 「実行」をクリック.結果を確認 データの中から「ball の行」を取り出すプログラム

確認クイズ 属性名 name の 属性値が jiro の行を 取り出したい どう書き直すか?

① 「5-2」のところにある「1つめ」の   プログラムを丸ごとコピー&ペースト. paiza.IO に. コピーしたい範囲をマウスで選び, マウスの右クリックメニュー で「コピー」が便利 マウスの右クリックメニュー で「貼り付け」が便利

② 「実行」をクリック.結果を確認 データを,変数 m に覚えさせるプログラム 確認表示まで

5-3 プロダクションシステム

プロダクションシステム ノートページ プロダクションシステムとは, ルールによる知識の記述とそれに基づ く推論を実行するための枠踏み ルールの例: ichiro が ball を持っていれば → ichiro は jiro に ball を渡す

ルールによるデータの変化 ichiro が ball を持っていれば → ichiro は jiro に ball を渡す name has nil saburo shiro name has ichiro nil jiro ball saburo shiro ルールが適用されたことによる データの変化

確認クイズ saburo が ball を持っていれば → saburo は shiro に ball を渡す name has ichiro ball jiro nil saburo shiro name has ichiro ball jiro nil saburo shiro ルールが適用されたことによる データの変化

ルール データの変化 ルールのプログラム化 ichiro が ball を持っていれば → ichiro は jiro に ball を渡す m = [{"name": "ichiro", "has": "ball"}, {"name": "jiro", "has": "nil"}, {"name": "saburo", "has": "ball"}, {"name": "shiro", "has": "nil"}] for i in m: if i['name'] == 'ichiro' and i['has'] == 'ball': for j in m: if j['name'] == 'ichiro': j['has'] = 'nil' if j['name'] == 'jiro': j['has'] = 'ball' print(m) ルール データの変化

① 「5-3」のところ   プログラムを丸ごとコピー&ペースト. paiza.IO に. コピーしたい範囲をマウスで選び, マウスの右クリックメニュー で「コピー」が便利 マウスの右クリックメニュー で「貼り付け」が便利

ichiro が ball を持っていれば → ichiro は jiro に ball を渡す ② 「実行」をクリック.結果を確認 ichiro が ball を持っていれば → ichiro は jiro に ball を渡す

パソコン演習 saburo が ball を持っていれば → saburo は shiro に ball を渡す 今のプログラムを書き換えなさい 開始前に,(次ページ)を確認しなさい 動作を各自で確認

プロダクションシステム ルールは,あてまめる条件と,条件が成立したとき のデータの変化を定めるもの ・条件 例 ichiro が ball を持っていれば ・変化 例 saburo は shiro に ball を渡す データは,メモリに記憶され,ルールの適用により 変化 ※ ここでのデータは,状態(誰が何を持っている か)を記述したデータのこと

プロダクションシステム ルールの適用により,データは変化する データを変化させて,所定のゴール状態にたどり着 くかを確認すること = 人工知能の大事な問題の1つ

プロダクションシステム ルールは複数設定可能 プロダクションシステムでは,ルールはすべて適 用される.  ※ 「どのルールを使うか」という探索はない プロダクションシステムでは,データを変化させ て,所定のゴール状態にたどり着くかを確認する  ※ たどり着くか,つかないかを調べる.    探索ではない