Recommended
PDF
Pennington, Socher, and Manning. (2014) GloVe: Global vectors for word repres...
PDF
PDF
PDF
自然演繹に基づく文間の含意関係の証明を用いたフレーズアライメントの試み
PPT
融合変換による最適化の理論的基盤と正当性 (2006-06-20)
PPTX
KB + Text => Great KB な論文を多読してみた
PDF
Acl yomikai, 1016, 20110903
PPTX
dont_count_predict_in_acl2014
PDF
TensorFlow math ja 05 word2vec
PDF
PPTX
【輪読会】Braxlines: Fast and Interactive Toolkit for RL-driven Behavior Engineeri...
PDF
PDF
PDF
PDF
PDF
PPT
111127.lsj143.田川 japanese conjugation and dm
PDF
オブジェクト指向開発におけるObject-Functional Programming
PDF
Object-Functional Analysis and Design and Programming温泉
PDF
関数モデル 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第8回】
PDF
PDF
PDF
PDF
PDF
PDF
Introduction to Categorical Programming
ODP
PDF
PDF
PDF
More Related Content
PDF
Pennington, Socher, and Manning. (2014) GloVe: Global vectors for word repres...
PDF
PDF
PDF
自然演繹に基づく文間の含意関係の証明を用いたフレーズアライメントの試み
PPT
融合変換による最適化の理論的基盤と正当性 (2006-06-20)
PPTX
KB + Text => Great KB な論文を多読してみた
PDF
Acl yomikai, 1016, 20110903
PPTX
dont_count_predict_in_acl2014
What's hot
PDF
TensorFlow math ja 05 word2vec
PDF
PPTX
【輪読会】Braxlines: Fast and Interactive Toolkit for RL-driven Behavior Engineeri...
PDF
PDF
PDF
PDF
PDF
PPT
111127.lsj143.田川 japanese conjugation and dm
Similar to 融合変換による最適化の理論的基盤と正当性 (2006-06-27)
PDF
オブジェクト指向開発におけるObject-Functional Programming
PDF
Object-Functional Analysis and Design and Programming温泉
PDF
関数モデル 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第8回】
PDF
PDF
PDF
PDF
PDF
PDF
Introduction to Categorical Programming
ODP
PDF
PDF
PDF
PDF
Cartesian Closed Category
PPTX
PDF
KEY
Algebraic DP: 動的計画法を書きやすく
PDF
Object-Funcational Analysis and design
PDF
PDF
Introduction to Categorical Programming (Revised)
More from Masahiro Sakai
PDF
PDF
Introduction to Max-SAT and Max-SAT Evaluation
PDF
PDF
自然言語をラムダ式で解釈する体系PTQのHaskell実装
PDF
RClassify: Classifying Race Conditions in Web Applications via Deterministic ...
PDF
Writing a SAT solver as a hobby project
PDF
KEY
How a CDCL SAT solver works
PDF
DeepXplore: Automated Whitebox Testing of Deep Learning
PDF
PDF
Towards formal verification of neural networks
PDF
SAT/SMT solving in Haskell
PDF
萩野服部研究室 スキー合宿 2012 自己紹介(酒井)
PDF
Relaxed Dependency Analysis
PDF
Aluminum: Principled Scenario Exploration through Minimality
PDF
“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...
PDF
PDF
“Design and Implementation of Generics for the .NET Common Language Runtime”他...
PDF
“Symbolic bounds analysis of pointers, array indices, and accessed memory reg...
PDF
融合変換による最適化の理論的基盤と正当性 (2006-06-27) 1. 2. 3. 自己紹介: 活動 Haskell Lightweight Language Weekend 2004 Lightweight Language Day and Night 2005 日経ソフトウェア6月号「Haskellによる関数プログラミング入門」 Ruby-GNOME2 4. 5. 6. 7. 8. 位置づけ 基礎 応用 信頼性の高いソフトウェア 高性能なソフトウェア ソフトウェア検証 プログラム変換 数理論理学 プログラム意味論 コンピュータサイエンス 9. 位置づけ 基礎 応用 領域理論 型理論 各種意味論 ロジック 圏論 離散数学 融合変換 等 形式的証明 モデル検査 テスト等 信頼性の高いソフトウェア 高性能なソフトウェア ソフトウェア検証 プログラム変換 数理論理学 プログラム意味論 コンピュータサイエンス 10. 11. 12. 13. 14. 融合変換の例 add(vector A, vector B) { vector tmp; for (int i = 0; i < A.size; i++) tmp[i] = A[i] + B[i]; return tmp; } add(add(A,B), C); 二回ループを回す必要 15. 融合変換の例 add3(vector A, vector B, vector C) { vector tmp; for (int i = 0; i < A.size; i++) tmp[i] = A[i] + B[i] + C[i]; return tmp; } add3(A,B,C); 一回のループですむ 効率向上 16. 17. 18. 19. 20. 圏論 対象と射 ( 矢印 ) による抽象化 プログラムを扱うのに便利な概念を提供 等式を図式で表現 連続関数 位相空間 準同型 群 関数 集合 プログラム 型 射 対象 21. 22. 帰納的定義の例 2 倍する関数 double : N -> N double(0) = 0 double(s(n)) = s(s(double(n)) fold で表現 double = fold(0, s∘s) 23. double ∘ double の融合 double は以下を満たす double ∘ 0 = 0 double ∘ s ∘ s = s∘s∘s∘s ∘ double よって double∘double ∘ 0 = 0 double∘double ∘ s = s∘s∘s∘s∘double∘double 24. double ∘ double の融合 double ∘ double ∘ 0 = 0 double ∘ double ∘ s = s ∘ s ∘ s ∘ s ∘ double ∘ double fold(0,s∘s∘s∘s) も 同じ等式を満たす 一意性より double ∘ double = fold(0,s∘s∘s∘s) 25. double ∘ double の融合 double ∘ double ∘ 0 = 0 double ∘ double ∘ s = s ∘ s ∘ s ∘ s ∘ double.double fold(0,s∘s∘s∘s) も 同じ等式を満たす 一意性より double ∘ double = fold(0,s∘s∘s∘s) 融合できた !! 26. 融合変換の規則 一般に h:X->Y が h ∘ g = g’ ∘ h h ∘ f = f’ を満たすならば h ∘ fold(f,g) = fold(f’,g’) 27. 融合の難しさ h ∘ fold(f,g) = fold(f’,g’) f’, g’ をどう発見するか ? 関数は fold(f,g) の形をしていないかも 対策 Shortcut 融合変換 関数を融合しやすい形で定義しておく Warm Fusion 一般の再帰的定義から fold/build を導出 28. 融合変換の実装例 Haskell の処理系 GHC short-cut 融合変換 10 クイーンで 43%, 大規模ベンチマークで平均 3% の実行時間改善 尾上 能之 『融合変換による関数プログラムの最適化』 [Onoue’99] 再帰的定義から Hylomorphism という形式を導出し、 Hylo-Cata fusion という規則によって融合を行う GHC に実装したが取り込まれてはいない 29. 30. 31. 32. 33. 34. 35. 36.