Slide 1

Slide 1 text

༗ݶΦʔτϚτϯͱਖ਼نදݱ ܗࣜݴޠษڧձ #2 @ य़೔ΤϦΞ himkt

Slide 2

Slide 2 text

ୈ1ষ: ΦʔτϚτϯͱ͸ ୈ2ষ: ༗ݶΦʔτϚτϯ ୈ3ষ: ༗ݶΦʔτϚτϯͷݶք ୈ4ষ: ਖ਼نදݱ

Slide 3

Slide 3 text

ୈ1ষ: ΦʔτϚτϯͱ͸ ୈ2ষ: ༗ݶΦʔτϚτϯ ୈ3ষ: ༗ݶΦʔτϚτϯͷݶք ୈ4ষ: ਖ਼نදݱ

Slide 4

Slide 4 text

ΦʔτϚτϯͱ͸…ͷલʹܭࢉͱ͸ʁ • ਺஋ܭࢉ͚͕ͩܭࢉͰ͸ͳ͍ • “1 + 1” -> “2” • “aiueo” -> “͍͋͏͓͑” • ίϯϐϡʔλʹ͓͍ͯܭࢉΛ࢘Δͷ͸CPUͱϝϞϦ • ߏ଄͸ඇৗʹෳࡶ • ΦʔτϚτϯɿʮܭࢉʯΛ࣮ߦ͢Δ਺ֶతϞσϧ • ݪ࢝త͔ͭந৅త ͜Ε΋ܭࢉ ͜Ε͸ܭࢉ

Slide 5

Slide 5 text

ΦʔτϚτϯͱ͸ʁ • ೖྗɼग़ྗɼঢ়ଶΛ͍࣋ͬͯΔʢू߹ʣ • ೖྗʹରͯ͠ɼͦͷঢ়ଶʹԠͨ͡ग़ྗΛ͢Δ • ঢ়ଶͷʮભҠʯ͸ঢ়ଶͱه߸ΛҾ਺ͱͯ͠ঢ়ଶΛग़ྗ͢Δؔ਺
 ʹΑͬͯఆٛ͞ΕΔ ྫ: ೖྗ ग़ྗ ঢ়ଶ q0 q1 q2 1 0 ঢ়ଶɿ·Δ͍΍ͭɼભҠɿখ͍͞໼ҹ ʢେ͖͍໼ҹ͸ॳظঢ়ଶʣ f(q0 , 1) = q1 , f(q1 , 0) = q2

Slide 6

Slide 6 text

ΦʔτϚτϯͷछྨ • ܾఆੑ༗ݶΦʔτϚτϯ • ඇܾఆੑ༗ݶΦʔτϚτϯ • ܾఆੑϓογϡμ΢ϯΦʔτϚτϯ • ඇܾఆੑϓογϡμ΢ϯΦʔτϚτϯ • ܾఆੑνϡʔϦϯάϚγϯ • ඇܾఆੑνϡʔϦϯάϚγϯ ෳࡶ ؆ૉ

Slide 7

Slide 7 text

ୈ1ষ: ΦʔτϚτϯͱ͸ ୈ2ষ: ༗ݶΦʔτϚτϯ ୈ3ষ: ༗ݶΦʔτϚτϯͷݶք ୈ4ষ: ਖ਼نදݱ

Slide 8

Slide 8 text

༗ݶΦʔτϚτϯ…ͦͷલʹɼݴޠͱ͸ʁ • ͋ΔΦʔτϚτϯ͕डཧ͢Δه߸ྻͷू߹Λݴޠͱ͍͏ • ΦʔτϚτϯ͸ݴޠΛʮೝࣝʯ͢Δ • ྫ: ݴޠɹɹɹɹɹɹɹɹɹɹɹɹɹ Λೝࣝ͢ΔΦʔτϚτϯ • “f”, “fl”, “ffl”, “fll”, … • ͜ͷه߸ྻͷू߹͕ݴޠʢ͜ͷ৔߹͸ແݶू߹ʣ L = {filj|i 1, j 0}

