ç·åœ¢èšç»æ³ã«ããæå€§ãããã³ã°ã¢ã«ãŽãªãºã
ã¯ããã«
ããã«ã¡ã¯ãZENKIGENããŒã¿ãµã€ãšã³ã¹ããŒã æå±ã®redteaã§ããåç±ã¯ãªã ãã³ãœãŒã·ã¢ã«ãœãªã¥ãŒã·ã§ã³ãºæ ªåŒäŒç€Ÿ æè¡åµé ã»ã³ã¿ã§ããã瀟å€åºåã§ZENKIGENã«æå±ããŠãããæ°çæé©åãæ©æ¢°åŠç¿ãçšããããŒã¿ã®åææ¥åããããã®çµæã«åºã¥ãã顧客ãžã®ææ¡ãããŠãããŸã[1]ã
æ¬èšäºã®è©±é¡
å æ¥ãåŒç€ŸZENKIGENã¯ãããŒã ãè¶ ãã察話æ©äŒãçã¿åºãã·ã£ããã«ããŒã¯ãµãŒãã¹ãENTAS(ãšã³ã¿ã¹)ãã®ããŒã¿çãæäŸéå§ããŸãããENTASå ¬åŒãµã€ãã¯ãã¡ãã§ãã
æ¬ãµãŒãã¹ã¯ãåŸæ¥å¡æ å ±ãå ã«ãæ®æ®µã¯è©±ãæ©äŒã®å°ãªãã¡ã³ããŒå士ããããã³ã°ãããã«ã¬ã³ããŒãžã®äºå®å ¥åãŸã§èªåã§è¡ãããšã§ãæè»œã«ç¶ç¶çã«äŒè©±ã®å Žãã»ããã£ã³ã°ããããšãå¯èœã§ããç§ã¯ãã®ãããã³ã°ã¢ã«ãŽãªãºã éšåãæ åœããŸããã
éäžã§ãããã³ã°ã«é¢ãã现ããçè«ã«ãèšåããŸããäžå¯§ã«è§£èª¬ããŸãã®ã§ããããã³ã°ã®çè§£ãæ·±ããŠãããã°ãšæã£ãŠããŸãããªããç·åœ¢èšç»æ³ã«ã€ããŠã¯è©³ããæ±ããŸããã®ã§ãç·åœ¢èšç»æ³ã«ã€ããŠè©³ãããªãæ¹ã¯ãäŸãã°ä»¥äžã®èšäºã»è³æããåç §ãã ããã
ãããã³ã°
ãŸãã¯ãããã³ã°ãšæå€§ãããã³ã°ã«ã€ããŠãæ°åŠçãªæå³ã®ç¢ºèªããå§ããENTASã§å®çŸããããããã³ã°ãšã¯ã©ããªãããã³ã°ãã«ã€ããŠç°¡åã«èª¬æããŸãã
æå€§ãããã³ã°ãšã¯
ãŸãã¯åãªããããã³ã°ã®èª¬æããã§ãããããã³ã°ãšã¯ãã°ã©ãçè«ã§ãã©ã®ããŒã(ç¹)ã2ãšããž(蟺)以äžãšç¹ãã£ãŠããªãéšåã°ã©ããæå³ããŸãã

ãããã³ã°ãšãããã³ã°ã§ã¯ãªãéšåã°ã©ãã®äŸãç¹ç·ã¯å
ã®ã°ã©ãã®ãšããžã衚ãããªã¬ã³ãžå®ç·ããããã³ã°ãæ§æãããšããžãšããŸãããããã³ã°ã§ã¯ãªãäŸïŒå³å³ïŒã§ã¯ãAãšDããããã2蟺æã£ãŠããã®ã§ããããã³ã°ã§ã¯ãªããªã£ãŠããŸãã
åãªãããããã³ã°(matching)ãã§ã¯ã3人以äžã®ã°ã«ãŒãããäœããªããã°ãããã³ã°ãšåŒãã§è¯ãã®ã§ãããä»åã¯äœããã§ããã ãå°ãªããããïŒäŸãã°ãã¢ãçµããã¯ãã®2人ãäœã£ãŠããç¶æ³ãããã¢ãäœãæ¿ããã°ããå€ãã®ãã¢ãäœããç¶æ ãäœããããªãïŒã§ãããæå€§ãããã³ã°(maximum cardinality matching)ããšãããšãå¯èœãªéãããããã®ãã¢ãäœããŠããç¶æ ãšããæå³ã«ãªããŸãã

