PrologとLispの違い

Anonim

Prolog vs Lisp

で構築されています。PrologとLispは今日最も人気のあるAI(Artificial Intelligence)コンピュータプログラミング言語の2つです。それらは2つの異なるプログラミングパラダイムで構築されています。 Prologは宣言型言語であり、Lispは関数型言語です。どちらもさまざまなAI問題に使用されますが、Prologはロジックと推論の問題のために最も多く使用され、Lispはラピッドプロトタイピングの必要性の問題に使用されます。

Prolog

PrologはAIプログラミング言語です。これは論理プログラミング言語ファミリに属します。 Prologは宣言型言語であり、ルールや事実として定義された関係(プログラムロジックを表す)に対するクエリを実行することによって計算が引き継がれます。 1970年に開発されたプロローグは、最も古いロジックプログラミング言語の1つであり、今日(Lispと共に)最も普及しているAIプログラミング言語の1つです。それは自由な言語ですが、多くの商用版があります。自然言語処理には初めて使用されましたが、現在はエキスパートシステム、自動応答システム、ゲーム、高度な制御システムなどのさまざまなタスクに使用されています。 Prologには、この用語と呼ばれるデータ型が1つしかありません。 Termには、原子、数、変数、または複合語を使用できます。数値は浮動小数点数または整数です。 Prologはリストと文字列をアイテムのコレクションとしてサポートしています。 Prologは節を使用してリレーションを定義します。条項はルールまたは事実のいずれかになります。 Prologでは、その反復述語を徹底した反復が可能です。

Lisp

Lispはコンピュータプログラミング言語の一種です。今日の汎用プログラミングで使われている最も有名なLisp方言はCommon LispとSchemeです。 LISPという名前は "LISt Processing"に由来し、ヒントとして、Lispの主要なデータ構造はリンクされたリストです。実際、ソース全体はリスト(接頭辞表記法を使用)、またはより正確にカッコで囲まれたリスト(s式と呼ばれる)を使って書かれています。たとえば、関数呼び出しは(f a1 a2 a3)と書かれます。つまり、関数の入力引数としてa1、a2、a3を使用して関数fが呼び出されます。したがって、それは式指向言語と呼ばれ、すべてのデータとコードは式として記述されます(式と文はLispでは区別されません)。この素晴らしい機能はLispにとって非常に特別なものです.Lispでは、役立つマクロを書くことによって、問題にすぐに言語を拡張することができます。テール再帰はプログラマがループを表現するために使用されますが、頻繁に見られるLisp方言にはループのような制御構造があります。さらに、Common LispとSchemeには、関数の例であるmapcarとmapがあり、関数をすべての要素に逐次適用することによってループ機能を提供し、その結果をリストに収集します。

PrologとLispの違いは何ですか?

PrologとLispは最も人気のあるAIプログラミング言語の2つですが、さまざまな違いがあります。 Lispは関数型言語であり、Prologは論理プログラミング言語と宣言型言語です。 Lispは、プロトタイプやマクロの機能が非常に柔軟であるため、実際には問題に合わせて言語を拡張することができます。 AI、グラフィックス、ユーザインタフェースの分野では、この迅速なプロトタイプ作成能力のためにLispが広く使用されています。しかし、組み込みロジックプログラミング能力のために、Prologは、シンボリック推論、データベースおよび言語解析アプリケーションでのAI問題に最適です。どちらか一方を選択することは、解決すべきAI問題のタイプに完全に依存します。