Slide 9

Slide 9 text

ܾఆੑ༗ݶΦʔτϚτϯͱ͸ʁ • 3ͭͷू߹ɼ1ͭͷؔ਺ɼ1ͭͷཁૉʹΑͬͯߏ੒͞ΕΔ • ঢ়ଶू߹ɼೖྗه߸ू߹ɼडཧঢ়ଶɼঢ়ଶભҠؔ਺ɼॳظঢ়ଶ • ܗࣜతʹ͸ɿ • ྫɿݴޠɹɹɹɹɹɹɹɹɹɹɹɹɹ Λೝࣝ͢ΔΦʔτϚτϯ M = (Q, , , q0 , F) L = {filj|i 1, j 0} Q = {q0 , q1 , q2 } = {f, l} (q0, f) = q1, (q1, f) = q1, (q0, l) = q2, (q2, l) = q2 q0 F = {q1, q2 }

Slide 10

Slide 10 text

ܾఆੑ༗ݶΦʔτϚτϯͱ͸ʁ • 3ͭͷू߹ɼ1ͭͷؔ਺ɼ1ͭͷཁૉʹΑͬͯߏ੒͞ΕΔ • ঢ়ଶू߹ɼೖྗه߸ू߹ɼडཧঢ়ଶɼঢ়ଶભҠؔ਺ɼॳظঢ়ଶ • ܗࣜతʹ͸ɿ • ྫɿݴޠɹɹɹɹɹɹɹɹɹɹɹɹɹ Λೝࣝ͢ΔΦʔτϚτϯ q0 q1 q2 f l l f M = (Q, , , q0 , F) L = {filj|i 1, j 0}

Slide 11

Slide 11 text

ʮඇʯܾఆੑ༗ݶΦʔτϚτϯͱ͸ʁ • 3ͭͷू߹ɼ1ͭͷؔ਺ɼ1ͭͷཁૉʹΑͬͯߏ੒͞ΕΔ • ঢ়ଶू߹ɼೖྗه߸ू߹ɼडཧঢ়ଶɼঢ়ଶભҠؔ਺ɼॳظঢ়ଶ • ܗࣜతʹ͸ɿ • ྫɿݴޠɹɹɹɹɹɹɹɹɹɹɹɹɹ Λೝࣝ͢ΔΦʔτϚτϯ M = (Q, , , q0 , F) L = {filj|i 1, j 0} Q = {q0 , q1 } = {f, l} (q0, f) = {q0, q1 }, (q1, l) = q1 q0 F = {q1 }

Slide 12

Slide 12 text

ʮඇʯܾఆੑ༗ݶΦʔτϚτϯͱ͸ʁ • 3ͭͷू߹ɼ1ͭͷؔ਺ɼ1ͭͷཁૉʹΑͬͯߏ੒͞ΕΔ • ঢ়ଶू߹ɼೖྗه߸ू߹ɼडཧঢ়ଶɼঢ়ଶભҠؔ਺ɼॳظঢ়ଶ • ܗࣜతʹ͸ɿ • ྫɿݴޠɹɹɹɹɹɹɹɹɹɹɹɹɹ Λೝࣝ͢ΔΦʔτϚτϯ M = (Q, , , q0 , F) L = {filj|i 1, j 0} q0 f f l q1

Slide 13

Slide 13 text

ܾఆੑ༗ݶΦʔτϚτϯʁඇܾఆੑ༗ݶΦʔτϚτϯʁ q0 q1 q2 q0 f l f f l l f 1. ܾఆੑ༗ݶΦʔτϚτϯ 2. ඇܾఆੑ༗ݶΦʔτϚτϯ • ༗ݶΦʔτϚτϯͷঢ়ଶભҠؔ਺͸ೖྗʹରͯ͠ग़ྗ͕Ұҙʹܾ·Δ • ඇܾఆΦʔτϚτϯͷঢ়ଶભҠؔ਺͸ೖྗʹରͯ͠ෳ਺ͷग़ྗ͕͋Γ͏Δ • ભҠͷ࢓ํ͕ෳ਺ߟ͑ΒΕΔ • ྫɿݴޠɹɹɹɹɹɹɹɹɹɹɹɹɹ Λೝࣝ͢ΔΦʔτϚτϯ • ྆ऀͷҧ͍͸ʁ q1 L = {filj|i 1, j 0}

