äžè¬ã«ããã£ã¯ã·ã§ããªã¯{stringããã®æååã«é¢é£ä»ããããããŒã¿}ãšãã圢åŒã®ã¬ã³ãŒãã®ã»ããã§ãã
ããšãã°ã圢æ çŽ è§£æã®å Žåããã£ã¯ã·ã§ããªã¯ããªãã«{åèªåœ¢åŒãæšæºåœ¢ã圢æ åŠçç¹åŸŽ}ã§æ§æãããŸãã ãmother soap frameããšããæãããsoapããšããåèªãåæããå Žåã次ã®åæãªãã·ã§ã³ãååŸã§ããå¿ èŠããããŸãã
æšæºåœ¢ | ç¹åŸŽ |
---|---|
SOAP | SïŒåè©ïŒãæ§å¥ïŒå±æ ŒïŒãEDïŒåæ°åœ¢ïŒãMEDIUMïŒäžæ§ïŒãNEOD
ïŒç¡çç©ïŒ |
SOAP | SïŒåè©ïŒãMIïŒäž»æ ŒïŒãMNïŒè€æ°ïŒãMEDIUMïŒäžæ§ïŒãNEODïŒç¡çç©ïŒ |
SOAP | SïŒåè©ïŒãVINïŒå¯Ÿæ ŒïŒãMNïŒè€æ°ïŒãMEDIUMïŒäžæ§ïŒãNEODïŒç¡çç©ïŒ |
ãŠã©ãã·ã¥ | VïŒåè©ïŒãPASSïŒéå»æå¶ïŒãEDïŒåæ°åœ¢ïŒãFLASHïŒæ瀺ïŒãWIFEïŒå¥³æ§ïŒãNESOVïŒäžå®å šåœ¢ïŒ |
ããã·ã¥ããŒãã«
äžèŠããã¹ãŠãã·ã³ãã«ã§ãã ããã·ã¥ããŒãã«ã䜿çšããŠãæåŸã«å¯ŸåŠããå¿ èŠããããŸãã èŸæžãå°ããå Žåããã®ãœãªã¥ãŒã·ã§ã³ã¯éåžžã«ã·ã³ãã«ã§å¹æçã§ãã
ãã ããããšãã°ããã·ã¢èªã®åœ¢æ åŠçèŸæžã«ã¯ãçŽ500äžã®åèªåœ¢åŒãå«ãŸããŠããŸãã ããã¯æ¬¡ã®ããšãããããŸãïŒ
- ãããã®500äžèªã®ãã©ãŒã ãä¿åããå¿ èŠããããŸã
- åèªã®åœ¢åŒããšã«ãå€ãã®åœ¢æ çç¹åŸŽã®ã»ãããžã®ãªã³ã¯ãå¿ èŠã§ã
- ååèªåœ¢åŒã«ã€ããŠããã®åæ圢åŒãä¿åããŸã
ãã®ããŒã¿ã®æŽçæ¹æ³ã¯äžçµæžã§ãããªããªãã第äžã«ãåèªã¯èŠåçã«åŸãåŸåãããããã§ãã ã
ããšãã°ããå£ããšããèšèïŒ
- åäœ hïŒãwalls a ã[them]ããwalls s ã[genus]ããwalls e ã[dates]ããwalls u ã[wines]ããwalls oi ã[creat]ããwalls oi ã[creat]ã "Walls e " [predl];
- å€ãã® hïŒãwalls s ã[im]ããwallsã[genus]ããwalls am ã[dates]ããwalls s ã[wines]ããwalls ami ã[creat]ããwalls ah ã[æç« ]ã
æ«å°Ÿã®ã¿ãå€åããããšãããããŸãããåèªå šäœãããã·ã¥ããŒãã«ã«æ ŒçŽããå¿ èŠããããŸãã
åºæ¬ïŒå€æŽãããªãéšåïŒãšãšã³ãã£ã³ã°ãå¥ã ã«ä¿åã§ããŸããããã®å Žåãåèªã®æ€èšŒã¯è€éã§ãã
ãã¬ãã£ãã¯ã¹ããªãŒããã¹ããŒããã·ã³ãŸã§
äŸãæ確ã«ããããã«ãããåçŽãªåé¡ãæ€èšããŸããåæã®ååèªåœ¢åŒã«ã€ããŠããã®åœ¢æ åŠçç¹åŸŽã®ã¿ãååŸããå¿ èŠãããå Žåã§ãã éåžžã®ãã©ãŒã ãä¿æããæ¹æ³ã«ã€ããŠã¯ãæåŸã«èª¬æããŸãã
ããã·ã¥ããŒãã«ãšæ¯èŒããŠãããã³ã³ãã¯ããªè¡šçŸã¯ãã¬ãã£ãã¯ã¹ããªãŒïŒãã©ã€ïŒã§ãã

