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
わかった気になるチューリングマシン
Search
Hirokazu Maruta
November 24, 2021
Science
0
33
わかった気になるチューリングマシン
Hirokazu Maruta
November 24, 2021
Tweet
Share
More Decks by Hirokazu Maruta
See All by Hirokazu Maruta
encryption
mochisuna
0
87
Elementary algorithm
mochisuna
0
14
ssh-dynamic-forward
mochisuna
0
36
ServerlessFramework-Trello
mochisuna
0
22
TechBash Slack Reaction Award
mochisuna
0
36
techbash-clasp
mochisuna
0
45
vuejs-night-publish
mochisuna
0
730
surprise-lt-for-intern-vol-2
mochisuna
0
38
docker-multi-stage-build
mochisuna
0
130
Other Decks in Science
See All in Science
A Theory of Scrum Team Effectiveness 〜『ゾンビスクラムサバイバルガイド』の裏側にある科学〜
bonotake
12
5.1k
遺伝子発現プロファイルに基づく新しい薬物間相互作用予測法
tagtag
0
100
20240127_OpenRadiossエアバッグ解析
kamakiri1225
0
150
研究・教育・産学連携の循環の実践
sshimizu2006
0
220
AI Alignment: A Comprehensive Survey
s_ota
0
180
Transformer系機械学習モデルを取り巻くライブラリや用語を整理する
bobfromjapan
2
480
B-Cubed: Leveraging analysis-ready biodiversity datasets and cloud computing for timely and actionable biodiversity monitoring
peterdesmet
0
160
Snowflake上でRを使う: RStudioセットアップとShinyアプリケーションのデプロイ
ktatsuya
0
110
文系出身でも「アルゴリズム×数学」はスッキリ理解できた!話
wakamatsu_takumu
0
200
Demucsを用いた音源分離
508shuto
0
190
(Forkwell Library #48)『詳解 インシデントレスポンス』で学び倒すブルーチーム技術
scientia
2
930
Onsager代数とその周辺 / Onsager algebra tsudoi
usamik26
0
390
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
23
4k
The Mythical Team-Month
searls
216
42k
How GitHub Uses GitHub to Build GitHub
holman
468
290k
Unsuck your backbone
ammeep
663
57k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.1k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
274
13k
Automating Front-end Workflow
addyosmani
1356
200k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
6.9k
Navigating Team Friction
lara
178
13k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
7
1k
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ͷ໘ന͍͚Ͳ ͕͢͞ʹ͕࣌ؒͳ͍ͷͰ ࠓճεΩοϓ
ࠓճͷ༰ • νϡʔϦϯάϚγϯ • ·ͣͳΜͰ͜ΕબΜͩΜʁ • ֓ • νϡʔϦϯάϚγϯͷݪ •
நػց • νϡʔϦϯάશ • ܭࢉෳࡶੑ