髿 ¡ã®çµã¿åããè«ã¯ãååãšããŠãçµã¿åãããé åããŸãã¯é
çœ®ã®æ°ã«ã€ããŠã3ã€ã®ããç¥ãããåŒã®ãããããé©çšããå¿
èŠãããããã¹ãã®åé¡ã«éå®ãããŸãã 颿£æ°åŠã®ã€ã³ã¹ãã£ãã¥ãŒãã³ãŒã¹ã§ã¯ããã©ã±ããã·ãŒã±ã³ã¹ãããªãŒãã°ã©ããªã©ã®ããè€éãªçµã¿åãããªããžã§ã¯ãã«ã€ããŠã話ããŸã...ããã«ãååãšããŠãç¹å®ã®ãã©ã¡ãŒã¿ãŒnã®ç¹å®ã®ã¿ã€ãã®ãªããžã§ã¯ãæ°ãããšãã°né ç¹ã®ããªãŒæ°ãèšç®ããã¿ã¹ã¯ãèšå®ããŸãã åºå®nã®ãªããžã§ã¯ãã®æ°ãåŠç¿ããåŸãããè€éãªè³ªåãããããšãã§ããŸããããããã¹ãŠã®ãªããžã§ã¯ãã劥åœãªæéã§è¡šç€ºããæ¹æ³ã¯ïŒ ãã®çš®ã®åé¡ã解決ããã¢ã«ãŽãªãºã ã¯ãçµã¿åããçæã¢ã«ãŽãªãºã ãšåŒã°ããŸãã ããšãã°ããã®ãããªã¢ã«ãŽãªãºã ã¯ãããã«ãã¯ããŒã¹ã«ãããããã°ã©ãã³ã°ã®èžè¡ã第4å·»ã®ç¬¬1ç« ã®äž»é¡ã§ãã Knutã¯ããã¹ãŠã®ã¿ãã«ãæ°å€ã®ããŒãã£ã·ã§ã³ãããªãŒãããã³ãã®ä»ã®æ§é ãçæããã¢ã«ãŽãªãºã ãè©³çŽ°ã«æ€èšããŸãã é©åºŠã«é«éã«åäœããããçš®ã®ã¢ã«ãŽãªãºã ãèãåºãããšã¯ããããã®ã¿ã¹ã¯ã®ããããã«ãšã£ãŠé£ããããšã§ã¯ãããŸãããããããªãæé©åã§ã¯æ·±å»ãªåé¡ãçºçããå¯èœæ§ããããŸãã
ã¢ã«ãããã¯å€§åŠã§æè·ãããä¿®å£«è«æãæžãéçšã§ãç¹å¥ãªã¯ã©ã¹ã®åé¡ã«é©ããçµã¿åããçæã®ã¢ã«ãŽãªãºã ã®1ã€ãç ç©¶ããŠé©çšããå¿
èŠããããŸããã ããã¯ãããã€ãã®ç䟡é¢ä¿ã远å ã§å°å
¥ãããæ§é ã®çæã§ãã 屿©ã«whatããŠãããã®ãæç¢ºã«ããããã«ãç°¡åãªäŸãæããŸãã å
è§åœ¢ã®ãã¹ãŠã®äžè§åœ¢åå²ãçæããŠã¿ãŸãããã æ¬¡ã®ãããªãã®ãåŸãããŸãã