æå€§ãããã³ã°ãšæå€§ãããã³ã°ã§ã¯ãªãéšåã°ã©ãã®äŸãç¹ç·ã¯å
ã®ã°ã©ãã衚ãããªã¬ã³ãžå®ç·ããããã³ã°ãæ§æãããšããžãšããŸããæå€§ãããã³ã°ã§ã¯ãªãäŸïŒå³å³ïŒã§ã¯ããã¢æ°ã2ã§ãããããæå€§ãããã³ã°ã®äŸ(å³å·Š)ã®ãã¢æ°3ããå°ãªãã§ãã
ä»åã¯ã人ãããŒããšãããããã³ã°ããŠãè¯ã人å士ããšããžã§çµãã ã°ã©ããæ³å®ããŸãããã®ãšããžã«ã¯éã¿ãã€ããŠããŸããäŸãã°Aããã¯éå»ã«Bãããšã·ã£ããã«ããŒã¯ããããšãããã°ãããã³ã°ã®å¿ èŠæ§ã¯äœããAãããšBããã®éã®ãšããžéã¿ã¯å°ãããªã£ãããAãããšCããã¯æ®æ®µããŸã話ããªãéæã§ããã°ãè©±ãæ©äŒãå¢ããããã«AãŒCãšããžã®éã¿ã¯å€§ãããªã£ããããŸãã
ããªãã¡ãENTASã®ãããã³ã°ã§å®çŸãããããšã¯ã
ã§ãã
ENTASã«ãããè¯ããããã³ã°ãšã¯
ãŸãã¯è¯ããããã³ã°ãšã¯äœããæ±ºããªããã°ãªããŸãããENTASã§ã¯ãæ®æ®µè©±ããªãã¡ã³ããŒå士ã§è©±ãããšã§ãããŒã ãéšéãè¶ããã³ãã¥ãã±ãŒã·ã§ã³ãã€ããããšãç®æããŠããŸã[2]ãäŸãã°ä»¥äžã®ãããªæ¡ä»¶ãèæ ®ããŸãã
- AãããšBããã¯åãéšçœ²ã®äººå士ã§ãæ®æ®µããããã³ãã¥ãã±ãŒã·ã§ã³ãåããŠããã®ã§ããããã·ã£ããã«ããŒã¯ã§è©±ãå¿ èŠã¯ãªã (æå±æ¡ä»¶)ã
- AãããšDããã¯ä»¥åã·ã£ããã«ããŒã¯ã§ãããã³ã°ããããšãããã®ã§ã2åç®ã¯ããå°ãçµã£ãŠããã§è¯ã (å±¥æŽæ¡ä»¶)ã
ãããã®æ¡ä»¶ã¯ãåªå
床ã«å¿ããŠèšå®ããããšã§ãå人å士ããããã³ã°ããæã®å¬ãããæ°å€åãããããã³ã°éã¿è¡å
ENTASãããã³ã°ã®å¶çŽ
ENTASã®ãããã³ã°ã«ã¯ãã§ããã ãæºããããæ¡ä»¶ã ãã§ãªããå¿ ãæºããããæ¡ä»¶ãååšããŸããäŸãã°ãAãããšCããã¯ãä»ã¯éšçœ²ã¯éããã®ã®ãæ¯æ¥MTGããéæãªã®ã§ãã·ã£ããã«ããŒã¯ã®å¿ èŠæ§ãå šããããŸãããããããå Žåã«ã¯NGæ¡ä»¶[3]ãšãã絶察ã«ãããã³ã°ããªãããã«ããŸãã
æå€§ãããã³ã°ã®ã¢ã«ãŽãªãºã
ããããã¯ENTASã®ãããã³ã°ã¢ã«ãŽãªãºã ã«ã€ããŠèª¬æããŸãã
æåãªæå€§ãããã³ã°ã¢ã«ãŽãªãºã ãšããŠãEdmondsã¢ã«ãŽãªãºã ãšãããã®ããããŸãããããçšããããšã§ãäžè¬ã®[4]éã¿ä»ãã°ã©ãã§ãå¿ ãæå€§ãããã³ã°ãèŠã€ããããšãã§ããŸãã
ãã ãããã®éã¿åãæå€§ãšãªãæå€§ãããã³ã°ãèŠã€ããã¢ã«ãŽãªãºã ã®èšç®éã¯ãã·ã£ããã«ããŒã¯åå 人æ°ã
ããã§ãããé«éã«åäœããã¢ã«ãŽãªãºã ã®æ€èšãè¡ãããã®çµæãç·åœ¢èšç»æ³ãçšããããšã§ãå¹çè¯ãéã¿åãæå€§ãšãªãæå€§ãããã³ã°ãèŠã€ããããããšãããããŸãããç·åœ¢èšç»æ³ãçšããã°ãå€é åŒèšç®éã§è§£ãããšãã§ããŸãã[7]ãã°ã©ããçšããã¢ã«ãŽãªãºã ãšã¯ç°ãªããéäžã§æ¢çŽ¢ãæã¡åãããšã§ãå¶çŽæ¡ä»¶ãæºããã€ã€ãæã¡åããŸã§ã«èŠã€ããäžã§æè¯ã®ãããã³ã°çµæãåŸãããšãã§ããŸã[8]ãæ¬ç« ããã¯ãéã¿åãæå€§ãšãªãæå€§ãããã³ã°ãç·åœ¢èšç»æ³ã§è§£ãæ¹æ³ã玹ä»ããŸãã
æå€§ãããã³ã°ãè§£ãé£ãã
ãšããžéã¿åãæå€§ãšãªãæå€§ãããã³ã°[9]ãç·åœ¢èšç»æ³ã§è§£ããšã¯ãäœãå¶çŽã«ããŠãç®ç颿°ãšããŠäœãæå€§åããããæ±ºããããšã§ãããšããžéã¿åãæå€§ã«ããªããæå€§ãããã³ã°ãç®æãã®ã§ãç®ç颿°ã®èšèšã§ã¯ããšããžéã¿åãšãã¢æ°ãåæ¡ããå¿ èŠãããããã§ãããä»åããšããžéã¿åæå€§ã®æå€§ãããã³ã°ãç·åœ¢èšç»æ³ã§è§£ãéã®é£ãããã€ã³ãã¯ã
ã§ãã
äŸãã°ä»¥äžã®å³ã®ãããªå ŽåãèããŸããNGæ¡ä»¶ã§ã¯ãç¹å®ã®2人ããããã³ã°ãããŠã¯ãããªãã®ã§ããã®çµéã«ã¯ãšããžãååšããªããã®ãšããŠæ±ããŸãã以äžã®å³ã§ã¯ããšããžã¯A-CãA-DãB-Dã®3ã€ãããªã(ãããã³ã°å¯èœ)ãA-BãB-CãC-Dã®åçµã¯NGæ¡ä»¶(ãããã³ã°äžå¯èœ)ã«è©²åœããŸãã

