
åé¡ã®æ¬è³ªïŒã²ãŒã ãªãŒããŒãªãã®ãããªã¹ã®ããã«ãåç¡éã®ã¹ããªãããšãæéã®é·æ¹åœ¢ã®ã»ããããããŸãã åè§åœ¢ã®ããŒã¿ã¯ãªã¢ã«ã¿ã€ã ã§ååŸãããŸãã æ°ããé·æ¹åœ¢ã¯ããããããã«é 眮ãã移åããªãããã«ããå¿ èŠããããŸãã ç®æšã¯ãããã¯ãããé·æ¹åœ¢ã®å šäœã®é«ããæå°åããããšã§ãã
ããã¯ãé·æ¹åœ¢ãåææã¹ããªããã«ããã¯ããã¿ã¹ã¯ã®ãªã³ã©ã€ã³ããªãšãŒã·ã§ã³ã§ãïŒ2次å ã¹ããªãããããã³ã°ã2DSPïŒã
åã®èšäºã§ããå°ãçè«çãªæ å ±ãèŠã€ããããšãã§ããŸãããä»ã®ãšããããã以äžã®èŠåŽãããã«ãã¢ã«ãŽãªãºã ã«ç§»ããŸãããã
ãã®ããªãã¯ã®ã·ãŒã±ã³ã¹ã説æããããã«äœ¿çšãããŸãïŒ

ïŒãœãŒã¹ããŒã¿ã¹ãã³ãµãŒ-random.orgïŒã
ããã€ãã®çºèŠçã¢ã«ãŽãªãºã ã«ã€ããŠèª¬æããŸããäžè¬çãªèãæ¹ã¯ãã¹ããªãããé åã«äºåã«åå²ããç¹å®ã®åºæºã«åŸã£ãŠç¹å®ã®é åã«æ°ããå°çããé·æ¹åœ¢ãé 眮ããããšã§ãã
ã¬ãã«ã¢ã«ãŽãªãºã



ãã¹ãŠã®ã¬ãã«ã¢ã«ãŽãªãºã ã®ã¢ãããŒãã¯ããã®æ®µéã§äœ¿çšå¯èœãªé·æ¹åœ¢ã®é«ãã«åºã¥ããŠãã¹ããªãããã¬ãã«ã«åå²ããããšã§ãã é·æ¹åœ¢ã¯ãå¯èœãªéãå·Šããå³ã«çŸåšã®ã¬ãã«ã®ããŒã¹ã«æ²¿ã£ãŠé 眮ãããŸãã åãŸããªãé·æ¹åœ¢ã¯æ¬¡ã®ã¬ãã«ã«ããã¯ãããŸãã åã¬ãã«ã®é«ãã¯ããã®æäžäœã®é·æ¹åœ¢ã«ãã£ãŠæ±ºãŸããŸãã 3ã€ã®ããã±ãŒãžãªãã·ã§ã³ããããŸãã
次ã®é©åã¬ãã«-次ã®ã¬ãã«ãéããšãåã®ã¬ãã«ã¯ãéããããã¯ãèæ ®ãããŸããã
æåã®é©åã¬ãã«-ã¢ã«ãŽãªãºã ã®åã¹ãããã§ãæäœã¬ãã«ããéå§ããŠåã¬ãã«ã衚瀺ãããååãªã¹ããŒã¹ãããæåã®é©åãªã¬ãã«ã§é·æ¹åœ¢ãããã¯ãããŸãã
æé©ãªã¬ãã«-ã¢ã«ãŽãªãºã ã®åã¹ãããã§ã ãã¹ãŠã®ã¬ãã«ãã¹ãã£ã³ãããæé©ãªã¬ãã«ãéžæãããŸã-ããã±ãŒãžã³ã°åŸã«æå°éã®ã¹ããŒã¹ã«ãªãã¬ãã«ã
äžèšã®3ã€ã®ã¢ã«ãŽãªãºã ã¯ãã¹ãŠèª¬æãããŠããŸãã ãã®æ®µéã§ã¯ãã©ã¡ããã©ãã«ãããç°¡åã«æšæž¬ã§ããŸãã
ã¢ã«ãŽãªãºã NFLãFFLãBFL
次ã®é©åã¬ãã«
æåã®é©åã¬ãã«
æé©ãªã¬ãã«
å ¥åïŒé·æ¹åœ¢ã®å¯žæ³{wïŒLiïŒ; hïŒLiïŒ}ããã³ã¹ããªããå¹ W åºåïŒé«ãHããã³ãããã³ã°å šäœã 1ïŒã¬ãã«= 0; hïŒã¬ãã«+ 1ïŒ= 0; H = 0; i = 0 2ïŒå±éãããé·æ¹åœ¢ãããéã« 3ïŒi ++ 4ïŒçŸåšã®ã¬ãã«ã«ååãªã¹ããŒã¹ãããå Žå 5ïŒé·æ¹åœ¢ãå·Šæãã§ãã㯠6ïŒhïŒã¬ãã«+ 1ïŒ<hïŒLiïŒã®å Žå 7ïŒhïŒã¬ãã«+ 1ïŒ= hïŒLiïŒ 8ïŒçµäºããå Žå 9ïŒãã®ä»[çŸåšã®ã¬ãã«ã«ååãªã¹ããŒã¹ããªã] 10ïŒæ°ããã¬ãã«ãéããé·æ¹åœ¢ãããã¯ããŸã 11ïŒH + = hïŒã¬ãã«+ 1ïŒ; ã¬ãã«++ 12ïŒçµäºããå Žå 13ïŒçµäº 14ïŒHããã³æ¢±å å šäœã®å°å·
æåã®é©åã¬ãã«
å ¥åïŒé·æ¹åœ¢ã®å¯žæ³{wïŒLiïŒ; hïŒLiïŒ}ããã³ã¹ããªããå¹ W åºåïŒé«ãHããã³ãããã³ã°å šäœã 1ïŒã¬ãã«= 0; hïŒã¬ãã«+ 1ïŒ= hïŒL1ïŒ; H = hïŒL1ïŒ; i = 1 2ïŒå±éãããé·æ¹åœ¢ãããéã« 3ïŒi ++; ã¬ãã«= 0 4ïŒååãªã¹ããŒã¹ãããæäœã¬ãã«ãæ€çŽ¢ãã 5ïŒãã®ãããªã¬ãã«ãååšããå Žå 6ïŒé·æ¹åœ¢ãå·Šæãã§ãã㯠7ïŒãããæäžäœã¬ãã«ã§ãããhïŒã¬ãã«ïŒ<hïŒLiïŒã®å Žå 8ïŒhïŒã¬ãã«ïŒ= hïŒLiïŒ 9ïŒçµäºããå Žå 10ïŒãã®ä»[æ¢åã®ãã¹ãŠã®ã¬ãã«ã«ååãªã¹ããŒã¹ããããŸãã] 11ïŒæäžäœã¬ãã«ã®äžã«æ°ããã¬ãã«ãäœæããŸã 12ïŒé·æ¹åœ¢ãå·Šæãã§ãã㯠13ïŒhïŒã¬ãã«ïŒ= hïŒLiïŒ; H + = hïŒLiïŒ 14ïŒçµäºããå Žå 15ïŒçµäº 16ïŒHããã³æ¢±å å šäœã®å°å·
æé©ãªã¬ãã«
å ¥åïŒé·æ¹åœ¢ã®å¯žæ³{wïŒLiïŒ; hïŒLiïŒ}ããã³ã¹ããªããå¹ W åºåïŒé«ãHããã³ãããã³ã°å šäœã 1ïŒã¬ãã«= 0; hïŒã¬ãã«+ 1ïŒ= hïŒL1ïŒ; H = hïŒL1ïŒ; i = 0 2ïŒå±éãããé·æ¹åœ¢ãããéã« 3ïŒi ++; ã¬ãã«= 0 4ïŒæå°ã®æ°Žå¹³æ¹åã®æ®äœã¹ããŒã¹ã§æäœã¬ãã«ãæ€çŽ¢ 5ïŒãã®ãããªã¬ãã«ãååšããå Žå 6ïŒé·æ¹åœ¢ãå·Šæãã§ãã㯠7ïŒãã®ä»[ãã®ãããªã¬ãã«ã¯ååšããŸãã] 8ïŒæäžäœã¬ãã«ã®äžã«æ°ããã¬ãã«ãäœæããŸã 9ïŒé·æ¹åœ¢ãå·Šæãã§ãã㯠10ïŒhïŒã¬ãã«ïŒ= hïŒLiïŒ; H + = hïŒLiïŒ 11ïŒçµäºããå Žå 12ïŒçµäº 13ïŒHããã³æ¢±å å šäœã®å°å·
ãã€ã¬ãã«ãã¯ã¹ããã£ãã

