卒論キックオフ 2005/7/27 1G02P058-6 塚谷 修平.

Slides:



Advertisements
Similar presentations
組合せ最適化輪講 2.3 連結性 川原 純. 2.3 連結性 内容 – グラフ上の節点をすべてたどるアルゴリズム 計算機上でのグラフの表現 – 強連結成分を求めるアルゴリズム トポロジカル順序を求める方法も – k- 連結、 k- 辺連結について – 2- 連結グラフの耳分解について.
Advertisements

©2008 Ikuo Tahara探索 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索 A ( A* )アルゴリズム.
効率的に計算可能な 加法的誤りの訂正可能性 安永 憲司 九州先端科学技術研究所 SITA 2012 @ 別府湾ロイヤルホテル
一階述語論理 (first-order predicate logic) 一階述語論理入門 構文論(論理式の文 法) 意味論(論理式の解 釈) 認知システム論 知識と推論(4) 知識と論理でを組み合わせて問題を解決する.
木探索によるCSPの解法 (Tree search algorithms for solving CSPs) 認知システム論 制約充足( 2 ) 制約をみたす組合せを探すエージェント バックトラック法 フォワードチェック 動的変数順序.
モデル検査のためのコンカレントシステムの仕様記述
FPGA 株式会社アプライド・マーケティング 大越 章司
データ構造と アルゴリズム 第十二回 知能情報学部 知能情報学科 新田直也.
ラベル付き区間グラフを列挙するBDDとその応用
近似アルゴリズム 第10章 終了時刻最小化スケジューリング
Pattern Recognition and Machine Learning 1.5 決定理論
Constraint Networks 2.2~2.3 5月7日 上田研究室 M2 西村 光弘.
Lightweight Language Weekend ls-lRシェル
充足不能性と導出原理 充足不能性の証明 スコーレム標準形 エルブラン解釈 導出原理 基礎節に対する導出 導出原理の完全性と健全性.
計算の理論 II NP完全 月曜4校時 大月美佳.
Extremal Combinatrics Chapter 4
8.クラスNPと多項式時間帰着.
人工知能特論2011 資料No.6 東京工科大学大学院 担当教員 亀田弘之.
香川大学工学部 富永浩之 情報数学1 第5-2章 命題論理式の 同値変形とカルノー表 香川大学工学部 富永浩之
先端論文紹介ゼミ Role-based Context-specific Multiagent Q-learning
データ構造と アルゴリズム 第二回 知能情報学部 新田直也.
9.NP完全問題とNP困難問題.
プログラミング論 II 電卓,逆ポーランド記法電卓
データ構造と アルゴリズム 第八回 知能情報学部 新田直也.
Research Session 17: Formal Verification
充足可能性問題SAT (Satisfiability Problem)
Solving Shape-Analysis Problems in Languages with Destructive Updating
二分探索木によるサーチ.
4. 組み合わせ回路の構成法 五島 正裕.
シャノンのスイッチングゲームにおけるペアリング戦略について
ディジタル回路 3. 組み合わせ回路 五島 正裕 2018/11/28.
2. 論理ゲート と ブール代数 五島 正裕.
計算の理論 II NP完全 月曜5校時 大月美佳 平成17年1月17日 佐賀大学理工学部知能情報システム学科.
決定木とランダムフォレスト 和田 俊和.
5 テスト技術 5.1 テストとは LISのテスト 故障診断 fault diagnosis 故障解析 fault analysis
最適化の方法 中田育男著 コンパイラの構成と最適化 朝倉書店, 1999年 第11章.
ディジタル回路 2. ブール代数 と 論理ゲート 五島 正裕.
アルゴリズムとプログラミング (Algorithms and Programming)
人工知能特論 9.パーセプトロン 北陸先端科学技術大学院大学 鶴岡 慶雅.
数理論理学 第3回 茨城大学工学部情報工学科 佐々木 稔.
第3回 アルゴリズムと計算量 2019/2/24.
トーリックイデアルの グレブナ基底を求める アルゴリズム – F4およびF5 –
予測に用いる数学 2004/05/07 ide.
第5回放送授業.
計算量理論輪講 chap5-3 M1 高井唯史.
3. 論理ゲート の 実現 五島 正裕.
論理と推論 命題論理 推論 命題論理体系の健全性と完全性 構文と意味 → 同値関係と標準形(節形式) 決定問題と意味木 推論規則
論文紹介 - Solving NP Complete Problems Using P Systems with Active Membranes 2004/10/20(Wed)
連続領域におけるファジィ制約充足問題の 反復改善アルゴリズムによる解法 Solving by heuristic repair Algorithm of the Fuzzy Constraint Satisfaction Problems with Continuous Domains 北海道大学.
知能情報システム特論 Introduction
任意数の制約階層化 2007/10/31 上田研究室 M2 西村 光弘.
アルゴリズムとデータ構造 2011年7月8日課題の復習
融合原理 (resolution) 人工知能 論理と推論(2) 論理的帰結 節形式 融合原理 知識を組み合わせて知識を生み出す
ナップサック問題 クマさん人形をめぐる熱いドラマの結末.
  第3章 論理回路  コンピュータでは,データを2進数の0と1で表現している.この2つの値,すなわち,2値で扱われるデータを論理データという.論理データの計算・判断・記憶は論理回路により実現される.  コンピュータのハードウェアは,基本的に論理回路で作られている。              論理積回路.
B03 量子論理回路の 最適化に関する研究 西野哲朗,垂井淳,太田和夫,國廣昇 電気通信大学 情報通信工学科.
第16章 動的計画法 アルゴリズムイントロダクション.
This slide was a material for the “Reading PLDI Papers (PLDIr)” study group written by Kazuhiro Inaba ( ), under my own understanding of.
情報工学概論 (アルゴリズムとデータ構造)
分枝カット法に基づいた線形符号の復号法に関する一考察
ICML読む会資料 (鹿島担当) 教師ナシ の 構造→構造 マッピング 読んだ論文: Discriminative Unsupervised Learning of Structured Predictors Linli Xu (U. Waterloo) , … , Dale Schuurmans.
発表者: 稲葉 一浩 複雑ネットワーク・地図グラフ セミナー 2017/1/19
コストのついたグラフの探索 分枝限定法 A*アルゴリズム.
エイリアス関係を考慮した Javaプログラム用静的スライシングツール
香川大学工学部 富永浩之 情報数学1 第5-2章 命題論理式の 同値変形とカルノー表 香川大学工学部 富永浩之
プログラミング入門2 第6回 関数 情報工学科 篠埜 功.
情報数理Ⅱ 第10章 オートマトン 平成28年12月21日.
非線形システム解析とオブザーバ.
立命館大学 情報理工学部 知能情報学科 谷口忠大
アルゴリズム ~すべてのプログラムの基礎~.
Presentation transcript:

卒論キックオフ 2005/7/27 1G02P058-6 塚谷 修平

発表の流れ SAT問題とは これまで読んだ論文の概要説明 SAT solverに対するベンチマークの結果 これからの事

発表の流れ SAT問題とは これまで読んだ論文の概要説明 SAT solverに対するベンチマークの結果 これからの事

SAT問題とは 充足可能性問題 SAT問題は基本的に論理積標準形(Conjunctive Normal Form)で表現される  『与えられた論理式を充足する変数の割り当てが、少なくとも一つ存在するかどうか』 SAT問題は基本的に論理積標準形(Conjunctive Normal Form)で表現される 変数(Variable):TrueもしくはFalseの値をとる Literal:変数もしくは変数の否定を指す 例.¬a , b など Clause:Literalが論理和で繋がっている形 例.(¬a∨b∨c) CNF:Clauseが論理積で繋がっている形 例.(¬a∨b∨c)∧(d∨¬e)

SATの研究意義 NP完全問題 応用分野 指数的コストがかかる 探索域の削減を課題とする 最先端のソルバでも解けない問題が沢山ある 人工知能・検証・定理証明など

発表の流れ SAT問題とは これまで読んだ論文の概要説明 SAT solverに対するベンチマークの結果 これからの事

読んだ論文 The Quest for Efficient Boolean Satisfiability Solvers Effective Preprocessing in SAT through Variable and Clause Elimination CNFを小さくするテクニックの紹介

The Quest for Efficient Boolean Satisfiability Solvers

SATソルバのフレームワーク Boolean SAT問題を解くために、Davis, Putnam, Logemann and LovelandがDPLLという探索アルゴリズムを考案。 命題論理式をCNFに変換して解く SAT問題を幾つかのフェーズにわけて解く 1.Preprocess(前処理) 2.Decision(変数選択) 3.Deduction(推論) 4.Conflict-analysis(矛盾の解析) 現在、多くのSATがDPLLに基づいて作られている

Preprocessing SAT問題を解き始める前に、出来るだけ問題を簡単な形にしたい。 コストをかけずに探索空間を削減したい Pure literal rule , recuresive learning, and intverter graphs…

Decision(変数選択) Free Variableの中から、値を割り当てる変数を選び出すフェーズ 選択アルゴリズム MOM:最小Clauseの中で最も多く出現するFVを選択する、貪欲アルゴリズム DLIS:式全体で最も多く出現するFVを選択 VSIDS:矛盾解析による学習機能を利用してFVを選択

Deduction(推論) Decisionの結果を判定する Deduction Mechanism BCP mechanism SATISFIABLE(充足可能) →solver終了 CONFLICT(矛盾) → Conflict_Analysisフェーズへ UNKNOWN → Decisionフェーズへ Deduction Mechanism Unit Clause Rule(Boolean Constraint Propagation) Pure Literal Rule BCP mechanism Counter, Head Tail list, 2-Literal Watching

Unit Clause Rule 例.  (a∨b∨¬c∨¬d)というClauseが存在し、仮にa=False , b=False , c=True という割り当てが成されているとする。すると、このClauseがTrueになるためにはdには必ずFalseが割り当てられる。このルールをUnit Clause Ruleと呼ぶ。

Conflict-analysis Deductionによって矛盾が検知された場合、Backtrackをする必要がある。 Chronological backtracking 幅優先探索の挙動をする ランダムな問題に成果をあげる可能性 ランダムじゃない問題には効率的でない Non-Chronological backtracking 矛盾が発生した原因を解析 学習機能 再びDecisionもしくはDeductionフェーズに戻る。

DPLLコード status = preprocess(); if (status!=UNKNOWN) return status;  while(1) {   decide_next_branch();   while (true) {    status = deduce();    if (status == CONFLICT) {     blevel = analyze_conflict();     if (blevel == 0)      return UNSATISFIABLE;     else backtrack(blevel);    }    else if (status == SATISFIABLE)    return SATISFIABLE;    else break;   }  }

Effective Preprocessing in SAT through Variable and Clause Elimination

CNF Minimizer CNFのサイズを削減するSatELite SatELiteにおける4つのテクニック Variable elimination Subsumption Self-subsumption Definition

Variable Elimination 例題1 (CはClauseとする) C1={ x ∨ a1 ∨ … ∨ an }  C2={ ¬x ∨ b1 ∨ … ∨ bm }  上記の2つのClauseを伴っているClauseは  C = { a1 ∨ … ∨ an ∨ b1 ∨ … ∨ bm }  と置き換えることができる。  ∵仮にxにbool値を入れた場合   x=Trueならば、 { b1 ∨ … ∨ bm } が残る   x=Falseならば、 { a1 ∨ … ∨ an }が残る

(Self-)Subsumption 例題2 C1⊆C2 (C1 subsume C2 )の時、 C2を除去する。 例題3   C1 ={ x ∨ a ∨ b } , C2 ={ ¬x ∨ a}  (C2があと少しでC1をsubsumeしそう)  この時、xのresolveで   C1’={ a ∨ b}  と変換でき、 C1’ はC1をsubsumeしている。  このケースの事をSelf-subsumptionと呼ぶ。

Definition 論理回路に関するSAT問題 具体例 論理積回路 x=a∧b Tseitin Transformation 入力に対して回路の出力は特定の形を成す 具体例  論理積回路 x=a∧b  { x ∨ ¬a ∨ ¬b }∧{ ¬x ∨ a }∧{ ¬x ∨ b }  論理和回路 x=a∨b  { ¬x ∨ a ∨ b }∧{ x ∨ ¬a }∧{ x ∨ ¬b }  このように、xがCNFを回路で表現できる事をxのdefinitionと呼ぶ。

SatELiteのまとめ SatELiteの強み 実用例:SatELiteGTI コストが小さい Solverに組み込む事が容易 SatELiteによるPreprocessing SolverにはMiniSATを起用

発表の流れ SAT問題とは これまで読んだ論文の概要説明 SAT solverに対するベンチマークの結果 これからの事

Benchmark 目的 使用solver SAT solverを使ってみたかった SatELiteによるCNF Minimizerの効果の確認 SatELiteGTIとMiniSATの速度を比較 速いSolverとして有名なzChaffとの比較 使用solver SatELiteGTI:Minisat+SatELite。 Minisat:SatELiteと開発元が同じ zChaff:速いことで有名なsolver

使用Solverの性能 Sat Competition2005より引用

Benchmark 実行環境 Pave:VT64 Opteron Workstation 4000

Benchmark結果

Benchmark結果 ⊿variable:元のvariable数に対するSatELite処理後の相対割合 ⊿Clause:意味的にvariableと同じ Sec:SatELite処理にかかった時間

Benchmark結果 分かった事 zChaffが解くのに時間を要している問題を、SatELiteGTIが容易く解いている事も。 探索時間の長さは、VariableやClauseの数に依存しているわけではない? しかしSatELiteプロセスによってsolverの性能向上が見られた。 SatELiteプロセスは時間がかからない

発表の流れ SAT問題とは これまで読んだ論文の概要説明 SAT solverに対するベンチマークの結果 これからの事

これからについて 卒業論文の方向性 夏休み(8月~9月)の方向性 既存のSolverの高速化 SatELiteGTIに関するデータを取る 不得手などの特徴をより詳しく調査する SatELiteGTIのコード解析 ボトルネックとなっている部分はないか

参考文献 [1] Lintao Zhang,Sharad Malik: "The Quest for Efficient Boolean Satisfiability Solvers“ [2] Niklas Eaen and Armin Biere: "Effective Preprocessing in SAT through Variable and Clause Elimination“ [3] SAT Competitions : http://www.satcompetition.org/ [4] SatELite , Minisat : http://www.cs.chalmers.se/Cs/Research/FormalMethods/MiniSat/ [5] zChaff. Boolean Satisfiability Research Group at Princeton: http://www.princeton.edu/~chaff/zchaff.html/ [6] The Satisfiability Library, SAT-03 Competition Problems : http://www.satlib.org/