changeset 54:40344cc2c590 default tip

Add position by kono-teacher
author Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
date Thu, 22 Jan 2015 22:24:55 +0900
parents 65391f6321a8
children
files slide/slide.html slide/slide.md
diffstat 2 files changed, 246 insertions(+), 24 deletions(-) [+]
line wrap: on
line diff
--- a/slide/slide.html	Thu Jan 22 10:49:27 2015 +0900
+++ b/slide/slide.html	Thu Jan 22 22:24:55 2015 +0900
@@ -36,7 +36,7 @@
 			<!-- === begin markdown block ===
 
       generated by markdown 1.1.1 on Ruby 2.2.0 (2014-12-25) [x86_64-darwin13]
-                on 2015-01-22 10:48:46 +0900 with Markdown engine kramdown (1.4.2)
+                on 2015-01-22 22:24:17 +0900 with Markdown engine kramdown (1.4.2)
                   using options {}
   -->
 
@@ -44,9 +44,8 @@
 
 <ul>
   <li>大学ではどんなことをやっているか(講義, イベント, 研究)</li>
-  <li>講義などでつまづくポイント</li>
-  <li>つまづきの解決策</li>
-  <li>どのような講義をするべきか?</li>
+  <li>ポジション(河野)</li>
+  <li>ポジション(比嘉)</li>
 </ul>
 
 
@@ -133,7 +132,7 @@
   <li>集合, 論理, 関数, 自然演繹による証明</li>
   <li>型システム, Curry-Howard Isomorphism を通して Haskell, Agda で証明</li>
   <li>Haskell : 自然演繹と lambda calculus</li>
-  <li>Agda    : Data type に対する証明 (Product, Sum, List, Functor, Monad …)</li>
+  <li>Agda    : Category, Data type の証明 (Product, Sum, List, Functor, Monad …)</li>
   <li>Agda    : SystemT を使った自然数に対する演算の証明</li>
 </ul>
 
@@ -164,7 +163,7 @@
 <div class="slide" id="8"><div>
 		<section>
 			<header>
-				<h1 id="section-3">圏によるプログラムの形式化</h1>
+				<h1 id="delta-monad">圏によるプログラムの形式化 : Delta Monad</h1>
 			</header>
 			<!-- _S9SLIDE_ -->
 
@@ -184,7 +183,177 @@
 <div class="slide" id="9"><div>
 		<section>
 			<header>
