非決定性と双方向性とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > 非決定性と双方向性の意味・解説 

非決定性と双方向性

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/09/12 02:49 UTC 版)

Prolog」の記事における「非決定性と双方向性」の解説

関数型言語等、他のプログラミング言語比較してProlog特長は、上記一階述語論理に基づくこと、単一化データベース言語性格の他に、非決定性と双方向性が挙げられる。 非決定性は、解が唯一とは限らない場合処理系側から見てひとつの解に決定できない場合外部からの選択余地与える。そういうことが当然可能なこととし述語定義されていく。インタプリタトップではなく導出繰り返すプログラム内部にあっては処理系側とした所を述語置き換えて考えると、非決定性述語の解を決定するのは、前方または後方連接する質問(副目標)である。前方の副目標群から引数経由与えられる情報によって副目標一つの解を作り出すが、この解が真であるとするのは最終的に後方連接する副目標である。この後方に連接した副目標全てとなった場合限り目標は真となる。後方連接する副目標のどれかが真にならなかった場合は、それが存在すればであるが別解用意しなくてはならない。ここでも非決定性述語、ここでは副目標から見ての解の決定権は、外部にあるということになる。 非決定性導出過程取り分けバックトラックアルゴリズムと一体化しており、Prolog プログラム制御根幹のひとつである。ただ、非決定性述語実行時見られる論理変数束縛解放→再束縛という遷移、すなわち一度束縛されたものが別のものに再度束縛されるということ好ましくないとする見方もある。 双方向性は、述語実行され場合返り値は真または偽だけであり、その代わりとして引数内の変数で値の授受終始するのだが、このとき、入力として使われ変数出力に、出力として使われていた変数入力として使うことのできる述語となることがある。この性質双方向性という。多く場合双方向性を持つ述語はそれ自体多義性を持つ。例えappend という3引数述語第一引数第二引数具体的なリスト来て呼ばれた時は、リスト結合する意味でよいが、第三引数リスト第一引数第二引数変数の状態で呼ばれた場合その意味は、リスト分解する、がふさわしい。既に存在するリストを、それが結合され存在したものと考え、それではどのように結合されていったか、あるいは、どのような組み合わせ結合されていったのかを、示していると解釈できるこのような双方向性Prolog述語自らがリバースエンジニアリング開示能力持ち、それを示していると捉えることができる。この性質は、Prologを含む論理型プログラム言語の持つ際立った特徴であり、プログラム作成時はもちろん、テストデバッグなどの検証の各段階プログラムコード対す見通し向上させる

※この「非決定性と双方向性」の解説は、「Prolog」の解説の一部です。
「非決定性と双方向性」を含む「Prolog」の記事については、「Prolog」の概要を参照ください。

ウィキペディア小見出し辞書の「非決定性と双方向性」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



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

辞書ショートカット

すべての辞書の索引

「非決定性と双方向性」の関連用語

1
6% |||||

非決定性と双方向性のお隣キーワード
検索ランキング

   

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



非決定性と双方向性のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのProlog (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS