Prologプログラミング:AIボットに最高のライフを。

開示: あなたのサポートはサイトの運営を維持するのに役立ちます!このページで推奨する一部のサービスについては、紹介料を稼ぎます.


Prologは論理プログラミング言語です。そのため、C ++やPerlなどの経験がある人にとっては、まったく奇妙に見えるかもしれません。アイデアは非常に簡単です。プログラムでは、ファクトとルール(ファクト間の関係)を定義します。これに基づいて、クエリを実行できます。しかし、これらの単純な機能を使用すると、多くのことができます

Prologの機能を理解してもらうために、自然言語処理を行うように設計されました。 ELIZA —これまでに作成された最初のチャットボットの1つを聞いたことがあるでしょう。それはプロローグがそうするように設計された種類のことです.

実際、オンラインにはELIZAのPrologバージョンがあります。しかし、これはほんの始まりにすぎません。これは、特に「人工知能」と広く見なされている多くの分野、特にエキスパートシステムで広く使用されています。.

プロローグのしくみ

Prologは、手続き型言語の経験がある人を混乱させる可能性があります。それは確かに手続き的な側面を持っていますが、それは事実のシステムとそれらがどのように関係するかを作成することの問題です。次に、Prologにその詳細を管理させます。通常、手続き型プログラミングでは、多くの「if」質問をします。 Prologには、その側面がデータシステムに組み込まれています。.

Prologの基本的な考え方を理解するには、その3つの基本的な側面であるファクト、ルール、クエリについて話す必要があります。.

  • 事実:これらはあなたが思うことだけです。システムにいくつかの情報を伝えます。次の例では、HeatherがThomasを気に入っていることを宣言しています。
    • いいね(ヘザー、トーマス).
  • ルール:これらは論理式を作成します。彼らは:-演算子のようなものを使用します。
    • 好き(トーマス、ヘザー):-好き(ヘザー、トーマス).

    これは、「ヘザーがトーマスが好き」が本当である場合、トーマスがヘザーが好きであると述べています。元の事実は暗黙のルールであり、次のように記述できることに注意してください。

    • いいね(ヘザー、トーマス):= true.
  • クエリ:これらにより、システムの質問をすることができます。例えば:
    • ? 好き(トーマス、ヘザー).

    これは、「トーマスはヘザーのようですか」という質問をします。そして、Prologは「はい」と答えます。これは、ヘザーが事実をもってトーマスを好きであることを最初に確立したからです。次に、トーマスがヘザーが好きなら、ヘザーが好きだというルールを作成しました.

Prologのもう1つの重要な側面は、変数の使用です。これまでに提供されたすべての例が小文字であることにお気づきかもしれません。 Prologでは、大文字で始まる要素(「原子」と呼ばれます)は変数です。ヘザーの友達を見つけたいと思ったら、変数Friendsを作成してこれを行うことができます。

? いいね(ヘザー、フレンズ).

これは、「ヘザーは誰が好きですか?」という質問をします。そして、Prologは定義されたものを何でもFriendsにロードします。私たちの場合、それはトーマスです。しかし、それは人々のリストかもしれません.

資源

Prologの概要を理解したところで、ロジックプログラマーになるためのリソースをいくつか見てみましょう。.

チュートリアル

  • Prologの概要:これは非常に単純なチュートリアルですが、他のチュートリアルでは見落としがちな基本的な問題を扱っています。.
  • ロジックプログラミングをお試しください! Prologの穏やかな紹介:これは、異なるプログラミングパラダイムとしてのロジックプログラミングに焦点を当てています.
  • プロローグ:-チュートリアル:これは言語の詳細な例指向の紹介です.
  • 今すぐPrologを学ぶ:これは、最初から始まり、高度なトピックに入る完全なチュートリアルです.

ビデオチュートリアル

標準のチュートリアルに加えて、Prologには多数の優れたビデオチュートリアルがあります。それらは基本を学ぶ驚くほど簡単な方法です.

  • Derek Banasのプロローグチュートリアル:これは、1時間の優れたビデオチュートリアルで、最初から始められます。コンピューターにプロローグをインストールする.
  • プロローグでのプログラミング:これは、SWIのプロローグを使用したシンプルエンジニアの4部構成のビデオの紹介です。.
  • 論理プログラミング:これは、Pallab Dasguptaによる人工知能に関する講義シリーズの一部です。これは論理プログラミングに関するものです。特にプロローグに関するフォローアップ講義もあります.

プロローグブック

あなたが本当に興味があるなら、あなたは本をチェックアウトしたいかもしれません。.

  • Sam KeyによるProlog Programming Success in a Day:一日(または夕方)にPrologを紹介する小さな本.
  • Clocksin MellishによるPrologでのプログラミング:これは、Prologの完全かつ簡潔な紹介です。.
  • Ivan Bratkoによる人工知能のためのプロローグプログラミング:それがどのように聞こえるかにかかわらず、これはプロローグの紹介であり、主題に非常に深く入ります.
  • Art of Prolog:Sterling and ShapiroによるAdvanced Programming Techniques:これは古典的ですが、導入ではありません。言語に慣れたらチェックするべきです.

Prologの実装

さまざまな無料のPrologコンパイラーとインタープリターが利用可能です.

  • Toy Prologインタープリター:これは、モナッシュ大学のオンラインインタープリターであり、少しのコードをチェックアウトするための優れたツールです。コンピュータにコンパイラをインストールする手間がかかる前に、チュートリアルで使用するのに特に適しています。.
  • SWI-Prolog:これは、ほぼすべてのプラットフォームで利用可能な、広く使用されているProlog実装です。.
  • GNU Prolog:これはDaniel Diazの無料コンパイラです.
  • 無料のPrologコンパイラと実装:Free Countryの他のProlog実装のリスト.

その他のリソース

利用可能な他の多くのリソースがあります。その中には長い歴史があるため、一部の情報が古くなっている可能性があることに注意してください.

  • Prolog Resource Guide:これはかなり古いリソースですが、膨大な量の有用な情報が含まれています.
  • SWI-Prologでの実際のプログラミング:これにはSWI-Prologコーダー向けの多くの情報がありますが、その多くは、他の環境を使用する人々にとって有用です。特に興味深いのは、## Prologのよくある質問です。.
  • Prolog WikiBook:これは、多くの高度な資料を備えた言語の優れた概要です.
  • Stack Overflow Prolog:これは、膨大な量の情報を持つプログラマーのためのオンラインフォーラムです。 Prolog Tagged Questionsページもご覧ください.
  • SWI-Prolog Googleグループ:これはそれほど活発なグループではありませんが、知識のある人はまだたくさんいます。 comp.lang.prologグループも確認してください.

概要

それに集中したい場合も、他のプログラミングツールを補完するために使用したい場合も、Prologは学習に最適な言語です。論理プログラミング言語として、問題をあまり手続き的ではない方法で考えるようになります。ここにあるリソースを使用して、Prologプログラミングを学び、進歩させることができます.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map