書き換え型プログラムの生成・検証 研究課題:適切な実行戦略を効率よく探索する、 より自動化された手続きの実現 書き換え型プログラム

Slides:



Advertisements
Similar presentations
プログラミング言語論 第10回(演習) 情報工学科 木村昌臣   篠埜 功.
Advertisements

OWL-Sを用いたWebアプリケーションの検査と生成
メタモデル記述を用いた成果物間の依存関係追跡手法
遺伝的アルゴリズムにおける ランドスケープによる問題のクラス分類
アルゴリズムとデータ構造 第2回 線形リスト(復習).
区間グラフにおける区間表現からMPQ-treeを効率よく構成するアルゴリズム
情報処理 第12回.
電子情報工学科5年(前期) 7回目(21/5/2015) 担当:古山彰一
プログラミング言語としてのR 情報知能学科 白井 英俊.
確率・統計Ⅰ 第11回 i.i.d.の和と大数の法則 ここです! 確率論とは 確率変数、確率分布 確率変数の独立性 / 確率変数の平均
本時の目標 連立方程式の加減法のしかたを理解し、加減法を用いて連立方程式を解くことができる。
プログラミングパラダイム さまざまな計算のモデルにもとづく、 プログラミングの方法論 手続き型 関数型 オブジェクト指向 代数 幾何.
Extremal Combinatorics 14.1 ~ 14.2
最適化ソルバーのための Python言語入門
遺伝アルゴリズムによる NQueen解法 ~遺伝補修飾を用いた解探索の性能評価~
Prolog演習 PowerPointのアニメーション機能を利用すると分かりやすいと思います.
人工知能特論2011 資料No.6 東京工科大学大学院 担当教員 亀田弘之.
Semantics with Applications
条件式 (Conditional Expressions)
1.12 式における型変換 1.13 代入における型変換 1.14 コメント 10月31日(金) 発表者:藤井丈明
プログラミング演習Ⅰ 課題2 10進数と2進数 2回目.
Mathcad と Excel の比較 PTC ジャパン(株) 部署名 年月日.
10.通信路符号化手法2 (誤り検出と誤り訂正符号)
ML 演習 第 7 回 新井淳也、中村宇佑、前田俊行 2011/05/31.
表現系工学特論 項書換え系(4) 完備化 1.語問題と等式証明 2.合流性とチャーチ・ロッサ性 3.完備化手続き.
アスペクト指向プログラミングを用いたIDSオフロード
4. 組み合わせ回路の構成法 五島 正裕.
静的情報と動的情報を用いた プログラムスライス計算法
PROGRAMMING IN HASKELL
2. 論理ゲート と ブール代数 五島 正裕.
オブジェクト指向 プログラミング 第十三回 知能情報学部 新田直也.
第25章 単一始点最短路 3節 Bellman-Fordのアルゴリズム
PROGRAMMING IN HASKELL
形式言語の理論 5. 文脈依存言語.
繰り返し計算 while文, for文.
ディジタル回路 2. ブール代数 と 論理ゲート 五島 正裕.
モデルの逆解析 明治大学 理工学部 応用化学科 データ化学工学研究室 金子 弘昌.
7.4 Two General Settings D3 杉原堅也.
情報セキュリティ  第8回 RSA暗号.
地域情報学 C言語プログラミング 第5回 ポインタ、関数、ファイル入出力 2017年11月17日
並行プログラミング concurrent programming
方程式の解きかた STEP 1 STEP 2 ■方程式の解きかたで、 等式の性質①と②を確認する ためのものです。
Structural operational semantics
計算機構成 第3回 データパス:計算をするところ テキスト14‐19、29‐35
計算機科学概論(応用編) 数理論理学を用いた自動証明
整数データと浮動小数データ.
最内戦略に基づく項書換え計算の効率化の研究
コンパイラ 2011年10月20日
生物情報ソフトウェア特論 (2)たたみ込みとハッシュに 基づくマッチング
15.cons と種々のデータ構造.
論理回路 第4回
JavaScriptを含んだHTML文書に対する データフロー解析を用いた構文検証手法の提案
第16章 動的計画法 アルゴリズムイントロダクション.
米澤研究室 全体ミーティング 2010/07/07 M2 渡邊裕貴.
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
サブゼミ第7回 実装編① オブジェクト型とキャスト.
論理回路 第5回
PROGRAMMING IN HASKELL
使用する CSS・JavaScrpitも指定
PROGRAMMING IN HASKELL
プログラムの一時停止時に 将来の実行情報を提供するデバッガ
弱最内戦略を完全にするためのTRSの等価変換について
PROGRAMMING IN HASKELL
情報数理Ⅱ 第10章 オートマトン 平成28年12月21日.
情報生命科学特別講義III (3)たたみ込みとハッシュに 基づくマッチング
データ構造と アルゴリズムI 第三回 知能情報学部 新田直也.
情報処理Ⅱ 第8回:2003年12月9日(火).
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
数学 A 3章 「図形の性質」 1節 三角形の性質.
Presentation transcript:

書き換え型プログラムの生成・検証 研究課題:適切な実行戦略を効率よく探索する、 より自動化された手続きの実現 書き換え型プログラム 「左辺を右辺に書き換える」規則の集まりで構成される、抽象的なプログラム プログラムの安全性の検証、効率の良いプログラムの自動生成等の研究の土台 x, xs は 変数 dbl(0) → 0 dbl(x+1) → dbl(x) + 2 sum([x]) → x sum(x:xs) → x + sum(xs) dup([]) → [] dup(x:xs) → x:x:dup(xs) プログラムの実行例 dbl(2) → dbl(1) + 2 → dbl(0) + 2 + 2 → 0 + 2 + 2 → 4  [] = 空リスト  x:xs = 先頭がx、残りがxs        であるリスト 例:   [1] = 1:[]   [1,2,3] = 1:(2:(3:[])) sum([3,5]) → 3 + sum([5]) → 3 + 5 → 8 dup([3,5]) → 3:3:dup([5]) → 3:3:5:5:dup([]) → [3,3,5,5] プログラムの生成 プログラムの検証 sum([x]) x + sum([]) プログラムがどのような入力に対しても満たすべき性質(帰納的定理)を検証 規則の追加 例: dbl(x+y) = dbl(x) + dbl(y) sum(dup(xs)) = dbl(sum(xs)) x,y や xs が どのような値であっても、 両辺の実行結果が 等しくなる 実行結果が 異なる sum([]) → 0 sum(dup([3,5])) = sum([3,3,5,5]) = 16 = dbl(sum([3,5])) = dbl(8) x x + 0 実行結果が一通りに定まるよう、 適切な規則を自動的に追加(完備化手続き) 「どのような入力に対してもプログラムが停止する」性質を利用した 数学的帰納法(書き換え帰納法)に基づき、上記定理を自動証明 研究課題:適切な実行戦略を効率よく探索する、        より自動化された手続きの実現 生成・検証の両方において、既存の手法では 適切な戦略を指定する必要があり、使いにくい