SlideShare a Scribd company logo
AI入門 in Prolog
市川 駿
自己紹介
© 2016 Shun Ichikawa 1
Pictures from www.tcd.ie
名前 市川 駿
出身地 埼玉県
大学 アイルランド国立ダブリン大学トリニティ・カレッジ
学部 Computer Science & Business
© 2016 Shun Ichikawa 3
Prolog!?
© 2016 Shun Ichikawa 4
何それ!?
おいしいの?
© 2016 Shun Ichikawa 5
プログラミング
言語です!
Prologとは
■ 1972年に登場した老舗の非手続き型
プログラミング言語
■ AIに特化した言語
■ Prologでは論理的に物事を解釈するように
プログラムを書きます
© 2016 Shun Ichikawa 6
© 2016 Shun Ichikawa 7
そんな言語…
© 2016 Shun Ichikawa 8
オワコン
じゃない!?
© 2016 Shun Ichikawa 9
オワコンじゃない!!(,,゚Д゚)
■ 教育機関では論理学の教材として有名!
■ 最近の有名な事例は・・・Pepper
http://k-tai.impress.co.jp/
© 2016 Shun Ichikawa 10
Prologのプログラムを構成する要素
要素は3つ!
1. 事実|物事の事実を宣言すること
2. 規則|物事との関係に関しての規則を定義すること
3. 質問|物事との関係について質問すること
© 2016 Shun Ichikawa 11
事実とは
■ “鈴木さんは東京に住んでいる”
というような事が事実
■ 英語にすると「Suzuki lives in Tokyo.」
■ live(suzuki, tokyo).
© 2016 Shun Ichikawa 12
規則とは
■ 複数の事実を用いて、一つの事実を表すこと
■ Engineerとは、職業を示します。
- 田中さんはEngineerであるという事実は、
田中さんは人であるという事実も示します。
■ engineer(X) :-human(X).
© 2016 Shun Ichikawa 13
質問
■ Prologに対して、質問を投げること
- Prologは質問に合致する事実があれば “yes”
なければ “no” と 回答する。
■ live(suzuki,tokyo).
- yes ←Prologの回答
※上記の結果を得るためにはlive(suzuki, tokyo)という事実を
あらかじめPrologに登録しておく必要があります。
© 2016 Shun Ichikawa 14
皆さん!
ご存じですか。
© 2016 Shun Ichikawa 15
ゼブラパズル
© 2016 Shun Ichikawa 16
問題|ゼブラパズル
■ 家が3軒あります。その3軒の家はそれぞれ
赤・青・緑で塗られています。
そしてその住人は、それぞれ異なる国籍で、
それぞれ異なるペットを飼っています。
■ イギリス人は赤い家に住んでいます。
■ スペイン人は犬を飼っています。
■ 日本人は、猫を飼っている人の右側に住んでいます。
■ 猫を飼っている人は青色の家の左に住んでいます。
誰がシマウマを飼っているでしょう?
© 2016 Shun Ichikawa 17
Prologで
解いてみた
© 2016 Shun Ichikawa 18
■ 3人の人が並んで住んでいるということ
- neighbor(L,R,[L,R|_])
neighbor(L,R,[_|Xs]) :- neighbor(L,R,Xs)
■ イギリス人は赤い家に住んでいる
- house(red,english,_)
■ スペイン人は犬を飼っている
- house(_,spanish,dog)

More Related Content

PDF
2024 Trend Updates: What Really Works In SEO & Content Marketing
PPTX
[JavaScript][gulp.js] 一緒に楽しよう!gulp.jsのあれこれ
PPTX
LT 手作りGit
PPTX
BIが可愛い
PDF
本を管理するためのオレオレベストプラクティス
PDF
Java?ruby? そろそろgoで行ってみませんか?
PDF
Llvm Talk 社内LT大会資料
PPTX
デジタルファブリケーションノススメ
2024 Trend Updates: What Really Works In SEO & Content Marketing
[JavaScript][gulp.js] 一緒に楽しよう!gulp.jsのあれこれ
LT 手作りGit
BIが可愛い
本を管理するためのオレオレベストプラクティス
Java?ruby? そろそろgoで行ってみませんか?
Llvm Talk 社内LT大会資料
デジタルファブリケーションノススメ
Ad

