制約プログラミング 制約論理プログラミング

制約プログラミング

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/07/27 22:58 UTC 版)

制約論理プログラミング

制約プログラミングはホストとなる言語に制約を埋め込む。最初のホスト言語は論理プログラミング言語であったため、これを「制約論理プログラミング」と呼んだ。この2つのパラダイムは論理変数やバックトラッキングといった多くの重要な共通点がある。現在の多くのProlog処理系には何らかの制約論理プログラミング用ライブラリが用意されている。

制約プログラミングも論理プログラミングもチューリング完全であり、論理プログラムを制約プログラムに書き換えることも逆も可能である。論理プログラムよりも制約プログラムの方が性能がよい問題もあり、そのような場合に事前に変換を行うこともある。

両者の最大の違いは、世界をモデリングする流儀と手法である。問題によっては論理プログラムとして書くのが自然で単純だし、別の問題は制約プログラムとして書くのが自然である。

制約プログラミングは、同時に最も多くの制約を充足する状態を探索する。その場合、問題は複数の未知の変数を含む世界の状態として記述される。制約プログラムはそれら変数全部の値を探索する。

時相並行制約プログラミング(Temporal Concurrent Constraint programming; TCC)や非決定性時相並行制約プログラミング(Non-deterministic Temporal Concurrent Constraint programming)は時を扱う制約プログラミングの一種である。

以下に制約論理言語の例を挙げる:

  • B-PrologPrologベース、プロプライエタリ)
  • CHIP V5 (Prologベース、C++/C言語のライブラリも含む、プロプライエタリ)
  • Ciao Prolog (Prologベース、フリーソフトウェア: GPL/LGPL)
  • ECLiPSe (Prologベース、オープンソース)
  • SICStus (Prologベース、プロプライエタリ)
  • GNU Prolog
  • YAP Prolog



「制約プログラミング」の続きの解説一覧




制約プログラミングと同じ種類の言葉


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「制約プログラミング」の関連用語

制約プログラミングのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



制約プログラミングのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの制約プログラミング (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2024 GRAS Group, Inc.RSS