Prologとは
Prolog(プロログ)は、1972年にフランスのコンピュータ科学者 アラン・カルメラウアー氏によって開発されたプログラミング言語です。 Prolog という名称は、フランス語の「PROgrammation en LOGique」に由来します。英語にすれば「PROgramming in LOGic(論理によるプログラミング)」です。
Prologは 、AI(人工知能)に特化した言語です。 論理型言語としての特性から推論や自然言語解析などを得意としており、PrologがAI(人工知能)の開発に採用されることがあります。
登場から50年近く続く歴史のなかでは、すでに過去の言語と見なされた時期もあったかもしれません。しかし、近年のAI開発の需要から、再びPrologが注目されるようになっています。
Prolog の特徴
Pascalには、以下の特徴があります。
- 数理論理学に基づいた“論理型言語”である
- 手続き型言語ではなく、宣言型言語である
- Prologのプログラムは、 規則 、事実、質問で構成される
- 推論や自然言語解析などを得意とする
Prologは名称の由来の通り、論理を使ってプログラミングをする言語です。少し難しい言い回しですが、「Prologは数理論理学に基づいた“論理型言語 ”である」と表現できるでしょう。Prologは、論理的思考が得意なのです。
また、ALGOL、BASIC、C言語などに代表される手続き型言語とは異なり、Prologは宣言型言語です。 Prologでは、対象の性質を宣言することでプログラムを構成していきます。
Prologのプログラムは、以下の構成で記述されます。
- 規則を定義する
- 事実を定義する
- 質問をすると結果が返る
例えば、以下のような感じです。
- ボールを使う競技を「球技」と呼ぶ
- 野球にはボールを使う
- 野球は「球技」ですか?→ 「yes」が返る
相撲は「球技」ですか?→ 「no」が返る(※相撲については定義されていないので、「そのような事実は定義されていない」という意味で「no」が返る)
上記のように、Prologは論理的思考をする言語であり、推論や自然言語解析などを得意としています。
Prologは論理的思考をする言語であり、推論や自然言語解析などを得意としています。
Prolog はこんな場面で使われている
Prologは 、AIに特化した言語です。また、大学の論理学の授業などで利用されることがあります。
近年のAI開発の需要から、再びPrologが注目されるようになっており、2015年頃には、ソフトバンクの人型ロボットPepper(ペッパー)の人工知能に Prolog が採用されたことが話題となりました。
Prolog を学ぶメリット
Prologは、人工知能に特化されたプログラミング言語として、Pythonなどと共に再注目されるようになっています。人工知能の分野に関心があれば、Prolog を学ぶメリットはあるでしょう。