ロゴ
ユニオンペディア
コミュニケーション
Google Play で手に入れよう
新しい! あなたのAndroid™デバイスでユニオンペディアをダウンロードしてください!
無料
ブラウザよりも高速アクセス!
 

Prolog

索引 Prolog

Prolog(プロログ)は、非手続き型プログラミング言語の一つ。論理型言語に分類される。名称は、「論理を使ったプログラミング」を意味するフランス語「programmation en logique」に由来しているRobert Kowalski.

99 関係: A句構造文法失敗による否定宣言型プログラミング導出原理左再帰並列計算並行制約プログラミング並行計算並行論理プログラミング一階述語論理京都大学人工知能チューリング完全チューリングマシンハノイの塔バッチ処理バッカス・ナウア記法バックトラックメモ化ユニフィケーションワトソン (コンピュータ)トップダウン構文解析ブーリアン型プログラミング言語プログラム (コンピュータ)パターンマッチングデービス・パトナムのアルゴリズムフランスホーン節制約プログラミング制約論理プログラミング命題命題論理インペリアル・カレッジ・ロンドンウェブアプリケーションエルブランの定理エディンバラ大学エキスパートシステムエクス=マルセイユ大学オペレーティングシステムガベージコレクションギルモアのアルゴリズムクロスプラットフォームクイックソートジャック・エルブランソフトバンクサザエさん再帰共通言語基盤...動的型付け動的計画法C SharpC言語Concurrent PrologConstraint Handling Rules第五世代コンピュータ糖衣構文終端記号と非終端記号産業技術総合研究所ErlangESP非単調論理非手続き型言語高階述語論理論理式論理プログラミング論理積述語論理関係データベース自動定理証明集合Guarded Horn ClausesIBMJavaKL1LISPMac OSMicrosoft WindowsOz (プログラミング言語)PARLOGPlannerSQLSqueakStrandUnicode抽象構文木構文解析正規表現深さ優先探索漫画作品一覧演算子演繹末尾再帰新世代コンピュータ技術開発機構文脈自由文法数理論理学.NET Framework1972年 インデックスを展開 (49 もっと) »

A

Aは、ラテン文字(アルファベット)の1番目の文字。小文字は a 。ギリシャ文字のΑ(アルファ)に由来し、キリル文字のАに相当する。.

新しい!!: PrologとA · 続きを見る »

句構造文法

句構造文法(くこうぞうぶんぽう、、PSG)は、句構造規則で定義された文法を指す用語としてノーム・チョムスキーが考案したもので、エミール・ポストと Axel Thue が研究したかたちの書き換え規則の集まりである()。チョムスキー階層の文脈依存文法または文脈自由文法のみを指す用語として使うこともある。広義の句構造文法は「構成文法」(constituency grammar) とも呼ばれる。これは句構造文法が構成関係 (constituency relation) に着目したもので、依存関係 (dependency relation) に着目した依存文法と対比されるものだからである。.

新しい!!: Prologと句構造文法 · 続きを見る »

失敗による否定

失敗による否定(しっぱいによるひてい、Negation as failure, NAF)は、論理プログラミングで使われる非単調論理的推論規則であり、p を導出することに失敗したとき \mathit~p を自動的に導出することである。Planner や Prolog の初期から論理プログラミングの重要な機能となっている。Prolog では、論理構成要素の範囲外として実装されることが多い。.

新しい!!: Prologと失敗による否定 · 続きを見る »

宣言型プログラミング

宣言型プログラミング(Declarative programming)は、プログラミングパラダイムの名称だが、主として2種類の意味がある。第1の意味は、処理方法ではなく対象の性質などを宣言することでプログラミングするパラダイムを意味する。第2の意味は、純粋関数型プログラミング、論理プログラミング、制約プログラミングの総称である。後者は(多寡はあれ)前者の性質を持つ。.

新しい!!: Prologと宣言型プログラミング · 続きを見る »

導出原理

導出原理(どうしゅつげんり、resolution principle)とは、により1965年に提案されたJ.

新しい!!: Prologと導出原理 · 続きを見る »

左再帰