-				<h1 id="section-4">学習コスト</h1>
+				<h1 id="section-3">ポジション(河野)</h1>
+			</header>
+			<!-- _S9SLIDE_ -->
+
+<ul>
+  <li>形式手法を学習するには</li>
+  <li>形式手法とツール</li>
+  <li>形式手法とワークフロー</li>
+  <li>形式手法と証明</li>
+  <li>形式手法の将来</li>
+</ul>
+
+
+
+		</section>
+</div></div>
+
+<div class="slide" id="10"><div>
+		<section>
+			<header>
+				<h1 id="section-4">形式手法を学習するには</h1>
+			</header>
+			<!-- _S9SLIDE_ -->
+
+<ul>
+  <li>学習するには本や論文を読み、問題を一つ一つ解いていく必要がある
+    <ul>
+      <li>長く手間がかかる作業</li>
+      <li>一方でルールの適用なので誰がやっても結果は同じ</li>
+      <li>難しいのはルールの適用から意味のある結果を得ること</li>
+      <li>そこが想像できないと「わからない」ということになる</li>
+      <li>わからないのではなくて、わかることに価値を見出せなくなる</li>
+    </ul>
+  </li>
+</ul>
+
+
+
+		</section>
+</div></div>
+
+<div class="slide" id="11"><div>
+		<section>
+			<header>
+				<h1 id="section-5">形式手法とツール</h1>
+			</header>
+			<!-- _S9SLIDE_ -->
+
+<ul>
+  <li>実際の形式ツールを使うためには
+    <ul>
+      <li>どういうツールがあるのか調べる</li>
+      <li>環境を作ってそのツールを理解する</li>
+    </ul>
+  </li>
+  <li>使いこなすことでバグが取れたとして
+    <ul>
+      <li>その利益はどこにあるのか</li>
+      <li>研究開発が速くなるのか, 質が良くなるのか</li>
+    </ul>
+  </li>
+  <li>理解して使う必要がある</li>
+</ul>
+
+
+
+		</section>
+</div></div>
+
+<div class="slide" id="12"><div>
+		<section>
+			<header>
+				<h1 id="section-6">形式手法とワークフロー</h1>
+			</header>
+			<!-- _S9SLIDE_ -->
+
+<ul>
+  <li>研究開発は分散版管理を用いて行なわれている
+    <ul>
+      <li>Pull Request, Project Management Tool などで研究状況を認識</li>
+    </ul>
+  </li>
+  <li>分散版管理そのものは形式的に定義できると考えている
+    <ul>
+      <li>Delta Monad というものを提案している</li>
+    </ul>
+  </li>
+  <li>学んで理解する教育手順そのものを研究室のワークフローとしたい
+    <ul>
+      <li>ツールを組み込んだワークフローが有効であることを示したい</li>
+      <li>例) Pull Requeset 単位での model checking</li>
+    </ul>
+  </li>
+</ul>
+
+
+
+		</section>
+</div></div>
+
+<div class="slide" id="13"><div>
+		<section>
+			<header>
+				<h1 id="section-7">形式手法と証明</h1>
+			</header>
+			<!-- _S9SLIDE_ -->
+
+<ul>
+  <li>Agda は積極的に導入している
+    <ul>
+      <li>時間がかかるので使いどころは限られる</li>
+    </ul>
+  </li>
+  <li>形式手法を学んだり証明の見落しを調べるのに便利</li>
+  <li>証明を研究開発の過程に組込むのは難しい
+    <ul>
+      <li>しかし方向性を示すのに用いることはできる</li>
+    </ul>
+  </li>
+</ul>
+
+
+
+		</section>
+</div></div>
+
+<div class="slide" id="14"><div>
+		<section>
+			<header>
+				<h1 id="section-8">形式手法の将来</h1>
+			</header>
+			<!-- _S9SLIDE_ -->
+
+<ul>
+  <li>将来的にプログラムのかなりの部分は証明される
+    <ul>
+      <li>ライブラリもほとんど論文では証明が存在する</li>
+      <li>形式手法で示すことは信頼性のにも繋がる</li>
+      <li>しかしプログラム全体に広めるのは時間がかかるしできるか不明</li>
+    </ul>
+  </li>
+  <li>形式手法の基本を理解し、いくつかのツールを使える人材を企業に送りこむのが良い</li>
+</ul>
+
+
+
+		</section>
+</div></div>
+
+<div class="slide" id="15"><div>
+		<section>
+			<header>
+				<h1 id="section-9">ポジション(比嘉)</h1>
+			</header>
+			<!-- _S9SLIDE_ -->
+
+<ul>
+  <li>講義などでつまづいたポイント</li>
+  <li>つまづきの解決策</li>
+  <li>どのような講義をするべきか?</li>
+</ul>
+
+
+
+		</section>
+</div></div>
+
+<div class="slide" id="16"><div>
+		<section>
+			<header>
+				<h1 id="section-10">学習コスト</h1>
 			</header>
 			<!-- _S9SLIDE_ -->
 
@@ -201,10 +370,10 @@
 		</section>
 </div></div>
 
-<div class="slide" id="10"><div>
+<div class="slide" id="17"><div>
 		<section>
 			<header>
-				<h1 id="section-5">つまづくポイント</h1>
+				<h1 id="section-11">つまづくポイント</h1>
 			</header>
 			<!-- _S9SLIDE_ -->
 
@@ -224,10 +393,10 @@
 		</section>
 </div></div>
 
-<div class="slide" id="11"><div>
+<div class="slide" id="18"><div>
 		<section>
 			<header>
-				<h1 id="section-6">つまづきをどう解決するか</h1>
+				<h1 id="section-12">つまづきをどう解決するか</h1>
 			</header>
 			<!-- _S9SLIDE_ -->
 
@@ -251,10 +420,10 @@
 		</section>
 </div></div>
 
-<div class="slide" id="12"><div>
+<div class="slide" id="19"><div>
 		<section>
 			<header>
-				<h1 id="section-7">他に講義に取りいれるもの?</h1>
+				<h1 id="section-13">他に講義に取りいれるもの?</h1>
 			</header>
 			<!-- _S9SLIDE_ -->
 
@@ -278,7 +447,7 @@
 		</section>
 </div></div>
 
-<div class="slide" id="13"><div>
+<div class="slide" id="20"><div>
 		<section>
 			<header>
 				<h1 id="delta-">データ構造 Delta の定義</h1>
@@ -304,7 +473,7 @@
 		</section>
 </div></div>
 
-<div class="slide" id="14"><div>
+<div class="slide" id="21"><div>
 		<section>
 			<header>
 				<h1 id="delta--monad--instance-">Delta に対する Monad の instance 定義</h1>
@@ -328,10 +497,10 @@
 		</section>
 </div></div>
 
-<div class="slide" id="15"><div>
+<div class="slide" id="22"><div>
 		<section>
 			<header>
