TagGridã®ãã¼ã¿é ç½®ã¢ã«ã´ãªãºã ã®ç°¡åãªè§£èª¬
ã¯ããã«
TagGridã§ã¯16000æ¯ã®Flickrã®åçããåçã®ã¿ã°ã«ãããã£ã¦æ ¼åç¶ã«é ç½®ãã¦ãã¾ãããã®é ç½®ã¢ã«ã´ãªãºã ã«ã¤ãã¦ç°¡åã«èª¬æãããã¨æãã¾ãã
åºæ¬çãªã¢ã¤ãã¢
ã¾ããå
¥åã¨ãªãã®ã¯Nåã®ã¿ã°ä»ããã¼ã¿ã¨ãã¾ããã¾ããK種é¡ã®ã¿ã°ãããã¨ãã¾ãã TagGridã§ã¯ããã®Nåã®ãã¼ã¿ã¨K種é¡ã®ã¿ã°ãããããå¹³é¢ä¸ã«é
ç½®ãããã¨ãã¾ãã ãã¼ã¿ã ãã§ãªããã¿ã°ã2次å
å¹³é¢ä¸ã«é
ç½®ããã®ã大äºãªç¹ã§ãã
åºæ¬çãªèãæ¹ã¨ãã¦ã¯ããããã¼ã¿ã®ã¿ã°ãä¾ãã°seaã¨sunã®å ´åããã®ãã¼ã¿ã®ä½ç½®ãseaã¿ã°ã¨ sunã¿ã°ã®è¿ãã«ãªãããã«ãã¼ã¿ã¨ã¿ã°ãé
ç½®ãã¾ãããã¼ã¿ã¯è¤æ°ã®ã¿ã°ãæã¤ã®ã§ãä¸çªè¯ãé
ç½®æ¹æ³ã¨ããã®ã¯ç°¡åã«ã¯æ±ºå®ã§ãã¾ãããããã§ããªãã ãè¯ããããªé
ç½®ãæ±ãã¦ã¿ã¾ãã
ãã©ã¼ãã«ãªåé¡å®ç¾©
åºæ¬çãªã¢ã¤ãã¢ããããå°ããã©ã¼ãã«ã«å®ç¾©ãã¾ãã nçªç®ã®ãã¼ã¿ã®å¹³é¢ä¸ã®ä½ç½®ã ã kçªç®ã®ã¿ã°ã®å¹³é¢ä¸ã®ä½ç½®ã
ã¨ãã¾ãã ãã®æãnçªç®ã®ãã¼ã¿ã¨qçªç®ã®ã¿ã°éã®è·é¢ã
ã¨ããã¨ããã®è·é¢ã¯æ¬¡ã®ããã«ãªãã¾ãã
ä¾ãã°ããããã¼ã¿ã®ã¿ã°ã3åãã£ãå ´åããã®ãã¼ã¿ã¨3åã®ã¿ã°ã¨ã®éã®è·é¢ã®åè¨ãå°ãããªãã°ããããã§ãããã ãããã¼ã¿ã«ãã£ã¦ã¯ã¿ã°ã10åããã£ããããã®ã§ãåãã¼ã¿ã®éã¿ãçãããããããã¿ã°ã®åæ°ã§ãã®è·é¢ã®åè¨ãå²ããã¨ã«ãã¾ãã
ã¤ã¾ããnçªç®ã®ãã¼ã¿ã®ã¿ã°ã ã¨ããå ´å(T(n)ã¯ã¿ã°ã®åæ°)ãæ¬¡ã®å¤ããªãã ãå°ãããªãããã«ãã¾ãã
æçµçã«å°ãããããå¤ã¯nã«ã¤ãã¦ç·åãã¨ã£ã次ã®å¤ã«ãªãã¾ãã
å¾ã¯ããã®L(ãã®ãããªå¤ãç®ç颿°å¤ã¨å¼ã³ã¾ãã)ãæå°ã«ãªãããã«ããã¼ã¿ã¨ã¿ã°ãé
ç½®ãã¾ãã
ãã®æãTagGridã§ã¯ãã¼ã¿ãæ ¼åä¸ã«é
ç½®ãããã®ã§ããã¼ã¿ã®ä½ç½®ã¯æ´æ°å¤ã®ã¿ãã¨ãããã«ãã¾ãã
æé©åã¢ã«ã´ãªãºã
ä¸ã§å®ç¾©ããåé¡ã¯é¢æ£æé©ååé¡ã¨å¼ã°ãããã®ãããªåé¡ãè§£ãã¢ã«ã´ãªãºã ã¯è²ã ã¨ããã®ã§ãããç¾å¨ã®ã¨ããä¸çªã·ã³ãã«ãª貪欲法ãç¨ãã¦ãã¾ãã詳ããç¥ãããæ¹ã¯組合せ最適化 - Wikipediaãªã©ãåç §ããã¨è¯ãã¨æãã¾ãã
貪欲æ³ã«ããè§£æ³ãç°¡åã«èª¬æãã¾ãã
- ã¾ããã©ã³ãã ã«ã¿ã°ã¨ãã¼ã¿ãé ç½®ãã¾ãã
- ãã®å¾ãã¿ã°ã¨ãã¼ã¿ã®ä½ç½®ãé çªã«æ´æ°ãã¦ããã¾ããã¿ã°ã®ä½ç½®ãæ´æ°ããã¨ãã«ã¯ããã¼ã¿ã®ä½ç½®ãåºå®ãã¦ãã¿ã°ã®ä½ç½®ãä¸çªè¯ããªãããã«ãã¿ã°ãé ç½®ãã¾ããæé©ãªã¿ã°ã®ä½ç½®ã¯ããã®ã¿ã°ãæã£ã¦ãããã¼ã¿ã®ã¡ããã©éå¿ã«ãªãã¾ãã
- ã¿ã°ã®åé ç½®ã®å¾ããã¼ã¿ã®ä½ç½®ãæ´æ°ãã¾ãããã®æã¯ããããã¼ã¿ã¨å¥ã®ãã¼ã¿ã®ä½ç½®ã交æããå ´åã®ç®ç颿°å¤ãè¨ç®ãã¦ãç®ç颿°å¤ã交æããåãããè¯ããªããªãã°ããã¼ã¿ã®ä½ç½®ã交æãã¾ãããã®äº¤æãããå¦ãã®å¤å®å¦çãå ¨ã¦ã®ãã¼ã¿ã®çµã¿åããã«ãããã¦è¡ãã¾ãã
以ä¸ããã®ã¿ã°ã®åé ç½®ã¨ãã¼ã¿ã®åé ç½®ãé©å½ãªåæ°ç¹°ãè¿ãã¾ããã¤ã¾ããæ¬¡ã®ãããªå¦çã®æµãã«ãªãã¾ãã
ã©ã³ãã ãªåæé ç½® â ã¿ã°ã®åé ç½® â ãã¼ã¿ã®åé ç½® â ã¿ã°ã®åé ç½® â ãã¼ã¿ã®åé â ã»ã»ã» â è¨ç®çµäº
ãã¼ã¿ã®åé
ç½®ã«ã®è¨ç®éãå¿
è¦ã¨ãªãã®ã§ããã¼ã¿æ°ã16000ã§ãã¨æ°æéç¨åº¦ã®è¨ç®ãå¿
è¦ã§ããããã ãã¢ã«ã´ãªãºã ãå®è£
ãå¹çåã®ä½å°ã¯ããªãããã®ã§ãé å¼µãã°æ°åç¨åº¦ã¾ã§ã¯ç縮ã§ãããã§ãã
ã¾ã¨ã
TagGridã®ãã¼ã¿é ç½®ã¢ã«ã´ãªãºã ã«ã¤ãã¦ç°¡åãªèª¬æãã¾ãããã¢ã«ã´ãªãºã ã®å®è£ ã«ã¤ãã¦ã¯å°ãã¾ã¨ãã¦ããå ¬éãããã¨æã£ã¦ãã¾ãããªãããã®ãããªã¢ã«ã´ãªãºã ã®å®è£ ã¯ã¹ã¯ãªããè¨èªã«ã¯åããªãã®ã§ãã³ã¢ã¯C++ã§å®è£ ãã¦ãRubyã®ã©ããã¼çµç±ã§å©ç¨ããå½¢ã§å®è£ ãã¦ãã¾ãã