Slide 14

Slide 14 text

ܾఆੑ༗ݶΦʔτϚτϯʁඇܾఆੑ༗ݶΦʔτϚτϯʁ • ඇܾఆతͳϞσϧͷ΄͏͕ঢ়ଶભҠਤ͕௚ײతʹ͔͚Δ • ͔͠͠ɼ࣮ࡍʹ͸ܭࢉػͳͲͷ಺෦Ͱ͸ଟ͘ͷ৔߹ܾఆతͳϞσϧ͕࢖ΘΕΔ • ͳͥʁ • ܾఆੑ༗ݶΦʔτϚτϯ͸౳Ձͳඇܾఆੑ༗ݶΦʔτϚτϯ͕ඞͣଘࡏ͢Δ • ػցʹͱͬͯ͸ܾఆੑ༗ݶΦʔτϚτϯͷ΄͏͕ॲཧ͠΍͍͢ • ඇܾఆੑ༗ݶΦʔτϚτϯ͸ਓ͕ݟͯΘ͔Γ΍͍͢ʢ௚ײతʣ • ఆٛ͢Δͱ͖͸ඇܾఆੑ༗ݶΦʔτϚτϯɼ࣮૷͢Δͱ͖͸ܾఆੑ༗ݶΦʔτϚτϯʹ ม׵͢Ε͹ྑͦ͞͏ʢม׵ͷΞϧΰϦζϜʣ

Slide 15

Slide 15 text

ۭಈ࡞Λ࣋ͭ༗ݶΦʔτϚτϯ • ݴޠɹɹɹɹɹɹɹɹɹɹɹɹɹΛೝࣝ͢ΔΦʔτϚτϯΛߟ͑Δ • Θ͔Γʹ͍͘… • શ෦डཧঢ়ଶ… L = {aibj|i 0, j 0} q0 b a b 1. ۭಈ࡞Λ࣋ͨͳ͍ܾఆੑ༗ݶΦʔτϚτϯ q1

Slide 16

Slide 16 text

ۭಈ࡞Λ࣋ͭ༗ݶΦʔτϚτϯ • ݴޠɹɹɹɹɹɹɹɹɹɹɹɹɹΛೝࣝ͢ΔΦʔτϚτϯΛߟ͑Δ • ۭه߸ɹΛߟ͑Δ͜ͱͰ౳Ձͳ௚ײతʢʁʣΦʔτϚτϯ͕࡞ΕΔ • 0ճҎ্ͷ܁Γฦ͠Λߟ͑Δࡍʹศར • ਖ਼نදݱͰ׆༂ L = {aibj|i 0, j 0} q0 b a b 1. ۭಈ࡞Λ࣋ͨͳ͍ܾఆੑ༗ݶΦʔτϚτϯ q1 q0 a b 2. ۭಈ࡞Λܾ࣋ͭఆੑ༗ݶΦʔτϚτϯ q1 a = a = a

Slide 17

Slide 17 text

ୈ1ষ: ΦʔτϚτϯͱ͸ ୈ2ষ: ༗ݶΦʔτϚτϯ ୈ3ষ: ༗ݶΦʔτϚτϯͷݶք ୈ4ষ: ਖ਼نදݱ

Slide 18

Slide 18 text

༗ݶΦʔτϚτϯͷݶք • ༗ݶΦʔτϚτϯͰ͸ೝࣝ͢Δ͜ͱ͕Ͱ͖ͳ͍ݴޠ͕ଘࡏ͢Δ • ྫ1ɿճจ͔ΒͳΔݴޠ • { “ͱ·ͱ”, “͚ͨ΍Ϳ΍͚ͨ”, “͠ΜͿΜ͠”, … } • ྫ2ɿಉ਺ճ܁Γฦ͢ه߸͔ΒͳΔݴޠ • {“ab”, “aabb”, “aaabbb”, …} • ϓογϡμ΢ϯΦʔτϚτϯɼνϡʔϦϯάϚγϯ͕ղܾ L = {aibi|i 1}