ãšããžéã¿åã®æå€§åãšæå€§ãããã³ã°ãäž¡ç«ããªãäŸã
ãã®ã°ã©ãã«ãããŠãA-CãB-Dã§ãã¢ãäœãã°2çµã§ããŸãã(ãããæå€§ãããã³ã°)ããã®æã®ãšããžéã¿åã¯
ãã®ããã«ããšããžéã¿åæå€§åãšæå€§ãããã³ã°ãäž¡ç«ããªãå¯èœæ§ãããã®ã¯ã©ããªãšãã§ããããïŒããã¯ãNGæ¡ä»¶ãååšãããšãã§ããNGæ¡ä»¶ãååšããªããšããšããã®ã¯ãå šå¡ãèªå以å€ã®èª°ãšã§ããã¢ãçµãã§ãè¯ãç¶æ³ãªã®ã§ãä»»æã®2ããŒãéã«ãšããžãååšããããšã«ãªããŸã[10]ãäžå³ã®äŸã§ãããNGæ¡ä»¶ããªããã°ãB-Céã«ãšããžéã¿ã0ãã倧ããªå€[11]ãæã€ãšããžãååšããããšã«ãªãããã®BãšCããããã³ã°ãããããšã§ãšããžéã¿åã倧ãããããªãããæå€§ãããã³ã°ã«ããããšãã§ããŸãã
äžè¬çãªè¡šçŸããããšãNGæ¡ä»¶ãååšããªããšããããšããžéã¿åãæå€§
æå€§ãããã³ã°åé¡ã®ç·åœ¢èšç»æ³ã«ããå®åŒå
ã·ã£ããã«ããŒã¯åå è
æ°ã
ãŸãããããã³ã°è¡å
ä»åèæ¡ããç·åœ¢èšç»æ³ã¯ã以äžã®ãšããã§ãããããã³ã°éã¿è¡å
ç®ç颿°
å¶çŽæ¡ä»¶
| å¶çŽæ¡ä»¶ | è£è¶³ |
|---|---|
|
|
|
|
|
|
|
|
|
| èªåå士ãšã¯ãã¢ãçµããªãã | |
|
|
|
|
|
ãè§£ãããšã§ããšããžéã¿åãæå€§ã«ãã€ã€ãæå€§ãããã³ã°ã衚ãè¡å
æå€§ãããã³ã°ã®ä¿èšŒ
æ¬ç« ã§ã¯ãåç« ã§ç޹ä»ããç·åœ¢èšç»æ³ãçšããããšã§ãæå€§ãããã³ã°ãå®çŸã§ããçç±ã説æããŸãã
æå€§ãããã³ã°ã§ããããã®æ¡ä»¶
ãŸãã¯æå€§ãããã³ã°ã«ã€ããŠè©³ããçè§£ããŸãã
ãããã³ã°
AUGMENTING PATH(=å¢å é)ãååšããªãããš[17]
ã§ãã
ãããã³ã°
-
ã®åºçºç¹ãšå°çç¹ããããã³ã°ã®ç«¯ç¹ã§ã¯ãªãP - 亀äºéã§ããïŒ
ã«å«ãŸããŠãããšããžãšå«ãŸããªããšããžã亀äºã«äœ¿ãïŒM
å¢å éãèŠã€ããã°ã