Next Fit Levelã®ããªãããŒãªä¿®æ£ã 2ã€ã®ã¬ãã«ãäœæãããããããã«ç¬èªã®æŠç¥ããããŸãã
äžäœã¬ãã«ïŒãŸãã¯ãã¹ãŠã®å¥åŠãªãã®ïŒïŒæåã®å ¥åé·æ¹åœ¢ã¯å·Šç«¯ã«è©°ããããæ®ãã¯å³ããå·Šã«ãååãªã¹ããŒã¹ããããŸãã 次ã«ãã¬ãã«ãéãããããã®é«ãã¯ãã®äžã®æãé«ãé·æ¹åœ¢ã«ãã£ãŠæ±ºãŸããŸãã
äžäœã¬ãã«ïŒãŸãã¯ãã¹ãŠã®å¶æ°ïŒïŒäžäœã¬ãã«ã«é·æ¹åœ¢ã1ã€ãããªãå Žåãã¬ãã«ã¯äžäœã¬ãã«ãšåæ§ã«ããã¯ãããŸãã 2ã€ä»¥äžã®å Žåãæåã®é·æ¹åœ¢ã¯ãã¹ããªããã®ç«¯ã«æŒãä»ãããã2ã€ã®ãã¡ã®äžéšã«è©°ããããã¹ããªããã®ç«¯ã«æŒãä»ããããŸãã åŸç¶ã®ãã®ã¯ãæåã®ãã®ãã©ãã«ããã¯ããããïŒå·ŠãŸãã¯å³ïŒã«é¢ä¿ãªããå³ããå·Šã«ããã¯ãããŸãã
æ··ä¹±ããããã«èãããŸããããªãã¿ã³ããªã³ãšèžãã®ãã¯ããã«ã¯ããããŸããã ãã®ã¢ã«ãŽãªãºã ãæããã«æäŸããå¯äžã®ããšã¯ã巊端ã«ãããããšãªããã¹ããªããã®ããªã¥ãŒã äžã§ããåäžãªé·æ¹åœ¢ã®ååžã§ãã ãã ããå§çž®ã¢ã«ãŽãªãºã ãæ€èšããå Žåã¯ããã®æŠç¥ã«æ»ããŸãã
BiNFLã¢ã«ãŽãªãºã
ãã€ã¬ãã«ãã¯ã¹ããã£ãã
å ¥åïŒé·æ¹åœ¢ã®å¯žæ³{wïŒLiïŒ; hïŒLiïŒ}ããã³ã¹ããªããå¹ W åºåïŒé«ãHããã³ãããã³ã°å šäœã 1ïŒã¬ãã«= 1; hïŒã¬ãã«ïŒ= 0; H = 0; i = 1 2ïŒæ°ãããã€ã¬ãã«ãéã 3ïŒãäžäœã¬ãã«ã®ããã¯ããåŒã³åºã 4ïŒHããã³æ¢±å å šäœãå°å· æé ãäžäœã¬ãã«ã§ã®æ¢±å ã 1ïŒæåã«ããã¯ãããé·æ¹åœ¢ã¯å·Šæãã«ãªããŸã 2ïŒãã£ããããåŸç¶ã®é·æ¹åœ¢ã¯å³æãã«ãªããŸã 3ïŒååãªã¹ããŒã¹ããªãå Žå 4ïŒhïŒã¬ãã«ïŒã¯ããã¯ãããæãé«ãé·æ¹åœ¢ã®é«ãã§äžããããŸã 5ïŒãäžäœã¬ãã«ã®ããã¯ããåŒã³åºã 6ïŒçµäºããå Žå æé ãäžäœã¬ãã«ã§ã®æ¢±å ã 1ïŒLi + 1ãæåã«ããã¯ãããé·æ¹åœ¢ã®å Žå 2ïŒæã®äžã«å·Šæã 3ïŒãã®ä» 4ïŒLi + 2ãããã¯ãããæåã®é·æ¹åœ¢ã®å Žå 5ïŒå以äžã®ããã¯{hïŒLiïŒ; hïŒLi + 1ïŒ} 6ïŒmin {hïŒLiïŒã«åŸã£ãŠæ£åœåãã; hïŒLi + 1ïŒ} 7ïŒãã®ä» 8ïŒLi + jïŒj> 3ïŒãäžäœã¬ãã«ã«åãŸãå Žå 9ïŒä»ã®ãã¹ãŠã®é·æ¹åœ¢ãå·Šæãã«ããŸã 10ïŒelse [é·æ¹åœ¢ãåãŸããªã] 11ïŒH + = hïŒäžïŒ+ hïŒäžïŒ; æ°ãããã€ã¬ãã«ãéã 12ïŒçµäºããå Žå 13ïŒçµäºããå Žå 14ïŒçµäºããå Žå
ã·ã§ã«ãã¢ã«ãŽãªãºã