左再帰(Left recursion)とは、言語(普通、形式言語について言うが、自然言語に対しても考えられ得る)の文法(構文規則)にあらわれる再帰的な規則(定義)の特殊な場合で、ある非終端記号を展開した結果、その先頭(最も左)にその非終端記号自身があらわれるような再帰のことである。 ナイーブに再帰下降構文解析の関数に変換すると、実行(ないし評価)すると無限再帰に陥る関数になるのだが、通常の算術の式のように左結合(結合法則#結合性を参照)の中置演算子式は一般に左再帰の構文規則になるため、プログラミング言語処理系の実装のために、実用的な観点から対策が検討されてきた。この関数における再帰を指すこともある。.

新しい!!: Prologと左再帰 · 続きを見る »

並列計算

並列計算(へいれつけいさん、parallel computing)は、コンピュータにおいて複数のプロセッサで1つのタスクを動作させること。並列コンピューティングや並列処理とも呼ばれる。問題を解く過程はより小さなタスクに分割できることが多い、という事実を利用して処理効率の向上を図る手法である。また、このために設計されたコンピュータを並列コンピュータという。ディープ・ブルーなどが有名。 関連する概念に並行計算(へいこうけいさん)があるが、並行計算は一つのタスクの計算を並列化することにとどまらず、複数の相互作用しうるタスクをスレッドなどをもちいて複数の計算資源にスケジューリングするといった、より汎用性の高い処理をさす。 特に、並列計算専用に設計されたコンピュータを用いずに、複数のパーソナルコンピュータやサーバ、スーパーコンピュータを接続することで並列計算を実現するものをコンピュータ・クラスターと呼ぶ。このクラスターをインターネットなどの広域ネットワーク上に分散させるものも、広義には並列計算に属すが、分散コンピューティングあるいはグリッド・コンピューティングと呼び、並列計算とは区別することが多い。.

新しい!!: Prologと並列計算 · 続きを見る »

並行制約プログラミング

並行制約プログラミング(へいこうせいやくプログラミング、Concurrent Constraint Programming)は、制約論理プログラミングの研究と並行論理プログラミングの研究とから生まれた、並行プログラミングのためのパラダイムである。並行制約プログラミングでは並行論理プログラミングをより一般化し、制約の出力(追加, tell)と入力(観測, ask)を行う複数のプロセス(エージェント)でプログラミングを行う。.

新しい!!: Prologと並行制約プログラミング · 続きを見る »

並行計算

並行計算(へいこうけいさん、concurrent computing)とは、コンピュータプログラムにおいて複数の相互作用を及ぼす計算タスクの(同時)並行的実行を指す。.

新しい!!: Prologと並行計算 · 続きを見る »

並行論理プログラミング

並行論理プログラミング(へいこうろんり-、Concurrent Logic Programming)は、論理プログラミングにおける並列性及び論理プログラミングによる並行処理の記述の研究から生まれた、並行プログラミングのためのパラダイムである。論理プログラミングでは述語論理式をゴール(Goal)の書き換え規則と見なし、ゴールの書き換えによって処理を行う。それに対し、並行論理プログラミングでは各ゴールをプロセスと見なして並行に書き換えを行い、ゴール間で共有する論理変数を通信チャネルとして情報交換や同期を行う。.

新しい!!: Prologと並行論理プログラミング · 続きを見る »

一階述語論理

一階述語論理(いっかいじゅつごろんり、first-order predicate logic)とは、個体の量化のみを許す述語論理 (predicate logic) である。述語論理とは、数理論理学における論理の数学的モデルの一つであり、命題論理を拡張したものである。個体の量化に加えて述語や関数の量化を許す述語論理を二階述語論理(にかいじゅつごろんり、second-order predicate logic)と呼ぶ。それにさらなる一般化を加えた述語論理を高階述語論理(こうかいじゅつごろんり、higher-order predicate logic)という。本項では主に一階述語論理について解説する。二階述語論理や高階述語論理についての詳細は「二階述語論理」「高階述語論理」を参照。.

新しい!!: Prologと一階述語論理 · 続きを見る »

京都大学

記載なし。

新しい!!: Prologと京都大学 · 続きを見る »

人工知能

250px 人工知能(じんこうちのう、artificial intelligence、AI)とは、「計算機(コンピュータ)による知的な情報処理システムの設計や実現に関する研究分野」を指す。.

新しい!!: Prologと人工知能 · 続きを見る »

チューリング完全

計算理論において、ある計算のメカニズムが万能チューリングマシンと同じ計算能力をもつとき、その計算モデルはチューリング完全(チューリングかんぜん、Turing-complete)あるいは計算完備であるという。 チャーチ=チューリングのテーゼによれば「計算可能関数」は、それを計算しようとする計算モデルがチューリング完全であれば計算できる。 一般的なプログラミング言語の背景にある計算モデルの多くはチューリング完全である。一見単純な機能しか持たない言語がチューリング完全な例としては、Lazy K、Brainfuckなどがある。究極的に単純な計算モデルとしては「がチューリング完全であると証明されている。 チューリング完全かどうかという事は、計算可能性理論の問題である。計算複雑性の分野の問題である時間や記憶容量の消費量については考えない。表計算における数式の処理などで、繰り返し処理を「どうやっても実現できなければ」それはチューリング完全ではない。 コンピュータ言語のうち、少なくともチューリング完全でなければプログラミング言語とは呼ばれない。逆にチューリング完全であるにも関わらず慣例的にプログラミング言語とは呼ばれないものもある。.

新しい!!: Prologとチューリング完全 · 続きを見る »

チューリングマシン

チューリングマシン (Turing Machine) は計算模型のひとつで、計算機を数学的に議論するための単純化・理想化された仮想機械である。.

新しい!!: Prologとチューリングマシン · 続きを見る »

ハノイの塔

8つの円盤のハノイの塔 ハノイの塔(ハノイのとう、Tower of Hanoi)はパズルの一種。 バラモンの塔または ルーカスタワー(Lucas' Tower)とも呼ばれる。.

新しい!!: Prologとハノイの塔 · 続きを見る »

バッチ処理

バッチ処理(バッチしょり)とは、.

新しい!!: Prologとバッチ処理 · 続きを見る »

バッカス・ナウア記法

バッカス・ナウア記法(Backus-Naur form)とは、文脈自由文法を定義するのに用いられるメタ言語のことで、一般にBNFやBN記法と略される。現在はこのBNFを拡張したEBNF (Extended BNF) が一般的に使われている。EBNFでは正規表現を用いてより簡単に記述でき、プロトコル規定言語であるASN.1や、XMLの構文定義にも利用されている。 ジョン・バッカスとピーター・ナウアがALGOL 60 の文法定義のために考案。当初は文脈自由文法の本来の定義に則り or(|)以外の定義はなく、繰り返しは再帰を利用して表現されている。*、?等を含む正規表現はBNFを拡張したEBNFによって導入された。パーサジェネレータを使用して構文解析器を生成する際に、構文を定義するためにも使う。 ISO/IEC 14977:1996においてEBNFの標準が定義されているが、EBNFにもいろいろな亜種や変種がある。例えば、RFC2234にはABNFという変種が定義されている。しかし、ABNFは標準のEBNFとかなり異なる部分がある。.

新しい!!: Prologとバッカス・ナウア記法 · 続きを見る »

バックトラック

バックトラック(backtrack).

新しい!!: Prologとバックトラック · 続きを見る »

メモ化

メモ化(Memoization)とは、プログラムの高速化のための最適化技法の一種であり、サブルーチン呼び出しの結果を後で再利用するために保持し、そのサブルーチン(関数)の呼び出し毎の再計算を防ぐ手法である。メモ化は構文解析などでも使われる(必ずしも高速化のためだけとは限らない)。キャッシュはより広範な用語であり、メモ化はキャッシュの限定的な形態を指す用語である。.

新しい!!: Prologとメモ化 · 続きを見る »

ユニフィケーション

ユニフィケーション(unification)は数理論理学や計算機科学の用語であり、問題を解く際のアルゴリズム的プロセスである。ユニフィケーションは、見た目の異なる2つのが同一または同等であることを示すを求めるのが目的である。ユニフィケーションは自動推論、論理プログラミング、プログラミング言語の型システムの実装などに幅広く用いられている。 なお、ユニフィケーションを単一化あるいは統一化とも呼ぶ。 主なユニフィケーションは数種類ある。等号を持たない論理(理論)において、2つの項が同一であることを示すためのユニフィケーションは統語論的ユニフィケーションと呼ばれる。空でない等号を持つ論理(理論)で2つの項の同等性を示す場合、それを意味論的ユニフィケーションと呼ぶ。置換は順序集合として順序付けられるので、ユニフィケーションは束における結びを求める手続きとして解釈できる。 ユニフィケーションを初めて形式的に研究したのはで、一階述語論理の導出手続きを構築する際に一階のユニフィケーションを基盤として使い、組合せ爆発の原因の1つ(項を例化したものの探索)を排除することで自動推論技術への大きな一歩とした。.

新しい!!: Prologとユニフィケーション · 続きを見る »

ワトソン (コンピュータ)

ワトソン(Watson)は、IBMが開発した質問応答システム・意思決定支援システムである。 『人工知能』と紹介されることもあるが、IBMはワトソンを、自然言語を理解・学習し人間の意思決定を支援する『コグニティブ・コンピューティング・システム(Cognitive Computing System)』と定義している。.

新しい!!: Prologとワトソン (コンピュータ) · 続きを見る »

トップダウン構文解析

トップダウン構文解析(トップダウンこうぶんかいせき、Top-down parsing)は、構文解析において、構文木を、最上位の非終端記号から始めて、それを順次右辺の記号列へと書き換えていくような手順によって導出する構文解析の戦略である。逆はボトムアップ構文解析。.

新しい!!: Prologとトップダウン構文解析 · 続きを見る »

ブーリアン型

ブーリアン型(ブーリアンがた、Boolean datatype)は、真理値の「真.

新しい!!: Prologとブーリアン型 · 続きを見る »

プログラミング言語

プログラミング言語(プログラミングげんご、programming language)とは、コンピュータプログラムを記述するための形式言語である。なお、コンピュータ以外にもプログラマブルなものがあることを考慮するならば、この記事で扱っている内容については、「コンピュータプログラミング言語」(computer programming language)に限定されている。.

新しい!!: Prologとプログラミング言語 · 続きを見る »

プログラム (コンピュータ)

ンピュータプログラム(英:computer programs)とは、コンピュータに対する命令(処理)を記述したものである。コンピュータが機能を実現するためには、CPUで実行するプログラムの命令が必要である。 コンピュータが、高度な処理を人間の手によらず遂行できているように見える場合でも、コンピュータは設計者の意図であるプログラムに従い、忠実に処理を行っている。実際には、外部からの割り込み、ノイズなどにより、設計者の意図しない動作をすることがある。また設計者が、外部からの割り込みの種類を網羅的に確認していない場合もある。.

新しい!!: Prologとプログラム (コンピュータ) · 続きを見る »

パターンマッチング

パターンマッチング (Pattern matching、パターン照合) とは、データを検索する場合に、特定のパターンが出現するかどうか、またどこに出現するかを特定する手法のことである。 文字列のパターンマッチングには、固定されたパターンの検索ではKMP法やBM法など各種の文字列探索アルゴリズムがある。また正規表現を利用する手法も多数提案されている。 画像や動画に対するパターンマッチングの研究も行われている。だが、パターンマッチングはあらかじめ人が打っておかなくてはいけないため人工知能とは別で機械が自分で考えているわけではない(そもそも「考える」ということを形式的に定義することは不可能なので、この段落の後半の「だが、」以降は、単にどこかの誰かの考える「人工知能」という語に関する主観の表明に過ぎず、意味があることを何も述べてはいない)。 いくつかの高水準プログラミング言語には、多分岐の一種で、場合分けと同時に構成要素の取り出しのできる言語機能があり、パターンマッチと呼ばれている。Haskellでの例を示す。 listSumCase lst.

新しい!!: Prologとパターンマッチング · 続きを見る »

デービス・パトナムのアルゴリズム

デービス・パトナムのアルゴリズム(Davis–Putnam algorithm)は、与えられた論理式の充足可能性を調べるアルゴリズムで、連言標準形で表現された命題論理式を対象とする。アメリカ国家安全保障局の支援を受け、一階述語論理での定理自動証明のための方法として(Martin Davis)とヒラリー・パトナム(Hilary Putnam)により1958年に考案され Davis Martin.

新しい!!: Prologとデービス・パトナムのアルゴリズム · 続きを見る »

フランス

フランス共和国(フランスきょうわこく、République française)、通称フランス(France)は、西ヨーロッパの領土並びに複数の海外地域および領土から成る単一主権国家である。フランス・メトロポリテーヌ(本土)は地中海からイギリス海峡および北海へ、ライン川から大西洋へと広がる。 2、人口は6,6600000人である。-->.

新しい!!: Prologとフランス · 続きを見る »

ホーン節

ホーン節(ホーンせつ、Horn clause)とは、数理論理学において、節(リテラルの選言結合命題)のうち、肯定形のリテラルの数が1つ以下の物を言う。論理学者のアルフレッド・ホーンによって導入された。.

新しい!!: Prologとホーン節 · 続きを見る »

制約プログラミング

制約プログラミング(Constraint Programming)はプログラミングパラダイムの一つである。 制約プログラミングにおいては、変数間の関係を制約という形で記述することによりプログラムを記述する。制約が他のプログラミングパラダイムのプリミティブと異なっているのは、実行すべきステップではなく解の特性を記述するという点である。制約プログラミングにおける制約は様々である。制約充足問題での制約やシンプレックス法における制約などがある。制約は通常、プログラミング言語に埋め込まれているか別個のライブラリで提供される。 制約プログラミングは制約を論理プログラミングに埋め込んだ制約論理プログラミングが起源である。1987年、Jaffer と Lassez がProlog IIにある種の制約を取り入れたのが最初であった。制約論理プログラミング言語の実装としては、Prolog III、CLP(R)、CHIP がある。今日でも GNU Prolog などの制約論理プログラミングのインタプリタが存在している。 論理プログラミング以外では、制約は関数型言語、項書き換え、命令型言語などと融合させることができる。関数プログラミングでの制約としては、マルチパラダイムプログラミング言語 Oz がある。制約を取り入れた命令型言語としては Kaleidscope がある。しかし、命令型言語での制約はツールキット的な形態でライブラリとして既存の言語向けに提供されている場合がほとんどである。.

新しい!!: Prologと制約プログラミング · 続きを見る »

制約論理プログラミング

制約論理プログラミング(せいやくろんりプログラミング、constraint logic programming)は制約プログラミングの一種で、制約という問題表現・解決の考え方を導入することによって論理プログラミングを拡張したプログラミングパラダイムである。論理プログラミングの持っている宣言的な表現力に制約の考え方を導入し、より一般化したものとも言うことができる。.

新しい!!: Prologと制約論理プログラミング · 続きを見る »

命題

命題(めいだい、proposition)とは、論理学において判断を言語で表したもので、真または偽という性質をもつもの。また数学で、真偽の判断の対象となる文章または式。定理または問題のこと。西周による訳語の一つ。 厳密な意味での命題の存在は、「意味」の存在と同様に、疑問を投げかける哲学者もいる。また、「意味」の概念が許容される場合にあっても、その本質は何であるかということにはなお議論のあるところである。古い文献では、語の集まりあるいはその語の集まりの表す「意味」という意味で命題という術語を用いているかどうかということが、つねに十分に明らかにされているわけではなかった。 現在では、論争や存在論的な含みを持つことを避けるため、ある解釈の下で(真か偽のいずれであるかという)真理の担い手となる記号列自体について述べる時は、「命題」という代わりに「文 (sentence)」という術語を用いる。ストローソンは「言明 ("statement")」 という術語を用いることを提唱した。.

新しい!!: Prologと命題 · 続きを見る »

命題論理

命題論理(propositional logic)とは、数理論理学(記号論理学)の基礎的な一部門であり、命題全体を1つの記号に置き換えて単純化し、論理演算を表す記号(論理記号・論理演算子)を用いて、その命題(記号)間の結合パターンを表現・研究・把握することを目的とした分野のこと。ブール論理はブール代数で形式化され2値の意味論を与えられた命題論理とみることができる。 命題を1つの記号で大まかに置き換える命題論理に対して、命題の述語(P)と主語(S)を、関数のF(x)のように別記号で表現し、更に量化子で主語(S)の数・量・範囲もいくらか表現し分けることを可能にした、すなわちより詳細に命題の内部構造を表現できるようにしたものを、述語論理と呼ぶ。.

新しい!!: Prologと命題論理 · 続きを見る »

インペリアル・カレッジ・ロンドン

インペリアル・カレッジ・ロンドン(英語: Imperial College London, ICL)は、ロンドンに本部を置くイギリスの公立研究大学である。1907年に設置され、主に理化学科目を中心とした大学である。元々はロンドン大学のカレッジの1つであったが、創立100周年にあたる2007年7月にロンドン大学から独立した。法的な正式名称はthe Imperial College of Science, Technology and Medicineであるが、2002年よりImperial College Londonという略称を対外的に使用している。一般的には"Imperial"として知られており、今日において英国を代表する理系に特化した大学である。 インペリアルカレッジは特に理系において世界トップレベルに位置付けられており、科目別では、材料工学が世界3位、医学が4位、情報工学が7位である。 総合では、Times Higher Education World University Rankings 2017で世界8位、QS World University Rankings 2017で世界8位に位置付けられている。さらに、15人のノーベル賞受賞者、2人のフィールズ賞受賞者、70人のRoyal Society のフェロー、82人のRoyal Academy of Engineeringのフェロー、78人のAcademy of Medical Sciencesのフェローを輩出している。 医学部、工学部、理学部からなる理系大学であり、学生数は学部生が約9000人、大学院生が約5300人である。この内約43%が留学生である。中国籍の留学生は13%にも及ぶ。.

新しい!!: Prologとインペリアル・カレッジ・ロンドン · 続きを見る »

ウェブアプリケーション

ウェブアプリケーション(Web application)は、インターネット(もしくはイントラネット)などのネットワークを介して使用するアプリケーションソフトウェアである。多くの場合、これらのアプリケーションは、Webブラウザ上で動作するプログラミング言語(たとえばJavaScript)によるプログラムとWebサーバ側のプログラムが協調することによって動作し、ユーザはそれをWebブラウザ上で使用する。 ウェブアプリケーションの一例としては、ウィキペディアなどで使われているウィキやブログ、電子掲示板、銀行のインターネットバンキング、証券会社のオンライントレード、電子商店街などネット販売のショッピングカートなどを挙げることができる。 ウェブアプリケーションに対して、ローカルのデスクトップ環境上で動作するアプリケーションは、デスクトップアプリケーションやスタンドアロンアプリケーションと呼ばれる。.

新しい!!: Prologとウェブアプリケーション · 続きを見る »

エルブランの定理

ルブランの定理(Herbrand's theorem)は1930年にジャック・エルブランが発表した数理論理学上の基本定理である 。 エルブランの定理は様々な表現方法があるが、単純には以下のように表現できる。 エルブランの定理は一階述語論理における任意の恒真な論理式の証明が有限回の機械的な操作で終わることを保証し、ほとんどの自動定理証明の理論的な基盤になっている。チューリングマシンの停止性問題と同様、一般的な述語論理式が証明可能かどうかを求めるアルゴリズムは存在しないが、エルブランの定理では一階述語論理を命題論理と結び付けることで、一階述語論理での証明可能性についての部分的な回答を与えている。 なお、エルブランの本来の証明は任意の一階述語論理式を対象としたものだがBuss, Samuel R., "On Herbrand's Theorem", in Maurice, Daniel; Leivant, Raphaël, Logic and Computational Complexity, Lecture Notes in Computer Science, Springer-Verlag, pp.

新しい!!: Prologとエルブランの定理 · 続きを見る »

エディンバラ大学

ンバラ大学(University of Edinburgh)は、1583年に設立された、英国で6番目に長い歴史を有する大学である(「Ancient University」の1つ)。キャンパスはスコットランドの首都エジンバラにあり、ユネスコの世界遺産に登録されている旧市街の多くの建物がエジンバラ大学の所有物である。スコットランドで4番目に古い大学であり、スコットランドにある最高学府のうち最高峰とされている。QS世界大学ランキング2019では世界18位、英国5位、スコットランド1位であり、世界トップクラスの研究大学とされている。スコットランドの大学としてラッセルグループに所属しているのは当大学とグラスゴー大学のみであり、ヨーロッパの大学の提携組織であるコインブラ・グループ、ヨーロッパ研究大学連盟 (LERU) に加盟していることも特徴である。また、アイビーリーグやU15など米国やカナダの高等教育機関とも歴史的に深いつながりがあり、現在まで学術交流を盛んに行っている。 エジンバラ大学は啓蒙時代に優れた人材が輩出し、エジンバラは北のアテネと呼ばれるまでになった。主な卒業生として、物理学者ジェームズ・クラーク・マクスウェル、哲学者デイヴィッド・ヒューム、数学者トーマス・ベイズ、第74代英国首相ゴードン・ブラウン、医学者ジョゼフ・リスター、小説家アーサー・コナン・ドイル、小説家ウォルター・スコット、発明家アレクサンダー・グラハム・ベル、タンザニア初代首相ジュリウス・ニエレレなどがいる。また、中退ではあるが自然科学者チャールズ・ダーウィンも通っていた。エディンバラ大学はこれまで21名のノーベル賞受賞者とアーベル賞受賞者を1名を出している。英国王室とのつながりも深く、これまでにエディンバラ公爵フィリップや アン王女が総長についている。また、2003年にはスコットランドの大学として初めてフェアトレード賞を受賞した。.

新しい!!: Prologとエディンバラ大学 · 続きを見る »

エキスパートシステム

パートシステム()は人工知能研究から生まれたコンピュータシステムで、人間の専門家(エキスパート)の意思決定能力をエミュレートするものである。専門家のように知識についての推論によって複雑な問題を解くよう設計されており、通常のプログラミングのようにソフトウェア開発者が設定した手続きに従うわけではない。1970年代に人工知能の研究者によって開発され、1980年代にわたって商業的に適用され、AIソフトウェアとして最初に成功を収めた形態である。日本語訳では専門家システムと言う場合もある。 エキスパートシステムは基本的に、特定の分野の問題についての情報を解析するルール群から構成されるプログラムであり、その情報はシステムの利用者が提供する。 問題の分析結果を提供するだけでなく、設計によっては利用者の行動を正しく導く指針を与えることもできる。通常のプログラムとは異なった独特の構造をしている。2つの部分で構成されており、1つはそのエキスパートシステムから独立している推論エンジンであり固定である。もう1つは知識ベースで、可変である。推論エンジンが知識ベースを使って推論を行う。80年代になると、利用者とやりとりするための対話インタフェースが第3の部分として登場した。利用者との会話によって知識ベースを構築することから、後に会話型 (en:Conversational Programming System) と呼ばれるようになった。 関連用語としてウィザードがある。エキスパートシステムのように、ウィザードもユーザが問題を解決するのを手助けする対話型コンピュータプログラムである。普通、ウィザードという用語は、ユーザにより入力された指針に従ってデータベースで検索するプログラムを指す。あいにく、これらの2つの定義の区別は確定したものではなくルールベースのプログラムの中にはウィザードと呼ばれるものもある。.

新しい!!: Prologとエキスパートシステム · 続きを見る »

エクス=マルセイユ大学

=マルセイユ大学(Université d'Aix-Marseille)は、2012年に創設された南フランスの公立大学。 (プロヴァンス大学)、(地中海大学)と(ポール・セザンヌ大学)の合併により設けられた。歴史的には、1409年、プロヴァンス伯でもあったルイ2世・ダンジューによって設立されたエックス大学に始まる。 現在、約7万人の学生を擁し、フランスおよびフランス語圏の最大大学であるとされる。キャンパスの大部分はマルセイユとエクス=アン=プロヴァンスにあるが、本部はマルセイユのファロ宮殿にある。.

新しい!!: Prologとエクス=マルセイユ大学 · 続きを見る »

オペレーティングシステム

ペレーティングシステム(Operating System、OS、オーエス)とは、コンピュータのオペレーション(操作・運用・運転)のために、ソフトウェアの中でも基本的、中核的位置づけのシステムソフトウェアである。通常、OSメーカーが組み上げたコンピュータプログラムの集合として、作成され提供されている。 オペレーティングシステムは通常、ユーザーやアプリケーションプログラムとハードウェアの中間に位置し、ユーザーやアプリケーションプログラムに対して標準的なインターフェースを提供すると同時に、ハードウェアなどの各リソースに対して効率的な管理を行う。現代のオペレーティングシステムの主な機能は、ファイルシステムなどの補助記憶装置管理、仮想記憶などのメモリ管理、マルチタスクなどのプロセス管理、更にはGUIなどのユーザインタフェース、TCP/IPなどのネットワーク、などがある。オペレーティングシステムは、パーソナルコンピュータからスーパーコンピュータまでの各種のコンピュータや、更にはスマートフォンやゲーム機などを含む各種の組み込みシステムで、内部的に使用されている。 製品としてのOSには、デスクトップ環境やウィンドウシステムなど、あるいはデータベース管理システム (DBMS) などのミドルウェア、ファイル管理ソフトウェアやエディタや各種設定ツールなどのユーティリティ、基本的なアプリケーションソフトウェア(ウェブブラウザや時計などのアクセサリ)が、マーケティング上の理由などから一緒に含められていることもある。 OSの中で、タスク管理やメモリ管理など特に中核的な機能の部分をカーネル、カーネル以外の部分(シェルなど)をユーザランドと呼ぶ事もある。 現代の主なOSには、Microsoft Windows、Windows Phone、IBM z/OS、Android、macOS(OS X)、iOS、Linux、FreeBSD などがある。.

新しい!!: Prologとオペレーティングシステム · 続きを見る »

ガベージコレクション

ベージコレクション(garbage collection; GC)とは、プログラムが動的に確保したメモリ領域のうち、不要になった領域を自動的に解放する機能である。「ガベージコレクション」を直訳すれば「ゴミ集め」「ごみ拾い」となる。1959年ごろ、LISPにおける問題を解決するためジョン・マッカーシーによって発明された。 メモリの断片化を解消する機能はコンパクションと呼ばれ、実現方法によってはガベージコレクションと共にコンパクションも行う仕組みになっている。そのためコンパクションを含めてガベージコレクションと呼ぶ場合もあるが、厳密には区別される。 また、ガベージコレクションを行う主体はガベージコレクタと呼ばれる。ガベージコレクタはタスクやスレッドとして実装される場合が多い。 参照カウント方式のガベージコレクションは通常煩雑なコーディングを必要とするが、それを必要なく実装したライブラリとしがある。.

新しい!!: Prologとガベージコレクション · 続きを見る »

ギルモアのアルゴリズム

ルモアのアルゴリズム(Gilmore's algorithm)は、エルブランの定理にもとづき一階述語論理式が充足不能(unsatisfiable)かどうかを調べる半アルゴリズム(semi-algorithm)である。ギルモアのアルゴリズムは1960年に発表された。 P. Gilmore.

新しい!!: Prologとギルモアのアルゴリズム · 続きを見る »

クロスプラットフォーム

プラットフォーム(cross-platform)とは、異なるプラットフォーム(例えばPC/AT互換機とMacintosh、あるいはWindows・macOS・FreeBSD・Linuxなどのように、仕様が全く異なる機械(ハードウェア)またはオペレーティングシステム)上で、同じ仕様のものを動かすことが出来るプログラム(ソフトウェア)のことを言う。同様の呼称にマルチプラットフォームがある。 また、家庭用ゲームにおいては「クロスプラットフォーム」と「マルチプラットフォーム」で意味が異なる場合がある。本項ではこのケースについても後述する。.

新しい!!: Prologとクロスプラットフォーム · 続きを見る »

クイックソート

イックソート (quicksort) は、1960年にアントニー・ホーアが開発したソートのアルゴリズム。分割統治法の一種。 n個のデータをソートする際の最良計算量および平均計算量はO(n\log n)である。他のソート法と比べて、一般的に最も高速だといわれているが対象のデータの並びやデータの数によっては必ずしも速いわけではなく、最悪の計算量はO(n^2)である。また数々の変種がある。 安定ソートではない。.

新しい!!: Prologとクイックソート · 続きを見る »

ジャック・エルブラン

ャック・エルブラン (Jacques Herbrand、1908年2月12日 - 1931年7月27日)はパリ生まれのフランスの数学者である。数理論理学と類体論に業績がある。再帰関数を導入した。エルブランの定理と呼ばれているものは、まったく別の2つの定理を指していう。ひとつは彼が博士論文として書いた証明論についてのものであり、もうひとつはエルブラン・リベットの定理と呼ばれているものである。エルブラン商とはホモロジー代数におけるオイラー標数の一種。彼はまたヒルベルトプログラムにも貢献した(弱い算術系における無矛盾性の証明)。.

新しい!!: Prologとジャック・エルブラン · 続きを見る »

ソフトバンク

フトバンク株式会社(英文社名:SoftBank Corp.)は、ソフトバンクグループ傘下の株式会社で、日本で携帯電話などの無線通信サービス(移動体通信事業者)および長距離・国際通信を提供する日本の大手電気通信事業者。2015年7月1日にソフトバンクモバイル株式会社から社名変更した。 ソフトバンクが展開するSoftBankブランドの携帯電話についてはSoftBank (携帯電話)、当社との協業によるMVNO(仮想移動体通信事業者)や当社が吸収合併した事業者から継承した他ブランド(PHS事業を含む)などについては、それぞれ別記事で扱う。.

新しい!!: Prologとソフトバンク · 続きを見る »

サザエさん

東京都世田谷区、桜新町駅前に設置されているサザエさん一家の銅像(フグ田サザエ・フグ田タラオ) 東京都世田谷区、桜新町駅前に設置されているサザエさん一家(フグ田家)の銅像(フグ田サザエ・フグ田タラオ・フグ田マスオ) 『サザエさん』は、長谷川町子による日本の漫画、およびそれを原作とするテレビアニメ。また、その主人公である「フグ田サザエ」の呼び名である。.

新しい!!: Prologとサザエさん · 続きを見る »

再帰

再帰(さいき)は、あるものについて記述する際に、記述しているものそれ自身への参照が、その記述中にあらわれることをいう。定義において、再帰があらわれているものを再帰的定義という。 主に英語のrecursionとその派生語の訳にあてられる。他にrecurrenceの訳(回帰#物理学及び再帰性を参照のこと)や、reflexiveの訳として「再帰」が使われることがある。数学的帰納法との原理的な共通性から、recursionの訳として数学では「帰納」を使うことがある。.

新しい!!: Prologと再帰 · 続きを見る »

共通言語基盤

共通言語基盤(きょうつうげんごきばん、Common Language Infrastructure、略称: CLI)は、.NET Frameworkの基幹を構成する実行コードや実行環境などについてマイクロソフトが策定した仕様である。仕様は、ECMA-335 および ISO/IEC 23271 として標準化され公開されている。CLIは、プログラミング言語やコンピュータ・アーキテクチャに依存しない環境を定義しており、様々な高水準言語で書いたソースコードが書き直すことなく他のプラットフォームでも使える。 共通言語ランタイム (CLR) はCLIの仕様を実装したものの一つである。CLIに適合するプログラムは全て共通中間言語 (CIL) へコンパイルされる。CILは、ハードウェアから抽象化された中間言語であり、実行時にはVESが機械語へコンパイルする。;概念.

新しい!!: Prologと共通言語基盤 · 続きを見る »

動的型付け

動的型付け(どうてきかたづけ、dynamic typing)とは、プログラミング言語で書かれたプログラムにおいて、変数や、サブルーチンの引数や返り値などの値について、その型を、コンパイル時などそのプログラムの実行よりも前にあらかじめ決めるということをせず、実行時の実際の値による、という型システムの性質のことである。 また、そのような性質の言語を、動的型付き言語(どうてきかたつきげんご、dynamically typed language)という。これに対し、型は実行前に決まる、というのが静的型付けである。型推論を利用していて、構文上は型の記述が省略可能な言語もあるが、そういった言語も静的型付けである(MLなど)。 静的型付けは、.

新しい!!: Prologと動的型付け · 続きを見る »

動的計画法

動的計画法(どうてきけいかくほう、Dynamic Programming, DP)は、計算機科学の分野において、アルゴリズムの分類の1つである。対象となる問題を複数の部分問題に分割し、部分問題の計算結果を記録しながら解いていく手法を総称してこう呼ぶ。.

新しい!!: Prologと動的計画法 · 続きを見る »

C Sharp

C#(シーシャープ)は、アンダース・ヘルスバーグが設計(デザイン)したプログラミング言語であり、構文(syntax)は(名前にもある通り)C言語や、C言語風に構文が設計されたC++やJavaなどの影響があるが、構文以外についてはヘルスバーグが以前の所属であるBorlandで設計したDelphiからの影響がある。 Microsoftによる謳い文句としては、マルチパラダイムプログラミング言語、強い型付け、命令型、宣言型、手続き型、関数型、ジェネリック、オブジェクト指向の要素を持つ、などといった点が強調されている。 CLIといった周辺も含め、Microsoftのフレームワーク「.NET Framework」の一部である他、VJ++で「非互換なJava」をJavaに持ち込もうとしたような以前のMicrosoftとは異なり、その多くの仕様を積極的に公開し標準化機構に託して自由な利用を許す(ECMA-334、ISO/IEC 23270:2003、JIS X 3015)など、同社の姿勢の変化があらわれている一面でもある(実際に「Mono」という、フリーソフトウェアの定義に合致したライセンスの、コミュニティによる実装がある)。.

新しい!!: PrologとC Sharp · 続きを見る »

C言語

C言語(シーげんご)は、1972年にAT&Tベル研究所のデニス・リッチーが主体となって開発したプログラミング言語である。英語圏では単に C と呼んでおり、日本でも文書や文脈によっては同様に C と呼ぶことがある。.

新しい!!: PrologとC言語 · 続きを見る »

Concurrent Prolog

Concurrent Prologは、1983年に発表された並行論理プログラミング言語である。イスラエルWeizmann研究所のEhud Shapiroにより設計された。それ以前に開発されたRelational Languageをより単純化し、制限を緩めた言語で、その後の並行論理プログラミング言語に大きな影響を与えた。また、並行論理プログラミングでの様々なプログラミング手法がConcurrent Prolog上で開発された。.

新しい!!: PrologとConcurrent Prolog · 続きを見る »

Constraint Handling Rules

Constraint Handling Rules(CHR)は1991年にThom Frühwirthが発表した、ユーザ定義の制約が書けるように設計された宣言型プログラミング言語である 。 多重集合の書き換え規則に基づく制約処理モデルを特徴とし、ルールにより制約をより単純な制約に書き換えることで、様々な制約下での解を求める。CHRはチューリング完全だが、 独立した言語としてではなく既存言語の拡張機能として、主にPrologなどのホスト言語上に実装されたライブラリとして提供される。 CHRの典型的な応用分野はアブダクションなどの推論サービス、マルチエージェントシステム、自然言語処理、スケジューリング、型システム、ソフトウェアのテストと診断、セマンティックウェブなどである。.

新しい!!: PrologとConstraint Handling Rules · 続きを見る »

第五世代コンピュータ

五世代コンピュータ(だいごせだい-)とは、通商産業省(現経済産業省)が1982年に立ち上げた国家プロジェクトの開発目標である。570億円を費やし、1992年に終結した。.

新しい!!: Prologと第五世代コンピュータ · 続きを見る »

糖衣構文

糖衣構文(とういこうぶん、)は、プログラミング言語において、読み書きのしやすさのために導入される書き方であり、複雑でわかりにくい書き方と全く同じ意味になるものを、よりシンプルでわかりやすい書き方で書くことができるもののことである。構文上の書換えとして定義できるものであるとも言える。 の直訳に近い構文糖(こうぶんとう)とも言い、糖衣構文あるいは構文糖衣とするのは少々意訳的だがよく言われている。.

新しい!!: Prologと糖衣構文 · 続きを見る »

終端記号と非終端記号

終端記号(しゅうたんきごう、Terminal symbol)と非終端記号(ひしゅうたんきごう、Nonterminal symbol)は、句構造規則の生成規則中にあらわれる記号類の分類である。規則群のうちの、どれかの規則の左辺にあらわれている記号、すなわち、他の記号列と置換できるものとして定義されている記号が非終端記号で、ある種の変数名のようなものとも言える。それに対し、右辺の記号列中のみにあらわれる、いわゆる「アルファベット」の1文字から成る記号が終端記号である。実用上は(プログラミング言語などでは)終端記号は文字そのものではなく、英語などにおける「単語」に相当する「トークン」と呼ばれるもの(「字句」の記事、および字句解析#トークンなどを参照)であることも多い。.

新しい!!: Prologと終端記号と非終端記号 · 続きを見る »

産業技術総合研究所

国立研究開発法人産業技術総合研究所(さんぎょうぎじゅつそうごうけんきゅうしょ、英語表記:National Institute of Advanced Industrial Science and Technology、略:AIST)は、日本の独立行政法人である国立研究開発法人の一つで、公的研究機関。略称は産総研(さんそうけん)。.

新しい!!: Prologと産業技術総合研究所 · 続きを見る »

Erlang

Erlang(アーラン)は、コンピュータにおいて汎用的な用途に使うことができる並行処理指向のプログラミング言語および実行環境。.

新しい!!: PrologとErlang · 続きを見る »

ESP

ESP.

新しい!!: PrologとESP · 続きを見る »

非単調論理

非単調論理(ひたんちょうろんり、英: Non-monotonic logic)とは、帰結関係が単調でない論理を意味する。多くの形式論理は単調な帰結関係であり、理論に論理式を追加しても帰結は還元されない。直観的に言えば、単調性とは新たな知識の学習によって既に存在する知識が減ることがないことを意味する。デフォルトによる推論、アブダクション、知識に関する推論、信念更新などの推論は、単調論理では行えない。.

新しい!!: Prologと非単調論理 · 続きを見る »

非手続き型言語

非手続き型言語(ひてつづきがたげんご、non-procedual language)とは、コンピュータのプログラミング言語の分類のひとつであり、手続き型言語の対義語にあたる。手続き型言語に対するアンチテーゼとして非手続き型という分類が生まれた。宣言型言語 (Declarative language)と同義に扱われることが多い。 高級言語の一種であり、手続き型言語が問題の解法 ("how")を記述しようとするのに対し、非手続き型言語はむしろ問題そのもの ("what")を記述することに力点を置く。 例としては.

新しい!!: Prologと非手続き型言語 · 続きを見る »

高階述語論理

階述語論理(こうかいじゅつごろんり、Higher-order logic)は、一階述語論理と様々な意味で対比される用語である。 例えば、その違いは量化される変項の種類にも現われている。一階述語論理では、大まかに言えば述語に対する量化ができない。述語を量化できる論理体系については二階述語論理に詳しい。 その他の違いとして、基盤となる型理論で許されている型構築の違いがある。高階述語(higher-order predicate)とは、引数として1つ以上の別の述語をとることができる述語である。一般に n 階の高階述語の引数は1つ以上の (n − 1) 階の述語である(ここで n > 1)。同じことは高階関数(higher-order function)にも言える。 高階述語論理は表現能力が高いが、その特性、特にモデル理論に関わる部分では、多くの応用について性格が良いとは言えない。クルト・ゲーデルの業績により、古典的高階述語論理は(帰納的に公理化された)健全で完全な証明計算が認められないとされた。しかし、Henkin model によれば、健全で完全な証明計算は存在する。 高階述語論理の例として、アロンゾ・チャーチの Simple Theory of Types や Calculus of Constructions (CoC) がある。.

新しい!!: Prologと高階述語論理 · 続きを見る »

論理式

論理式.

新しい!!: Prologと論理式 · 続きを見る »

論理プログラミング

論理プログラミング(Logic Programming)とは、広い意味では、コンピュータプログラミングでの数理論理学の使用である。この観点での論理プログラミングは、ジョン・マッカーシーのadvice takerの提案にまでさかのぼることができる。 より一般的に受け入られている狭い意味での論理プログラミングは、述語論理式を非決定的なプログラミング言語とみなすもので、述語論理式は宣言的であると同時に手続き的にも解釈される。 論理をベースにしたプログラミング言語として1971年に Planner のサブセットである Micro-Planner が開発された。表明とゴールからパターンによる手続き的計画を呼び出す機能を備えていたが、十分に形式化されていなかった。Plannerと独立してより論理を重視した Prolog が開発され、コワルスキーにより述語論理式(ホーン節)のプログラム的解釈の考え方と結び付き、論理プログラミングの基本的な考え方が確立した。 Planner からの派生で、プログラミング言語 Poplerが開発された。Prolog からの派生言語としては、Mercury、Visual Prolog、Oz、Fril などがある。バックトラッキングを使用しない並行論理プログラミング言語としてProlog からの派生したConcurrent Prolog、PARLOG、GHC、KL1などの各種言語(Shapiro に調査結果がある)がある。.

新しい!!: Prologと論理プログラミング · 続きを見る »

論理積

数理論理学において論理積(ろんりせき、logical conjunction)とは、与えられた複数の命題のいずれもが例外なく真であることを示す論理演算である。合接(ごうせつ)、連言(れんげん、れんごん)とも呼び、ANDとよく表す。 二つの命題 P, Q に対する論理積を P ∧ Q と書き、「P かつ Q」や「P そして Q」などと読む。 ベン図による論理積P \wedge Q の表.

新しい!!: Prologと論理積 · 続きを見る »

述語論理

述語論理(じゅつごろんり、)とは、数理論理学における記号的形式体系群を指す用語で、一階述語論理、二階述語論理、、無限論理などが含まれる。これらの形式体系の特徴は、論理式に含まれる変数を量化できる点である。一般的な量化子として、存在量化子 ∃ と全称量化子 ∀ がある。変数は議論領域の要素、関係、関数などである。例えば、関数記号に対する存在量化は「ある関数が存在する」という修飾として解釈される。述語論理の基礎は、ゴットロープ・フレーゲとチャールズ・サンダース・パースがそれぞれ独自に生み出し発展させた。 述語論理と言った場合、一階述語論理を指すこともある。述語論理の公理化された形態を述語計算 (predicate calculus) と呼び、述語論理は非形式的でより直観的なものとする見方もある。 様相作用素と量化子を併用する論理も述語論理の一種とされる。これについては様相論理を参照。.

新しい!!: Prologと述語論理 · 続きを見る »

関係データベース

関係データベース(かんけいデータベース、リレーショナルデータベース、英: relational database)は関係モデル(リレーショナルデータモデル、後述)にもとづいて設計、開発されるデータベースである。関係データベースを管理するデータベース管理システム (DBMS) を関係データベース管理システム (RDBMS) と呼ぶ。 Oracle Database、Microsoft SQL Server、MySQL、PostgreSQL、DB2、FileMaker、H2 Database などがRDBMSである関係データベースに含まれないデータベースは、NoSQL などを参照。 。.

新しい!!: Prologと関係データベース · 続きを見る »

自動定理証明

アルゴンヌ国立研究所は1960年代以降2000年代まで、自動定理証明のリーダーだった。 自動定理証明(automated theorem proving, ATP)とは、自動推論 (AR) の中でも最も成功している分野であり、コンピュータプログラムによって数学的定理に対する証明を発見すること。ベースとなる論理によって、定理の妥当性を決定する問題は簡単なものから不可能なものまで様々である。.

新しい!!: Prologと自動定理証明 · 続きを見る »

集合

数学における集合 (しゅうごう、set, ensemble, Menge) とは、大雑把に言えばいくつかの「もの」からなる「集まり」である。集合を構成する個々の「もの」のことを元 (げん、; 要素) という。 集合は、集合論のみならず現代数学全体における最も基本的な概念の一つであり、現代数学のほとんどが集合と写像の言葉で書かれていると言ってよい。 慣例的に、ある種の集合が系 (けい、) や族 (ぞく、) などと呼ばれることもある。実際には、これらの呼び名に本質的な違いはないが細かなニュアンスの違いを含むと考えられている。たとえば、方程式系(「相互に連立する」方程式の集合)、集合族(「一定の規則に基づく」集合の集合)、加法族(「加法的な性質を持つ」集合族)など。.

新しい!!: Prologと集合 · 続きを見る »

Guarded Horn Clauses

Guarded Horn Clauses (GHC)は、1984年末に設計され1985年に発表された並行論理プログラミング言語である。第五世代コンピュータプロジェクトで並列マシンの核言語の検討をしていた上田和紀により設計された。核言語の候補だったConcurrent Prologを分析する過程で問題点を見付け、それを解決するさらに単純化した言語として設計した。 GHCのバリエーションであるFlat GHCを基に、近山 隆によりKL1 (Kernel Language One) が設計され、第五世代コンピュータプロジェクトでハードウェアと応用ソフトウェアとの間を繋ぐ核言語として、並列マシンのオペレーティングシステムやKL1を含む様々な言語処理系、各種応用プログラムの作成に利用された。.

新しい!!: PrologとGuarded Horn Clauses · 続きを見る »

IBM

IBM(アイビーエム、正式社名: International Business Machines Corporation)は、民間法人や公的機関を対象とするコンピュータ関連製品およびサービスを提供する企業である。本社はアメリカ合衆国ニューヨーク州アーモンクに所在する。世界170カ国以上で事業を展開している。.

新しい!!: PrologとIBM · 続きを見る »

Java

Java(ジャバ)は、狭義ではプログラミング言語Javaを指す。広義では言語仕様以外にも、仕様が与えられているJavaクラスライブラリやJava仮想マシン、さらにはJDKやJREなどの公式のものをはじめとする、場合によってはサードパーティのものなどを含め曖昧にJavaプラットフォームと総称されるようなものなどのエコシステムなどを指すこともある。構文についてはJavaの文法の記事を参照。.

新しい!!: PrologとJava · 続きを見る »

KL1

KL1 (Kernel Language One) は、Guarded Horn Clauses (GHC) を基に設計された言語で、並行・並列処理に向いた並行論理プログラミング言語である。第五世代コンピュータプロジェクトでハードウェアと応用ソフトウェアとの間をつなぐ共通核言語として近山 隆により設計され、並列マシンのオペレーティングシステムPIMOSやKL1を含む様々な言語処理系、各種応用プログラムの作成に利用された近山 隆, オペレーティングシステムPIMOSと核言語KL1。 KL1 は第五世代コンピュータプロジェクトで並列マシン PIM 上の処理系として開発された。UNIX上での処理系として KLIC がある。.

新しい!!: PrologとKL1 · 続きを見る »

LISP

LISPは、プログラミング言語である。 によって記述される。-->前置記法などが特徴である。 1958年にはじめて設計されたLISPは、現在広範囲に使用されている高水準プログラミング言語の中でもFORTRANに次いで2番目に古い。ただし、FORTRANと同様に、現在のLISPは初期のものから非常に大きく変化している。 これまでに多数の方言が存在してきたが、今日最も広く知られるLISP方言は、Common LispとSchemeである。 元々、LISPは、アロンゾ・チャーチのラムダ計算表記法に影響を受け、コンピュータープログラムのための実用的かつ数学的な表記法として作られた。そして、すぐに人工知能研究に好まれるプログラミング言語になった。最初期のプログラミング言語として、LISPは計算機科学にて、木構造、ガベージコレクション、動的型付け、条件分岐、高階関数、再帰、セルフホスティング、コンパイラを含む多くのアイディアを切り開いた。 LISPの名前は、「list processor」に由来している。リストはLISPの主要なデータ構造であり、LISPソースコードはそれ自体がリストからできている。その結果、LISPプログラムはソースコードをデータとして操作することができ、プログラマーは、マクロ・システムで新しい構文やLISP埋め込みの新しいDSLを作成できる。 コードとデータの互換性は、LISPにそのすぐに認識できる構文を与える。すべてのプログラム・コードはS式または入れ子のリストとして書かれる。関数呼び出しまたは構文は先頭が関数または演算子の名前で、その続きが引数であるリストとして書かれる。具体的には、3つの引数を取る関数fは、(f arg1 arg2 arg3)として呼び出される。.

新しい!!: PrologとLISP · 続きを見る »

Mac OS

Mac OSは、アップルが開発・販売する、Macintoshのオペレーティングシステムである。.

新しい!!: PrologとMac OS · 続きを見る »

Microsoft Windows

Microsoft Windows(マイクロソフト ウィンドウズ)は、マイクロソフトが開発・販売するオペレーティングシステム (OS) の製品群。グラフィカルユーザインタフェース (GUI)を採用している。.

新しい!!: PrologとMicrosoft Windows · 続きを見る »

Oz (プログラミング言語)

Oz は、ザールランド大学 Programming Systems Lab で開発されたマルチパラダイム型プログラミング言語である。.

新しい!!: PrologとOz (プログラミング言語) · 続きを見る »

PARLOG

PARLOG (PARallel LOGic) は、Concurrent Prologに影響を受けたKeith ClarkとSteve Gregoryにより設計された並行論理プログラミング言語である。複雑なRelational Languageの仕様を整理した後継言語として提案された。1983年に最初のバージョンが発表され、その後1986年に改良版が発表された。言語の特性や細かいシンタックスはそれぞれ異なる。.

新しい!!: PrologとPARLOG · 続きを見る »

Planner

Planner("PLANNER"とも表記される)は、1969年にMITのカール・ヒューイットが設計したプログラミング言語。当初、サブセットの Micro-Planner や Pico-Planner が実装され、後に完全実装として Popler が登場。その後、派生言語として QA-4、Conniver、QLISP、Ether などが実装され、1970年代の人工知能研究の道具として重要な役割を果たし、商用の KEE や ART の開発にも影響を与えた。 当時マービン・ミンスキー、シーモア・パパート、Mike Peterson の学生だったヒューイットは、「知識の手続き的埋め込み」論者であり、高レベルの手続き的計画によるアプローチを信奉していた。当時、ジョン・マッカーシーらは人工知能(AI)のための知識表現として数理論理学を用いた宣言的かつ論理的アプローチを信奉しており、両者は対立関係にあった。このことは次のような基本的な疑問を生み出した。「手続き的アプローチと論理的アプローチの違いは何か?」である。これに答えが出せるようになるまで数年を要した。.

新しい!!: PrologとPlanner · 続きを見る »

SQL

SQL(エスキューエルよりデジタル大辞泉、IT用語がわかる辞典を参照、シークェル、シーケルよりDBM用語辞典を参照)は、関係データベース管理システム (RDBMS) において、データの操作や定義を行うためのデータベース言語(問い合わせ言語)、ドメイン固有言語である。エドガー・F・コッドによって考案された関係データベースの関係モデルにおける演算体系である、関係代数と関係論理(関係計算)にある程度基づいている。 データベース言語の国際標準としてのSQLは何かの略語ではない。 SQLは、シークェル と読まれることもある。これは、SQLの元となったデータベース言語が、IBMが開発したRDBMSの実験実装であるSystem Rの操作言語「SEQUEL (Structured English Query Language)」であったことが由来である。 SQLに対しては、関係代数と関係論理に忠実に準拠していないとして批判する意見がある(The Third Manifesto - クリス・デイト、ヒュー・ダーウェン)。.

新しい!!: PrologとSQL · 続きを見る »

Squeak

Squeak(スクイーク)はSmalltalk環境のひとつで、ゼロックスが1980年当時の主要コンピュータメーカー(IBM、DEC、ヒューレット・パッカード、アップルコンピュータ、Tektronix)にライセンス供与したSmalltalk-80の販売直前バージョン (v1) をベースに、アップルが自社のLisaおよびMacintosh用に開発したApple Smalltalkから派生したものである。なお、同環境に組み込まれた(Squeak Smalltalkで記述・構築されている)タイルスクリプティング言語・開発環境のSqueak Etoysも略して「Squeak」と呼称され混同されることが多いが、両者(Squeak SmalltalkとSqueak Etoys)はプログラミング言語およびその処理系としてはまったくの別物である。.

新しい!!: PrologとSqueak · 続きを見る »

Strand

Strandは、1989年に発表された商用ベースの並行論理プログラミング言語である。Ian FosterとStephen Taylorにより設計された。開発はArtificial Intelligence Limitedで行われ、1989年のBritish Computer Society Awardを受賞した。販売はStrand Software Technologies Inc.から行われた。この言語はErlang開発初期にベース言語としても使われた。.

新しい!!: PrologとStrand · 続きを見る »

Unicode

200px Unicode(ユニコード)は、符号化文字集合や文字符号化方式などを定めた、文字コードの業界規格である。文字集合(文字セット)が単一の大規模文字セットであること(「Uni」という名はそれに由来する)などが特徴である。 1980年代に、Starワークステーションの日本語化 (J-Star) などを行ったゼロックス社が提唱し、マイクロソフト、アップル、IBM、サン・マイクロシステムズ、ヒューレット・パッカード、ジャストシステムなどが参加するユニコードコンソーシアムにより作られた。1993年に、国際標準との一致が図られ、DIS 10646の当初案から大幅に変更されて、Unicodeと概ね相違点のいくつかはDIS 10646に由来する互換のISO/IEC 10646が制定された。.

新しい!!: PrologとUnicode · 続きを見る »

抽象構文木

抽象構文木(abstract syntax tree、AST)とは、通常の構文木(具象構文木あるいは解析木とも言う)から、言語の意味に関係ない情報を取り除き、意味に関係ある情報のみを取り出した(抽象した)木構造のデータ構造である。 理論的には、有限なラベル付き有向木であり、分岐点に演算子、葉にそのオペランドを対応させたものである。つまり、葉は変数や定数に対応する。 抽象構文木は構文解析で構文木とデータ構造の中間的なものとして使用される。さらにコンパイラやインタプリタなど(プログラミング言語処理系)でのプログラムの中間表現として使われ、コンパイラ最適化やコード生成はその上で行われる。抽象構文木のとりうる構造は抽象構文で記述されている。 抽象構文木は(具象)構文木とは異なり、プログラムの意味に関係ない部分を省略する。そのような省略の例としては括弧の省略があげられる。抽象構文木では、オペランドのグループ化が自明な木構造とするのが普通であり、グループ化のための括弧などは意味的に不要である。 大多数のプログラミング言語のような文脈自由言語の構文解析で抽象構文木を作るのは簡単である。構文規則ごとに新たな節点を作成し、葉はその規則における記号に対応する。グループ化規則のような抽象構文木に関わらない規則は無視される。そのようにいきなり抽象構文木を生成することもあるし、完全な具象構文木を作り、その後そこから冗長な部分(プログラムの意味に関係しない部分)を除いて抽象構文木に変換することもある。 理論的な観点からは、たとえばソースコード上の位置(何行目の何カラム目など)といった具象の情報は言語処理系には不要であり、抽象構文木には無くてもよいのだが、実践的には、エラーを見つけた時にプログラマに親切なエラーメッセージを出力するためなど、重要な情報であり、時には処理系のフロントエンドではなくバックエンドでも必要なこともある。.

新しい!!: Prologと抽象構文木 · 続きを見る »

構文解析

構文解析(こうぶんかいせき、syntactic analysis あるいは parse)とは、文章、具体的にはマークアップなどの注記の入っていないベタの文字列を、自然言語であれば形態素に切分け、さらにその間の関連(修飾-被修飾など)といったような、統語論的(構文論的)な関係を図式化するなどして明確にする(解析する)手続きである。自然言語については自然言語処理における要点のひとつであり、プログラミング言語など形式言語の場合は、形式文法に従い構文木を得る。構文解析を行う機構を構文解析器(parser)と呼ぶ。.

新しい!!: Prologと構文解析 · 続きを見る »

正規表現

正規表現(せいきひょうげん、regular expression)とは、文字列の集合を一つの文字列で表現する方法の一つである。正則表現(せいそくひょうげん)とも呼ばれ、形式言語理論の分野では比較的こちらの訳語の方が使われる。まれに正規式と呼ばれることもある。 もともと正規表現は形式言語理論において正規言語を表すための手段として導入された。形式言語理論では、形式言語が正規言語であることと正規表現によって表せることは同値である。 その後正規表現はテキストエディタ、ワードプロセッサなどのアプリケーションで(ないし、そもそもそれ以前に単機能の文字列探索ツールの)、マッチさせるべき対象を表すために使用されるようになり、表せるパターンの種類を増やすために本来の正規表現にはないさまざまな記法が新たに付け加えられた。このような拡張された正規表現には正規言語ではない文字列も表せるものも多く、ゆえに正規表現という名前は実態に即していない面もあるが、伝統的に正規表現と呼ばれ続けている。 この記事では主にこのような正規表現を用いたパターンマッチングについて説明している。以下、誤解のない限り、アプリケーションやプログラミングにおいて正規表現を用いた文字列のパターンマッチングを行う機能のことを、単に正規表現という。 ほとんどのプログラミング言語では、ライブラリによって正規表現を使うことができる他、一部の言語では正規表現のリテラルもある。「正規表現によるマッチ」を意味する(専用の)演算子がある言語なども一部ある。具体例として、grep、AWK、sed、Perl、Tcl、lexなどがある。 それぞれの言語やアプリケーションで細部の仕様が異なっている、といったように思われることも多いが(また、古い実装では実際にそういうことも多いが)、近年は同じライブラリを使っていれば同じということも多い。またPOSIXなど標準もある。.

新しい!!: Prologと正規表現 · 続きを見る »

深さ優先探索

深さ優先探索のイメージ 深さ優先探索(ふかさゆうせんたんさく、depth-first search, DFS、バックトラック法ともいう)は、木やグラフを探索するためのアルゴリズムである。アルゴリズムは根から(グラフの場合はどのノードを根にするか決定する)始まり、バックトラックするまで可能な限り探索を行う。「縦型探索」とも呼ばれる。.

新しい!!: Prologと深さ優先探索 · 続きを見る »

漫画作品一覧

漫画作品一覧(まんがさくひんいちらん)では、世界の漫画作品を列挙する。Wikipedia内に記事があるものを中心とする。 50音順だが、非英語圏の漫画もあるためアルファベット順にしていない。.

新しい!!: Prologと漫画作品一覧 · 続きを見る »

演算子

演算子(えんざんし、operator symbol, operator name)は、数式やコンピュータプログラミング言語などで、各種の演算を表わす記号・シンボルである。普通は、演算子は単なる記号ないし記号列であって構文論的なものであり、それに対応する演算は意味論の側にある。たとえばJavaにおいて、演算子 + を使った a + b という式は、構文論上は単にそういう式だというだけである。意味論的には数値の加算であったり、文字列の連結であったりするが、それは a と b の型に依って決まる(理論的には項書き換えのように、構文論的に意味論も与えられた演算子といったものもある)。 演算が作用する対象のことを被演算子(operand; オペランド、被演算数、引数)という。たとえば、n と 3 との和を表す式 "n + 3" において、"+" は演算子であり、その被演算子は "n" と "3" である。また、数式として一般的な被演算子と被演算子の間に演算子を記述する構文は中置記法と呼ばれる。 数学的には、基本的には、関数(単項演算子では1引数の関数、2項演算子は2引数の関数)をあらわすある種の糖衣構文のようなものに過ぎない。しかし、汎函数計算など、演算子を操作するような手法もある。.

新しい!!: Prologと演算子 · 続きを見る »

演繹

演繹(えんえき、)は、一般的・普遍的な前提から、より個別的・特殊的な結論を得る論理的推論の方法である。 帰納に於ける前提と結論の導出関係が「蓋然的」に正しいとされるのみであるのに対し、演繹の導出関係は、その前提を認めるなら、「絶対的」「必然的」に正しい。したがって理論上は、前提が間違っていたり適切でない前提が用いられたりした場合には、誤った結論が導き出されることになる。近代では、演繹法とは記号論理学によって記述できる論法の事を指す。.

新しい!!: Prologと演繹 · 続きを見る »

末尾再帰

末尾再帰(まつびさいき)とは、再帰的な関数やプロシージャにおいて、自身の再帰呼び出しが、その計算における最後のステップになっているような再帰のパターンのことである。再帰にかかわらず一般に、そのような最後の呼び出しを末尾呼び出し (:en:Tail call)という。呼び出しではなく、戻り先を保存しないジャンプに最適化できるという特徴がある(#末尾呼出し最適化)。.

新しい!!: Prologと末尾再帰 · 続きを見る »

新世代コンピュータ技術開発機構

新世代コンピュータ技術開発機構(しんせだいこんぴゅーたぎじゅつかいはつきこう、英称:Institute for New Generation Computer Technology、略称:ICOT)は、かつて第五世代コンピュータの開発を目的として設立された通商産業省所管の財団法人だった。 新世代コンピュータ技術開発機構は、従来のノイマン型コンピュータでは対応が困難であるとされた用途にも対応できる高度の人工知能の開発を目的として設立された。 1980年代初頭に第五世代コンピュータの計画が発表されると国内外から官民問わず若手の研究者が集まった。 開発現場では自由にアイディアを出したり議論する環境だったという。このプロジェクトの後、コンピュータ業界では以前にも増して知的財産権の権利の主張が高まり、直接的な営利を目的としない開発は下火になった。 現在、情報工学の分野で要職に就いている者にはこの機構での経歴を持つ者が多い。.

新しい!!: Prologと新世代コンピュータ技術開発機構 · 続きを見る »

文脈自由文法

文脈自由文法(ぶんみゃくじゆうぶんぽう、Context-free Grammar、CFG)は、形式言語の理論(特に、生成文法)において全生成規則が以下のようである形式文法である。 ここで V は非終端記号であり、w は終端記号と非終端記号の(0個を含む)任意個の並びである。「文脈自由」という用語は前後関係に依存せずに非終端記号 V を w に置換できる、という所から来ている(「文脈無用」という訳の提案もある)。文脈自由文法によって生成される形式言語を文脈自由言語という。.

新しい!!: Prologと文脈自由文法 · 続きを見る »

数理論理学

数理論理学(mathematische Logik、mathematical logic)は、論理学(形式論理学)の数学への応用の探求ないしは論理学の数学的な解析を主たる目的とする、数学の関連分野である。局所的には数理論理学は超数学、数学基礎論、理論計算機科学などと密接に関係している。数理論理学の共通な課題としては形式体系の表現力や形式証明系の演繹の能力の研究が含まれる。 数理論理学はしばしば集合論、モデル理論、再帰理論、証明論の4つの領域に分類される。これらの領域はロジックのとくに一階述語論理や定義可能性に関する結果を共有している。計算機科学(とくに)における数理論理学の役割の詳細はこの記事には含まれていない。詳細はを参照。 この分野が始まって以来、数理論理学は数学基礎論の研究に貢献し、また逆に動機付けられてきた。数学基礎論は幾何学、算術、解析学に対する公理的な枠組みの開発とともに19世紀末に始まった。20世紀初頭、数学基礎論は、ヒルベルトのプログラムによって、数学の基礎理論の無矛盾性を証明するものとして形成された。クルト・ゲーデルとゲルハルト・ゲンツェンによる結果やその他は、プログラムの部分的な解決を提供しつつ、無矛盾性の証明に伴う問題点を明らかにした。集合論における仕事は殆ど全ての通常の数学を集合の言葉で形式化できることを示した。しかしながら、集合論に共通の公理からは証明することができない幾つかの命題が存在することも知られた。むしろ現代の数学基礎論では、全ての数学を展開できる公理系を見つけるよりも、数学の一部がどのような特定の形式的体系で形式化することが可能であるか(逆数学のように)ということに焦点を当てている。.

新しい!!: Prologと数理論理学 · 続きを見る »

.NET Framework

Microsoft.NET Framework(マイクロソフト ドットネット フレームワーク)は、マイクロソフトが開発したアプリケーション開発・実行環境である。 Windowsアプリケーションだけでなく、XML WebサービスやウェブアプリケーションなどWebベースのアプリケーションなども包括した環境となっている。一般に.NETという場合、.NET全体の環境を指す。.

新しい!!: Prologと.NET Framework · 続きを見る »

1972年

協定世界時による計測では、この年は(閏年で)閏秒による秒の追加が年内に2度あり、過去最も長かった年である。.

新しい!!: Prologと1972年 · 続きを見る »

ここにリダイレクトされます:

ISO/IEC 13211JIS X 3013プロログ

出ていきます入ってきます
ヘイ!私たちは今、Facebook上です! »