SlideShare uma empresa Scribd logo
1 de 30
正規言語について
有限オートマトン 入力 =SUM(B3,B4) = S U M ( 大文字アルファベット1文字 数字 , )
有限オートマトン 入力 =S A M(B3,B4) = S U M ( 大文字アルファベット 1 文字 数字 , ) 不受理 ! Error!
正規言語? ,[object Object]
Excel の式の例では、 ,[object Object],[object Object]
応用例: コンパイラ ,[object Object]
なんてのを、ちゃんと文法通りに文字列が並んでいるかチェックし、受理されない場合はコンパイルエラーを出す
応用例: 正規表現 ,[object Object]
[email_address]
…
a で始まり @u-tokyo.ac.jp で終わるアドレスの全てが「情報教育」フォルダに入る
※1 本当はこれは正規表現ではなくワイルドカードなのですが、一番わかり易いので、その辺りはご容赦を…。
※2 アドレスは架空のものです。もし本当に存在したらごめんなさい。
a*@st.u-gakugei.ac.jp のオートマトン 入力 [email_address] a @ u - a~z の中のうちの一文字 又は0~9のうちの一文字 t ……
反復補題 (Pumping Lemma)
反復補題の厳密な定義 ,[object Object]
W = XYZ
(XY の文字列の長さ) <= n
(Y の文字列の長さ) >= 1
k = 1,2,3,...  に対して、 XY k Z  は L  に属する
ここで、Y k  は語 Y が k 個繰り返される事を意味する 以上、教科書よりコピペ
もう少しましな反復補題の説明 ,[object Object]
この集合に含まれる適当な文字列を用意する。 ,[object Object],[object Object],[object Object],[object Object]
但し以下の条件をみたすように… ,[object Object]
最初と真ん中の文字列の合計がn文字 (ここでは8文字) 以下
真ん中をどれだけ増やしても、これらは全部正規言語になる
もう少しましな反復補題の説明 aaa  |  bbbb  |  ccccc ,[object Object]
最初と真ん中の文字列の合計が n 文字  ( ここでは 8 文字 )  以下 一文字以上 n 文字 ( ここでは 8 文字 ) 以下
もう少しましな反復補題の説明 aaa  |  bbbb  |  ccccc aaa  |  bbbb bbbb  |  ccccc aaa  |  bbbb bbbb bbbb  |  ccccc aaa  |  bbbb bbbb bbbb bbbb  |  ccccc aaa  |  bbbb bbbb bbbb bbbb bbbb  |  ccccc ,[object Object]
最初と真ん中の文字列の合計が n 文字  ( ここでは 8 文字 )  以下

Mais conteúdo relacionado

Mais procurados

私のチームのリーダブルコード
私のチームのリーダブルコード私のチームのリーダブルコード
私のチームのリーダブルコード
Keisuke Tameyasu
 
すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!
Genya Murakami
 

Mais procurados (20)

An Introduction to HSIC for Independence Testing
An Introduction to HSIC for Independence TestingAn Introduction to HSIC for Independence Testing
An Introduction to HSIC for Independence Testing
 
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
 
劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章
 
東京大学2020年度深層学習(Deep learning基礎講座) 第9回「深層学習と自然言語処理」(一部文字が欠けてます)
東京大学2020年度深層学習(Deep learning基礎講座) 第9回「深層学習と自然言語処理」(一部文字が欠けてます)東京大学2020年度深層学習(Deep learning基礎講座) 第9回「深層学習と自然言語処理」(一部文字が欠けてます)
東京大学2020年度深層学習(Deep learning基礎講座) 第9回「深層学習と自然言語処理」(一部文字が欠けてます)
 
プログラムを高速化する話
プログラムを高速化する話プログラムを高速化する話
プログラムを高速化する話
 
遺伝的アルゴリズム (Genetic Algorithm)を始めよう!
遺伝的アルゴリズム(Genetic Algorithm)を始めよう!遺伝的アルゴリズム(Genetic Algorithm)を始めよう!
遺伝的アルゴリズム (Genetic Algorithm)を始めよう!
 
C#でもメタプログラミングがしたい!!
C#でもメタプログラミングがしたい!!C#でもメタプログラミングがしたい!!
C#でもメタプログラミングがしたい!!
 
Matlab講習2021
Matlab講習2021Matlab講習2021
Matlab講習2021
 
水耕栽培を始めたばかりの時に 知っておきたかったこと
水耕栽培を始めたばかりの時に 知っておきたかったこと水耕栽培を始めたばかりの時に 知っておきたかったこと
水耕栽培を始めたばかりの時に 知っておきたかったこと
 
おすすめVimプラグインまとめ
おすすめVimプラグインまとめおすすめVimプラグインまとめ
おすすめVimプラグインまとめ
 