ã·ã§ã«ãã¢ã«ãŽãªãºã ã¯é·æ¹åœ¢ã®æ£ç¢ºãªé«ãã«é¢é£ä»ããããŠããããã¬ãã«ïŒã·ã§ã«ãïŒã®æåã®ã¢ã«ãŽãªãºã ãããã¯ããåŸã次ã®ã¢ã«ãŽãªãºã ãå°ãé«ãå Žåã«ã¹ããŒã¹ãã»ãšãã©ãããŸããã ãã®ãå°ããã¯ããã©ã¡ãŒã¿ãŒrâïŒ0; 1ïŒã«ãã£ãŠèª¿æŽãããŸãã æ£ã®é«ãã¯r kãšããŠå®çŸ©ãããŸããããã§ãæŽæ°kãšæåã®ããã¯ãããé·æ¹åœ¢ã®é«ãhïŒL i ïŒ ã«å¯Ÿã㊠r k + 1 <hïŒL i ïŒâ€r kã§ãã ãã£ã¢ã¢ã«ãŽãªãºã ãšåæ§ã«ãNext FitãFirst Fitãããã³Best Fitã·ã§ã«ããã€ãã¹æŠç¥ãé©çšãããŸãã åã·ã§ã«ãã«æ®ããããäºçŽãã¯ãæåŸã®2ã€ã®ã±ãŒã¹ã§æçã«ãªããŸãïŒFFLãšFFSãBFLãšBFSãæ¯èŒããŠãã ããïŒã ãã®äŸã§ã¯ã p = 0.7ã§ãã
NFSãFFSãBFSã¢ã«ãŽãªãºã
次ã®æ£
ãã¡ãŒã¹ããã£ããã·ã§ã«ã
ãã¹ããã£ããã·ã§ã«ã
å ¥åïŒé·æ¹åœ¢ã®å¯žæ³{wïŒLiïŒ; hïŒLiïŒ} ãã©ã¡ãŒã¿rãšã¹ããªããå¹ W åºåïŒé«ãHããã³ãããã³ã°å šäœã 1ïŒæ£= 1; wïŒæ£ïŒ= 0; hïŒæ£ïŒ= r ^ kæŽæ°kã«ã€ããŠ; i = 0; H = hïŒæ£ïŒ 2ïŒå±éãããé·æ¹åœ¢ãããéã« 3ïŒi ++; kãèšç®ãã 4ïŒååãªã¹ããŒã¹ããããr ^ïŒk + 1ïŒ<hïŒLiïŒâ€r ^ kã®å Žå 5ïŒä»¥åã«ããã¯ãããé·æ¹åœ¢ã®å³åŽã«é·æ¹åœ¢ããã㯠6ïŒãã®ä»[ã¹ããŒã¹ãäžè¶³ããŠããŸã] 7ïŒåã®æ£ã®äžã«æ°ããæ£ãäœæãã ãããŠãæ°ããæ£ã«é·æ¹åœ¢Liãè©°ããŸãã 8ïŒã·ã§ã«ã++; H + = r ^ k 9ïŒçµäºããå Žå 10ïŒçµäº 11ïŒHãšæ¢±å å šäœãå°å·ããŸãã
ãã¡ãŒã¹ããã£ããã·ã§ã«ã
å ¥åïŒé·æ¹åœ¢ã®å¯žæ³{wïŒLiïŒ; hïŒLiïŒ} ãã©ã¡ãŒã¿rãšã¹ããªããå¹ W åºåïŒé«ãHããã³ãããã³ã°å šäœã 1ïŒæ£= 1; hïŒæ£ïŒ= r ^ kæŽæ°kã«ã€ããŠ; i = 0; H = hïŒæ£ïŒ; ã·ã§ã«ãçªå·= 1 2ïŒå±éãããé·æ¹åœ¢ãããéã« 3ïŒi ++; kãèšç®ãã 4ïŒååãªã¹ããŒã¹ã§é©åãªé«ãã®æäœæ£ãæ€çŽ¢ãã 5ïŒãã®ãããªæ£ãååšããå Žå 6ïŒä»¥åã«ããã¯ãããé·æ¹åœ¢ã®å³åŽã«é·æ¹åœ¢ããã㯠7ïŒãã®ä»[ãã¹ãŠã®æ£ã«ååãªã¹ããŒã¹ããªã é©åãªé«ããŸãã¯ãã®ãããªæ£ãååšããªã] 8ïŒäžçªäžã®æ£ã®äžã«æ°ããæ£ãäœæããŸã ãããŠãæ°ããæ£ã«é·æ¹åœ¢Liãè©°ããŸãã 9ïŒã·ã§ã«ã++; H + = r ^ k; ã·ã§ã«ããã ++ 10ïŒçµäºããå Žå 11ïŒçµäº 12ïŒHãšæ¢±å å šäœãå°å·ããŸãã
ãã¹ããã£ããã·ã§ã«ã
å ¥åïŒé·æ¹åœ¢ã®å¯žæ³{wïŒLiïŒ; hïŒLiïŒ} ãã©ã¡ãŒã¿rãšã¹ããªããå¹ W åºåïŒé«ãHããã³ãããã³ã°å šäœã 1ïŒæ£= 1; hïŒæ£ïŒ= r ^ kæŽæ°kã«ã€ããŠ; i = 0; H = hïŒæ£ïŒ; ã·ã§ã«ãçªå·= 1 2ïŒå±éãããé·æ¹åœ¢ãããéã« 3ïŒi ++; kãèšç®ãã 4ïŒ1ã€ããã¹ãŠã®æ£ïŒäžããå§ãŸãïŒã§æ€çŽ¢ããŸã é©åãªé«ãã§ãæå°ã®æ°Žå¹³æ¹åã®äœçœããããŸãã 5ïŒãã®ãããªæ£ãååšããå Žå 6ïŒä»¥åã«ããã¯ãããé·æ¹åœ¢ã®å³åŽã«é·æ¹åœ¢ããã㯠7ïŒãã®ä»[ã¹ããŒã¹ãäžè¶³ããŠããããŸã㯠é©åãªé«ãã®æ£ã¯ãããŸãã] 8ïŒäžçªäžã®æ£ã®äžã«æ°ããæ£ãäœæããŸã ãããŠãæ°ããæ£ã«é·æ¹åœ¢Liãè©°ããŸãã 9ïŒã·ã§ã«ã++; H + = r ^ k; ã·ã§ã«ããã ++ 10ïŒçµäºããå Žå 11ïŒçµäº 12ïŒHãšæ¢±å å šäœãå°å·ããŸãã
é«èª¿æ³¢ã·ã§ã«ã

