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
32
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
52
Not a Number of Floating Point Problems
tyabu12
0
62
Type-Safe Modular Hash-Consing (Chapter 2)
tyabu12
0
58
Automating the Verification of Floating-Point Programs
tyabu12
0
60
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Docker and Python
trallard
47
3.9k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Scaling GitHub
holman
464
140k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
Visualization
eitanlees
152
17k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
840
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
200
Building an army of robots
kneath
306
46k
Music & Morning Musume
bryan
47
7.2k
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