僕たちがすべきことはリファクタリングなのか
僕たちがすべきことはリファクタリングなのか僕たちがすべきことはリファクタリングなのか
僕たちがすべきことはリファクタリングなのか
 
サンプリング定理
サンプリング定理サンプリング定理
サンプリング定理
 
Pythonと型チェッカー
Pythonと型チェッカーPythonと型チェッカー
Pythonと型チェッカー
 
私のチームのリーダブルコード
私のチームのリーダブルコード私のチームのリーダブルコード
私のチームのリーダブルコード
 
ZynqMPのQEMU
ZynqMPのQEMUZynqMPのQEMU
ZynqMPのQEMU
 
文脈自由文法の話
文脈自由文法の話文脈自由文法の話
文脈自由文法の話
 
なぜ統計学がビジネスの 意思決定において大事なのか?
なぜ統計学がビジネスの 意思決定において大事なのか?なぜ統計学がビジネスの 意思決定において大事なのか?
なぜ統計学がビジネスの 意思決定において大事なのか?
 
Quantum Support Vector Machine
Quantum Support Vector MachineQuantum Support Vector Machine
Quantum Support Vector Machine
 
音楽波形データからコードを推定してみる
音楽波形データからコードを推定してみる音楽波形データからコードを推定してみる
音楽波形データからコードを推定してみる
 
すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!
 

Último

Último (10)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

正規言語について

Notas do Editor

  1. 有限オートマトンについての復習 最初に Excel なり Calc を起動して、Sum 関数を入力してみる。(引数は三つ位まで実演する) エクセルの計算式の例 例えば Excel のセルに計算式を入力すると、Excel のエンジンは裏側で入力された文字列を一文字ずつ読み込む 次に来るのは何かしらのアルファベット。 その次に数字、カンマ。 これが何回か繰り返し。 最後に、カッコ閉じが来る
  2. 途中で変な文字が入って、 =SAM などになってしまうと、これは不受理
  3. Wikipedia によると、 非決定性有限オートマトンによって受理可能 正規表現で記述可能 正規文法から生成可能 読みとり専用チューリングマシンで受理可能 などの条件もあるらしいが、未検証
  4. 例えば、Dis str =... なんて来たら、当然コンパイルエラーになる。 実際にオートマトンを書いてみる
  5. GMail の画面を見せる [email_address] とフィルタに入れて、情報教育フォルダに転送されるようになることを示す。 では、 j???????@st.u-gakugei.ac.jp のアドレスからメールが来たら情報教育フォルダに振り分けられるようにするにはどうすればいいか… ? *.u-gakugei.ac.jp は、 何とか、.u-gakugei.ac.jp のアドレスを表す。 J類の学生の大学のメールアドレスは、jの後に、何か文字列が来て、その後に @st.u-gakugei.ac.jp が付くので、j*@st.u-gakugei.ac.jp のアドレスを「J類の学生」フォルダに自動的に振り分ける、と設定しておけば、自動的にJ類の学生からのメールを振り分けることができる。
  6. 本には「汲み出し補題」とあったが、これだとググッても全然出てこない…。
  7. 回文が正規言語でないという証明 白板を用いる 1. aaaaabbbbb を適当な文字列とする これを正則言語として仮定。 ( 背理法で解きます ) 2. L に含まれる文字列の中で、一番文字数の少ない文字列の数より小さくなければならない 3. ではこれを三分割してみましょう…
  8. 回文が正規言語でないという証明 真ん中の文字列が一文字以上なので、 aaaaabbbbb
  9. ※このように、真ん中にあるbbbbをなんども繰り返してつけくわえていくことを反復という
  10. 本には「汲み出し補題」とあったが、これだとググッても全然出てこない…。
  11. 回文が正規言語でないという証明 回文とは、前から読んでも後ろから読んでも同じになる文字列のこと akasaka は「えーけーえーえすえー…」と読む 白板を用いる 1. aaaaabbbbb を適当な文字列とする これを正則言語として仮定。 ( 背理法で解きます ) 2. n = 6 とおく 3. ではこれを三分割してみましょう…
  12. 回文が正規言語でないという証明 真ん中の文字列が一文字以上なので、 aaaaabbbbb
  13. ※ このように、真ん中にある bbbb をなんども繰り返してつけくわえていくことを反復という
  14. 回文が正規言語でないという証明 真ん中の文字列が一文字以上なので、 aaaaabbbbb
  15. ※ このように、真ん中にある bbbb をなんども繰り返してつけくわえていくことを反復という
  16. 回文が正規言語でないという証明 真ん中の文字列が一文字以上なので、 aaaaabbbbb
  17. ※ このように、真ん中にある bbbb をなんども繰り返してつけくわえていくことを反復という
  18. 個別に [email_address] [email_address]