ããŒã¢ããã¯ã·ã§ã«ãã¯ãåãã¬ãã«ã®é«ãã ãã§ãªããåãå¹ ã®1ã€ã®ã¬ãã«ã®é·æ¹åœ¢ã«ããã¯ããŸãã çµæã¯ããå€ãã®ã¬ãã«ã«ãªããŸããããããã¯ããé«å¯åºŠã«ãªããŸãã èš±å®¹å¹ ãèšç®ããããã«ãè¿œå ã®ãã©ã¡ãŒã¿ãŒMãå°å ¥ãããŠããŸãã
ã¹ããªããã®åèšå¹ ãç°¡åã«ããããã«ã MééI 1 .. I Mã§å²ã£ãåäœãšããŠåããŸãã èè ã¯ã Mã®åççãªå€ã¯[3; 12]ã ééã®å¹ ã¯æ¬¡ã®åŒã§èšç®ãããŸãã


åé·æ¹åœ¢ã«ã€ããŠã pãèšç®ãããŸãã é«ããã©ã¡ãŒã¿kã¯ããªãã·ã§ã¢ã¢ã«ãŽãªãºã ãšåæ§ã«èšç®ãããŸãã 2ã€ã®æ¡ä»¶ããã§ãã¯ãããŸããé«ãr kã®ä»»æã®æ£ã«é·æ¹åœ¢ã®å Žæãããããã®pããã§ã«ããã«è©°ããããŠãããã©ããã å°ãªããšã1ã€ãæºããããŠããªãå Žåããã©ãã¯ãžã£ãã¯ãšæãå¿«é©ãªæ¡ä»¶ã§ãã·ã§ã«ããäœæãããŸãã ãã®äŸã§ã¯ã p = 0.7ã M = 4ã§ãã
HSã¢ã«ãŽãªãºã
é«èª¿æ³¢ã·ã§ã«ã
å ¥åïŒé·æ¹åœ¢ã®å¯žæ³{wïŒLiïŒ; hïŒLiïŒ} ãã©ã¡ãŒã¿ãŒMãrããã³ã¹ããªããå¹ W åºåïŒé«ãHããã³ãããã³ã°å šäœã 1ïŒæ£= 1; hïŒæ£ïŒ= r ^ kæŽæ°kã«ã€ããŠ; i = 0 2ïŒå±éãããé·æ¹åœ¢ãããéã« 3ïŒi ++; r ^ïŒk + 1ïŒ<hïŒLiïŒâ€r ^ kãšãªãããã«kãèšç®ãã 4ïŒ1 /ïŒp + 1ïŒ<wïŒLiïŒâ€1 / pãšãªãããã«pã®å€ãèšç®ãã ããã§ã1â€p <M 5ïŒé«ãr ^ kã®æ£ã®äžãã1ã€ãèŠã€ãã å¹ ãééIpã«é©åããé·æ¹åœ¢ããããã³ã°ãã 6ïŒååãªã¹ããŒã¹ããªãå ŽåããŸãã¯é«ãr ^ kã®é·æ¹åœ¢ããªãå Žå 7ïŒæäžéšã®æ£ã®äžã«é©åãªé«ãã®æ°ããæ£ãäœæãããŸã 8ïŒã·ã§ã«ã++ 9ïŒçµäºããå Žå 10ïŒé·æ¹åœ¢Liãæ£ã®æåã®å Žå 11ïŒhïŒæ£ïŒ= r ^ k; H + = hïŒæ£ïŒ 12ïŒçµäºããå Žå 13ïŒçµäº 14ïŒHããã³æ¢±å å šäœã®å°å·
ã¢ã¶ãŒã«