éèŠãªæ³šæ-ããªãŒã®åãªãŒãããŒãïŒãŸãã¯ã¹ããŒããã·ã³ã®ç¶æ ïŒã«é¢é£ä»ããããæ©èœã®ã»ããã¯ãå³ã«ã¯è¡šç€ºãããŸããã ããšãã°ãå³ãããŒã6ãã§ã¯ããå£ãã®ç·ã«æ²¿ã£ãŠãå®éã«ã¯3ã€ã®è§£æããããŸãã
- åæ°åœ¢ãå±æ Œ;
- è€æ°åœ¢ãäž»æ Œã;
- è€æ°åœ¢ã®å¯Ÿæ Œã
ãã¬ãã£ãã¯ã¹ããªãŒã¯ãæéç¶æ ãã·ã³ãšèŠãªãããšãã§ããŸãã
ãã·ã³ã«ã¯3ã€ã®ã¿ã€ãã®ç¶æ ããããŸãã
- åæ-äœæ¥ã¯æ©æ¢°ããå§ãŸããŸãã 決å®æ§ãªãŒãããã³ã§ã¯ããã®ãããªç¶æ ã¯1ã§ãããé決å®æ§ãªãŒãããã³ã§ã¯ããã€ããããŸãã å³ã§ã¯ãããã¯çªå·0ã®å·Šç«¯ã®ç¶æ ã§ãã
- æçµ-ãã®ãããªç¶æ ããã®éæã¯ãã®ãããªåèªãèŸæžã«ããããšãæå³ããŸãã ãããã¯äºéäžžã§ç€ºãããŸãã
- åæã§ãæçµã§ããªãåçŽãªç¶æ
å°æ¥çã«ã¯ã次ã®è¡šèšã䜿çšãããŸãã
- æååã¯wã§ç€ºãããŸã
- w [i]ã¯ããã®åèªã®içªç®ã®æåã§ãïŒ0ããå§ãŸããŸãïŒã
- s [i]ã¯ããªãŒã®içªç®ã®ããŒãïŒãŸãã¯ãªãŒãããã³ã®ç¶æ ïŒã§ããç¶æ ã¯éè² ã®æŽæ°ã§çªå·ä»ããããs [0]ãåæç¶æ ã§ãããšä»®å®ããŸãã
- s [i] [j]-ã·ã³ãã«jã«ããç¶æ s [i]ããã®é·ç§»ã é·ç§»ãããå Žåããã®ãããªåŒã¯ç¶æ çªå·ãè¿ããããã§ãªãå Žåã¯-1ãè¿ããŸãã
ãã¬ãã£ãã¯ã¹ããªãŒ/ã¹ããŒããã·ã³ã®åºæ¬çãªã¢ã«ãŽãªãºã ã瀺ããŸãã
// // () int[] prefix(w) { int[] stateList; // stateList[0] = 0; int current = 0; for(int i = 0; i < length(w); i++) { int next = s[current][w[i]] // , if(next == -1) break; stateList[i+1] = next; } return stateList; } // // stateList void addSuffix(w, int[] stateList) { // int current = stateList[length(stateList) - 1]; for(int i = length(stateList) - 1; i < length(w); i++) { // int newState = addState(); // s[current][w[i]] = newState; current = newState; // stateList[i + 1] = current; } // s[current] setFinal(current); } // trie void add(w) { // int[] prefixStates = prefix(w); // addSuffix(w, prefixStates) }
ãã¬ãã£ãã¯ã¹ããªãŒãæéç¶æ ãã·ã³ãšããŠè¡šçŸããããšã«ã¯ãéèŠãªç¹æ§ããããŸãã
- ãã®ãããªãªãŒãããã³ã決å®ãããŸã-åç¶æ ãããç¹å®ã®ã·ã³ãã«ã«ããé·ç§»ã¯1ã€ã ãã§ã
- ãµã€ã¯ã«ã¯ãããŸããããªãŒãããã³ããã€ãã¹ããæ¹æ³ã§ã¯ãç¶æ ãè€æ°åã¢ã¯ã»ã¹ãããããšã¯ãããŸããã
ãã®ãããªç¹å¥ãªãªãŒãããã³ã¯ãDAFSAïŒæ±ºå®è«çé埪ç°æéç¶æ ãªãŒãããã³ïŒãšåŒã°ããŸãã
ã²ãšã€ã®éèŠãªãã€ã³ãã 衚瀺ã®äŸ¿å®äžããã³å®éã®äœ¿çšã®ããã«ãç¶æ ã¯é·ç§»è¡šã ãã§ãªããæçµç¶æ ã®ããŒã¿ã«ãã£ãŠãèšè¿°ããããšæ³å®ããŠããŸãã ãããŠããã®ãããªããŒã¿ãå«ãŸããŠããå Žåã¯ç¶æ ãæçµçã§ãããååšããªãå Žåã¯ããã§ã¯ãªããšèããŸãã
æå°ç¶æ ãã·ã³
ãã¬ãã£ãã¯ã¹ããªãŒã䜿çšãããšããã¬ãã£ãã¯ã¹ã®åé·æ§ããªããªããŸãã å®éãããã¯ãåèªã®å€æŽãããŠããªãéšåã®èšæ¶é åãåæžãããããšãæå³ããŸãã ãã ããããšãã°ãã·ã¢èªã§ã¯ãèªå°Ÿã¯ã»ãšãã©å®æçã«å€åããŸãã
ããšãã°ããç¢å°ããšãå£ããšããèšèã¯åãããã«å€åããŸãã
å£ïŒåäœ hïŒãwallã[them]ããwallsã[genus]ããwallã[dates]ããwallã[wines]ããwallã[creat]ããwallã[creat]ããwallã[proposal] ; å€ãã® hïŒãå£ã[ããã]ããå£ã[å±]ããå£ã[æ¥ä»]ããå£ã[å]ããå£ã[åµé ]ããå£ã[ææ¡]ã
ç¢å°ïŒåäœ hïŒãarrowã[them]ããarrowsã[genus]ããarrowã[dates]ããarrowã[wines]ããarrowã[creat]ããarrowã[creat]ããarrowã[offer] ; å€ãã® hïŒãarrowsã[them]ããarrowsã[genus]ããarrowsã[dates]ããarrowsã[wines]ããarrowsã[creat]ããarrowsã[predl]ã