ãã®ãããªãã¹ãŠã®äžè§åœ¢åå²ãè¿ãã¢ã«ãŽãªãºã ãæžãã®ã¯éåžžã«ç°¡åã§ãã ããšãã°ããã®æé ã¯æ©èœããŸããããã€ãã®ãšããžãä¿®æ£ãïŒãšããž1ã6ã«ããŸãïŒããã®åŸããµã€ã¯ã«ã§ã¯ããã®ç«¯ã§ã¯ãªãé ç¹ããœãŒãããŸãã çŸåšã®é ç¹ãšåºå®ãšããžã§äžè§åœ¢ãäœæããæ®ãã®2ã€ã®é åãååž°çã«äžè§åœ¢åå²ããŸãã ãã®ã¢ã«ãŽãªãºã ã®æäœããçããäžè§åœ¢åå²ãããèŠããšããããã®å€ããã»ãŒåãã§ãããé ç¹ã®ã©ãã«ïŒæ°å€ïŒã®é
çœ®æ¹æ³ã®ã¿ãç°ãªãããšã«æ°ä»ãã§ãããã ãã®ãããæ¬¡ã®å³ã«ç€ºãããã«ãããããã©ãã«ãªãã®äžè§åœ¢åå²ãçæããã¢ã«ãŽãªãºã ãèãåºããšäŸ¿å©ã§ãã
ãã圢åŒçã«ã¯ããªããžã§ã¯ãã®ã»ããã«
ç䟡ãªã»ãããäœçšãããã»ããå
šäœ
ãäºãã«
å圢ã®ãªããžã§ã¯ãã®ã¯ã©ã¹ã«åå²ããŸãã åã¯ã©ã¹ãã1ã€ã®ä»£è¡šãçæããå¿
èŠããããŸãã ããããã2çªç®ã®å³ã®2ã€ã®å³åŽã®äžè§åœ¢åå²ãäºãã«éåžžã«äŒŒãŠããããã®ãã¡ã®1ã€ã ããæ®ãããšãã§ããããšã«æ°ã¥ããã§ãããã çŸå®ã«ã¯ãããã¯ç§ãã¡ãã©ã®çš®é¡ã®åå€é¢ä¿ãéžãã ãã«äŸåããŸãã å転åŸã«äºãã«éãåãããããšãã§ããäžè§åœ¢ã®ã¿ãååãšèŠãªãå Žåããããã¯4ã€ãããå
è§åœ¢ãå床å転ããå¯èœæ§ãèš±å¯ããå Žåã¯3ã€ã§ãã
åã¯ã©ã¹ãã1ã€ã®ä»£è¡šãçæããããšã¯é£ãããªããšæãããŸãããã¹ãŠã®ãªããžã§ã¯ããçæããåŸããã¢ã§ååããã¹ãããéè€ãã¹ããŒããŸãã æ®å¿µãªããããªããžã§ã¯ãã®çš®é¡ã«ãã£ãŠã¯ãnãå°ããå Žåã§ãã²ã©ãé·ãåäœããŸãã ããšãã°ã2ã€ã®ã°ã©ãã®ååããã§ãã¯ããåé¡ã¯ãå€é
åŒæéã§ã¯è§£æ±ºã§ããŸãããã€ãŸãããã®åé¡ãã§ããã ã解決ããªããµãã«ãŒãã³ãåŒã³åºãããšããå§ãããŸãã ææ¡ãããåçŽãªã¢ãããŒãã®å¥ã®æ¬ ç¹ã¯ããã¹ãŠã®ãªããžã§ã¯ããåæã«ã¡ã¢ãªã«ä¿æããå¿
èŠãããããšã§ãã åæã«ãæ£ããçããäžããé
ãããã°ã©ã ãåŸ
ã€å Žåãããã¯ãŸã çè«çã«ã¯å¯èœã§ãããçãã®ä»£ããã«ã¡ã¢ãªãªãŒããŒãããŒãååŸããããšã¯ãã§ã«å®å
šã«åãå
¥ããããŸããã ãã®ããããã¢ã¯ã€ãºéååãªããžã§ã¯ããçæããã«ã¯ãããããªãããŒãªæ¹æ³ã䜿çšããå¿
èŠããããŸãã ãã®æ¹æ³ã¯ãå€ãã®ç¹å®ã®çµã¿åãããªããžã§ã¯ãïŒã°ã©ããããªãŒãããŒãã£ã·ã§ã³ïŒã«ã€ããŠç¹°ãè¿ãåçºèŠãããäžè¬çãªçšèªã§
Isomorph-Free Exhaustive Generationã®èšäºã§èª¬æãããŸããã
ãã®æ¹æ³ã«ã€ããŠã¯ãäžè§åœ¢åå²ã®åé¡ãšæ¯èŒããŠããäžè¬çãªåé¡ã®äŸãšããŠèª¬æããŸãããã¹ãŠã®ãè§£åããã€ãŸããããªãŽã³ãå¿
ãããäžè§åœ¢ã«åå²ããã®ã§ã¯ãªããå
¥åã«äŸçµŠããããªã¹ãã®èŸºã®æ°ãæã€ããªãŽã³ã«åå²ããæ¹æ³ãçæããŸãããã°ã©ã ã
ãã®æ¹æ³ã説æããã«ã¯ãããã€ãã®æ£åŒãªå®çŸ©ãå¿
èŠã§ãã
Xããæ§é ãã®ã»ããã«ããŸãã ã»ããXã®èŠçŽ ã¯ã
ã©ãã«ä»ããªããžã§ã¯ããšåŒã°
ããŸã ã ãã®åé¡ã§ã¯ãããŒã¯ããããªããžã§ã¯ãã¯ãé ç¹ã«åæèšåãã«çªå·ãä»ããããè§£åã§ãã ããŒã¯ãããã»ã¯ã·ã§ã³ã®ããŒã¿æ§é ã¯åçŽã§ã-ãããã¯é£æ¥ãªã¹ãã§ãïŒ
public class Dissection { private int[][] adjacent; ... }
GãéåXã«äœçšããé å
ã°ã«ãŒããšããŸããããã¯ãXã®åã©ãã«ä»ããªããžã§ã¯ãxãšã°ã«ãŒãGã®åèŠçŽ gãå¥ã®ã©ãã«ä»ããªããžã§ã¯ãy = g * xã«é¢é£ä»ããããæ¬¡ã®ããããã£ãæºããããããšãæå³ããŸãïŒ
- ã°ã«ãŒãhããã³gã®èŠçŽ ã®ä¹ç®ã¯ããªããžã§ã¯ãxãžã®ã¢ã¯ã·ã§ã³ã®é 次é©çšã«å¯Ÿå¿ããŸãïŒh *ïŒg * xïŒ=ïŒhgïŒ* xã
- ã°ã«ãŒãeã®åäœã¯ãããŒã¯ãããåãªããžã§ã¯ãxãããèªäœã«å€æããŸãïŒe * x = xã
ã»ããXå
šäœãçžå¯Ÿé¢ä¿ã®ç䟡ã¯ã©ã¹ã«åå²ãããŠããããšãããããŸããx= g * yã®å Žåãxãšyã¯ç䟡ã§ãã äžè§åœ¢åå²ã®æåã®äŸã§ã¯ãã°ã«ãŒãã®èŠçŽ ïŒ0ã60ã120ã180ã240ãããã³300床ã®å転ïŒãã»ããå
šäœã4ã€ã®ç䟡ã¯ã©ã¹ã«åå²ããŸãããããã®èŠçŽ ã¯ãé ç¹ããŒãã³ã°ã§ã¯ãªãæ§é ãæ£ç¢ºã«ç°ãªããŸãã ãããã®ç䟡ã¯ã©ã¹ã¯ã2çªç®ã®å³ã«ç€ºãããŠããŸãã ãããã®ã¯ã©ã¹ã
ã©ãã«ãªããªããžã§ã¯ããšåŒã³
ãŸã ã
Xã®åèŠçŽ ã«èªç¶æ°ãé¢é£ä»ããŸãããããé åºãšåŒã³ãŸãã ãã¹ãŠã®åçã®ãªããžã§ã¯ãã®é åºã¯åãã§ãªããã°ãªããŸããã ãã®ããããã£ã䜿çšãããšãç䟡ã¯ã©ã¹ïŒã©ãã«ãªããªããžã§ã¯ãïŒã®é åºãåå®çŸ©ã§ããŸããããã¯ã察å¿ããã¯ã©ã¹ã®ä»£è¡šã®é åºãšçãããªããŸãã å³ã®äŸã§ã¯ãé åºã¯ããªãŽã³å
ã®é ç¹ã®æ°ã§ãã å³å
ã®ãã¹ãŠã®ã©ãã«ãªããªããžã§ã¯ãã«ã€ããŠã¯ã6ã§ãã
ãããã¯ããªãäžè¬çãªå®çŸ©ã§ããã æ¬¡ã«ãå°æ¥ã®ã¢ã«ãŽãªãºã ã«åºæã®å®çŸ©ã«ç§»ããŸãããã ããŒã¯ãããåãªããžã§ã¯ãxã«ã2ã€ã®ã»ããïŒ
äžäœãªããžã§ã¯ãã®ã»ããLïŒxïŒãš
äžäœãªããžã§ã¯ãã®ã»ããUïŒxïŒïŒãé¢é£ä»ã
ãŸã ã ãããã®ã»ããã®èŠçŽ ã®é åºã¯ãå®çŸ©ã«ããxã®é åºãšåãã§ãã äžäœãªããžã§ã¯ããšäžäœãªããžã§ã¯ãã«æ£åŒãªèŠä»¶ãäžããåã«ãçŽæçãªèª¬æãããããšããŸãã äžäœã®åãªããžã§ã¯ãã«ã¯ãçŸåšã®ãªããžã§ã¯ãããäžäœã®ãªããžã§ã¯ãã«æç¢ºã«åãæ¿ããæ¹æ³ã«é¢ããæ
å ±ãå«ãŸããŠããå¿
èŠããããŸãã ããšãã°ãäžéšåéãªããžã§ã¯ãã¯ããæ¥µç«¯ãªãããªãŽã³ã®1ã€ã远å ã§åŒ·èª¿è¡šç€ºãããŠããåéïŒããšãã°ãèµ€ãå¡ãããŠããïŒã§ããããã®åéããåãåãããšãã§ããŸãã å察ã«ãäžäœãªããžã§ã¯ãã¯ããŒã¯ããããªããžã§ã¯ããšæ
å ±ã§ãããæç¢ºãªæ¹æ³ã§ãæé·ãããé åºãå¢å ãããããšãã§ããŸãã ããšãã°ãäžéšè§£åã¯ãããªãŽã³ã®åŽé¢ã®1ã€ãããã«åŒ·èª¿è¡šç€ºããïŒããšãã°ãèµ€ãå¡ããïŒããã®äžã«æ°åãæžã蟌ãŸããè§£åã§ãã ãã®ãããªè§£åãèŠããšãæ°ããããªãŽã³ãã©ã¡ãã®åŽã«è²Œãä»ããŠé åºãå¢ããããçè§£ã§ããŸãã æ¥çãããããªãŽã³ã®èŸºã®æ°ã¯ããšããžã«æžãããæ°ã«ãã£ãŠæ±ºãŸããŸãã ãã®èãã¯ãåãè§£åã«å¯Ÿå¿ãã2ã€ã®ãªããžã§ã¯ãïŒäžãšäžïŒãç€ºãæ¬¡ã®å³ã§èª¬æã§ããŸãã