ã¬ãã«ã«åå²ããã«ã¯ãç¹å®ã®ãããå€0 < Y <1/2ãå°å ¥ããŸãã é·æ¹åœ¢ã®å¹ ã¯ãã¹ããªããã®å¹ ã«å¿ããŠã¹ã±ãŒãªã³ã°ãããŸããã¹ããªããã®å¹ ã¯ã1åäœãšèŠãªãããŸãã é«ã2 j -1 <hïŒL i ïŒâ€2 jããã³å¹ 2 - x -1 <hïŒL i ïŒâ€2 -xã®é·æ¹åœ¢ã¯1ã¬ãã«ã«ããã¯ãããŸãã ã€ãŸããã¬ãã«ã¯ãããæŽæ°jãšæ£ã®æŽæ°xã®ãã¢ïŒ x ã j ïŒã«ãã£ãŠç¹åŸŽä»ããããŸãã
å°ãªããšãYã®å¹ ãæã€é·æ¹åœ¢ã¯ ãããã¡ãŒãšåŒã°ãããããããåå¥ã®ã¬ãã«ã«ããã¯ãããŸãã ã€ãŸãããã®ãããªé·æ¹åœ¢ãæãŸããããå Žåãããªãã¯ç·æ¥ã«æ°ããã¬ãã«ãéãå¿ èŠããããŸãããã®é«ãã¯ããã«çããã§ãã ä»ã®ãã¹ãŠïŒéãããã¡ãŒïŒã¯ãæåã®é©åãªã¬ãã«ã«ããã±ãŒãžåãããŸãã é©å-åããã¢ïŒ x ã j ïŒã®æå³ã çªç¶ååãªã¹ããŒã¹ããªãå Žåãéãããã¡ãŒã®é·æ¹åœ¢ãæ°ããã¬ãã«ã®æåã«ãªãããã®ã¬ãã«ã®é«ãã¯2 jã«ãªããŸãã
äžè¬ã«ãããçš®ã®äžå¥åº·ãªéå±€ã
ãã®äŸã§ã¯ã Y = 0.4ã§ãã
Azarã¢ã«ãŽãªãºã
ã¢ã¶ãŒã«
å ¥åïŒé·æ¹åœ¢ã®å¯žæ³{wïŒLiïŒ; hïŒLiïŒ} ãã©ã¡ãŒã¿Yãšã¹ããªããå¹ W åºåïŒé«ãHããã³ãããã³ã°å šäœã 1ïŒhïŒã¬ãã«ïŒ= 0; wïŒã¬ãã«ïŒ= 0; ã¬ãã«= 0 2ïŒå±éãããé·æ¹åœ¢ãããéã« 3ïŒwïŒLiïŒâ¥Yã®å Žå 4ïŒã¬ãã«++; wïŒã¬ãã«ïŒ= wïŒLiïŒ; hïŒã¬ãã«ïŒ= hïŒLiïŒ; H + = hïŒã¬ãã«ïŒ 5ïŒelse [wïŒLiïŒ<Y] 6ïŒæ¬¡ã®ããã«xãšjãèšç®ãã 2 ^ïŒj-1ïŒ<hïŒLiïŒâ€2 ^ jããã³2 ^ïŒ-x-1ïŒ<wïŒLiïŒâ€2 ^ïŒ-xïŒ 7ïŒæãäœãïŒxãjïŒã¬ãã«ãæ€çŽ¢ãã 8ïŒïŒxãjïŒã¬ãã«ã䜿çšã§ããªãå ŽåããŸãã¯Liããããã¯ãããŠããå Žå 9ïŒã¬ãã«++; hïŒã¬ãã«ïŒ= 2 ^ j; H + = hïŒã¬ãã«ïŒ 10ïŒwïŒã¬ãã«ïŒ+ = wïŒLiïŒ 11ïŒelse [ïŒxãjïŒã¬ãã«ã䜿çšå¯èœã§ããããã¯ãããŠããŸãã] 12ïŒwïŒã¬ãã«ïŒ+ = wïŒLiïŒ 13ïŒçµäºããå Žå 14ïŒçµäºããå Žå 15ïŒçµäº 16ïŒHããã³æ¢±å å šäœã®å°å·
å§çž®ã¢ã«ãŽãªãºã



