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
25
福井大学 情報・メディア学科 学士 研究発表
tyabu12
February 12, 2016
Tweet
Share
More Decks by tyabu12
See All by tyabu12
Git セミナー
tyabu12
0
46
Not a Number of Floating Point Problems
tyabu12
0
51
Type-Safe Modular Hash-Consing (Chapter 2)
tyabu12
0
49
Automating the Verification of Floating-Point Programs
tyabu12
0
44
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
Building Adaptive Systems
keathley
43
2.6k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
16
940
Optimizing for Happiness
mojombo
379
70k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
A better future with KSS
kneath
239
17k
We Have a Design System, Now What?
morganepeng
53
7.7k
BBQ
matthewcrist
89
9.7k
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