ããã°ã©ã ã§ã¯ãäžéšãšäžéšã®ã»ã¯ã·ã§ã³ã¯æ¬¡ã®ããã«è¡šç€ºãããŸãã
public class LowerDissection { private Dissection dissection; private int after; ... }
public class UpperDissection { private Dissection dissection; private int after, size; ... }
ããã ã«ããã®å Žåãåé€ããããªãŽã³ãå§ãŸãé ç¹çªå·ã®ã¿ãä¿åããŸãã äžéšã»ã¯ã·ã§ã³ã«ã¯ãé ç¹çªå·ãä¿åãããŸãããã®åŸãæ°ããããªãŽã³ãšãã®èŸºã®æ°ãæ¥çããå¿
èŠããããŸãã
äžéšã®äžäœãªããžã§ã¯ããšäžäœãªããžã§ã¯ãã¯ãäžèŽãé¢ä¿ã«ããããšãããããŸããäžäœãªããžã§ã¯ãã¯ãäžäœãªããžã§ã¯ãã§ãšã³ã³ãŒããããæ¹æ³ã§é åºãæžãããåŸã«ååŸãããäžäœãªããžã§ã¯ãã«å¯Ÿå¿ããŸãã
ããã§ã¯ãäžã®ãªããžã§ã¯ããäžã®ãªããžã§ã¯ãã«ãããã³ã°ãããŸããããã¯ãéžæããå蟺圢ãåé€ããçµæã§ãã æ¬¡ã®å³ã§ã¯ããããšã¯éã«ãªã£ãŠããŸããäºè§åœ¢ã¯ãäžéšã®ãªããžã§ã¯ãããŸãã¯éžæãããšããžã«5ãæžã蟌ãŸããç¶æ
ã§æ¥çãããŠããŸãã ããã«ãããæäœãããŒã«ããã¯ããæ¹æ³ã«é¢ããæ
å ±ãæ ŒçŽããäžäœãªããžã§ã¯ããäœæãããŸãã
ããŠãæ£åŒã«ã¯ãäžèšã®æ§é ããäœãå¿
èŠãïŒ
- ã°ã«ãŒãGã¯ãã©ãã«ä»ããäžéšãäžéšã®3çš®é¡ã®ãªããžã§ã¯ãã«äœçšããŸãã ãããã®3ã€ã®ã»ããã¯ãããããã°ã«ãŒãã®ã¢ã¯ã·ã§ã³ã«å¯ŸããŠéããããŸãïŒããã¯ãããšãã°ãã°ã«ãŒãã®èŠçŽ ã«ãã£ãŠäžäœãªããžã§ã¯ãã«äœçšããå Žåãäžäœãªããžã§ã¯ããååŸããããšã¯äžå¯èœã§ããããšãæå³ããŸã-ãããæ£åŒãªèŠä»¶ã§ãïŒã
- ããŒã¯ãããåãªããžã§ã¯ãxãšã°ã«ãŒãgã®èŠçŽ ã«å¯ŸããŠïŒLïŒg * xïŒ= g * LïŒxïŒ; UïŒg * xïŒ= g * UïŒxïŒïŒg * LïŒxïŒãšãã衚èšã¯ãg * UïŒxïŒã«ã€ããŠãåæ§ã«ãã»ããLïŒxïŒã®åèŠçŽ ã«gãé©çšããããšãæå³ããŸãïŒã
- åäžäœãªããžã§ã¯ãyã«ã€ããŠã察å¿ããäžäœãªããžã§ã¯ãã®ã»ããã¯ç©ºã§ã¯ãããŸããã
- äžéšã®2ã€ã®ãªããžã§ã¯ãyãšxãåçïŒã€ãŸããy = g * xïŒã®å Žåããããã«å¯Ÿå¿ããäžéšã®2ã€ã®ãªããžã§ã¯ããåçã§ãã
- äžã®2ã€ã®ãªããžã§ã¯ãyãšxãåçã§ããå Žåããããã«å¯Ÿå¿ãã2ã€ã®äžã®ãªããžã§ã¯ããåçã§ãã
- äžäœãªããžã§ã¯ãã®é åºã¯ã察å¿ããäžäœãªããžã§ã¯ãã®é åºããã倧ãããªããŸãã
ãã®æŠå¿µãããããçè§£ããããã«ãèªæžããè±ç·ããã»ããXãšããŠäžè§åœ¢ã®ãªãã°ã©ãïŒã€ãŸãã3ã€ã®é ç¹ããã¹ãŠãšããžã§åæã«æ¥ç¶ãããŠããªãã°ã©ãïŒãååŸããå Žåãäžéšãªããžã§ã¯ããšäžéšãªããžã§ã¯ããã©ã®ããã«ãªãããèããããšããå§ãããŸãïŒ
çããã¡ãããããã¯å¯äžã®æ¹æ³ã§ã¯ãããŸããããäžè§åœ¢ã®ãªãã°ã©ããäžã®ãªããžã§ã¯ããšããŠåããé ç¹ã®1ã€ãèµ€ã«ãªãïŒããã¯åé€ããããšãæå³ããŸãïŒãäžè§åœ¢ã®ãªãã°ã©ããäžã®ãªããžã§ã¯ããšããŠåãã®ã¯èªç¶ã§ãããã€ãã®é ç¹ãèµ€è²ã«ãªã£ãŠããŸãïŒããã¯ãé ç¹ã远å ããããããã¹ãŠã®èµ€ãé ç¹ã«æ¥ç¶ããããšãæå³ããŸãïŒã ãã®å Žåãèµ€ãããŒã¯ããã¢ã§æ¥ç¶ãããŠããªãããšãèŠæ±ããå¿
èŠããããŸãã ãã®å Žåãæ°ããé ç¹ã远å ããåŸãäžè§åœ¢ã¯åœ¢æãããŸããã
ç¶ããŸãããã ã©ãã«ã®ãªããªããžã§ã¯ãããäœãåã¿ä»ããŠã¯ãããŸããã ãããã£ãŠãããã«å¯Ÿå¿ããïŒãŸãã¯ãããŒã¯ããããªããžã§ã¯ãã«å¯Ÿå¿ããïŒäžäœãªããžã§ã¯ãã¯ãããŸããã ãã®ãããªãªããžã§ã¯ãã¯
æ¢çŽãšåŒã°ããŸãã ç§ãã¡ã®å Žåãåäžã®ããªãŽã³ã§æ§æãããã«ããã¯æ¢çŽã§ãã ä»ã®ãã¹ãŠã¯
éå
å¯èœã§ãã
ç§ãã¡ã®ã¢ã«ãŽãªãºã ã¯ããã¹ãŠã®éååã«ããããæ¢çŽã«ããããå§ããŠãé çªãåŸã
ã«å¢ãããŠãé æ¬¡çæããŸãã ãããè¡ãããã«ããã¹ãŠã®å¯èœãªèŸºããã®ãã¹ãŠã®å¯èœãªããªãŽã³ãçŸåšã®ã»ã¯ã·ã§ã³ã«åºå®ããŸãã ãã ããåé¡ã¯ãããã€ãã®æ¹æ³ã§åãè§£åã«å°éã§ããããšã§ãã ããšãã°ãåã®2ã€ã®åçã®äžéšã®ãªããžã§ã¯ãã«å¯Ÿå¿ããå
«è§åœ¢ãã«ããããã«ã¯ãåè§åœ¢ãäžè§åœ¢ã«æ¥çããŠããäºè§åœ¢ã«æ¥çããããå察ã«äžè§åœ¢ãšåè§åœ¢ãäºè§åœ¢ã«æ¥çããããšã§ã§ããŸãã ãããã£ãŠãåãè§£åãæ°åçæããããšãå¯èœã«ãªããæ°ä»ãããšãããããŸããã ããã¯ããªãããã é¿ããããã®ã§ãã
æ°ããã«ãããçæããŠãã®åé¡ãåé¿ããã«ã¯ããã®ã«ãããæ§ç¯ããç¬èªã®æšæºçãªæ¹æ³ã§ããªãŽã³ã®æåŸã®è¿œå ãæ£ãããã©ããã確èªããŸãã ãããè¡ãã«ã¯ãããŒã¯ãããåãªããžã§ã¯ãã«ãããããåå«ãã§ããäžäœãªããžã§ã¯ãã®ã»ãããé¢é£ä»ãã颿°Pãå¿
èŠã§ãã 颿°Pã¯ã次ã®èŠä»¶ãæºãããŠããå¿
èŠããããŸãã
- LïŒxïŒã空ã®å ŽåãPïŒxïŒã空ã§ãã
- LïŒxïŒã空ã§ãªãå ŽåãPïŒxïŒã¯ããªããžã§ã¯ãxã«å¯Ÿå¿ãããã®ãããªäžäœãªããžã§ã¯ãã®ã¿ã§æ§æããããããã®ãããã2ã€ãg * x = xã§ããèŠçŽ gã®ã¢ã¯ã·ã§ã³ã®äžã§çžäºã«å€æããŸãã
- ã©ãã«ã®ãªããªããžã§ã¯ãxããã³ã°ã«ãŒãgã®èŠçŽ ã®å ŽåïŒg * PïŒxïŒ= PïŒg * xïŒã
2çªç®ã®èŠä»¶ã«ç¹ã«æ³šæãæã䟡å€ããããŸããå®éãã»ããPïŒxïŒã¯ããªããžã§ã¯ãxã®å¯Ÿç§°æ§ã«é¢ããŠç䟡ãªè€æ°ã®ãªããžã§ã¯ãã§æ§æããå¿
èŠãããããšãæå³ããŸãã ããšãã°ãã«ããxã0床ãš180床ã®å転ã«å¯ŸããŠã®ã¿å¯Ÿç§°ã§ãããšããŸãã æ¬¡ã«ãPïŒxïŒã¯ããã®ãããªã¿ãŒã³ã®å©ããåããŠäºãã«ååŸãããæ£ç¢ºã«2ã€ã®äžäœãªããžã§ã¯ãã§æ§æãããå¿
èŠããããŸãã
ãã®äŸã®äžè¬çãªèŠä»¶ãæºããããã«ããŸãããã ãããè¡ãã«ã¯ãxã®äžéšãåãåãããã®äžã®ããŒã¯ãnåãã¹ãŠã®æ¹æ³ã§ã¹ã¯ããŒã«ããŸãïŒnã¯é ç¹ã®æ°ã§ãïŒã æ¯åãé ç¹1ãš2ãããæ¥µç«¯ãªãããªãŽã³ãå§ãŸããšãïŒåãåãããããã«ïŒããã®çªå·ä»ããèŠããŠããŸãã ãã®åŸãéžæãããé ç¹çªå·ä»ãã®ãµãçªå·ä»ãå
šäœããã飿¥é¢ä¿ãªã¹ãã®èŸæžçã«æå°éã®ïŒä»ã®åççãªé åºãé©åã§ãïŒãšã³ããªãäžãããã®ãéžæããŸãã ãããã®çªå·ä»ãã«ãããå
ã®ãªããžã§ã¯ãxäžã®ããã€ãã®ããªãŽã³ãåŸãããŸãã察å¿ããçªå·ä»ãã§1ãš2ããå§ãŸããŸããPïŒxïŒã¯ããããã®ããªãŽã³ãèµ€ã§è¡šç€ºãããxã®äžäœãªããžã§ã¯ãã§æ§æãããŸãã ããã§ã¯ãåçãªãã§ã¯ã§ããŸããã

