Recommended
PDF
PDF
Machine learning CI/CD with OSS
PDF
Contrastive learning 20200607
PDF
PPTX
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
PDF
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
PDF
PDF
Transformerを多層にする際の勾配消失問題と解決法について
PDF
PPTX
[DL輪読会]GQNと関連研究,世界モデルとの関係について
PDF
PDF
BigQuery MLの行列分解モデルを 用いた推薦システムの基礎
PPTX
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
PPTX
PPTX
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
PDF
【DL輪読会】GPT-4Technical Report
PDF
PDF
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
PDF
Prophet入門【理論編】Facebookの時系列予測ツール
PDF
PDF
PDF
MHA for MySQLとDeNAのオープンソースの話
PPTX
PPTX
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)
PDF
PDF
MySQL 5.7にやられないためにおぼえておいてほしいこと
PPTX
【DL輪読会】ViT + Self Supervised Learningまとめ
PDF
PDF
形式手法と AWS のおいしい関係。- モデル検査器 Alloy によるインフラ設計技法 #jawsfesta
PPTX
More Related Content
PDF
PDF
Machine learning CI/CD with OSS
PDF
Contrastive learning 20200607
PDF
PPTX
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
PDF
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
PDF
PDF
Transformerを多層にする際の勾配消失問題と解決法について
What's hot
PDF
PPTX
[DL輪読会]GQNと関連研究,世界モデルとの関係について
PDF
PDF
BigQuery MLの行列分解モデルを 用いた推薦システムの基礎
PPTX
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
PPTX
PPTX
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
PDF
【DL輪読会】GPT-4Technical Report
PDF
PDF
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
PDF
Prophet入門【理論編】Facebookの時系列予測ツール
PDF
PDF
PDF
MHA for MySQLとDeNAのオープンソースの話
PPTX
PPTX
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)
PDF
PDF
MySQL 5.7にやられないためにおぼえておいてほしいこと
PPTX
【DL輪読会】ViT + Self Supervised Learningまとめ
PDF
Viewers also liked
PDF
形式手法と AWS のおいしい関係。- モデル検査器 Alloy によるインフラ設計技法 #jawsfesta
PPTX
PDF
PDF
PPTX
PPTX
KEY
PDF
Titanium初心者によるAlloy地雷原始末記
PDF
PDF
XP祭り2016 - SWチームとHWチームがスクラムを組んだら
PDF
PPTX
状態遷移機械を構成するための新しいイベントコンビネーターの提案(PPL2014 カテ3ポスター)
PDF
Global Innovation Nights - Spark
PDF
PDF
PDF
恊働ロボットCOROの開発における形式的仕様の適用事例
PDF
PPTX
SensorBee: Stream Processing Engine in IoT
PDF
Enterprise UI/UX - design as code
PPT
Similar to 形式手法とalloyの紹介
PDF
PPT
PPT
PDF
Introduction to Categorical Programming
PDF
関数モデル 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第8回】
PDF
“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...
PDF
Ruby科学データ処理ツールの開発 NArrayとPwrake
PDF
Introduction to Categorical Programming (Revised)
KEY
Algebraic DP: 動的計画法を書きやすく
PDF
PDF
ODP
PPTX
PDF
CODE THANKS FESTIVAL 2014 A日程 解説
KEY
KEY
Clojure programming-chapter-2
PPTX
PDF
PPTX
Introduction to Functional Programming
PDF
形式手法とalloyの紹介 1. 2. 3. 4. 5. identifier
::= "a..z,$,_" { "a..z,$,_,
0..9,unicode character over 00C0" }
class_name
::=
identifier
| ( package_name "." identifier )
• バッカス・ナウア記法でJavaのクラス名の仕
様を記述
6. 7. 8. モデル検査
• モデル検査(Model Checking)とは、形式システムをア
ルゴリズム的に検証する手法である。ハードウェアや
ソフトウェアの設計から導出されたモデルが形式仕様
を満足するかどうか検証する。
http://ja.wikipedia.org/wiki/%E3%83%A2%E3%83%87%E3%83%AB%E6%A4%9C%E6%9F%BB
9. 自動定理証明
• コンピュータプログラムによって数学的定理に対する
証明を発見すること。
→プログラムの正しさを保証したり、安全なプログラ
ムを書くことができる。
http://ja.wikipedia.org/wiki/%E8%87%AA%E5%8B%95%E5%AE%9A%E7%90%86%E8%A8%BC%E6%98%8E
10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Numberの定義
集合論でいう直和
abstract sig Number { data: Number -> Number }
abstract sig Region1, Region2, Region3 extends
Number {}
one sig N1, N2, N3 extends Region1 {}
one sig N4, N5, N6 extends Region2 {}
one sig N7, N8, N9 extends Region3 {}
22. 3×3のブロック
の定義 集合論でいう継承
abstract sig Number { data: Number -> Number }
abstract sig Region1, Region2, Region3 extends
Number {}
one sig N1, N2, N3 extends Region1 {}
one sig N4, N5, N6 extends Region2 {}
one sig N7, N8, N9 extends Region3 {}
23. (R1,R1),(R1,R2),(R1,R3)
実体の定義 (R2,R1),(R2,R2),(R2,R3)
(R3,R1),(R3,R2),(R3,R3)
abstract sig Number { data: Number -> Number }
abstract sig Region1, Region2, Region3 extends
Number {}
one sig N1, N2, N3 extends Region1 {}
one sig N4, N5, N6 extends Region2 {}
one sig N7, N8, N9 extends Region3 {}
Nは数字であり座標である
24. 25. pred rules() {
! all x, y: Number { lone y.(x.data) } N1∼N9は1つずつ、か
つN1∼N9のマップを保
持している
! all row: Number { complete[row , Number] }
! all col: Number { complete[Number, col] }
!
!
complete[Region1,
complete[Region1,
Region1]
Region2]
行・列に1∼9まで存在
! complete[Region1, Region3]
! complete[Region2, Region1]
! complete[Region2, Region2]
!
!
complete[Region2,
complete[Region3,
Region3]
Region1]
9個のブロックはそれ
! complete[Region3, Region2]
! complete[Region3, Region3] ぞれ1∼9が1つずつ存在
}
26. 27. 28. 参照カウント式GC
from きしだのはてな
http://d.hatena.ne.jp/nowokay/20120106#1325874065
29. 30. abstract sig メモリ{
参照しているメモリ(ルート)
参照: set 割り当て 参照されているメモリ(割り当
} て)の定義
one sig ルート extends メモリ{
}
sig 割り当て extends メモリ{
}
31. fact{
all a:割り当て | some m:メモリ |
not a in a.参照 and
a in m.参照
}
自己参照はなし
32. 33. 34. assert ルートからたどれる{
no a:割り当て |
not a in ルート.^参照
}
check ルートからたどれる
全ての割り当てメモリがルー
トからたどれるかチェック
35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51.