Submit Search
Upload
ZDDでSATを解く
•
Download as PPTX, PDF
•
2 likes
•
3,718 views
G
gotoloop
Follow
JOI2015夏季セミのスライドです。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 30
Download now
Recommended
パーセプトロン型学習規則
パーセプトロン型学習規則
Shuhei Sowa
ZDD入門-お姉さんを救う方法
ZDD入門-お姉さんを救う方法
nishio
ZDD基礎
ZDD基礎
reew2n
ビッグデータビジネスの捉え方
ビッグデータビジネスの捉え方
Takatsugu Kobayashi
OECD Skills Outlook Global Launch - Skills and Global Value Chains
OECD Skills Outlook Global Launch - Skills and Global Value Chains
EduSkills OECD
アルゴリズムイントロダクション15章 動的計画法
アルゴリズムイントロダクション15章 動的計画法
nitoyon
階層ベイズによるワンToワンマーケティング入門
階層ベイズによるワンToワンマーケティング入門
shima o
並行計算の実践と理論
並行計算の実践と理論
gotoloop
Recommended
パーセプトロン型学習規則
パーセプトロン型学習規則
Shuhei Sowa
ZDD入門-お姉さんを救う方法
ZDD入門-お姉さんを救う方法
nishio
ZDD基礎
ZDD基礎
reew2n
ビッグデータビジネスの捉え方
ビッグデータビジネスの捉え方
Takatsugu Kobayashi
OECD Skills Outlook Global Launch - Skills and Global Value Chains
OECD Skills Outlook Global Launch - Skills and Global Value Chains
EduSkills OECD
アルゴリズムイントロダクション15章 動的計画法
アルゴリズムイントロダクション15章 動的計画法
nitoyon
階層ベイズによるワンToワンマーケティング入門
階層ベイズによるワンToワンマーケティング入門
shima o
並行計算の実践と理論
並行計算の実践と理論
gotoloop
反転
反転
gotoloop
J - 次の仕事
J - 次の仕事
gotoloop
F - NPCの家
F - NPCの家
gotoloop
仕事をしよう!
仕事をしよう!
gotoloop
私、木になります
私、木になります
gotoloop
不可視境界線
不可視境界線
gotoloop
b木ノススメ
b木ノススメ
gotoloop
平衡二分探索木の並行化
平衡二分探索木の並行化
gotoloop
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
More Related Content
More from gotoloop
反転
反転
gotoloop
J - 次の仕事
J - 次の仕事
gotoloop
F - NPCの家
F - NPCの家
gotoloop
仕事をしよう!
仕事をしよう!
gotoloop
私、木になります
私、木になります
gotoloop
不可視境界線
不可視境界線
gotoloop
b木ノススメ
b木ノススメ
gotoloop
平衡二分探索木の並行化
平衡二分探索木の並行化
gotoloop
More from gotoloop
(8)
反転
反転
J - 次の仕事
J - 次の仕事
F - NPCの家
F - NPCの家
仕事をしよう!
仕事をしよう!
私、木になります
私、木になります
不可視境界線
不可視境界線
b木ノススメ
b木ノススメ
平衡二分探索木の並行化
平衡二分探索木の並行化
Recently uploaded
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
Recently uploaded
(11)
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
ZDDでSATを解く
1.
ZDDでSATを解く お姉さんよりも恐ろしい問題
2.
そもそもSATとは? • SATとは、論理式が与えられたとき、その式をtrue にすることができるかという問題 • NP完全 •
今回は答えが複数あるときは、それをすべて列挙 することにする
3.
連言標準形 • 今回は入力データは連言標準形という形式で与 えた。 • これは論理変数をいくつか論理和でつないだ節 が論理積でつながった形になっている。
4.
フロンティア法 • 今回はこのSATを解くプログラムをフロンティア法 を用いて作った。 • 今回はフロンティアとして、今までに処理した論理 変数のみを考えたときのそれぞれの節の状態を保 持した。
5.
実装 • 今回は、フロンティアに含まれる節の数が数百から 数千になるので、long longの配列にビットとして情 報を保持した。 •
追加していく論理変数の順序はとりあえず1から順 番に追加していくことにした。
6.
高速化① • このままでは各状態のデータが多すぎるので、い らない情報を捨てる • この場合、すでにすべての論理変数を処理した節 や、まだ1つも論理変数を処理していない節の情 報を捨てる
7.
動かしてみた • ランダムなケースを作って動かしてみた。
8.
動かしてみた • ランダムなケースを作って動かしてみた フロンティアの状態の数 枝刈りされたもの 一致したフロンティアの数
9.
動かしてみた • 一応動く • でも遅い •
メモリも食う
10.
高速化② • このままだとまずいので違うところを工夫してみる。 • フロンティア法ではフロンティア状態の数が増える と計算が遅くなる。 •
まずい • 減らさなければ・・・
11.
高速化② • 今まで論理変数の追加順序は適当 • これをちゃんとした順番でやれば状態数が減りそう •
今回はまだ使っていない論理変数に対してスコア をつけ、それが最も大きいものを使った。
12.
高速化② スコアのつけ方 • その論理変数を使うとフロンティアとして持つ節の 数が減る→スコアを増やす • 逆にフロンティアの節が増える→その節の論理変 数が多いほどスコアを減らす •
すでにフロンティアに含まれている節に存在する →その節の残っている論理変数が多いほどスコア を増やす
13.
動かしてみた② • こうなる
14.
動かしてみた② • こうなる フロンティアの状態の数 枝刈りされたもの 一致したフロンティアの数 追加する論理変数の番号
15.
応用してみた • これをSATソルバーとして使って数独を解いてみ た • パズルをSATに落とすのはsnukeさんが作ってくれ たものを使わせていただきました。
16.
応用してみた • 動かしてみる
17.
応用してみた • 動かしてみる
18.
応用してみた • 動かしてみる フロンティアの状態の数 枝刈りされたもの 一致したフロンティアの数
19.
応用してみた • ZDDは、この例のようにフロンティア同士が一致す るものが少ない場合は単なる枝刈り探索となってし まう。 • そうなると実行時間がたくさんかかってしまってつ らい
20.
結論 • このようにフロンティア同士が同じ状態にならないよ うなものはZDDに向いていない • ZDDは用法用量を守って正しく使いましょう
21.
おまけ
22.
数え上げお姉さん • 一応自分もやってみた。 • こっちはSATソルバーと違ってフロンティアの情報 がlong
longに収まるので楽
23.
数え上げお姉さん • この問題で扱うのは平面グラフなので、フロンティ アに含まれる各頂点は次の4種類のうちどれか1つ の状態になる。
24.
数え上げお姉さん • 接続している辺が0本 • 接続している辺が1本で、自分より前の頂点とつな がっている •
接続している辺が1本で、自分より後の頂点とつな がっている • 接続している辺が2本
25.
数え上げお姉さん • このようにするとフロンティアに含まれる各頂点に ついて2ビットの情報を持つだけでよい • すると1辺の辺の数が31、頂点の数が32のときま でフロンティアのデータを1つのlong
long型の中に 収めることができる
26.
実行すると • こんな感じ 個数 実行時間
27.
実行すると • こんな感じ フロンティアの状態の数 枝刈りされたもの 一致したフロンティアの数
28.
実演
29.
結果 • このようにこの問題ではフロンティアの状態が一致 しているものがとても多いことが分かる • 自分のパソコンでは14*14まで実行することができ た。 •
お姉さん救出成功!
30.
ご清聴ありがとうございました
Download now