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
形式言語勉強会(第2回) - 有限オートマトン
Search
himkt
July 12, 2016
Science
0
140
形式言語勉強会(第2回) - 有限オートマトン
形式言語勉強会 #2 @春日エリアの資料です.
himkt
July 12, 2016
Tweet
Share
More Decks by himkt
See All by himkt
Linformer: paper reading
himkt
0
410
RoBERTa: paper reading
himkt
1
320
NLP SoTA 勉強会 / ner_2019
himkt
2
1.3k
自然言語処理 @ クックパッド / nlp at cookpad
himkt
1
490
Interpretable Machine Learning 6.3 - Prototypes and Criticisms
himkt
2
140
ニューラル固有表現抽出 / Neural Named Entity Recognition
himkt
3
680
ニューラル固有表現抽出器を実装してみる / PyNER
himkt
6
2k
Spacyでお手軽NLP / NLP with spacy
himkt
0
990
Deep Learning Book 10その2 / deep learning book 10 vol2
himkt
2
170
Other Decks in Science
See All in Science
解説!データ基盤の進化を後押しする手順とタイミング
shomaekawa
1
380
拡散モデルの原理紹介
brainpadpr
3
5.5k
The thin line between reconstruction, classification, and hallucination in brain decoding
ykamit
1
1.1k
白金鉱業Meetup Vol.16_数理最適化案件のはじめかた・すすめかた
brainpadpr
3
1.2k
学術講演会中央大学学員会八王子支部
tagtag
0
260
生成AI による論文執筆サポートの手引き(ワークショップ) / A guide to supporting dissertation writing with generative AI (workshop)
ks91
PRO
0
370
観察研究における因果推論
nearme_tech
PRO
1
120
機械学習を支える連続最適化
nearme_tech
PRO
1
220
(Forkwell Library #48)『詳解 インシデントレスポンス』で学び倒すブルーチーム技術
scientia
2
1.5k
インフラだけではない MLOps の話 @事例でわかるMLOps 機械学習の成果をスケールさせる処方箋 発売記念
icoxfog417
PRO
2
660
Spectral Sparsification of Hypergraphs
tasusu
0
220
非同期コミュニケーションの構造 -チャットツールを用いた組織における情報の流れの設計について-
koisono
0
190
Featured
See All Featured
Side Projects
sachag
452
42k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
KATA
mclloyd
29
14k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.2k
Raft: Consensus for Rubyists
vanstee
137
6.7k
Visualization
eitanlees
146
15k
Docker and Python
trallard
43
3.2k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
Site-Speed That Sticks
csswizardry
3
290
Transcript
༗ݶΦʔτϚτϯͱਖ਼نදݱ ܗࣜݴޠษڧձ #2 @ य़ΤϦΞ himkt <
[email protected]
>
ୈ1ষ: ΦʔτϚτϯͱ ୈ2ষ: ༗ݶΦʔτϚτϯ ୈ3ষ: ༗ݶΦʔτϚτϯͷݶք ୈ4ষ: ਖ਼نදݱ
ୈ1ষ: ΦʔτϚτϯͱ ୈ2ষ: ༗ݶΦʔτϚτϯ ୈ3ষ: ༗ݶΦʔτϚτϯͷݶք ୈ4ষ: ਖ਼نදݱ
ΦʔτϚτϯͱ…ͷલʹܭࢉͱʁ • ܭࢉ͚͕ͩܭࢉͰͳ͍ • “1 + 1” -> “2” •
“aiueo” -> “͍͋͏͓͑” • ίϯϐϡʔλʹ͓͍ͯܭࢉΛ࢘ΔͷCPUͱϝϞϦ • ߏඇৗʹෳࡶ • ΦʔτϚτϯɿʮܭࢉʯΛ࣮ߦ͢ΔֶతϞσϧ • ݪ࢝త͔ͭநత ͜Εܭࢉ ͜Εܭࢉ
ΦʔτϚτϯͱʁ • ೖྗɼग़ྗɼঢ়ଶΛ͍࣋ͬͯΔʢू߹ʣ • ೖྗʹରͯ͠ɼͦͷঢ়ଶʹԠͨ͡ग़ྗΛ͢Δ • ঢ়ଶͷʮભҠʯঢ়ଶͱه߸ΛҾͱͯ͠ঢ়ଶΛग़ྗ͢Δؔ ʹΑͬͯఆٛ͞ΕΔ ྫ: ೖྗ
ग़ྗ ঢ়ଶ q0 q1 q2 1 0 ঢ়ଶɿ·Δ͍ͭɼભҠɿখ͍͞ҹ ʢେ͖͍ҹॳظঢ়ଶʣ f(q0 , 1) = q1 , f(q1 , 0) = q2
ΦʔτϚτϯͷछྨ • ܾఆੑ༗ݶΦʔτϚτϯ • ඇܾఆੑ༗ݶΦʔτϚτϯ • ܾఆੑϓογϡμϯΦʔτϚτϯ • ඇܾఆੑϓογϡμϯΦʔτϚτϯ •
ܾఆੑνϡʔϦϯάϚγϯ • ඇܾఆੑνϡʔϦϯάϚγϯ ෳࡶ ؆ૉ
ୈ1ষ: ΦʔτϚτϯͱ ୈ2ষ: ༗ݶΦʔτϚτϯ ୈ3ষ: ༗ݶΦʔτϚτϯͷݶք ୈ4ষ: ਖ਼نදݱ
༗ݶΦʔτϚτϯ…ͦͷલʹɼݴޠͱʁ • ͋ΔΦʔτϚτϯ͕डཧ͢Δه߸ྻͷू߹Λݴޠͱ͍͏ • ΦʔτϚτϯݴޠΛʮೝࣝʯ͢Δ • ྫ: ݴޠɹɹɹɹɹɹɹɹɹɹɹɹɹ Λೝࣝ͢ΔΦʔτϚτϯ •
“f”, “fl”, “ffl”, “fll”, … • ͜ͷه߸ྻͷू߹͕ݴޠʢ͜ͷ߹ແݶू߹ʣ L = {filj|i 1, j 0}
ܾఆੑ༗ݶΦʔτϚτϯͱʁ • 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 }
ܾఆੑ༗ݶΦʔτϚτϯͱʁ • 3ͭͷू߹ɼ1ͭͷؔɼ1ͭͷཁૉʹΑͬͯߏ͞ΕΔ • ঢ়ଶू߹ɼೖྗه߸ू߹ɼडཧঢ়ଶɼঢ়ଶભҠؔɼॳظঢ়ଶ • ܗࣜతʹɿ • ྫɿݴޠɹɹɹɹɹɹɹɹɹɹɹɹɹ Λೝࣝ͢ΔΦʔτϚτϯ
q0 q1 q2 f l l f M = (Q, , , q0 , F) L = {filj|i 1, j 0}
ʮඇʯܾఆੑ༗ݶΦʔτϚτϯͱʁ • 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 }
ʮඇʯܾఆੑ༗ݶΦʔτϚτϯͱʁ • 3ͭͷू߹ɼ1ͭͷؔɼ1ͭͷཁૉʹΑͬͯߏ͞ΕΔ • ঢ়ଶू߹ɼೖྗه߸ू߹ɼडཧঢ়ଶɼঢ়ଶભҠؔɼॳظঢ়ଶ • ܗࣜతʹɿ • ྫɿݴޠɹɹɹɹɹɹɹɹɹɹɹɹɹ Λೝࣝ͢ΔΦʔτϚτϯ
M = (Q, , , q0 , F) L = {filj|i 1, j 0} q0 f f l q1
ܾఆੑ༗ݶΦʔτϚτϯʁඇܾఆੑ༗ݶΦʔτϚτϯʁ q0 q1 q2 q0 f l f f l
l f 1. ܾఆੑ༗ݶΦʔτϚτϯ 2. ඇܾఆੑ༗ݶΦʔτϚτϯ • ༗ݶΦʔτϚτϯͷঢ়ଶભҠؔೖྗʹରͯ͠ग़ྗ͕Ұҙʹܾ·Δ • ඇܾఆΦʔτϚτϯͷঢ়ଶભҠؔೖྗʹରͯ͠ෳͷग़ྗ͕͋Γ͏Δ • ભҠͷํ͕ෳߟ͑ΒΕΔ • ྫɿݴޠɹɹɹɹɹɹɹɹɹɹɹɹɹ Λೝࣝ͢ΔΦʔτϚτϯ • ྆ऀͷҧ͍ʁ q1 L = {filj|i 1, j 0}
ܾఆੑ༗ݶΦʔτϚτϯʁඇܾఆੑ༗ݶΦʔτϚτϯʁ • ඇܾఆతͳϞσϧͷ΄͏͕ঢ়ଶભҠਤ͕ײతʹ͔͚Δ • ͔͠͠ɼ࣮ࡍʹܭࢉػͳͲͷ෦Ͱଟ͘ͷ߹ܾఆతͳϞσϧ͕ΘΕΔ • ͳͥʁ • ܾఆੑ༗ݶΦʔτϚτϯՁͳඇܾఆੑ༗ݶΦʔτϚτϯ͕ඞͣଘࡏ͢Δ •
ػցʹͱܾͬͯఆੑ༗ݶΦʔτϚτϯͷ΄͏͕ॲཧ͍͢͠ • ඇܾఆੑ༗ݶΦʔτϚτϯਓ͕ݟͯΘ͔Γ͍͢ʢײతʣ • ఆٛ͢Δͱ͖ඇܾఆੑ༗ݶΦʔτϚτϯɼ࣮͢Δͱ͖ܾఆੑ༗ݶΦʔτϚτϯʹ ม͢Εྑͦ͞͏ʢมͷΞϧΰϦζϜʣ
ۭಈ࡞Λ࣋ͭ༗ݶΦʔτϚτϯ • ݴޠɹɹɹɹɹɹɹɹɹɹɹɹɹΛೝࣝ͢ΔΦʔτϚτϯΛߟ͑Δ • Θ͔Γʹ͍͘… • શ෦डཧঢ়ଶ… L = {aibj|i
0, j 0} q0 b a b 1. ۭಈ࡞Λ࣋ͨͳ͍ܾఆੑ༗ݶΦʔτϚτϯ q1
ۭಈ࡞Λ࣋ͭ༗ݶΦʔτϚτϯ • ݴޠɹɹɹɹɹɹɹɹɹɹɹɹɹΛೝࣝ͢ΔΦʔτϚτϯΛߟ͑Δ • ۭه߸ɹΛߟ͑Δ͜ͱͰՁͳײతʢʁʣΦʔτϚτϯ͕࡞ΕΔ • 0ճҎ্ͷ܁Γฦ͠Λߟ͑Δࡍʹศར • ਖ਼نදݱͰ׆༂ L
= {aibj|i 0, j 0} q0 b a b 1. ۭಈ࡞Λ࣋ͨͳ͍ܾఆੑ༗ݶΦʔτϚτϯ q1 q0 a b 2. ۭಈ࡞Λܾ࣋ͭఆੑ༗ݶΦʔτϚτϯ q1 a = a = a
ୈ1ষ: ΦʔτϚτϯͱ ୈ2ষ: ༗ݶΦʔτϚτϯ ୈ3ষ: ༗ݶΦʔτϚτϯͷݶք ୈ4ষ: ਖ਼نදݱ
༗ݶΦʔτϚτϯͷݶք • ༗ݶΦʔτϚτϯͰೝࣝ͢Δ͜ͱ͕Ͱ͖ͳ͍ݴޠ͕ଘࡏ͢Δ • ྫ1ɿճจ͔ΒͳΔݴޠ • { “ͱ·ͱ”, “͚ͨͿ͚ͨ”, “͠ΜͿΜ͠”,
… } • ྫ2ɿಉճ܁Γฦ͢ه߸͔ΒͳΔݴޠ • {“ab”, “aabb”, “aaabbb”, …} • ϓογϡμϯΦʔτϚτϯɼνϡʔϦϯάϚγϯ͕ղܾ L = {aibi|i 1}
ݴޠLΛडཧ͢ΔΦʔτϚτϯʁ • ݴޠ • ΦʔτϚτϯ1ʁ • “abb”, “abbb”, …डཧͯ͠͠·͏ •
ఆٛʹໃ६ • ΦʔτϚτϯ2ʁ • ΞΠσΞɿ2*i + 1ݸͷঢ়ଶΛ࣋ͭ • i1Ҏ্ͷࣗવ • ༗ݶͰ͋Δ͜ͱʹໃ६ 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
ͳͥ༗ݶΦʔτϚτϯͰडཧͰ͖ͳ͍ݴޠ͕͋Δʁ • ײతʹʮաڈͷใΛ͓֮͑ͯ͘͜ͱ͕Ͱ͖ͳ͍͔Βʯ • ͋Δঢ়ଶʹ͓͍ͯɼաڈͷঢ়ଶͷܥྻ͕͔Ε…. • هԱஔ͕ඞཁ • ϓογϡμϯΦʔτϚτϯɼνϡʔϦϯάϚγϯ͕͜ͷ՝Λղܾ͢Δ
ୈ1ষ: ΦʔτϚτϯͱ ୈ2ষ: ༗ݶΦʔτϚτϯ ୈ3ষ: ༗ݶΦʔτϚτϯͷݶք ୈ4ষ: ਖ਼نදݱ
ਖ਼نදݱͱʁ • ϓϩάϥϛϯάݴޠΛͬͯςΩετΛॲཧ͢Δͱ͖ʹ͏ • ಛఆͷ݅Λຬͨ͢ه߸ྻΛݟ͚ͭΔ • /^[a-z]*-[0-9]*/ Έ͍ͨͳͭʢRubyʣ • ʢ”0ճҎ্ͷจࣈͷ܁Γฦ͠”-“0ճҎ্ͷࣈͷ܁Γฦ͠”ʣ
• ྫɿ”potato-1”, “tomato-2”, “carrot-3” • *ͱ͔ͬͯΔ͚Ͳ͜ΕͬͯԿʁ
ਖ਼نදݱͷ४උ • *ɿ0ճҎ্ͷ܁Γฦ͠ɿελʔดแ • +ɿ1ճҎ্ͷ܁Γฦ͠ • ()ɿه߸ྻΛ1ͭͷه߸ͱΈͳ͢ʢؙׅހɼύʔϨϯʣ • |ɿ۠ΒΕͨه߸ͷҙͷ1ه߸Λද͢ʢॎɼόʔςΟΧϧόʔʣ •
ྫɿ(ab)|c -> ab, c
ਖ਼نදݱͷ४උ - ελʔดแ • ه߸ͷू߹Λɹͱ͢Δ • ྫɿ • ɹͷελʔดแɹɹ… ۭจࣈྻɹͱɹɹʹؚ·ΕΔه߸Λͬͯ࡞ΕΔ͋ΒΏΔه߸ྻ͔ΒͳΔແݶू߹
ʢɹɹ ʹؚ·ΕΔه߸Λͬͯ࡞ΕΔ͋ΒΏΔه߸ྻ͔ΒͳΔແݶू߹ɿɹɹ ʣ 0ճҎ্ͷ܁Γฦ͠ = {a, b} = { , a, b, aa, ab, ba, bb, aaa, . . . } + = {a, b} 0 = { } = i=0 i + = i=1 i
ਖ਼نදݱͷ४උ - ࿈ • ɹɹɹɹɹɹɹɹɹͷͱ͖ • ࿈ • ݴޠɹ ͱݴޠɹ
ͷ࿈ • ಛघͳ߹ • ۭจࣈྻͷΈ͔ΒͳΔू߹ɹ , ۭू߹ x = ”aa”, y = ”bb” xy = ”aabb” L1 L2 L1 L2 = {xy|x L1 , y L2 } L1 L = L1 , L1 L = L L ۭू߹ͱͷ࿈ཱ͠ͳ͍
ਖ਼نදݱͱՁͳ༗ݶΦʔτϚτϯ • ઌ΄Ͳ֬ೝͨ͠ҎԼͷૢ࡞ʢʁʣΛߦ͏༗ݶΦʔτϚτϯ • ਖ਼نදݱͱՁͳΦʔτϚτϯ • ૢ࡞ʢʁʣ • ελʔดแ •
ؙׅހ • ॎ • ࿈ ਤɿ͡ΊֶͯͿ ΦʔτϚτϯͱݴޠཧΑΓ
ࢀߟࢿྉ • ౻ݪڿ. ͡ΊֶͯͿΦʔτϚτϯͱݴޠཧ. ग़൛, 2015, 176p. • ͜ͷษڧձͰಡΉ͜ͱʹͳ͍ͬͯΔຊ •
ాӻ࣍, ԣو. ΦʔτϚτϯɾݴޠཧ. ୈ2൛, ग़൛, 2013, 214p. • ษڧձͰಡΜͰΔຊΑΓৄ͍͠
͓·͚ɿू߹ͱ
ू߹ͱԿ͔ • ֬ఆ͞Εͨରͷू·Γ • ɹɹɹू߹ • ू߹ͷཁૉʹॏෳೝΊΒΕͳ͍ • ɹɹɹू߹Ͱͳ͍ •
ू߹ʹೋछྨ͋Δ • ༗ݶू߹ʢfinite setʣɿཁૉ͕༗ݶݸ • ແݶू߹ʢinfinite setʣɿཁૉ͕ແݶݸ
ू߹ʹؔ͢Δه๏ • ू߹ͷఆٛํ๏ʹ2छྨ͋Δ • ֎Ԇతఆٛɿ • ू߹ͷཁૉΛྻڍ͢Δ͜ͱͰू߹Λఆٛ • ແݶू߹Λهड़Ͱ͖ͳ͍ •
แతఆٛɿ • ू߹ͷཁૉ͕ຬͨ͢ੑ࣭Λࣔ͢͜ͱͰू߹Λఆٛ
ू߹ʹؔ͢Δه๏ • ͋Δಛఆͷཁૉ͕͋Δಛఆͷू߹ʹؚ·Ε͍ͯΔ͔ • , • ͋Δಛఆͷू߹͕͋Δಛఆͷू߹ʹؚ·Ε͍ͯΔ͔ • ɹɹɹ ʢ෦ू߹ʣ
• ͔ͭAͱB͕ҟͳΔू߹ͷͱ͖: ʢਅ෦ू߹ʣ • ఆٛ͞ΕΔԋࢉ • • ࠩ • ੵ A B U a A a / A B A B A B A
͓·͚ɿζϯυίΩϤγΛडཧ͢Δ༗ݶΦʔτϚτϯ
ζϯυίΩϤγΛडཧ͢Δܾఆੑ༗ݶΦʔτϚτϯ ΩϤγ * • https://gist.github.com/himkt/ef310672b6918288cadff1ba0a06061b q0 q4 q3 q2 q5
q6 q1 ζϯ ζϯ ζϯ ζϯ υί ΩϤγ
ζϯυίΩϤγΛडཧ͢Δܾఆੑ༗ݶΦʔτϚτϯ ΩϤγ * • https://gist.github.com/himkt/ef310672b6918288cadff1ba0a06061b ζϯ ζϯ ζϯ ζϯ υί
ΩϤγΛೖྗ q0 q4 q3 q2 q5 q6 q1 ζϯ ζϯ ζϯ ζϯ υί ΩϤγ
ζϯυίΩϤγΛडཧ͢Δܾఆੑ༗ݶΦʔτϚτϯ ΩϤγ * • https://gist.github.com/himkt/ef310672b6918288cadff1ba0a06061b q0 q4 q3 q2 q5
q6 q1 ζϯ ζϯ ζϯ ζϯ υί ΩϤγ ζϯ ζϯ ζϯ ζϯ υί ΩϤγΛೖྗ
ζϯυίΩϤγΛडཧ͢Δܾఆੑ༗ݶΦʔτϚτϯ ΩϤγ * • https://gist.github.com/himkt/ef310672b6918288cadff1ba0a06061b q0 q4 q3 q2 q5
q6 q1 ζϯ ζϯ ζϯ ζϯ υί ΩϤγ ζϯ ζϯ ζϯ ζϯ υί ΩϤγΛೖྗ
ζϯυίΩϤγΛडཧ͢Δܾఆੑ༗ݶΦʔτϚτϯ ΩϤγ * • https://gist.github.com/himkt/ef310672b6918288cadff1ba0a06061b q0 q4 q3 q2 q5
q6 q1 ζϯ ζϯ ζϯ ζϯ υί ΩϤγ ζϯ ζϯ ζϯ ζϯ υί ΩϤγΛೖྗ
ζϯυίΩϤγΛडཧ͢Δܾఆੑ༗ݶΦʔτϚτϯ ΩϤγ * • https://gist.github.com/himkt/ef310672b6918288cadff1ba0a06061b q0 q4 q3 q2 q5
q6 q1 ζϯ ζϯ ζϯ ζϯ υί ΩϤγ ζϯ ζϯ ζϯ ζϯ υί ΩϤγΛೖྗ
ζϯυίΩϤγΛडཧ͢Δܾఆੑ༗ݶΦʔτϚτϯ ΩϤγ * • https://gist.github.com/himkt/ef310672b6918288cadff1ba0a06061b q0 q4 q3 q2 q5
q6 q1 ζϯ ζϯ ζϯ ζϯ υί ΩϤγ ζϯ ζϯ ζϯ ζϯ υί ΩϤγΛೖྗ
ζϯυίΩϤγΛडཧ͢Δܾఆੑ༗ݶΦʔτϚτϯ ΩϤγ * • https://gist.github.com/himkt/ef310672b6918288cadff1ba0a06061b q0 q4 q3 q2 q5
q6 q1 ζϯ ζϯ ζϯ ζϯ υί ΩϤγ ζϯ ζϯ ζϯ ζϯ υί ΩϤγΛೖྗ
ζϯυίΩϤγΛडཧ͢Δඇܾఆੑ༗ݶΦʔτϚτϯ q0 q3 q2 q1 ΩϤγ υί ζϯ ζϯ