正規表現++

50
正規表現 新屋良磨(東工大首藤研) @sinya8282 Sunday, May 19, 13

description

第6回広域センサネットワークとオーバレイネットワークに関するワークショップ ( http://live-e.naist.jp/sensor_overlay/6/ ) でのLT用発表資料です. 前半にスモールワールド性の話(?),後半はだいたい「正規言語でプログラミング」( http://www.slideshare.net/sinya8282/ss-17840032 )と同じ内容です.

Transcript of 正規表現++

Page 1: 正規表現++

正規表現

新屋良磨(東工大首藤研)@sinya8282

Sunday, May 19, 13

Page 2: 正規表現++

自己紹介

新屋良磨(しんや りょうま)今年度から東工大首藤研D1形式言語,計算理論好き

Sunday, May 19, 13

Page 3: 正規表現++

自己紹介

新屋良磨(しんや りょうま)今年度から東工大首藤研D1形式言語,計算理論好き

特に正規言語が好き

Sunday, May 19, 13

Page 4: 正規表現++

自己紹介

新屋良磨(しんや りょうま)今年度から東工大首藤研D1形式言語,計算理論好き

特に正規言語が好き世界最速のgrepとか作ってました

Sunday, May 19, 13

Page 5: 正規表現++

自己紹介

新屋良磨(しんや りょうま)今年度から東工大首藤研D1形式言語,計算理論好き

特に正規言語が好き世界最速のgrepとか作ってました

Sunday, May 19, 13

Page 6: 正規表現++

Sunday, May 19, 13

Page 7: 正規表現++

Sunday, May 19, 13

Page 8: 正規表現++

!?

Sunday, May 19, 13

Page 9: 正規表現++

!?

Sunday, May 19, 13

Page 10: 正規表現++

全然遠い話題...? 先生「センサ&オーバーレイっていう    ワークショップがあるんだけど」 僕 「はい」 先生「新屋君,喋るの好きだよね?」 僕 「!?」 先生「LT, 『正規表現』とかで(笑)    せっかくなので^^」

Sunday, May 19, 13

Page 11: 正規表現++

全然遠い話題...? 先生「センサ&オーバーレイっていう    ワークショップがあるんだけど」 僕 「はい」 先生「新屋君,喋るの好きだよね?」 僕 「!?」 先生「LT, 『正規表現』とかで(笑)    せっかくなので^^」

僕 「Oh Yeahhhh!!」

Sunday, May 19, 13

Page 12: 正規表現++

正規表現とセンサ&オーバーレイは本当に遠い話題か?

Proposition

Sunday, May 19, 13

Page 13: 正規表現++

http://wikitter.info

Sunday, May 19, 13

Page 14: 正規表現++

Sunday, May 19, 13

Page 15: 正規表現++

Sunday, May 19, 13

Page 16: 正規表現++

Sunday, May 19, 13

Page 17: 正規表現++

思ったより近かった(wikipedia的に)

Sunday, May 19, 13

Page 18: 正規表現++

思ったより近かった(wikipedia的に)

ちなみに6回で全てが繋がるらしい(Wikipedia内の話.本当かよ.)

Sunday, May 19, 13

Page 19: 正規表現++

新屋良磨(東工大首藤研)

正規表現

@sinya8282Sunday, May 19, 13

Page 20: 正規表現++

新屋良磨(東工大首藤研)

正規表現++

@sinya8282Sunday, May 19, 13

Page 21: 正規表現++

新屋良磨(東工大首藤研)

正規表現++東京工業大学工大祭2013公式マスコットキャラクター

「テックちゃん」

@sinya8282Sunday, May 19, 13

Page 22: 正規表現++

はじめに宣伝!

Sunday, May 19, 13

Page 23: 正規表現++

僕が開発した「RANS」

正規表現を与えて「受理文字列」と「自然数」を対応させるツール

Sunday, May 19, 13

Page 24: 正規表現++

僕が開発した「RANS」

正規表現を与えて「受理文字列」と「自然数」を対応させるツール

「対応」って何?

Sunday, May 19, 13

Page 25: 正規表現++

文字列と数の対応例:正規表現/a*(ba*b)*a*/ で「対応」を取ると...

Sunday, May 19, 13

Page 26: 正規表現++

文字列と数の対応例:正規表現/a*(ba*b)*a*/ で「対応」を取ると...

/a*(ba*b)*a*/

Sunday, May 19, 13

Page 27: 正規表現++

文字列と数の対応例:正規表現/a*(ba*b)*a*/ で「対応」を取ると...

/a*(ba*b)*a*/長さ--辞書順で並べる

Sunday, May 19, 13

Page 28: 正規表現++

文字列と数の対応例:正規表現/a*(ba*b)*a*/ で「対応」を取ると...

/a*(ba*b)*a*/={!, a, aa, bb, aaa, abb, bab, ... }長さ--辞書順で並べる

Sunday, May 19, 13

Page 29: 正規表現++

文字列と数の対応例:正規表現/a*(ba*b)*a*/ で「対応」を取ると...

/a*(ba*b)*a*/={!, a, aa, bb, aaa, abb, bab, ... }長さ--辞書順で並べる

0, 1, 2, 3, 4, 5, ....................

....................

Sunday, May 19, 13

Page 30: 正規表現++

正規表現×

プログラミング

Sunday, May 19, 13

Page 31: 正規表現++

プログラミング言語Grass

“w”と“W”と“v”の三文字でプログラミングする言語

ちょっと草植えときますね型言語 (新パラダイム?)

Sunday, May 19, 13

Page 32: 正規表現++

プログラミング言語Grass

“w”と“W”と“v”の三文字でプログラミングする言語

ちょっと草植えときますね型言語 (新パラダイム?)

つまり「ネタ言語」!!

Sunday, May 19, 13

Page 33: 正規表現++

プログラミング言語Grass

“w”と“W”と“v”の三文字でプログラミングする言語

ちょっと草植えときますね型言語 (新パラダイム?)

つまり「ネタ言語」!!

Sunday, May 19, 13

Page 34: 正規表現++

Grassはネタじゃない!

当たり前にちゅーりんぐ完全(型無しラムダ計算がベース)

Sunday, May 19, 13

Page 35: 正規表現++

Grassはネタじゃない!

当たり前にちゅーりんぐ完全(型無しラムダ計算がベース)

しかも...文法が正規!!

Sunday, May 19, 13

Page 36: 正規表現++

しかも文法が正規!!!

Sunday, May 19, 13

Page 37: 正規表現++

しかも文法が正規!!!

BNFで書かれてるけどこれは正規!!!!!!!!

(プロなら一瞬で分かる)

Sunday, May 19, 13

Page 38: 正規表現++

しかも文法が正規!!!

/([vw]*(W+w)*)*/

0 1w 2W

[v-w] W

w

Sunday, May 19, 13

Page 39: 正規表現++

Grassで「Hello, World」wwvwwwWWWwwWwwWWWWwvwWWwwwWwwvwWwwwWwwvwWWwWWWWWwvwWWWwwwwWWWWwWWWWwWWWWWWwWWWWWWWwWWWWWWWwWWWWWWWWwWwwwwwwwwvwWWWwwwwwWWWWWwWWWWWwWWWWWWWwWWWWWWWWwWWWWWWWWWwWwwwwwwwvwWWWWwwwwwwWWWWWWwWWWWWWwWWWWWWWwWWWWWWWWWwWWWWWWWWWwWwwwwwwwvwWWWWWwwwwwwwWWWWWWWwWWWWWWWWwWWWWWWWWwWWWWWWWWWWwWWWWWWWWWWwWwwwwwwwvwWWWWWWWwwwwwwwwWWWWWWWWwWWWWWWWWWwWWWWWWWWWwWWWWWWWWWWWwWwwwwwwvwWWWWWWWWwwwwwwwwwWWWWWWWWwWWWWWWWWWwWWWWWWWWWWWwWWWWWWWWWWWwWWWWWWWWWWWWWwWwwwwwwwvwWWWWWWWWwwwwwwwwwwWWWWWWWWWwWWWWWWWWWWwWWWWWWWWWWWwWWWWWWWWWWWWWwWwwwwwwvwWWWWWWWWWWwwwwwwwwwwwWWWWWWWWWWwWWWWWWWWWWWwWWWWWWWWWWWWWwWwwwwwvwWWWWWWWWWWwwwwwwwwwwwwWWWWWWWWWWWWwWWWWWWWWWWWWWwWWWWWWWWWWWWWWwWWWWWWWWWWWWWWwWWWWWWWWWWWWWWWWwWwwwwwwwvwWWWWWWWWWWwwwwwwwwwwwwwwwwwWwwwwwwwwwwwwwwwwwwwWWWwwwwwwwwwwwwwwwwwwwWwwWWWWWWWWWWWWWWWWWWWWwvwWWwwwwWWWwwwwwwwwwwWWWWwwwwwwwwwwWWWWWwwwwwwwwwwwwwWWWWWWwwwwwwwWWWWWWWwwwwwwwwwwwWWWWWWWWwwwwwwwwwwwwwwwwwwwwwwvwWWWWWWWWWWWWWWWWwwwwwwwWwwvwWWWWwwwwwwwWWWWWwwwWWWWWWwwwwwwwWWWWWWWwwwwwwwwWWWWWWWWwwwwwwwwwwwwwwWWWWWW

WWWwwwwwwwwwwwwwwvwWWwWWWWWw

Sunday, May 19, 13

Page 40: 正規表現++

Grassで「Hello, World」wwvwwwWWWwwWwwWWWWwvwWWwwwWwwvwWwwwWwwvwWWwWWWWWwvwWWWwwwwWWWWwWWWWwWWWWWWwWWWWWWWwWWWWWWWwWWWWWWWWwWwwwwwwwwvwWWWwwwwwWWWWWwWWWWWwWWWWWWWwWWWWWWWWwWWWWWWWWWwWwwwwwwwvwWWWWwwwwwwWWWWWWwWWWWWWwWWWWWWWwWWWWWWWWWwWWWWWWWWWwWwwwwwwwvwWWWWWwwwwwwwWWWWWWWwWWWWWWWWwWWWWWWWWwWWWWWWWWWWwWWWWWWWWWWwWwwwwwwwvwWWWWWWWwwwwwwwwWWWWWWWWwWWWWWWWWWwWWWWWWWWWwWWWWWWWWWWWwWwwwwwwvwWWWWWWWWwwwwwwwwwWWWWWWWWwWWWWWWWWWwWWWWWWWWWWWwWWWWWWWWWWWwWWWWWWWWWWWWWwWwwwwwwwvwWWWWWWWWwwwwwwwwwwWWWWWWWWWwWWWWWWWWWWwWWWWWWWWWWWwWWWWWWWWWWWWWwWwwwwwwvwWWWWWWWWWWwwwwwwwwwwwWWWWWWWWWWwWWWWWWWWWWWwWWWWWWWWWWWWWwWwwwwwvwWWWWWWWWWWwwwwwwwwwwwwWWWWWWWWWWWWwWWWWWWWWWWWWWwWWWWWWWWWWWWWWwWWWWWWWWWWWWWWwWWWWWWWWWWWWWWWWwWwwwwwwwvwWWWWWWWWWWwwwwwwwwwwwwwwwwwWwwwwwwwwwwwwwwwwwwwWWWwwwwwwwwwwwwwwwwwwwWwwWWWWWWWWWWWWWWWWWWWWwvwWWwwwwWWWwwwwwwwwwwWWWWwwwwwwwwwwWWWWWwwwwwwwwwwwwwWWWWWWwwwwwwwWWWWWWWwwwwwwwwwwwWWWWWWWWwwwwwwwwwwwwwwwwwwwwwwvwWWWWWWWWWWWWWWWWwwwwwwwWwwvwWWWWwwwwwwwWWWWWwwwWWWWWWwwwwwwwWWWWWWWwwwwwwwwWWWWWWWWwwwwwwwwwwwwwwWWWWWW

WWWwwwwwwwwwwwwwwvwWWwWWWWWw

16276174481634706127730787006880531370466380062973401969614529593658839588034299561019072802997488228415949574466048507125675902695500470444239679117615660403895503574832850368252492606680475482324809259888431440137005387911828231622152001940020161961290610781750518034051891012651593393183367228559192813007464702644798560118848397692667365050537949162937125903768151493422519792535824464997

03084436758664366464026061342507810037583

番目のGrassプログラム!!

Sunday, May 19, 13

Page 41: 正規表現++

元々「圧縮」のために作った

http://swatmac.info/?p=942

Sunday, May 19, 13

Page 42: 正規表現++

元々「圧縮」のために作った

http://swatmac.info/?p=1064

Sunday, May 19, 13

Page 43: 正規表現++

RANSよろしく!

Sunday, May 19, 13

Page 44: 正規表現++

RANSよろしく!

http://swatmac.info/?p=942

Sunday, May 19, 13

Page 45: 正規表現++

完Sunday, May 19, 13

Page 46: 正規表現++

完(センサ|オーバーレイ)ネットワーク関連でオートマトンとか正規表現など,形式言語・計算理論とかが絡むネタがあれば教えて下さいー.

Sunday, May 19, 13

Page 47: 正規表現++

完(センサ|オーバーレイ)ネットワーク関連でオートマトンとか正規表現など,形式言語・計算理論とかが絡むネタがあれば教えて下さいー.EXI面白かったです.

Sunday, May 19, 13

Page 48: 正規表現++

あぺんど

Sunday, May 19, 13

Page 49: 正規表現++

Sunday, May 19, 13

Page 50: 正規表現++

Sunday, May 19, 13