タグ

Programmingとprologに関するtar0_tのブックマーク (2)

  • Prolog入門 Introduction to Prolog (in Japanese)

    Prolog の概要 PROgramming in LOGic (論理プログラミング)の省略. AI 用言語 (AI プログラムの記述・開発に適している言語)の一種. 1974 年に仏国の Colmerauer らにより開発された. 通産省の第五世代コンピュータプロジェクトの核言語として採用された. Prolog の特徴 記号処理言語,リスト処理言語: データとして,記号(シンボル)を取り扱うことができる. また,リストと呼ばれる可変長のデータの列を取り扱うことができる. 論理型言語: Prolog では新たな述語を論理式で定義することによってプログラムを 作り上げていく. すなわち, Prolog のプログラムは論理式の集まりである. Prolog や LISP は, FORTRAN や BASIC などの手続き型言語とは異なり, 非手続き型言語と呼ばれる. 対話的使用,会話的使用: P

  • プログラミングと開発者のためのCodeZine:Rubyで作るProlog処理系(Ruby, Prolog, 記号処理, 自動推論)

    はじめに 1970年代にヨーロッパを主な舞台として生まれ育ったプログラミング言語Prologprogramming in logic)は、事実とルールから一種の自動推論を行う点に特徴があります。その基的な動作は200行ほどのRubyプログラムで実現できます。ここでは、筆者がRubyで作成したProlog処理系を解説します。 Prologによる簡単なプログラム例を下記に示します。 これは「ソクラテスは人間(human)である」「プラトンは人間である」という事実と、「人間ならばいつか死ぬ(mortal)」というルールを書いたものです。mortal(X) :- human(X)は、変数Xが実際には何であったとしても、もしもhuman(X)が成り立つならば(つまりXが人間ならば)、mortal(X)が成り立つ(つまり、Xはいつか死ぬ)という意味です。 簡略化のため、処理系ではRubyの構文要

  • 1