2006-04-01ãã1ã¶æéã®è¨äºä¸è¦§
ä»åº¦ã¯ã¡ã¢ãªæ¶è²»éã®æ¯è¼ããã¦ã¿ãããHashã¯Glibã®ããã·ã¥ã©ã¤ãã©ãªãç¨ãããGlibã®ããã·ã¥ã©ã¤ãã©ãªã«ã¯ã¡ã¢ãªæ¶è²»éãç¥ãæ©è½ããªãã®ã§ãé©å½ã«ã©ã¤ãã©ãªå é¨ã«æãå ¥ãã¦è¨ç®ããããã«ãã¦ã¿ãã ä»åããã¹ããã¼ã¿ã¨ãã¦ã¯Cannadicã«ããå ¨â¦
DoubleArrayãè¾æ¸æ§é ã¨ãã¦ä½¿ãå ´åãå®éã«ç»é²ããããã¼ã¿ã¯å¤ãã®å ´åã«åå²ãå°ãªããåå²ãå°ãªããã¼ã¿ã¨ããã®ã¯ç©ºãé åãè¦ã¤ããããã®ã§ããããDoubleArrayã®é«ä½¿ç¨çã«è²¢ç®ãã¦ããã®ã¯æããã§ãããTAILãç¨ããã¨ããäºã¯ããã®åå²ã®å°â¦
è«æãèªãã§ããã¨ãP(x|y)=ãã«ããã«ããã¨ããå½¢ã§æ°å¼ãæ¸ãã¦ããã®ã«ããããã¯generative modelãã¿ãããªäºãæ¸ãã¦ããã¨ããããã£ãã ããã¾ã§çæã¢ãã«ã¯P(x,y)ã§ãèå¥ã¢ãã«ã¯P(y|x)ã§ãããã¤ã¾ãçæã¢ãã«ã¯åæç¢ºçãèå¥ã¢ãã«ã¯æ¡ä»¶â¦
忡件ã§ãhashã¨DoubleArrayã§ããã©ã¼ãã³ã¹ãæ¯è¼ãã¦ã¿ããhashã¯glibã®ç©ã使ç¨ãããæ§ç¯æéã«é¢ãã¦ã¯ãhashã0.30ç§ãDoubleArrayã0.91ç§ç¨åº¦ãDoubleArrayã®æ¹ãé ããï¼Cannadicã®å ¨ã¦ã®åèªãç»é²ããçµæãï¼ æ¤ç´¢æéã«é¢ãã¦ã¯ãhashã0.24â¦
ã¨ããããã§ãä»åº¦ãããã¼ã¸åå²ã«åãæãããããããã®åã«è«æãèªã¾ãã°â¦ã
ããä¸åº¦sysprofã§profileããã¦ã¿ãã¨ãx_checkï¼æ¡ä»¶ãæºãã空ãè¦ç´ æ¢ç´¢ï¼ãå¦çæéã®7å²ãå ãã¦ãããããã§ã馬鹿æ£ç´ã«ç©ºãè¦ç´ ãæåããç·å½¢æ¢ç´¢ãã¦ããã³ã¼ãããã£ãã®ã§ã空ãè¦ç´ ãªã¹ãã使ãããã«æ¸ãæãã¦ã¿ãã ãã®å¤æ´ã§ãç´9ä¸èªã®â¦
ããããã¿ãã¨ãDoubleArrayã¨ããã®ã¯é常ã«å¯ãªãã¼ã¿æ§é ã ãå®éã«è¨æ¸¬ãã¦ã¿ãã¨ãæ®éã«è¾æ¸ã¨ãã¦åèªãç»é²ãã¦ããã¨ã99.95%ãããã®è¦ç´ ã«ã¯ãã¼ã¿ãè©°ã¾ã£ã¦ãããã¨ãããã¨ã¯ãã²ã¨ã¤åãæ¢ç´¢ããéã«ã空ãè¦ç´ ãå é ããæç¹°ã£ã¦ããæ¹ãéâ¦
è¾æ¸ã®æ§ç¯ãé«éåããã ããªãããæ¬¡ã®ç©ºãè¦ç´ ãé åã¨ãåã®ç©ºãè¦ç´ ãé åãä½ãã°ãç°¡åã«é«éåã¯å¯è½ã§ãããããã¦ãã§ããè¾æ¸ãmmapå¯è½ãªå½¢ã§ã³ã³ãã¯ãã«ãã¡ã¤ã«ã«æ¸ãåºããã¨ãå¯è½ã§ãããçã¡ã¢ãªã§on the flyã«æ§é ãæ§ç¯ãããã¨ãèãâ¦
仿¸ãã¦ããã®ã¯DoubleArrayã®ã³ã¼ããªã®ã ããvalidationç¨ã®ã³ã¼ããªãããå ¥ã£ã¦ããã¨ã¯è¨ããæ¢ã«800è¡ã«éãã¦ãããããããDoubleArrayãã©ãããæ§é ãªã®ãé ã«å ¥ã£ã¦ãªã人ã«ã¯ã¡ãã£ã¨èªããªããããªããããããã³ã¼ãã ãæ£ç´è¨ã£ã¦ãåå¹´å¾ã®â¦
ã©ãã«ãé ãã¦ä»æ¹ãªãã®ã§ãsysprofã§profileãã¨ã£ã¦ã¿ããprofileã®çµæãä¿¡ãããªããé åã®ã²ã¨ã¤åã®ç©ºãè¦ç´ ãç·å½¢æ¢ç´¢ããé¨åãé ãããã ã ã¨ããããã§ãæ¢ç´¢ãã¦ãã颿°ãã¡ãã£ã¨ããã£ã¦ãã©ããããã®è¦ç´ ãç·å½¢æ¢ç´¢ãã¦ããã®ãã調ã¹ã¦â¦
valgring --tool=memcheckã¨ãã¦åããã¨ãæ¸ãè¾¼ãã§ã¯ãããªãå ´æã«æ¸ãè¾¼ãããã£ã¦ããã¨ãvalgrindãå ±åãã¦ããããvalgrindã°ãããã
ä»éçºãã¦ããããã°ã©ã ã¯ãéä¸ã§reallocãã¨ã©ã¼ãåºãã¦åæ¢ãã¦ãã¾ãã®ã ããvalgrindãéãã¨åé¡ãªãåãããã¼ãããªããå¤ãªãã°ãä½ãããã§ãã¾ã£ããããâ¦ã
é«éåã®ããã«ä»æ¥ä¸æ¥æ ¼éããã®ã«ããããåããã1.3åãé ããªã£ã¦ããããâ¦ãorz ãããããªãã®ã§è«æãèªãã§ããç´ããæ³£ããã
ãããã°ããä½ã£ã¦ããDoubleArrayã®ã³ã¼ãããã£ã¨åãããå¢çæ¡ä»¶ã®ãã§ãã¯ãããããæ¬¡ã¯é åãµã¤ãºåæ¸ã®ããã®ãã¼ã¸åå²ã®å®è£ ã ãªãããããã¦ããDoubleArrayã®ã©ã¤ãã©ãªã¯ä»ã®ã¨ããã¿ããã¨ããªããï¼ããããDoubleArrayã®ããªã¼ãªå®è£ ã¯3ã¤â¦
å¢çæ¡ä»¶ã®ãã§ãã¯ã§ã¯ã¾ãã¾ãã£ããçµå±ãå¢çæ¡ä»¶ã®ãã§ãã¯ã«åæ¥ããã£ãè¨ç®ã«ãªãã
A new compression method of double array for compact dictionariesã¨ããè«æãèªãã ãè¦ããã«ãBASEãCHECKã®è¦ç´ ã«ã¯é常32bit intã使ããã©ãdouble arrayã®å ã«ãªãTRIEæ¨ãåå²ãã¦å¤§ããªæ°åãã§ã¦ããªãããã«ããã°ã16bit intã§ååãªãããâ¦
Fast and compact updating algorithms of a double-array structureã¨ããè«æãèªãã ãè¦ããã«ãdouble arrayã®ç©ºãé¨åãæ¢ãã®ã«ããªãªã¸ãã«ã®ããæ¹ï¼é©å½ãªç©ºãé¨åãè¦ä»ããã¾ã§double arrayã®å ¨é åãã¹ãã£ã³ï¼ã§æ¢ãã¨ä½¿ç¨çãé«ãå ´åã«å¹çâ¦
CLWFKã¯ããããã¦ãKAGEã使ã£ã¦ã¿ããã¹ããã¼ã¯ã®é£çµå¦çãè¡ã£ã¦ããªãã¿ããã§ã大ãã表示ããã¨ã¡ãã£ã¨ä½¿ç¨ã«èããªãæããï¼ã½ã¼ã¹ãèªãã éãã§ã¯ãkagecomb.cãããã§é£çµå¦çããã¦ãããªãã ãã©â¦ãï¼
ã¨ãããããããªã¿ãã©ã³ããæ¹è¯ãã¦ã¿ããã¨ãã¦ãCLWFKã使ã£ã¦ã¿ãããããã¹ã¿ãã¯ãªã¼ãã¼ããã¼ãèµ·ãã£ã¦ãã©ã³ããçæã§ããªããï¼tracecontã§ãªã¼ãã¼ããã¼ãèµ·ãããï¼ãããã°ãããã«ãã³ã¼ããèªããªãããã®ç¨åº¦ã®åéã®ããã°ã©ã ãèªãâ¦
æ½®å¾ ãã©ã³ãã«å½±é¿ããã¦ããã£ãããã©ã³ããããã£ã¦ã¿ããããªã¨ããæ°åã«ãªã£ããã©ãã§ããããã©ãå ¨ç¶ç ç©¶ã®äºæ¸ãã¦ãªããããã®æ¥è¨ã
ãã¯ãããã©ã³ããã©ãã«ãããªããã°ãªããªããã¨æãããIPAãã©ã³ãã¯ããªã¼ã¨ã¯è¨ããªãããªãããã¦ãããã§ã¯ãã©ã®ããã«ãã¦ä½æ¥ãããã¹ãããçæå¾ã®ãã¥ã«ã¼ã¿ã¤ããã©ã³ããfontforgeã§ãããã®ã¯ããããããããã§ã¯ãã¾ãã«å¹çãæªãããâ¦
MEMMï¼æå¤§ã¨ã³ãããã¼ãã«ã³ãã¢ãã«ï¼ã¯CRFã«æ¯ã¹ãã¨ãã¾ãæ§è½ãåºãªã ãã¼ã¿åå¸ããã使ãããçç± ãã©ã¡ã¼ã¿ãããããã¨ã§ããããªãã¼ã¿ã«ãã£ããããï¼åå¸ã®å½¢ãæè»ã«å¤ããããï¼ å¹³åã忣ãè¨ç®ã§ãã 以ä¸2ç¹ã«ãããæ±ãããã ãã£ãâ¦