Slide 19

Slide 19 text

ݴޠLΛडཧ͢ΔΦʔτϚτϯʁ • ݴޠ • ΦʔτϚτϯ1͸ʁ • “abb”, “abbb”, …΋डཧͯ͠͠·͏ • ఆٛʹໃ६ • ΦʔτϚτϯ2͸ʁ • ΞΠσΞɿ2*i + 1ݸͷঢ়ଶΛ࣋ͭ • i͸1Ҏ্ͷࣗવ਺ • ༗ݶͰ͋Δ͜ͱʹໃ६ L = {aibi|i 1} q0 q1 q2 a b b a 1. ݴޠLΛडཧ͢ΔΦʔτϚτϯʁ 2. ݴޠLΛडཧ͢ΔΦʔτϚτϯʁ … … a a a a b b b b b b b

Slide 20

Slide 20 text

ͳͥ༗ݶΦʔτϚτϯͰ͸डཧͰ͖ͳ͍ݴޠ͕͋Δʁ • ௚ײతʹ͸ʮաڈͷ৘ใΛ͓֮͑ͯ͘͜ͱ͕Ͱ͖ͳ͍͔Βʯ • ͋Δঢ়ଶʹ͓͍ͯɼաڈͷঢ়ଶͷܥྻ͕෼͔Ε͹…. • هԱ૷ஔ͕ඞཁ • ϓογϡμ΢ϯΦʔτϚτϯɼνϡʔϦϯάϚγϯ͕͜ͷ՝୊Λղܾ͢Δ

Slide 21

Slide 21 text

ୈ1ষ: ΦʔτϚτϯͱ͸ ୈ2ষ: ༗ݶΦʔτϚτϯ ୈ3ষ: ༗ݶΦʔτϚτϯͷݶք ୈ4ষ: ਖ਼نදݱ

Slide 22

Slide 22 text

ਖ਼نදݱͱ͸ʁ • ϓϩάϥϛϯάݴޠΛ࢖ͬͯςΩετΛॲཧ͢Δͱ͖ʹ࢖͏ • ಛఆͷ৚݅Λຬͨ͢ه߸ྻΛݟ͚ͭΔ • /^[a-z]*-[0-9]*/ Έ͍ͨͳ΍ͭʢRubyʣ • ʢ”0ճҎ্ͷจࣈͷ܁Γฦ͠”-“0ճҎ্ͷ਺ࣈͷ܁Γฦ͠”ʣ • ྫɿ”potato-1”, “tomato-2”, “carrot-3” • *ͱ͔࢖ͬͯΔ͚Ͳ͜ΕͬͯԿʁ

Slide 23

Slide 23 text

ਖ਼نදݱͷ४උ • *ɿ0ճҎ্ͷ܁Γฦ͠ɿελʔดแ • +ɿ1ճҎ্ͷ܁Γฦ͠ • ()ɿه߸ྻΛ1ͭͷه߸ͱΈͳ͢ʢؙׅހɼύʔϨϯʣ • |ɿ۠੾ΒΕͨه߸ͷ೚ҙͷ1ه߸Λද͢ʢॎ๮ɼόʔςΟΧϧόʔʣ • ྫɿ(ab)|c -> ab, c

Slide 24

Slide 24 text

ਖ਼نදݱͷ४උ - ελʔดแ • ه߸ͷू߹Λɹͱ͢Δ • ྫɿ • ɹͷελʔดแɹɹ͸… ۭจࣈྻɹͱɹɹʹؚ·ΕΔه߸Λ࢖ͬͯ࡞ΕΔ͋ΒΏΔه߸ྻ͔ΒͳΔແݶू߹ ʢɹɹ ʹؚ·ΕΔه߸Λ࢖ͬͯ࡞ΕΔ͋ΒΏΔه߸ྻ͔ΒͳΔແݶू߹ɿɹɹ ʣ 0ճҎ্ͷ܁Γฦ͠ = {a, b} = { , a, b, aa, ab, ba, bb, aaa, . . . } + = {a, b} 0 = { } = i=0 i + = i=1 i

