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
Wordleを遊んで情報科学を勉強する
Search
meihei
February 18, 2022
Technology
0
180
Wordleを遊んで情報科学を勉強する
PR TIMES 社内勉強会 @2022/02/18
- 頻度分析・単一置換暗号の話
- 情報エントロピーの話
meihei
February 18, 2022
Tweet
Share
More Decks by meihei
See All by meihei
WebアプリケーションにおけるPDOの使い方入門 / phpcon odawara 2024
meihei3
2
600
PHPerライフをChrome拡張開発でちょっと便利に / PR TIMES x DMM.com
meihei3
0
250
ファイルを選択してZIPダウンロードする機能ってどうやって作るの? / phpcondo 2023
meihei3
1
300
New Relic CodeStreamを 使って、エラーを 加速的迅速に改修しよう! #NRUG Vol.8
meihei3
0
130
PHP8.2から見る、2つの配列 / PHP Conference Japan 2023
meihei3
0
1.4k
良いコードを書く 〜10年後のPR TIMESを作る〜 / LT会 in #PRTIMES_HACKATHON 2023
meihei3
1
140
月に一度の大規模リファクタリングでレガシーコードと向き合う取り組み / PHP Conference Fukuoka 2023
meihei3
3
900
PHPの配列とデータ構造 / PHPerKaigi 2023
meihei3
2
1.4k
ローンチから16年目のWebサービスに、どうやってフィーチャートグルを導入したか、運用しているか / phpcon2022
meihei3
2
2.8k
Other Decks in Technology
See All in Technology
QAエンジニアが伝えたい品質保証の羅針盤 / Compass for Quality Assurance
mii3king
2
350
スクラムに出会って「できた」を実感できるようになってきた話 / Scrum makes me feel like I can do it
yayoi_dd
2
110
Domain-driven Design: A Complete Example
ewolff
2
270
1Q86
kawaguti
PRO
2
190
エンジニアゼロの組織から内製開発の DX をどう実現したのか / How did we achieve DX in in-house development in an organization with zero engineers?
genkiogasawara
7
3.2k
QA経験のないエンジニアリング マネージャーがQAのカジュアル面談に出て 苦労していること・気づいたこと / scrum fest niigata 2024
yoshikiiida
2
680
PhpStorm超絶技巧40分集中講義 #phpconkagawa
yusuke
4
790
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
1.7k
B2C、B2B プロダクトマネジメントの違い(および思考の罠) / B2C, B2B PM and reduction fallacy
ykmc09
5
2.5k
Dungeons and Dragons and Rails
joelq
0
260
[PyconUS 2024] Having fun with Pydantic and pattern matching
enforcerpl
0
200
エムスリーマルチデバイスチーム紹介資料 / Introduction of M3 Multi Device Team
m3_engineering
1
170
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
23
1.7k
Adopting Sorbet at Scale
ufuk
69
8.6k
Building Applications with DynamoDB
mza
88
5.7k
Rebuilding a faster, lazier Slack
samanthasiow
74
8.3k
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
12
1.1k
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.7k
The Power of CSS Pseudo Elements
geoffreycrofte
62
5k
Reflections from 52 weeks, 52 projects
jeffersonlam
345
19k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
323
20k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
7k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
275
13k
Transcript
ɹ135*.&4ࣾษڧձ 8PSEMFΛ༡ΜͰ ใՊֶΛษڧ͢Δ
ΞδΣϯμ ࣗݾհ 8PSEMFͱ සੳ Τϯτϩϐʔ
·ͱΊ
ࣗݾհ ໊લɿߐؒ༸ฏ ৬ۀɿόοΫΤϯυΤϯδχΞ (JU)VCNFJIFJ 5XJUUFSBQQF@T
8PSEMFͱ
8PSEMFͰ༡Μͩ͜ͱ͕͋Δਓ🙋
8PSEMFͱ ̑จࣈͷ୯ޠΛͯΔήʔϜ จࣈͱҐஔ͕͍ͨͬͯͨΒ🟩 จࣈ͕͍ͨͬͯͨΒ🟨 จࣈ͕͑ʹؚ·Εͳ͍߹⬜ ઓ̒ճ·Ͱ
ྫ͑ɾɾɾ ਖ਼ղ͕803-%ͷ߹ 41&",ͱೖྗ͢Δͱ⬜⬜⬜⬜⬜͕ฦ͞ΕΔ 108&3ͱೖྗ͢Δͱ⬜🟩🟨⬜🟨͕ฦ͞ΕΔ 80345ͱೖྗ͢Δͱ🟩🟩🟩⬜⬜͕ฦ͞ΕΔ 803-%ͱೖྗ͢Δͱ🟩🟩🟩🟩🟩͕ฦ͞ΕͯɺήʔϜʹউར
ࠓ͜ͷήʔϜͰ༡ͼͳ͕Β ใՊֶ $4 ͷษڧΛ͠·͢
ΞδΣϯμ ࣗݾհ 8PSEMFͱ සੳ Τϯτϩϐʔ
·ͱΊ ࠓֶͿࣄ
ͬͦ͘͞༡ΜͰߦ͖·͠ΐ͏
ॳखɺԿʹ͠·͔͢ʁ
🟩🟩🟩🟩🟩ˡউͪ ⬜🟩🟩🟩🟩ˡ̐จࣈ͍ͨͬͯΔɺઌ಄̍จࣈ͕ҧ͏ ⬜🟨⬜🟨⬜ˡ̎จࣈ͍ͨͬͯΔ ⬜⬜⬜⬜⬜ˡશવΘ͔Βͳ͍ʁ
🟩ͱ🟨͕དྷΔͱخ͍͠
ͳΔ͘ਖ਼ղͷ̑จࣈʹ ΘΕ͍ͯΔจࣈΛೖྗ͍ͨ͠
සੳ
୯Ұஔ҉߸ͷΛ͠·͢ ͍͖ͳΓͰ͕͢ʜ
୯Ұஔ҉߸ ͭͷจࣈʹରͯ͠ɺৗʹಉ͡จࣈʹ ม͞ΕΔΑ͏ͳ҉߸ γʔβʔ҉߸ɺ305ͳͲ͕༗໊ γʔβʔ҉߸
ྫʢ305ʣ ΞϧϑΝϕοτΛจࣈγϑτͤͨ͞୯Ұஔ҉߸ ฏจ ҉߸จ
ྫʢ305ʣ ΞϧϑΝϕοτΛจࣈγϑτͤͨ͞୯Ұஔ҉߸ ҉߸จ 🤔
͜Εɺ࣮؆୯ʹղ͚·͢
มલzFz͕ଟ͘ɺมޙzSz͕ଟ͍ ฏจ ҉߸จ
มલzWz͕গͳ͘ɺมޙzJz͕গͳ͍ ฏจ ҉߸จ
จࣈͷग़ݱසภΓ͕͋Γͦ͏
จষதͷจࣈͷग़ݱස ฏจ ҉߸จ
୯Ұஔ҉߸͜͏ͬͯղ͘ ฏจ Ұൠతͳจষͷจࣈͷग़ݱසͱൺֱ ҉߸จ ҉߸จͷจࣈͷग़ݱසΛੳ
8PSEMFಉ͡ΞϓϩʔνͰ ղ͚ͳ͍Ζ͏͔ʁ
සੳGPS8PSEMF ొ͞Ε͍ͯΔ̑จࣈͷӳ୯ޠ ݸ͋Δ ͔͠͠ɺ࣮ࡍʹXPSEMFͰ͑ͱͯ͠ΘΕΔ୯ޠ ݸ ϫʔυϦετ(JU)VC͔ΒऔಘՄೳ ˠΑ͠ɺੳ͠Α͏ ˞͜ΕެࣜͷͷͰͳ͍Ͱ͢
୯ޠʹจࣈ͕̍จࣈҎ্ग़ݱ͢Δස ΓF͕ڧ͍ʢͷ ୯ޠʹؚ·ΕΔʣ ࣍ͰBSʢʣ J M O P T UͳͲΑ͘ग़
ݱ͢Δʢʣ K R Y [΄ͱΜͲग़ݱ͠ ͳ͍ʢʣ
ͳΔ͘ਖ਼ղͷ̑จࣈʹ ΘΕ͍ͯΔจࣈΛೖྗ͍ͨ͠ ໋
ग़ݱසͷߴ͍F B SΛඞͣ͏ Ճ͑ͯJ M O P T
UΛͬͯ୯ޠ Λ࡞Δ Δ͜ͱ
୯ޠͷީิ w FBSO w FBSMT w FBSOT w FBSOU w
FBSTU w MFBST w OFBST w TUFBS w UFBST
୯ޠͷީิ w FBSO w FBSMT w FBSOT w FBSOU w
FBSTU w MFBST w OFBST w TUFBS w UFBST ˢࠓճ͜ΕΛ࠾༻
ॳख5&"34ͰຒΊͯߦ͘
ྑ͍ॳख͕ଧͯͨ🙌
࣍ͷखɺԿʹ͠·͔͢ʁ
·۪ͣʹߟ͑ͯΈΔ
ࠓ͔͍ͬͯΔࣄ w "จࣈͱҐஔ͕߹͍ͬͯΔ w & 4Ͳ͔͜ͰΘΕ͍ͯΔ w 5 3ΘΕͳ͍ ɹɹˠ͜ͷใ͔Β݅Λ࡞Δ
ਖ਼ղͰ͋Δ݅ w ̏จࣈ" w ̎จࣈҎ֎ʹ&ؚ͕·ΕΔ w ̑จࣈҎ֎ʹ4ؚ͕·ΕΔ w 5 3จࣈʹؚ·Εͳ͍
୯ޠͷީิʢ̍̕௨Γʣ w BCBTF w DFBTF w DIBTF w MFBTF w
MFBTI w QIBTF w TDBMF w TIBEF w TIBLF w TIBMF w TIBNF w TIBQF w TIBWF w TMBWF w TOBLF w TQBDF w TQBEF w TVBWF w VTBHF
සੳΑΓJ M O Pؚ͕·ΕΔจࣈ w BCBTF w DFBTF w DIBTF
w MFBTF w MFBTI w QIBTF w TDBMF w TIBEF w TIBLF w TIBMF w TIBNF w TIBQF w TIBWF w TMBWF w TOBLF w TQBDF w TQBEF w TVBWF w VTBHF
සੳΑΓJ M O Pؚ͕·ΕΔจࣈ w BCBTF w DFBTF w DIBTF
w MFBTF w MFBTI w QIBTF w TDBMF w TIBEF w TIBLF w TIBMF w TIBNF w TIBQF w TIBWF w TMBWF w TOBLF w TQBDF w TQBEF w TVBWF w VTBHF ˣࠓճ͜ΕΛ࠾༻
̎ख4$"-&ͰຒΊͯߦ͘
🟩͕૿͑ͨ🙌
ߋʹ୯ޠͷީิΛߜΔʢ̕௨Γʣ w TIBEF w TIBLF w TIBNF w TIBQF w
TIBWF w TOBLF w TQBDF w TQBEF w TVBWF
ߋʹ୯ޠͷީิΛߜΔʢ̕௨Γʣ w TIBEF w TIBLF w TIBNF w TIBQF w
TIBWF w TOBLF w TQBDF w TQBEF w TVBWF ˣࠓճ͜ΕΛ࠾༻
̏ख4)"%&ͰຒΊͯߦ͘
🟩͕૿͑ͨ🙌
ߋʹ୯ޠͷީิΛߜΔʢ̐௨Γʣ w TIBLF w TIBNF w TIBQF w TIBWF ˡ࣍͜ΕΛ࠾༻
̐ख4)".&ͰຒΊͯߦ͘
ͣΕͨ😥
ߋʹ୯ޠͷީิΛߜΔʢ̏௨Γʣ w TIBLF w TIBQF w TIBWF ˡ࣍͜ΕΛ࠾༻
̑ख4)"7&ͰຒΊͯߦ͘
ͣΕͨ😰
ߋʹ୯ޠͷީิΛߜΔʢ̎௨Γʣ w TIBLF w TIBQF ˡ࠷ޙ͜ΕΛ࠾༻
ϥετ4)"1&ͰຒΊͯߦ͘
ͣΕͨ😱
ͳͥͳͷ͔
ৼΓฦͬͯΈΔ ̍ख ௨Γ ̎ख௨Γ ̏ख௨Γ ̐ख௨Γ ̑ख௨Γ ̒ख௨Γ
ৼΓฦͬͯΈΔ ̍ख ௨Γ ̎ख௨Γ ̏ख௨Γ ̐ख௨Γ ̑ख௨Γ ̒ख௨Γ ·Ͱݮɺྑ͍ख
ৼΓฦͬͯΈΔ ̍ख ௨Γ ̎ख௨Γ ̏ख௨Γ ̐ख௨Γ ̑ख௨Γ ̒ख௨Γ ·Ͱݮɺඍົ
ৼΓฦͬͯΈΔ ̍ख ௨Γ ̎ख௨Γ ̏ख௨Γ ̐ख௨Γ ̑ख௨Γ ̒ख௨Γ ·Ͱݮɺඍົ
ৼΓฦͬͯΈΔ ̍ख ௨Γ ̎ख௨Γ ̏ख௨Γ ̐ख௨Γ ̑ख௨Γ ̒ख௨Γ ͻͲ͍ ͻͲ͍
ͳͥͳͷ͔
ॳखͰ͔ͬͨࣄ w "จࣈͱҐஔ͕߹͍ͬͯΔ w & 4Ͳ͔͜ͰΘΕ͍ͯΔ w 5 3ΘΕͳ͍
ॳखͰଟ͘ͷใ͕ಘΒΕͨ
௨Γ͔Β௨Γ·Ͱ ݮͨ͠
̐खͰ͔ͬͨࣄ w .ΘΕͳ͍
̐खগ͠ͷࣄ͔͠ ͔Βͳ͔ͬͨ
௨Γ͔Β௨Γʹͳ͚ͬͨͩ
ͭ·ΓɺಘΒΕΔใ͕ ଟ͍΄͏͕ྑ͍ख
ಘΒΕΔใͷྔΛ͔Δࣄ ग़དྷͳ͍ͩΖ͏͔ʁ
Τϯτϩϐʔ
ใྔ ͦͷࣄ͕ͲΕ͚ͩใΛग़͔ͨ͠Λ͔Δई ࣄ͕ى͜Δ֬ ͱ͢Δͱ ใྔ p I(p) = − log
p
؆୯ʹݴ͏ͱɺ͍͠ࣄ ಘΒΕΔใ͕ଟ͍
ใྔͷྫ छྨͷΞϧϑΝϕοτ͔Β̍ͭΛͯΔ * −log2 1 26
ใྔͷྫ छྨͷΞϧϑΝϕοτ͔Β̍ͭΛͯΔ * ɹˠ͔Γ͖͍ͬͯΔࣄ ɹɹˠಘΒΕΔใྔ̌ −log2 1 1
ใྔΛ͑8PSEMF ղ͚ͦ͏ͩʂ
Ͳ͏ͬͯ8PSEMFʹԠ༻͢Δ͔ʁ
ΤϯτϩϐʔΛ࠷େԽ͢Δ
Τϯτϩϐʔʢฏۉใྔʣ ͷͯ͢ͷࣄʹରͯ͠ใྔͷฏۉΛͱͬͨͷ ฏۉใྔ ɹɹˠ͍ͭ͜Λ࠷େԽ͢ΕΑͦ͞͏ X H(X) = − ∑
i pi log pi
࣮ࡍʹ8PSEMFͰΤϯτϩϐʔ ΛͬͯΈΔ
̐खͷީิ w TIBLF w TIBNF w TIBQF w TIBWF
4)".&ΛબΜͩ߹ w TIBLFɹˠɹ🟩🟩🟩⬜🟩 w TIBNFɹˠɹ🟩🟩🟩🟩🟩 w TIBQFɹˠɹ🟩🟩🟩⬜🟩 w TIBWFɹˠɹ🟩🟩🟩⬜🟩
4)".&ΛબΜͩ߹ w TIBLFɹˠɹ🟩🟩🟩⬜🟩 w TIBNFɹˠɹ🟩🟩🟩🟩🟩 w TIBQFɹˠɹ🟩🟩🟩⬜🟩 w TIBWFɹˠɹ🟩🟩🟩⬜🟩 🟩🟩🟩⬜🟩
🟩🟩🟩🟩🟩 p 3 4 p 1 4
4)".&ΛબΜͩ߹ w TIBLFɹˠɹ🟩🟩🟩⬜🟩 w TIBNFɹˠɹ🟩🟩🟩🟩🟩 w TIBQFɹˠɹ🟩🟩🟩⬜🟩 w TIBWFɹˠɹ🟩🟩🟩⬜🟩 🟩🟩🟩⬜🟩
🟩🟩🟩🟩🟩 p 3 4 p 1 4 4)".& H − 3 4 log2 3 4 − 1 4 log2 1 4 ≒ 0.81
Τϯτϩϐʔ͕େ͖͍୯ޠ ͰͲ͏ͳΔͷ͔
4,*.1ΛબΜͩ߹ w TIBLFɹˠɹ🟩🟨⬜⬜⬜ w TIBNFɹˠɹ🟩⬜⬜⬜⬜ w TIBQFɹˠɹ🟩⬜⬜⬜🟨 w TIBWFɹˠɹ🟩⬜⬜⬜⬜ ˞༧Ίܭࢉͯ͠ɺ͜ͷ୯ޠΛબΜͰ͍·͢
4,*.1ΛબΜͩ߹ w TIBLFɹˠɹ🟩🟨⬜⬜⬜ w TIBNFɹˠɹ🟩⬜⬜⬜⬜ w TIBQFɹˠɹ🟩⬜⬜⬜🟨 w TIBWFɹˠɹ🟩⬜⬜⬜⬜ 🟩⬜⬜⬜⬜
🟩🟨⬜⬜⬜ 🟩⬜⬜⬜🟨 p 2 4 p 1 4 p 1 4
4,*.1ΛબΜͩ߹ w TIBLFɹˠɹ🟩🟨⬜⬜⬜ w TIBNFɹˠɹ🟩⬜⬜⬜⬜ w TIBQFɹˠɹ🟩⬜⬜⬜🟨 w TIBWFɹˠɹ🟩⬜⬜⬜⬜ 🟩⬜⬜⬜⬜
🟩🟨⬜⬜⬜ 🟩⬜⬜⬜🟨 p 2 4 p 1 4 p 1 4 4,*.1 H − 2 4 log2 2 4 − 1 4 log2 1 4 − 1 4 log2 1 4 ≒ 1.5
4)".&ΑΓ4,*.1ͷํ͕ ಘΒΕΔใ͕ଟ͍
4,*.1ͰຒΊͯߦ͘
ͣΕͨ😥
Ͱใྔେ͖͍😄
̑खͷ୯ޠͷީิʜ w TIBLF ɹˠɹ̍௨ΓʹߜΒΕͨʂ
উͬͨʂʂ
Τϯτϩϐʔ͛͢ʔ
ͦ͏͍͑
🟩ͱ🟨ݮͬͯྑ͍ͷ͔ʁ 🤔
🟩ͱ🟨͕དྷΔͱخ͍͠
🟩ͱ🟨͕དྷΔͱخ͍͠ ͜Εؒҧ͑
ਖ਼͘͠ Τϯτϩϐʔ͕࠷େԽ͞ΕΔ ͱخ͍͠
ͪͳΈʹ Τϯτϩϐʔͷ࠷େԽॳखͰదԠग़དྷΔ ɹˠɹιϧόʔ࡞ΔͳΒසੳΑΓΤϯτϩϐʔ 4"-&5͕࠷ڧͱ͍͏ͷ͕௨આ
·ͱΊ
ࠓֶΜͩ͜ͱ ୯Ұஔ҉߸සੳͰղ͚Δ ࣗવݴޠͷจࣈʹग़ݱසʹภΓ͕͋Δ ใྔͱͦͷࣄ͕ͲΕ͚ͩใΛग़͔ͨ͠Λ͔Δई ใྔ Τϯτϩϐʔͱͯ͢ͷࣄͷใྔͷฏۉ
ฏۉใྔ I(p) = − log p H(X) = − ∑ i pi log pi
ࢀߟ w IUUQTYDMPDIFIBUFCMPKQFOUSZ w IUUQTTPOPSPVTDIPDPMBUFDPNOPUFTJOEFYQIQ UJUMF5IF@CFTU@TUSBUFHJFT@GPS@8PSEMF w IUUQTHJUIVCDPNBMFYXPSEMF w IUUQTRJJUBDPNNBTBLB@QSPHSBNNJOHJUFNT
BGFBBFECG w IUUQTGSFTINBOEFWXPSEMFMFBEFSCPBSE