-				<h1 id="section-8">元のプログラムとプログラムの変更</h1>
+				<h1 id="section-14">元のプログラムとプログラムの変更</h1>
 			</header>
 			<!-- _S9SLIDE_ -->
 
@@ -342,7 +511,7 @@
 		</section>
 </div></div>
 
-<div class="slide" id="16"><div>
+<div class="slide" id="23"><div>
 		<section>
 			<header>
 				<h1 id="delta--1">Delta によって記述されたプログラムの実行</h1>
@@ -356,7 +525,7 @@
 		</section>
 </div></div>
 
-<div class="slide" id="17"><div>
+<div class="slide" id="24"><div>
 		<section>
 			<header>
 				<h1 id="delta--2">Delta のメリット</h1>
--- a/slide/slide.md	Thu Jan 22 10:49:27 2015 +0900
+++ b/slide/slide.md	Thu Jan 22 22:24:55 2015 +0900
@@ -5,9 +5,8 @@
 
 # Agenda
 * 大学ではどんなことをやっているか(講義, イベント, 研究)
-* 講義などでつまづくポイント
-* つまづきの解決策
-* どのような講義をするべきか?
+* ポジション(河野)
+* ポジション(比嘉)
 
 # 講義で使用している形式手法
 * 仕様記述
@@ -33,7 +32,7 @@
 * 集合, 論理, 関数, 自然演繹による証明
 * 型システム, Curry-Howard Isomorphism を通して Haskell, Agda で証明
 * Haskell : 自然演繹と lambda calculus
-* Agda    : Data type に対する証明 (Product, Sum, List, Functor, Monad ...)
+* Agda    : Category, Data type の証明 (Product, Sum, List, Functor, Monad ...)
 * Agda    : SystemT を使った自然数に対する演算の証明
 
 # Agda による証明を解説した例
@@ -42,13 +41,67 @@
 * Agda で SystemT の Nat の加法の交換法則を解説
 * 定義の解説にほとんどの時間を取られてしまう
 
-# 圏によるプログラムの形式化
+# 圏によるプログラムの形式化 : Delta Monad
 * プログラムの変更を Monad で表す
 * プログラムの変更時に変更前のプログラムも残したまま変更する
 * 全てのバージョンのプログラムを同時に実行できる
 * デバッグやテストと組み合せることでバグを見付けたい
 * 実行系と検証系を同時に走らせることもできる
 
+# ポジション(河野)
+* 形式手法を学習するには
+* 形式手法とツール
+* 形式手法とワークフロー
+* 形式手法と証明
+* 形式手法の将来
+
+# 形式手法を学習するには
+* 学習するには本や論文を読み、問題を一つ一つ解いていく必要がある
+    * 長く手間がかかる作業
+    * 一方でルールの適用なので誰がやっても結果は同じ
+    * 難しいのはルールの適用から意味のある結果を得ること
+    * そこが想像できないと「わからない」ということになる
+    * わからないのではなくて、わかることに価値を見出せなくなる
+
+# 形式手法とツール
+* 実際の形式ツールを使うためには
+    * どういうツールがあるのか調べる
+    * 環境を作ってそのツールを理解する
+* 使いこなすことでバグが取れたとして
+    * その利益はどこにあるのか
+    * 研究開発が速くなるのか, 質が良くなるのか
+* 理解して使う必要がある
+
+# 形式手法とワークフロー
+* 研究開発は分散版管理を用いて行なわれている
+    * Pull Request, Project Management Tool などで研究状況を認識
+* 分散版管理そのものは形式的に定義できると考えている
+    * Delta Monad というものを提案している
+* 学んで理解する教育手順そのものを研究室のワークフローとしたい
+    * ツールを組み込んだワークフローが有効であることを示したい
+    * 例) Pull Requeset 単位での model checking
+
+# 形式手法と証明
+* Agda は積極的に導入している
+    * 時間がかかるので使いどころは限られる
+* 形式手法を学んだり証明の見落しを調べるのに便利
+* 証明を研究開発の過程に組込むのは難しい
+    * しかし方向性を示すのに用いることはできる
+
+# 形式手法の将来
+* 将来的にプログラムのかなりの部分は証明される
+    * ライブラリもほとんど論文では証明が存在する
+    * 形式手法で示すことは信頼性のにも繋がる
+    * しかしプログラム全体に広めるのは時間がかかるしできるか不明
+* 形式手法の基本を理解し、いくつかのツールを使える人材を企業に送りこむのが良い
+
+
+
+# ポジション(比嘉)
+* 講義などでつまづいたポイント
+* つまづきの解決策
+* どのような講義をするべきか?
+
 # 学習コスト
 * 論理, 自然演繹 -> Haskell -> Agda
 * それぞれのステップに壁がある