å§çž®ã¢ã«ãŽãªãºã ã¯BiNFLã«åºã¥ããŠãããåºæ¬çã«ãããã¬ãã«ã®ããã±ãŒãžã³ã°æ¹æ³ãžã®ãããã§ãã
äžè¬çãªéãã¯ãæäžäœãåžžã«å·Šããå³ã«è©°ã蟌ãŸããŠããããšã§ãã
å§çž®ããŒãã®é©åïŒäžäœã¬ãã«ã«ããã¯ãããåé·æ¹åœ¢ã«ã€ããŠãäžäœã¬ãã«ã§ãã®äžã«ã¹ããŒã¹ããããã©ããã確èªããŸãã äžäœã¬ãã«ã«ç§»åããŠãã®äžéšãäžäœã¬ãã«ã«æ®ãããšãã§ããå Žåãããã¯ç§»åããŸãïŒãããã£ãŠãPart Fit-éšåçã«åã®ã¬ãã«ã«ãæŒããããšãã§ããŸãïŒã ãã®ããã«ããŠã第2ã¬ãã«ã®å šäœã®é«ããæžããããšãã§ããŸãã 圌ã¯ããã±ãŒãžã³ã°ã«ãã¯ãæ ¹æ¬çãªåœ±é¿ãäžããŸããã æåã®å³ã¯ãã¬ãã«éã«ã¶ãäžãã£ãŠããé·æ¹åœ¢ã瀺ããŠããŸã-ã·ãããããŸããã
å§çž®å®å šé©åïŒäžäœã¬ãã«ã«ããã¯ãããåé·æ¹åœ¢ã«ã€ããŠãåã®ã¬ãã«ã«å®å šã«ã·ããããŠã³ã§ãããã©ããããã§ãã¯ãããŸãã å®éãå¯èœã§ããã°ãããã¯å€åããŠããŸãã ããã«ãããæŠç¥çãªå©ç¹ãåŸãããŸãããã®æ¹æ³ã§è§£æŸãããã¹ããŒã¹ã¯ã次ã®é·æ¹åœ¢ã«äœ¿çšã§ããŸãã æ®å¿µãªããã2çªç®ã®å³ã«ã¯ãã®ãããªç¶æ³ã¯å«ãŸããŠããŸãããã2ã€ã®å€±æã確èªã§ããŸãã
å§çž®ã³ã³ãïŒã¯ããããã¯åã®2ã€ã®çµã¿åããã§ããããããã£ãŠãããã®å©ç¹ã®çµã¿åããã§ãã 3çªç®ã®å³ã«ç€ºããŸãã
ã¢ã«ãŽãªãºã CPFãCFFãCC
å§çž®
å§çž®éšãã£ãã
ã³ã³ãã¬ãã·ã§ã³ãã«ãã£ãã
å§çž®ã³ã³ã
å ¥åïŒé·æ¹åœ¢ã®å¯žæ³{wïŒLiïŒ; hïŒLiïŒ}ããã³ã¹ããªããå¹ W åºåïŒé«ãHããã³ãããã³ã°å šäœã 1ïŒi = 0; H = 0 2ïŒæ°ãããã€ã¬ãã«ãéã 3ïŒäžäœã¬ãã«ã®ãããã³ã°ã¯BiNFLã«äŒŒãŠããŸãã H + = hïŒäžäœã¬ãã«ïŒ 4ïŒäžäœã¬ãã«ã®é·æ¹åœ¢ãè©°ããã®ã«ååãªã¹ããŒã¹ããªãå Žå 5ïŒãäžäœã¬ãã«ã®ããã¯ããåŒã³åºã 6ïŒçµäºããå Žå 7ïŒHããã³æ¢±å å šäœã®å°å· æé ãäžäœã¬ãã«ã§ã®æ¢±å ã 1ïŒå±éãããé·æ¹åœ¢ãããéã« 2ïŒiâ¥3ã§ãLiãæåã«ããã¯ãããé·æ¹åœ¢ã®å Žå 3ïŒçãæ¹ã«åŸã£ãŠæ£åœåãã 巊端ãšå³ç«¯ã®é·æ¹åœ¢ã® 4ïŒååãªã¹ããŒã¹ãããå Žåã¯ãé·æ¹åœ¢ãäžã«ã¹ã©ã€ãããŸã ãããŠ12ã«è¡ã 5ïŒãã®ä» 6ïŒiâ¥3ã§ãLiã2çªç®ã®é·æ¹åœ¢ã§ããå Žå 7ïŒå³æãããŠ12ã«é²ã 8ïŒelse [é·æ¹åœ¢ãåãŸããªã] 9ïŒH + = hïŒäžäœã¬ãã«ïŒ; æ°ãããã€ã¬ãã«ãéã 10ïŒçµäºããå Žå 11ïŒçµäºããå Žå 12ïŒçµäº
å§çž®éšãã£ãã
å ¥åïŒé·æ¹åœ¢ã®å¯žæ³{wïŒLiïŒ; hïŒLiïŒ}ããã³ã¹ããªããå¹ W åºåïŒé«ãHããã³ãããã³ã°å šäœã 1ïŒi = 0; H = 0 2ïŒæ°ãããã€ã¬ãã«ãéã 3ïŒäžäœã¬ãã«ã®ãããã³ã°ã¯BiNFLã«äŒŒãŠããŸãã H + = hïŒäžäœã¬ãã«ïŒ 4ïŒäžäœã¬ãã«ã®é·æ¹åœ¢ãè©°ããã®ã«ååãªã¹ããŒã¹ããªãå Žå 5ïŒãäžäœã¬ãã«ã®ããã¯ããåŒã³åºã 6ïŒçµäºããå Žå 7ïŒHããã³æ¢±å å šäœã®å°å· æé ãäžäœã¬ãã«ã§ã®æ¢±å ã 1ïŒå±éãããé·æ¹åœ¢ãããéã« 2ïŒhïŒLiïŒ> VerticalSpaceããã³wïŒLiïŒâ€HorizoâântalSpaceã®å Žå 3ïŒé·æ¹åœ¢Liãäžã«ã·ããããŸãã 11ã«è¡ã 4ïŒãã®ä» 5ïŒhïŒLiïŒâ€VerticalSpaceããã³W-wïŒã¬ãã«ïŒâ¥wïŒLiïŒã®å Žå 6ïŒå·Šæãã 11ã«è¡ã 7ïŒelse [é·æ¹åœ¢ãåãŸããªã] 8ïŒH + = hïŒäžäœã¬ãã«ïŒ; æ°ãããã€ã¬ãã«ãéããŸã 9ïŒçµäºããå Žå 10ïŒçµäºããå Žå 11ïŒçµäº
ã³ã³ãã¬ãã·ã§ã³ãã«ãã£ãã
å ¥åïŒé·æ¹åœ¢ã®å¯žæ³{wïŒLiïŒ; hïŒLiïŒ}ããã³ã¹ããªããå¹ W åºåïŒé«ãHããã³ãããã³ã°å šäœã 1ïŒi = 0; H = 0 2ïŒæ°ãããã€ã¬ãã«ãéã 3ïŒäžäœã¬ãã«ã®ãããã³ã°ã¯BiNFLã«äŒŒãŠããŸãã H + = hïŒäžäœã¬ãã«ïŒ 4ïŒäžäœã¬ãã«ã®é·æ¹åœ¢ãè©°ããã®ã«ååãªã¹ããŒã¹ããªãå Žå 5ïŒãäžäœã¬ãã«ã®ããã¯ããåŒã³åºã 6ïŒçµäºããå Žå 7ïŒHããã³æ¢±å å šäœã®å°å· æé ãäžäœã¬ãã«ã§ã®æ¢±å ã 1ïŒå±éãããé·æ¹åœ¢ãããéã« 2ïŒhïŒLiïŒâ€VerticalSpaceããã³wïŒLiïŒâ€HorizoâântalSpaceã®å Žå 3ïŒé·æ¹åœ¢Liãäžã«ã¹ã©ã€ããããŸãã 11ã«è¡ã 4ïŒãã®ä» 5ïŒhïŒLiïŒâ€VerticalSpaceããã³W-wïŒã¬ãã«ïŒâ¥wïŒLiïŒã®å Žå 6ïŒå·Šæãã 11ã«è¡ã 7ïŒelse [é·æ¹åœ¢ãåãŸããªã] 8ïŒH + = hïŒäžäœã¬ãã«ïŒ; æ°ãããã€ã¬ãã«ãéã 9ïŒçµäºããå Žå 10ïŒçµäºããå Žå 11ïŒçµäº
å§çž®ã³ã³ã
å ¥åïŒé·æ¹åœ¢ã®å¯žæ³{wïŒLiïŒ; hïŒLiïŒ}ããã³ã¹ããªããå¹ W åºåïŒé«ãHããã³ãããã³ã°å šäœã 1ïŒi = 0; H = 0 2ïŒæ°ãããã€ã¬ãã«ãéã 3ïŒäžäœã¬ãã«ã®ãããã³ã°ã¯BiNFLã«äŒŒãŠããŸãã H + = hïŒäžäœã¬ãã«ïŒ 4ïŒäžäœã¬ãã«ã®é·æ¹åœ¢ãè©°ããã®ã«ååãªã¹ããŒã¹ããªãå Žå 5ïŒãäžäœã¬ãã«ã®ããã¯ããåŒã³åºã 6ïŒçµäºããå Žå 7ïŒHããã³æ¢±å å šäœã®å°å· æé ãäžäœã¬ãã«ã§ã®æ¢±å ã 1ïŒå±éãããé·æ¹åœ¢ãããéã« 2ïŒwïŒLiïŒâ€HorizoâântalSpaceã®å Žå 3ïŒé·æ¹åœ¢Liãäžã«ã¹ã©ã€ããããŸãã 11ã«è¡ã 4ïŒãã®ä» 5ïŒwïŒLiïŒ> HorizoâântalSpaceããã³W-wïŒã¬ãã«ïŒâ¥wïŒLiïŒã®å Žå 6ïŒå·Šæãã11ãž 7ïŒelse [é·æ¹åœ¢ãåãŸããªã] 8ïŒH + = hïŒäžäœã¬ãã«ïŒ; æ°ãããã€ã¬ãã«ãéã 9ïŒçµäºããå Žå 10ïŒçµäºããå Žå 11ïŒçµäº
ãªã³ã©ã€ã³ãã£ãã

