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
Egisonパターンマッチによる彩色
Search
Naoya Umezaki
November 24, 2019
Programming
670
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Egisonパターンマッチによる彩色
Egison Workshop 2019
https://connpass.com/event/150001/
での講演スライド
Naoya Umezaki
November 24, 2019
More Decks by Naoya Umezaki
See All by Naoya Umezaki
証明支援系LEANに入門しよう
unaoya
2
4.2k
ミケル点とべズーの定理
unaoya
0
1.1k
すうがく徒のつどい@オンライン「ラマヌジャンのデルタ」
unaoya
0
800
合同式と幾何学
unaoya
0
2.3k
すうがく徒のつどい@オンライン「ヴェイユ予想とl進層のフーリエ変換」
unaoya
0
970
関数等式と双対性
unaoya
1
880
直交多項式と表現論
unaoya
0
1k
導来代数幾何入門
unaoya
0
1.2k
作図と対称性
unaoya
0
300
Other Decks in Programming
See All in Programming
JavaDoc 再入門
nagise
1
370
Strategic Design in the Frontend: Moduliths & Micro Frontends @DDDEurope
manfredsteyer
PRO
0
110
ふつうのFeature Flag実践入門
irof
8
4k
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
410
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4.2k
New "Type" system on PicoRuby
pocke
1
970
AI 輔助遺留系統現代化的經驗分享
jame2408
1
760
依存関係から依存物へ―Dependencyという言葉の歴史をひも解く
j_lee
0
120
Mujeres en SEO Summit 2026 - Greatest Disaster Hits en Web Performance
guaca
0
190
さぁV100、メモリをお食べ・・・
nilpe
0
150
エンジニアと一緒にテストコードの設計と実装を改善した話
mototakatsu
0
210
Creating Composable Callables in Contemporary C++
rollbear
0
150
Featured
See All Featured
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
350
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
220
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
530
Marketing to machines
jonoalderson
1
5.5k
The Spectacular Lies of Maps
axbom
PRO
1
820
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.7k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Transcript
Egison ύλʔϯϚονʹΑΔ࠼৭ ക࡚@unaoyaʢגࣜձࣾ͢͏͕͘ͿΜ͔ʣ 2019 11 ݄ 24 1
ࣗݾհ • ക࡚ • ೋ͙Β͍લ͔ΒָఱʢEgisonʣͰΞϧόΠτ • ֶՊଔ • Egison journal
vol1, vol2 ʹدߘ 2
༰ 1. ޒ৭ఆཧʹ͍ͭͯ 2. ϚονϟʔͷఆٛͱύλʔϯϚονͷྫ 3. ࠼৭ΞϧΰϦζϜͷ࣮ 4. ࣮ྫ 3
ޒ৭ఆཧʹ͍ͭͯ
࢛৭ఆཧ Theorem ਤͷྡΓ߹͏ࠃҟͳΔ৭ͰృΔͱͯ͠ɺͲΜͳਤͰඞͣ ࢛৭ҎͰృΓ͚Δ͜ͱ͕Ͱ͖Δɻ ূ໌͍͠ 4
ޒ৭ఆཧ Theorem ਤͷྡΓ߹͏ࠃҟͳΔ৭ͰృΔͱͯ͠ɺͲΜͳਤͰඞ ͣޒ৭ҎͰృΓ͚Δ͜ͱ͕Ͱ͖Δɻ ূ໌؆୯ 5
άϥϑ ਤͷృΓ͚=ฏ໘άϥϑͷͷ࠼৭ ࠃ͕ɺ͍ͯ͠ΔࠃʹରԠͯ͠ลΛҾ͘ 6
ޒ৭ఆཧ Theorem ฏ໘άϥϑͷϊʔυΛྡ͢Δϊʔυͷ৭͕ҟͳΔΑ͏ʹޒ৭Ͱ ࠼৭͢Δ͜ͱ͕ՄೳͰ͋Δɻ 7
ূ໌ ϊʔυͷݸʹ͍ͭͯͷؼೲ๏ Lemma ฏ໘άϥϑʹඞͣ࣍ 5 ҎԼͷϊʔυ͕ଘࡏ͢Δ ิΑΓ࣍ 5 ҎԼ͕ଘࡏ͢ΔͷͰɺͦͷΑ͏ͳϊʔυ v
ΛҰͭ બͿɻv Λআ͍ͨάϥϑϊʔυͷݸ͕ҰͭݮΔͷͰؼೲ๏ͷ Ծఆ͔Β݅Λຬͨ͢Α͏ʹ࠼৭Մೳɻ 8
ূ໌ ݩͷάϥϑͰϊʔυ v ͷ৭ΛృΓ·͢ɻ v ͷ࣍ 5 ҎԼͰ͕͢ɺपΓͷ৭͕ 4 ৭ҎԼͰ͋Ε͍ͬͯ
Δ৭Λ v ʹృΕ࠼৭ྃɻ 9
߹͚ v ͷपΓͷϊʔυͷ৭͕ͯ͢ҟͳΔ 5 ৭ʹͳͬͨ߹ɺҎԼͷ ೋͭͷ߹ʹ͚ͯपΓͷϊʔυͷ৭ΛృΓସ͑·͢ɻਤͷΑ͏ ʹ൪߸Λৼͬͯɺ1 ͱ 3 ʹ͠·͢ɻ
1. ৭ 1 ͱ 3 ͷΈΛ୧ͬͯͭͳ͙͜ͱ͕Ͱ͖ͳ͍߹ 2. ৭ 1 ͱ 3 ͷΈΛ୧ͬͯͭͳ͙͜ͱ͕Ͱ͖Δ߹ 10
1 ͱ 3 ͷΈΛ୧ͬͯͭͳ͙͜ͱ͕Ͱ͖ͳ͍߹ ϊʔυ 1 ͔Β৭ 3 ͱ৭ 1
ͷΈΛ௨ͬͯͰ͖Δ෦ʹ͍ͭͯ৭ 1 ͱ ৭ 3 ΛೖΕସ͑Δɻ͢ΔͱબΜͩϊʔυͷपΓͷ৭͕ 4 ৭ʹͳΔ ͷͰ࠼৭Մೳɻ 11
1 ͱ 3 ͷΈΛ୧ͬͯͭͳ͙͜ͱ͕Ͱ͖Δ߹ ฏ໘άϥϑͳͷͰϊʔυ 2 ͱϊʔυ 4 ͕৭ 2
ͱ৭ 4 ͷΈͰܨ͕Β ͳ͍ɻϊʔυ 2 ͔Β৭ 2 ͱ৭ 4 ͷΈΛ௨ͬͯͰ͖Δ෦ͷ৭ͷ 2 ͱ 4 ΛೖΕସ͑·͢ɻ͢ΔͱબΜͩϊʔυͷपΓͷ৭͕ 4 ৭ʹͳ ΔͷͰ࠼৭ՄೳͰ͢ɻ 12
άϥϑͷύλʔϯϚον
άϥϑσʔλͷྫ 1 (define $graph-data 2 {[[1 Nothing] {[2 Nothing]}] 3
[[2 Nothing] {[1 Nothing]}]}) 4 5 (define $graph-data2 6 {[[1 Nothing] {[2 (Just 1)]}] 7 [[2 (Just 1)] {[3 (Just 2)] [1 Nothing]}] 8 [[3 (Just 2)] {[4 (Just 1)] [2 (Just 1)]}] 9 [[4 (Just 1)] {[5 (Just 2)] [3 (Just 2)]}] 10 [[5 (Just 2)] {[4 (Just 1)]}]}) 13
node Ϛονϟʔ 1 (define $node [integer (maybe integer)]) 2 (define
$graph (set [node (list node)])) node Ϛονϟʔ integer ͱ maybe integer ͷ tuple ͱͯ͠ ఆٛ͠·͢ɻ࣮ࡍͷσʔλͱͯ͠ɺ࠷ॳͷ integer ͕ϊʔυͷ id ͰɺޙΖͷ maybe integer ͦͷϊʔυͷ৭Ͱ͢ɻ৭ͷ໊લ Λʹ͓͖ͯ͠ɺ৭͕ృΒΕ͍ͯΔ߹ʹ Just integer Ͱ ৭͕ృΒΕ͍ͯͳ͍߹ Nothing Ͱ͢ɻ 14
graph Ϛονϟʔ 1 (define $node [integer (maybe integer)]) 2 (define
$graph (set [node (list node)])) graph Ϛονϟʔ্Ͱఆٛͨ͠ node ͱ node ͷ list ͷ tuple ͷ set ͱͯ͠ఆٛ͠·͢ɻάϥϑͷ֤ϊʔυ͔Βܨ͕͍ͬͯΔ ϊʔυͨͪͷใΛ list node ͱͯ͠ɺͦΕΛूΊͨͷ͕άϥ ϑͰ͢ɻ 15
Ϛονϟʔͷ༻ྫ 1 (define $graph-data2 2 {[[1 Nothing] {[2 (Just 1)]}]
3 [[2 (Just 1)] {[3 (Just 2)] [1 Nothing]}] 4 [[3 (Just 2)] {[4 (Just 1)] [2 (Just 1)]}] 5 [[4 (Just 1)] {[5 (Just 2)] [3 (Just 2)]}] 6 [[5 (Just 2)] {[4 (Just 1)]}]}) 7 ৭ 1 ͷϊʔυ id ΛશͯऔΓग़͢ίʔυҎԼͷ௨ΓͰ͢ɻ 1 (define $c (Just 1)) 2 (match-all graph-data2 graph 3 [<cons [[$id ,c] _] _> id]) 4 ;{2 4} 5 16
Ϛονϟʔͷ༻ྫ 1 (define $graph-data2 2 {[[1 Nothing] {[2 (Just 1)]}]
3 [[2 (Just 1)] {[3 (Just 2)] [1 Nothing]}] 4 [[3 (Just 2)] {[4 (Just 1)] [2 (Just 1)]}] 5 [[4 (Just 1)] {[5 (Just 2)] [3 (Just 2)]}] 6 [[5 (Just 2)] {[4 (Just 1)]}]}) 7 ϊʔυ id3 ͷใΛऔΓग़͢ίʔυҎԼͷ௨ΓͰ͢ɻ 1 (match graph-data2 graph 2 {[<cons [[,3 _] $node-info] _> node-info] 3 [_ 0]}) 4 ;{[4 {1}] [2 {1}]} 5 17
rewrite-node ؔ id ͕ n ͷϊʔυΛࢦఆ͞Εͨ৭ c ʹॻ͖͑Δɻ 1 (define
$node [integer (maybe integer)]) 2 node Ϛονϟʔ id ͱ৭ͷΛදݱ͢Δɻ 1 (match n node 2 {[[,id _] [id (Just c)]] 3 [_ n]}) 4 18
༻ྫ 1 (match n node 2 {[[,id _] [id (Just
c)]] 3 [_ n]}) 4 1 (define $n1 [1 Nothing]) 2 (define $n2 [2 (Just 1)]) 3 (rewrite-node 1 1 n1) 4 ;[1 {1}] 5 6 (rewrite-node 2 2 n2) 7 ;[2 {2}] 8 9 (rewrite-node 2 2 n1) 10 ;[1 {}] 11 19
assign-color ؔ rewrite-node Λ map ͯ͠ɺάϥϑͷࢦఆ͞Εͨ id ͷϊʔυʹࢦ ఆ͞Εͨ৭ c
ΛృΓ·͢ɻ άϥϑࡾ֯ܗͰϊʔυ id ͕ 1, 2, 3 ͰͦΕͧΕ৭͕͍͍ͭͯͳ ͍ঢ়ଶͰ͢ɻ͜ͷάϥϑͷ id ͕ 1 ͷϊʔυͷ৭Λ 2 ʹృΓ·͢ɻ 1 (define $graph-data 2 {[[1 Nothing] {[2 Nothing] [3 Nothing]}] 3 [[2 Nothing] {[1 Nothing] [3 Nothing]}] 4 [[3 Nothing] {[1 Nothing] [2 Nothing]}]}) 5 6 (assign-color 1 2 graph-data) 7 ;{[[1 {2}] {[2 {}] [3 {}]}] [[2 {}] {[1 {2}] [3 {}]}] → [[3 {}] {[1 {2}] [2 {}]}]} 8 20
loop ύλʔϯ ͋Δϊʔυ͔Βผͷϊʔυͷܦ࿏ΛऔΓग़͢ɻ 1 (match-all graph-data graph 2 [<cons [[$id_1
_] <cons [$id_2 _] _>] 3 (loop $i [3 $n] 4 <cons [[,id_(- i 1) _] <cons [$id_i _] _>] 5 ...> 6 <cons [[,id_n _] <cons [,1 _] _>] _>)> id]) 7 21
flip-color ؔ ࢦఆ͞Εͨೋ৭Ͱͭͳ͕͍ͬͯΔ෦ͷ৭ΛೖΕସ͑·͢ɻ͡ Ίϊʔυ id1 ͷ৭͕ c2 Ͱϊʔυ id2 ͕৭
c1 ͷঢ়ଶ͔Βɺid2 ͷ ৭Λ c2 ʹృΓɺid1 ͱٯํͷ৭ c2 ͷϊʔυΛ୳ͯͦ͠ΕΛ id3 ͱ͠࠶ؼతʹ࣮ߦ͠·͢ɻ 1 (define $flip-color 2 (lambda [$id1 $id2 $c1 $c2 $graph-data] 3 (match graph-data graph 4 {[<cons [[,id2 (just ,c1)] 5 <join _ <cons (& [$id3 (just ,c2)] ![,id1 _]) _>>] 6 _> 7 (assign-color id2 c2 (flip-color id2 id3 c2 c1 graph → -data))] 8 [_ (assign-color id2 c2 graph-data)]}))) 22
༻ྫ 1 (define $graph-data 2 {[[1 Nothing] {[2 (Just 1)]}]
3 [[2 (Just 1)] {[3 (Just 2)] [1 Nothing]}] 4 [[3 (Just 2)] {[4 (Just 1)] [2 (Just 1)]}] 5 [[4 (Just 1)] {[5 (Just 2)] [3 (Just 2)]}] 6 [[5 (Just 2)] {[4 (Just 1)]}]}) 7 8 (flip-color 1 2 1 2 graph-data) 9 ;{[[1 {}] {[2 {2}]}] [[2 {2}] {[3 {1}] [1 {}]}] [[3 {1}] → {[4 {2}] [2 {2}]}] [[4 {2}] {[5 {1}] [3 {1}]}] [[5 → {1}] {[4 {2}] [6 {3}]}] [[6 {3}] {[5 {1}]}]} 23
ҙ ্࣮ͷ࣮Ͱ͏·͍͍ͬͯ͘ͳ͍ʢଟ loop ύλʔϯΛ ͏ʣ ͋Δϊʔυ͔Βಉ͡৭ͷϊʔυʹ 3 ͭҎ্ܨ͕͍ͬͯΔ߹ 1 (define
$graph-data2 2 {[[1 Nothing] {[2 (Just 1)]}] 3 [[2 (Just 1)] {[3 (Just 2)] [1 Nothing]}] 4 [[3 (Just 2)] {[4 (Just 1)] [2 (Just 1)]}] 5 [[4 (Just 1)] {[5 (Just 2)] [3 (Just 2)] [6 (Just 2) → ]}] 6 [[5 (Just 2)] {[4 (Just 1)]}] 7 [[6 (Just 2)] {[4 (Just 1)]}]}) 8 9 (flip-color 1 2 1 2 graph-data2) 10 ;{[[1 {}] {[2 {2}]}] [[2 {2}] {[3 {1}] [1 {}]}] [[3 → {1}] {[4 {2}] [2 {2}]}] [[4 {2}] {[5 {1}] [3 {1}] → [6 {2}]}] [[5 {1}] {[4 {2}]}] [[6 {2}] {[4 {2}]}]} 24
࠼৭ΞϧΰϦζϜͷ࣮
ΞϧΰϦζϜ ࣍ͷ 5 ҎԼͷϊʔυΛऔΓআ͍ͯ࠶ؼతʹ࠼৭͢Δɻ ࠷ޙͷϊʔυΛృΔͱ͖ʹɺ 1. पΓͷ৭͕ 4 ৭ҎԼͳΒ͍ͬͯΔ৭ΛృΔ 2.
पΓͷ৭͕ 5 ৭ͷ߹ɺ1 ͱ 3 ͕ͦͷೋ৭ͷΈͰܨ͕Δ͔ ൱͔ 2.1 ܨ͕Βͳ͍߹ɺ1 ͔Β 3 ΛͨͲͬͯ৭ΛೖΕସ͑ΕपΓ 4 ৭ʹͳΔ 2.2 ܨ͕Δ߹ɺ2 ͱ 4 ͕ܨ͕Βͳ͍ͷͰɺͲͪΒ͔ͷ৭ΛృΓ ସ͑ΕपΓ 4 ৭ʹͳΔ 25
͕࣍ 5 ҎԼͷύλʔϯϚον 1 (match graph-data graph 2 {[<cons (&
[[$id (nothing)] 3 !<cons _ 4 (loop $i [2 N] <cons _ ...> _) 5 >] $node-info) _> 6 (colorize id (add-node node-info (main (remove- → node id graph-data))))] 7 [_ graph-data]}))) 8 26
remove-node ؔ ࢦఆ͞Εͨ id ͷϊʔυΛऔΓআ͘ 1 (match-all graph-data graph 2
[<cons (& ![[,id _] _] [$nid $edges]) _> 3 [nid (match-all edges (multiset node) 4 [<cons (& ![,id _] $n) _> n])]]) 5 ,id value ύλʔϯɺ! not ύλʔϯͰ node ͷ id ͕ࢦఆ͞Ε ͨ id ͱҟͳΔͱ͖Ϛονɺ& and ύλʔϯͰม nid ͱ edges ͷଋറɺ͞Βʹͦͷϊʔυʹͭͳ͕͍ͬͯΔ෦͕༩͑ΒΕͨ id ͱҟͳΔϊʔυͷΈऔΓग़͢ɻ match-all ͳͷͰࢦఆ͞Εͨ id Ҏ֎ͷϊʔυΛશͯूΊͨͷ͕ ฦΔ 27
༻ྫ 1 (define $graph-data 2 {[[1 Nothing] {[2 Nothing]}] 3
[[2 Nothing] {[1 Nothing]}]}) 4 5 (remove-node 1 graph-data) 6 ;{[[2 {}] {}]} 7 28
add-node ؔ औΓআ͍ͨϊʔυͷใ node-info Λάϥϑ graph-data ʹ͢ 1 (define $add-node
2 (lambda [$node-info $graph-data] 3 {[(fst node-info) 4 (match-all [(snd node-info) graph-data] [(set node → ) graph] 5 {[[<cons [$id _] _> <cons [[,id $c] _] _>] [id c]] 6 [[<cons [$id $c] _> !<cons [[,id _] _] _>] [id c → ]]})] 7 @(match-all [graph-data (snd node-info)] [graph (set → node)] 8 {[[<cons [[$id $c] $edges] _> <cons [,id _] _>] 9 [[id c] {(fst node-info) @edges}]] 10 [[<cons [[$id $c] $edges] _> !<cons [,id _] _>] 11 [[id c] edges]]})})) 12 29
༻ྫ ͜͜Ͱϊʔυ 1 ΛऔΓআ͍ͨޙɺϊʔυ 2 ʹ৭ 1 Λృͬͯɺ ϊʔυ 1
Λ͍ͯ͠·͢ɻ 1 (define $graph-data 2 {[[1 Nothing] {[2 Nothing]}] 3 [[2 Nothing] {[1 Nothing]}]}) 4 5 (add-node [[1 Nothing] {[2 Nothing]}] (main (remove- → node 1 graph-data))) 6 ;{[[1 {}] {[2 {1}]}] [[2 {1}] {[1 {}]}]} 7 30
पΓͷϊʔυʹ 5 ৭શͯΘΕ͍ͯΔ͔ ͋ͨ͑ΒΕͨ id ΛͭϊʔυͷपΓͷϊʔυʹ 5 ৭શͯΘΕ ͍ͯΔ͔Ͳ͏͔ͷύλʔϯϚον colors
৭൪߸ͷ set ͱͯ͠ఆٛ͞Εͨͷɻ 1 (match [colors graph-data] [(set integer) graph] 2 {[[<cons $c _> <cons [[,id (nothing)] !<join _ <cons [ → _ (just ,c)] _>>] _>] 3 (assign-color id c graph-data)] 4 [_ graph-data]}) 5 31
৭ 1 ͱ 3 ͷΈͰϊʔυ 1 ͱ 3 ͕ܨ͕Δ͔ ύλʔϯϚονͰมͷଋറ
1 (match [colors graph-data] [(set integer) graph] 2 [[_ <cons [[,id (nothing)] <cons [$nid_1 (just $c_1)] 3 (loop $i [2 N] 4 <cons [$nid_i (just $c_i)] 5 ...> 6 <nil>)>] _>] 7 32
৭ 1 ͱ 3 ͷΈͰϊʔυ 1 ͱ 3 ͕ܨ͕Δ͔ 1
(match graph-data graph 2 {[<cons [[,nid_1 _] 3 <join _ 4 <cons [$cnid_1 (| (just ,c_1) (just ,c_3))] _>>] 5 (loop $i [2 $n] 6 <cons [[,cnid_(- i 1) _] 7 <join _ 8 <cons [$cnid_i (| (just ,c_1) (just ,c_3))] _>>] 9 ...> 10 <cons [[,cnid_n _] 11 <join _ 12 <cons [,nid_3 (| (just ,c_1) (just ,c_3))] _>>] → _>)> 33
࣮ྫ
࣮ྫ 1 (define $graph-data-colored 2 {[[0 Nothing] {[1 (Just 1)]
[2 (Just 2)] [3 (Just 3) → ] [4 (Just 4)] [5 (Just 5)]}] 3 [[1 (Just 1)] {[2 (Just 2)] [0 Nothing] [5 (Just → 5)]}] 4 [[2 (Just 2)] {[3 (Just 3)] [0 Nothing] [1 (Just → 1)]}] 5 [[3 (Just 3)] {[4 (Just 4)] [0 Nothing] [2 (Just 34
࣮ྫ 1 (main graph-data-colored) 2 ;{[[0 {1}] {[1 {3}] [2
{2}] [3 {3}] [4 {4}] [5 {5}]}] → [[1 {3}] {[0 {1}] [2 {2}] [5 {5}]}] [[2 {2}] {[0 → {1}] [3 {3}] [1 {3}]}] [[3 {3}] {[0 {1}] [4 {4}] [2 → {2}]}] [[4 {4}] {[0 {1}] [5 {5}] [3 {3}]}] [[5 → {5}] {[0 {1}] [1 {3}] [4 {4}]}]} 3 35
ຊਤ 1 (define $graph-honshu 2 {[[2 Nothing] {[3 Nothing] [5
Nothing]}] 3 [[3 Nothing] {[2 Nothing] [4 Nothing] [5 Nothing]}] 4 [[4 Nothing] {[3 Nothing] [7 Nothing] [6 Nothing] [5 → Nothing]}] 5 [[5 Nothing] {[2 Nothgin] [3 Nothing] [4 Nothing] [6 → Nothing]}] 6 [[6 Nothing] {[5 Nothing] [4 Nothing] [7 Nothing] → [15 Nothing]}] 7 [[7 Nothing] {[4 Nothing] [8 Nothing] [9 Nothing] → [10 Nothing] [15 Nothing] [6 Nothing]}] 8 [[8 Nothing] {[7 Nothing] [12 Nothing] [11 Nothing] → [9 Nothing]}] 9 [[9 Nothing] {[7 Nothing] [8 Nothing] [11 Nothing] → [10 Nothing]}] 10 [[10 Nothing] {[7 Nothing] [9 Nothing] [11 Nothing] → [20 Nothing] [15 Nothing]}] 36
1 (main graph-honshu) 2 ;{[[2 {3}] {[3 {2}] [5 {1}]}]
[[3 {2}] {[2 {3}] [4 → {4}] [5 {1}]}] [[5 {1}] {[2 {3}] [3 {2}] [4 {4}] [6 → {2}]}] [[4 {4}] {[3 {2}] [7 {3}] [6 {2}] [5 {1}]}] → [[6 {2}] {[4 {4}] [5 {1}] [7 {3}] [15 {1}]}] [[7 → {3}] {[4 {4}] [6 {2}] [8 {2}] [9 {1}] [10 {2}] [15 → {1}]}] [[15 {1}] {[6 {2}] [7 {3}] [10 {2}] [16 {2}] → [20 {3}]}] [[8 {2}] {[7 {3}] [9 {1}] [11 {4}] [12 → {1}]}] [[9 {1}] {[7 {3}] [8 {2}] [11 {4}] [10 → {2}]}] [[10 {2}] {[7 {3}] [9 {1}] [11 {4}] [20 {3}] → [15 {1}]}] [[11 {4}] {[8 {2}] [9 {1}] [10 {2}] [12 → {1}] [13 {2}] [19 {1}] [20 {3}]}] [[12 {1}] {[8 → {2}] [11 {4}] [13 {2}]}] [[20 {3}] {[10 {2}] [11 → {4}] [15 {1}] [16 {2}] [19 {1}] [23 {1}] [21 {4}] → [22 {2}]}] [[13 {2}] {[11 {4}] [12 {1}] [14 {3}] → [19 {1}]}] [[19 {1}] {[11 {4}] [13 {2}] [14 {3}] → [20 {3}] [22 {2}]}] [[14 {3}] {[13 {2}] [22 {2}] → [19 {1}]}] [[22 {2}] {[14 {3}] [19 {1}] [20 {3}] → [23 {1}]}] [[16 {2}] {[15 {1}] [17 {1}] [21 {4}] 37
ຊਤ Figure 1: ຊभͷ৭ృΓ 38