ãã®å³äžåŽã®ã°ã©ãã«ãããŠãA-E-B-F-C-G-D-Hãå¢å éã§ãã確ãã«å¢å éã®åºçºç¹(A)ãšå°çç¹(H)ã¯ãããã³ã°ã®éšåã°ã©ãã«å«ãŸããªãã®ã§ããããã³ã°ã®ç«¯ç¹ã§ã¯ãªãã§ãã(ç·ã§å¡ãã€ã¶ããããŒã)ããããã³ã°ã«å«ãŸããŠãããšããžãšå«ãŸããŠããªããšããžã亀äºã«ãªã£ãŠããŸãããã®äº€äºã«ãªã£ãŠããéã®ããããã³ã°ãšéãããã³ã°ãšããžãå転ãããããšã§ã
è£è¶³èª¬æ
ãããã³ã°
å¢å éãååšããªã \Leftarrow Mã¯æå€§ãããã³ã°
ãã®å¯Ÿå¶ã¯ããå¢å éãååšããã°æå€§ãããã³ã°ã§ã¯ãªãããšãªããäžã®å³ããæããã§ãã®ã§ããã®åœé¡ã¯æç«ããŸãã
å¢å éãååšããªã \Rightarrow Mã¯æå€§ãããã³ã°
ãã¡ãã察å¶ãæå€§ãããã³ã°ã§ã¯ãªããªããå¢å éãååšããããèããŠãããã確èªããŠãããŸãã
æå€§ãããã³ã°ã§ãªããããã³ã°ã