以åã®æ¹æ³ãããé¢åãªæ¹æ³ã§ãããçç£æ§ãåäžããŸãã ã¿ã¹ã¯ã®ãªãã©ã€ã³ããŒãžã§ã³ã®Burkeã¢ã«ãŽãªãºã ã«åºã¥ããŠããŸãã ããããããã€ãã®åŽé¢ãæããŸãã


ããã±ãŒãžã³ã°ããã»ã¹äžã«ã空ã®é åã圢æãããå ŽåããããŸãããã®é åã¯ãã¢ã«ãŽãªãºã ãæåã«åããããšããŸãã ããããã©ã®ããã«åœ¢æããããã¯ãå·Šã®åçã«ç€ºãããŠããŸãã ãã®ããã垯åå¹ ã®ç¹å®ã®è¡šçŸãä¿åããå¿ èŠãããããšã«æ³šæããŠãã ããã
空ã®é åãåããåŸã2ã€ïŒãŸãã¯ããŸããããªããããããŸããïŒãååŸããããšããããŸãã


äžè¬ã«ã森ã®äžã«è¡ãã»ã©ãããå€ãã®ãã€ããçºçããŸãã åã¹ãããã§ãæ¥éã«ãã§ãŒããããã€ãã詳ãã調ã¹ãŸãã ããã§ãå¥ã®æé©åã衚瀺ãããŸãã䜿çšå¯èœãªé åã®æž¬å®å€ãå ¥åãã奜ãŸãããªããã®ãç Žæ£ã§ããŸãã

