操作的意味とは? わかりやすく解説

操作的意味

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/10/15 19:56 UTC 版)

制約論理プログラミング」の記事における「操作的意味」の解説

制約論理プログラミング状態遷移システムとしてとらえた場合の操作的意味は状態 ⟨ A , C , S ⟩ {\displaystyle \langle A,C,S\rangle } の遷移として表現できる。 A は原子論理式制約多重集合、 C 、 S は制約多重集合を表す。 C と S とは制約格納する制約ストア表しシステム内部制約評価系の処理対象となる。 A はまだ見えていない原子論理式制約集まり表しPrologなどの論理プログラミング言語でのゴール集合にあたる。 C は能動的な(利用可能な)制約集まりで、 S はまだ利用できない受動的な制約集まりである。例えば、制約評価系が線型連立方程式のみを扱える場合、 x*y=z のような非線型な式は利用できないため S に格納されるが、もし x=2 の制約追加され場合線型な式 2*y=z に変わるため能動的な制約集まりである C に格納され制約評価系で簡約化が行われる。実行最初ゴール G {\displaystyle G} は、システム初期状態 ⟨ G , ∅ , ∅ ⟩ {\displaystyle \langle G,\emptyset ,\emptyset \rangle } で表される導出成功した場合最後の状態は ⟨ ∅ , C , S ⟩ {\displaystyle \langle \emptyset ,C,S\rangle } であり、 C と S が実行結果となる。 状態遷移システム遷移は以下のように表現できる。 ⟨ A ∪ a , C , S ⟩ → r ⟨ A ∪ B , C , S ∪ ( a = h ) ⟩ {\displaystyle \langle A\cup a,C,S\rangle \rightarrow _{r}\langle A\cup B,C,S\cup (a=h)\rangle } A 内の原子論理式 a ( L ( t 1 , … , t n ) {\displaystyle L(t_{1},\ldots ,t_{n})} )について、ルール h ← B {\displaystyle h\leftarrow B} があり、ヘッド部 h ( L ( t 1 ′ , … , t n ′ ) {\displaystyle L(t_{1}',\ldots ,t_{n}')} )が変数書き換え同じにできる場合。この場合原子論理式 a を書き換える。ここで ( a = h ) {\displaystyle \left(a=h\right)} は t 1 = t 1 ′ , … , t n = t n ′ {\displaystyle t_{1}=t_{1}',\ldots ,t_{n}=t_{n}'} を表す。 ⟨ A ∪ a , C , S ⟩ → r f a i l {\displaystyle \langle A\cup a,C,S\rangle \rightarrow _{r}fail} 原子論理式 a を書き換え可能なルール h ← B {\displaystyle h\leftarrow B} がない場合失敗fail)する。 ⟨ A ∪ c , C , S ⟩ → c ⟨ A , C , S ∪ c ⟩ {\displaystyle \langle A\cup c,C,S\rangle \rightarrow _{c}\langle A,C,S\cup c\rangle } A 内に制約 c があれば制約ストア移動する。 ⟨ A , C , S ⟩ → i ⟨ A , C ′ , S ′ ⟩ {\displaystyle \langle A,C,S\rangle \rightarrow _{i}\langle A,C',S'\rangle } 制約ストア内の制約制約評価系で簡約化する( ( C ′ , S ′ ) = i n f e r ( C , S ) {\displaystyle \left(C',S'\right)=infer\left(C,S\right)} )。まだ利用できない受動的な制約集まり S で利用可能なものがあれば C に移し利用可能制約集まり C はより単純な制約簡約化する。 ⟨ A , C , S ⟩ → s ⟨ A , C , S ⟩ {\displaystyle \langle A,C,S\rangle \rightarrow _{s}\langle A,C,S\rangle } 能動的な制約集まり C の一貫性チェック c o n s i s t e n t ( C ) {\displaystyle consistent\left(C\right)} に問題ない場合そのまま遷移続ける。 ⟨ A , C , S ⟩ → s f a i l {\displaystyle \langle A,C,S\rangle \rightarrow _{s}fail} 能動的な制約集まり C の一貫性チェック成立しない場合( ¬ c o n s i s t e n t ( C ) {\displaystyle \neg consistent(C)} )。失敗fail)する。 ここで i n f e r ( C , S ) {\displaystyle infer\left(C,S\right)} は制約評価関数c o n s i s t e n t ( C ) {\displaystyle consistent\left(C\right)} は制約一貫性チェック述語表し制約領域ごとに異なる。多く制約論理プログラミングシステムの操作的意味は → r → i → s {\displaystyle \rightarrow _{r}\rightarrow _{i}\rightarrow _{s}} と → c → i → s {\displaystyle \rightarrow _{c}\rightarrow _{i}\rightarrow _{s}} の遷移組み合わせ表されるまた、 A からの原子論理式制約取り出し追加LIFO順番行われることが多い。この場合Prolog同様の深さ優先探索動作になり、途中で失敗fail)した場合バックトラックが行われる。

※この「操作的意味」の解説は、「制約論理プログラミング」の解説の一部です。
「操作的意味」を含む「制約論理プログラミング」の記事については、「制約論理プログラミング」の概要を参照ください。

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



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

辞書ショートカット

すべての辞書の索引

「操作的意味」の関連用語

操作的意味のお隣キーワード
検索ランキング

   

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



操作的意味のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2025 GRAS Group, Inc.RSS