ããã§ãå·Šã«ç€ºãè§£åxãéžæãã8ã€ã®ç°ãªãæ¹æ³ã§ããŒã¯ãåé
眮ããŸããã ã¡ãœããaãcãeãããã³gã¯ããã«ã¯é©ããªãïŒé ç¹1ã2ã...ãiã§ã¯ãã«ããå¯èœãªããªãŽã³ãæ§ç¯ãããªãã ã¡ãœããbãšfã¯ã¡ãœããdãšhãšæ¬è³ªçã«åãã§ããããšãããããŸãã ããã4ã€ã®æ¹æ³ã®ãã¡ãããæå³ã§ãæå°éãã®ãã®ãéžæããŸãã ãã§ã«ãæ°ã¥ãã®ãšãããå¿
èŠã«å¿ããŠæå°å€ãå®çŸ©ããããšã¯å¯èœã§ãããééããããŸããã ããšãã°ã飿¥ãªã¹ãã®èŸæžç·šéã«é©ããæå°éã®ã¬ã³ãŒããé©ããŠããŸãã ãã®å Žåãã¡ãœããbããã³fãåªå
ãããŸãã ãã®æ¹æ³ã§ã¯ãå
ã®ããŒã¯ããããªããžã§ã¯ãxäžã«äžè§åœ¢2,3,4ããã³6,7,8ãåŸãããŸãã ãã®çµæãå³ã®å³ã«ç€ºãããŠãã2ã€ã®äžéšãªããžã§ã¯ããååŸãããŸãã
P颿°ã¯ãé«éçæã®ããã«æãéèŠã§ãã å®éãæå®ãããèŠä»¶ãæºãããäœæ¥ã®é«éåãç¶æããããšã¯éåžžã«å°é£ã§ãã ã芧ã®ãšãããããæå³ã§ã颿°Pã䜿çšãããšãååãŸã§ãã©ã®ããã«æ¥µç«¯ãªå€è§åœ¢ããé£ãæ¢ãããæ¹æ³ãæ£æºã§ããããæå®ã§ããŸãã æŠå¿µãæç¢ºã§ããã°ãäžè§åœ¢ã®ãªãæ¢è¿°ã®ã°ã©ãã«å¯ŸããŠé¢æ°PïŒxïŒãã©ã®ããã«æ©èœããããèããŠã¿ãããšããå§ãããŸãã
çããã¡ãããçãã¯æçœã§ãã ã·ã³ãã«ãªïŒéåžžã«å¹æçã§ã¯ãªãïŒæ¹æ³ã®1ã€ã¯æ¬¡ã®ãšããã§ããäžè§åœ¢xã®ãªãã°ã©ãã®å Žåãé ç¹ã®çªå·ãä»ãçŽãããã«ãã¹ãŠã®æ¹æ³ã調ã¹ã飿¥é¢ä¿ãªã¹ãã®èŸæžçã«æå°éã®èšé²ãäžããæ¹æ³ãæ®ããŸãã ãããã®ã¡ãœããã®ããããã«ã€ããŠãçªå·1ãæã€é ç¹vãéžæããäžçªäžã®ãªããžã§ã¯ãã§ããé ç¹vãèµ€ãå¡ãããã°ã©ãxãæ§æããŸãã ãã®ãããªããŸããŸãªäžäœãªããžã§ã¯ãã¯ãã¹ãŠãPïŒxïŒã®çµæã圢æããŸãã
äžèšã®ãã¹ãŠã®æ©èœãå®è£
ããäžèšã®ã¯ã©ã¹ã«ã¡ãœããã远å ããã³ãŒãã¯ã
ãªããžããªã§æãããèŠãããŸãã詳现ã«ã€ããŠèª¬æããã«ã¯æè¡çãªè©³çްãå€ãããŸãã
ããã§ãçæã¢ã«ãŽãªãºã ãçŽæ¥èª¬æããæºåããã¹ãŠæŽããŸããã åæžã§ããªãåã«ããã«å¯ŸããŠå®è¡ãããŸãã çŸåšã®è§£åã§ã¯ããã¹ãŠã®éååã®æ¹æ³ã§äžäœãªããžã§ã¯ããäœæããååŸããåäžäœãªããžã§ã¯ããé çªã«å¢å ããŠäžäœãªããžã§ã¯ãã«æ¡åŒµããŸãã æ¬¡ã«ãP颿°ã䜿çšããŠãäžäœã®åãªããžã§ã¯ãããã§ãã¯ããå®éã«å¯Ÿå¿ããããŒã¯ããããªããžã§ã¯ãã®èŠªã§ããããšã確èªããŸãã ãã®ãã§ãã¯ã«åæ Œããå Žåããã®ããŒã¯ããããªããžã§ã¯ãã¯æ°ããç䟡ã¯ã©ã¹ã®ä»£è¡šã§ãããšèŠãªãããŸãã ã¢ã«ãŽãªãºã ãååž°çã«å®è¡ããŸãã ãã¡ããããã®ã¢ã«ãŽãªãºã ã®æ£ããã蚌æããããšã¯ã§ããŸãããç§ã¯ãã§ã«åœ¢åŒäž»çŸ©ãå°ãããéããŠãããšæããŠããŸãããã®èšŒæ ã«å¯ŸåŠããããã«ã
å
ã®èšäºãåç
§ããæ¹ãç°¡åã§ãã
ãŸããçæãæ
åœããã³ãŒããèŠãŠã¿ãŸãããã
public static void generateSubtreeFrom(Dissection root, int maxOrder) { for (UpperDissection upper : root.createAllUpper()) { LowerDissection lower = upper.createArbitraryLower(); if (lower != null) { Dissection probableChild = lower.getUnderlyingDissection(); if (probableChild.getOrder() <= maxOrder && lower.isParentFor(probableChild)) { root.addChild(probableChild); generateSubtreeFrom(probableChild, maxOrder); } } } }
ãããŠä»-ãã¹ãŠã®éååã«ãããæå€§ã§8æ¡ãŸã§ã®3.4ããã³5ãŽã³ã«çæããçµæã ç¢å°ã¯ã芪ããåå«ã«åããããŠããŸãã ãã¹ãŠã®ã«ããã¯ãæ ¹ãæ¢çŽãªããžã§ã¯ãã§ããããªãŒã圢æããŠããããšãããããŸãã

ãã®å³é¢ãçæããããã°ã©ã ã®ãœãŒã¹ã³ãŒãã¯ã
Googleã³ãŒãã§å
¥æã§ã
ãŸã ã 圌女ã®ä»äºã®çµæã¯ãgraphviz圢åŒã®èª¬æã§ãã
çµè«ãšããŠãèããããåé¡ã«ã€ããŠã¯ãååãšããŠãããã·ã³ãã«ã§åæã«é«éãªã¢ã«ãŽãªãºã ãæãã€ãããšãã§ãããšä»ãå ããŸãã ãã ãã説æãããŠããæé ã¯ãèªå°çã«æ§ç¯ã§ããã»ãŒãã¹ãŠã®ã¿ã€ãã®çµã¿åãããªããžã§ã¯ãã«é©çšã§ããæ§é ããæ§ç¯ãããŸãã ããã«ãã¢ã«ãŽãªãºã ã®äœæè
ã«ããã°ãå°ãªããšãäžéšã®ã°ã©ãã®çš®é¡ã§ã¯ããã®ã¢ãããŒãã«ããã仿¥ã§ã¯æé«ã§ã¯ãªãã«ããŠãæé«ã®çæçãåŸãããŸãã