èªå°Ÿãå§ãŸãç¶æ 4ãš17ã¯ãäž¡æ¹ã®åèªã§åçã§ããããšãããããŸãã æããã«ãèŸæžã«ã¯åãå€æ²ã«ãŒã«ãæã€å€ãã®åèªããããŸãã ãããã£ãŠãç¶æ ã®æ°ãå€§å¹ ã«æžããããšãã§ããŸãã
å®éããªãŒãããã³ã®çè«ã«ã¯ãæå°éã®ãªãŒãããã³ã®æŠå¿µããããŸããæå°éã®ç¶æ ãå«ããããããšåçã®ãªãŒãããã³ã§ãã
ããšãã°ãäžèšã®ãã·ã³ã®å Žåãæå°å€ã¯æ¬¡ã®ããã«ãªããŸãã
æéç¶æ ãã·ã³ãæå°åããã¢ã«ãŽãªãºã ããããŸããããããã«ã¯ãã¹ãŠé倧ãªæ¬ ç¹ããããŸã-ãã®äœæ¥ã®ããã«ãæåã«éæå°åãªãŒãããã³ãæ§ç¯ããå¿ èŠããããŸãã
ãã1ã€ã®æãããªæ¬ ç¹ã¯ãæ§ç¯ãããæå°ã®ãªãŒãããã³ãããã»ã©ç°¡åã«å€æŽã§ããªãããšã§ãã ãã¬ãã£ãã¯ã¹ããªãŒã«äœ¿çšãããæ°ããåèªãè¿œå ããç°¡åãªæé ã«ã¯é©åããŸããã
ããšãã°ããfoxããšãboxããšããåèªã®ãªãŒãããã³ãäœæãããããæå°åããŸããã

