変数の順序付けとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > 変数の順序付けの意味・解説 

変数の順序付け

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2017/03/06 16:02 UTC 版)

二分決定図」の記事における「変数の順序付け」の解説

BDDサイズは、表現しようとする関数とその変数引数)の順序どうするかで決定されるBDDサイズ変数個数に対して線形オーダーから指数オーダーまで様々である。 f ( x 1 , … , x n ) {\displaystyle f(x_{1},\ldots ,x_{n})} というブール関数があったとき、これを二分決定図表現する際に、根となるノードからどういう順番変数対応させるかによって、そのサイズ指数オーダー(2n)にも線形オーダー(n)にもなる。例えば、 f ( x 1 , … , x 2 n ) = x 1 x 2 + x 3 x 4 + ⋯ + x 2 n − 1 x 2 n {\displaystyle f(x_{1},\ldots ,x_{2n})=x_{1}x_{2}+x_{3}x_{4}+\dots +x_{2n-1}x_{2n}} という形式ブール関数考える。変数の順序付けを x 1 < x 3 < ⋯ < x 2 n − 1 < x 2 < x 4 < ⋯ < x 2 n {\displaystyle x_{1}<x_{3}<\dots <x_{2n-1}<x_{2}<x_{4}<\dots <x_{2n}} とすると、この関数表現する BDDノード数は 2 n + 1 {\displaystyle 2^{n+1}} となる。しかし、 x 1 < x 2 < x 3 < x 4 < ⋯ < x 2 n − 1 < x 2 n {\displaystyle x_{1}<x_{2}<x_{3}<x_{4}<\dots <x_{2n-1}<x_{2n}} という順序付けにすると、ノード数は 2 n {\displaystyle 2n} で済む。 従って、このデータ構造実際に利用する際には変数の順序付けが非常に重要となる。最良順序付けを見つける問題NP困難であることが分かっている。任意の1より大きい定数 c について、最適な解の c 倍のサイズを持つOBDDを生成する順序付け探す問題NP困難である。ただし、最適な順序付け探すための効率的なヒューリスティック存在する。 (Topological Sort, MinFillなど) 変数順序をどう変えても常に指数オーダーとなる関数変数順序付け依存しない関数)も存在する例えば、二進数乗算そのような関数の例である。BDD から派生したグラフ構造として、二分モーメント図(BMD)やゼロサプレス決定図(ZDD)がある。

※この「変数の順序付け」の解説は、「二分決定図」の解説の一部です。
「変数の順序付け」を含む「二分決定図」の記事については、「二分決定図」の概要を参照ください。

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



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

辞書ショートカット

すべての辞書の索引

「変数の順序付け」の関連用語

変数の順序付けのお隣キーワード
検索ランキング

   

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



変数の順序付けのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2024 GRAS Group, Inc.RSS