Slide 25

Slide 25 text

ਖ਼نදݱͷ४උ - ࿈઀ • ɹɹɹɹɹɹɹɹɹͷͱ͖ • ࿈઀ • ݴޠɹ ͱݴޠɹ ͷ࿈઀ • ಛघͳ৔߹ • ۭจࣈྻͷΈ͔ΒͳΔू߹ɹ , ۭू߹ x = ”aa”, y = ”bb” xy = ”aabb” L1 L2 L1 L2 = {xy|x L1 , y L2 } L1 L = L1 , L1 L = L L ۭू߹ͱͷ࿈઀͸੒ཱ͠ͳ͍

Slide 26

Slide 26 text

ਖ਼نදݱͱ౳Ձͳ༗ݶΦʔτϚτϯ • ઌ΄Ͳ֬ೝͨ͠ҎԼͷૢ࡞ʢʁʣΛߦ͏༗ݶΦʔτϚτϯ • ਖ਼نදݱͱ౳ՁͳΦʔτϚτϯ • ૢ࡞ʢʁʣ • ελʔดแ • ؙׅހ • ॎ๮ • ࿈઀ ਤɿ͸͡ΊֶͯͿ ΦʔτϚτϯͱݴޠཧ࿦ΑΓ

Slide 27

Slide 27 text

ࢀߟࢿྉ • ౻ݪڿ޺. ͸͡ΊֶͯͿΦʔτϚτϯͱݴޠཧ࿦. ৿๺ग़൛, 2015, 176p. • ͜ͷษڧձͰಡΉ͜ͱʹͳ͍ͬͯΔຊ • ෋ాӻ࣍, ԣ৿و. ΦʔτϚτϯɾݴޠཧ࿦. ୈ2൛, ৿๺ग़൛, 2013, 214p. • ษڧձͰಡΜͰΔຊΑΓৄ͍͠

Slide 28

Slide 28 text

͓·͚ɿू߹ͱ͸

Slide 29

Slide 29 text

ू߹ͱ͸Կ͔ • ֬ఆ͞Εͨର৅෺ͷू·Γ • ɹɹɹ͸ू߹ • ू߹ͷཁૉʹ͸ॏෳ͸ೝΊΒΕͳ͍ • ɹɹɹ͸ू߹Ͱ͸ͳ͍ • ू߹ʹ͸ೋछྨ͋Δ • ༗ݶू߹ʢfinite setʣɿཁૉ͕༗ݶݸ • ແݶू߹ʢinfinite setʣɿཁૉ͕ແݶݸ

Slide 30

Slide 30 text

ू߹ʹؔ͢Δه๏ • ू߹ͷఆٛํ๏ʹ͸2छྨ͋Δ • ֎Ԇతఆٛɿ • ू߹ͷཁૉΛྻڍ͢Δ͜ͱͰू߹Λఆٛ • ແݶू߹Λهड़Ͱ͖ͳ͍ • ಺แతఆٛɿ • ू߹ͷཁૉ͕ຬͨ͢ੑ࣭Λࣔ͢͜ͱͰू߹Λఆٛ

Slide 31

Slide 31 text

ू߹ʹؔ͢Δه๏ • ͋Δಛఆͷཁૉ͕͋Δಛఆͷू߹ʹؚ·Ε͍ͯΔ͔ • , • ͋Δಛఆͷू߹͕͋Δಛఆͷू߹ʹؚ·Ε͍ͯΔ͔ • ɹɹɹ ʢ෦෼ू߹ʣ • ͔ͭAͱB͕ҟͳΔू߹ͷͱ͖: ʢਅ෦෼ू߹ʣ • ఆٛ͞ΕΔԋࢉ • ࿨ • ࠩ • ੵ A B U a A a / A B A B A B A

