Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
わかった気になるチューリングマシン
Search
Hirokazu Maruta
November 24, 2021
Science
0
45
わかった気になるチューリングマシン
Hirokazu Maruta
November 24, 2021
Tweet
Share
More Decks by Hirokazu Maruta
See All by Hirokazu Maruta
encryption
mochisuna
0
110
Elementary algorithm
mochisuna
0
25
ssh-dynamic-forward
mochisuna
0
59
ServerlessFramework-Trello
mochisuna
0
30
TechBash Slack Reaction Award
mochisuna
0
45
techbash-clasp
mochisuna
0
88
vuejs-night-publish
mochisuna
0
1.1k
surprise-lt-for-intern-vol-2
mochisuna
0
52
docker-multi-stage-build
mochisuna
0
170
Other Decks in Science
See All in Science
Vibecoding for Product Managers
ibknadedeji
0
120
HajimetenoLT vol.17
hashimoto_kei
1
110
防災デジタル分野での官民共創の取り組み (1)防災DX官民共創をどう進めるか
ditccsugii
0
420
(2025) Balade en cyclotomie
mansuy
0
240
機械学習 - SVM
trycycle
PRO
1
940
会社でMLモデルを作るとは @電気通信大学 データアントレプレナーフェロープログラム
yuto16
1
430
データベース02: データベースの概念
trycycle
PRO
2
980
MCMCのR-hatは分散分析である
moricup
0
520
データベース10: 拡張実体関連モデル
trycycle
PRO
0
1k
データマイニング - グラフデータと経路
trycycle
PRO
1
260
機械学習 - K近傍法 & 機械学習のお作法
trycycle
PRO
0
1.3k
データベース01: データベースを使わない世界
trycycle
PRO
1
920
Featured
See All Featured
Producing Creativity
orderedlist
PRO
348
40k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Being A Developer After 40
akosma
91
590k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Typedesign – Prime Four
hannesfritz
42
2.9k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
YesSQL, Process and Tooling at Scale
rocio
174
15k
How to Ace a Technical Interview
jacobian
280
24k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
A designer walks into a library…
pauljervisheath
210
24k
Transcript
Θ͔ͬͨؾʹͳΔ νϡʔϦϯάϚγϯ ߹ಉձࣾMaruhiro Lab. ·Δͨ
·ͣ͊͞ ʢݴ͍༁λΠϜʣ
࠷ॳʹ͓͍͍ͯͨλΠτϧ
Θ͔ͬͨؾʹͳΔ ܭࢉػՊֶ ߹ಉձࣾMaruhiro Lab. ·Δͨ
ҙؾ༲ʑͱ࡞Γ࢝Ίͨͷͷ
ͦͷൣғ
None
None
ແཧ
վΊͯࠓճͷ༰
Θ͔ͬͨؾʹͳΔ νϡʔϦϯάϚγϯ ߹ಉձࣾMaruhiro Lab. ·Δͨ
ࣗݾհ https://github.com/mochisuna • ؙాʢ·ΔͨͻΖ͔ͣʣ • Twitter: @mochi_suna • ओʹαʔόʔαΠυΤϯδχΞ •
झຯɿϐΞϊɺϘυήɺΞΠίϯ࡞ʢΧούʣɺϓϨθϯ • ࣗಈԽେ͖ɻख࡞ۀ͖Β͍ • githubɿ @mochisuna
ٕज़໘
ʮνϡʔϦϯάϚγϯʯ
ͳΜ͔͏ ͢ͰʹϜζ͍
ӕ͕ଟͯ͘ ʮΘ͔ͬͨؾʹͳΔʯ Λඪʹઆ໌
ࠓճͷ༰ • νϡʔϦϯάϚγϯ • ·ͣͳΜͰ͜ΕબΜͩΜʁ • ֓ • νϡʔϦϯάϚγϯͷݪ •
நػց • νϡʔϦϯάશ • ܭࢉෳࡶੑ
·ͣͳΜͰ͜ΕબΜͩΜʁ
͋ΔษڧձͰͷ͜ͱ
ʮνϡʔϦϯάશʯ
ʮνϡʔϦϯάʯ ʮશʯ
🤔
֓
νϡʔϦϯάϚγϯ֓ νϡʔϦϯάϚγϯͷݪ νϡʔϦϯάશ நػց
νϡʔϦϯάϚγϯ֓ νϡʔϦϯάϚγϯͷݪ νϡʔϦϯάશ நػց
νϡʔϦϯάϚγϯͷݪ • ݩʑֶͷఆΛߟ͑ΔͨΊʹߟҊ • μϑΟοτɾώϧϕϧτʢ1862~1943ʣ • ֶͬͯΊͬͪΌ͍͢͝Αͳʁ • ʮσΟΦϑΝϯτεํఔࣜʹղ͕ ͋Δ͔ʯͬͯύοͱผͰ͖ͦ͏
͡ΌͶʁ
νϡʔϦϯάϚγϯͷݪ ΞϥϯɾνϡʔϦϯάʢ1912~1954ʣ • ʮܭࢉՄೳੑʯͷٞʹͯఏࣔ • ݱࡏͷίϯϐϡʔλͷݪܕ
νϡʔϦϯάϚγϯͷݪ ΞϥϯɾνϡʔϦϯάʢ1912~1954ʣ • ʮܭࢉՄೳੑʯͷٞʹͯఏࣔ • ݱࡏͷίϯϐϡʔλͷݪܕ • ୯७ͳػߏΛ࣋ͬͨநػց
νϡʔϦϯάϚγϯͷݪ ΞϥϯɾνϡʔϦϯάʢ1912~1954ʣ • ʮܭࢉՄೳੑʯͷٞʹͯఏࣔ • ݱࡏͷίϯϐϡʔλͷݪܕ • ୯७ͳػߏΛ࣋ͬͨநػց • ͪͳΈʹੈքॳͷి1963
νϡʔϦϯάϚγϯͷݪ • ਓؒͷܭࢉͷखॱΛ฿͢ΔػցʹͤΑ͏ b` b ` b` b` ೖྗ
νϡʔϦϯάϚγϯͷݪ • ਓؒͷܭࢉͷखॱΛ฿͢ΔػցʹͤΑ͏ →ϓϩάϥϜΛॻ͘ͷͱ΄΅ಉٛ b` b ` b` b` ೖྗ
νϡʔϦϯάϚγϯͷݪ • ਓؒͷܭࢉͷखॱΛ฿͢ΔػցʹͤΑ͏ →ϓϩάϥϜΛॻ͘ͷͱ΄΅ಉٛ • ೖྗʹର͠ʮػցͷ෦ঢ়ଶʯͰධՁ
νϡʔϦϯάϚγϯͷݪ • ਓؒͷܭࢉͷखॱΛ฿͢ΔػցʹͤΑ͏ →ϓϩάϥϜΛॻ͘ͷͱ΄΅ಉٛ • ೖྗʹର͠ʮػցͷ෦ঢ়ଶʯͰධՁ b`͕ೖྗ ͞Ε·ͨ͠
νϡʔϦϯάϚγϯͷݪ • ਓؒͷܭࢉͷखॱΛ฿͢ΔػցʹͤΑ͏ →ϓϩάϥϜΛॻ͘ͷͱ΄΅ಉٛ • ೖྗʹର͠ʮػցͷ෦ঢ়ଶʯͰධՁ b `͕ೖྗ ͞Ε·ͨ͠ b`͕ೖྗ
͞Ε·ͨ͠
νϡʔϦϯάϚγϯͷݪ • ਓؒͷܭࢉͷखॱΛ฿͢ΔػցʹͤΑ͏ →ϓϩάϥϜΛॻ͘ͷͱ΄΅ಉٛ • ೖྗʹର͠ʮػցͷ෦ঢ়ଶʯͰධՁ b `͕ೖྗ ͞Ε·ͨ͠ b`͕ೖྗ
͞Ε·ͨ͠ b`͕ೖྗ ͞Ε·ͨ͠
νϡʔϦϯάϚγϯͷݪ • ਓؒͷܭࢉͷखॱΛ฿͢ΔػցʹͤΑ͏ →ϓϩάϥϜΛॻ͘ͷͱ΄΅ಉٛ • ೖྗʹର͠ʮػցͷ෦ঢ়ଶʯͰධՁ b `͕ೖྗ ͞Ε·ͨ͠ b`͕ೖྗ
͞Ε·ͨ͠ b`͕ೖྗ ͞Ε·ͨ͠ b`͕ೖྗ ͞Ε·ͨ͠
νϡʔϦϯάϚγϯͷݪ • ਓؒͷܭࢉͷखॱΛ฿͢ΔػցʹͤΑ͏ →ϓϩάϥϜΛॻ͘ͷͱ΄΅ಉٛ • ೖྗʹର͠ʮػցͷ෦ঢ়ଶʯͰධՁ ೖྗʹର͠ :&4/0ͷఆΛ͢Δͷʹ ͱͯ߹͕͍͍
νϡʔϦϯάϚγϯͷݪ • ਓؒͷܭࢉͷखॱΛ฿͢ΔػցʹͤΑ͏ →ϓϩάϥϜΛॻ͘ͷͱ΄΅ಉٛ • ೖྗʹର͠ʮػցͷ෦ঢ়ଶʯͰධՁ ೖྗʹର͠ :&4/0ͷఆΛ͢Δͷʹ ͱͯ߹͕͍͍ நػց
νϡʔϦϯάϚγϯ֓ νϡʔϦϯάϚγϯͷݪ νϡʔϦϯάશ நػց
νϡʔϦϯάϚγϯͷݪʢ࠶ܝʣ • ਓؒͷܭࢉͷखॱΛ฿͢ΔػցʹͤΑ͏ →ϓϩάϥϜΛॻ͘ͷͱ΄΅ಉٛ • ೖྗʹର͠ʮػցͷ෦ঢ়ଶʯͰධՁ ೖྗʹର͠ :&4/0ͷఆΛ͢Δͷʹ ͱͯ߹͕͍͍
• ʮຊͷػցͷΑ͏ʹʯಈֶ͘తϞσϧ • ্هͷఆٛ௨ΓʹࣗతʹܭࢉΛ࣮ߦ ෦ ػೳ ৼΔ͍ͷϧʔϧ நػց
நػցͷछྨʢͷҰ෦ʣ • ༗ݶΦʔτϚτϯ • ϓογϡμϯΦʔτϚτϯ • νϡʔϦϯάϚγϯ Լʹߦ͘΄ͲෳࡶͰଟػೳ
நػցͷछྨʢͷҰ෦ʣ • ༗ݶΦʔτϚτϯ • ϓογϡμϯΦʔτϚτϯ • νϡʔϦϯάϚγϯ Լʹߦ͘΄ͲෳࡶͰଟػೳ
༗ݶΦʔτϚτϯ • Automatonʢࣗಈਓܗʣ • ༗ݶݸͷঢ়ଶΛ࣋ͭʮৼΔ͍Ϟσϧʯ • Ԡ༻ใͱ͔Ͱग़͕ͪ ʦग़ɿฏ21य़ʗAPޕલ3ʧ
༗ݶΦʔτϚτϯ • ॳظঢ়ଶͱडཧঢ়ଶͰධՁ • Input͕݅ʹҰக͢Δ͔͠ͳ͍͔Λఆ →ఆ B C D 0
0 1 0 1 1
༗ݶΦʔτϚτϯ • ຊདྷ͔ͳΓݫີͳఆ͕ٛ͋Δ
༗ݶΦʔτϚτϯ • ຊདྷ͔ͳΓݫີͳఆ͕ٛ͋Δ • େֶͰतۀΛड͚͍ͯͩ͘͞
༗ݶΦʔτϚτϯ • جຊߏ 1. ༗ݶঢ়ଶ੍ޚ෦ 2. ಡΈऔΓϔομ 3. ςʔϓʢ֎෦هԱʣ ʜ
ʜ
ʜ ʜ ༗ݶΦʔτϚτϯʢಈ࡞ʣ ݱঢ়ଶ
B B C C B D D C D B C D 0 0 1 0 1 1 ೖྗʹ`` ͳͷͰ ঢ়ଶʹ`B`
ʜ ʜ ༗ݶΦʔτϚτϯʢಈ࡞ʣ ݱঢ়ଶ
B B C C B D D C D B C D 0 0 1 0 1 1 ೖྗʹ`` ͳͷͰ ঢ়ଶʹ`C`
ʜ ʜ ݱঢ়ଶ
B B C C B D D C D B C D 0 0 1 0 1 1 ೖྗʹ`` ͳͷͰ ঢ়ଶʹ`D` ༗ݶΦʔτϚτϯʢಈ࡞ʣ
ʜ ʜ ݱঢ়ଶ
B B C C B D D C D B C D 0 0 1 0 1 1 ೖྗʹ`` ͳͷͰ ঢ়ଶʹ`C` ༗ݶΦʔτϚτϯʢಈ࡞ʣ
ʜ ʜ ݱঢ়ଶ
B B C C B D D C D B C D 0 0 1 0 1 1 ೖྗʹ`` ͳͷͰ ঢ়ଶʹ`D` ༗ݶΦʔτϚτϯʢಈ࡞ʣ
ʜ ʜ ݱঢ়ଶ
B B C C B D D C D B C D 0 0 1 0 1 1 ೖྗʹ`` ͳͷͰ ঢ়ଶʹ`D` ༗ݶΦʔτϚτϯʢಈ࡞ʣ
ʜ ʜ ݱঢ়ଶ
B B C C B D D C D B C D 0 0 1 0 1 1 ࠷ऴঢ়ଶ͕`D` ͳͷͰ डཧ ༗ݶΦʔτϚτϯʢಈ࡞ʣ
நػցͷछྨʢͷҰ෦ʣ • ༗ݶΦʔτϚτϯ • ϓογϡμϯΦʔτϚτϯ • νϡʔϦϯάϚγϯ Լʹߦ͘΄ͲෳࡶͰଟػೳ
ϓογϡμϯΦʔτϚτϯ • ༗ݶΦʔτϚτϯͰࠔΔέʔε͕͋Δ • จ຺ࣗ༝จ๏ S S S a a
a b b b
ϓογϡμϯΦʔτϚτϯ • ༗ݶΦʔτϚτϯͰࠔΔέʔε͕͋Δ • จ຺ࣗ༝จ๏ S S S a a
a b b b " a " " a # b # # b ɾɾɾ a b ε ε ε
ϓογϡμϯΦʔτϚτϯ • ༗ݶΦʔτϚτϯͰࠔΔέʔε͕͋Δ • จ຺ࣗ༝จ๏ • ༗ݶΦʔτϚτϯͰදݱͰ͖ͳ͍ S S S
a a a b b b " a " " a # b # # b ɾɾɾ a b ε ε ε
ϓογϡμϯΦʔτϚτϯ • ༗ݶΦʔτϚτϯͰࠔΔέʔε͕͋Δ • จ຺ࣗ༝จ๏ • ༗ݶΦʔτϚτϯͰදݱͰ͖ͳ͍ • ੍ޚػߏΛ֦ுͨ͠ϞσϧΛఆٛ S
S S a a a b b b " a " " a # b # # b ɾɾɾ a b ε ε ε
ϓογϡμϯΦʔτϚτϯ • جຊߏ 1. ༗ݶঢ়ଶ੍ޚ෦ 2. ಡΈऔΓϔομ 3. ςʔϓʢ֎෦هԱʣ 4.
ελοΫػߏ ʜ ʜ
ʜ ʜ B C D ϓογϡμϯΦʔτϚτϯʢಈ࡞ʣ
ε, ε→Z0 0, ε→0 E 1, 0→ε 1, 0→ε ε, Z0 →ε L={ 0n1n | n ≧ 0 } ; ݅ʹΑΒͣ ελοΫ;
ʜ ʜ B C D ϓογϡμϯΦʔτϚτϯʢಈ࡞ʣ
ε, ε→Z0 0, ε→0 E 1, 0→ε 1, 0→ε ε, Z0 →ε L={ 0n1n | n ≧ 0 } ; ݅ʹΑΒͣ ελοΫ ೖྗʹ`` ͳͷͰ ঢ়ଶʹ`C`
ʜ ʜ B C D ϓογϡμϯΦʔτϚτϯʢಈ࡞ʣ
ε, ε→Z0 0, ε→0 E 1, 0→ε 1, 0→ε ε, Z0 →ε L={ 0n1n | n ≧ 0 } ; ೖྗʹ`` ͳͷͰ ঢ়ଶʹ`C` ݅ʹΑΒͣ ελοΫ
ʜ ʜ B C D ϓογϡμϯΦʔτϚτϯʢಈ࡞ʣ
ε, ε→Z0 0, ε→0 E 1, 0→ε 1, 0→ε ε, Z0 →ε L={ 0n1n | n ≧ 0 } ; ೖྗʹ`` ͳͷͰ ঢ়ଶʹ`D` ελοΫઌ಄ ͳͷͰ ઌ಄ΛQPQ
ʜ ʜ B C D ϓογϡμϯΦʔτϚτϯʢಈ࡞ʣ
ε, ε→Z0 0, ε→0 E 1, 0→ε 1, 0→ε ε, Z0 →ε L={ 0n1n | n ≧ 0 } ; ೖྗʹ`` ͳͷͰ ঢ়ଶʹ`D` ελοΫઌ಄ ͳͷͰ ઌ಄ΛQPQ
ʜ ʜ B C D ϓογϡμϯΦʔτϚτϯʢಈ࡞ʣ
ε, ε→Z0 0, ε→0 E 1, 0→ε 1, 0→ε ε, Z0 →ε L={ 0n1n | n ≧ 0 } ελοΫઌ಄; ͳͷͰ ઌ಄ΛQPQ
ʜ ʜ B C D ϓογϡμϯΦʔτϚτϯʢಈ࡞ʣ
ε, ε→Z0 0, ε→0 E 1, 0→ε 1, 0→ε ε, Z0 →ε L={ 0n1n | n ≧ 0 } ࠷ऴঢ়ଶ͕`E` ͳͷͰ डཧ
நػցͷछྨʢͷҰ෦ʣ • ༗ݶΦʔτϚτϯ • ϓογϡμϯΦʔτϚτϯ • νϡʔϦϯάϚγϯ Լʹߦ͘΄ͲෳࡶͰଟػೳ
νϡʔϦϯάϚγϯ • Α͏͘ຊ • ༗ݶΦʔτϚτϯʹಡΈॻ͖ΛڐՄ • ςʔϓͷ༰ʹ߹ΘͤͯࠨӈʹγʔΫ ࠨӈҠಈ ಡΈऔΓ ॻ͖ࠐΈ
νϡʔϦϯάϚγϯ • جຊߏ 1. ༗ݶঢ়ଶ੍ޚ෦ 2. ಡΈॻ͖ϔομ 3. ςʔϓʢ֎෦هԱʣ ʜ
ʜ ࠨӈҠಈ ಡΈऔΓ ॻ͖ࠐΈ Ͱ͖Δ͜ͱ
ྑ͍࣮Λݟͨํ͕͍͍ • Doodle: Alan Turing’s 100th Birthday • https://www.google.com/doodles/alan-turings-100th-birthday
ྑ͍࣮Λݟͨํ͕͍͍ • Doodle: Alan Turing’s 100th Birthday • https://www.google.com/doodles/alan-turings-100th-birthday •
ͪͳΈʹGithubͰެ։͞ΕͯΔ • https://github.com/google/turing-doodle
νϡʔϦϯάϚγϯΛߟ͑Δ νϡʔϦϯάϚγϯʢTMʣΛఆٛ͢Δҙٛ நతͳʮܭࢉػʯͱͯ͠ධՁͰ͖Δ
நతͳܭࢉػʁʁʁ • ੈͷதʹࢁͷʮܭࢉػʯ͕͋Δ • ಛఆͷنଇͰܭࢉ͞ΕΔͳΒɺͦΕܭࢉػ ܭࢉػ ೖྗ ग़ྗ
நతͳܭࢉػʁʁʁ • ੈͷதʹࢁͷʮܭࢉػʯ͕͋Δ • ಛఆͷنଇͰܭࢉ͞ΕΔͳΒɺͦΕܭࢉػ
நతͳܭࢉػʁʁʁ TMͰղ͚Δ / ղ͚ͳ͍ʹΞϧΰϦζϜͷ༗ແ • TMͰղ͚Δɿೖྗʹର͠TM͕ఀࢭ͢Δ • TM͕ఀࢭ͠ͳ͍ɿղ͕ଘࡏ͠ͳ͍ ʮΑΓෳࡶͳΛղܾͰ͖Δ͔ʯͷఆ
νϡʔϦϯάϚγϯ֓ νϡʔϦϯάϚγϯͷݪ νϡʔϦϯάશ நػց
νϡʔϦϯάશͷલʹ • ಛఆͷنଇͰܭࢉ͞ΕΔͳΒɺͦΕܭࢉػ ܭࢉػ ೖྗ ग़ྗ
νϡʔϦϯάશͷલʹ • ಛఆͷنଇͰܭࢉ͞ΕΔͳΒɺͦΕܭࢉػ • TMͷܭࢉϧʔϧTMຖʹఆ͍͍ٛͯ͠ ʜ
ʜ
TMͷϧʔϧTMຖʹʁʁʁ • ॲཧϧʔϧ͑͋͞ΕҙͷTM͕࡞ΕΔ ೖྗ0ຒΊTM ϥΠϑήʔϜTM ೖྗసTM
TMͷϧʔϧTMຖʹʁʁʁ • ॲཧϧʔϧ͑͋͞ΕҙͷTM͕࡞ΕΔ ೖྗ0ຒΊTM ϥΠϑήʔϜTM ೖྗసTM ͲΜͳTMͷܭࢉ฿Ͱ͖ΔTM
TMͷϧʔϧTMຖʹʁʁʁ • ॲཧϧʔϧ͑͋͞ΕҙͷTM͕࡞ΕΔ ೖྗ0ຒΊTM ϥΠϑήʔϜTM ೖྗసTM ສೳνϡʔϦϯάϚγϯ
ສೳνϡʔϦϯάϚγϯ ʮܭࢉΛ฿ʯ • TMͷೖྗɾܭࢉ݁ՌΛղऍ • ܭࢉΛʮ࠶ݱʯ͢Δ͜ͱ͕Ͱ͖ΔTM
ສೳνϡʔϦϯάϚγϯ ʮܭࢉΛ฿ʯ • TMͷೖྗɾܭࢉ݁ՌΛղऍ • ܭࢉΛʮ࠶ݱʯ͢Δ͜ͱ͕Ͱ͖ΔTM ʢͳΜΒ͔ͷܭࢉػͰʣ ܭࢉͰ͖ΔͷͳΜͰܭࢉͰ͖Δܭࢉػ
ສೳνϡʔϦϯάϚγϯ ʮܭࢉΛ฿ʯ • TMͷೖྗɾܭࢉ݁ՌΛղऍ • ܭࢉΛʮ࠶ݱʯ͢Δ͜ͱ͕Ͱ͖ΔTM ʮνϡʔϦϯάશʯͳܭࢉػ
νϡʔϦϯάશੑ νϡʔϦϯάશͳγεςϜͷྫ • ΄ͱΜͲͷϓϩάϥϛϯάݴޠ • MySQL • ϥΠϑήʔϜ • ϧʔϧ110ʢ1࣍ݩηϧΦʔτϚτϯʣ
͜ΕΒ͕දݱͰ͖Δ͜ͱͱ Ձͳ͜ͱ͕࣮ݱͰ͖Ε ʮνϡʔϦϯάશͳγεςϜʯ
͏͔ͬΓνϡʔϦϯάશʹͳͬͨ࿈த
ࠓճͷ༰ • νϡʔϦϯάϚγϯ • ·ͣͳΜͰ͜ΕબΜͩΜʁ • ֓ • νϡʔϦϯάϚγϯͷݪ •
நػց • νϡʔϦϯάશ • ܭࢉෳࡶੑ
ܭࢉෳࡶੑ
ܭࢉෳࡶੑ • ͋Δ͕Ͳͷ͘Β͍͍͠ͷ͔ʁͷࢦඪ
ܭࢉෳࡶੑ • ͋Δ͕Ͳͷ͘Β͍͍͠ͷ͔ʁͷࢦඪ →ܾఆੑTMΛղ͘ͷ͕ͲΕ͘Β͍େม͔
ܭࢉෳࡶੑ • ͋Δ͕Ͳͷ͘Β͍͍͠ͷ͔ʁͷࢦඪ →ܾఆੑTMΛղ͘ͷ͕ͲΕ͘Β͍େม͔ →ղΛग़͢ͷʹͲΕ͘Β͍͕͔͔࣌ؒΔ͔
ܭࢉෳࡶੑ • ͋Δ͕Ͳͷ͘Β͍͍͠ͷ͔ʁͷࢦඪ →ܾఆੑTMΛղ͘ͷ͕ͲΕ͘Β͍େม͔ →ղΛग़͢ͷʹͲΕ͘Β͍͕͔͔࣌ؒΔ͔ ೖྗ ग़ྗ 100ʂ
қతʹम࢜1૬
ӕϚγϚγͰղઆ
ܭࢉྔΦʔμʔ • Ͳͷ͘Β͍ܭࢉ͕͍͔͠ͷه๏
ܭࢉྔΦʔμʔ • Ͳͷ͘Β͍ܭࢉ͕͍͔͠ͷه๏ • ྫɿஉঁ߹Θͤͯ30ਓͷΫϥε
ܭࢉྔΦʔμʔ • ྫɿஉঁ߹Θͤͯ30ਓͷΫϥε 1. ాத͘ΜΧούͰ͔͢ʁ
ܭࢉྔΦʔμʔ • ྫɿஉঁ߹Θͤͯ30ਓͷΫϥε 1. ాத͘ΜΧούͰ͔͢ʁ print(member('ాத').is_kappa)
ܭࢉྔΦʔμʔ • ྫɿஉঁ߹Θͤͯ30ਓͷΫϥε 1. ాத͘ΜΧούͰ͔͢ʁ →ਓ͕૿͑ͯ͜ͷ1ॲཧ= O(1)
ܭࢉྔΦʔμʔ • ྫɿஉঁ߹Θͤͯ30ਓͷΫϥε 2. എͷॱͰฒͨ࣌ɺాத܅ͷޙΖஉࢠʁ
ܭࢉྔΦʔμʔ • ྫɿஉঁ߹Θͤͯ30ਓͷΫϥε 2. എͷॱͰฒͨ࣌ɺాத܅ͷޙΖஉࢠʁ →ೋ୳ࡧ= O(logN)
ܭࢉྔΦʔμʔ • ྫɿஉঁ߹Θͤͯ30ਓͷΫϥε 3. ͜ͷΫϥεʹాத܅͍·͔͢ʁ
ܭࢉྔΦʔμʔ • ྫɿஉঁ߹Θͤͯ30ਓͷΫϥε 3. ͜ͷΫϥεʹాத܅͍·͔͢ʁ for i in range(N): if
member[i].name == 'ాத': print('͍ͦͭΧούͩ')
ܭࢉྔΦʔμʔ • ྫɿஉঁ߹Θͤͯ30ਓͷΫϥε 3. ͜ͷΫϥεʹాத܅͍·͔͢ʁ →1ॏͷforจ= O(N)
ܭࢉྔΦʔμʔ • ྫɿஉঁ߹Θͤͯ30ਓͷΫϥε 4. ͜ͷΫϥεʹΧού2ਓ͍·͔͢ʁ
ܭࢉྔΦʔμʔ • ྫɿஉঁ߹Θͤͯ30ਓͷΫϥε 4. ͜ͷΫϥεʹΧού2ਓ͍·͔͢ʁ for i in range(N): for
j in range(i+1,N): if member[i].is_kappa && member[j].is_kappa: print('ͳΜͰ2ඖ͍ΜͶ')
ܭࢉྔΦʔμʔ • ྫɿஉঁ߹Θͤͯ30ਓͷΫϥε 4. ͜ͷΫϥεʹΧού2ਓ͍·͔͢ʁ →2ॏͷforจ= O(N2)
ܭࢉྔΦʔμʔ • ྫɿஉঁ߹Θͤͯ30ਓͷΫϥε 5. ྑ͠ಉ࢜Λ͚ͳ͍Α͏ʹΫϥε͚
ܭࢉྔΦʔμʔ • ྫɿஉঁ߹Θͤͯ30ਓͷΫϥε 5. ྑ͠ಉ࢜Λ͚ͳ͍Α͏ʹΫϥε͚ →શһʹର͠૯ͨΓ= O(2N)
ܭࢉྔΦʔμʔ • ྫɿஉঁ߹Θͤͯ30ਓͷΫϥε 6. ΨιϦϯΛڅ༉͠ͳ͍ͰશһͷՈఉ๚ͯ͠ ֶߍʹΔ
ܭࢉྔΦʔμʔ • ྫɿஉঁ߹Θͤͯ30ਓͷΫϥε 6. ΨιϦϯΛڅ༉͠ͳ͍ͰશһͷՈఉ๚ͯ͠ ֶߍʹΔ →TSP= O(N!)
ܭࢉྔΦʔμʔ • Ͳͷ͘Β͍ܭࢉ͕͍͔͠ Φʔμʔ /ͷ߹ ాதJTΧού O(1) എͷॱ O(logN)
Χού୳͠ O(N) Χούਓ O(N2) Ϋϥε͚ O(2N) Ոఉ๚ O(N!) º
ܭࢉྔΦʔμʔ ܾఆੑTMͰܭࢉͷ͠͞ΛఆٛͰ͖Δ • TMͷൃݟ͕ͨΒͨ͜͠ͱ • PCͰ༏Εͨղ๏ΛߟҊ͢Δͷʹߩݙ
P vs NP • Pɿ݁ߏ؆୯ • NPɿ͔ͳΓ͍͠ • NPશɿͬͱ͍͠ •
NPࠔɿ࠷ڧ NPࠔ P NP NPશ ͜͏͍͏ͷఆٛͰ͖ΔΑ͏ʹͳͬͨ
NPͷ໘ന͍͚Ͳ ͕͢͞ʹ͕࣌ؒͳ͍ͷͰ ࠓճεΩοϓ
ࠓճͷ༰ • νϡʔϦϯάϚγϯ • ·ͣͳΜͰ͜ΕબΜͩΜʁ • ֓ • νϡʔϦϯάϚγϯͷݪ •
நػց • νϡʔϦϯάશ • ܭࢉෳࡶੑ