Ai入門 in prolog

  • 3. Pictures from www.tcd.ie 名前 市川 駿 出身地 埼玉県 大学 アイルランド国立ダブリン大学トリニティ・カレッジ 学部 Computer Science & Business
  • 4. © 2016 Shun Ichikawa 3 Prolog!?
  • 5. © 2016 Shun Ichikawa 4 何それ!? おいしいの?
  • 6. © 2016 Shun Ichikawa 5 プログラミング 言語です!
  • 7. Prologとは ■ 1972年に登場した老舗の非手続き型 プログラミング言語 ■ AIに特化した言語 ■ Prologでは論理的に物事を解釈するように プログラムを書きます © 2016 Shun Ichikawa 6
  • 8. © 2016 Shun Ichikawa 7 そんな言語…
  • 9. © 2016 Shun Ichikawa 8 オワコン じゃない!?
  • 10. © 2016 Shun Ichikawa 9 オワコンじゃない!!(,,゚Д゚) ■ 教育機関では論理学の教材として有名! ■ 最近の有名な事例は・・・Pepper http://k-tai.impress.co.jp/
  • 11. © 2016 Shun Ichikawa 10 Prologのプログラムを構成する要素 要素は3つ! 1. 事実|物事の事実を宣言すること 2. 規則|物事との関係に関しての規則を定義すること 3. 質問|物事との関係について質問すること
  • 12. © 2016 Shun Ichikawa 11 事実とは ■ “鈴木さんは東京に住んでいる” というような事が事実 ■ 英語にすると「Suzuki lives in Tokyo.」 ■ live(suzuki, tokyo).
  • 13. © 2016 Shun Ichikawa 12 規則とは ■ 複数の事実を用いて、一つの事実を表すこと ■ Engineerとは、職業を示します。 - 田中さんはEngineerであるという事実は、 田中さんは人であるという事実も示します。 ■ engineer(X) :-human(X).
  • 14. © 2016 Shun Ichikawa 13 質問 ■ Prologに対して、質問を投げること - Prologは質問に合致する事実があれば “yes” なければ “no” と 回答する。 ■ live(suzuki,tokyo). - yes ←Prologの回答 ※上記の結果を得るためにはlive(suzuki, tokyo)という事実を あらかじめPrologに登録しておく必要があります。
  • 15. © 2016 Shun Ichikawa 14 皆さん! ご存じですか。
  • 16. © 2016 Shun Ichikawa 15 ゼブラパズル
  • 17. © 2016 Shun Ichikawa 16 問題|ゼブラパズル ■ 家が3軒あります。その3軒の家はそれぞれ 赤・青・緑で塗られています。 そしてその住人は、それぞれ異なる国籍で、 それぞれ異なるペットを飼っています。 ■ イギリス人は赤い家に住んでいます。 ■ スペイン人は犬を飼っています。 ■ 日本人は、猫を飼っている人の右側に住んでいます。 ■ 猫を飼っている人は青色の家の左に住んでいます。 誰がシマウマを飼っているでしょう?
  • 18. © 2016 Shun Ichikawa 17 Prologで 解いてみた
  • 19. © 2016 Shun Ichikawa 18 ■ 3人の人が並んで住んでいるということ - neighbor(L,R,[L,R|_]) neighbor(L,R,[_|Xs]) :- neighbor(L,R,Xs) ■ イギリス人は赤い家に住んでいる - house(red,english,_) ■ スペイン人は犬を飼っている - house(_,spanish,dog)