#この記事の動作環境: Windows 7 システム、Dell G3 コンピューター。 Prolog (Programming in Logic の略) は、論理プログラミング言語です。論理の理論的基礎に基づいており、当初は自然言語などの研究分野で使用されていました。 Prolog の紹介論理プログラミング言語。 1972 年、リダクション法の実行効率を向上させるために、フランスの Comolaue グループが PROLOG (Programming In Logic) と名付けた定理証明プログラムのプログラム実行プログラムを開発し、最初の論理プログラミング言語 PROLOG が誕生しました。 1974 年以降、R. Kowalski は述語論理の HORN 節の観点から PROLOG の理論的基礎をさらに解明し、論理プログラミングの考え方を体系的に提案しました。 PROLOG 言語には 3 種類の基本ステートメントがあり、それぞれ事実、ルール、および問い合わせを表し、見出し付き (本文、本文なし) および見出しなしの HORN 句に対応します。例: つまり、PROLOG 言語でのプログラミングは、事実の宣言、ルールの定義、質問に要約できます。 PROLOG プログラムの解釈と実行プロセスでは、特定の入力リダクションが使用されます。つまり、ターゲット ステートメントから開始して、そのリダクション式が実行され、元の文節セットの文節 (末尾と先頭) が見つかります。 match)、新しい句は、元の句セットの句を使用してリダクション式を検索する、というようになります。派生した 2 つの条項間、または元の条項セットの 2 つの条項間で削減が見られることはありません。上記の例では、 ⑥: -human(u), greek(u) (④と⑤の縮約、mgu=u/x) ⑦: -greek(socarates) (②と⑥の還元式、mgu=socarates/u) ⑧:-(③と⑦の還元式、空節を取得) 質問の答えは次のとおりです。 u=ソカラテス。 PROLOG 説明システムは、実際には還元の原理に基づいた定理証明プログラムまたは問題解決プログラムであることがわかります。 時空間効率の低さは、PROLOG 言語の適用に影響を与える重要な問題であり、効率を改善する方法としては、PROLOG 解釈システムの改善、PROLOG コンパイル システムの採用、PROLOG マシンの開発、制御用メタルールの導入などが挙げられます。 、ヒューリスティック検索モードを使用すると、インテリジェントなバックトラッキングが可能になり、協調的かつ同時解決テクノロジーを採用し、並列処理メカニズムを開発します。 PROLOG インタプリタは、推論ルールに基づいて問題の解決策を自動的に探索できるため、プログラム設計者は、プロセスの詳細についてあまり考えることなく、オブジェクト間の論理関係を明らかにすることに集中できます。自動プログラミングの方向に前進します。ただし、PROLOG 言語には非論理的な機能もいくつかあります。たとえば、バックトラッキングを制御するために、CUT テクノロジ (カットオフ テクノロジ。つまり、プログラマーは CUT シンボルを使用して、過去に実行された無駄な検索パスを考慮しなくなったことをシステムに通知することを意味します。バックトラッキングポイントを記録するため)、述語のassert(データベースのadd句内)ret ract(データベースからの削除句)を導入します。これにより、システムの公理セットが推論プロセス中に変更され、同次論理の基本的な考え方と矛盾します。したがって、PROLOG は厳密な意味では論理プログラミング言語ではありません。言語をより論理的にするには、言語の非論理的な要素を最小限に制限する必要があり、この分野の研究が進行中です。 推奨: 「prolog 言語の 3 つの基本ステートメントはファクト、ルール、クエリであり、ヘッダ付きおよびヘッドレスの HORN 句に対応します。したがって、PROLOG 言語でのプログラミングは、ファクトの宣言とルールの定義とクエリの作成に簡略化できます。 。
プログラミング ビデオ 」
以上がプロローグ言語の 3 つの基本ステートメントは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。