Revisiting Floorplan Representations
Revisiting Floorplan
RepresentationsBo Yao, Hongyu Chen
Chung-Kuan Cheng, Ronald Graham
04/14/2023TCS 講究 1
Department of Computer Science and Engineering,
University of California, San Diego
アルゴリズム研究室 修士一年井上 祐馬
ISPD 2001(International Symposium on Physical Design)
Revisiting Floorplan Representations
フロアプラン• 矩形を n 個の部屋 ( 矩形 ) に分割し、 k 個のブ
ロックを割り当てる問題o 今回扱うモザイク or スライシングフロアプランは
n=k
• VLSI の設計などへの応用があるo 面積最小化など主要問題は NP 完全
04/14/2023TCS 講究 2
( 一般 ) フロアプラン
モザイクフロアプラン スライシングフロアプラン
Revisiting Floorplan Representations
論文の成果• モザイクフロアプランとスライシングフロアプ
ランのそれぞれについて、o ブロック数のとき、フロアプランの数を表す式を示し
たo 新たなフロアプランの表現法 ( 符号化法 ) を提案したo 既存の表現法との対応関係や効率の比較について考察
した
o 今回は時間の都合上、既存手法やそれらとの関係性などは省略する
04/14/2023TCS 講究 3
Revisiting Floorplan Representations
なんでフロアプランを符号化するの???
• VLSI などの問題を解く主流は焼き鈍し法やバネモデルなどの近似 ( ヒューリスティックス ) 解法
• おおまかな形 (= フロアプラン ) がわかっていると対応する面積は多項式時間で計算できる
04/14/2023TCS 講究 4
フロアプラン
SA 等の最適化アルゴリズ
ム
面積厳密計算入力
面積
修正実は
めんどい
Revisiting Floorplan Representations
なんでフロアプランを符号化するの???
• VLSI などの問題を解く主流は焼き鈍し法やバネモデルなどの近似 ( ヒューリスティックス ) 解法
• おおまかな形 (= フロアプラン ) がわかっていると対応する面積は多項式時間で計算できる
04/14/2023TCS 講究 5
フロアプラン
SA 等の最適化アルゴリズ
ム
面積厳密計算入力
面積修正
FP 表現
復号
符号
結構楽
Revisiting Floorplan Representations
内容• モザイクフロアプランの数え上げと新表現方法
の提案• スライシングフロアプランの数え上げと新表現
方法の提案• 既存の表現との比較
04/14/2023TCS 講究 6
Revisiting Floorplan Representations
内容• モザイクフロアプランの数え上げと新表現方法
の提案• スライシングフロアプランの数え上げと新表現
方法の提案• 既存の表現との比較
04/14/2023TCS 講究 7
Revisiting Floorplan Representations
モザイクフロアプラン[Hong et al. 00]
• 以下の定義を満たすフロアプランo ブロックが割り当てられない矩形がない (n=k)o 四隅以外は分割線の交差が T 字路のみo T 字路をスライドしたものも等価なフロアプランと見
なす
04/14/2023TCS 講究 8
Revisiting Floorplan Representations
Corner Block Insertion[Hong et al. 00]
• モザイクフロアプランは、右上部へのブロック挿入操作によって再現できる
• 挿入o 上に入れる : 上側の右からいくつかを押しのけて挿
入o 右に入れる : 右側の上からいくつかを押しのけて挿
入
04/14/2023TCS 講究 9
C
A B
DC
A BA BA
Revisiting Floorplan Representations
モザイクフロアプランの数• ブロック数のモザイクフロアプランの数を• = , とかける• ただしは、
o 上辺の T 字路が個、右辺の T 字路が個であるブロックのモザイクフロアプランの数
o ならば、
04/14/2023TCS 講究 10
Revisiting Floorplan Representations
• 上に挿入する場合の例 ( 右に挿入する場合も同様 )
漸化式の意味
04/14/2023TCS 講究 11
n ブロック
i k
j n ブロック
i+1
1 ブロック
j+1
・・・ ・・・ ・・・
・・・
・・・
∈ ∈
Revisiting Floorplan Representations
バックスター数 [Chug et al. 78]
• バックスター数要素のバックスター順列の数•
o ならば、
• なんか 2 ページくらい前に見た気がする・・・・・・
04/14/2023TCS 講究 12
Revisiting Floorplan Representations
バックスター数 [Chug et al. 78]
• バックスター数要素のバックスター順列の数
• =
• ∴ = B
04/14/2023TCS 講究 13
同じだ!!!
Revisiting Floorplan Representations
バックスター順列 [Baxter 64]
• バックスター数要素のバックスター順列の数• 順列がバックスター順列:
o すべてのについてo o
• が証明済 [Chung et al. 78]• 実は [Shen et al. 03]
o Factorial ではなく Exponential !!!
04/14/2023TCS 講究 14
Revisiting Floorplan Representations
モザイクフロアプランの提案表現
• モザイクフロアプランの数とバックスター順列の数が同じ
→バックスター順列の表現法が使えそう
• Twin Binary Treeo 2 つの二分木の組o ただし、 o は 2 進数のビット反転o バックスター順列と一対一対応 [Dulucq et al. 98]
04/14/2023TCS 講究 15
Revisiting Floorplan Representations
Twin Binary Tree(TBT)• Twin Binary Tree
o を満たす二分木の組o ラベルの付け方は in-order( 通りがけ順 ) に見ていき、
左の子がなければ 0 を追加、右の子がなければ 1 を追加
o 最初の 0 と最後の 1 は自明なので省略
04/14/2023TCS 講究 16
1 0
0 0 0
0
0
1 1 1
1
1100101 011010
1
1
0 0
Revisiting Floorplan Representations
モザイクフロアプラン→ TBT
• 各ブロックに対応する頂点を用意する• ブロック X の右上の T 字路に注目する
o 右のブロック Y と T 字路を作るなら、 Y の左の子を Xに
o 上のブロック Y と T 字路を作るなら、 Y の右の子を Xに
04/14/2023TCS 講究 17
AC
EF
D
B
C
B
A
E
D
F1
0 1
1
0
Revisiting Floorplan Representations
モザイクフロアプラン→ TBT
• 各ブロックに対応する頂点を用意する• ブロック X の右上の T 字路に注目する
o 右のブロック Y と T 字路を作るなら、 Y の左の子を Xに
o 上のブロック Y と T 字路を作るなら、 Y の右の子を Xに
• ブロック X の左下の T 字路に注目するo 左のブロック Y と T 字路を作るなら、 Y の右の子を X
にo 下のブロック Y と T 字路を作るなら、 Y の左の子を X
に
• で変換可能04/14/2023TCS 講究 18
Revisiting Floorplan Representations
内容• モザイクフロアプランの数え上げと新表現方法
の提案• スライシングフロアプランの数え上げと新表現
方法の提案• 既存の表現との比較
04/14/2023TCS 講究 19
Revisiting Floorplan Representations
スライシングフロアプラン• スライシングフロアプランは再帰的に矩形を分
割して得られるフロアプランo いま矩形 R を分割するo 縦 or 横に分割し、 2 つのとを得るo それぞれを同様に分割する
04/14/2023TCS 講究 20
Revisiting Floorplan Representations
スライシングフロアプランの提案表現• Slicing Ordered Tree
o 根付き順序木o 各葉は別々のラベルを持っているo 各節点は’ V’ or ‘H’ で、少なくとも 2 つ以上の子を持
つo 同じ節点ラベルが親子関係になることはない• V の子が V であることはない
04/14/2023TCS 講究 21
A EB
C
G
F
D
CBA F
D
E
G
V
H H
Revisiting Floorplan Representations
スライシングフロアプランの数
• Slicing Ordered Tree は文字の文字列に括弧 ()を挿入することでも表現できる
• この数は Schröder number(or Super-Catalan Number) として知られている[Etherington 40]o = = 1o =
• 一般項は、 =
04/14/2023TCS 講究 22
CBA F
D
E
G
V
H H
((ABC)D(EF)G)
Revisiting Floorplan Representations
内容• モザイクフロアプランの数え上げと新表現方法
の提案• スライシングフロアプランの数え上げと新表現
方法の提案• 既存の表現との比較
04/14/2023TCS 講究 23
Revisiting Floorplan Representations
表現の評価表現 冗長性 変換効率
Corner Block List フロアプランに対応しない表現がある O(n)
Twin Binary Tree 一対一対応 O(n)
Sequence Pair 同じフロアプランを表す表現が複数ある O(nloglogn)
Ordered Tree 同じフロアプランを表す表現が複数ある O(n)
04/14/2023TCS 講究 24
表現 冗長性 変換効率Binary Tree 同じフロアプランを表す表現が複数ある O(n)
Slicing Ordered Tree
一対一対応 O(n)
・モザイクフロアプランの場合
・スライシングフロアプランの場合