空ã®ãšãªã¢ãèå¥ããããã«ããã¹ãŠã®ã¹ãããã§åãæšé«ãããã䜿çšãããŸãã
äžè¬çã«ããã¹ãŠããã§ã«èšãããŠããŸãã æåã«ç©ºã®ãšãªã¢ã«è©°ã蟌ã¿ã次ã«æäžå±€ãæåŸã«éèŠãªããšãšããŠãäžãããæäžå±€ãã®çž®éããã±ãŒã¹ã«è©°ã蟌ã¿ãŸãã
OFã¢ã«ãŽãªãºã
ãªã³ã©ã€ã³ãã£ãã
å ¥åïŒé·æ¹åœ¢ã®å¯žæ³{wïŒLiïŒ; hïŒLiïŒ}ããã³ã¹ããªããå¹ W åºåïŒé«ãHããã³ãããã³ã°å šäœã 1ïŒi = 0; H = 0 2ïŒèŠçŽ æ°ãWã«çããç·åœ¢é åãäœæããŸã 3ïŒå±éãããé·æ¹åœ¢ãããéã« 4ïŒi ++ 5ïŒLiãè©°ã蟌ãã®ã«ååãªã¹ããŒã¹ããªããã空ã®ãšãªã¢ã®ãªã¹ããæ€çŽ¢ãã 6ïŒwïŒEmptyAreaïŒâ¥wïŒLiïŒããã³hïŒEmptyAreaïŒâ¥hïŒLiïŒã®å Žå 7ïŒç©ºã®é åã«é·æ¹åœ¢ãè©°ãã 8ïŒãã®ä» 9ïŒé·æ¹åœ¢ã空ã®é åã«åãŸããªãå Žå 10ïŒå©çšå¯èœãªãããã³ã°å¹ ã«ã€ããŠç·åœ¢é åãæ€çŽ¢ãã 11ïŒelse [ç·åœ¢é åã®ã¹ããŒã¹ãäžè¶³ããŠããŸã] 12ïŒå·Šäžã«é·æ¹åœ¢ãè©°ãã ããå°ããªã¹ããŒã¹ã«ã€ãªããã€ã³ããã¯ã¹ãã 13ïŒçµäºããå Žå 14ïŒçµäºããå Žå 15ïŒçµäº 16ïŒH =ç·åœ¢é åã®æé«ãšã³ã㪠17ïŒHããã³æ¢±å å šäœãå°å·
ããšãã
äœãèµ·ãã£ãŠããã®ããšããç®çã®ãªãæèŠãææããããã«ãåéãããã¹ããªããã§ã®2次å ãããã³ã°ã¢ã«ãŽãªãºã ã®é©çšã®å€å žçã§åºæ¿çãªäŸãæããŸãã ããã¯ããã«ãããã»ããµã·ã¹ãã çšã®ã¿ã¹ã¯ã¹ã±ãžã¥ãŒã©ã§ãã ã¯ã©ã¹ã¿åãã®ææ°ã®ãœãããŠã§ã¢ã§ã¯ããããæçãããã¢ã«ãŽãªãºã ã䜿çšãããŸããã èšç»ã¿ã¹ã¯èªäœã¯2DSPã«åæžãããŸãã ã¯ã©ã¹ã¿ãŒæäœã®æ¡ä»¶äžã§ã¯ãçä¿¡ã¿ã¹ã¯ã®ãããŒã¯ããã±ãŒãžã³ã°ã®ãªã³ã©ã€ã³ããŒã¿ã«ãããŸãããæ°Žå¹³æ¹åã®ãã£ã¡ã³ã·ã§ã³-å¿ èŠãªã³ã¢æ°ãåçŽæ¹å-ã¿ã¹ã¯ã®æéã§ãã ïŒãã¹ãŠããã¯ãããžãŒã®å€æãã®ããã§ããã³ã³ãã¥ãŒã¿ãŒã«æ¥ç¶ããå¿ èŠãªãªãœãŒã¹ã®éãšãã³ãã«ãŒããã¹ãã³ããæéãäºåã«èŠåããŸãïŒã ã¹ã±ãžã¥ãŒã©ã¯ãã¿ã¹ã¯ã«ç¹å®ã®ããã»ããµãå²ãåœãŠãéå§æéã決å®ããå¿ èŠããããŸãã ã¡ãªã¿ã«ãã¹ã±ãžã¥ãŒã©ãã¿ã¹ã¯ãåŸ ã£ãŠãããããã®å ŽæãèããŠããéã«æéããªããªããããçŽç²ãªåœ¢åŒã§ã¯ã¢ã«ãŽãªãºã ã䜿çšã§ããŸããã ããã«ãããã°ã©ããŒã¯ããŸããŸãªç¹å®ã®æ¡ä»¶äžã§æã§çžãããŸããã¿ã¹ã¯ã®åªå 床ã å®è¡æã«ã¿ã¹ã¯ãã¹ã±ãŒãªã³ã°ããæ©èœã ããŒããŠã§ã¢ã®é 延ãšã·ã¹ãã ã®ã»ã«ããµãŒãã¹ïŒé害ãçºçãããªãœãŒã¹ã«åºã¥ãåé åžãå«ãïŒã ã¿ã¹ã¯å ã®éä¿¡ã®æ§è³ªãã¯ã©ã¹ã¿ãŒã®ã¢ãŒããã¯ãã£ãªã©ã«ãããã³ã°ãã
ã¢ã«ãŽãªãºã ã¯ãå®éã®ç掻ã«é©çšãå§ãããŸã§ãæ°åŠçå³å¯ãã«ãããŠå®ç§ã§ãã
ãããŠæåŸã«-å¿å°ãããéäººæ Œçãªåœ¢ã§ã®ã¢ã«ãŽãªãºã ã®æ¯èŒèª¬æã ããã¯ãæé©ãªãããã³ã°é«ãïŒé·æ¹åœ¢ã®é¢ç©ã®åèšãã¹ããªããã®å¹ ã§å²ã£ããã®ïŒãšåŸããããã®ã®æ¯çã§ãã
Nfl | Ffl | Bfl | ãã³ãã« | NFS | FFS | Bfs | Hs | ã¢ã¶ãŒã« | CPF | CFF | CC | ã® |
---|---|---|---|---|---|---|---|---|---|---|---|---|
0.56 | 0.63 | 0.75 | 0.56 | 0.45 | 0.57 | 0.57 | 0.37 | 0.44 | 0.60 | 0.59 | 0.63 | 0.72 |
ã³ãŒãïŒQtïŒïŒ
ã¢ã«ãŽãªãºã packager.h packager.cpp
Gui window.h window.cpp renderarea.h renderarea.cpp main.cpp