察称差ã®äŸããããã³ã°
éã®ãããã³ã°ãã¢æ°:
é·ãå¶æ°ã®éè·¯ã®ãããã³ã°ãã¢æ°ïŒ
以äžã®è°è«ãããé·ãå¶æ°ã®éè·¯ïŒå³ã®äŸã§ã¯C-D-H-G)ã§ã¯ãããã³ã°ãã¢æ°ã¯å€ãããŸãããéã®æ¹ã§ã¯ã
ç·åœ¢èšç»æ³ãžã®é©çš
ä»åã®ç·åœ¢èšç»æ³ã®ç®ç颿°ã¯ã
ã°ã©ãçè«ã«åºã¥ãæå€§ãããã³ã°ã¢ã«ãŽãªãºã ã§ã¯ã
- å¢å éãèŠã€ãã
- å¢å éäžã®ãããã³ã°ç¶æ³ãå転ããã
ãå¢å éãèŠã€ãããªããªããŸã§ç¹°ãè¿ãçŽ æŽãªæ¹æ³ãçšããããŠããŸããç·åœ¢èšç»æ³ã§çœ®ãæããã®ã§ããã°ãå¢å éãèŠã€ãã£ãæã«ããããå転ãããæãå¿
ãç®ç颿°ã®å€ãå¢å ããããã«
第äžé
\sum_{i}\sum_{j} w_{i,j} x_{i,j}
æå€§ãããã³ã°ã§ã¯ãªãç¶æ
-
ã®ãšãã«ã第äžé ãåãããäžçM -
ã®ãšãã«ã第äžé ãåãããäžçM'
ãããããèšç®ããå·®ãèšç®ããã°ããã§ãã[23]ã
次ã«
以äžããã第äžé
ã®æå€§å€åéã¯
ãšãªããŸãã
第äºé
\lambda \sum_{i}\sum_{j}x_{i,j}
ããã¯åçŽã«ãããã³ã°ã1ã€å¢ããŠããã®ã§ã
ãã£ãŠã第äºé ã®æå€§å€åéã¯
ã§ãã
第äžé ãšç¬¬äºé ã®å·®ã«çç®
第äžé
ã®æå€§å€åéãšç¬¬äºé
ã®æå€§å€åé
ã«ããŠããã°å®å šã«æå€§ãããã³ã°æ¡ä»¶ãæºãããŸãã
ç·åœ¢èšç»æ³ã«ããæå€§ãããã³ã°ã®å®è£
ç·åœ¢èšç»æ³ã«ãããšããžéã¿åãæå€§ãšãªãæå€§ãããã³ã°å®è£ ã¯ãPythonã®æ°çæé©åã©ã€ãã©ãªpulpãçšããã°ç°¡åã«å®çŸã§ããŸãã以äžã«ãµã³ãã«ã³ãŒããèšèŒããŸãã
from typing import Any
import numpy as np
import pulp
N = 1000
W: np.ndarray[float, Any] # ãããã³ã°éã¿è¡å
X: np.ndarray[int, Any] # ãããã³ã°è¡å
ng_pair_list: list[list[int]] # ãããã³ã°ãããªããã¢ã®ãªã¹ã
problem = pulp.LpProblem("matching", pulp.LpMaximize)
# ç®ç颿° maximize(ΣWX + λΣX)
lambda_ = N * np.max(W) # é ç¹æ°N
problem += pulp.lpDot(W, X) + lambda_ * pulp.lpSum(X)
# å¶çŽæ¡ä»¶
for i in range(N):
# 1人以äžãšãããããã³ã°ã§ããªã
problem += pulp.lpSum(X[i, :]) <= 1
problem += pulp.lpSum(X[:, i]) <= 1
# èªåèªèº«ãšã¯ãããã³ã°ã§ããªã
problem += X[i, i] == 0
# 察称æ§ïŒiãšjããããã³ã°ããŠãããjãšiããããã³ã°ããŠããïŒ
for j in range(i):
problem += X[i, j] == X[j, i]
# NGãã¢ããããã³ã°ãããªãå¶çŽæ¡ä»¶ã远å
for ng_pair in ng_pair_list:
ng_idx1 = ng_pair[0]
ng_idx2 = ng_pair[1]
# ng_pairã¯çµ¶å¯Ÿã«ãããã³ã°ããªãããã«0ã«ãã
problem += X[ng_idx1, ng_idx2] == 0 # è¡åã®å¯Ÿç§°æ§ã¯base_restrictã§å¶çŽæž
problem.solve(pulp.PULP_CBC_CMD(timeLimit=60)) # CPUæéã60ç§ã§å¶é
çµã³
æ¬èšäºã§ã¯ENTASã®ããŒã¿çãªãªãŒã¹ã«äœµããŠããããã³ã°ã¢ã«ãŽãªãºã ã玹ä»ããŸãããæ°çæé©åã§ã¯ãæ³å®å€ã®æé©åãè¡ããã宿 ã«å³ããªãçµæãè¿ããŠããŸãããšããããŸãïŒä»åã®äŸã§ããšãæå€§ãããã³ã°ã«ãªã£ãŠããªããšããªã©ã§ãïŒããããã£ãããšãèµ·ããªãããã«ããããããã¿ãŒã³ã§ãœãããŠã§ã¢ãã¹ããããããšã倧åã§ãããçè«çã«ã¯ã£ããããŠããéšåã¯çè«çã«èµ·ããªãããã«å·¥å€«ããã¹ããšèããŠããŸããä»åã¯ãŸãã«ãæå€§ãããã³ã°ã§ããããšãä¿èšŒã§ãããšãèªåã®äžã§ç¢ºä¿¡ããªããæ¥åã«åãçµãããšãã§ããŸããã
ä»ãŸã§äœä»¶ãTechããã°ãšããŠèšäºãæžããŠããŸããããæ¥åã«é¢ãããã®ã¯ãªããªãå€ã«åºãã«ãããããããæ¥åãšã¯ç¡é¢ä¿ãªãã®ã§ãããæ¬èšäºã®å·çãéããèªåã®ä»äºå 容ãå€éšã«çºä¿¡ã§ããããšã¯ãšãŠã楜ããã»å¬ããããšã ãšåèªèã§ããŸããããããèªã¿æãã£ãŠã®ããšãšåããŸãããããŸã§èªãã§ãã ãã£ãçæ§ã«ã¯ãšãŠãæè¬ããŠãããŸããããããšãããããŸããã
ENTASã®ãªãªãŒã¹ã¯ãã¡ããããããã³ã°ã¢ã«ãŽãªãºã ã ãã§ã¯å°åºå®çŸã§ããŸãããããžãã¹ããã¶ã€ããéçºãããŒã äžäžžã§äœãäžããŸãããENTASãããžã§ã¯ãã®æåã«ãè¯ããããã³ã°ãšã¯äœããããããžã§ã¯ãã¡ã³ããŒã¿ããªã§è°è«ããã®ãå°è±¡æ·±ãã£ãã§ãããããããæ°æ©èœã®è¿œå çãéçºãé²ããŠãŸãããŸãã®ã§ãENTASãã©ããããããããé¡ãããããŸãã
åèæç®
- çŠå³¶é 倫. æ°ç æ°çèšç»å ¥é. æåæžåº, 2013.
ãç¥ãã
å°ãã§ãåŒç€Ÿã«ãèå³ãæã£ãŠããã ããæ¹ã¯ããæ°è»œã«ãé£çµ¡é ããŸããšå¹žãã§ãããŸãã¯ã«ãžã¥ã¢ã«ã«ã話ãããšãã圢ã§ãã坿¥ãæ€èšããããšãã圢ã§ãæè¿ããŠããŸãã
-
å·çå·çåœæ â©ïž
-
TMS(誰ãäœãç¥ã£ãŠããããç¥ã£ãŠããç¶æ ã1人ã§ã¯ãªããããŒã ã§ããŸããŸãªæ å ±ã«å¯Ÿå¿ã§ããããš)ã®åäžãç®æããŠããŸãã â©ïž
-
AãããšCããã¯ãããã³ã°NGãšããæå³åãã§NGæ¡ä»¶ãšãã衚çŸãçšããŠããŸãã â©ïž
-
äžè¬ã®ã°ã©ãã§ã¯ãªãäŸãšããŠã¯ã2éšã°ã©ããæåã§ããããã¯ç·å¥³ã§ãã¢ãäœããéè·¯ãšè»ãå²ãåœãŠãããšãã£ãç¶æ³ã§ãã â©ïž
-
ãå€§äŒæ¥ãã«ã¯æç¢ºãªå®çŸ©ã¯ãããŸããããåçåŽåççãåºãè³æã§ã¯ã1000人以äžã®åŸæ¥å¡ãããäŒç€Ÿãå€§äŒæ¥ãšåé¡ããããšãå€ãããã§ãã â©ïž
-
å®éäžã¯ãããã³ã°ã®èšç®ãå§ããŠãç¿æãããã«èšç®ãçµãã£ãŠããã°ååãªã®ã§ãããäœäºãæ©ãçµããããšã«è¶ããããšã¯ãããŸããã â©ïž
-
å¿ ãç·åœ¢ãªãŒããŒãšããããã§ã¯ãããŸããããçµéšçã«
ã§å®çŸã§ããããšãç¥ãããŠããŸãã詳现ã¯åèæç® æ°ç æ°çèšç»å ¥éããåç §ãã ããã â©ïžO(N) -
ã·ã£ããã«ããŒã¯ãšããæ§è³ªäžãå¿ ãããæãè¯ããããã³ã°ã§ããå¿ èŠã¯ãªããæºæé©è§£ã§ãå šãåé¡ãããŸããã â©ïž
-
ããšããžéã¿åãæå€§ãšãªãæå€§ãããã³ã°ãã®ãããªè¡šçŸã¯ã以åŸäœåºŠãåºãŠããŸããããæå€§ããšããæåã2åç¶ããèªã¿ã«ãããŠæçž®ã§ããæ³šæããŠãèªã¿ãã ããã â©ïž
-
ã°ã©ãäžã®ä»»æã®2ããŒãéã«ãšããžãååšããã°ã©ããå®å šã°ã©ããšèšããŸãã â©ïž
-
åŸè¿°ããŸããããšããžéã¿ã¯å šãŠ0ãã倧ãããªãããã«äœããŸãã â©ïž
-
åŸ éããšãã°æããã§ãããæå€§ãããã³ã°ã§ã¯ãªããšããNGæ¡ä»¶ããªãã®ã§äœã£ã2人ããã¢ã«ããã°ãšããžéã¿åãå¢ããããšãã§ããã®ã§ããšããžéã¿åãæå€§ãªã¯ãããããŸããã â©ïž
-
çç±ã¯å³ã§ç€ºããåäŸã§ååã§ãããã â©ïž
-
ããã¯ã
ããããèŠãi ãããšãããã³ã°ãããšãã®å¬ãããšãj ããããèŠãj ãããšãããã³ã°ããæã®å¬ãããçããããšãæå³ããŸã(ã°ã©ãã®èšèã§ã¯ç¡åã°ã©ãã«çžåœããŸã)ãããã¯ãåã«i ãããši ãããéå»ã«ãããã³ã°ããããšããããã©ããããæ®æ®µããäŒè©±ãå€ããã©ããã®æå±æ¡ä»¶ã«ãã£ãŠãããã³ã°æã®å¬ãããæ±ºãŸããšããŠãããããj ãããi ããã«çæ³ãããŠãããšãããããªç¶æ³ã¯èããŠããŸããã â©ïžj -
å¶çŽæ¡ä»¶ã«èšèŒããŠããŸããã
ã®ãšãã¯å¿ ã0ãšããŸãã â©ïži = j -
ãããŒãéåãV ããšããžéåã§ãã â©ïžE -
https://dl.acm.org/doi/pdf/10.1145/6462.6502 Theorem 1 ããã â©ïž
-
åã«ãšããžã§ç¹ãã£ãããŒãåã®ããšã§ãã â©ïž
-
å¢å éã«ã€ããŠã¯ãã¡ãã®èšäºãèªããšçè§£ã®å©ãã«ãªããããããŸããã â©ïž
-
å³å¯ãªèšŒæã¯å€§å€ãªã®ã§é°å²æ°ãçè§£ããŠããã ããã°ãšæããŸãã â©ïž
-
éå
ãšéåA ã®å¯Ÿç§°å·®B ãšã¯ãA\Delta B ã«ã¯å±ãããA ã«ã¯å±ããªãB ã®èŠçŽ ãšãA \setminus B ã«ã¯å±ãããB ã«ã¯å±ããªãA ã®èŠçŽ ãããªãéåB \setminus A ãæå³ããŸãã â©ïž(A \setminus B) \cup (B \setminus A) -
ã«ãŒããããã°ã©ãã®ããšã§ãã â©ïž
-
å³å¯ã«æå°å€ãæå€§å€ãèšç®ããŠå·®ããšã£ãŠãè¯ãã§ããã倧éæãªè©äŸ¡ã§ååã§ããããã¢æ°ã1å¢ããã®ã§ãäžèŠã·ã³ãã«ã«
ãšæãããããããŸãããã1ãã¢å¢ããã ãã§ã¯ãªããä»ã®ãã¢çµã¿åãããå€ããå¯èœæ§ãããã®ã§ã2 \times \max(W) ã§ã¯ãã¡ã§ãã â©ïž2 \times \max(W)
ç§ãã¡ã¯ãã¯ããã人ã®çæ³ããã€ããããã«ãITãšç§åŠã§çµç¹èª²é¡ã«ç«ã¡åããAIããã¯ã«ã³ãããŒã§ããããã¯ãããžãŒãéããŠäººãšäŒæ¥ãå šæ©çŸã§ãã瀟äŒã®åµåºã«è²¢ç®ãããã®Visionã®ããšãäººã®æèŠã«å¯ãæ·»ããã¯ãããžãŒãçšããã§ãµãŒãã¹ãå±éããŠããŸãã
Discussion