å®å šã«åæ§ç¯ããã«ãã®ãã·ã³ã«ããããããšããåèªãè¿œå ãããšã次ã®å³ã衚瀺ãããŸãã

ããããããè¿œå ãããå Žæãšãããã¯ã¹ããè¿œå ãããªãã£ãããšãå€æããŸããã
ãã®çµæãåŸæ¥ã®æå°åã¢ã«ãŽãªãºã ã䜿çšããããã®ã¹ããŒã ã¯æ¬¡ã®ãšããã§ããèŸæžã®å€æŽã«ã¯ãå¿ èŠã§ãã
- ãã¬ãã£ãã¯ã¹ããªãŒãæ§ç¯ããïŒãŸãã¯ãªãã·ã§ã³ã§ä¿åããïŒ
- æ©æ¢°ãæå°å
èŸæžã倧ããå Žåããããã®æé ã«ã¯ããªãã®æéãšã¡ã¢ãªãããããŸãã
決å®è«çéåšæçæéç¶æ æ©æ¢°ã®å¢åæå°å
ãªãŒãããã³ãæå°åããããšã®é£ããã®è§£æ±ºçã¯ã次ã®äœæ¥ã«ç€ºãããŠããŸããJanDaciukã ãã«ãŒã¹ã»Wã»ã¯ããœã³; ã¹ãã€ã³ã»ããã; ãªãã£ãŒãE.ã¯ããœã³ã ãæå°é埪ç°æéç¶æ ãªãŒãããã³ã®ã€ã³ã¯ãªã¡ã³ã¿ã«æ§ç¯ ã ã 決å®è«çãªéåšæçæéç¶æ ãã·ã³ã®ããã®å¢åæå°åã¢ã«ãŽãªãºã ãæ瀺ããŸãã ãã§ã«æ§ç¯ãããŠããæå°ã®ãªãŒãããã³ãå€æŽã§ããŸãã ãã®çµæãå®å šãªãªãŒãããã³ãäœæããŠæå°åããå¿ èŠã¯ãããŸããã
ç¹°ãè¿ããŸãããç§ãã¡ã®ãã·ã³ã®å£+ç¢å°ãèããŠã¿ãŸããã
ã¢ã«ãŽãªãºã ã®éèŠãªæŠå¿µã¯ãæååã®ç¶æ ãã§ããããã¯ããã·ã³ãæå®ãããæååãåããšãã«ååŸãããäžé£ã®ç¶æ ã§ãã
ããšãã°ãç·ãç¢å°ã§ãã©ããŒã¹ãããšã次ã®ç¶æ ã·ãŒã±ã³ã¹ãåŸãããŸã[0ã1ã2ã14ã15ã15ã4ã9ã10]ã
ãã®ã¢ã«ãŽãªãºã ã®ãã1ã€ã®éèŠãªæŠå¿µã¯ãç¹å®ã®ç¶æ ãžã®é·ç§»ã®æ°ïŒã³ã³ãã«ãšã³ã¹ïŒã§ãã é·ç§»ã®æ°ãè€æ°ããå Žåããã®ç¶æ ã®å€æŽã¯å®å šã§ã¯ãããŸããã å³ã§ã¯ããã®ç¶æ ã¯4ã§ãã2ã€ã®ç¢å°ãå ¥ã£ãŠããŸãã
ããã«ãã¢ã«ãŽãªãºã ã§ã¯ããããšåçã®ç¶æ ããã°ããååŸã§ããç¶æ ã¬ãžã¹ã¿ããããšæ³å®ããŠããŸãã
ãã®çµæãåèªwãè¿œå ããã¢ã«ãŽãªãºã ã¯æ¬¡ã®ããã«ãªããŸãã
void addMinWord(w) { // w int[] stateList = commonPrefix(w); // int confIdx = findConfluence(stateList); // if(confIdx > -1) { int idx = confIdx; while(idx < length(stateList)) { int prev = stateList[idx - 1]; int cloned = cloneState(stateList[idx]); stateList[idx] = cloned; // // s[prev][w[idx - 1]] = cloned; idx++; confIdx++; } } // addSuffix(w, stateList); // , . // , replaceOrRegister(w, nodeList); } void replaceOrRegister(w, int[] stateList) { int stateIdx = length(stateList) - 1; int wordIdx = length(w) - 1; // while(stateIdx > 0) { int state = stateList[stateIdx]; // , state int regState = registerGet(state); if(regState == state) { // state , continue; } else if(regState == -1) { // , registerAdd(state); } else { // , , state int in = w[wordIdx]; // s[stateList[stateIdx - 1]][in] = regState; // stateList[stateIdx] = regState; // removeState(state); } wordIdx--; stateIdx--; } }
ã¢ã«ãŽãªãºã æäœå³
æçµç¶æ ããã€ããªèšå·ã§ããåçŽãªã±ãŒã¹ãèããŠãã ããã æ¡ä»¶ã¯æçµçãªãã®ãããã§ãªããã§ãã
æååãfoxãã®èªåã

ãªãŒãããã³ã¯æå°éã§ããããã¹ãŠã®ç¶æ ãã¬ãžã¹ããª[0,1,2,3]ã«ããããšãããããŸãã
åèªãããã¯ã¹ããè¿œå ããŸãã å ±éã®æ¥é èŸããªããããè¡å šäœãæ¥å°ŸèŸãšããŠè¿œå ããŸãã ãã®çµæã以äžãåŸãããŸãã

ç¶æ 3ãš6ãçããããšãããããŸãã 6ã3ã«çœ®ãæããŸãã

ããã§ã2ãš5ã«çããããšãããããŸãã5ã2ã«çœ®ãæããŸãã

ãããŠä»ããããã¯1ãš4ã«çããããšãããããŸãã4ã1ã«çœ®ãæããŸãã

è¡ãfoxesããè¿œå ããŸãã ãã¬ãã£ãã¯ã¹ãèšç®ãããšãç¶æ [0ã1ã2ã3]ããã¬ãã£ãã¯ã¹ã®ãã¹ã§ããããšãããããŸããã
ããã«ãç¶æ 1ã«ã¯è€æ°ã®é·ç§»ãå«ãŸããŠããããšãããããŸããã ãã®çµæããfoxããšããåèªããã€ãã¹ãããã¹ã«æ²¿ã£ãŠç¶æ 1ã2ãããã³3ãè€è£œããå¿ èŠããããŸããåã®ãã·ã³ã«åã«ãfoxesããè¿œå ãããšããboxesããšããæååãèªèãããããã§ãã

ãããã¯ã¹ããè¿œå ããŸãã

ãããã¯ã¹ããè¿œå ããããšã§ããã·ã³ã¯å°ãããªããŸããã ããã¯äžèŠãããšãæ°ããè¡ãè¿œå ããããšãã«ãã·ã³ãå®éã«æžå°ãããšãã®äºæããªãåäœã§ãã éã®åäœããããŸã-è¡ãåé€ããããšãã«ãã·ã³ãå¢å ãããšãã
ã¢ã«ãŽãªãºã ãæ£ããæ©èœããããã«ã¯ãã¬ãžã¹ããªãæ£ããæäœããããšãéèŠã§ãã ç¶æ ã¯ãç¶æ é·ç§»ããŒãã«ãšæçµãµã€ã³ã®å€æŽæã«ã¬ãžã¹ããªããåé€ãããŸãã
ãŸããéåžžã®ã»ãããŸãã¯ããŒãã«ãšã¯ç°ãªããã¬ãžã¹ããªãžã®è¿œå /åé€ã¯ãã®ç¶æ ã§æ£ç¢ºã«åäœããèŠæ±ã¯åãç«å Žã§è¡ãããŸãã
å®çšå
æ瀺ãããã¢ã«ãŽãªãºã ã¯ã AOTãããžã§ã¯ãããã³ETAP-3ã·ã¹ãã ã§äœ¿çšãããè¿ éãªåœ¢æ çŽ è§£æãç·šæããŸãã æéç¶æ ãã·ã³ã䜿çšãããšã1ç§ãããçŽ100ã150äžã¯ãŒãã®åæé床ãéæãããŸãã åæã«ãç¹å¥ãªããªãã¯ã®ãªããã·ã³ã®ãµã€ãºã¯8 MBã«åãŸããŸãã
è¡ããŒã¿ã®ä¿åã¯ã以åã¯æçµæ§ã®å åãšããŠèª¬æãããŠããŸããã ãã®ã¢ãããŒãããã詳现ã«æ€èšããŠãã ããã
ãã·ã³ã®ç¶æ ã§ã®ããŒã¿ã¹ãã¬ãŒãž
ãã®ã¢ãããŒãã¯ããããã®æååãäœããã®ã¢ãããã¯ãªããžã§ã¯ããšèŠãªãããããšãåæãšããŠããŸãã ããã«ããããªãŒãããã³ãæå°åããå¹çãå¶éãããŸãã
ããšãã°ãæå°ã®ãªãŒãããã³ãæ§ç¯ããæé ã¯ãäžæã®çªå·ãæååã«é¢é£ä»ããããŠããå Žåãå®å šãªããã·ã¥åã«ã¯æå³ããããŸããã ãã®å Žåãåãµãã£ãã¯ã¹ã¯äžæã§ãããããåæçµç¶æ ã¯äžæã§ãããããæå°åã¯è¡ãããªãããã§ãã
圢æ åŠçåæã®å Žåã圢æ åŠçç¹æ§ã®ã»ãããé¢é£ããŒã¿ãšããŠäœ¿çšã§ããŸãã ããã¯ãåèªåœ¢åŒã®ç·æ°ã«å¯ŸããŠãã®ãããªã»ãããå°ãªããããããŸãæ©èœããŸãã ããšãã°ããã·ã¢èªã§ã¯ãæ¡çšã¢ãã«ã«å¿ããŠããã®ãããªã»ããã®æ°ã¯500ã900ã§ãã åèªåœ¢åŒã¯400ã500äžã§ãã
ãã ããç¹æ§ã«å ããŠå®å šãªæ£èŠåœ¢ãç¶æãããå Žåãæå°åã®æå¹æ§ã¯ç¡å¹ã«ãªããŸãã ããã¯ã{æšæºåœ¢ã圢æ çç¹åŸŽ}ã®ãã¢ãã»ãšãã©äžæã§ããããã§ãã
ETAP-3ã·ã¹ãã ã¯ããã®ãããªã¢ãããŒãã䜿çšããŠåœ¢æ åŠçæ å ±ãä¿åããŸãã 圢æ çŽ ã®ã»ããã®ã¿ããã·ã³èªäœã«ä¿åãããŸãã ãããŠãéåžžã®ãã©ãŒã ãä¿åããããã«ã次ã®ããªãã¯ã䜿çšãããŸãã ãªãŒãããã³ãäœæãã段éã§ã¯ã1æåã§ã¯ãªã2æåãå ¥åã·ã³ãã«ãšããŠäœ¿çšãããŸãã ããšãã°ãåèªåœ¢åŒã«ãå£ãïŒæ¥œåšã®å Žåã¯ãWALLãïŒãè¿œå ãããšã次ã®äžé£ã®æåãã¢ãè¿œå ãããŸãïŒãcïŒCãããtïŒTãããeïŒEãããnïŒNãããoïŒAã ããThïŒ_ãã
ãã®ãããªãã·ã³ã®ãå£ããšãç¢å°ããšããåèªã®ãã¹ãŠã®åèªåœ¢åŒã¯ã次ã®ããã«ãªããŸãã

éåžžã®åœ¢åŒãèšé²ãããã®ã¢ãããŒãã«ã¯ãéèŠãªå©ç¹ããããŸãã ããã«ããã2ã€ã®æ¹åã§åœ¢æ ãæäœã§ããŸãã ããªãã¯ãã®åæãåèªåœ¢åŒã§åŸãããšãã§ããŸã-åæã ãããŠããã¹ãŠã®åèªåœ¢åŒãéåžžã®åœ¢åŒãã€ãŸãåæã§ååŸã§ããŸãã
ãã®ã¢ãããŒãã®æ¬ ç¹ã¯ããªãŒãããã³ãäžå¯Ÿã®èšå·ã«å¯ŸããŠæ±ºå®è«çã§ãããšããäºå®ã«ãããããããå ¥åãªãŒãããã³ã®ãªãŒãããã³ã§ã¯ãªããªãããã®ç¶æ ããã®ãã¹ãŠã®é·ç§»ãæŽçããå¿ èŠãããããšã§ãã ããšãã°ãäžã®å³ã®ç¶æ mã§ãã åèªåœ¢åŒãaãã®èšå·ã«åŸã£ãŠãããã€ãã®é·ç§»ããããŸãã
移è¡äžã®ããŒã¿ã¹ãã¬ãŒãžã 泚éã䜿çšãã
è¿œå ã®ããŒã¿ãä¿åããå¥ã®æ¹æ³ã¯ãå ã®ç 究ã§èª¬æãããŠããŸãã ãã·ã³ã«ä¿åãããŠããè¡èªäœãå€æŽããå¿ èŠããããŸãã
èšèšã¹ããŒã ãææ¡ãããŠããŸãã ã¿ãŒã²ããè¡ã®ä»£ããã«ãã¿ãŒã²ããè¡ãããŒã¿éå§æåïŒæ³šéæåïŒãããã³ããŒã¿èªäœã§æ§æãããæ¡åŒµè¡ããã·ã³ã«æžã蟌ãŸããŸãã
ããšãã°ããã®å Žåã圢æ çç¹åŸŽã¯æ¬¡ã®ããã«æžãããšãã§ããŸãïŒ "wall | + noun + women + imã..."ãwhere '|' -泚éæåãããã³ã+æ¢åããã+女æ§ããã+ãããã-ç¹å¥ãªããŒã¿æåã
ãã®ã¢ãããŒãã¯ãAOTã·ã¹ãã ã§äœ¿çšãããŸãã å®éã«ã¯ã2ã€ã®åç §ãããŒã¿ãšããŠä¿åãããŸãã圢æ åŠçç¹æ§ãšå€æ²èŠåçªå·ã§ãã ãã®çµæãåæããéã«ããã®åœ¢æ åŠçç¹åŸŽãšåèªåœ¢åŒã䜿çšããåæ圢åŒã®äž¡æ¹ãååŸããããšãå¯èœã§ãã
ãã®ã¢ãããŒãã®ç¹åŸŽã¯ããªãŒãããã³ã®ã¢ãã«ãããè€éã§ããããšã§ãã é·ç§»ã·ã³ãã«ã®è§£éã¯ã泚éã·ã³ãã«ã®åãåŸãã«ãã£ãŠç°ãªããŸãã
ãã1ã€ã®æ©èœã¯ãè¡ããšã®èµ°æ»ãããå°ãè€éã§ããããšã§ãã 第1ã«ãæ©æ¢°ãééããåŸã泚éèšå·ã«ããé·ç§»ãããç¶æ ã«ããå Žåãæ©æ¢°ã«ç·ãååšããŸãã 第äºã«ã泚éèšå·ã®åŸã®ãã¹ãŠã®æ³šéãåéããæé ãå¿ èŠã§ãã 第äžã«ã泚éã®ãã³ãŒãæé ãå¿ èŠã§ãã
ã¡ã¢ãªæé©å
ã¡ã¢ãªã®éãæé©åããããã«ãæéãªãŒãããã³ã®2ã€ã®è¡šçŸã䜿çšãããŸãã1ã€ã¯æå°ãªãŒãããã³ã®æ§ç¯çšã§ããã1ã€ã¯åæçšã§ãã 2ã€ã®éãã¯ãåæãã·ã³ã¯å€æŽãæå³ããªããããããå¹ççã«ã¡ã¢ãªã«é 眮ã§ããããšã§ãã
åæãã·ã³ã¯ã次ã®3ã€ã®æ§é ã§æ§æãããŠããŸãã
- å€æããŒãã«-æŽæ°ãã¢{é·ç§»ã·ã³ãã«ãã¿ãŒã²ããç¶æ }
- ç¶æ é·ç§»ã®ç¯å²ã®éå§ãšçµäºã®ã€ã³ããã¯ã¹
- æçµç¶æ ããŒã¿è¡š
ãªãŒãããã³ã¯ååã«ã³ã³ãã¯ãã§ãã ããšãã°ãç¹å¥ãªããªãã¯ã®ãªãAOTèŸæžã«ã¯çŽ8MbããããŸãã 圢æ çŽ è§£æã·ã¹ãã ã®å®å šãªããŒã¿ãèŸæžåæã ãã§ãªããäºæž¬åèªåæãå«ãŸãã16Mbã«é©åããŸãã
æå°åã¢ã«ãŽãªãºã èªäœã¯ãGithubã®ç§ã®ãããžã§ã¯ãã§å®è£ ãããŠããŸãïŒ github.com/kzn/fsa