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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
tyabu12
February 12, 2016
36
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
福井大学 情報・メディア学科 学士 研究発表
tyabu12
February 12, 2016
More Decks by tyabu12
See All by tyabu12
Git セミナー
tyabu12
0
59
Not a Number of Floating Point Problems
tyabu12
0
69
Type-Safe Modular Hash-Consing (Chapter 2)
tyabu12
0
61
Automating the Verification of Floating-Point Programs
tyabu12
0
65
Featured
See All Featured
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
200
The agentic SEO stack - context over prompts
schlessera
0
900
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
410
Building a Scalable Design System with Sketch
lauravandoore
463
34k
[SF Ruby Conf 2025] Rails X
palkan
2
1.3k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
Automating Front-end Workflow
addyosmani
1369
210k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
Unsuck your backbone
ammeep
672
58k
30 Presentation Tips
portentint
PRO
1
390
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
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