Slide 32

Slide 32 text

͓·͚ɿζϯυίΩϤγΛडཧ͢Δ༗ݶΦʔτϚτϯ

Slide 33

Slide 33 text

ζϯυίΩϤγΛडཧ͢Δܾఆੑ༗ݶΦʔτϚτϯ ΩϤγ * • https://gist.github.com/himkt/ef310672b6918288cadff1ba0a06061b q0 q4 q3 q2 q5 q6 q1 ζϯ ζϯ ζϯ ζϯ υί ΩϤγ

Slide 34

Slide 34 text

ζϯυίΩϤγΛडཧ͢Δܾఆੑ༗ݶΦʔτϚτϯ ΩϤγ * • https://gist.github.com/himkt/ef310672b6918288cadff1ba0a06061b ζϯ ζϯ ζϯ ζϯ υί ΩϤγΛೖྗ q0 q4 q3 q2 q5 q6 q1 ζϯ ζϯ ζϯ ζϯ υί ΩϤγ

Slide 35

Slide 35 text

ζϯυίΩϤγΛडཧ͢Δܾఆੑ༗ݶΦʔτϚτϯ ΩϤγ * • https://gist.github.com/himkt/ef310672b6918288cadff1ba0a06061b q0 q4 q3 q2 q5 q6 q1 ζϯ ζϯ ζϯ ζϯ υί ΩϤγ ζϯ ζϯ ζϯ ζϯ υί ΩϤγΛೖྗ

Slide 36

Slide 36 text

ζϯυίΩϤγΛडཧ͢Δܾఆੑ༗ݶΦʔτϚτϯ ΩϤγ * • https://gist.github.com/himkt/ef310672b6918288cadff1ba0a06061b q0 q4 q3 q2 q5 q6 q1 ζϯ ζϯ ζϯ ζϯ υί ΩϤγ ζϯ ζϯ ζϯ ζϯ υί ΩϤγΛೖྗ

Slide 37

Slide 37 text

ζϯυίΩϤγΛडཧ͢Δܾఆੑ༗ݶΦʔτϚτϯ ΩϤγ * • https://gist.github.com/himkt/ef310672b6918288cadff1ba0a06061b q0 q4 q3 q2 q5 q6 q1 ζϯ ζϯ ζϯ ζϯ υί ΩϤγ ζϯ ζϯ ζϯ ζϯ υί ΩϤγΛೖྗ

Slide 38

Slide 38 text

ζϯυίΩϤγΛडཧ͢Δܾఆੑ༗ݶΦʔτϚτϯ ΩϤγ * • https://gist.github.com/himkt/ef310672b6918288cadff1ba0a06061b q0 q4 q3 q2 q5 q6 q1 ζϯ ζϯ ζϯ ζϯ υί ΩϤγ ζϯ ζϯ ζϯ ζϯ υί ΩϤγΛೖྗ

Slide 39

Slide 39 text

ζϯυίΩϤγΛडཧ͢Δܾఆੑ༗ݶΦʔτϚτϯ ΩϤγ * • https://gist.github.com/himkt/ef310672b6918288cadff1ba0a06061b q0 q4 q3 q2 q5 q6 q1 ζϯ ζϯ ζϯ ζϯ υί ΩϤγ ζϯ ζϯ ζϯ ζϯ υί ΩϤγΛೖྗ

Slide 40

Slide 40 text

ζϯυίΩϤγΛडཧ͢Δܾఆੑ༗ݶΦʔτϚτϯ ΩϤγ * • https://gist.github.com/himkt/ef310672b6918288cadff1ba0a06061b q0 q4 q3 q2 q5 q6 q1 ζϯ ζϯ ζϯ ζϯ υί ΩϤγ ζϯ ζϯ ζϯ ζϯ υί ΩϤγΛೖྗ

Slide 41

Slide 41 text

ζϯυίΩϤγΛडཧ͢Δඇܾఆੑ༗ݶΦʔτϚτϯ q0 q3 q2 q1 ΩϤγ υί ζϯ ζϯ