Prolog(ぷろろぐ)とは
Prologとは、1972年ごろにフランスで生まれた、「論理」に基づくプログラミング言語です。手順を一つずつ命令する多くの言語とは違い、事実とルールを書いておくと、コンピュータが自分で答えを導き出すのが大きな特徴。初期のAI研究を支えた言語の一つとして知られています。
「何が成り立つか」を書くプログラミング
ふつうのプログラミングは、料理のレシピのように「まずこれをして、次にこれを」と手順を順番に書きます。Prologはそこが逆。「ソクラテスは人間である」「人間はいつか死ぬ」といった事実とルールを並べておくと、『ソクラテスは死ぬか?』と尋ねるだけで『はい』と答えが返ってくる。手順ではなく「何が成り立つか」を書いておき、答え探しはコンピュータに任せる。この発想が、人間の知識を扱うAI向きだと考えられました。
記号主義AIを支え、日本の国家計画にも採用
こうした性質から、Prologは知識を使った推論や自然言語の解析、エキスパートシステムといった分野で活躍しました。とりわけ象徴的だったのが、日本の国家プロジェクト「第五世代コンピュータ」が中核技術としてPrologの流れをくむ言語を採用したこと。当時、欧州や日本がPrologに力を入れた一方、アメリカは別のAI言語を好むという地域差もありました。いまでこそ主役の座にはありませんが、論理で考えるその独特の発想は、現在も学ぶ価値があるとされています。
Topic「Prolog」という名前はフランス語だった
AI向けの言語というと、つい米国生まれを思い浮かべがちです。けれどPrologは、1972年ごろにフランスのマルセイユで生まれました。名前の由来もフランス語で、「Programmation en Logique(プログラマシオン・アン・ロジック)」、つまり「論理によるプログラミング」を縮めたもの。言語の設計思想が、そのまま名前になっているわけです。AIの歴史は、決してアメリカ一国だけで紡がれてきたわけではありません。
Prologに関するよくある質問
- PrologとLispは何が違いますか?
- どちらも初期のAI研究を支えた言語ですが、Prologは事実とルールを並べて答えを導く『論理型』、Lispはリスト(データの並び)を柔軟に操る言語です。歴史的には欧州や日本がProlog、アメリカがLispを好む傾向がありました。
- Prologは今も使われていますか?
- 主流の言語ではありませんが、教育や研究、規則の多い問題の処理、データの照合などで今も使われています。論理に基づく独特の考え方は、現在も学ぶ価値があるとされています。
- Prologはどんな問題に向いていますか?
- ルールがはっきりした問題に向いています。たとえば、条件を組み合わせた推論、パズルの求解、文章の文法を解析する処理などです。条件を並べるだけで答えが出るため、ルールベースの処理と相性のよい言語です。