Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
福井大学 情報・メディア学科 学士 研究発表
Search
tyabu12
February 12, 2016
0
17
福井大学 情報・メディア学科 学士 研究発表
tyabu12
February 12, 2016
Tweet
Share
More Decks by tyabu12
See All by tyabu12
Git セミナー
tyabu12
0
39
Not a Number of Floating Point Problems
tyabu12
0
38
Type-Safe Modular Hash-Consing (Chapter 2)
tyabu12
0
42
Automating the Verification of Floating-Point Programs
tyabu12
0
29
Featured
See All Featured
Designing for Performance
lara
602
67k
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.6k
Reflections from 52 weeks, 52 projects
jeffersonlam
345
19k
Learning to Love Humans: Emotional Interface Design
aarron
267
39k
Bash Introduction
62gerente
605
210k
Product Roadmaps are Hard
iamctodd
45
9.7k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.6k
The Brand Is Dead. Long Live the Brand.
mthomps
49
29k
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
The Cult of Friendly URLs
andyhume
74
5.7k
Rails Girls Zürich Keynote
gr2m
91
13k
Art, The Web, and Tiny UX
lynnandtonic
290
19k
Transcript
ࣗಈతɾରతͳ ఆཧূ໌ثΛ༻͍ͨ ۠ؒԋࢉϥΠϒϥϦͷݕূ ଔۀݚڀൃද Ҫେֶ ֶ෦ ใɾϝσΟΞֶՊ ੴҪݚڀࣨ ൃදऀ༅ஐਔ ֶ੶൪߸
1
എܠ ۠ؒԋࢉ ܭࢉػ্Ͱߴ৴པʹܭࢉΛ͢Δํ๏ ۠ؒԋࢉϥΠϒϥϦ #PPTU $ LW #PPTUվྑ */5-"# ."5-"#
LWͷ࣮ྫ ۠ؒಉ࢜ͷֻ͚ࢉͷΞϧΰϦζϜͷൈਮ ∀ ", $ ∈ &(() " ≤ 0 → " > 0 → $ ≤ 0 → $ ≤ 0 → "×$ ≈ [1("×$), ∆("×$)] 2
എܠ ۠ؒԋࢉ ܭࢉػ্Ͱߴ৴པʹܭࢉΛ͢Δํ๏ ۠ؒԋࢉϥΠϒϥϦ #PPTU $ LW #PPTUվྑ */5-"# ."5-"#
LWͷ࣮ྫ ۠ؒಉ࢜ͷֻ͚ࢉͷΞϧΰϦζϜͷൈਮ ∀ ", $ ∈ &(() " ≤ 0 → " > 0 → $ ≤ 0 → $ ≤ 0 → "×$ ≈ [1("×$), ∆("×$)] 3 όάͷࠞೖՄೳੑ ϗϯτʹߴ৴པʁ
Ϟνϕʔγϣϯ ˠ ҆৺ͯ۠ؒ͠ԋࢉϥΠϒϥϦΛ͍͍ͨ ߴ৴པͳܭࢉ త ۠ؒԋࢉϥΠϒϥϦͷ࣮ͷਖ਼͠͞ͷݕূ 4
ఏҊख๏ 8IZʹΑΓࣗಈత ରతͳఆཧূ໌ث ΛΈ߹ΘͤͨϓϩάϥϜݕূ 5 ಛ • ༷͖ ϓϩάϥϜ͔Βݕূ݅ͷࣗಈੜ •
ॊೈͳূ໌ ·ͣࣗಈূ໌ ˠ ΓΛػցࢧԉͷରূ໌ • ূ໌ࡁΈϓϩάϥϜͷࣗಈΤϯίʔυ ˠ ূ໌ͨ͠ϓϩάϥϜΛͦͷ··࣮ߦͰ͖Δʂ
۠ؒԋࢉ ܭࢉػ্Ͱ ߴ৴པʹܭࢉΛ͢Δํ๏ දهͱఆٛ! = ! , ! ∶= %
∈ ℝ ! ≤ % ≤ ! } 6 •Լݶ ! ͱ ্ݶ ! ුಈখ ԼݶԼ͖ * ্ݶ্͖ ∆ ʹؙΊΔ ˠ ଘࡏ͢ΔͰ͋Ζ͏ਅͷղΛؚΈͳ͕Βܭࢉ •࣮ͷԋࢉಉ༷ʹ ࢛ଇԋࢉΛఆٛՄೳ Ճࢉͷఆٛͱ࣮ ! + - ≔ % + / % ∈ ! ∧ / ∈ -} ≈ [* ! + - , ∆( ! + - )] ࣮ͷܭࢉྫ 2,4 + −3,5 = [2 − 3, 4 + 5] = [−1,9]
ఆཧূ໌ث ཧֶʹج͖ͮఆཧͷଥੑΛఆ ఆཧͷྫ ∀", $ ∈ ℕ, " + $
= $ + " ަ๏ଇ 7 4.5ιϧόʔ ࣗಈఆཧূ໌ث • ιϧόʔ͕ࣗಈతʹݕূ • ۙͷϚγϯεϖοΫͷ্ˠ ੑೳ͕ඈ༂తʹ্ • ܭࢉ͕ݱ࣮త࣌ؒͰఀࢭ͠ͳ͍߹͕͋Δ ఆཧূ໌ࢧԉܥ $PR ରఆཧূ໌ث • ਓͷखʹΑΔରূ໌ • 4.5ιϧόʔͰূ໌Ͱ͖ͳ͍߹ʹ$PRΛ͏
ॳظ݅ Λຬͨ͢ ϓϩάϥϜ Λ࣮ߦͯ͠ఀࢭ ࣄޙ݅ Λຬͨ͢ ԋ៷త ϓϩάϥϜݕূ 8 ༷͖ϓϩάϥϜ͕ਖ਼͍͜͠ͱΛ
ԋ៷తͳਪ )PBSFཧ ʹΑΓূ໌ ॳظ݅ɺࣄޙ݅ཧࣜ ϓϩάϥϜஞ࣍ݴޠͷจ ϓϩάϥϜ͕ਖ਼͍͠
8IZϓϥοτϑΥʔϜ ༷͖ ϓϩάϥϜ ݕূ݅ͷ ܭࢉ ূ໌ثʹΑΔ ଥੑఆ 8IZݴޠ 9 ԋ៷త
ϓϩάϥϜݕূͷͨΊʹ։ൃ • ࣮ුಈখͳͲΛѻ͑Δඪ४ϥΠϒϥϦ • ෳͷఆཧূ໌ث 4.5ιϧόʔ $PR Λར༻Մೳ • (6*͑Δʂ ϓϩάϥϜͷਖ਼͠͞ͷূ໌Λ ΄΅ࣗಈԽʂ
ྫՃࢉԋࢉͷݕূ ࣮ͷΈ 10 type interval = { inf: double; sup:
double; } let add (X Y: interval) : interval = { inf = add_down X.inf Y.inf; sup = add_up X.sup Y.sup; } ! + # ≈ [&(! + #), ∆(! + Y)] ࣮
ྫՃࢉԋࢉͷݕূ ༷͖ 11 type interval = { inf: double; sup:
double; } invariant { inf ≤ sup } let add (X Y: interval) : interval = ensures { forall x y: real. (in x X ∧ in y Y) -> in (x + y) result } { inf = add_down X.inf Y.inf; sup = add_up X.sup Y.sup; } ᶃ ৗʹʮԼݶ ≤ ্ݶʯ ᶄʮ# ∈ % ∧ & ∈ ' → # + & ∈ % + 'ʯ
ྫՃࢉԋࢉͷݕূ ༷͖ ҙͷ۠ؒ 9 : ʹର͠ ࣮ͷܭࢉΛͨ͠ͱ͖ ݁Ռͷ۠ؒ ࣄޙ݅ᶄ Λຬ͔ͨ͢ʁ
·ͨ ۠ؒৗʹ ݅ᶃ Λຬ͔ͨ͢ʁ 12 type interval = { inf: double; sup: double; } invariant { inf ≤ sup } let add (X Y: interval) : interval = ensures { forall x y: real. (in x X ∧ in y Y) -> in (x + y) result } { inf = add_down X.inf Y.inf; sup = add_up X.sup Y.sup; } ᶃ ৗʹʮԼݶ ≤ ্ݶʯ ᶄʮ# ∈ % ∧ & ∈ ' → # + & ∈ % + 'ʯ ༷
Ճࢉԋࢉͷݕূ 4.5ιϧόʔ "MU&SHP Ͱূ໌Ͱ͖ͨ 13 4.5ιϧόʔʹΑΔՃࢉͷݕূ݁Ռ 8IZ (6*
ࢉԋࢉͷݕূ 4.5ιϧόʔ ͰҰ ෦ͷ߹Ͱ͔ࣗ͠ಈূ ໌Ͱ͖ͣ 14 4.5ιϧόʔʹΑΔׂޙͷݕ ূ݅ͷݕূ݁Ռ 8IZ (6*
ࢉԋࢉͷݕূ 4.5ιϧόʔ ͰҰ ෦ͷΈͰ͔ࣗ͠ಈূ໌ Ͱ͖ͣ ˠ $PRʹΑΔରূ ໌ 15 8IZ͕ࢉͷݕূϓϩάϥϜ͔Β
ࣗಈܭࢉͨ͠ $PR༻ͷݕূ݅ $PR*%&
ࢉԋࢉͷݕূ 4.5ιϧόʔ ͰҰ ෦ͷΈͰ͔ࣗ͠ಈূ໌ Ͱ͖ͣ ˠ $PRʹΑΔରূ ໌ ˠ ӈΛূ໌͢ΕΑ
͍ ্෦લఏͰԼ ͕ূ໌͖͢ఆཧ 16 ཧޙͷ $PR༻ͷݕূ݅ $PR*%&
ݕূ݁Ռ ۠ؒಉ࢜ͷ࢛ଇԋࢉͷ࣮Λݕূͨ͠ 17 ݕূ݁Ռ • Λ࣮ real ͱͨ۠ؒ͠ ˠ
શͯূ໌ • Λුಈখ double ͱͨ۠ؒ͠ ˠ Ճࢉͱݮࢉূ໌ ࢉҰ෦ আࢉূ໌Ͱ͖ͣ
18 ) ! $
+ 2 2 0 0 − 2 2 0 0 × 22 13 9 0 ÷ 8 0 8 0 : "% $$#&'( ࢛ଇԋࢉͷݕূ݁Ռ real
19 ) ! $
+ 2 2 - 0 − 2 2 - 0 × 30 16 - 14 ÷ 12 0 - 12 ࢛ଇԋࢉͷݕূ݁Ռ double : "% $$#&'( ؙΊಛघͳ ແݶେͳͲ ʹΑΓ ݕূ͕͔݅ͳΓෳࡶʹͳΓɺରূ໌Ͱ͖ͳ͔ͬͨ
۠ؒԋࢉͷݕূ ۠ؒಉ࢜ͷ࢛ଇԋࢉͷ࣮Λ༻͍ͨ ϓϩάϥϜΛݕূΛͨ͠ 20 ݕূ݁Ռ • ۠ؒͱͷੵ real double
ˠ ূ໌Ͱ͖ͨ • ྦྷ real double ˠ ূ໌Ͱ͖ͨ • ฏํࠜ real ˠ ূ໌Ͱ͖ͨ • ฏํࠜ double) ˠ ূ໌Ͱ͖ͳ͔ͬͨ
࢛ଇԋࢉͷ࣮Λ༻͍ͨ ϓϩάϥϜͷݕূ݁Ռ real 21 !
21 21 0 0 10 10 0 0 11 10 1 0
࢛ଇԋࢉͷ࣮Λ༻͍ͨ ϓϩάϥϜͷݕূ݁Ռ double 22 !
21 21 - 0 10 10 - 0 14 10 - 4
·ͱΊ ఆཧূ໌ثΛ༻͍ͨ۠ؒԋࢉϥΠϒϥϦͷ ݕূͷ֓ཁͱݕূ݁ՌΛࣔͨ͠ 23 ࠓճͷݕূʹΑΓূ໌Ͱ͖ͨͷ • ͕࣮ͷ۠ؒ • ۠ؒಉ࢜ͷ࢛ଇԋࢉ •
۠ؒಉ࢜ͷ࢛ଇԋࢉΛ༻͍ͨܭࢉϓϩάϥϜ • ͕ුಈখ۠ؒ • ۠ؒಉ࢜ͷՃࢉͱݮࢉ • ۠ؒಉ࢜ͷࢉͷ߹͚ͷҰ෦ • ۠ؒಉ࢜ͷ࢛ଇԋࢉΛ༻͍ͨܭࢉϓϩάϥϜ
ࠓޙͷ՝ •ුಈখͷ࢛ଇԋࢉͷূ໌ ݕূ݅ͷෳࡶԽ ˠ ରূ໌͔ͳΓ͍͠ ߟ͑ΒΕΔղܾҊ • ࣮Λิॿఆཧʹ༻͍ͨ4.5ιϧόʔʹΑΔূ໌ •Γͷ۠ؒԋࢉϥΠϒϥϦͷ࣮ͷݕূ •
ॳؔ ࡾ֯ؔͳͲ • ුಈখ ˠ จࣈྻ ͷม •ݕূࡁΈϓϩάϥϜ ˠ 0$BNM ͷΤϯίʔυ • 8IZʹුಈখ༻ͷΤϯίʔυυϥΠόʔ·ͩͳ͍ 24
ࢀߟจݙ • കଜߊ 4.5ιϧόɾ4.5ιϧόͷٕज़ͱԠ༻ ίϯϐϡʔλιϑτΣΞ QQ •
3BNPO&.PPSF FUBM Introduction to Interval Analysis 4*".1SFTT • :WFT#FSUPU BOE1JFSSF$BTUFSBO Interactive theorem proving and program develop-ment - Coq’art: The calculus of inductive constructions 4QSJOHFS7FSMBH 25