SlideShare a Scribd company logo
1 of 19
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

Similar to Ai入門 in prolog

プログラミング教育に挑戦するために
プログラミング教育に挑戦するためにプログラミング教育に挑戦するために
プログラミング教育に挑戦するためにNaoki Kato
 
プログラミング教育シンポジウム@札幌 資料
プログラミング教育シンポジウム@札幌 資料プログラミング教育シンポジウム@札幌 資料
プログラミング教育シンポジウム@札幌 資料Yuta Tonegawa
 
主体的・対話的で深い学びと学習者用端末(小平七)
主体的・対話的で深い学びと学習者用端末(小平七)主体的・対話的で深い学びと学習者用端末(小平七)
主体的・対話的で深い学びと学習者用端末(小平七)Naoki Kato
 
情報モラル教育を考える
情報モラル教育を考える情報モラル教育を考える
情報モラル教育を考えるNaoki Kato
 
IT業界における英語とプログラミングの関係性
IT業界における英語とプログラミングの関係性IT業界における英語とプログラミングの関係性
IT業界における英語とプログラミングの関係性Yoshinari Fujinuma
 
リンクワールドジャパンの企業向け日本語教育サービスのご紹介 2016年12月
リンクワールドジャパンの企業向け日本語教育サービスのご紹介 2016年12月リンクワールドジャパンの企業向け日本語教育サービスのご紹介 2016年12月
リンクワールドジャパンの企業向け日本語教育サービスのご紹介 2016年12月iKubota
 
プログラミング教育を学ぶ
プログラミング教育を学ぶプログラミング教育を学ぶ
プログラミング教育を学ぶNaoki Kato
 

Similar to Ai入門 in prolog (7)

プログラミング教育に挑戦するために
プログラミング教育に挑戦するためにプログラミング教育に挑戦するために
プログラミング教育に挑戦するために
 
プログラミング教育シンポジウム@札幌 資料
プログラミング教育シンポジウム@札幌 資料プログラミング教育シンポジウム@札幌 資料
プログラミング教育シンポジウム@札幌 資料
 
主体的・対話的で深い学びと学習者用端末(小平七)
主体的・対話的で深い学びと学習者用端末(小平七)主体的・対話的で深い学びと学習者用端末(小平七)
主体的・対話的で深い学びと学習者用端末(小平七)
 
情報モラル教育を考える
情報モラル教育を考える情報モラル教育を考える
情報モラル教育を考える
 
IT業界における英語とプログラミングの関係性
IT業界における英語とプログラミングの関係性IT業界における英語とプログラミングの関係性
IT業界における英語とプログラミングの関係性
 
リンクワールドジャパンの企業向け日本語教育サービスのご紹介 2016年12月
リンクワールドジャパンの企業向け日本語教育サービスのご紹介 2016年12月リンクワールドジャパンの企業向け日本語教育サービスのご紹介 2016年12月
リンクワールドジャパンの企業向け日本語教育サービスのご紹介 2016年12月
 
プログラミング教育を学ぶ
プログラミング教育を学ぶプログラミング教育を学ぶ
プログラミング教育を学ぶ
 

Recently uploaded

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 

Recently uploaded (9)

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 

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)