プロロログ言語とは何ですか?
Prologは、ロジックに基づいたコンピュータープログラミング言語です。ほとんどのコンピューター言語は、問題を解決するために必要な手順に基づいています。一方、プロログ言語は、エンティティ間の論理的な関係を示す「宣言的な」言語です。問題を解決する方法は、コンピューターに任されています。 Prologという名前は、フランスのプログラメーションとロジック、つまりプログラミングロジックに由来しています。
以下は単純なプロログプログラムです:
祖先(f、c): - 父(f、c)
祖先(p、q): - 父(p、r)、祖先(r、q)
父(ジョン、ジム)。
父(ジム、ジェリー)。
父(ジェリー、ジェイソン)。
父(ジェリー、ジェフ)。
父(ジェイソン、ジョシュア)。
上記のプログラムは真実を示しています。 FがCの父である場合、FはCの祖先である場合、PがQの祖先である人の父親である場合、PはQの祖先です。ジョンはジムの父親であるなど、多くの真の事実が与えられます。その場合、ジョンがいるかどうかについて問題の質問が提起されますジェフの祖先である「はい」という応答が以下にあります:
? - 先祖(ジョン、ジェフ)。
はい
ジョシュアの祖先が興味深い場合、プログラムはすべての祖先を次のように表示します。
a = jason
a = jerry
a = jim
a = john
上記の両方で、プログラムは評価を行う方法を教えていないことに注意してください。たとえば、年配の人から始めて、若い人に向かって進むのか、その逆に努力するかを示していませんでした。また、以下のように部品を交換します:
祖先(p、q): - 祖先(r、q)、父(p、r)
右側のこれらの部分の両方が真である必要があるため、プログラムに違いはありません。 したがって、プロログ言語は、問題を解決する方法ではなく、関係に焦点を当てています。プログラムの実行中、Prologは多くの真の状態を構築します知識ベースの作成。上記の例では、知識ベースには、順調に順番に、祖先(ジョン、ジム)、祖先(ジム、ジェリー)、祖先(ジョン、ジェリー)、祖先(ジム、ジェイソン)、祖先(ジョン、ジェイソン)などがあります。このナレッジベースは、プログラムの実行に合わせて構築を続けることができ、ソリューションを取得するために効率的に検索できます。実行は、複数のコンピューターによる並行処理、同時実行を使用できます。
プロログ言語は、多くの分野で使用されています。英語などの自然言語専用のシステムで始まりました。自然言語は人工知能の分野の1つです。プロログ言語は、代数を含む象徴的な数学でも使用されます。他の多くのアプリケーションの中でも、定理、専門システム、制御システムでの証明で使用されます。