¸¦µæÆü»ï¤È¤¦¤á¤ ¤ÎÊѹ¹ÅÀ
Top / ¸¦µæÆü»ï¤È¤¦¤á¤
- Äɲ䵤줿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
- ºï½ü¤µ¤ì¤¿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
- ¸¦µæÆü»ï¤È¤¦¤á¤ ¤Ø¹Ô¤¯¡£
- ¸¦µæÆü»ï¤È¤¦¤á¤ ¤Îº¹Ê¬¤òºï½ü
[[TopPage]] -[[M1¸¦µæ¥Ú¡¼¥¸>¸¦µæÆü»ï¤È¤Ü¤ä¤]] -[[B4¸¦µæ¥Ú¡¼¥¸>¸¦µæÆü»ï¤È¤Ä¤Ö¤ä¤]] -[[vista - ubuntu8.04(on VMware)´Ö¤Ç¤Î¶¦Í¥Õ¥©¥ë¥ÀÀßÄê]] -[[Vista¤Ç¼«Æ°¥·¥ã¥Ã¥È¥À¥¦¥ó]] &br(); -[[¸¦µæÆü»ï>#report]] --[[hyperlink»ÅÍͤޤȤá]] --[[Æɤßʪ]] --[[SLIM callback´ØÏ¢ ¥á¥â]] --[[M2,M1´éʸ»ú½¸>#face]] -[[¤¦¤á¤>#word]] -[[¸À¸ìÈÉ¥í¡¼¥«¥ë/CHR encoding:http://www.ueda.info.waseda.ac.jp/lmntal/local/pukiwiki.php?CHR%20encoding]] *Contents[#s8e0a853] #contents *TODO[#s8e0a853] -hyperlink´ØÏ¢¥³¡¼¥É¤Ë¤â¤Ã¤È¥³¥á¥ó¥È»Ä¤¹ //-¸¦µæ´Ä¶¤ÎÀ°È÷ //--¿·¤·¤¤PC¡¢NIOLO2¡© //--¥Ç¥å¥¢¥ë¥Ç¥£¥¹¥×¥ì¥¤¤Ë¤·¤¿¤¤ &aname(report); *¸¦µæÆü»ï [#s8e0a853] **2011-03-26 [#t6eada5a] ***KI journal ¤Î±ÑÌõʸ [#ya60ff78] -¿½¤·ÌõÄøÅÙ¤Îtex¥Õ¥¡¥¤¥ë¤¬gouda¤Îhome/seiji/ki2011/¤Ë¤¢¤ê¤Þ¤¹ **2011-03-18 [#n7021431] ***JSAI2011¼¹É®»þ¤Î¼Â¸³·ë²Ì [#e52bffe0] -&ref(./experiment_LATEST_slim428.zip); --CHR,LMNtal¥×¥í¥°¥é¥àÆþ¤ê **2011-02-19 [#q9971212] ***ÏÀʸ¤Î½ê° [#zed0f856] -´ðËÜŪ¤Ë¸¦µæ¤·¤¿½ê°¤ò¡Ö½ê°¡×¤Ë½ñ¤¯ --ÏÀʸȯɽ»þ¤ËÊ̤ν갤ˤʤäƤë¾ì¹ç¤Ë¤Ï¡¢µÓÃí¤Ë½ñ¤¯¿Í¤â¤¤¤ë **2011-02-09 [#n49f731d] ***½¤ÏÀ¤Î´Á»úÅý°ì [#sb7a0ec9] -ʬ¤«¤ë -»×¤¦ -¤Ç¤¤ë -¤È¤ -¤Ä¤Ê¤¬¤ë -¤ª¤è¤Ó -Áȹ礻 -°ì¤Ä, 1¸Ä -¤ß¤Ê¤¹ -¤³¤È -¤â¤Î -¹Ô¤¦ -Á´¤Æ - **2011-02-08 [#ze430023] ***paragraph¤Ç²þ¹Ô [#ta0591a1] -¤µ¤»¤¿¤«¤Ã¤¿¤é \paragraph{¥¿¥¤¥È¥ë \\} -¤Î¤è¤¦¤Ë{}¤ÎÃæ¤Ë\\¤ò½ñ¤±¤Ð¤è¤¤ **2011-02-05 [#n6e38065] ***eclipse¤Çtex [#z228e7c3] -[[¤³¤³»²¾È>http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?TeXlipse#m60f5d27]] ***tex¤Î»È¤¤Êý [#s6e148aa] -\documentstyle[report,12pt]{jsbook}¤Ï\documentclass[report,12pt]{jsbook} -\pagestyle{heading}¤Ï\pagestyle{lineheadings} --¤À¤È¤¦¤Þ¤¯¤¤¤Ã¤¿¤±¤É¡¢¤¢¤Ã¤Æ¤ó¤Î¤«¤Ê -documentclass¤«¤ébegin{document}¤Þ¤Ç¤¬¥×¥ê¥¢¥ó¥Ö¥ëÉô **2011-02-04 ȯɽ½ªÎ»¡ª¡ª [#h30ccea0] ***¤¤¤¿¤À¤¤¤¿¥³¥á¥ó¥È [#x97b8ebd] -Ëì¤Ï¤¤¤é¤Ê¤¯¤Ê¤Ã¤Á¤ã¤Ã¤¿¤Î¡©(ÃæÅçÀèÀ¸) --¤¤¤ê¤Þ¤¹¡£Ëì¤Ë¤Ï³¬Áؤòºî¤Ã¤Æ·×»»¤Î¶É½ê²½¤ò¹Ô¤¦Ìò³ä¤¬¤¢¤ë¤Î¤Ç¡¢¤½¤ì¤Ï¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯¤Ë¤Ï¤Ê¤¤µ¡Ç½¤Ç¤¹¡£ -¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯¤Ë¤è¤Ã¤ÆÈó¸úΨŪ¤Ê¥Þ¥Ã¥Á¥ó¥°¤¬¸º¤Ã¤¿¤Î¤Ï¤ï¤«¤Ã¤¿¡¢¤½¤ì¤Ï¥â¥Ç¥ë¤¬Ã±½ã¤Ëµ½Ò¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¤«¤é¤À¤è¤Í¡©(ÃæÅçÀèÀ¸) --¤½¤ì¤¬°ì¤Ä¤ÎÍýͳ¤Ç¡¢¤â¤¦°ì¤Ä¤Ï¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯¤ÎÀܳ´Ø·¸¤òÍøÍѤ·¤¿¥Þ¥Ã¥Á¥ó¥°¤¬¤¢¤ê¤Þ¤¹¡£¡Ê¾Ü¤·¤á¤ËÀâÌÀ¡Ë¡£CHR¤ÎºÇŬ²½¤â¤³¤ì¤È»÷¤¿¤è¤¦¤Ê¹Í¤¨Êý¤ò»È¤Ã¤Æ¤¤¤Þ¤¹¡£ -¤É¤¦¤¤¤¦¤È¤¤ËËì¡¢¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯¤ò»È¤¤Ê¬¤±¤ë¤Î¡©(ÃæÅçÀèÀ¸) --¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯¤Ë¤Ï¡¢ÀܳÀè¤ò·×»»ÎÌ£±¤Ç¼èÆÀ¤¹¤ëµ¡Ç½¤¬¤¢¤ê¤Þ¤¹¡¢¤³¤ì¤ÏÏÀÍýÊÑ¿ô¤Ë¤â̵¤¤µ¡Ç½¤Ç¤¹¡£º£¤Þ¤Ç¤Ï½¸¹ç¤ÏËì¤Ç°Ï¤Ã¤Æ¡¢Ãæ¤Ë¥¢¥È¥à¤òÆþ¤ì¤ë¤È¤«¤·¤Æ¤¤¤Þ¤·¤¿¤¬¡¢¤½¤Î¸Ä¿ô¤ò¿ô¤¨¤ë¤¿¤á¤Ë¤Ï¥ë¡¼¥ë¤ò·«¤êÊÖ¤·Å¬ÍѤ·¤Æ¿ô¤¨¤ë¤·¤«¤Ê¤«¤Ã¤¿¡£ ---¤À¤«¤é¶É½ê²½¤ÏËì¡¢½¸¹ç¤ò°·¤¦¾ì¹ç¤Ë¤Ï¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯¤À¤Í¡£(¾åÅÄÀèÀ¸) -¥Þ¥Ã¥Á¥ó¥°ºÇŬ²½¤Î¥¹¥é¥¤¥É¤ò¤â¤Ã¤È¤Á¤ã¤ó¤ÈÍÑ°Õ¤·¤Æ¤ª¤±¤Ð¤è¤«¤Ã¤¿ ***ÍÑ°Õ¤·¤Æ¤¤¤¿²óÅú [#j8fea1ce] -LMNtalÆâ¤À¤±¤Î¤³¤È¤Ç¤·¤ç¡© -LMNtal°Ê³°¤ËÍøÍѤǤ¤ë¿·µ¬À¤Ï¡© --ÏÀÍýÊÑ¿ô+Í×ÁÇ¿ô¤Î¼èÆÀ¤¬¤Ç¤¤ëÅÀ¤Ç¡¢¿·µ¬À¤¬¤¢¤ë¡Ê¤è¤Í¡©¡Ë --(¤³¤ì¤¬°ìÈÖ¡©)´û¸¤ÎUnion-Find algorithm¤ò²þÎɤ·¤¿ÅÀ¡£ÆäËUF¤Ë¤â¤È¤â¤È̵¤¤Í×ÁǺï½ü½èÍý¤òÆþ¤ì¤¿¤ê¡¢½¸¹çÁ´ÂΤÎÍ×ÁÇ¿ô¤ò¾ï¤ËÊÝ»ý¤¹¤ë½èÍý(Í×ÁÇ¿ô¤ò·×»»ÎÌ£±¤Ç¼èÆÀ¤¹¤ë¤¿¤á)¤òÄɲ䷤Ƥ¤¤ë --CHR¤Î¼ÂÀÓ¤ò»ý¤Á¾å¤²¡¢¤½¤ì¤ÈLMNtal¤Î´Ø·¸À¤Ë¤Ä¤¤¤Æ½Ò¤Ù¤ë¡¢LMNtal¤Ç¤â¼Â¥¢¥×¥êµ½Ò¤Ç¤¤Þ¤¹¤èŪ¤Ê --Èó¸úΨŪ¥Þ¥Ã¥Á¥ó¥°¤ÎËɻߤÏLMNtal¤ò´Þ¤à¿½Å½¸¹ç½ñ´¹¤¨¸À¸ì¥â¥Ç¥ë¤Ë¤È¤Ã¤ÆÂç»ö -¾¤Î¿½Å½¸¹ç½ñ¤´¹¤¨·¿¸À¸ì¤Ã¤Æ²¿¡© --¤¦¡¢¤¤Ä¤¤¡£¥Þ¥Ã¥Á¥ó¥°¤Î»ÅÊý¤Þ¤Ç¾Ü¤·¤¯Ä´¤Ù¤¿¤Î¤ÏCHR¤À¤±¤Ê¤Î¤Ç¡¢Â¾¤Î¤âÏ令ë¤è¤¦¤Ë¤·¤Þ¤·¤ç¤¦¡£ -º£¤Þ¤Ç¤âCHR¤ò¥¨¥ó¥³¡¼¥É¤Ç¤¤Æ¤¤¤¿¡¢¤Ã¤Æ¤¤¤¦¤Î¤Ï¤É¤¦¤ä¤Ã¤Æ¼¨¤·¤¿¤Î¡© --¤Þ¤ºLMNtal¤ÏProlog, CHR¤Ë±Æ¶Á¤ò¼õ¤±¤Æ¤¤¤ë¸À¸ì¤Ç¡¢¹½Ê¸¤«¤é¸«¤ì¤Ð¥¨¥ó¥³¡¼¥É¤ËÌäÂê¤Ï̵¤¤¡£¸À¸ì»ÅÍÍ·èÄê¤ÎÃʳ¬¤Ç¡¢ÏÀÍý¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Î°ìÂа쥨¥ó¥³¡¼¥É¤Î¤·°×¤µ¤Ë¤â¸ÀµÚ¤·¤Æ¤¤¤ë¡£ --¤¿¤À¤·¡¢CHR¤Ë¤Ï3¼ïÎà¤Î¥ë¡¼¥ë¤¬¤¢¤ê¡¢¤³¤ÎÆâ2¤Ä¤ÏLMNtal¤Ç¤â¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¤¬¡¢»Ä¤ê¤ÎPropagation rule¤ÏLMNtal¤Ë¤Ï̵¤¤³µÇ°¤Ç¤¢¤Ã¤¿¡£¤½¤³¤ÇuniqÀ©Ìó¤òÆþ¤ì¤¿¡£¤³¤ì¤ÇÁ´¤Æ¤Î¥ë¡¼¥ë¤â°ìÂаì¤Ç¥¨¥ó¥³¡¼¥É¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£ ---¤¢¤¿¤ê¤¬¼¨¤·Êý¤«¤Ê¤¡¡© **2011-02-02 [#w26e9a3f] ***¸½»þÅÀ¤Ç¤Î½èÍý·Ï¹Ô¿ô¡Ê¥¢¥Ð¥¦¥È¡Ë [#v8bde261] -¾å2¤Ä¤Ï¤³¤ÎÆü¤Ëwc¤Ç·×¬¡¢¥³¥á¥ó¥È¥¢¥¦¥È¤âÆþ¤Ã¤Æ¤¤¤ë --Java½èÍý·Ï¡§38460+19010+2784=60254 --SLIM¡§27708+29285=56993(¥Õ¥¡¥¤¥ë¤ÎƬ¤Î¥³¥á¥ó¥È¤Ï·×4600¹Ô¤¯¤é¤¤) --LaViT¡§30000¤¯¤é¤¤ --UNYO¡§15000¤¯¤é¤¤ **2011-01-28 [#gb52e399] ***ʸ»ú¿ô¤Îº¹ [#v688fc95] -³ÆÎãÂê¤Îʸ»ú¿ô¤ò¿ô¤¨¤Æ¤ß¤¿ |example|atom_cmp|cycle|leq|fibonacci| uf|uf_opt|*ram_simul|h |lmn | 26| 84|241| 157|357| 537| 766| |lmn-mem| 31| 184|645| 549|627| 1112| ̵Íý| |lmn-hl | 18| 60|207| 348|301| 483| 653| |chr | 20| 51|144| 183|266| 345| 612| -- mem¤¬¤¹¤´¤¤¤³¤È¤Ë -- *¥ë¡¼¥ë¤Ïadd,sub,cjump0,cjumpN,halt¤Î¤ß -- *Á´Éô¤Î¥ë¡¼¥ë¤ò´Þ¤á¤ë¤È½ç¤Ë2378, ̵Íý, 2266, 2069. ***¤Á¤Ê¤ß¤Ë [#yb981772] -(¥Ï¥¤¥Ñ¡¼¤Ç¤Ê¤¤)¥°¥é¥Õ <=> °ìÈÌ¥°¥é¥Õ -¥Ï¥¤¥Ñ¡¼¥°¥é¥Õ <=> Ķ¥°¥é¥Õ --¤È¸Æ¤Ö¤é¤·¤¤ **2011-01-27 [#kb0dde60] -½¤ÏÀ°ìöÄó½Ð -JSAI2011¤Ë¿½¹þ¤ß¡¢È¯É½¤Ï¤¿¤Ö¤óÌܹõ¥Ñ¥ï¡¼¤Ë´üÂÔ¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤½¤¦ **2011-01-26 [#h2312eee] ***´Ú¹ñ¤Ë·àŪ¾¡Íø [#pedae3cc] ***tex¤Îɽ¤ÇÇËÀþ¤ò»È¤¨¤ë¤è¤¦¤Ë [#ufb10270] -&ref(arydshln.sty); cc|ccc:rrr| ¤È¤«¤½¤ó¤Ê´¶¤¸¤Ç":"¤¤¤ì¤¿¤È¤³¤¬ÇËÀþ¤Ë **2011-01-25 [#lf757ba7] ***unaryÍÑÈæ³Ó±é»»»Ò"\==" [#n1de5431] -¤òÄɲ䷤Ƥߤ¿ a(X), b(Y) :- X \== Y | . ---------------------------- --guard:L118: spec [3, 7] derefatom [3, 1, 0] isunary [3] derefatom [4, 2, 0] isunary [4] getfunc [5, 3] getfunc [6, 4] neqfunc [5, 6] jump [L103, [0], [1, 2, 3, 4], []] **2011-01-24 [#tc9f4e02] ***ÏÀʸ¤ÇÃæ´ÖÌ¿ÎáÎó¤Î°ìÍ÷¤ò½ñ¤¤¿¤¤¤È¤ ¡Ê½¤ÀµÈÇ¡Ë [#p26c1af9] -Éý¤¬È¾Ê¬¤ËÀßÄꤵ¤ì¤Æ¤¤¤¿¤Î¤Çľ¤·¤Æ¤ß¤¿¡¢Â¾¤Ë¤â¿§¡¹½¤Àµ -thesis.tex¤ËÄɲ乤ëÊý¤Í \newenvironment{instruction}[2]{% \vskip-0.5\baselineskip \vbox{\hbox to 1\textwidth{\hrulefill}} \nobreak \vskip-0.7\baselineskip\nobreak \begin{description} \item[\texttt{\hspace{10pt}#1 \rlap{[\textit{#2}]}}]\hfill\break \rightskip0zw}% {\end{description}\nobreak\vskip-1.0\baselineskip\nobreak \hbox to 1\textwidth{\hrulefill}} ***ÏÀʸ¤ÇÃæ´ÖÌ¿ÎáÎó¤Î°ìÍ÷¤ò½ñ¤¤¿¤¤¤È¤ [#l678d191] -jssst2007¤«¤é·¡¤êµ¯¤³¤·¤Æ¤¤¿ - ¥á¥¤¥ó¤È¤Ê¤ë¥Õ¥¡¥¤¥ë(thesis.tex¤È¤«)¤Î\begin{document}¤è¤ê¤âÁ°¤Ë \newenvironment{instruction}[2]{% \vskip-0.2\baselineskip % \vskip-0.0\baselineskip \vbox{\hbox to0.48\textwidth{\hrulefill}}\nobreak \vskip-0.3\baselineskip\nobreak \begin{description} \item[\texttt{\hspace{-3pt}#1 \rlap{[\textit{#2}]}}]\hfill\break \rightskip0zw}% % {\end{description}\nobreak\vskip-0.7\baselineskip\nobreak {\end{description}\nobreak\vskip-0.5\baselineskip\nobreak \hbox to0.48\textwidth{\hrulefill}} -¤òÆþ¤ì¤ë(¥³¥á¥ó¥È¥¢¥¦¥È¤È¤«¤¤¤é¤Ê¤½¤¦¤Ê¤Î¤â¤½¤Î¤Þ¤Þ¥³¥Ô¥Ú¤·¤Æ¤ë) -Ãæ´ÖÌ¿Îá¤ò½ñ¤¤¿¤¤¥Ú¡¼¥¸¤Ç \begin{instruction}{spec}{formals, locals} % Ì¿ÎáÎó¤Î¼Â¹ÔÃæ¤Ï¥¢¥È¥à¤äËì¤ÏÊÑ¿ôÈÖ¹æ¤Ç¥¢¥¯¥»¥¹¤¹¤ë¤¬¡¤ % ËÜÌ¿Îá¤Ï¡¤ ¡ÎÀ©¸æÌ¿Îá¡Ï ²¾°ú¿ô¤Î¿ô (ËÜÌ¿ÎáÎó¤ËÅϤµ¤ì¤ë¥¢¥È¥à¤äËì¤Î¿ô) ¤ò \textit{formals}¡¤ ËÜÌ¿ÎáÎó¤ÇÊÝ»ý¤¹¤Ù¤¥¢¥È¥à¤äËì¤ÎÁí¿ô¤ò \textit{locals} ¤«¤é¼õ¤±¼è¤Ã¤Æ¡¤ ¸å¼Ô¤òÊÝ»ý¤Ç¤¤ëÂ礤µ¤ÎÊÑ¿ô¥Ù¥¯¥¿¤ò³ÎÊݤ¹¤ë¡¥ \end{instruction} -¤Ê´¶¤¸¤Çµ½Ò¤¹¤ì¤Ð¤ª£ë **2011-01-20 [#b48f85e0] *** hyperlink : ground¥Á¥§¥Ã¥¯¤Ç¤Î¥Ð¥° [#p0a5b31e] - ºòÆüľ¤·¤¿¤È»×¤Ã¤¿¤±¤É¡¢Ä¾¤Ã¤Æ¤¤¤Ê¤«¤Ã¤¿ --¸¶°ø¤ÏÂçÂÎÇÄ°®¤·¤¿¤±¤É¡¢¤É¤¦Ä¾¤¹¤«¤Ï¤·¤Ã¤«¤ê¹Í¤¨¤Ê¤¤¤È¤¤¤±¤Ê¤¤¤«¤â ---½¤ÏÀ¸å¡© **2011-01-19¤½¤Î2 [#t6037b49] -memo for gocho -before /* ground¤Ï¤Ä¤Ê¤¬¤Ã¤¿¥°¥é¥Õ¤Ê¤Î¤Ç1¤Ä¤Îº¬¤«¤é¤À¤±¤¿¤É¤ì¤Ð¤è¤¤ */ { LinkObj l = (LinkObj)vec_get(srcvec, 0); vec_push(unsearched_link_stack, (LmnWord)LinkObj_make(l->ap, l->pos)); } -after /* ground¤Ï¤Ä¤Ê¤¬¤Ã¤¿¥°¥é¥Õ¤Ê¤Î¤Ç1¤Ä¤Îº¬¤«¤é¤À¤±¤¿¤É¤ì¤Ð¤è¤¤ */ { LinkObj l = (LinkObj)vec_get(srcvec, 0); if (LMN_ATTR_IS_EX(l->pos)) { hashset_add(found_ground_symbol_atoms, l->ap); ++count_of_ground_atoms; } else vec_push(unsearched_link_stack, (LmnWord)LinkObj_make(l->ap, l->pos)); } **2011-01-19 [#vadd00c3] ***¿·»ÅÍͤÎ[[¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯»ÅÍͤޤȤá>http://www.ueda.info.waseda.ac.jp/lmntal/local/pukiwiki.php?%A5%CF%A5%A4%A5%D1%A1%BC%A5%EA%A5%F3%A5%AF%BB%C5%CD%CD%A4%DE%A4%C8%A4%E1]]¡Ê¸À¸ìÈÉ¥í¡¼¥«¥ë¡Ë [#k43b9e81] -¤Þ¤È¤á¤Æ¤ß¤¿ ***Java½èÍý·Ï¸ø³«¤Î¼ê³¤ [#t4cd1593] -[[http://www.ueda.info.waseda.ac.jp/lmntal/local/pukiwiki.php?ant]] **2011-01-16 [#dfaa43f8] ***hyperlink : commit! [#se12695f] -¤·¤Æ¤·¤Þ¤Ã¤¿¡£Ã×̿Ū¤Ê¥Ð¥°¤¬¤Ê¤¤¤³¤È¤ò¤ß¤ó¤Ê¤Çµ§¤í¤¦¡£ -Äɲä·¤¿¤â¤Î --hyperlink --hyperlink¤òÍøÍѤ·¤¿¥Þ¥Ã¥Á¥ó¥°ºÇŬ²½µ¡Ç½¡ÊfindproccxtÌ¿Îá¤Û¤«¡Ë --callback´Ø¿ôgettime¤È¡¢SLIM¥â¥¸¥å¡¼¥ëtime.lmn ***slim419¤Çedfs_t*.il¤¬segmentation fault [#j11f67de] -%%gocho¤¬Ä¾¤·¤Æ¤ë¥Ð¥°¤Ã¤Æ¤³¤ì¤«¤Ê¡©%% --¸µ¡¹--delta-mem¤ÇÆ°¤«¤Ê¤¤ÎãÂê¤À¤Ã¤¿ ***½¤ÏÀ¥¿¥¤¥È¥ë [#u3366a25] -¿ì¤Ã¤¿Àª¤¤¤Ç¤«¤Ã¤³¤è¤µ¤²¤Ê¤Î¹Í¤¨¤Æ¤ß¤ë --%%ÊÂ¹Ô¥×¥í¥°¥é¥ß¥ó¥°¸À¸ìLMNtal¤Ë¤ª¤±¤ëLMNtal¥°¥é¥Õ¤Î¥Ï¥¤¥Ñ¡¼¥°¥é¥Õ¤Ø¤Î³ÈÄ¥%% --LMNtalÏ¢¸Æ¤·¤Æ¤ë´¶¤¸¤Ê¤Î¤ÇµÑ²¼ **2011-01-15 [#ta1b22e7] ***[[¤¹¤Ã¤¤êCHR>http://www.ueda.info.waseda.ac.jp/~seiji/trychr]] [#j7e43cf4] -¥ê¥Ë¥å¡¼¥¢¥ë¡£²¿µ¤¤Ë¥µ¥¤¥È̾¤Ç¸¡º÷¤¹¤ë¤È¾å°Ì¤Ë¡£ **2011-01-15 [#s1081fce] ***hyperlink : ¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯¤ÎID¤ò¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¤Ê¿ôÃÍ¤Ë [#m05e86bd] - ''hyperlink¤ËÃͤòÂåÆþ¤¹¤ëÏäǤϤʤ¤'' - hyperlinkÌÚ¤«¤éhyperlink¥ª¥Ö¥¸¥§¥¯¥È¤òºï½ü¤¹¤ëºÝ¡¢ÌÚ¤ÎÃæ¤Çºï½üÂоݤΥª¥Ö¥¸¥§¥¯¥È¤òÍդ˸þ¤«¤Ã¤Æ¥¹¥ï¥Ã¥×¤·¤Æ¤¤¤¡¢ÍÕ¤ËÅþ㤷¤¿»þÅÀ¤Çºï½ü¤¹¤ë¤è¤¦¤ÊºÇŬ²½(»Ò¤ò¤¿¤¯¤µ¤ó»ý¤Ã¤¿¤Þ¤Þºï½ü¤¹¤ë¤È¿§¡¹½èÍý¤¬¤«¤«¤ë)¤òÆþ¤ì¤¿¤¿¤á¡¢½¸¹ç¤òÂåɽ¤¹¤ë(root¤Î)ID¤¬¸ÇÄꤵ¤ì¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤Æ¤¤¤¿ - ¤³¤ì¤À¤ÈuniqÀ©Ìó¤ÇÍúÎò¤ò´ÉÍý¤¹¤ëºÝ¤Ë¶ì¤·¤¤ -- ¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¤ÊÈÖ¹æ¤ò¤Õ¤ê¡¢uniq¤ÎÍúÎò¤ª¤è¤Óɸ½à½ÐÎÏ»þ¤Ë¤Ï¤½¤ì¤òID¤È¤¹¤ë -- hyperlink¤Îuniq¤Ø¤ÎÂбþ¡Ü½ÐÎÏ»þ¤ÎID¤Îû½Ì²½¤¬²Äǽ¤Ë -½ÐÎÏbefore tmp. tmp :- new($x) | a($x), b($x). *---> a(!1ab5038). b(!1ab5068). @5. == HyperLink ============================================================= [hl_ID] [parent] [linked with] [num] [direct children ( inside info )] 1ab5038 root a 2 1ab5068. 1ab5068 1 b 2 ================================================ 1 group, 2 elements ==== -½ÐÎÏafter tmp. tmp :- new($x) | a($x), b($x). *---> a(!1). b(!2). @5. == HyperLink ============================================================= [hl_ID] [parent] [linked with] [num] [direct children ( inside info )] 1 root a 2 2. 2 1 b 2 ================================================ 1 group, 2 elements ==== - --show-hl¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¤Ê¤¤Ä̾ï¤Î½ÐÎÏ a(!1). b(!1). @5. **2011-01-14 [#h20ab9ee] ***hyperlink : ¥³¥ß¥Ã¥Èºî¶ÈÃæ [#jf029420] - callback´Ø¿ô¤ò¥â¥¸¥å¡¼¥ë¤Ç¸Æ¤Ó½Ð¤»¤ëtime.lmn¤âÄɲÃͽÄê //**2011-01-11 [#c23827cd] //*** ºÆ¸½À¤Î¤¢¤ëµ¿»÷Íð¿ôinteger_rand_lcg¡Ê¤Ègettime¡Ë [#ed001670] //- Àþ·Á¹çƱˡ¤Ë¤è¤Ã¤Æµ¿»÷Íð¿ô¤òÀ¸À®¤¹¤ëcallback´Ø¿ô¤ò½ñ¤¤¤Æ¤ß¤¿ // i(20). list = []. // i(I), list = H :- I>0, I1=I-1 | i(I1), list = [integer.rnd_lcg | H]. // *--> list([8,4,5,2,0,6,7,9,1,3,8,4,5,2,0,6,7,9,1,3]). //-- °ìÅٴؿô¤¬¸Æ¤Ð¤ì¤ë¤´¤È¤Ë¡¢0 ¤«¤é 9 ¤Î´Ö¤Ç¤ÎÍð¿ô¤ò°ì¤ÄÊÖ¤¹ //-- ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¸«¤ì¤Ðʬ¤«¤ë¤¬¡¢¸·Ì©¤ÊÀþ·Á¹çƱˡ¤Ç¤Ï¤Ê¤¤¡¢¤±¤É½½Ê¬¤Ç¤·¤ç¤¦//-integer_rand_lcg¤Ègettime¤òmodule¤Ç¤â»È¤¨¤ë¤è¤¦¤Ë¤·¤¿ //--hyperlink¤Î¥³¥ß¥Ã¥È»þ¤Ë°ì½ï¤Ë¥³¥ß¥Ã¥È¤·¤Á¤ã¤ª¤¦¤«¤Ê **2011-01-10 ¤½¤Î2 [#p531d49c] *** hyperlink : ¿·¡¹»ÅÍͤǤμ¸³ ram_simul_many [#i9dab134] |N |5k |10k |20k |40k |80k |O |h |slim int |1.59|3.16|6.33|12.65| 35.71| | |slim hlink old|0.15|0.28|0.55| 1.10|IDover| | |slim hlink new|0.18|0.36|0.72| 1.43| 2.83| | |chr int opt |0.21|0.51|1.26| 3.61| 8.51| | *** hyperlink : ¿·¡¹»ÅÍͤǤμ¸³ fibonacci_topdown [#n7f4e368] |N | 5k| 8k| 10k| 16k| 20k| 32k| 64k|128k|O|h |slim hlink old|0.08|0.14|0.18|0.28|0.37|0.56|IDover| |N| |slim hlink new|0.08|0.13|0.16|0.26|0.32|0.51| 1.02|2.06|N| |chr int opt |0.03|0.04|0.08|0.10|0.17|0.20| 0.46|1.11|N| //***hyperlink¡§¿·¡¹»ÅÍͤǤμ¸³ cycle_backedge3 [#b8d8af39] //-3ĺÅÀ¤«¤é¤Ê¤ëÊÄÏ©¤òõº÷¤¹¤ë(propagation, uniq̵¤·) //- mem all¤Ï¥°¥é¥ÕÀ¸À®¤Î»þ´Ö¤â´Þ¤á¤¿Áí¼Â¹Ô»þ´Ö // edge(X, Y), edge(Y, Z), edge(Z, X) <=> cycle(X, Y, Z). //|N |100 ||500 |1000 |2k |O |h //|slim int |243.43|| | | | | //|slim mem | 0.02|| 0.34|1.43 | | | //|( mem all) | 0.22||24.65|197.42| | | //|slim hlink old| 0.04|| 0.73| 2.63| 5.90| | //|slim hlink new| 0.07|| 1.39| 5.60|13.95| | //|chr int opt | || 1.25| 2.54| 5.05| | ***hyperlink¡§¿·¡¹»ÅÍͤǤμ¸³ atomcmp_x3 [#xc17dd11] - hlink¤ÏÁ´¤Æ--hl-opt¤Ç¬¤ë¤³¤È¤Ë¤¹¤ë(./hltest_new/) - lmntal -O3 --slimcode --hl-opt atomcmp.lmn | slim --hl - |N |8k*3 |16k*3 |32k*3 |64k*3 |128k*3|256k*3|O |h |slim int |38.94|156.27|631.03|--- |--- |--- |N^2| |slim mem | 0.03| 0.06| 0.12| 0.24| 0.48| 0.95|N | |slim hlink old| 0.02| 0.03| 0.06| 0.12|IDover| |N | |slim hlink new| 0.06| 0.11| 0.22| 0.44| 0.88| 1.79|N | |chr opt | 0.11| 0.21| 0.47| 0.96| 1.84| 3.67|N | **2011-01-10 [#n0abee8a] *** hyperlink : Ãæ´ÖÌ¿ÎáÎó¤ÎʤÓÂؤ¨ [#j4755ff3] - ¥³¥ó¥Ñ¥¤¥é¤ò¼ã´³Êѹ¹ -- newhlink, makehlink¤Èuniq¤ÎʤÓÂؤ¨¤¬¤¦¤Þ¤¯¤¤¤Ã¤Æ¤¤¤Ê¤«¤Ã¤¿¤Î¤ò½¤Àµ¡¢¥³¥ß¥Ã¥È -- ¤Ä¤¤¤Ç¤Ë¥³¡¼¥É¤ÎÀ°Íý¤â¤Á¤ç¤Ã¤È¤ä¤Ã¤¿ **2011-01-08 [#a4023296] ***·×»»Î̤¬°¤¤·ï [#nb8eb79a] -¸¶°ø¤¬ÇÄ°®¤Ç¤¤¿ --¤Ê¤¼ËìÆâ¤Î¡ª¥¢¥È¥à¤òÁ´¤Æ¤µ¤é¤¦¤è¤¦¤Ë¤·¤Æ¤¤¤¿¤Î¤«¡¢Íý²ò¤Ë¶ì¤·¤à *** --enable-gprof(¤È--disable-tcmalloc)¤Çallocs/frees¤Î¿ô¤¬¹ç¤ï¤Ê¤¤ [#x2936051] lmntal --slimcode -e "a." | valgrind src/slim - -valgrind¤Ç¸«¤ë¤Èfrees¤¬1¤ê¤Ê¤¤ --²¶¤Î´Ä¶¤À¤±¤«¤Ê¡© ---2¤Ä¤Î¥Ç¥Ð¥Ã¥¬¤òƱ»þ¤Ë»È¤¦²¶¤¬°¤¤ 2011-01-14 **2011-01-07 [#s904e67a] ***fibonacci¤Èram¤ò¬Äê [#ve536dc2] -¥ª¡¼¥À¡¼¤¬°¤¤... -- --p3¤Ç¥Á¥§¥Ã¥¯¡¢¥ë¡¼¥ë¤ÎŬÍÑ/»î¹Ô/¥Ð¥Ã¥¯¥È¥é¥Ã¥¯²ó¿ô¤Ïµì¼ÂÁõ¤è¤ê°¤¤¥ë¡¼¥ë¤Ï̵¤¤ --ÆâÉô¼ÂÁõ¤ÎÌäÂê¡¢¸«Ä¾¤·Ãæ -fibonacci_topdown(unify) |N | 4k| 8k| 16k| 32k||O |h |slim hlink new|0.13|0.41|1.90|14.60||? | -ram_simul |N | 5k| 10k| 20k||O |h |slim hlink new|0.66|3.84|22.60||? | **2011-01-04 [#k102ad93] ***hyperlink : ½ê°Ëì¤Ø¤Î¥Ý¥¤¥ó¥¿ [#iab55978] -»ý¤¿¤»¤Æ¤ª¤±¤Ð¡¢hyperlink¤«¤é¤Îfindatom¤ò¤â¤¦¾¯¤·¸úΨ²½¤Ç¤¤ëµ¤¤¬¤¹¤ë ***hyperlink : ¥æ¡¼¥¶ID¤ÎÄɲø¡Æ¤ [#oc8204c8] -µ¡Ç½¤È¤·¤Æ¤ÏÍÑ°Õ¤·¤Æ¤ª¤¤¿¤¤¡£¤¬¥Ð¥°¤¬¼è¤ì¤Æ¤«¤é... -- CHR¤Ç¤ÏƱ¤¸Ãͤò«Çû¤µ¤ì¤¿ÏÀÍýÊÑ¿ô¤¬À¸À®¤µ¤ì¤¿¾ì¹ç¤Ï¡¢À¸À®¤µ¤ì¤¿»þÅÀ¤ÇƱ¤¸½¸¹ç¤Ë°¤¹¤ë X is 1. hoge <=> Y is 1, v(Y). -- ¡Êɬ¿Ü¤Ç¤Ï¤Ê¤¤¤¬¡Ëhyperlink¤Ë¤â¤³¤¦¤¤¤¦µ¡Ç½¤¬¤Ê¤¤¤È¡¢¥×¥í¥°¥é¥à¤¬ÈÑ»¨¤Ë¤Ê¤ë --- Èó¸úΨ¤Ê¥Þ¥Ã¥Á¥ó¥°¤òÀ¸¤Þ¤Ê¤¤¤è¤¦¤Ë½ñ¤¯¤¿¤á¤Ë¡¢¿§¡¹¤È¶ìÏ«¤·¤½¤¦ ¥¤¥á¡¼¥¸¡§ hoge :- make($x, 123) | h($x). *---> h(!123). (ID123¤ò»ý¤Ä¾¤Îhyperlink¤Î½¸¹ç¤ÈÊ»¹ç¤µ¤ì¤¿¾õÂÖ¤ÇÀ¸À®¤µ¤ì¤ë) **2010-12-28 [#vdf04a81] ***hyperlink : ¥Ï¥Ã¥·¥åɽ¤Ë¤è¤ë´ÉÍý¤òÇÑ»ß [#l3e25c5a] -¿·¤·¤¤Â°ÀLMN_HL_ATTR¤Î¥Ð¥°¤¬¤«¤Ê¤ê¼è¤ì¤Æ¤¤¿µ¤¤¬¤¹¤ë¤Î¤Ç¡¢¥Ï¥Ã¥·¥åɽ¤Çatom pointer => hyperlink object¤Î»²¾È´Ø·¸¤ò´ÉÍý¤·¤Æ¤¤¤¿¤Î¤òÇÑ»ß -"!"¥¢¥È¥à¤ÎÂè2°ú¿ô¤Ëhyperlink object¤Ø¤Î¥Ý¥¤¥ó¥¿¤òľÀÜËä¤á¹þ¤à --ŬÅö¤Ë¬¤Ã¤Æ¤ß¤¿ |N |8k*3 |16k*3 |32k*3 |64k*3 |128k*3|256k*3|O |h |slim hlink new(ÇÑ»ßÁ°)| 0.06| 0.12| 0.27| 0.57| 1.16| 2.35|N | |slim hlink new(Çѻ߸å)| 0.04| 0.08| 0.17| 0.36| 0.74| 1.50|N | **2010-12-22 [#rd3e5b67] ***ºÇû"·ÐÏ©"ÌäÂê [#qde1b7c2] -ºÇûµ÷Î¥¤òµá¤á¤ë¥×¥í¥°¥é¥à¤Ï¿§¡¹¤¢¤ë¤±¤É¡¢uniq»È¤¨¤Ð¤¿¤¤¤¬¤¤1,2¥ë¡¼¥ë¤Ç½ñ¤±¤ë -¤¿¤ÀºÇû"·ÐÏ©"¤È¤Ê¤ë¤È2¹Ô¤Ç½ñ¤±¤ë¤Î¤«¤Á¤ç¤Ã¤È¼«¿®Ìµ¤«¤Ã¤¿¤±¤É¡¢¤Ê¤ó¤È¤«½ñ¤±¤¿ --&ref(./shortest.lmn,shortest.lmn); **2010-12-21 [#j4fad4c0] ***hyperlink¡§¿·»ÅÍͤǤμ¸³ cycle_backedge5 [#b8d8af39] -3ĺÅÀ¤«¤é¤Ê¤ëÊÄÏ©¤òõº÷¤¹¤ë(propagation, uniq̵¤·) edge(X, Y), edge(Y, Z), edge(Z, X) <=> cycle(X, Y, Z). |N |100 ||500 |1000 |2k |O |h |slim int |243.43|| | | | | |slim mem | 0.02|| 0.34|1.43 | | | |( mem all) | 0.22||24.65|197.42| | | |slim hlink old| 0.04|| 0.73| 2.63| 5.90| | |slim hlink new| 0.07|| 1.50| 6.15|13.95| | |chr int opt | || 1.25| 2.54| 5.05| | --·×¬ÅÓÃæ **2010-12-18 [#ice96280] ***hyperlink¡§¿·»ÅÍͤǤμ¸³ atomcmp_x3 [#xc17dd11] - hlink¤ÏÁ´¤Æ--hl-opt¤Ç¬¤ë¤³¤È¤Ë¤¹¤ë(./hltest_new/) - lmntal -O3 --slimcode --hl-opt atomcmp.lmn | slim --hl - |N |8k*3 |16k*3 |32k*3 |64k*3 |128k*3|256k*3|O |h |slim int |38.94|156.27|631.03|--- |--- |--- |N^2| |slim mem | 0.03| 0.06| 0.12| 0.24| 0.48| 0.95|N | |slim hlink old| 0.02| 0.03| 0.06| 0.12|IDover|IDover|N | |slim hlink new| 0.06| 0.12| 0.27| 0.57| 1.16| 2.35|N | |chr opt | 0.11| 0.21| 0.47| 0.96| 1.84| 3.67|N | -- hyperlink ¤ÎID¤Î¾å¸Â¤¬Ìµ¤¯¤Ê¤Ã¤¿¤Î¤¬Â礤¤ ***¥«¥é¡¼Âç¼Åµ [#r211acbd] -[[¸¶¿§>http://www.colordic.org/]] -[[¥Ñ¥¹¥Æ¥ë>http://www.colordic.org/p/]] **2010-12-14 [#i31cddb6] ***ubuntu9.10¤Ëopenoffice3.2 [#kb30fc40] -[[¤³¤³>http://user.services.openoffice.org/ja/forum/viewtopic.php?f=6&t=586]] -¥¨¥é¡¼ ¥¹¥Æ¡¼¥¿¥¹¥Ç¡¼¥¿¥Ù¡¼¥¹¥¨¥ê¥¢¤¬ÊÌ¤Î¥×¥í¥»¥¹¤Ë¤è¤Ã¤Æ¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹ --synaptic¤¬³«¤¤¤Æ¤¤¤ë¤È½Ð¤ë **2010-12-13 [#n5bf4b7b] *** ²òÊü˺¤ì¡© [#fff188bd] -¸ø³«ÈÇslim¤Ç°Ê²¼¤Î¤è¤¦¤Ë¥Ç¡¼¥¿·¿¤À¤±¤Îground·¿Èæ³Ó¤ò¤¹¤ë¤È¥á¥â¥ê¥ê¡¼¥¯¤¬¤¢¤ë¤È¸À¤ï¤ì¤ë¡¢²¶¤Î´Ä¶¤Î¤»¤¤¡© a(1), a(1). a(X), a(Y) :- X = Y | ok. --eqground/neqground¤Ç¤Îsrcvec, dstvec¤Î²òÊü¤¬rev400°Ê¹ß̵¤¯¤Ê¤Ã¤Æ¤ë --Éü³è¤µ¤»¤ë¤È¤Á¤ã¤ó¤È²òÊü¤µ¤ì¤Æ¤ë¤ß¤¿¤¤¤À¤±¤É¡¢Â¾¤Î½èÍý¤ËºîÍѤ·¤Æ¤Ê¤¤¤À¤í¤¦¤« ---2010-12-14 ½¤ÀµÁ°/½¤Àµ¸å¤Çº¹°Û¤¬Ìµ¤«¤Ã¤¿¡Êbenchmarkset¤ÎÎãÂê¤ËÂФ·¤Æ--nd, --mem-enc¼Â¹Ô¤Ç¾õÂÖ¿ô¤òÈæ³Ó¡Ë¤Î¤Ç¥³¥ß¥Ã¥È **2010-12-12 [#i2967981] *** hyperlink Èæ³Ó·Ïmemo [#g60c1cb8] -isground -eq/neqground -eq/neqfunc -samefunc --lmn_eq_func *** memo[#h7942c2c] -wine : 282MB -wine-dev : 18MB -QuickTimeInstaller.exe : 36.4 -iTunesSetup.exe : 78.1 **2010-12-10 [#c73da7ff] ***hyperlink : ¿·»ÅÍͤǤμ¹Իþ´Ö [#g287c412] -¥¢¥È¥àÀ¸À®&ºï½ü --10000¸Ä¤Îatom(hyperlink)¤òN²óÀ¸À®->ºï½ü --¤É¤Á¤é¤âtime optimized slim |N | 100| 200| 400| 800|h |symbol atom|1.91|3.72| 7.40|14.75| |hyperlink |3.78|7.65|15.31|31.87| -new_and_delete.lmn start(10000, 100). init @@ start(M, I) :- int(M) | s(M, I, M). return @@ s(0, I, M) :- I > 0, I1 = I-1, int(M) | s(M, I1, M). /* atom */ new @@ s(I, J, M) :- I > 0, I1 = I-1 | s(I1, J, M), a(b). delete @@ a($a) :- unary($a) | . /* hyperlink */ //new @@ s(I, J, M) :- I > 0, I1 = I-1, new($a) | s(I1, J, M), a($a). //delete @@ a($a) :- hlink($a) | . -hlinkÀ©Ìó --10000*N²ó¤Îhlink·¿¸¡ºº¤ò¹Ô¤¦ |N | 100| 200| 400| 800|h |old hyperlink|1.17|2.36|4.74| 9.52| |new hyperlink|1.42|2.82|5.62|11.42| --µì»ÅÍÍ¡§hlink·¿¸¡ºº¤Ï¥Õ¥¡¥ó¥¯¥¿ID¤ÎÈæ³Ó --¿·»ÅÍÍ¡§hyperlink°À¤òÍøÍѤ·¤Æ·¿¸¡ºº¡¢¿·»ÅÍͤè¤ê³Ú¤À¤¬¥ª¥Ö¥¸¥§¥¯¥È¤Îºï½ü->À¸À®¤¬Ëè²ó¹Ô¤ï¤ì¤ë¤¿¤á¤Ëµì»ÅÍͤè¤êÃÙ¤¤¤Î¤«¤â -ishlink.lmn i(10000, 800). init @@ i(I, J) :- uniq, int(I), new($x) | i(I, J, I), a($x). return @@ i(0, J, M) :- J > 0, J1 = J-1, int(M) | i(M, J1, M). hlink @@ i(I, J, M), a($x) :- I > 0, I1 = I-1, hlink($x) | i(I1, J, M), a($x). **2010-12-07 [#z99bc25e] ***¥ê¥â¡¼¥ÈÀßÄê¥á¥â [#i12ffcaa] -¥³¥ó¥Ô¥å¡¼¥¿¡§localhost:13389 -¥×¥í¥È¥³¥ë¡§RDPv5 -¥æ¡¼¥¶Ì¾¤È¥Ñ¥¹¥ï¡¼¥É -(¥Þ¥·¥ó¥¢¥É¥ì¥¹¡§00:22:15:7d:86:dc) **2010-12-06 [#a0d82910] ***LMN_ATTR_IS_DATA_WITHOUT_EX [#m93aef1f] -ex¤Ïextended¡£extra, expanded¤Ç¤â¤Þ¤¡°ÕÌ£¤ÏÄ̤¸¤ë¡© **2010-12-03 [#kfa39533] ***¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯Â°À [#l2921ed1] -¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯¤Ï¥Õ¥¡¥ó¥¯¥¿!/1¤Î¥¢¥È¥à --¤À¤±¤É°À¤È¤·¤Æ¤Ï¥Ç¡¼¥¿¥¢¥È¥à¤Î°ì¼ï --¤À¤±¤É¥·¥ó¥Ü¥ë¥¢¥È¥à¤È¤·¤Æ¡¢Ëì¤Ø¤ÎÅÐÏ¿¡¢ºï½üÅù¡¹¤ò¹Ô¤¦ ---callback atom¤ÈƱ¤¸¤è¤¦¤Ê ---¥á¥ê¥Ã¥È¤È¤·¤Æ¤Ï·¿¸¡ºº¤òºÇŬ²½¤Ç¤¤ë ---¥Ç¥á¥ê¥Ã¥È¤È¤·¤Æ¤Ï¼ÂÁõ¤¬ÌÌÅÝ **2010-11-26 [#ke0483e5] ***hyperlink : ¥¢¥È¥à¥Ý¥¤¥ó¥¿¤òID¤È¤¹¤ë [#m5f5ba11] -¤³¤ì¤Þ¤Ç¤Î¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯¥¢¥È¥à --¥Õ¥¡¥ó¥¯¥¿¡§!1, !2, ...(¼Â¹ÔÃæ¤Ë¿·¤¿¤Ê¥Õ¥¡¥ó¥¯¥¿¤òÀ¸À®¤·¤Æ¤¤¤¿) --´ÉÍý(hlink ID)¡§ 1, 2, ... --- !1 <-> 1, !2 <-> 2, ... --Ä̾ï¤Î¡Ê¥·¥ó¥Ü¥ë¡Ë¥¢¥È¥à -¿·¤·¤¤¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯¥¢¥È¥à --¥Õ¥¡¥ó¥¯¥¿¡§Í½Ìó¸ì'!'¤ÇÅý°ì (¿·¤¿¤Ê¥Õ¥¡¥ó¥¯¥¿À¸À®¤Ï̵¤¤) --´ÉÍý(hlink ID)¡§'!'¥¢¥È¥à¤Î¥Ý¥¤¥ó¥¿ --- atom pointer <-> hlink object, ... --¥Ç¡¼¥¿¥¢¥È¥à°·¤¤¡Êhyperlink°À¤òÄɲá¢hlink¤Ç¤¢¤ë/¤Ê¤¤¤ÎȽÄ꤬³Ú¤Ë¡Ë tmp. tmp :- new($x) | a($x). *---> a(!). (½ÐÎÏ¤Ï a(!0x1ab5038)¤«, ŬÅö¤ÊÃͤòÉÕ¤±¤Æa(!1)¤È¤«) -INSTR_COPYATOM --¤³¤ì¤Þ¤Ç¤ÏƱ¤¸ID¤ò»ý¤Ählink¤ÏÊ£¿ô¸ÄÀ¸À®²Äǽ ---¥Ý¥¤¥ó¥¿¤Ë¤¹¤ë¤ÈID¤Ï¥æ¥Ë¡¼¥¯ --Ê£À½¤·¤¿¤é¥ª¥ê¥¸¥Ê¥ë¤ÈÊ»¹ç¤¹¤ë tmp. tmp :- new($x) | a($x), b($x). *---> a(!0x1ab5038). b(!0x1ab5068). @5. == HyperLink ============================================= [hl_ID] [parent] [elem] [rank (direct child)] Name ---------------------------------------------------- 0x1ab5038 root --- 1(0x1ab5068) 0x1ab5068 0x1ab5038 --- 0 ========================================================== **2010-11-24 [#ef1cfe00] ***¸ÍÀîÀèÀ¸¤Î¥Ç¥£¥¸¥¿¥ë²óÏ©Àß·×(¤´¤Æ¤Õ¤è¤ê) [#v1c49927] -²óÏ©¤ÎÀß·× ¡ß ¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯ --Íî¤ÁÃ夤¤¿¤éÄ´¤Ù¤Æ¤ß¤ë ***hyperlink : »ÅÍÍÊѹ¹ [#g71546e0] -¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¤ÊID¤Ç´ÉÍý¤¹¤ë¤è¤ê¡¢¥¢¥È¥à¤Î¥Ý¥¤¥ó¥¿¤Ç¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯¤ò´ÉÍý¤¹¤ëÊý¤¬²¿¤«¤ÈÅԹ礬Îɤ¤¤¿¤á **2010-11-23 [#wf54aa25] ***boolean.lmn¤Î¥³¥ó¥Ñ¥¤¥ë [#b488c708] -½¤ÀµÈǤò°ìºòÆü¥³¥ß¥Ã¥È¤·¤¿¤¬¡¢¤É¤¦¤ä¤é¤Á¤ã¤ó¤ÈÆ°¤¤¤Æ¤¤¤ë¤ß¤¿¤¤ -²¶¤¬¤è¤¯¸«¤Æ¤¤¤¿boolean.lmn¤Î¥³¥ó¥Ñ¥¤¥ë¥¨¥é¡¼¤Ï¡¢Ã±¤Ë¥Î¡¼¥Ñ¥½¤Ç´Ö°ã¤Ã¤¿¥Ñ¥¹¤òLMNTAL_HOME¤Ë»ØÄꤷ¤Æ¤¤¤¿¤«¤é½Ð¤Æ¤¤Æ¤¤¤¿¤â¤Î¤À¤Ã¤¿¡¢±ªïè¤Ê¤ó¤Æ¥ì¥Ù¥ë¤¸¤ã¤Ê¤¤ **2010-11-22 [#p68a4296] ***¥Ç¥Õ¥©¥ë¥È¥»¥Ã¥·¥ç¥ó¤ÎÊѹ¹ [#xad3b9a7] - netbook edition¤òÆþ¤ì¤ë¤È¡¢¥í¥°¥¤¥ó»þ¤ËdesktopÈǤâÁªÂò¤Ç¤¤ë¤±¤É¡¢¥Ç¥Õ¥©¥ë¥È¥»¥Ã¥·¥ç¥ó¤òÊѹ¹¤·¤¿¤±¤ì¤Ð¡¢¥·¥¹¥Æ¥à´ÉÍý¢ª¥í¥°¥¤¥ó²èÌ̤ÎÀßÄê ***ÆüËܸìÆþÎϤ¬½ÐÍè¤Ê¤¤ [#y5cc350c] -¥·¥¹¥Æ¥à¢ªÀßÄꢪ¥¡¼¥Ü¡¼¥É¡¦¥¤¥ó¥×¥Ã¥È¥á¥½¥Ã¥É¤«¤éAuthy¤òÄɲà **2010-11-20 [#af04f1ac] *** Xp - ubuntu¥Ç¥å¥¢¥ë¥Ö¡¼¥È´ØÏ¢ [#y14fdd3c] -wubi¤Ç¥¤¥ó¥¹¥È¡¼¥ë¼ºÇÔ --permission denied ¤È¤Ê¤Ã¤Ælog¤ò»²¾È¤¹¤ë¤è¤¦¤Ë¸À¤ï¤ì¤ë --iso¥Õ¥¡¥¤¥ë¤Î¥À¥¦¥ó¥í¡¼¥É¤Ç½ªÎ»¤·¤Æ¤¤¤¿¤é¡¢[[¤³¤³:http://www.ubuntulinux.jp/News/ubuntu1004-desktop-ja-remix-20100512]]¤«¤éiso¤ò¥À¥¦¥ó¥í¡¼¥É --Deamon tools lite¤Çiso¤ò¥Þ¥¦¥ó¥È¤·¤Æ°ìöubuntu¤ò¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë --ºÆ¤Óiso¤«¤é¥¤¥ó¥¹¥È¡¼¥ë³«»Ï -´ûÄê¤Îµ¯Æ°OS¤òÊѹ¹¤¹¤ë --Xp -> ¥³¥ó¥Ñ¥Í -> ¥·¥¹¥Æ¥à -> ¾ÜºÙÀßÄê -> µ¯Æ°¤È²óÉü ¤«¤éÊѹ¹ *** boolean.lmn¤¬¥³¥ó¥Ñ¥¤¥ë¤Ç¤¤Ê¤«¤Ã¤¿¥Ð¥° [#cc5791de] -²¶¤Ç¤·¤¿...½¤ÀµÈǤò¥³¥ß¥Ã¥È¤·¤Þ¤·¤¿¤¬¡¢¥Á¥§¥Ã¥¯¤Ç¤¤Æ¤Ê¤¤¤Î¤Ç¤Á¤ã¤ó¤Èľ¤Ã¤Æ¤ë¤«¤É¤¦¤« **2010-11-19 [#le08f0fe] ***ubuntu¤ÇSLIM¤¬Æ°¤«¤Ê¤¯¤Ê¤Ã¤¿·ï²ò·è [#i6e01716] -iwataso¤¬²ò·èË¡¤ò¤Ê¤ó¤È¤«»×¤¤½Ð¤·¤Æ¤¯¤ì¤¿¤ª¤«¤²¤ÇÉü³è¡ª -make install ¤Ç /usr/local/share/¤Ë½ÐÍè¤ëslim¤¬°¤«¤Ã¤¿¡© --''slim¤È¤¤¤¦Ì¾Á°¤òÊѹ¹¤¹¤ì¤Ð''Àµ¾ï¤ËÆ°¤¯¤è¤¦¤Ë¤Ê¤Ã¤¿ --¸¶°ø¤Ï²¿¤Ê¤ó¤À¤í¤¦¡© ***Windows XP:;·×¤Ê¥¹¥¿¡¼¥È¥¢¥Ã¥×¥×¥í¥°¥é¥à¤ò²ò½ü [#d168e7a2] -[[»²¹Í:http://www.atmarkit.co.jp/fwin2k/win2ktips/180disabl_autorun/disabl_autorun.html]] **2010-11-18 [#b7bc1261] ***ubuntu¤ÇSLIM¤¬µÞ¤ËÆ°¤«¤Ê¤¯¤Ê¤Ã¤¿·ï [#xd1399bd] -°Ê²¼¤ò¿§¡¹»î¤·¤¿ ***wubi [#bc3ba012] -ÄɲäÇubuntu¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤Ï½ÐÍè¤Ê¤½¤¦¡¢¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë¤¬É¬ÍפȸÀ¤ï¤ì¤ë ***¤â¤¦°ìÂæ¤ÎPC¤Ëubuntu¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤ÆÈæ³Ó¤·¤Æ¤ß¤¿ [#ya73af4a] -configure¤ÎÆâÍƤò¸ß¤¤¤ËÈæ³Ó¤·¤Æ¤ß¤¿ --mawk¤Ègawk¤È¤¤¤¦¥½¥Õ¥È¤Î°ã¤¤¤¬¤¢¤ê¡¢¤½¤ÎÊÕ¤ò¤½¤í¤¨¤Æ¤ß¤¿¤±¤É·ë¶ÉÊѤï¤é¤º ***ubuntu : eclipse install memo [#x5161a1c] -eclipse --ÇÛÉÛ¸µ¤«¤é¥Ð¥¤¥Ê¥ê¥¤¥ó¥¹¥È¡¼¥ë -SVN --Subversive SVN Connectors Site - http://community.polarion.com/projects/subversive/download/eclipse/2.0/update-site/ ---Subversive SVN Connectors ---Subversive SVN Team Provider (Incubation) ---SVNKit 1.3.x Implementation (Optional) -SLIM compile --flex¤Î¥¤¥ó¥¹¥È¡¼¥ë¤À¤±¤Ïµ¤¤Å¤¤Ë¤¯¤¤ **2010-11-17 [#s18bab59] ***kernel¤ÎºÆ¹½ÃÛ [#sd2a64f9] $ sudo -s /*** ¥«¡¼¥Í¥ëºÆ¹½ÃÛ¤ËɬÍפʥѥ屡¼¥¸¤ò¥¤¥ó¥¹¥È¡¼¥ë ***/ # apt-get install build-essential # apt-get install kernel-package libncurses5-dev libqt3-mt-dev /*** ¥«¡¼¥Í¥ë¥½¡¼¥¹¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤ÆŸ³« ***/ # apt-get install linux-source-2.6.28 # cd /usr/src # tar xvjf linux-source-2.6.28.tar.bz2 /*** .config ¥Õ¥¡¥¤¥ë¤ÎºîÀ® ***/ # cd linux-source-2.6.28 # cp /boot/config-2.6.28-xx-generic .config # make oldconfig /*** CPU´ØÏ¢¤Î¥Ñ¥é¥á¡¼¥¿¤ò´Ä¶¤Ë¹ç¤ï¤»¤Æ½¤Àµ ***/ # make menuconfig Î㤨¤Ð... Processor type and features > Processor family => Core 2/newer Xeon Timer frequency => 1000 HZ /*** ¥«¡¼¥Í¥ë¤Î¥ê¥Ó¥ë¥É ***/ # make-kpkg clean # make-kpkg --initrd --revision=20090618 kernel_image kernel_headers /*** .deb ¤¬¤Ç¤¤ë¤Î¤Ç dpkg ¤Ç¥¤¥ó¥¹¥È¡¼¥ë ***/ # cd .. # dpkg -i linux-image-2.6.28.xx_20090618_x86.deb **2010-11-17 [#h7e9af0d] -memo --lmntal.cup¤Ë¤´¤ß¤¬Æþ¤Ã¤Æ¤¤¤¿¤Î¤ò½¤Àµ¡¢¤½¤Î¤¦¤Á¥³¥ß¥Ã¥È **2010-11-09 [#sf2cb5ab] -Ãæ´Öȯɽ¥á¥â --ID¤Î»ÈÍÑ¿ô¤ò¬¤Ã¤Æ¤ß¤ë --¥°¥é¥Õ¤À¤±¤Ç¤Ê¤¯¡¢ÎãÂê¤ÎÆâÍÆ¡¢Æ±¼ÂÁõ¤·¤¿¤«¡¢·ë²Ì¤Î¹Í»¡¤ÏɬÍ× --¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¤ÊID¤Ç¤Ï¤Ê¤¯¡¢¥¢¥É¥ì¥¹¤òID¤Ë ---¤Ç¤â·ë¶É¥Õ¥¡¥ó¥¯¥¿¤ÎID¿ô¤Ï·è¤Þ¤Ã¤Æ¤¤¤ë¤Î¤Ç¤è¤¯¹Í¤¨¤¿¤Û¤¦¤¬¤è¤µ¤½¤¦ -¥¢¥ó¥Ó¥¨¥ó¥È¤ò½ñ¤¤¤Æ¤ß¤¿¤¤ --¥é¥à¥À·×»»¤â -º£¸å¤ÎÊý¸þÀ¡¢Èó·èÄê¼Â¹Ô¤Îɾ²Á **2010-11-03 [#w26aafeb] -¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯¤Ø¤ÎÃͤΫÇû¤ÎɬÍ×À¡© --½¸¹ç¤¬»ý¤ÄÃͤòn(!1, 1).¤È¤«¤Çɽ¤¹¤È¡¢Î㤨¤Ð a($x), n($x,N1), b($y), n($y,N2) :- N=N1+N2 |... --¤Î¤è¤¦¤ËÃͤò¤¹¥ë¡¼¥ë¤Ç¡¢N1,N2¤¬Æ±¤¸ÃͤǤ¢¤ë¾ì¹ç¤¬¤¢¤ë¤Ê¤é¡¢¤½¤Îʬn¤Î¸Ä¿ô¤òÁý¤ä¤µ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¢½ñ¤¯¤Î¤¬¤Á¤ç¤Ã¤ÈÌÌÅݤ«¤Ê **2010-10-29 ¤½¤Î2 [#y53bee55] ***fibonacci¤Î¥ª¡¼¥À¡¼¤¬°¤«¤Ã¤¿¸¶°ø¡Ê»Ä¤ê¤ÎȾʬ¡Ë [#a9a3e3d0] --add¤Ë¤Æ'+'¤«¤éfindatom¤·¤Æ¤¤¤¿¤Î¤¬¸¶°ø¡¢Ãͤò»ý¤Ã¤Æ¤¤¤ëv¤«¤éfindatom¤¹¤ì¤ÐŬÍѼºÇÔ¤¬¤«¤Ê¤êÍÞ¤¨¤é¤ì¤ë unify @@ fib($n, N1, M1) \ fib2($n, N2, M2) :- hlink(M1), int(N2) | M1 >< M2. fib1 @@ fib2(N,0,M) :- hlink(N) | v(M, 1). fib2 @@ fib(N,1,M) :- hlink(N) | v(M, 1). fib3 @@ fib($n, N, M) :- N > 1, N1 = N-1, N2 = N-2, make(N, $a), make(N1, $b), new($x), new($y), hlink($n) | fib($a, N1, $x), fib2($b, N2, $y), M = $x + $y. add @@ v($x, X), v($y, Y), H = $x + $y :- Z = X+Y | v(H, Z) ,v($x, X). |NÈÖÌÜ |5000 |8000 |10000|16000|20000|32000|O |h |slim hlink opt| 0.08| 0.14| 0.18| 0.28| 0.37| 0.56| | |chr int opt | 0.03| 0.04| 0.08| 0.10| 0.17| 0.25| | ***fibonacci¤Î¥ª¡¼¥À¡¼¤¬°¤«¤Ã¤¿¸¶°ø¡ÊȾʬ¡Ë [#t806dd09] -unify¤¹¤ë¤è¤êÁ°¤Ëfib3¤¬Å¬ÍѤµ¤ì¤Æ¤·¤Þ¤¤¡¢Í¾·×¤Ê¼ê´Ö¤¬¤«¤«¤Ã¤Æ¤¤¤¿ -Ê»¹ç¤¹¤ë¦fib¤ÈÊ»¹ç¤µ¤ì¤ë¦fib2¤Ëʬ¤±¤ë¤³¤È¤Ç¡¢unify>fib3¡¢¤È¤¤¤¦Í¥ÀèÅ٤Ǽ¹ԤǤ¤ë --¤À¤¤¤ÖÁ᤯¤Ê¤Ã¤¿¤¬¡¢¤³¤ì¤Ç¤â·×»»Î̤ÏN^2¡Á3¡¢¤Þ¤À¤â¤¦°ìÃʳ¬¸¶°ø¤¬¤¢¤ë¤Î¤« unify @@ fib($n, N1, M1) \ fib2($n, N2, M2) :- hlink(M1), int(N2) | M1 >< M2. fib1 @@ fib2(N,0,M) :- hlink(N) | v(M, 1). fib2 @@ fib(N,1,M) :- hlink(N) | v(M, 1). fib3 @@ fib($n, N, M) :- /* hlinkid¤ÈN,N1¤Ï1¤º¤Ä¤º¤é¤·¤Æ¤¤¤ë */ N > 1, N1 = N-1, N2 = N-2, make(N, $a), make(N1, $b), new($x), new($y), hlink($n) | fib($a, N1, $x), fib2($b, N2, $y), M = $x + $y. add @@ H = $x + $y, v($x, X), v($y, Y) :- Z = X+Y | v(H, Z), v($x, X), v($y, Y). |NÈÖÌÜ |1000 |2000 |4000 |8000 |16000|O |h |slim int hlink| 0.28| 1.18| 7.23|38.30| | | --memo 16000 : 8000 : 23999 4000 : 11999 2000 : 5999 1000 : 2999 **2010-10-29 [#uca7298f] -ÈÉ¥¼¥ß¥á¥â --CHR¤Ç½ñ¤¯¤³¤È¤Ë°ÕÌ£¤Î¤¢¤ëÎãÂê¤òÁª¤Ö --fibonacci, leq¤Î²òÀÏ **2010-10-28 [#d7658fd6] -grub : ¡ß¥°¥ë¡¼¥Ö¡¢¡û¥°¥é¥Ö¤Þ¤¿¤Ï¥¸¡¼¥é¥Ö **2010-10-27 [#r4503471] ***fibonacci [#lbef4d44] -Ãí)¥Õ¥£¥Ü¥Ê¥Ã¥Á¿ô¤Ï¡¢²¼µ¤Îbottomup, topdown¤Î¤è¤¦¤Ê¤ä¤êÊý¤ò¤·¤Ê¤¯¤Æ¤â¡¢¥ê¥¹¥È¤ò»È¤¨¤Ð¿ôËüÈÖÌܤ¯¤é¤¤¤Þ¤Ç¤Ï°ì½Ö¤Çµá¤á¤ë¤³¤È¤¬¤Ç¤¤ë fib(N,[X,Y|L]) :- N > 0, N1 = N-1, Z = X+Y | fib(N1,[Z,X,Y|L]). --¤¢¤¯¤Þ¤ÇÀǽ¬Äê¤Î¤¿¤á¤ÎÎãÂê¤È¤¤¤¦¤³¤È¤Ç... ***fibonacci (bottomup) [#x3bf3139] -hyperlink¤ò»È¤¦°ÕÌ£¤Ï¤¢¤Þ¤ê̵¤¤¤¬¡¢²¼¤Îtopdown¤È¤ÎÈæ³Ó¤Î¤¿¤á¤Ë¬¤Ã¤Æ¤ß¤¿ |NÈÖÌÜ |100 |200 |400 |800 |O |h |slim int |0.14|0.92 |6.92 |52.85| | |slim hlink opt| | | | | | |chr int opt |0.05|0.19 |0.72 |2.87 | | ***fibonacci (topdown) [#x621ef5b] -ÏÀÍýÊÑ¿ô¤ò¸ú²ÌŪ¤Ë»È¤Ã¤Æ¤¤¤ëÎãÂê fibonacci(N,M1) # ID \ fibonacci(N,M2) <=> M1 = M2 pragma passive(ID). |NÈÖÌÜ |10 |15 |20 |25 ||100 |200 |400 ||10000|20000|O |h |slim int | 0.01| 0.03| 2.00|241.64|| | | || | | | |slim mem | 0.04|38.70| over| || | | || | | | |slim hlink opt| | | | ||0.51|12.34|267.82|| | | | |chr int | | | | || | | ||20.64| | | |chr int opt | | | | || | | 0.00|| 0.08| 0.15| | --Ëì¤Ë¤è¤ëµ¼»÷ÏÀÍýÊÑ¿ô¤ò»È¤Ã¤Æ¤â¡¢·ë¶ÉƱ¤¸Ãͤò»ý¤Ä½¸¹ç¤òÊ»¹ç¤¹¤ëÁàºî¤Î¥ª¡¼¥À¤¬°¤¤¤¿¤á¤Ë»þ´Ö¤¬¤«¤«¤Ã¤Æ¤¤¤ë --hyperlink¤âÊÑ¿ô¤¬»ý¤ÄÃÍƱ»Î¤ò²Ã»»¤¹¤ë¥ë¡¼¥ë¤¬Í¾Ê¬¤Ë¤¢¤ëʬchr-opt¤è¤ê¥ª¡¼¥À¡¼¤¬°¤¤ --91ÈÖÌÜ7540113804746346429°Ê¹ß¤Ïslim¤Ç¤ÏÀµ¤·¤¯½ÐÎϤµ¤ì¤Ê¤¤ &ref(fib.png); **2010-10-25 [#kf170c6a] ***ram_simulator [#w712d1ce] -memory num = 10, program_counter = N prog(L,L1,add(B),A), mem(B,Y) \ mem(A,X), prog_counter(L) <=> Z is X+Y, mem(A,Z), prog_counter(L1). |N |5k |10k |20k |40k |O |h |slim int |0.17|0.33|0.64|1.27| | |slim hlink | | | | | | |slim hlink opt| | | | | | |chr int | | | | | | |chr int opt |0.23|0.51|1.33|3.76| | -memory num = 30, program_counter = N |N |5k |10k |20k |40k |O |h |slim int |1.59|3.16|6.33|12.65| | |slim hlink | | | | | | |slim hlink opt|0.15|0.28|0.55| 1.10| | |chr int |1.54|2.99|5.96|12.35| | |chr int opt |0.21|0.51|1.26| 3.61| | --(chr¤Î¥ª¡¼¥À¡¼¤¬°¤¤¤Î¤Ï¡¢Æ±¤¸Ãͤò»ý¤ÄÊÑ¿ô¤¬Â¿¤¤¤¿¤á¤Ë¡¢dense_int¤¬µÕ¸ú²Ì¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤«¤é¤À¤í¤¦¤«¡©) **2010-10-24 [#z219609f] ***union-find [#o9f60cff] - |N |100 |200 |400 |800 |160O |3200 |O |h |slim int |0.03|0.13|0.71|4.89|36.52|290.04|N^3| |slim hlink | | | | | | | | |slim hlink opt|0.03|0.11|0.41|1.54| 6.27| 24.95|N^2| |chr int | | | | | | | | |chr int opt |0.02|0.05|0.15|0.55| 2.18| 9.29|N^2| ***union-find opt [#s385f1ac] -pass compression for find, union-by-rank |N |100 |200 |400 |800 |160O |3200 |O |h |slim int |0.03|0.41|3.26|25.87|206.28| |N^3| |slim hlink | | | | | | | | |slim hlink opt|0.03|0.05|0.21| 0.73| 3.12|11.58|N^2| |chr int | | | | | | | | |chr int opt |0.02|0.05|0.17| 0.64| 2.51| 9.99|N^2| -slimÆâÉô¤Ë¼ÂÁõ¤·¤¿union-find |N |8000|16k |32k |64k |O |h |slim hyperlink|0.01|0.02|0.04|0.08|N | ***cycle [#w712d1ce] -3ĺÅÀ¤«¤é¤Ê¤ëÊÄÏ©¤òõº÷¤¹¤ë(propagation, uniq̵¤·) edge(X, Y), edge(Y, Z), edge(Z, X) <=> cycle(X, Y, Z). |N |8k |16k |32k |64k |O |h |slim int | | | | | | |slim hlink | | | | | | |slim hlink opt|0.33|0.67|1.34| 2.69| | |chr int | | | | | | |chr int opt |1.25|2.54|5.05|10.18| | ***lexicographic [#w712d1ce] -¼½ñ½çÈæ³Ó(5¡Á10¤ÎŤµ¤Î¥ê¥¹¥È¤òN²óÈæ³Ó) l4 @ lex([X|L1],[Y|L2]) <=> X==Y | lex(L1,L2). |N |2500| 5000|10k |20k |O |h |slim int |0.18| 0.75|3.17|20.58| | |slim hlink |2.53|13.88| | | | |slim hlink opt|0.45| 2.00|8.82|46.85| | |chr int |0.65| 1.25|2.58| 5.13| | |chr int opt |0.03| 0.06|0.12| 0.23| | --findatom¤Ç¤Ï¤Ê¤¯deref¤Çhyperlink¤ËÅþ㤹¤ë¤è¤¦¤Ê¥ë¡¼¥ë¤ÎºÇŬ²½¤Ï¹Íθ¤·¤Æ¤¤¤Ê¤¤¤¿¤á¡¢¥ª¡¼¥À¡¼¤¬°¤¤ --¤½¤â¤½¤âhlink¤ò»È¤¦¥á¥ê¥Ã¥È¤Ï¤¢¤Þ¤ê¤Ê¤¤ **2010-10-22 [#v1492a89] ***leq [#q67e9865] -¥¯¥¨¥ê¡§leq(1,2), leq(2,3), ... leq(N, 1). reflexivity @ leq(X,X) <=> true. antisymmetry @ leq(X,Y), leq(Y,X) <=> X = Y. idempotence @ leq(X,Y) \ leq(X,Y) <=> true. transitivity @ leq(X,Y), leq(Y,Z) ==> leq(X,Z). |N |20 |40 |60 |80 |O |h |slim int |0.32|16.06|929.34| | | |slim hlink |||||| |slim hlink opt|0.03|0.79|6.42|28.79| | |chr int |||||| |chr int opt |0.06|0.29|1.31| 5.45| | --uniq¤Ïpropagation¤è¤ê»þ´Ö¤¬¤«¤«¤ë¤¿¤á¡¢¤³¤¦¤¤¤¦·ë²Ì //***ÊÑ¿ô¤Ø¤ÎÃͤΫÇû¤¬Íߤ·¤¤ÎãÂê [#q6bbc099] //-fib_topdown.pl //--¥È¥Ã¥×¥À¥¦¥ó¤Ç¥Õ¥£¥Ü¥Ê¥Ã¥Á¿ô¤òµá¤á¤ë // fib(N,M) ==> N > 1 | N1 is N-1, fib(N1,M1), N2 is N-2, fib(N2,M2), M is M1 + M2. **2010-10-22 [#z1d8f4ce] ***CHR bencnmark [#af25fb11] -¤Þ¤¿¸«¼º¤ï¤Ê¤¤Íͤ˥á¥â --[[Ëܲȡ©:http://people.cs.kuleuven.be/~tom.schrijvers/CHR/]] --[[indexingÍÑ:http://people.cs.kuleuven.be/~tom.schrijvers/CHR/Indexing/]] **2010-10-21 [#h4690d57] ***À°¿ôÈæ³Ó²þ¤á¥¢¥È¥àÈæ³Ó¤ÎºÆ¡¹»î [#n3b8367e] -¾ò·ï¤ò¤è¤êƱ¤¸¤Ë¤·¤ÆºÆ¡¹»î - slimhl395/101109/vartest.lmn - lmntal -O3 --slimcode --hl-opt atomcmp.lmn | slim --hl - |N |8k |16k |32k |64k |O |h |slim int |0.64| 2.52| 10.08| 41.87|N^2| |slim hlink |4.49|27.58|120.20|607.76|N^2| |slim hlink opt|0.02| 0.03| 0.06| 0.12|N | |chr int |3.41|15.50| 70.15|288.34|N^2| |chr int opt |0.06| 0.15| 0.28| 0.59|N | ***¥³¥ó¥Ñ¥¤¥é¤ò¥³¥ß¥Ã¥È [#j3d6c504] -hyperlink¤òjavaÈÇ¥³¥ó¥Ñ¥¤¥é¤Ë¥³¥ß¥Ã¥È¤·¤¿ ***hyperlink¤Î½ÐÎÏ [#ie20402f] -Ê»¹ç¤µ¤ì¤¿hyperlink¤òɸ½à½ÐÎÏ»þ¤Ëroot¤Î¥Õ¥¡¥ó¥¯¥¿¤Ç½ÐÎϤ¹¤ë¤è¤¦¤Ë¤·¤¿ **2010-10-20 [#h4690d57] ***hyperlink¤«¤é¤Îfindatom¡¡²þÎÉÈÇ [#v88402db] -Ê»¹ç¤·¤¿°Û¤Ê¤ë̾Á°¤ÎhyperlinkƱ»Î¤âÈæ³Ó¤Ç¤¤ë¤è¤¦¤Ë -Ê£¿ô°ú¿ô¤¬¤¢¤ë¾ì¹ç¤Î¥Ð¥°¤ò½¤Àµ leq($x, $y), leq($y, $x). -Ʊ°ì¥¢¥È¥àÆâ¤ÇʬΥ¤¬µ¯¤³¤Ã¤Æ¤¤¤ë¾ì¹ç¤ËÂбþ leq($x, $x) -¤½¤Î¾¡¢¤¤¤í¤¤¤íºÇŬ²½ &br; -À°¿ôÈæ³Ó¤òÄÉ»î |N|10k|20k|40k|h |hlink(ÄÉ»î)|15.87|78.59|| |hlink opt(Á°²ó¤Î)|0.02|0.04|0.09| |hlink opt(º£²ó¤Î)|0.03|0.05|0.10| |chr opt|0.08|0.20|0.39| --õº÷¤Ë¤«¤«¤ëÁàºî¤ä¾ò·ïʬ´ô¤¬Áý¤¨¤ÆÃÙ¤¯¤Ê¤ë¤Ï¤º¤À¤Ã¤¿¤¬¡¢¤½¤ÎʬºÇŬ²½¤â¤·¤¿¤Î¤Ç¡¢Â礤¯¥¹¥Ô¡¼¥É¤¬Íî¤Á¤ë¤³¤È¤Ï¤Ê¤«¤Ã¤¿ **2010-10-12 ¤½¤Î3 [#wba7e196] ***leq.pl(CHR)¤òhyperlink¤Ç½ñ¤¤¤Æ¤ß¤ë [#ed77cb0f] -leq.pl ref @ leq(X,X) <=> true. ant @ leq(X,Y), leq(Y,X) <=> X = Y. ide @ leq(X,Y) \ leq(X,Y) <=> true. tra @ leq(X,Y), leq(Y,Z) ==> leq(X,Z). -leq_hl.lmn ref @@ leq($x, $x) :- . ant @@ leq($x, $y), leq($y, $x) :- hlink($x), $x \= $y | $x >< $y. ide @@ leq($x, $y), leq($x, $y) :- leq($x, $y). tra @@ leq($x, $y), leq($y, $z) :- uniq($x, $z) | leq($x, $y), leq($y, $z), leq($x, $z). -SLIM¤Ç¤Î¼Â¹Ô·ë²Ì leq('!1', '!2'), leq('!2', '!1'), a('!1'), b('!2'). *--ant@@--> '!1'(a). '!2'(b). @5 == HyperLink =============================================== [func] [parent] [elem] [rank (direct child)] Name ---------------------------------------------------- !1 !1 2 1 (2) !2 !1 --- 0 ============================================================ --a, b¤ÏÊÑ¿ô̾¤ËÁêÅö¡¢É½¤«¤é!1¤È!2¤¬Æ±¤¸½¸¹ç¤Ë°¤·¤Æ¤¤¤ë¤³¤È¤¬Ê¬¤«¤ë **2010-10-12 ¤½¤Î2 [#a70e8b7b] ***hyperlink¤Î»È¤¤Êý¥Ú¡¼¥¸¤ò¾¯¤·À°È÷ [#x424455c] -[[hyperlink»ÅÍͤޤȤá]] ***hyperlink SLIM¦¤òbranch¤Ë¥³¥ß¥Ã¥È [#w45de2da] -»È¤¤Êý¤Ï[[¤³¤³>hyperlink»ÅÍͤޤȤá#pf1ceb9f]] **2010-10-12 [#mfa8bf06] ***subversion¤Ç¥¨¥é¡¼ [#z1f59234] -Let'sNote¤ÎÊý¤«¤é¥³¥ß¥Ã¥È¤·¤è¤¦¤È¤·¤¿¤é¡¢¥¨¥é¡¼¤¬½Ð¤Æ½ÐÍè¤Ê¤«¤Ã¤¿¡£ --̲¤¤¤«¤éÌÀÆüÄ´¤Ù¤ë commit -m "hyperlink branch (¦Á-version)..." (19 paths specified) Failed to execute WebDAV PROPPATCH svn: Commit failed (details follow): svn: At least one property change failed; repository is unchanged RA layer request failed svn: Error setting property 'log': Could not execute PROPPATCH. **2010-10-10 [#hc2310bd] *** hyperlink compiler¦¤ò¥³¥ß¥Ã¥È [#wb13cfbb] -devel/sample/seiji/hyperlink_*.zip --»È¤¤Êý¤Ï[[¤³¤³>hyperlink»ÅÍͤޤȤá#pf1ceb9f]] **2010-10-08 [#s4229dfd] -ÈÉ¥¼¥ß --¥Õ¥¡¥ó¥¯¥¿¤Î¿ô¤¬Â¤ê¤Ê¤¯¤Ê¤ë¤Î¤Ï¤É¤¦¤·¤è¤¦¢ª¤È¤ê¤¢¤¨¤ºÃª¾å¤² --¥³¥ß¥Ã¥È¤·¤Ê¤¤ã ---slim¤Î¥ê¡¼¥¯¼è¤ê¢ª¥³¥ó¥Ñ¥¤¥é¤Î¥³¥ß¥Ã¥È¢ªslim¤Î¥³¥ß¥Ã¥È¤Î½ç¤Ë¤ä¤ë¤« -hyperlink branch --"branches"¤ò±¦¥¯¥ê¡¢¥Õ¥©¥ë¥À¿·µ¬À¸À® --"trunk"Æâ¤Î"slim"¤ò¥³¥Ô¡¼¡¢"branch"Æâ¤Î"¿·µ¬À¸À®¤·¤¿¥Õ¥©¥ë¥À"¤ò±¦¥¯¥ê¡¢Å½¤êÉÕ¤± **2010-10-07 [#h7a7d450] ***hyperlink¤òÍøÍѤ·¤¿findatom¤ÎºÇŬ²½ [#ya5f947d] -Æ°¤¯¤è¤¦¤Ë¤Ê¤Ã¤¿¤Î¤Ç¡¢°ìö¬¤Ã¤Æ¤ß¤¿ --unary¥¢¥È¥àÈæ³Ó ---hlink opt : º£²ó¤Î¼ÂÁõ |N|10k|20k|40k|80k|h |hlink|10.10|||| |hlink opt|0.09|0.17|0.36|¢¨| |chr opt|0.08|0.20|0.39|0.80| ---(¢¨hyperlink¤Î¿ô¤¬Â¤ê¤Ê¤¤) ---Èù̯¤Ë¾¡¤Ã¤Æ¤ë¡©¤¤¤ä¤É¤Ã¤³¤¤¤É¤Ã¤³¤¤¤« ---¤â¤Ã¤È¤Á¤ã¤ó¤È¼ÂÁõ¤¹¤ì¤Ð¡¢¤â¤¦¾¯¤·Á᤯¤Ç¤¤ëµ¤¤¬¤¹¤ë ---Äɻ¥¬¡¼¥É¤Ëhlink(unary¤Ç¤â²Ä)¥Á¥§¥Ã¥¯¤òÆþ¤ì¤¿¾ì¹ç |N|10k|20k|40k|80k|h |hlink opt|0.02|0.04|0.09|¢¨| |chr opt|0.08|0.20|0.39|0.80| ---¤«¤Ê¤êÁᤤ -TODO:Ëì¤ò´Ó¤¯¥ê¥ó¥¯¤ËÀܳ¤·¤Æ¤¤¤ë¾ì¹ç¤Îhyperlink¥¢¥È¥à¤Î½èÍý¤ÎÀ°È÷ **2010-10-04 [#e5d85fd2] *** findproccxt[#k42188cb] -ÆÃÄê¤Î¥¢¥È¥à°ú¿ô(·¿ÉÕ¤¥×¥í¥»¥¹Ê¸Ì®)Ʊ»Î¤¬Æ±¤¸¹½Â¤¤ò»ý¤Ä¤³¤È¤ò¼¨¤¹Ãæ´ÖÌ¿Îá --À¸À®»þ¤ÏŬÅö¤ËÁÞÆþ¡¢ºÇ¸å¤Ëcompile/Optimizer.java¤Ë¤Æfindatom¤è¤ê¤âÁ°¤ËʤÓÂؤ¨¤Æ¤ë a($x), a($x) :- ok. ------------------------------------------------- --memmatch: spec [1, 3] findproccxt [1, 0, 2, 0] findatom [1, 0, 'a'_1] findatom [2, 0, 'a'_1] neqatom [2, 1] jump [L118, [0], [1, 2], []] -¥½¡¼¥¹¥³¡¼¥ÉÃæ¤Ë½ñ¤¤¤¿ÀâÌÀ½ñ¤ /** findproccxt [atom1, length1, arg1, atom2, length2, arg2] * ¥¢¥È¥àÈÖ¹æatom1(²Á¿ô=lenght1)¤ÎÂèarg1°ú¿ô¤Î·¿ÉÕ¤¥×¥í¥»¥¹Ê¸Ì®¤¬¡¢ * ¥¢¥È¥àÈÖ¹æatom2(²Á¿ô=lenght2)¤ÎÂèarg2°ú¿ô¤Î·¿ÉÕ¤¥×¥í¥»¥¹Ê¸Ì®¤ÈƱ̾¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹ * ɬ¤º(atom1,arg1)¤¬¥ª¥ê¥¸¥Ê¥ë¡¢(atom2,arg2)¤¬¿·¤¿¤ËÀ¸À®¤µ¤ì¤¿Ì¾Á°¤Ë¤Ê¤ë¤è¤¦ÇÛÃÖ¤µ¤ì¤Æ¤¤¤ë */ **2010-09-29 [#fb32f670] ***Ʊ̾·¿ÉÕ¤¥×¥í¥»¥¹Ê¸Ì®¤ÎʬΥ [#r3fa6a93] - --hl·Ï¥ª¥×¥·¥ç¥ó¤Ç¤Î¤ß»ÈÍѤǤ¤ë¤è¤¦¤ËÊѹ¹ (2010-10-10) -- ¤µ¤é¤Ë--hl-opt¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤ë¤³¤È¤Ç¡¢¥¬¡¼¥É¤Ë¼«Æ°Åª¤Ëhlink·¿¥Á¥§¥Ã¥¯¤òÁÞÆþ¤·¡¢groundÂÐground¤Î¹½Â¤Èæ³Ó¤ò¥Õ¥¡¥ó¥¯¥¿ÂÐ¥Õ¥¡¥ó¥¯¥¿¤ÇºÑ¤Þ¤¹¤è¤¦¤·¤Æ¤¤¤ë -¥Ø¥Ã¥É¤ËË줬¤¢¤ë¾ì¹ç¤ÎÁàºî¤¬È´¤±¤Æ¤¤¤¿¤Î¤Ç½¤Àµ¡Ê2010-09-30) &br; -¤³¤ì¤Þ¤Ç¤Ï°ì¤Ä¤Î¥ë¡¼¥ëÆâ¤ÇƱ̾¤Î·¿ÉÕ¤¥×¥í¥»¥¹Ê¸Ì®¤Ïµ½Ò¤Ç¤¤Ê¤«¤Ã¤¿¤¬¡¢°Ê²¼¤ÎÍͤËÊѹ¹¤·¤¿ a($p), a($p) :- ... ¢ª a($p), a($p0) :- $p = $p0 | ... --¥·¥ó¥¿¥Ã¥¯¥¹¥·¥å¥¬¡¼Åª¤Ê¤â¤Î ---¥³¥ó¥Ñ¥¤¥ë»þ¤Ë¼«Æ°Åª¤Ë±¦Â¦¤ËÊÑ´¹¤·¤Æ¤¯¤ì¤ë --¸µ¤Î̾Á°¤Î¸å¤í¤Ë¿ô»ú¤ò¤Ä¤±¤Æ¿·¤·¤¤Ì¾Á°¤Ë¤·¤Æ¤¤¤ë --¤â¤Á¤í¤ó¡¢°Ê²¼¤Î¾ì¹ç¤â¹Íθ¤·¤Æ¤¢¤ë a($p), a($p), a($p0) :- ... ¢ª a($p), a($p1), a($p0) :- $p = $p1 | ... **2010-09-25 [#w78abbbb] ***hlink¤Î¥³¥Ô¡¼¤Èºï½ü [#c9840d33] -¥¢¥È¥à(hlink¥¢¥È¥à)¤ò10000*N²ó¤º¤Ä¥³¥Ô¡¼¡õºï½ü¤¹¤ë --atom : a(b) --hlink : a('!1') |N|100|200|400|800|O|h |atom|1.193|2.337|4.640|9.240|O(N)| |hlink|1.757|3.477|6.947|13.803|O(N)| ---¥ª¡¼¥À¡¼¤ÏÊѤï¤é¤Ê¤¤ ---hlink¥¢¥È¥à¤ÎÀ¸À®¡¦ºï½ü¤Ë¤ÏÍ×ÁÇ¿ô¤ÎÁý¸º½èÍý¤¬È¼¤¦¤¿¤á¼ã´³»þ´Ö¤¬¤«¤«¤ë ---¾¤Ë¤â¸¶°ø¤¬¤¢¤ë¤«¤Ê¡© -copy_and_delete.lmn { i(10000, 800). a(b). //new @@ i(I, M), a($x) :- I > 0, I1 = I-1, unary($x) | i(I1, M), a($x), a($x). //del @@ a($x), a($y) :- unary($x), unary($y) | a($x). hlinit @@ a(b) :- new($x) | a($x). newhl @@ i(I, M), a($x) :- I > 0, I1 = I-1, hlink($x) | i(I1, M), a($x), a($x). delhl @@ a($x), a($y) :- hlink($x), hlink($y) | a($x). }. {i(0, I), $p, @p}/ :- I > 0, I1 = I-1 | {i(10000, I1), $p, @p}. **2010-09-24 [#d3c955b0] ***½¸¹ç¤ÎÍ×ÁǤò¿ô¤¨¤ë¤Î¤Ë¤«¤«¤ë»þ´Ö [#ra4a62a3] -(10000¸Ä¤ÎÍ×ÁǤò»ý¤Ä)½¸¹ç¤ÎÍ×ÁÇ¿ô¤òN²ó¿ô¤¨¤¿»þ´Ö¤ò·×¬[sec] --mem:Ëì¤ò°ì¤Ä¤Î½¸¹ç¡¢ÆâÉô¤Î¥¢¥È¥à¤ò½¸¹ç¤Ë°¤¹¤ëÍ×ÁǤȤߤʤ¹ --hlink:hyperlink¤Ë¤è¤Ã¤Æ½¸¹ç¤òɽ¤¹ |N|1000|2000|4000|8000|16000|32000|64000|h |mem|3.84|7.74|15.51|31.11|||| |hlink|0.003|0.01|0.02|0.03|0.05|0.10|0.21| ---hlink¤Ï¼«¿È¤Ë¤Ä¤Ê¤¬¤ëÍ×ÁÇ¿ô¤ò¾ï¤ËÊÝ»ý¤·¤Æ¤¤¤ë¤Î¤Ç¡¢¤Þ¤¡ÅöÁ³¤Î·ë²Ì -num_mem.lmn { i(10000). num(0). i(I) :- I > 0, I1 = I-1 | i(I1), a(I). }. a2b{i(1000). num(N), a(X) :- N1 = N+1 | num(N1), b(X).}. b2a{i(1000). num(N), b(X) :- N1 = N+1 | num(N1), a(X).}. {i(0), $p, @p}/, a2b{i(I), @q} :- I1 = I-1 | count{$p, @q}, a2b{i(I1)}, '$callback'(gettime, start). count{num(N), $p, @p}/, a2b{$q}, b2a{i(I), @r} :- int(N), I > 0, I1 = I-1 | count{num(0), $p, @r}, a2b{$q, @p}, b2a{i(I1)}. count{num(N), $p, @p}/, b2a{$q}, a2b{i(I), @r} :- int(N), I > 0, I1 = I-1 | count{num(0), $p, @r}, b2a{$q, @p}, a2b{i(I1)}. a2b{i(0), @p}, b2a{i(0)} :- '$callback'(gettime, end). end(E), start(S) :- R = E-.S | time(R). -num_hl.lmn { i(10000). i(I) :- I > 0, I1 = I-1, new($h) | i(I1), e($h), a($h). e($x), e($y) :- $x \= $y | e($x), $x >< $y. }. i(10000). {i(0), e($h), $p, @p}/ :- hlink($h) | count{$p}, '$callback'(gettime, start). count{a($x), $p}, i(I) :- I > 0, I1 = I-1, $n = num($x) | count{a($x), $p}, i(I1), num($n). i(0) :- '$callback'(gettime, end). end(E), start(S) :- R = E-.S | time(R). end(E), start(S) :- R = E-.S | time(R). ***--showhl [#b13024de] -hyperlink¾ÜºÙ½ÐÎÏÍÑ¥ª¥×¥·¥ç¥ó¤ò¤³¤Ã¤½¤êÄɲà --½ÐÎÏ¥Õ¥©¡¼¥Þ¥Ã¥È¤â°ì¿· ***¤½¤Î¾ [#g50b1ada] -coname¤Ï¸½¾õ¤Ç¤ÏÍ×ÁÇ¿ô¤Ë´Þ¤á¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤ë -hyperlink¤È9/14¤ÎÊѹ¹¤ò¥í¡¼¥«¥ë¤Îslim¤Ë¥Þ¡¼¥¸ **2010-09-22 [#s0e16d8d] -½¸¹çÆâ¤Î¡ÖÍ×ÁÇ¿ô¡×¤ÎÄêµÁ --!1¡Á!5¤Þ¤Ç¤Îname(³Æ1¸Ä)¤«¤é¤Ê¤ë½¸¹ç¤Ë¡¢coname !-1¤òÍ¿¤¨¤¿¤È¤¡¢¤³¤Î½¸¹ç¤ÎÍ×ÁÇ¿ô¤Ï¤É¤¦¤Ê¤ë¤ó¤À¤í¤¦¤« ---5¸Ä¤Ê¤Î¤«5+1¸Ä¤Ê¤Î¤« --coname¤ÏÍ×ÁǤȤ·¤Æ¿ô¤¨¤ë¤Ù¤¤«¤É¤¦¤«¡¢¤Á¤ç¤Ã¤È¹Í¤¨¤¿Êý¤¬¤¤¤¤¤«¤â -memo --add ---alloc.c/lmn_new_atom(lmn_copy_satom¤Ê¤É¤â´Þ) --sub ---alloc.c/lmn_delete_atom **2010-09-18 [#y9606ad3] - 9/14¤ÎÊѹ¹¤ò¥³¥ß¥Ã¥È¤·¤¿ --¾õÂÖ¿ô¤âÀµ¾ï¤ß¤¿¤¤¤À¤·¡¢Â¿Ê¬Âç¾æÉפÀ¤í¤¦ **2010-09-17 [#x11b74df] *** --showrule [#jcbd8492] -ruleset id¤Î¸å¤í¤Ë¡¢rule¤ÎÃæ¿È¤ò³¤±¤Æ½ÐÎϤ¹¤ë¥ª¥×¥·¥ç¥ó¤òǦ¤Ó¹þ¤Þ¤»¤¿ --°ìÅÙ¤âÈ¿±þ¤·¤Ê¤«¤Ã¤¿¥ë¡¼¥ë¤Ï²¿¤âɽ¼¨¤µ¤ì¤Ê¤¤(²¿¤é¤«¤Îrule¤¬¤¢¤ë¤È¤¤¤¦¤³¤È¤Ïʬ¤«¤ë) --StateViewer¤Ç¤â¥ª¥×¥·¥ç¥ó»ØÄꤹ¤ì¤Ð»È¤¨¤ë a(b(c)), a(d(e)). rule @@ a(X) :- uniq(X) | ok(X). ok(X) :- uniq(X) | . aaaa :- bbbb. ---> @5/[rule"b(c,a):""d(e,a):"][_okXu"b(c,ok):""d(e,ok):"][] **2010-09-14 [#mf063b27] ***µ×¤·¤Ö¤ê¤Ëuniq [#l004cd49] -Ëì¤Î¥À¥ó¥×¤Çrulesets¤Î¥Ý¥¤¥ó¥¿¤Ç¤Ï¤Ê¤¯¡¢rule¤¬»ý¤ÄÍúÎò¤ÎÆâÍƤòÁ´¤ÆÆͤùþ¤àÊý¼°¤ËÊѹ¹ --¤·¤¿¤Ä¤â¤ê¡£¥Á¥§¥Ã¥¯¤ÏÌÀÆü°Ê¹ß¡£ **2010-09-10 [#w2567dde] -hyperlinkÅù²ÁÀȽÄê¤Î¥Ð¥°¤ò½¤Àµ --¡Öconame¤ò»ý¤Äname¡×¤È¡Öconame¡×¤È¤ÎÈæ³Ó¤Ê¤É --memo : hyperlinkÅù²ÁȽÄê¤Ë´Ø¤ï¤ëÌ¿ÎáÎó ---samefunc ---eq/neqfunc ---eq/neqground **2010-09-06 [#fa7c5130] -¤è¤¯¤è¤¯¹Í¤¨¤¿¤é¡¢rank¤Ïname¤Î»Ò¿ô¤Ç¤¢¤Ã¤Æ¡¢Í×ÁÇ¿ô¤È¤Ï°ã¤¦ --Ǥ°Õ¤Î½¸¹ç¤Ë°¤¹¤ëhyperlink¤ÎËÜ¿ô(Èóhyperlink¥¢¥È¥à¤Ø¤ÎÀܳ²Õ½ê)¤ò¿ô¤¨¤é¤ì¤ë¤è¤¦¤Ë¤·¤¿ -ͽÌó¸ìÍѤΥե¡¥ó¥¯¥¿¤¬20¸Ä¤¯¤é¤¤¤¢¤ë¤Î¤Ç¡¢»ÈÍѤǤ¤ëhlink id¤Ï65536¸Ä¤è¤ê¼ã´³¾¯¤Ê¤¤ **2010-08-31 [#n98c31a5] -TODO¡§reverse¤ò°ì»þ¥³¥á¥ó¥È¥¢¥¦¥È¤·¤Æ¤ª¤¯ **2010-08-30 [#jd35234c] -lmn_eq_func¤ËLMN_FUNCTOR_ATTR¤Î¾ì¹çʬ¤±¤òÄɲà --¾¤Ë¤â¾ì¹çʬ¤±Äɲ䷤ʤ¤ã¤¤¤±¤Ê¤¤½ê¤¬¤¿¤¯¤µ¤ó¤¢¤ë -½é´ü²½´Ø¿ô¤ÇÁ´¤Æ½é´ü²½¤·¤Æ¤·¤Þ¤Ã¤Æ¤¤¤¿¤Î¤òºÇŬ²½¤·¤¿ **2010-08-20 [#a1f6e011] -coname-coname, name-coname´Ö¤ÎÊ»¹ç½èÍý¤ò¼ÂÁõ --Èæ³Ó±é»»¤Î½¤Àµ¤Ï¤Þ¤À -¤½¤í¤½¤íhyperlink¼êÆ°¤Îfindatom¤È¡¢parser¤òÊѹ¹¤·¤ÆƱ¤¸¥×¥í¥»¥¹Ê¸Ì®Ì¾¤¬3²ó°Ê¾å½Ð¸½¤òµö¤¹¡¢ÊÕ¤ê¤Î¸¡Æ¤¤ò **2010-08-19 [#y5736fa4] -coname´ÉÍýÊýË¡¤òÊѹ¹ -st_get_entry´Ø¿ô¤ò¼ã´³½¤Àµ --¥ì¥³¡¼¥É¤Ç¤Ï¤Ê¤¯¥¡¼¤ò¼èÆÀ¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤¿ **2010-08-18 [#o4b1ca55] -ºÙ¤«¤Ê½ê¤Ç¥Ð¥°¤¬... --¥é¥ó¥¯¤ÎºÆ·×»»¤ò½¤Àµ --coname¤Î´ÉÍýÊýË¡¤ÎÊѹ¹¤ò¸¡Æ¤Ãæ¡¢ÇÛÎó¤è¤ê¥Ï¥Ã¥·¥åɽ¤ÎÊý¤¬¤¤¤¤¤«¤â **2010-08-13 [#r252930e] -ȿž½èÍý¡§¥ê¥ó¥¯¤Î·Ò¤®´¹¤¨¤Ç¤ª¤«¤·¤«¤Ã¤¿¤È¤³¤í¤ò½¤Àµ **2010-08-12 [#c3c1532a] ***LMN_FUNCTOR_ATTR¤È·¿¸¡ºº¤Î·ó¤Í¹ç¤¤ [#b26e6a05] -new¤Èint¤Ê¤É¤òÁȤ߹ç¤ï¤»¤ë¤È¤ª¤«¤·¤¯¤Ê¤ë -¤½¤Î¤¦¤Á¤ä¤ë **2010-08-10 [#w559c845] -¥ê¥Õ¥¡¥¯¥¿¥ê¥ó¥° **2010-08-06 [#xcef2f39] ***Í×ÁÇ¿ô¤Î¼èÆÀ [#zcd1698d] -Ǥ°Õ¤Îhlink¤¬½ê°¤¹¤ë½¸¹ç¤ÎÍ×ÁǤò¼èÆÀ¤¹¤ë a($h) :- $n = num($h) | n($n). ***newÀ©Ìó [#d5b8b5e8] -0ÆþÎÏÀ©Ìó´ØÏ¢¤Î¥Ð¥°¤ò¼«¸Ê²ò·è ***name-coname¤Îȿž [#m15217fe] -"-"¤ò¤Ä¤±¤ë¤³¤È¤Ç¥Ü¥Ç¥£¤Çȿž¤Ç¤¤ë¤è¤¦¤Ë --name¤«¤éconame¤Ø¤Îȿž¤Ï¡¢coname¤ò»ý¤Ä¾ì¹ç¤Î¤ß²Äǽ a(!1). a($h) :- name($h) | a(-$h). ---> a(!-1). **2010-08-05 [#xcef2f39] ***hyperlinkÀ¸À® [#d5b8b5e8] -¥¬¡¼¥É¤Ç¤Ï¥·¥ó¥Ü¥ë¥¢¥È¥à¤òÀ¸À®¤·¤Ê¤¤¤È¤¤¤¦SLIM¤Îºî¤ê¤Ë§¤Ã¤Æ¤¤¤¿¤¬¡¢¤½¤ì¤À¤È¼¡¤Î¤è¤¦¤Ê¥¬¡¼¥É¤¬½ñ¤±¤Ê¤¤ ... :- new(X), Y = setconame(X) | ... --¥¬¡¼¥É¤Ç¥¢¥È¥àÀ¸À®¤Ç¤¤ë¤è¤¦¤Ë¤¹¤ë¤Ê¤ê¡¢¤Á¤ç¤Ã¤È¸«Ä¾¤·¤¬É¬Í× **2010-08-03 [#qb678b4b] ***¥Ü¥Ç¥£¤ÇÊ»¹ç¤Ç¤¤ë¤è¤¦¤Ë¤·¤¿ [#za11a7d0] -±é»»»Ò¡§"><" --name-name, coname-conameÍÑ --bow tie¤Ã¤Ý¤¯¸«¤¨¤ë a($x), b($y) :- $x \= $y | a($x), b($y), $x >< $y. ---name-conameÍѤˤÏ">>","<<"¤¢¤ë¤¤¤Ï"<-","->"¤«¤Ê **2010-07-30 [#t7e56c54] ***ÏÀÍýÊÑ¿ô¤Î¾õÂÖ [#sc17ebec] -Ãͤä°À¤ò»ý¤¿¤Ê¤¤ --¤³¤ì¤ò½é´ü¾õÂ֤Ȥ·¡¢²¼¤Î¤É¤Á¤é¤«¤Î¾õÂ֤˰ܹԲÄǽ +Ãͤä°À¤ò»ý¤Ä +¾¤ÎÊÑ¿ô¤ÈÊ»¹ç¤µ¤ì¤ë --Ãͤä°À¤ÎÂå¤ï¤ê¤ËÁê¼êÊÑ¿ô¤Ø¤Î»²¾È¤ò»ý¤Ä ***Attribute variable [#p1d13d13] -°À¤Î¼ÂÁõ¤Ï¤É¤¦¤ä¤Ã¤Æ¤¤¤ë¤Î¤«¡¢¤Á¤ç¤Ã¤ÈÄ´¤Ù¤Æ¤ß¤ë **2010-07-29 [#x9501758] ***coname¤Îunify [#t8c987ce] -°Û¤Ê¤ëÃͤò»ý¤ÄÊÑ¿ôƱ»Î¤ÎÊ»¹ç¤Ï¼ºÇÔ -coname¤Î¤ß¤Ç¸ºß¤¹¤ë¤³¤È¤Ï̵¤¤¡¢¤È¤¹¤ë¤Èconame¤ÎÀ¸À®¤Ïname¤¢¤ê¤¤Î¹½Ê¸¤Ë¤·¤¿¤Û¤¦¤¬¤¤¤¤¤Î¤« **2010-07-23 [#x9501758] ***hyperlink [#t8c987ce] -name<->name´ØÏ¢µ¡Ç½¤ÏÂçÂμÂÁõ¤·¤¿...¤«¡© --Ìڤǽ¸¹ç¤ò´ÉÍý --rank¤ä¥Ñ¥¹°µ½Ì¤òÍѤ¤¤Æ¿¾¯¤Ï¸úΨÎɤ¤¤è¤¦¤Ë¤·¤Æ¤ß¤¿ -¼¡¤Ïco-name<->name´ØÏ¢¤ò¤Ü¤Á¤Ü¤Á¤È ***co-name [#c06c9830] -ɬÍפ½¤¦¤ÊÁàºî¤È¡¢¹½Ê¸ÌÑÁÛ --co-name¤ÎÀ¸À® ---co-name¤òÀ¸À®¤¹¤ë=Âбþ¤¹¤ëname¤¬¤¹¤Ç¤ËÀ¸À®¤µ¤ì¤Æ¤¤¤ë¤Ï¤º¡© +++(name·¿¤Ç¤¢¤ë&&co-name¤ò»ý¤¿¤Ê¤¤)=>co-nameÀ¸À®¡© +++name·¿¤Ç¤¢¤ë=>co-nameÀ¸À®=>(co-name2¤Ä°Ê¾å»ý¤Ä=>co-name¤ÎÊ»¹ç)¡© --name¤¬co-name¤ò»ý¤Ä¤«¤É¤¦¤«¤Î¸¡ºº --- a($h) :- hasconame($h) | ... --- $h¤¬name(hlink)¤Ç¤¢¤ë=>$h¤¬co-name¤ò»ý¤Ä¤«¤É¤¦¤« --name¤«¤éco-name¤ò¸Æ¤Ó½Ð¤¹ --- a($h) :- getconame($h) | ... --- $h¤¬name(hlink)¤Ç¤¢¤ë=>$h¤¬co-name¤ò»ý¤Ä=>$h¤Ëco-name¤ò·ë¤Ó¤Ä¤±¤ë --co-name·¿¸¡ºº --- a($h) :- coname($h) | ... --name->co-name¤ÎÊ»¹ç (=co-name¤Î̵¤¤name¤Ëco-name¤ò·ë¤Ó¤Ä¤±¤ë) --- a($x), b($y') :- $h = $x >> $y' | a($h), b($h).¡¡('ÉÕ¤¤Ïco-name) ***co-name¤Î°À¤ò°·¤¦¹½Ê¸ [#obdc1c82] - (!-1 > 3), (!-2 < 5)¤È¤¤¤¦co-name!-1,!-2¤òÊ»¹ç¤¹¤ë --and¤Èor¤Î¶èÊ̤ò¤Ä¤±¤é¤ì¤ë¤è¤¦¤Ë¤¹¤ëɬÍפϤ¢¤ë¤«¡© &br; -memo --before 1: func !1 200, parent 1, rank 7 children >> 2 3 5 2: func !2 202, parent 1, rank 0 3: func !3 204, parent 1, rank 1 children >> 4 4: func !4 23, parent 3, rank 0 5: func !5 207, parent 1, rank 3 children >> 6 7 6: func !6 209, parent 5, rank 0 7: func !7 211, parent 5, rank 1 children >> 8 8: func !8 25, parent 7, rank 0 9: func !9 214, parent 9, rank 1 children >> 10 10: func !10 216, parent 9, rank 0 --after 4,8¤«¤éroot¤òõº÷ 1: func !1 200, parent 1, rank 7 children >> 2 3 4 5 7 8 2: func !2 202, parent 1, rank 0 3: func !3 204, parent 1, rank 0 4: func !4 23, parent 1, rank 0 5: func !5 207, parent 1, rank 2 children >> 6 6: func !6 209, parent 5, rank 0 7: func !7 211, parent 1, rank 0 8: func !8 25, parent 1, rank 0 9: func !9 214, parent 9, rank 1 children >> 10 10: func !10 216, parent 9, rank 0 **2010-07-16 [#x9501758] ***[[hyperlink»ÅÍͤޤȤá]] [#udc2bbbf] **2010-07-15 [#x9501758] -ÈÉ¥¼¥ßÍѸ½¾õ¥á¥â -hlinkÍѱ黻»Ò¤¬·è¤Þ¤é¤Ê¤¤ ***name, coname [#q04d9db5] -̾Á°¤Î·è¤áÊý --name : "!" + 0,1,2,... --coname : "!!" + (name¤«¤éµá¤á¤¿¥Õ¥¡¥ó¥¯¥¿id) -¼ÂÁõÊýË¡°Æ --¤É¤Á¤é¤â´ðËÜŪ¤Ëº£¤Þ¤Ç¤Î¥Õ¥¡¥ó¥¯¥¿ ---°ÀÉÕ¤ÊÑ¿ô¤òƳÆþ¤¹¤ë¤Ê¤é¡¢ -Âбþ´Ø·¸ --¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤Ç´Ø·¸¤òÊÝ»ý¡Ê¿Æ-->»Ò¡¢»Ò-->¿Æ¡Ë -µË¡°Æ -- name-->coname¼èÆÀ a($h) :- coname($h) | a( ***hlinkÀ¸À® [#yce62560] -ËÜÌ¿¡§body¤ÇÀ¸À® --¥³¥ó¥Ñ¥¤¥éÆɤß+²þ¤Ãæ -¼¡Á±ºö¤ÎnewÀ©Ìó hoge, hoge. hoge :- new($h) | a($h), b($h). *--> a('!0'), b('!0'), a('!1'), b('!1'). ***Ê»¹ç [#v7bef253] -mergeÍѱ黻»Ò a($x), b($y) :- $h = $x =$= $y | a($h), b($h). --#¤Ê¤Î¤Ï¤¤¤«¤¬¤Ê¤â¤Î¤« ***memo [#fd6bc3d9] -hlink¤Î¼ÂÁõÊýË¡ --SLIM¤Ç¤Ï¥¬¡¼¥É¤Çsymbol¥¢¥È¥à¤òÀ¸À®½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤«¤Ã¤¿ --Ä̾ï¤Î(symbol)¥¢¥È¥à¤È¤·¤Æ̾Á°¤ò¤Ä¤±¤ë¤« --¥Ç¡¼¥¿¥¢¥È¥à¤Î°ì¼ï¤È¤¹¤ë(ñ¤Ê¤ë¿ôÃÍ)¤« ---Attr¤ËhlinkÍѤΰÀ¤ò¿·¤¿¤ËÍÑ°Õ¤¹¤ë¤« **2010-07-09 [#x9501758] *** JFlex.jar¤Èjava_cup.jar [#b8365df3] -java_cup.jar¤ÎÊý¤Ïsrc/compiler/parser/¤Ë°ÜÆ°¤·¤Æ¼Â¹Ô¤·¤Ê¤¤¤È¡¢parser.java¤¬Àµ¤·¤¤¥Ç¥£¥ì¥¯¥È¥ê¤ËÀ¸À®¤µ¤ì¤Ê¤¤¤ß¤¿¤¤ ***"=="±é»»»Ò [#m8288f9b] -'=='¤òunary·¿Æ±»Î¤ÎÈæ³Ó±é»»»Ò¤Ë¤·¤è¤¦¤È¤¤¤¦ÏÃ(cf.ÀèÀ¸wiki) --'=','\='¤Ïground¡¢'=:=','=\='¤Ïint --unary¤Înot equal¤Ë´Ø¤·¤Æ(src/compile/GuardCompiler.java, l.363) // .. :- unary(A),A\=B | .. //¤Î¾ì¹ç¡¢B¤¬ground¤Ç¹½¤ï¤Ê¤¤¡£A¤¬unary¤Ç¡¢¤«¤ÄB¤¬°Û¤Ê¤ë¹½Â¤¤Î»þ¤ËÈ¿±þ¤¹¤ë¡£ //¤³¤ÎÅÀ¤Ï¡¢==¤È¤Ï°ã¤¦¡£==¤Î¾ì¹ç¡¢¤½¤â¤½¤âƱ¤¸·¿¤Ç¤Ê¤±¤ì¤Ð¥Þ¥Ã¥Á¤·¤Ê¤¤¤¿¤á¡£ //B¤¬unary¤Î»þ¤Ë¸ÂÄꤷ¤¿¤±¤ì¤Ð¡¢unary(B)¤ò½ñ¤²Ã¤¨¤ì¤Ð¤è¤¤¡£ //(²¿¤â¹Í¤¨¤º¤Ë¼ÂÁõ¤·¤¿¤é¤½¤¦¤Ê¤Ã¤¿¤Î¤À¤¬¡¢·ë²ÌŪ¤Ë°ìÈÖ½ÀÆð¤Çľ´¶Åª¤Ê·Á¤À¤È»×¤¦¡£) -¼ÂÁõÊѹ¹¸å¤ÎÃæ´ÖÌ¿ÎáÎó a($x), b($y) :- $x == $y | ... ------------------------------------------------------------- --guard:L118: spec [3, 5] derefatom [3, 1, 0] isunary [3] derefatom [4, 2, 0] isunary [4] samefunc [3, 4] jump [L103, [0], [1, 2, 3, 4], []] ***hlink¤Îmerge [#f1b7a60c] -Ê»¹ç¤Ï¤É¤¦¤¤¤¦¾õ¶·¤Ç»È¤¦¤À¤í¤¦¤« --$x,$y¤¬°Û¤Ê¤ë½¸¹ç¤Ë°¤·¤Æ¤¤¤ì¤ÐÊ»¹ç¤¹¤ë¡¢¤È¤¤¤¦¥ë¡¼¥ë¤Ï³ä¤È½ñ¤¤½¤¦ -mergeÈǤÈ'=='/3±é»»»ÒÈǤǽñ¤¤¤Æ¤ß¤ë a($h1), b($h2) :- merge($h1, $h2) | a($h1), b($h2). a($x), b($y) :- $x \= $y, $h = $x == $y | a($h), b($h). -'=='ÈǤÎÊý¤¬LMNtal¤Ã¤Ý¤¤µ¤¤Ï¤¹¤ë --¤¿¤À¡¢'=='ÈǤÀ¤È¤³¤¦¤¤¤¦¥ë¡¼¥ë¤â½ñ¤±¤ë¤³¤È¤Ë¤Ê¤ë a($x), b($y) :- $h = $x == $y | a($h), b($h). -¤³¤Î¾ì¹ç¡¢$x,$y¤¬´û¤ËÊ»¹ç¤µ¤ì¤Æ¤¤¤è¤¦¤¬¹½¤ï¤ºÊ»¹ç¤¹¤ë¥ë¡¼¥ë¤Ë¤Ê¤ë -''´û¤ËƱ¤¸½¸¹ç¤Ë°¤·¤Æ¤¤¤ëhlinkƱ»Î¤òÊ»¹ç¤·¤è¤¦¤È¤·¤¿¾ì¹ç¤Ï¤É¤¦¤Ê¤ë¤Î¤«¡©'' -mergeÀ©Ìó¤Ï¡Ö´û¤ËÊ»¹ç¤µ¤ì¤Æ¤¤¤ëhlinkƱ»Î¤ò°ú¿ô¤Ë»ý¤Ä¤ÈFALSE¡×¤È¤¤¤¦¡¢À©Ìó¤ÎÍͤÊÌò³ä¤ò»ý¤¿¤»¤ë¤è¤¦¤Ë¤·¤Æ¤¢¤ë --%%¤¿¤À¡¢¥Ç¡¼¥¿¹½Â¤¾å¤Ï¥°¥é¥Õ¤Î½ñ´¹¤¨¤¬µ¯¤³¤é¤Ê¤¤¤Î¤Ë¡¢Ê»¹çÁàºî¤Ç;·×¤Ê¾õÂÖÁ«°Ü¤¬À¸¤¸¤ë¤Î¤Ï¤¢¤Þ¤ê¤¦¤ì¤·¤¯¤Ê¤¤¤«¤â%%´Ö°ã¤¤¡¢hlink¤ÎÊ»¹çÁ°¤ÈÊ»¹ç¸å¤ÏÊ̤ξõÂÖ¤À¤«¤é1¥¹¥Æ¥Ã¥×¤«¤«¤Ã¤Æ¤â¤¤¤¤¤Î¤«¡¢¤Þ¤¡¤½¤ì¤¬mergeÀ©Ìó¤ò¿ä¤¹·è¤á¼ê¤Ë¤Ï¤Ê¤é¤Ê¤¤¤¬ -Ʊ¤¸½¸¹ç¤Ë°¤¹¤ëhlinkƱ»Î¤ÎÊ»¹ç¤Î°ÕÌ£¤ò·è¤á¤Æ'=='¤Ë¤·¤¿Êý¤¬¤¤¤¤¤«¤â¤·¤ì¤Ê¤¤ **2010-07-08 [#x9501758] ***hlink·¿ [#f1b7a60c] -´ðËÜŪ¤Ë¤Ï(¥×¥í¥°¥é¥à¾å¤Ï)unary·¿ --¥Õ¥¡¥ó¥¯¥¿¤ÎºÇ½é¤Î3ʸ»ú¤¬"$hl"¤Ç¤¢¤ë¡Ê¤«¤Ä¿Æ¥Õ¥¡¥ó¥¯¥¿¤Ø¤Î¥¢¥É¥ì¥¹¤ò»ý¤Ä¡Ë ---root¥Õ¥¡¥ó¥¯¥¿¤Ï¿Æ¥Õ¥¡¥ó¥¯¥¿=¼«¿È¤Î¥¢¥É¥ì¥¹ ---¾¤ÎÄ̾ï¥Õ¥¡¥ó¥¯¥¿¤Ï¿Æ¥Õ¥¡¥ó¥¯¥¿=NULL ---¤¢¤ë¤¤¤Ïñ½ã¤Ëroot(Èóhlink·¿´Þ)¥Õ¥¡¥ó¥¯¥¿¤ÏNULL¤Ç¤â¤¤¤¤¤Î¤«¤â -¾¤Î·¿¤È¤Î´Ø·¸¤Ï¤³¤ó¤Ê´¶¤¸¡© hlink ¢¾ unary ¢¾ ground hlink ¡â data(int, double, ...) -¥¬¡¼¥ÉÀ©Ìó¡¢°ì±þºî¤Ã¤Æ¤ß¤¿ hlink(X) : hlink·¿¸¡ºº newhl(X) : hlink atomÀ¸À®¡¢Ãæ´ÖÌ¿ÎáÎó¤ÏºòÆü¤Îhlink¤È°ì½ï hlink·¿¤À¤ÈŬÍѤ·¤Ê¤¤(not_hlink¸¡ºº)¤ÎÌò³ä¤â»ý¤Ä ***Ê»¹ç [#jc2fc545] -¥·¥¹¥Æ¥à¥ë¡¼¥ë¥»¥Ã¥È¤Ç¹Ô¤Ê¤¦ÊýË¡¡¢±é»»»Ò"==" --¥ë¡¼¥ëŬÍѤΥ¿¥¤¥ß¥ó¥°¤Ç¡¢¥æ¡¼¥¶¤Î»×¤¤Ä̤ê¤Ë¤¤¤«¤Ê¤¤¤³¤È¤¬¤¢¤ë¡¢µÑ²¼ -¥Ü¥Ç¥£¤Ç¹Ô¤Ê¤¦ÊýË¡¡¢±é»»»Ò¤Ï"=="¤Ë¤·¤è¤¦¤«¤Ê a($h1), b($h2) :- hlink($h1), hlink($h2) | a($h1), b($h2), $h1==$h2. --unify("=")¤Î¤è¤¦¤Ë¡¢Ãæ´ÖÌ¿ÎáÎó¤òÊѤ¨¤ë¤«¡¢¼ÂÁõ¤¬¾¯¤·ÌÌÅÝ --²Ã¤¨¤Æ¡¢Ê¬»Ò'=='($h1,$h2)¤¬¼«Æ°Åª¤Ë¾Ãµî¤µ¤ì¤ë¡¢¤Á¤ç¤Ã¤ÈÉÔ¼«Á³¡© ---¤µ¤é¤ËÌäÂê¡¢¾å¤Î¥ë¡¼¥ë¤Ï̵¸Â¥ë¡¼¥×¤¹¤ë -¥¬¡¼¥É¤Ç¹Ô¤Ê¤¦ÊýË¡¡¢Î㤨¤ÐmergeÀ©Ìó¤È¤« a($h1), b($h2) :- merge($h1, $h2) | a($h1), b($h2). --Ê»¹çÁàºî¤Ï¡¢Ê»¹ç¤¹¤ë¥Õ¥¡¥ó¥¯¥¿¤Î̾Á°¤À¤±¼èÆÀ¤Ç¤¤ì¤Ð¤è¤¤ --¥Ü¥Ç¥£¤Çʬ»Ò¤òÉÔ¼«Á³¤Ë¾Ã¤µ¤Ê¤¯¤ÆºÑ¤à¾å¤Ë¡¢¼ÂÁõ¤â³Ú ---´û¤ËÊ»¹ç¤µ¤ì¤Æ¤¤¤ë½¸¹ç¤Ë°¤¹¤ëhlinkƱ»Î¤Ï·ë¹ç¤Ç¤¤Ê¤¤¡¢¤È¤«¤Ë¤¹¤ì¤Ð̵¸Â¥ë¡¼¥×¤âËɤ²¤ë --¤¿¤À¥¬¡¼¥ÉÀ©Ìó¤¬Áý¤¨²á¤®¤Êµ¤¤â¤¹¤ë ***Åù²ÁȽÄê(naive) [#ea1cd4b3] /* $h1, $h2¤É¤Á¤é¤«°ìÊý¤Ëhlink(unary)¥Á¥§¥Ã¥¯¤ò»Ü¤¹ */ a($h1), b($h2) :- hlink($h1), $h1==$h2 | a($h1), b($h2). -Åù²ÁȽÄê(optimize)¤ÏÃæ´ÖÌ¿ÎáÎó¤òÊѹ¹¤·¤Ê¤¤¤ÇSLIM¦¤À¤±¤Ç²Äǽ¤«¤Ê¡©¤¦¡¼¤ó¤è¤¯¹Í¤¨¤Ê¤¤¤È ***hyper link for nd [#g112f39b] -¤È¤ê¤¢¤¨¤ºÊüÃÖ¤·¤¿¤¤¡¢¤ä¤ë¤Ê¤é¾õÂÖ¤´¤È¤Ë¥Õ¥¡¥ó¥¯¥¿¤Î¿Æ»Ò´Ø·¸´ÉÍý¤ò¤µ¤»¤Ê¤¤¤È¤¤¤±¤Ê¤¤¤«¤Ê **2010-07-07 ¤½¤Î£²[#ua4377c7] -hlink·¿À©Ìó¤ÏɬÍפ«¤Ê hlink atomÀ¸À® : newhl($h)¡¡¤ËÊѹ¹ hlink·¿¥Á¥§¥Ã¥¯ : hlink($h) ¤È¤«? --unary·¿¥Á¥§¥Ã¥¯¤ÎÃæ¤Ç̵Íý¤ä¤êhlink¤ò¼±Ê̤¹¤ë¤³¤È¤Ï¤Ç¤¤ë -¸½ºß¡¢BODY¤Ç¤Î"="¤È"=="¤Ï¶¦¤Ëeqground --"=="¤òhl¥¢¥È¥àÀìÍѤˤ¹¤ë¡© ... :- unary(X), unary(Y), X==Y | ... ------------------------------------- derefatom [5, 3, 0] isunary [5] derefatom [4, 2, 0] isunary [4] samefunc [5, 4] **2010-07-07 [#ua4377c7] -°Ê²¼¡¢Ì¤¥³¥ß¥Ã¥È ***hyper link atom À¸À®[#r585d88f] -¥³¥ó¥Ñ¥¤¥é¦ --hlinkÀ©Ìó --- hyper link atom (hl¥¢¥È¥à) : ¥¢¥È¥à̾($hl + ID)¤ò»ý¤Ä1°ú¿ô¥¢¥È¥à a($h) :- hlink($h) | b($h). ------------------------------------------ if ($h == hl¥¢¥È¥à) { ¥ë¡¼¥ëŬÍѼºÇÔ } else { $h¤«¤éµá¤á¤¿ID¤ò¤â¤Ähl¥¢¥È¥à¤òÀ¸À® } ---hyperlinkÍÑÃæ´ÖÌ¿Îá /** hyperlink [atom, mem] * $mem¤Ë½ê°¤¹¤ë$atom¤òhyperlink atom¤ËÃÖ¤´¹¤¨¤ë */ -SLIM¦ --¤æ¤¯¤æ¤¯¤Ïhl¥¢¥È¥à¤òdata¥¢¥È¥à(¤Îspecial¥¢¥È¥à?)¤Ë¤·¤Æ½èÍý¤ò´Êñ¤Ë¤·¤¿¤¤¤È¤³¤í --¥Õ¥¡¥ó¥¯¥¿¤òUnionFind¤Î¤è¤¦¤Ë¿Æ»Ò´Ø·¸¤ò»ý¤¿¤»¤ë¤è¤¦¤Ë¤·¤¿ ---»î¤·¤ËsamefuncÌ¿Îá¤ÎÃæ¤Çhl¥¢¥È¥à¤ÎÈæ³Ó¤À¤±Ê̤νèÍý¤ò¤µ¤»¤ë¤è¤¦¤ËÊѹ¹ ---¿Æ»Ò´Ø·¸¤òÈ¿±Ç¤·¤¿Åù²ÁȽÄ꤬¤Ç¤¤¿ a(X), b(Y) :- unary(X), unary(Y), X==Y | . -memo --Instruction.java --GuardCompiler.java **2010-07-05 [#ua4377c7] -memo --hylink atom¤Ïint·¿¤¸¤ã¤Ê¤¤¤«¤é==¤Îξ°ú¿ô¤Ë»ØÄꤷ¤Æ¤âÂç¾æÉ× **2010-07-01 ¤½¤Î2[#ua4377c7] ***ÈÉ¥¼¥ß [#g07cbc9e] -hylink¤ÎÀ¸À®¤Ï¥¬¡¼¥É¤Ç --°ìÅٹͤ¨¤Æ¡¢¤ª¤«¤·¤¤¤È»×¤Ã¤Æ¤¿¤±¤É¡¢³Î¤«¤Ë+¤ä-¤ò¥¬¡¼¥É¤Ç¤·¤Æ¤ë¤« **2010-07-01 [#ua4377c7] ***hyper link [#b198ff41] -(ºÆ·Ç) ++hylink¤ò¿·µ¬À¸À® ++2¤Ä¤Îhylink¤ÎÅù²ÁÀȽÄê ++»ØÄꤷ¤¿hylink¤Î½Ð¸½¤ÎÎóµó ++»ØÄꤵ¤ì¤¿hylink¤Ë·Ò¤¬¤ë¥¢¥È¥à¤Î(¸úΨŪ)õº÷ ++hylinkƱ»Î¤ÎÊ»¹ç -¶âÍˤ«¤é¿Ê¤ó¤À¤È¤³¤í¤Þ¤Ç --1¡¢5¤ò¥·¥¹¥Æ¥à¥ë¡¼¥ë¥»¥Ã¥È¤Ç -1. ¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯¥¢¥È¥à(²¾)¤ÎÀ¸À® a(hL(abc)), b(hL(1)). <==> a('$hL62'). b('$hL236'). --%%º£¤Î¤È¤³¤ícallback´Ø¿ô»ÈÍÑ%%¥·¥¹¥Æ¥à¥ë¡¼¥ë¥»¥Ã¥È¤Ë¤Æ --62, 233¤ÏhL(N)¤ÎN¤òlmn_intern¤ËÅꤲ¤ÆÆÀ¤é¤ì¤ëÃÍ -5. ¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯¤ÎÊ»¹ç // '$hL'(HYLINK1, HYLINK2) : HYLINK1¤È2¤¬Ê»¹ç¤µ¤ì¤ë a('$hL61'). b('$hL236'), '$hL'('$hL61', '$hL236'). {b('$hL236')}. <==> a('$hL61'). b('$hL61'), {b('$hL61')}. --¥·¥¹¥Æ¥à¥ë¡¼¥ë¥»¥Ã¥È ---hylink_unify : $hL_2¤Ë·Ò¤¬¤Ã¤¿¥¢¥È¥à¤Î¥Õ¥¡¥ó¥¯¥¿¤òµ²± ---hylink_unify2: µ²±¤·¤¿¥Ú¥¢¤ÎÊ»¹ç¤ò¸½ºßËì+»Ò¹ËìÁ´¤Æ¤ËÂФ·¤Æ¹Ô¤Ê¤¦ -¤â¤í¤â¤í¤ÎµË¡¤ò¤½¤í¤½¤í·è¤á¤Æ¤¤¤¤¿¤¤¤È¤³¤í --¿·µ¬À¸À®¡§hL¤Ç¤¤¤¤¤Î¤«¡¢°ú¿ô¤Ï¼è¤ë¤« ---¥ê¥ó¥¯Ì¾¤Ê¤é¤Ì¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯Ì¾¤ÏÂåɽÍ×ÁǤǤ¤¤¤¤È¤¹¤ë(°ú¿ô¤ò¼è¤é¤Ê¤¤)¤È¡¢ÂåɽÍ×ÁǤÎ̵¤¤hylink(¤Ä¤Þ¤ê̵¸þ)¤Ï̵̾¤·¤Î¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯(ÆâÉôŪ¤Ë¤Ï°ì°Õ¤Îid¤Ê¤ê¤¬ÉÕ¤¯)¤Ë¤Ê¤ë a(hL) <==> a('$hL0') ¤È¤«? --Ê»¹ç¡§hylinkƱ»Î¤òÀܳ¤¹¤ë¤ï¤±¤À¤«¤é¡¢=¤¬¼«Á³¡© ---unifylinksÌ¿Îá $hL = $hL --hylink¤ÎÈæ³Ó a($p), b($q) :- $p = $q | ... a($p), b($p) :- ... ---¾å¤ÎÊý¤òºÎÍѤ·¤Æ¡¢¥Þ¥Ã¥Á¥ó¥°ºÇŬ²½¤Ë¤Ä¤¤¤Æ¤ÏÆâÉô¤Ç´èÄ¥¤é¤»¤ëÊý¤¬¤¤¤¤¤Î¤«¤â --¤æ¤¯¤æ¤¯¤Ï°ÀÉÕ¤ÊÑ¿ô¤òɽ¸½¤¹¤ë(¤·¤¿¤¤) ---°À¤Î¾ðÊó¤Ï³¬ÁؤË°¤¹¤ë¤â¤Î¤Ç¤Ï¤Ê¤¤¤È»×¤¦ ---°À¤òɽ¤¹¥¢¥È¥à¤ò¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯¥¢¥È¥à(²¾)¤ËľÀÜ·Ò¤²¤ë¤ä¤êÊý¤Ï¤Á¤ç¤Ã¤È̵Íý¤¬¤¢¤ë¤«¤Ê **2010-06-28 [#ua4377c7] -ÂÎÄ´°¤¤ ***¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯ [#gd97d977] -5.Á´¤Æ¤ÎËì¤ËºîÍѤ¹¤ë¥·¥¹¥Æ¥à¥ë¡¼¥ë¥»¥Ã¥È¤ò½ñ¤¤¤Æ¤ß¤¿ --hylink¤Îunion¤òɽ¸½¤Ç¤¤ë **2010-06-25 [#ua4377c7] ***¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯ [#gd97d977] -¾åÅÄÀèÀ¸¤È¤Î¸ÄÊÌ¥¼¥ß¤ò¸Ä¿ÍŪ¤ËÀ°Íý¤·¤Æ¤ß¤ë --hylink(¤«¤Ã¤³¤¤¤¤¤«¤é¡Ö¥Ï¥¤¥Ñ¡¼¡×¤Ã¤Æ¸À¤¤¤¿¤¤µ¤¤â¤¹¤ë) -¼ÂÁõÊýË¡¤è¤êÀè¤Ë¤É¤¦¤¤¤¦µ¡Ç½¤ò»ý¤Ä¤Î¤« --(³ÈÄ¥)unary¥¢¥È¥à¤Çɽ¸½¤¹¤ë¤È¤·¤Æ¤Þ¤È¤á¤ë ---¥¢¥È¥à¤¬Ìܤ˸«¤¨¤Ê¤¤(Ãê¾ÝŪ¤Ê)·Á¤Ç¸ß¤¤¤ËÀܳ¤·¹ç¤Ã¤Æ¤¤¤ë ---¤Ä¤Þ¤ê¡¢º£¤Þ¤Ç¤ÎÍͤËËì¤Çɽ¤¹¤È a($h), b($h) :- ... . <==> a(H1), b(H2), h{+H1, +H2} :- ... . -µ¡Ç½ ++hylink¤ò¿·µ¬À¸À® a(newhl), b(newhl) --(ÆâÉôŪ¤Ë)--> a(hyperlink0), b(hyperlink0). ¤È¤« ++2¤Ä¤Îhylink¤ÎÅù²ÁÀȽÄê a($p), b($q) :- $p = $q | a($p), b($p). ¤È¤« ++»ØÄꤷ¤¿hylink¤Î½Ð¸½¤ÎÎóµó ++»ØÄꤵ¤ì¤¿hylink¤Ë·Ò¤¬¤ë¥¢¥È¥à¤Î(¸úΨŪ)õº÷ ---unaryÊý¼°¤½¤Î¤Þ¤Þ¤Ç¤Ï¥Þ¥Ã¥Á¥ó¥°¸úΨ²½¤Ï¼Â¸½¤Ç¤¤Ê¤¤ ---ŬÀڤʺ÷°ú(index)¹½Â¤¤Ê¤ó¤«¤¬¤¢¤ë¤È¤è¤¤ ++»ØÄꤵ¤ì¤¿hylinkƱ»Î¤ÎÊ»¹ç(merge, union) ---¥·¥¹¥Æ¥à¥ë¡¼¥ë¥»¥Ã¥ÈŪ¤Ê¤â¤Î¤ÇÊ»¹ç¸µ¤Î¥¢¥È¥à¤òÊ»¹çÀè¤Î¥¢¥È¥à¤Ë½ñ¤´¹¤¨¤ë -ºÇû¤Î¼ÂÁõ¤ò¹Í¤¨¤¿¤È¤¡¢¤Þ¤º¤É¤ì¤ò¤ä¤ë¤« --1. 5. **2010-06-24 [#ua4377c7] ***hylink¡¢SLIM¦¤Î¤ß¤Ç¤ä¤ë¾ì¹ç [#sb68811e] -¼Â¸½ÊýË¡¤¬¤¤¤¯¤Ä¤«¤¢¤ë(1-3¤ÏËì¤ò»È¤¦) ++¥·¥¹¥Æ¥à¥ë¡¼¥ë¥»¥Ã¥È¡¢¥â¥¸¥å¡¼¥ë¤ÇºÑ¤Þ¤»¤ë a(!p) :- a(HL), {name(p), +HL}. ---!¤òÉÕ¤±¤ë¤Î¤Ï¥¢¥È¥à¤Ê¤Î¤«¥ê¥ó¥¯¤Ê¤Î¤« ++Ãæ´ÖÌ¿ÎáÎó¤ÎÊÑ´¹ findatom [1, 0, 'a'_1] deref [2, 1, 0, 0] func [2, '!p'_1] ---funcÌ¿Îá¤ò¡¢Ëì¤ò»È¤Ã¤¿¹½Â¤¤òõ¤·¤Æ¤¯¤ëÌ¿ÎáÎó¤ËÊÑ´¹¤¹¤ë¤È¤« ++¿·Ãæ´ÖÌ¿Îá ---2¤Ï¸½¾õ¤ÎÌ¿ÎáÎó¤ò³èÍÑ¡¢3¤ÏhylinkÍѤÎÌ¿ÎáÎó¤È¤·¤Æ¤Þ¤È¤á¤Æ¤·¤Þ¤¦ ++¿·¥Ç¡¼¥¿¹½Â¤¤ÎÄɲà ---ÍͻҤò¸«¤Ê¤¬¤é ***¤½¤Î¾ [#gb15805e] -µ¤¤¬Áᤤ¤¬¡¢!µË¡¤òÆþ¤ì¤ë¤Ê¤é»²¹Í¤Ë --Flex[[¤³¤ì:http://www.geocities.co.jp/SiliconValley-Oakland/3432/man/flex/flex-ja_3.html#SEC14]]¤È[[¤³¤ì:http://guppy.eng.kagawa-u.ac.jp/2007/ProgLang/flex.html]] LinkName [A-Z_][a-zA-Z_0-9] ==> "!"?[A-Z_][a-zA-Z_0-9] -Ãæ´ÖÌ¿ÎáÎóį¤á¤ë -- link @@ a(X), b(X) :- c(X), d(X). --memmatch: spec [1, 3] findatom [1, 0, 'a'_1] deref [2, 1, 0, 0] func [2, 'b'_1] jump [L103, [0], [1, 2], []] --hlink @@ a(X), b(Y), {+X, +Y, $p} :- c(X), d(Y), {+X, +Y, $p}. --memmatch: spec [1, 10] findatom [1, 0, 'a'_1] deref [2, 1, 0, 1] func [2, $out_2] deref [3, 2, 0, 0] func [3, $in_2] deref [5, 3, 1, 0] func [5, '+'_1] lockmem [4, 3, null] norules [4] findatom [6, 4, '+'_1] neqatom [6, 5] deref [7, 6, 0, 1] func [7, $in_2] deref [8, 7, 0, 0] func [8, $out_2] deref [9, 8, 1, 0] func [9, 'b'_1] jump [L136, [0, 4], [1, 9, 8, 2, 5, 6, 7, 3], []] -hlink¡¢Ã±¤Ê¤ëÌÑÁÛ a(!P), b(!P), c(!P), !-P = 3. --"!P"¤Ï¤Ê¤ó¤«Ë¿¥¨¥ì¥¥Ð¥ó¤ò»×¤¤½Ð¤µ¤»¤ë //-- a(!P), b(!P). ¤ÎÃæ´ÖÌ¿Îá // --memmatch: // spec [1, 3] // findatom [1, 0, 'a'_1] // hlderef [2, 1, 0, 0] // func [2, 'b'_1] // jump [L103, [0], [1, 2], []] // &br; -uniq for nd --¤¤¤¯¤Ä¤«¤ÎÎã¤òÆ°¤«¤·¤Æ¤ß¤¿¤¬¡¢¤ª¤«¤·¤Ê¤È¤³¤í¤Ï¤Ê¤µ¤½¤¦ --¤¿¤À¾¤Ëϳ¤ì¤¬Ìµ¤¤¤«ÉÔ°Â &br; -¥ë¡¼¥ëʸ̮ --¥Ø¥Ã¥É¤Ë¥ë¡¼¥ëʸ̮2¸Ä½ñ¤¯¤È¥ë¡¼¥ë¥»¥Ã¥È½¸¹ç¤Ë2½Å¤Ë¥Þ¥Ã¥Á¥ó¥°¤¹¤ë»ö¤Ë¤Ê¤ë¤Î¤«¡¢ÃΤé¤Ê¤«¤Ã¤¿ {rule1 @@ a:-b.}. {rule2 @@ c:-d.}. {@p}, {@q} :- r{@p, @q}. //2¤Ä¤ÎËì¤ò·ë¹ç r{@p, @q} :- @p, @q. *---> @5,@5,@6,@6,@7 **2010-06-23 [#ua4377c7] ***»þ´Ö·×¬ÍÑcallback´Ø¿ô [#na5be7b1] -&ref(timer.c); -ÄɲäλÅÊý¡§[[SLIM callback´ØÏ¢ ¥á¥â]] -Ãæ¿È /* get_time function */ # include <time.h> # include "../lmntal_ext.h" void gettime(ReactCxt rc, LmnMembrane *mem, LmnAtom a0, LmnLinkAttr t0) { double *t = LMN_MALLOC(double); *t = (double)clock() / CLOCKS_PER_SEC; lmn_mem_newlink(mem, a0, LMN_ATTR_MAKE_LINK(0), LMN_ATTR_GET_VALUE(t0), (LmnWord)t, LMN_DBL_ATTR, 0); lmn_mem_push_atom(mem, (LmnWord)t, LMN_DBL_ATTR); } void init_timer(void) { lmn_register_c_fun("gettime", gettime, 1); } -¼Â¹ÔÎã(b¤Ø¤Î²Ã»»¤Ë¤«¤«¤ë»þ´Ö¤Î¤ß¬¤ë) a(0). a(A) :- A<500000, A1=A+1 | a(A1). a(500000) :- b(0), '$callback'(gettime, start). b(B) :- B<500000, B1=B+1 | b(B1). b(500000) :- '$callback'(gettime, end). end(X), start(Y) :- Z=X-.Y | time(Z). **2010-06-22 [#ua4377c7] ***uniq for nd [#l9939c62] -Ëì¤Î¥À¥ó¥×(--nd)¤ËÂбþ¤·¤¿¡¢µ¤¤¬¤¹¤ë --Ë줬»ý¤Ä¥ë¡¼¥ë¥»¥Ã¥ÈÇÛÎó¤ò¥Ð¥¤¥Ê¥ê¥¹¥È¥ê¥ó¥°¤Ë½ñ¤¹þ¤ó¤Ç¤¤¤ë --- membrane.h¤Ë¥´¥ß¤¬Æþ¤Ã¤Æ¤ë¤è!(gocho) atomlist_gelmn_mem_get_rulesett_record --- ËÜÅö¤Ë¡¢¿½¤·(ά) --mem-enc¤ËÂбþ¤µ¤»¤ë¤Ê¤éÍúÎòɽ¤ÎÃæ¿È¤òÁ´Éô½ñ¤¹þ¤Þ¤Ê¤¤¤È¤¤¤±¤Ê¤¤¤«¤â -ȯɽ»ñÎÁ --³µÍפΤ¢¤È¤Ëȯɽ¤Îή¤ì¤òÃÖ¤¯¤Î¤âÃ桹¤¤¤¤¤«¤â **2010-06-21 [#ua4377c7] -Î×»þÈÉ¥¼¥ß --hyper link¡¢flatLMNtal¤òÂоݤˤ¹¤ëÊý¸þ¤Ç **2010-06-20 [#ia80b02d] -callback´Ø¿ô³«È¯¥á¥â --rev349_2¤ò¥Æ¥¹¥ÈÍÑ¤Ë **2010-06-16 [#ia80b02d] -SWI-Prolog¥á¥â -L0 : local stack no limit -G0 : global stack ... -½Û´Ä¥°¥é¥Õ¤òÀ¸À®¤·¤Æ°ì¼þé¤ë¡¢¤â¤¦¤Á¤ç¤Ã¤ÈºÙ¤«¤¯ |N|1000|2000|4000|5000|6000|7000|8000|h |atom|0.02|0.02|0.05||||0.08| |mem|0.06|0.14|0.47|0.92|1.65|2.84|4.89| **2010-06-15 [#ia80b02d] ***¥¼¥ßȯɽ½ªÎ» [#o678b52e] -¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£ -Ëì¤òhlink¤È¤¹¤ë¤È¡¢¤É¤³¤«¤Î³¬ÁؤË°¤µ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤Î¤Ç¤Ï --¤É¤³¤Î³¬Áؤˤâ°¤µ¤Ê¤¤¡¢¤«¤Ä¼«Í³¤Ë»²¾È¤Ç¤¤ë¤è¤¦¤Ê²¿¤«¤¬¤¢¤ë¤È¤¤¤¤ --¥Û¥ó¥È¤Ïint·¿¤È¤«¤â¤É¤³¤«¤Ë°¤·¤Æ¤¤¤ë¤³¤È¤Ï˾¤Þ¤·¤¯¤Ê¤¤ -"-"¤Î̵¤¤¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯¤Ï¤¢¤ó¤Þ¤¤¤é¤Ê¤¤¤ó¤¸¤ã? --¥Î¡¼¥ÉÈֹ椬¤¢¤ë¥°¥é¥Õ¤ÏËܼÁŪ¤Ë¤¦¤ì¤·¤¯¤Ê¤¤ --Ãê¾Ý²½¤Î¤¿¤á¤Ë¤Ï¤¤¤¤¤«¤â¤·¤ì¤Ê¤¤ -ºÇŬ²½¡¢¤È¤¤¤¦Â¦Ì̤«¤é¤Ê¤é¤â¤Ã¤È½èÍý·ÏÆâÉô¤ò¤¤¤¸¤Ã¤¿¤Û¤¦¤¬¸ú²Ì½Ð¤ë --¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯¤ä¤ë°ÕµÁ¤ò¤â¤¦¤Á¤ç¤Ã¤È¹¤¯¿¼¤¯¹Í¤¨¤Ê¤±¤ì¤Ð **2010-06-11 [#y0d8265f] ***ºòÆü¤ÎÈÉ¥¼¥ß¥á¥â [#gdbd6f02] -¿Âп¡¢¤È¤¤¤¦É½¸½¤Ï¤Ê¤ó¤«¤ª¤«¤·¤¤ -+¤ÎÊý¤ò¥Ç¥Õ¥©¥ë¥È¤Ë¤·¤Æʸ»ú¿ô¸º¤é¤¹¤È¤« -³¬ÁØ̵»ë¤ÇºîÍѤ¹¤ë¥ë¡¼¥ë¤¬Ìµ¤¤ -¥ë¡¼¥È¤«¤é¤Î¥×¥í¥¥·¥¢¥È¥à¤Î¥Ä¥ê¡¼¤òºî¤ë¤È¤« -½¸¹ç±é»»¤Îµ¡Ç½¤¬¤¢¤ó¤Þ¤ê¤Ê¤¤¡¢ËìÆâ¤Î¥¢¥È¥à¿ô¤¬Ê¬¤«¤ë¤È¤« **2010-06-10[#q8663905] ***hyperlink : ÌÑÁÛ [#z4cb9acd] -Ʊ¤¸¥ê¥ó¥¯Ì¾¤Î3²ó°Ê¾å¤Î½Ð¸½¤òµö¤¹¡¢¤È¤¹¤ë --=ÆâÉôŪ¤Ë¤Ï·Ú¤¤Ëì¤Çhyperlink¤òɽ¸½¤·¤Æ¤¤¤ë¡¢¤È¤¹¤ë -¤³¤ÎÆó¤Ä¤Îɽ¸½¤òʬ¤±¤¿¤Û¤¦¤¬¤¤¤¤¤Î¤Ç¤Ï --a.¿¿ô¤È¿¿ô¤ÎÀܳ´Ø·¸(¿Âп) --b.¿¿ô¤¬°ì¤Ä¤Î¶¦Ḁ̈ǡ¼¥¿¤ò»²¾È¤·¤Æ¤¤¤ë(¿Âаì) ---b¤Ï¤É¤Á¤é¤«¤È¤¤¤¦¤È¶¦ÍÊÑ¿ôŪ¤Ê´¶¤¸¡¢¤È¤ê¤¢¤¨¤º¥Ç¡¼¥¿¤ÎÊѹ¹ÊýË¡¤Ï¸å²ó¤· -¤Þ¤º¤Ï¸½¾õ¤Î(flat¤Ê)LMNtal¤Ç¤Ç¤¤½¤¦¤Ê¤³¤È¤À¤± -a. 1. %Âçʸ»úËì̾¤Ï̵Íý¤À¤±¤É a(!+P), b(!+P), c(!+P). %% a(!P+), a(+!P). <==> a(L1), b(L2), c(L3), P{+L1, +L2, +L3}. 2. a(!+P), b(!+P), c. a(!+X), b(!+X), c :- a(!+X), b(!+X), c(!+X). <==> a(L1), b(L2), P{+L1, +L2}, c. a(L1), b(L2), P{+L1, +L2, $p}, c :- a(L1), b(L2), c(L3), P{+L1, +L2, +L3, $p}. 3. %a,b¤Èc¤¬Æ±¤¸½¸¹ç¤Ë°¤¹¤ë¤«¤òÄ´¤Ù¤ë a(!+P), b(!+P), c(!+Q). a(!+X), b(!+X), c(!+Y) :- !+X \= !+Y | a(!+X), b(!+X), ok(!+Y). <==> %_A, _B¤ÏËì̾ÊÑ¿ô¤ß¤¿¤¤¤Ê¤â¤Î¤È¤¹¤ë a(L1), b(L2), P{+L1, +L2}, c(L3), Q{+L3}. a(L1), b(L2), _A{+L1, +L2, $p}, c(L3), _B{+L3, $q} :- _A \= _B | a(L1), b(L2), _A{+L1, +L2, $p}, ok(L3), _B{+L3, $q}. %%Èæ³Ó¤Î¸úΨ¤òÎɤ¯¤Ç¤¤Ê¤¤¤« 9. %ËìÆâ¤Î+¤Î¸Ä¿ô¤ò¥¬¡¼¥É¾ò·ï¤Ë¤¹¤ë %java¤Ë¤ÏËìÆ⥢¥È¥à¿ô¤ò¿ô¤¨¤ë¥¬¡¼¥É¤¬¤¢¤ë? a(!*P) :- !*P > 3 | ok(!*P). <==> a(X), _A{+X, $p} :- \+($p=("-", $pp)), atomnum? > 3 | ok(X), _A{+X, $p} -b. -:[0,1]¸Ä, +:[1,inf]¸Ä¤È¤¹¤ë ( -L ¤Ï "-"(L) ) 4. %¶¦ÍÊÑ¿ô¤Ø¤ÎÃͤÎÂåÆþ¡¢¤Î¤è¤¦¤Ê a(!+P), b(!+P), !-P = 3. <==> a(L1), b(L2), data(3, D), P{+L1, +L2, -D}. 5. a(!-X) :- !-X =:= 3 | ok(!-X). <==> a(X), data(V, Y), _A{+X, -Y, $p} :- V=:=3 | ok(X), data(V, Y), _A{+X, -Y, $p}. %¤³¤ì¤Ï¤É¤¦¤Ê¤ë¤ó¤À¤í¤¦... a(!+X) :- ground(!+X) | ok(!+X). 6.1. %¡Ö¤³¤Î¶¦ÍÊÑ¿ô¤ËÃͤ¬Â«Çû¤µ¤ì¤Æ¤¤¤Ê¤¤¤Ê¤é5¤òÂåÆþ¤¹¤ë¡× a(!-X) :- nonvar(!-X), !-X = 5 | a(!-X). <==> a(L), _A{+L, $p} :- \+($p=("-"(A), $pp)) | a(L), data(5, D), _A{+L, -D, $p}. 6.2. %¡Ö¤³¤Î¶¦ÍÊÑ¿ô¤ËÃͤ¬Â«Çû¤µ¤ì¤Æ¤¤¤Ê¤¤¤Ê¤é5¤òÂåÆþ¤¹¤ë¡× a(!-X) :- nonvar(!-X), !-X = 5 | a(!-X). <==> a(L), _A{+L, $p} :- \+($p=("-"(A), $pp)) | a(L), data(5, D), _A{+L, -D, $p}. -¤³¤ì¤é¤ò³¬Áع½Â¤¤¬¤¢¤ëÃæ¤Ç¤ä¤ë¤¹¤ë¤È¤³¤ì¤ò¹Í¤¨¤ëɬÍפ¬¤¢¤ë --c.Ǥ°Õ³¬Áؤ«¤éÅù¤·¤¯»²¾È¤Ç¤¤ë(¥ë¡¼¥ë¤ÇÁàºî¤Ç¤¤ë) ---°ìÈÖ¤ä¤Ã¤«¤¤¤«¤Ê -c. 7. a(!+P), {b(!+P)}, !-P = 3. <==> a(L1), {b(L2)}, data(3, D), P{+L1, +L2, -D}. %b¤¬¤¢¤ëËìÆâ¤Ç b(!-X) :- int(!-X) | ok(!-X). <==> b(X) ... %% ̵Íý -(b-3¤È)c¤¬¸½¾õ¤ÎLMNtal¤Ç¤Ï¤¦¤Þ¤¯¤¤¤«¤Ê¤¤¡¢¤«¤Ê --¤½¤â¤½¤â³¬ÁØ¥¯¥é¥¹¥¿¥°¥é¥Õ(¤À¤Ã¤±?)¤Ëhyperlink¤¬¤¢¤ë¤È¤¤¤¦¤Î¤Ï¡¢¤É¤¦¤Ê¤ë¤ó¤À¤í¤¦ --¥×¥í¥¥·¥¢¥È¥à¤ò¤¦¤Þ¤¯Æþ¤ì¤ë¤³¤È¤Ç¤É¤¦¤Ë¤«¤Ê¤é¤Ê¤¤¤«¤Ê¤¡ --data¤Ë¥Ç¡¼¥¿¥¢¥È¥à¤¬·ë¤Ó¤Ä¤¤¤Æ¤¤¤ë¤È¤¤ÏÇÛÎó¤Ç´ÉÍý¤È¤« **2010-06-09[#q8663905] -·Ú¤¤Ëì¤òÆþ¤ì¤ë¤È¤¹¤ë¤È --+/-¥¢¥È¥à¤Î¤ß»ý¤Æ¤ë --»ÒËì¡¢¥ë¡¼¥ë¤Ï»ý¤Æ¤Ê¤¤ ---¤³¤ÎÊÕ¤ê¤Ï¤º¤Ã¤È¸À¤ï¤ì¤Æ¤ë¤³¤È --¿³¬Áؤ«¤é(Åù¤·¤¯)»²¾È¤Ç¤¤ë ---¥°¥í¡¼¥Ð¥ëÊÑ¿ôŪ¤Ê¡¢¥×¥í¥¥·¥¢¥È¥à¤òÄ´À᤹¤ë¤³¤È¤Ç¤¦¤Þ¤¯¤¤¤«¤Ê¤¤¤« --(¤Ê¤ó¤é¤«¤Î·Á¤Çdata¤ò»ý¤Ã¤Æ¤ë¤È¤·¤Æ)Ʊ¤¸data»ý¤Ä¤â¤ÎƱ»Î¤ò¤É¤¦°·¤¦¤Î¤« ---Ʊ¤¸¤Ê¤é·ë¹ç¤µ¤»¤ë¤Î¤«¡¢ ---·Ú¤¤Ë켫ÂΤδÉÍýÊýË¡¤ËÂ礤¯´Ø¤ï¤Ã¤Æ¤¯¤ë --»²¾È¥«¥¦¥ó¥È(+¥¢¥È¥à¤Î¿ô)¤òÍøÍÑ --¥Ñ¥é¥á¥¿ÉÕ¤±¤Ë¤è¤ëÆþ½ÐÎÏ¡¢¶¦Í/Èó¶¦Í¤Îɽ¸½ ---¾åÅÄÀèÀ¸¤ÎÏÀʸ([[¤³¤ì:http://link.springer.de/link/service/series/0558/tocs/t2237.htm]]¤Î19ÈÖ64ËçÌܤ¢¤¿¤ê)¤Ë¤¢¤ë¤±¤É¤â -Ëì ¢ª ·Ú¤¤Ëì(ÆâÉô¹½Â¤¡¢Ã±½ã¤Ë) ¿ÆËì¤Ø¤Î*p ·»ÄïËì¤Ø¤Î*p Âåɽ»ÒËì¤Ø¤Î*p ¢ª ÇÑ»ß Ž±ŽÄŽÑŽØŽ½ŽÄ´ÉÍýŽÊŽ¯Ž¼ŽŽÃŽ°ŽÌŽÞŽÙ ¢ª -/+´ÉÍý¤Î¤ß¤ÇºÑ¤à Ž±ŽÄŽÑ¿ô ŽÙŽ°ŽÙŽ¾Ž¯ŽÄÇÛÎó ¢ª ÇÑ»ß **2010-06-08[#q8663905] -¥¼¥ßȯɽ»ñÎÁºîÀ®¤ò»î¤ß¤ë **2010-06-04[#q8663905] *** [#hbd900b0] -̵¤«¤Ã¤¿Íýͳ¤È¤·¤Æ¡¢Ëì¤ò»È¤¨¤Ð½ñ¤±¤Á¤ã¤¦¤«¤éɬÍפʤ¤¤Ç¤·¤ç¡¢¤¬¤¢¤ë -º£¤ÎËì¤Î¤Þ¤Þ¤¸¤ã¤¤¤±¤Ê¤¤Íýͳ¤ò¤Ï¤Ã¤¤ê¤µ¤»¤Æ¤ª¤¯ --¥ê¥ó¥¯Æ±»Î¤ÎÀáÅÀ¤Ë»È¤¦¤Ë¤Ï½Å¤¤ --¤É¤Î³¬Áؤ«¤é¤âÅù¤·¤¯»²¾È¤Ç¤¤ë¤è¤¦¤Ê(¥°¥í¡¼¥Ð¥ë¤Ê)¤³¤È¤Ï½ÐÍè¤Ê¤¤(¤ä¤ê¤Ë¤¯¤¤¡©¤ä¤í¤¦¤È»×¤¨¤Ð½ÐÍ褽¤¦¤«¤Ê..) ---ºÇ½é¤Ï¥Õ¥é¥Ã¥È¤Ê¾ì¹ç¤òÁÛÄꤷ¤¿Êý¤¬¤¤¤¤¤ó¤À¤í¤¦¤±¤É¡¢ --(LMN¥ë¡¼¥ë¤Ç)Ʊ¤¸Í×ÁǤò»ý¤ÄËì¤ò·ë¹ç¤¹¤ë»þ¤ËO(Ëì¤Î¿ô^2)¤Ë¤Ê¤ë¤ó¤¸¤ã¡© ***ubuntu : µ¯Æ°¤Ç¤¤Ê¤¤ [#i88c9a6a] -¹¹¿·¤·¤¿¤éboot»þ¤Ëgrub²èÌ̤ˤʤäƵ¯Æ°¤·¤Ê¤¯¤Ê¤Ã¤¿ 01,grub>ls 02,grub>ls (hdX,Y) #find ubuntu partition 03,grub>insmod ntfs #load ntfs module 04,grub>set root=(hdX,Y) 05,grub>ls $Boot #find BOOT partition's UUID 06,grub>search --no-floppy --fs-uuid --set xxxxx # 05¤Ç½Ð¤¿UUID¤Î¸å¤í¤Îʸ»úÎó 07,grub>loopback loop0 /ubuntu/disks/root.disk 08,grub>set root=(loop0) #reset loop to loop0 09,grub>linux /boot/vmlinuzxxxxxxxxx root=/dev/sda1 loop=/ubuntu/disks/root.disk ro #load kernel 10,grub>initrd /boot/initrd.imgxxxxxxxxxxxx 11,grub>boot -¤Ç̵»öÉü³è -¤¢¤È¤Ïubuntu¾å¤ÇÁ°²ó¤ÈƱ¤¸¤è¤¦¤Ë¥«¡¼¥Í¥ë¤Î¥Ð¡¼¥¸¥ç¥ó2.6.31-20¤è¤ê¿·¤·¤¤¤ä¤Ä¤ò¥³¥á¥ó¥È¥¢¥¦¥È **2010-06-03 2[#q8663905] ***ÈÉ¥¼¥ß¤Ë¤Æ [#qfb65142] -¤ä¤Ã¤Ñ¤êËì¤ò¥æ¥Ë¥ª¥ó¤¹¤ë¡¢¤¢¤ë¤¤¤Ï¤½¤ì¤ËÁêÅö¤¹¤ë²¿¤«¤¬¤¢¤Ã¤¿¤Û¤¦¤¬¤¤¤¤¤Î¤Ç¤Ï¤Ê¤¤¤« --ÉáÄ̤ÎËì¤è¤ê¤â·Ú¤¤Ëì¡¢¤¢¤ë¤¤¤Ï¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯¤¬¤Û¤·¤¤¤«¤â¤·¤ì¤Ê¤¤ --¤É¤¦¤¤¤¦¥ë¡¼¥ë¤Ë¤Ê¤Ã¤¿¤é¥¨¥ì¥¬¥ó¥È¤Ê¤Î¤«¡¢¤Á¤ç¤Ã¤È½ñ¤¤¤Æ¤ß¤ë¤È¤¤¤¤¤«¤â --¸«¤¿ÌܤÏÊÑ¿ô3¤Äµö¤¹¤±¤É¡¢¼Â¤Ï·Ú¤¤Ëì¤ò²ð¤·¤Æ¤¤¤ë¤è¤¦¤Ê¥·¥ó¥¿¥Ã¥¯¥¹¥·¥å¥¬¡¼¤Ï¤¢¤ë¤È¤¦¤ì¤·¤¤¤«¤â **2010-06-03 [#q8663905] ***CHR : dijkstra(optimize) ¬¤ê¤Ê¤ª¤· [#i96a534e] -¥¯¥¨¥ê¤ÏRand4 (edge=node*4) |node|128|256|512|1024|2048|4096|h |normal||0.23|0.66|2.16|8.42|out of stack| |type/mode_array||0.13|0.31|1.22|3.86|out of stack| |lmn(ÁÇľ¤Ëencode)|7.95|47.21|320.72|2719.33||| ***Ëì¤Ë¤è¤ëµ¼»÷¶¦ÍÊÑ¿ô¤Ë¤Ä¤¤¤Æ(ºòÆü¤Î³¤) [#r5469161] -ºòÆü¤Ï½é´ü¥°¥é¥Õ¤òÀ¸À®¤¹¤ë»þ¤Ë¡¢´û¤ËÊÑ¿ô(Ëì)¤È¥¢¥È¥à¤¬·ë¤Ó¤Ä¤¤¤¿¾õÂÖ¤ÇÀ¸À®¤·¤Æ¤¤¤¿¡£¤¬¡¢¼ÂºÝ¤Îlmn¥×¥í¥°¥é¥à¤Ç»È¤ª¤¦¤È»×¤¦¤È¡¢(ñ½ã¤Ë¹Í¤¨¤Æ¤À¤±¤É)Î㤨¤Ð1¤ò»ý¤Ä¥¢¥È¥à¤ò a(1) :- a(A), {value(1), +A}. -¤È¤¤¤¦´¶¤¸¤ÇÊÑ´¹¤·¤¿¸å¤Ë¡¢value(1)¤ò»ý¤ÄË줬ʣ¿ô¤¢¤ì¤Ð·ë¹ç¤¹¤ë¡á¶¦ÍÊÑ¿ô²½¤¹¤ë¤È¤¤¤¦ºî¶È¤¬Æþ¤Ã¤Æ¤¯¤ë¡£ {value(X), $p}, {value(Y), $q} :- X=:=Y | {value(X), $p, $q}. -¤³¤ì¤¸¤ã·ë¶É¡¢ºòÆü¤Î'lmn'¥ë¡¼¥ë¤ß¤¿¤¤¤Ë¥¬¡¼¥É¤ÇÀ°¿ô¤òÈæ³Ó¤¹¤ëºî¶È¤òÁ´¤Æ¤ÎÃͤËÂФ·¤Æ¹Ô¤¦É¬Íפ¬½Ð¤Æ¤¯¤ëÌõ¤Ç¡¢·×»»ÎÌŪ¤Ë¤Ï²¿¤â²þÁ±¤µ¤ì¤Ê¤¤¤ó¤¸¤ã¤Ê¤«¤í¤¦¤«¡£ --¤Á¤Ê¤ß¤Ëvar module¤ò»È¤¦¤È¡¢(ºÇ°¤Î¾ì¹ç¤Ç)n=10000¤Ç155.21[sec]¤À¤Ã¤¿¡£ -¤Ç¡¢¤Þ¤¡¤½¤ì¤¬¥Ç¡¼¥¿(Ëì)¤Îunion¤ÎÏä˷Ҥ¬¤ê¤½¤¦¤Ê¤Ê¤µ¤½¤¦¤Ê¡£ ***CHR¤Î¥¨¥ó¥³¡¼¥É¤Ç¤É¤¦¤·¤Æ¤âËì¤ò»È¤Ã¤Æ¤·¤Þ¤¦Îã [#e919309a] -a¤òÁ´¤Æ¾Ã¤·¤¿¸å¤Ëflag¤ò¾Ã¤¹¡£ -chr a, a, a, flag. flag \ a <=> true. flag <=> true. -lmn { a, a, a, flag. flag, a :- flag. }. {flag, @p}/ :- . **2010-06-02 [#q8663905] ***¼Â¸³ : LMNtal vs CHR (À°¿ô¤ÎÈæ³Ó) [#c69b2962] -Ʊ¤¸Ãͤò»ý¤Ä¥¢¥È¥à¤ÎÁȤò¸«¤Ä¤±¤Æ¾Ã¤¹ -lmn(SLIM rev354) -O3 % A,B¤ÎÃͤò¥¬¡¼¥É¤ÇÈæ³Ó lmn @@ a(A), b(B) :- A=:=B | . % A,B¤¬Åù¤·¤¤¤³¤È¤¬¥Ø¥Ã¥É¤Çʬ¤«¤Ã¤Æ¤¤¤ë lmnV @@ a(A), b(B), {value(N), +A, +B} :- int(N) | . -chr(SWI-prolog 5.8.3) % À©Ìó¤ÎÀë¸À¤Ïmode/type̵¤·¡¢mode/typeͤꡢmode/type(dense_int)¤Î»°¼ïÎà chr @ a(X), b(X) <=> true. -¥¯¥¨¥ê(·×»»Î̺ǰ¤Ë¤Ê¤ë¤è¤¦¤Ë) %lmn¤Èchr3¼ïÎàÍÑ a(1), a(2), ..., a(N). b(N), b(N-1), ..., b(1). %lmnVÍÑ a(A1), b(B1), {value(1), +A1, +B1}, ...(NÈÖÌܤޤÇ) -¼Â¹Ô»þ´Ö(sec.) |N|10000|20000|40000|80000||h |lmn|1.02|3.98|16.09|66.76|O(N^2)| |lmnV|0.09|0.15|0.30|0.57|O(N)| |chr|5.40|25.57|105.49|out of stack|O(N^2)| |chr(mode/type)|0.12|0.25|0.52|1.28|O(N)| |chr(mode/type_array)|0.08|0.20|0.39|0.80|O(N)| --¤³¤ÎÎãÂê¤Ë´Ø¤·¤Æ¤Ï¡¢Ëì¤ò»È¤Ã¤Æµ¼»÷Ū¤Ê¶¦ÍÊÑ¿ô¤òɽ¸½¤·¤¿SLIM¤ÎÊý¤¬¼ã´³Áᤤ --¤¿¤ÀËì¤ÇÊÑ¿ô¤òɽ¤¹¤È¡¢Ê£¿ô¤Î³¬Áش֤Ƕ¦Í¤µ¤»¤ë¤³¤È¤ÏÆñ¤·¤¤¤ó¤¸¤ã¤Ê¤«¤í¤¦¤« --¤Þ¤¿º£²ó¤ÏlmnV¤ÏO(1)¤ÇƱ¤¸Ãͤò¸«¤Ä¤±¤Æ¤³¤ì¤ë¤¬¡¢¤è¤ê¿¤¯¤Î¥¢¥È¥à(À©Ìó)¤¬¶¦Ä̤ÎÊÑ¿ô¤ò»ý¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¤½¤Î¸Â¤ê¤Ç¤Ï¤Ê¤¤ ***CHR : option [#z48e0f3a] :- chr_option(Option, Value). - Option = check_guard_bindings, Value = on/off --off : default --on : ¥ë¡¼¥ë¤Î¥¬¡¼¥É¤ÇÊÑ¿ô¤Ø¤Îillegal¤Ê«Çû¤¬¤¢¤Ã¤¿¾ì¹ç¤Ë¼Â¹ÔÃæÃÇ --Î㤨¤Ð¼¡¤Î¥ë¡¼¥ë¤Ëquery1, query2¤ò¤½¤ì¤¾¤ìÍ¿¤¨¤ë¤È°Ê²¼¤ÎÍÍ - start(X) <=> X=1 | end(X). % query1 : Àµ¾ï (X¤ÎÃͤÈ1¤ò'Èæ³Ó'¤·¤Æ¤¤¤ë) start(1), start(2). *---> end(1), start(2). % query2 : ÃæÃÇ (X¤È¤¤¤¦ÊÑ¿ô¤Ë1¤ò'«Çû'¤·¤Æ¤·¤Þ¤Ã¤Æ¤¤¤ë) start(X). *---> start(_G25417) X = _G25417{user = ...} ; No - Option = optimize, Value = ''full''/off --off : default --full : all available optimizations --¢¤Îdebug¥â¡¼¥É¤È°ì½ï¤Ë¤Ï»È¤¨¤Ê¤¤ ---off¤Èfull¤ÎÃæ´Ö¤Ï̵¤¤¤ó¤À¤í¤¦¤«¡© - Option = debug, Value = on/off on : default off : optimize¤ò»È¤¦¤È¤¤Ï¼«Æ°Åª¤Ë¤³¤ì¡© *** CHR : ¤½¤Î¾ [#s9db9d63] - ERROR: =</2: Arguments are not sufficiently instantiated -- =< ¤ÎÎÊÑ¿ô¤ËÃͤ¬Â«Çû¤µ¤ì¤Æ¤¤¤Ê¤¤ - findall_constraint/3¡¡(shceduling.pl) --Ææ¡£ **2010-06-01 [#q8663905] ***CHR : optimize option [#e2d84380] -type/mode¤¬»È¤¨¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡ª --¼Â¹Ô¥ª¥×¥·¥ç¥ó¤Ä¤±¤Ê¤¤ã¤¤¤±¤Ê¤«¤Ã¤¿¡¢½ñ¤¤¤È¤±¤è¤½¤¦¤¤¤¦¤Î¡ª :- chr_option(optimize, full) --on¤äoff¤Ç¤â¤Ê¤¯¡¢full¤Ê¤Î¤¬¤è¤±¤¤Ê¬¤«¤ê¤Ë¤¯¤¯¤·¤Æ¤¤¤ë --¤Á¤ç¤Ã¤È¬¤Ã¤¿¤À¤±¤À¤¬¡¢À°¿ô¤ò°·¤¦¥×¥í¥°¥é¥à¤¬ÁêÅö¤Ë®¤¯¤Ê¤Ã¤Æ¤¤¤ëÍͻҡ¢ÌÀÆü¬¤í¤¦ ***¥Ò¡¼¥× [#b818c2d8] -order¤Ï¼¡¿ô¤ÈÌõ¤¹¤Î¤¬¼«Á³¡© **2010-05-28 [#q8663905] ***CHR : Union-Find algorithm [#c69b2962] -¤È¤ê¤¢¤¨¤ºÌäÂê¤ÎÆâÍƤò¤â¤¦°ìÅÙÍý²ò -ñ½ã¤Ê¤â¤Î¡¢ºÇŬ²½¤µ¤ì¤¿¤â¤Î¤òlmn¤Ë¥¨¥ó¥³¡¼¥É --½¸¹ç¤òËì¤Çɽ¤¹¤³¤È¤Ï²Äǽ¤Ê¤ó¤À¤í¤¦¤«¡© ***memo [#u83e7b4c] -»²¾È¥«¥¦¥ó¥È¡¢¥Þ¡¼¥¯¥¢¥ó¥É¥¹¥¤¡¼¥× **2010-05-27 [#q8663905] ***CHR : dijkstra¤Îtype/mode [#kb505e2f] -ÏÀʸ¤ÎÊý¤Ç¤Ïtype/mode¤ÎÍ̵¤Ç·×»»Î̤¬ÊѲ½¤·¤Æ¤¤¤ë¤¬¡¢¼ê¸µ¤ÎSWIprolog¤Ç¤ÏÆ°¤¤¤Æ¤¤¤ë¤Î¤«¤è¤¯Ê¬¤«¤é¤Ê¤¤ --dense_int¤ò»È¤¦¤È¼Â¹Ô»þ´Ö¤¬ÊѤï¤ë¡ÊµÕ¤ËÃÙ¤¯¤Ê¤Ã¤¿¤±¤É¡Ë·ë²Ì¤¬¤¢¤Ã¤¿¤«¤é¡¢²¿¤é¤«¤Î±Æ¶Á¤Ï½Ð¤Æ¤¤¤ë¤è¤¦¤À¡¢¤Ç¤âÆæ -¾¤Ë¤ÏUnion-find¤Ç¤âIndex¤¬»È¤ï¤ì¤Æ¤¤¤ë¤è¤¦¤À ***CHR : partner(passive)constraint¤Îõº÷ [#l219f1ac] -¶¦Í¤ÎÊÑ¿ô¤ò¤¦¤Þ¤¯ÍøÍѤ·¤Æ¥Ñ¡¼¥È¥Ê¡¼¤Îõº÷¤òÁ᤯¤·¤Æ¤Û¤·¤¤¡¢Ã¯¤«¤Ë **2010-05-26 [#q8663905] ***OpenOffice:Âпô¥°¥é¥Õ [#u5819d25] -½ñ¼°¢ª¼´¢ªY¼´¢ª¥¹¥±¡¼¥ë¥¿¥Ö **2010-05-24 [#q8663905] -¤¤¤í¤¤¤íÀ°Íý ***dense_int [#maaaf4e7] -¥Ï¥Ã¥·¥å¥Ù¡¼¥¹¤ÎÀ©Ì󥹥ȥ¢¤È¤ÏÊ̤ˡ¢ÇÛÎó·Á¼°¤ÎÀ©Ì󥹥ȥ¢¤òÍÑ°Õ¤·¡¢¤½¤³¤Ëdense_int·¿¤Ç¥¤¥ó¥Ç¥Ã¥¯¥¹ÉÕ¤±¤·¤Æ³ÊǼ¤¹¤ë --¥Ï¥Ã¥·¥å¤Î·×»»²ó¿ô¤ò¸º¤é¤»¤ë¡¢¾×ÆͤòÈò¤±¤ë¤³¤È¤¬¤Ç¤¤ë --¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ë»È¤ï¤ì¤ëÀ°¿ô¤Î¸Ä¿ô¤¬[0,n]´Ö¤Ç¤¢¤ëÄøÅÙ¿¤¤(Ç»¤¤=dense)¾ì¹ç¤Ë¸ú²Ì¤òȯ´ø¤¹¤ë¡¢¤é¤·¤¤ -Indexing tequnic¤È¤Î´Ø·¸¤ò¤â¤¦¾¯¤·¸«¤¿¤¤ --chapter 9 join ordering¤â»²¹ÍÄøÅÙ¤Ë -dijkstra_fheap¤Î·×¬ ***¤Û¤« [#q8c3f6dc] -prolog¤Î¥Þ¥Ã¥Á¥ó¥°¤Ï¤É¤¦¤Ê¤Ã¤Æ¤ë¡© -edge(X,Y)·Á¼°¤À¤È·×»»Î̤Ϥɤ¦¤·¤Æ¤â¿¤¯¤Ê¤ë --¥¢¥È¥à¤Î°ú¿ô¤Î¿ô¤ò¥ë¡¼¥ë¤Î¾ò·ï¤Ë¤Ç¤¤¿¤é... **2010-05-19 [#z74307c0] ***callback : graph_gen_nocycle_uniq [#m6bd5f6d] -dijkstra¤Î¥×¥í¥°¥é¥à¤ÏÍ¿¤¨¤ë¥°¥é¥Õ¤Ë¿§¡¹Ãíʸ¤¬Â¿¤¤ -ÊÄϩ̵¤·¤«¤ÄƱ¤¸edge¤¬2¤Ä°Ê¾å¸ºß¤·¤Ê¤¤¥°¥é¥Õ¤òÀ¸À® --´Ø¿ô̾¤¬¤ª¤â¤¤¤Ä¤«¤Ê¤¤ void graph_gen_nocycle_uniq(ReactCxt rc, LmnMembrane *mem, LmnAtom a0, LmnLinkAttr t0, LmnAtom a1, LmnLinkAttr t1, LmnAtom a2, LmnLinkAttr t2, LmnAtom a3, LmnLinkAttr t3) { int n = (int)a1, m = (int)a2, r = (int)a3; LmnSAtom sa; const char *s; if (LMN_ATTR_IS_DATA(t0)) { switch (t0) { case LMN_INT_ATTR: break; case LMN_DBL_ATTR: break; default: break; } } else { /* symbol atom */ s = (const char *)LMN_SATOM_STR(a0); } int a[m], b[m]; int i, j, k, flag = 0; srand(time(NULL)); for (i = 0; i < m; i++) { a[i] = rand() % n + 1; if (a[i] == 100) a[i]--; b[i] = a[i] + rand() % (n - (a[i] - 1)); if (a[i] == b[i]) a[i]--; } while(!flag){ flag = 1; for (i = 0; i < m; i++) { for (j = 0; j < m; j++) { if (i != j && a[j] == a[i] && b[j] == b[i]) { a[j] = a[j] / 2; b[j] = a[j] + rand() % (n - a[j]) + 1; flag = 0; } } } } for (i = 0; i < m; i++){ sa = lmn_mem_newatom(mem, lmn_functor_intern(ANONYMOUS, lmn_intern(s), 3) ); k = rand() % r + 1; lmn_mem_newlink(mem, sa, LMN_ATTR_MAKE_LINK(0), 0, (LmnWord)a[i], LMN_INT_ATTR, 0); lmn_mem_push_atom(mem, a[i], LMN_INT_ATTR); lmn_mem_newlink(mem, sa, LMN_ATTR_MAKE_LINK(0), 1, (LmnWord)b[i], LMN_INT_ATTR, 1); lmn_mem_push_atom(mem, b[i], LMN_INT_ATTR); lmn_mem_newlink(mem, sa, LMN_ATTR_MAKE_LINK(0), 2, (LmnWord)k, LMN_INT_ATTR, 2); lmn_mem_push_atom(mem, k, LMN_INT_ATTR); } lmn_mem_delete_atom(mem, a0, t0); lmn_mem_delete_atom(mem, a1, t1); lmn_mem_delete_atom(mem, a2, t2); lmn_mem_delete_atom(mem, a3, t3); } **2010-05-18 [#z74307c0] -25. **2010-05-17 [#z74307c0] ***prolog : setof [#z3bb4037] -listdom.pl¤Ç¤Î½¸¹çÍ×ÁǤβû» ... all_addition(L1,L2,L3) :- setof(Z, X^Y^(member(X,L1), member(Y,L2), Z is X + Y), L3). ... --¼ÂÁõ¤¬¤É¤¦¤Ê¤Ã¤Æ¤¤¤ë¤Î¤«Ä´¤Ù¤¿¤±¤É¤è¤¯¤ï¤«¤é¤Ê¤«¤Ã¤¿ --¤¿¤ÀŤµN¤Î¥ê¥¹¥È¤ËÂФ·¤ÆO(N^2)¤À¤Ã¤¿¤Î¤Ç¡¢ÆÃÊÌÊѤï¤Ã¤¿¼ÂÁõ¤¸¤ã¤Ê¤µ¤½¤¦¡© ---LMNtal¤Ç¤â¤ä¤Ã¤Ñ¤êN^2¤¬ºÇ®¤À¤í¤¦¤« **2010-05-14 [#z74307c0] ***CHR¤Îlistdom.pl [#z3bb4037] -X lt Y ¤Ã¤Æñ¤Ëmax(X)<max(Y)¤Ê¤ó¤À¤í¤¦¤«¡¢¾¯¤Ê¤¯¤È¤â¼Â¹Ô·ë²Ì¤Ï¤½¤¦¤ß¤¨¤ë -¤À¤È¤·¤Æ¤â¤Ê¤ó¤À¤«¤Á¤ã¤ó¤È½ñ¤«¤ì¤Æ¤Ê¤¤µ¤¤¬¤¹¤ë¤Ê ***UNYO¤Î¥Ð¥°¡©¡Ê´û¤ËÊó¹ð¤µ¤ì¤Æ¤¤¤¿¡Ë [#z3bb4037] -''(Äɵ)Java¥³¥ó¥Ñ¥¤¥é¤Î¥Ð¥°¤À¤Ã¤¿¤ß¤¿¤¤'' --[[¸À¸ìÈɥХ°Êó¹ð:http://www.ueda.info.waseda.ac.jp/lmntal/local/pukiwiki.php?%A5%D0%A5%B0%CA%F3%B9%F0]] &br; -LE1.3.5¤ËƱÉõ¤µ¤ì¤Æ¤¤¤ëUNYO3G¤Ç¤Î¸½¾Ý -¡ÖÍ×ÁǤ¬°ì¤Ä°Ê¾åÆþ¤Ã¤Æ¤¤¤ë(¶õ( [] )¤¸¤ã¤Ê¤¤)¥ê¥¹¥È¡×¤Ë¥Þ¥Ã¥Á¤¹¤ë¤è¤¦¤Ê¥ë¡¼¥ë¤ò½ñ¤¤¿¤¯¤Ærule1¤ÎÍͤˤ·¤¿ list(x, [1,2,3]), list(x, [4,5,6]). rule1 @@ %¶õ¤¸¤ã¤Ê¤¤¥ê¥¹¥È¤Ë¥Þ¥Ã¥Á¤¹¤ë¥ë¡¼¥ë list(X1, [Y1 | L1]), list(X2, [Y2 | L2]) :- X1 = X2 | merge(X1, [Y1 | L1], [Y2 | L2]). rule2 @@ %rule1¤òŬÍѸ塢ŬÍѤµ¤ì¤ë¥ë¡¼¥ë merge(X, L1, L2) :- ground(L1), ground(L2) | end(X). -Java¡¢SLIM¤Ç¼Â¹Ô¤¹¤ë¤ÈÀµ¾ï¤À¤¬¡¢¤³¤ì¤òUNYO¤ÇÆ°¤«¤¹¤È¤Ê¤ó¤«¥ê¥ó¥¯¤¬¤ª¤«¤·¤¯¤Ê¤Ã¤¿ #ref(unyo_bug.png) [Step: 0] list(x,[1,2,3]), list(x,[4,5,6]) [Step: 1] merge(x,[1,2,3],[L1|L10]), '.'(6,[],L23), '.'(5,L23,L10), 4=[L1|L10] -¤³¤Î¤¢¤Èrule2¤¬Å¬ÍѤµ¤ì¤ë¤ÈÍî¤Á¤ë --ground¥Á¥§¥Ã¥¯Ãæ¤Ë¥°¥é¥Õ¤¬ÅÓÃæ¤ÇÅÓÀÚ¤ì¤Æ¤ë¤«¤é¡© -2G¤Ç¤âÍî¤Á¤¿¡ª -rule1¤Î¥¬¡¼¥É¡ÊX1=X2¡Ë¤¬´Ø·¸¤·¤Æ¤¤¤ë¤Î¤«¤â¡¢unary(X1), unary(X2)¤È¤«¤Ë¤¹¤ë¤ÈÂç¾æÉ× --list¤ò1²Á(list = [1,2,3]¤È¤«)¤Ë¤·¤Æ¡¢X1=X2¤ò¹Ô¤ï¤Ê¤¤¤è¤¦¤Ë¤·¤¿¤éÂç¾æÉפÀ¤Ã¤¿¡¢¤ä¤Ã¤Ñ¤êX1=X2¤¬¤¤¤±¤Ê¤¤¡© --merge¤ÎÂè°ì°ú¿ô¤ËX1¤òÆþ¤ì¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤ÈÂç¾æÉס¢¥¢¥È¥à¤ÎºÆÍøÍѤ¬´Ø·¸¤·¤Æ¤¤¤ë¤Î¤«¡© -rule1¤ò¤³¤¦¤¹¤ì¤ÐÂç¾æÉפÀ¤±¤É¡¢¥ê¥ó¥¯¤ÎÀ褬¥ê¥¹¥È¹½Â¤¤Ê¤é¤Ð¥Þ¥Ã¥Á¤¹¤ë¤è¤¦¤Ê¥ë¡¼¥ë¤Î¤¤ì¤¤¤Ê½ñ¤Êý¤Ï¤Ê¤¤¤â¤Î¤« list(X1, L1), list(X2, L2) :- X1 = X2 | merge(X1, L1, L2). **2010-05-13 [#b773aa72] ***callback´Ø¿ô : integer_int2float [#x3e70a0e] void integer_int2float(ReactCxt rc, LmnMembrane *mem, LmnAtom a0, LmnLinkAttr t0, LmnAtom a1, LmnLinkAttr t1) { int i = a0; double *d = LMN_MALLOC(double); *d = i * 1.0; lmn_mem_newlink(mem, a1, LMN_ATTR_MAKE_LINK(0), LMN_ATTR_GET_VALUE(t1), (LmnWord)d, LMN_DBL_ATTR, 0); lmn_mem_push_atom(mem, (LmnWord)d, LMN_DBL_ATTR); lmn_mem_delete_atom(mem, a0, t0); } ***Prolog : delete [#xf5264c2] delete([1,3,2,3],3,X) ----> X = [1,2]. ***ÈÉ¥¼¥ß [#ma2efd4a] -°ì¤Ä¤ÎÎãÂê¤ò¤â¤¦¾¯¤·ºÙ¤«¤¯¸«¤Æ¤ß¤è¤¦ --¥Ç¡¼¥¿É½¸½¤ä¥ë¡¼¥ë¤Î¹©Éפʤ󤫤Ǥ³¤ì°Ê¾å²þÁ±¤Ç¤¤Ê¤¤¤È¤¤¤¦¤È¤³¤í¤Þ¤Ç¤â¤Ã¤Æ¤¤¤¯ **2010-05-12 [#v8b22e83] ***[[New CHR website:http://dtai.cs.kuleuven.be/projects/CHR/index.shtml]] [#d611aeec] -¥ê¥Ë¥å¡¼¥¢¥ë¤µ¤ì¤Æ¤Æ¤Ó¤Ã¤¯¤ê **2010-05-11 [#ad793772] **2010-05-11 [#geafcdc0] *** CHR : \+ : and¤ÎÈÝÄê? [#qb484449] - A=B¢ËC=D¤ÎÈÝÄê¤Ê¤Î¤Ç¡¢A\=B¢ÊC\=D¤«¤Ê¡¢¼Â¹Ô¤·¤Æ¤ß¤ë¤È¤½¤¦¤Ê¤Ã¤Æ¤¤¤ëÍͤÀ ... <=> \+ (A=B, C=D) | ... **2010-05-09 [#k1072db1] ***listdom.pl : ¥¨¥ó¥³¡¼¥É´°Î»¡©[#x88b5a48] -¥¨¥ó¥³¡¼¥É¤Ç¤¤¿¤È»×¤¦¡¢¤«¡¼Èè¤ì¤¿ **2010-05-08 [#ad793772] **2010-05-08 [#u021c55c] ***listdom.pl [#x88b5a48] lt : less than le : less than or equal ne : X ne Y, Y::[*]¤Ç*¤«¤éX¤ò¼è¤ê½Ð¤¹? **2010-05-07 [#ad793772] **2010-05-07 [#r6d43f00] ***callback´Ø¿ô : graph_gen [#ef895289] -(Name, M, N, R)¤Ç1-R´Ö¤ÎÍð¿ô¤ò°ú¿ô¤Ë»ý¤ÄM²Á¤ÎName¥¢¥È¥à¤òN¸ÄÀ¸À® /* * (Name, M, N, R): * * Name = symbol atome * M, N, R = integer * * Create random integer sets. * * <------------- M ---------------------> * 1) 'Name'(rand()%R+1, rand()%R+1, ..., rand()%R+1), * 2) 'Name'(rand()%R+1, rand()%R+1, ..., rand()%R+1), * ... * N) 'Name'(rand()%R+1, rand()%R+1, ..., rand()%R+1). * */ void graph_gen(ReactCxt rc, LmnMembrane *mem, LmnAtom a0, LmnLinkAttr t0, LmnAtom a1, LmnLinkAttr t1, LmnAtom a2, LmnLinkAttr t2, LmnAtom a3, LmnLinkAttr t3) { int m = (int)a1, n = (int)a2, r = (int)a3; int i, j, v; LmnSAtom sa; const char *s; if (LMN_ATTR_IS_DATA(t0)) { switch (t0) { case LMN_INT_ATTR: break; case LMN_DBL_ATTR: break; default: break; } } else { /* symbol atom */ s = (const char *)LMN_SATOM_STR(a0); } for (i = 0; i < n; i++){ sa = lmn_mem_newatom(mem, lmn_functor_intern(ANONYMOUS, lmn_intern(s), m) ); for (j = 0; j < m; j++) { v = rand() % r + 1; lmn_mem_newlink(mem, sa, LMN_ATTR_MAKE_LINK(0), j, v, LMN_INT_ATTR, j); lmn_mem_push_atom(mem, v, LMN_INT_ATTR); } } lmn_mem_delete_atom(mem, a0, t0); lmn_mem_delete_atom(mem, a1, t1); lmn_mem_delete_atom(mem, a2, t2); lmn_mem_delete_atom(mem, a3, t3); } -¤³¤ó¤Ê´¶¤¸ '$callback'('graph_gen', edge, 3, 4, 10). ----> edge(7,1,4). edge(4,8,6). edge(2,6,10). edge(1,5,10). ***prolog : cut(!) [#b25eb2f7] -¥Ð¥Ã¥¯¥È¥é¥Ã¥¯¤òÀ©¸æ¤¹¤ëcut¤Ë¤Ä¤¤¤Æ 1) ticket(Age, Money) :- Age < 13, Money is 500. 2) ticket(Age, Money) :- Money is 1000. --rule1¤¬ºÆ»î¹Ô¤·¤¿¤È¤¤Ë¡¢Age¤Ë´Ø·¸Ìµ¤¯rule2¤¬É¾²Á¤µ¤ì¤Á¤ã¤¦ 1) ticket(Age, Money) :- Age < 13, Money is 500, !. 2) ticket(Age, Money) :- Money is 1000. --´¶Ã²Éä¤Ç¥Ð¥Ã¥¯¥È¥é¥Ã¥¯¤òÀ©¸æ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤ **2010-05-07 [#ad793772] **2010-05-07 [#u6025650] ***callback´Ø¿ô¤ò¿¨¤Ã¤Æ¤ß¤¿ [#na78e819] -[[SLIM callback´ØÏ¢ ¥á¥â]] &br; ***¤³¤ó¤Ê¤Î¤¬¤¢¤Ã¤¿¤Î¤«¡¢¥³¥í¥óµË¡¡© [#vf356b38] x :: [1,2,3], y : [4.5.6]. ----> <Java½èÍý·Ï> '::'(x,[1,2,3]). y:[4,5,6]. <SLIM> '.'(1,[2,3],'::'(x)). '.'(4,[5,6],':'(y)). -¤³¤ì¤Ïerror [4.5.6] : y. -¥Á¥ë¥À¤È¤«_¤È¤«¤â»î¤·¤Æ¤ß¤¿¤±¤É¡¢¤³¤¦¤¤¤¦É÷¤ËÆÃÊÌ°·¤¤¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤Ï¸«Åö¤¿¤é¤Ê¤«¤Ã¤¿ &br; -eclipse ¹ÔÈÖ¹æ¤Îɽ¼¨ ++¡Ö¥¦¥£¥ó¥É¥¦¡×>¡ÖÀßÄê¡×>¡Ö°ìÈÌ¡×>¡Ö¥¨¥Ç¥£¥¿¡×>¡Ö¥Æ¥¥¹¥È¡¦¥¨¥Ç¥£¥¿¡× ++¡Ö¹ÔÈÖ¹æ¤Îɽ¼¨¡×¤Ë¥Á¥§¥Ã¥¯ **2010-05-06 [#ad793772] **2010-05-06 [#i6803b6f] ***CHR encoding [#abc74552] -À©Ìó¥×¥í¥°¥é¥ß¥ó¥°Åª¤ÊÎãÂê¤òencode¥Ú¡¼¥¸¤ËŽ¤ÃÉÕ¤±¤ë --Ž¤ÃÉÕ¤±¤Æ¾¯¤·À°·Á¤·¤Æ¤ß¤¿ -¤ä¤ê¤«¤± --TM, RAM, Floyd-Warshall **2010-05-03 [#ad793772] **2010-05-03 [#ya3df301] ***Floyd-WarshallË¡¤Î²òÀâ¤òÆɤó¤Ç¤ß¤¿ [#h38b6bc4] -¤¢¤Î¥¢¥ë¥´¥ê¥º¥à¤ò¤½¤Î¤Þ¤ÞLMNtal¤Ç½ñ¤±¤ë¤Î¤« --½ñ¤±¤½¤¦¤«¤â¡©¤Á¤ç¤Ã¤È½ñ¤¤¤Æ¤ß¤ë -CHRʸ¸¥Æâ¤Î¥Ù¥ó¥Á¥Þ¡¼¥¯¤Ë¤¿¤Þ¤Ë"FLOYD-WARSH(N)"¤Æ¤Î¤¬¤¢¤ë¡¢¤è¤¯Ä´¤Ù¤ë **2010-05-02 [#ad793772] **2010-05-02 [#o824d9ad] ***ubuntu kernel panic! [#g4982e04] -ubuntu¤òupdate¤·¤ÆºÆµ¯Æ°¤·¤¿¤ékernel panic! --¸¡º÷¤¹¤ë¤ÈLinux 2.6.31-21-generic¤Ç¤Ï³ä¤È¿¤¯µ¯¤³¤Ã¤Æ¤¤¤ë¤ß¤¿¤¤ --GWÁ᡹¤¶¤±¤ó¤Ê¡¢¤È¤¤¤¦¤ï¤±¤Ç /boot/grub/grub.cfg¡¡¤Î Linux 2.6.31-21-generic¡¡¤ÎÉôʬ¤ò¥³¥á¥ó¥È¥¢¥¦¥È --¤·¤Æ¤È¤ê¤¢¤¨¤º²óÈò -ubuntu¤ÎÆüËܸìÊÑ´¹¥Ñ¥Ë¥¯¤Ã¤Æ¤¤¤ë ¤ê¤è¤¦¤·¤ä¤¹¤¤¤«¤¿¤Á¤Ç ÍýÁÛ : ÍøÍѤ·°×¤¤·Á¤Ç ¸½¼Â : ÍýÍƻդ䥹¥¤¥«¤¿¤Á¤Ç -ÎØÆɤÎôÅöÉôʬ¤òÆɤó¤Ç¤ß¤¿ --¤Ê¤ó¤«¥×¥í¥»¥¹¤Ã¤Æ¸ÀÍÕ¤ÎÄêµÁ¤È¡¢Java¤Ç¤Ï¤É¤¦¤ä¤Ã¤Æ»È¤¦¤«¤ß¤¿¤¤¤ÊÏäФ䫤ê¤À¤Ã¤¿ --ÎãÂê¤ò¤µ¤é¤Ã¤Èή¤·¤Æ¤·¤Þ¤Ã¤¿¤¬¡¢¸åĮʬ¤ÎÆâÍƤ¬Çö¤¤¤Ê¤é¤³¤³¤â¤Á¤ã¤ó¤È¥¹¥é¥¤¥É¤ËÀ¹¤ê¹þ¤ó¤À¤Û¤¦¤¬¤¤¤¤¤«¤È **2010-04-27 [#ad793772] **2010-04-27 [#df9764f6] ***CHR encoding [#q314b718] -CHR encoding¤Î¥Ú¡¼¥¸¤òÀ°·Á¤·¤Æ¤ß¤¿¤¬¡¢¤¦¤¦¤à -CHR¤Îʸ¸¥¤ò¤¢¤µ¤Ã¤Æ¤¤¤¿¤é¡¢¤¤¤¯¤Ä¤«¿·¤·¤¤ÎãÂê¤ò¸«¤Ä¤±¤¿¤Î¤Ç¤Á¤ç¤Ã¤È½ñ¤¤¤Æ¤ß¤ë -ÎØÆɤò˺¤ì¤Ê¤¤¤è¤¦¤Ë¤·¤Ê¤¤¤È &br; -¥¥ä¥Î¥ó¤Î¥á¡¼¥ê¥¹ºî¤Ã¤¿ **2010-04-26 [#ad793772] **2010-04-26 [#y059c76f] ***[[¸À¸ìÈÉ¥í¡¼¥«¥ë/CHR encoding:http://www.ueda.info.waseda.ac.jp/lmntal/local/pukiwiki.php?CHR%20encoding]] [#j4ccfc88] -¤È¤ê¤¢¤¨¤ººî¤Ã¤Æ¤ß¤¿¤â¤Î¤Î¡¢¤É¤¦¤¤¤¦¥ì¥¤¥¢¥¦¥È¤Ë¤·¤¿¤é¤¤¤¤¤Î¤«Çº¤à ***[[SLIM»þ´Ö·×¬]] [#db7d2000] -¤Þ¤À¤Þ¤À¾¯¤Ê¤¤¤¬¡¢ÆʹӤǤޤȤá¤Æ¤ß¤¿ -CHR¥×¥í¥°¥é¥à¤ËÍ¿¤¨¤ë¥¯¥¨¥ê¤ò¤É¤¦¤¹¤ë¤«¤Ç¤¤¤Ä¤âǺ¤à¤Î¤Ï¤Ê¤ó¤È¤«¤Ê¤é¤Ê¤¤¤â¤Î¤« &br; ***¤Û¤« [#wc9fbf9c] -dijkstra¤Ï½Å¤ß¤¬ÈóÉé¿ô¤Î¾ì¹ç¤Î¤ß»È¤¨¤ë¡¢O(V^2) -Bellman-Ford¤ÏÈóÉé¿ô¤Ç¤âok¡¢O(V^3) -Warshall-Floyd¤ÏÈóÉé¿ôok¡¢¤Ç¤â¥µ¥¤¥¯¥ë¤ËÈóÉé¿ô¤¬¤¢¤ë¤È¥À¥á¡¢O(V^3) **2010-04-25 [#ad793772] **2010-04-25 [#nde74527] ***SLIM¾¸À¸ì¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥É¥¥å¥á¥ó¥È [#g363450b] -slim/doc/foreign.txt ***system_ruleset¤Ècallback [#h40a307f] -¤³¤ó¤ÊÉ÷¤ËÁȤ߹ç¤ï¤»¤ë¤È¤ª¤«¤·¤¯¤Ê¤ë¡¢¤¢¤¿¤ê¤Þ¤¨¤« '$callback'(integer_rand, N+1, H). **2010-04-24 [#ad793772] **2010-04-24 [#af62a907] ***graph_generator.c [#w715752b] -ºî¤Ã¤Æ¤ß¤¿¡¢¸å²ù¤Ï¤·¤Æ¤¤¤Ê¤¤ --ÃÏÌ£¤Ë½Å¤ßÉÕ¤±Í¤ê̵¤·¤ä¡¢½ÐÎÏÀè¤òÁª¤Ù¤¿¤ê¤¹¤ë --¤Ê¤¼LMNtal¤Ç½ñ¤«¤Ê¤¤¤Î¤«¡¢¤È¸À¤ï¤ì¤Æ¤âÆäËÍýͳ¤Ï¤Ê¤¤¤è $ ./graph_generator name of edge (string) : edge node num (integer) : 5 edge num (integer) : 5 edges have weights? (yes:1 or no:0) : 1 max edge weights (integer) : 3 at random? (yes:1 or no:0) : 1 --------------------------------- edge(3, 2, 2). edge(1, 4, 2). edge(5, 3, 2). edge(3, 3, 2). edge(4, 5, 3). ***UNIX [#i96144f1] -script¥³¥Þ¥ó¥É **2010-04-23 [#ad793772] **2010-04-23 [#i36266fa] ***Canon»ö¶È½ê¸«³Ø²ñ [#wd4e470e] -³«È¯¿¦¤Ç¤âÍ×Áǵ»½Ñ¸¦µæŪ¤Ê»Å»ö¤â¤¢¤ë¡¢¤È¤¤¤¦¤Î¤Ï¤É¤³¤Î»ö¶È½ê¤âƱ¤¸¤é¤·¤¤ -Canon¹ç³Ê¼Ô¤Î¥á¡¼¥ê¥¹Ã´Åö¤Ë¤Ê¤Ã¤¿¡£¾Ð **2010-04-22 [#ad793772] **2010-04-22 [#kd7c0982] ***Union Find [#ic10d66a] -¥¨¥ó¥³¡¼¥É¤·¤Æ¤ß¤¿¡¢¥¯¥¨¥ê¤È¤·¤ÆÊÑ¿ô¤ÏÍ¿¤¨¤é¤ì¤Ê¤¤¤±¤É ***ºÇû·ÐÏ©ÌäÂê [#fbe7bb00] -¥°¥é¥Õ¾å¤Î1ÅÀ¤«¤é¾¤ÎÁ´¤Æ¤ÎÅÀ¤Ø¤ÎºÇûµ÷Î¥¤òµá¤á¤ë --chr_sssp : Àè½µ¤ÎÁ´ÂÐÍÑ¤Î¥×¥í¥°¥é¥à¤ò¾¯¤·ÊѤ¨¤Æ¥Î¡¼¥É1¤«¤é¤ÎºÇû·ÐÏ©¤Î¤ß¤òµá¤á¤ë ---¤¿¤Ã¤¿¤Î2¥ë¡¼¥ë ---O(N^7)¤Î¥×¥í¥°¥é¥à¤ò¡¢N¸Ä¤Î¥Î¡¼¥É¤«¤é¤Ç¤Ï¤Ê¤¯¥Î¡¼¥É1¤«¤é¤Îõº÷¤Î¤ß¤Ë¤·¤¿¤Î¤ÇO(N^6) |node|10|20|30|40|50| |time|0.02|1.15|14.47|83.96|330.00| |t/(n/10)^6|0.023|0.018|0.019|0.020|0.021| --chr_dijkstra_Fheap : ¥À¥¤¥¯¥¹¥È¥éË¡¡ÜÍ¥ÀèÅÙÉÕ¤¥¥å¡¼(¥Õ¥£¥Ü¥Ê¥Ã¥Á¥Ò¡¼¥×¤Çɽ¸½) ---O(M+NlogN)¤ÇºÇ¤â®¤¤¤È¤µ¤ì¤Æ¤¤¤ëÊýË¡¡¢M¤Ï¥¨¥Ã¥¸¿ô ---CHR¤Ç½ñ¤¤¤¿¤éO(N*I+M*D+N*E)¡¢I¤ä¤éD¤Ï¥ë¡¼¥ëŬÍѲó¿ô ---dijkstra¡ÜFheap¥â¥¸¥å¡¼¥ë¤Ç26¥ë¡¼¥ë¤¯¤é¤¤¤¢¤ë ---º£²ó¤Î¥¯¥¨¥ê¡Ê͸þ´°Á´¥°¥é¥Õ¡Ë¤Ç¤ÏO(N^4)¤è¤ê¼ã´³Ä㤤¤¯¤é¤¤¤Ë¤Ê¤ë¤Ï¤º &br; ---¤Ê¤Ã¤Æ¤¿ |node|10|20|30|40|50|60| |time|0.01|0.05|0.17|0.45|1.03|1.95| |t/(n/10)^4|0.01|0.00312|0.00213|0.00175|0.00164|0.00150| ***CHR¥×¥í¥°¥é¥ß¥ó¥°¡¢µ¤¤Ë¤Ê¤ë¤³¤È [#wc70dd00] -CHR¤ÎÎãÂê¤Ë¤Ï¡Ö½èÍý·Ï¤Î¼ÂÁõÊýˡŪ¤Ë¥ë¡¼¥ë¤ÎŬÍѽç½ø¤Ï¤³¤¦¤Ê¤ë¤Ï¤º¡×¤ò¹Íθ¤·¤Æ¥×¥í¥°¥é¥ß¥ó¥°¤·¤Æ¤¤¤ë¤â¤Î¤¬Â¿¤¤µ¤¤¬¤¹¤ë(¤È¤¤¤¦¤«Ê¸¸¥¤È¤«¤ÇÌÀ¼¨¤·¤Æ¤¤¤ë) --Î㤨¤Ð¡¢¼¡¤Î2¤Ä¤Î¥ë¡¼¥ë¤Ï¾å¤«¤é½ç¤Ëɾ²Á¤µ¤ì¤ë ---item¤¬¤¿¤¯¤µ¤ó¤¢¤ëÃæ¤Ëfindmin¤òÀ¸À®¤¹¤ë¤Èfindmin@¤¬°ìÄ̤ê¼Â¹Ô¤µ¤ì¡¢ºÇ¸å¤Ëfoundmin@¤¬¼Â¹Ô¤µ¤ì¤ë --¤Ê¤ó¤«¤º¤ë¤¯¤Ê¤¤¤«¡¢Ê̤Ëitem¤¬¤¢¤Ã¤Æ¤âfoundmin@¤¬¼Â¹Ô¤µ¤ì¤Æ¤â¤¤¤¤¤Ï¤º¤Ç¤Ï --¤½¤ì¤È¤âLMNtal¤Ç¤½¤¦¤¤¤¦½ñ¤Êý¤·¤Ê¤¤¤Î¤ÏÇϼ¯ÀµÄ¾¤¹¤®¤ë¤Î¤À¤í¤¦¤« findmin @ findmin, item(I,K,_,0,_) ==> min(I,K). foundmin @ findmin <=> true. **2010-04-21 [#ad793772] **2010-04-21 [#d1f2e80c] ***dijkstra ¤Î¥¨¥ó¥³¡¼¥É½ª¤ï¤Ã¤¿ [#hfa7d37e] ***¤½¤Î¾ [#k09b3c28] -[[2011´¡¡¼ç¤Ê´ë¶È¤ÎºÎÍÑ¿Í¿ô:http://www.nikkei.com/tech/news/article/g=96958A9C93819696E3EBE290868DE0E3E2E6E0E2E3E28698E3E2E2E2;da=96958A88889DE2E0E2E5EAE5E5E2E3E7E3E0E0E2E2EBE2E2E2E2E2E2]] -¼²¬¡¦¸åÄ®¤ò°Ö¤á¤ë(?)²ñ --À¸ * 21ÇÕ / 3¿Í = 7 [ÇÕ/¿Í] --¿ì¤¤¤Ã¤Æ»Ø¿ô´Ø¿ôŪ¤Ë¤¯¤ë¤è¤Í **2010-04-20 [#ad793772] **2010-04-20 [#i46c8317] ***dijkstra's algorithm with F-heap [#xe3774f5] -LMNtal¤Ë¥¨¥ó¥³¡¼¥ÉÃæ -Ëì¤ò»È¤¨¤Ð¤¦¤Þ¤¯¤Ç¤¤½¤¦¤Êµ¤¤¬¤·¤Ê¤¯¤â¤Ê¤¯¤â¤Ê¤¤ -memo - : ¾ï¤Ë̤«Çû¤ÎÊÑ¿ô + : ¾ï¤ËÃͤò«Çû¤µ¤ì¤¿ÊÑ¿ô ? : default. ¤É¤Ã¤Á¤Ë¤â¤Ê¤ê¤¦¤ë¡£ int : integer number dense_int : array index¤È¤·¤Æ»ÈÍѤǤ¤ë number : number float : float any : any **2010-04-19 [#ad793772] **2010-04-19 [#gb03c205] ***chr_path_N [#z8a82d70] -All Pairs Shortest Path(APSP) problem¡§Á´ÂкÇû·ÐÏ©ÌäÂê -EPSON(Quad, 2.6GHz, RAM4GB)¤Ç¼Â¸³¤·¤Æ¤ß¤¿ --¥¯¥¨¥ê¤Ï͸þ´°Á´¥°¥é¥Õ --node:edge = n:(n^2-n)/2 |node|10|20|30|40|50|60| |time|0.04|3.34|56.94|430.48|2075.18|7498.03| |t/(n/10)^7|0.04|0.2611|0.2603|0.2627|0.2656|0.2678| --O(n^7)¤Ë¤Ê¤Ã¤Æ¤¿ e(I,J1,A),e(J2,K,B) :- uniq(I,J1,K,A,B), ... | ... . n n n n n n n --º£²ó¤Ï½Å¤ß¤ÏÁ´¤Æ1¤Ê¤Î¤Ç¡¢A,B¤Ë¤Ï1¤·¤«¤³¤Ê¤¤(2°Ê¾å¤Ë¤Ê¤ë¤È1ËÜÌܤΥ롼¥ë¤Ç¾Ã¤µ¤ì¤ë) ***ÎãÂêÁý¤ä¤· [#nfd53792] -¥À¥¤¥¯¥¹¥È¥é --¥Õ¥£¥Ü¥Ê¥Ã¥Á¥Ò¡¼¥×¤òÍѤ¤¤¿ºÇŬ²½¤ÎÏÀʸ¡¢Æɤó¤Ç¤ß¤Æ¤ë -¤¢¤È¤ÏUnion find¤È¤«¤¬¤¤¤¤¤«¤Ê **2010-04-18 [#ad793772] **2010-04-18 [#qbeaf19a] ***CHR book [#ybcdcab0] -¥Ñ¥¹À°¹ç¡¢¥¢¡¼¥¯À°¹çÊÕ¤ê¤òÆɤó¤À **2010-04-17 [#ad793772] **2010-04-17 [#kd995be2] ***Propagation¤Èuniq¤Î°ã¤¤ [#k2da0ebc] -CHR¤Ç¤è¤¯¤¢¤ë·ÐÏ©´Ø·¸¤Î¿ä°ÜÊÄÊñ¤òµá¤á¤ëÎã p1 @ e(X,Y) ==> p(X,Y). pn @ e(X,Y), p(Y,Z) ==> p(X,Z). -propagation rule¤ÏƱ°ì¤Î''À©Ìó''(e¤äp)¤ËÂФ·¤Æ¹â¡¹°ì²óŬÍѤ¬µö¤µ¤ì¤ë¤¿¤á¡¢¤³¤ÎÎã¤Ëe(1,1)¤òÍ¿¤¨¤ë¤È»ß¤Þ¤é¤Ê¤¤ -uniq¤ÏÊÑ¿ôX,Y¤ÎÁȤò¸«¤Æ¤¤¤ë¤Î¤Ç¡¢e(1,1)¤òÍ¿¤¨¤Æ¤â»ß¤Þ¤ë -¤À¤«¤éÎãÂê¤Ë¤è¤Ã¤Æ¤Ï¡¢LMNtal¤ÎÊý¤¬·×»»²ó¿ô¤¬¾¯¤Ê¤¤½ñ¤Êý¤Ç¤¤ë¡¢µ¤¤¬¤¹¤ë **2010-04-16 [#ad793772] ***ubuntu¤Çchr¤òÆ°¤«¤»¤¿ [#wfab9b91] -library²¼¤Ëchr¥Ç¥£¥ì¥¯¥È¥ê¤Èchr.pl¤¬Ìµ¤«¤Ã¤¿¤Î¤¬¸¶°ø -¤¿¤Àñ½ã¤Ë¾¤Îswi-prolog¤«¤é»ý¤Ã¤Æ¤¤Æ¤â¤¦¤Þ¤¯Æ°¤«¤Ê¤¤¤³¤È¤¬Â¿¤¤ -¤È¤ê¤¢¤¨¤º¡¢°Ê²¼¤ÎÁȤ߹ç¤ï¤»¤Ê¤éÆ°¤¤¤¿ +http://www.swi-prolog.org/download/stable¤«¤é¼¡¤Î2¤Ä¤òÍî¤È¤·¤Æ¤¯¤ë --¥ê¥¹¥È¤Î¾å¤ÎÊý¤Ë¤¢¤ëLinuxÍѤΥХ¤¥Ê¥ê --²¼¤ÎÊý¤Ë¤¢¤ëSources +Sources¤ÎÊý¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë % tar zxvf pl-<version>.tar.gz % cd pl-<version>/src % ./configure % make % [su root] % make install --¤³¤³¤Ç¤È¤ê¤¨¤¢¤ºSWI-prolog¤¬Æ°¤¯¤«³Îǧ % pl Welcome to SWI-Prolog ...(ά) ?- --chr¥é¥¤¥Ö¥é¥ê¤òÆɤ߹þ¤ó¤Ç¤ß¤ë ?- [library(chr)]. --¼¡¤Î¤è¤¦¤Ê¥¨¥é¡¼¤¬½Ð¤¿¤échr¥é¥¤¥Ö¥é¥ê¤¬Ìµ¤¤ ERROR: source_sink `library(chr)' does not exist +¥Ð¥¤¥Ê¥ê¤ÎÊý¤«¤échr¥Õ¥©¥ë¥À,chr.pl¤ò»ý¤Ã¤Æ¤¯¤ë --pl-<version>.rpm¤òŬÅö¤Ê¾ì½ê¤Ë²òÅà --usr¥Õ¥©¥ë¥À¤¬½ÐÍè¤ë¤Î¤Ç¡¢ ²òÅष¤¿¾ì½ê/usr/lib/pl-<version>/library/²¼¤Îchr¥Õ¥©¥ë¥À¤Èchr.pl --¤ò¡¢ /usr/local/lib/pl-5.8.3/library/ --¤Ë¥³¥Ô¡¼¤¹¤ë +Sources¤ËÂФ·¤ÆºÆÅÙ¤Î1.¤Î./configure°Ê¹ß¤ò¼Â¹Ô --prolog¤òµ¯Æ°¤·¡¢ ?- [library(chr)]. % library(chr) compiled into chr 0.27 sec, 3,866,648 bytes true.s --¤È¤Ê¤Ã¤¿¤é¤á¤Ç¤¿¤·¤á¤Ç¤¿¤· **2010-04-15ÈÉ¥¼¥ß¸å [#ad793772] **2010-04-15ÈÉ¥¼¥ß¸å [#i09df131] ***¼¡½µ¤Þ¤Ç¤Ë [#m614fe25] --chr_path.lmn¤Î¬Äê¡¢¥ª¡¼¥À¡¼·×»»¤Ê¤É¤â¤í¤â¤í ---warahall's algorithm --benchmark set¤ÎÍÑ°Õ **2010-04-15 [#ad793772] **2010-04-15 [#t489fe6c] ***-ÈÉ¥¼¥ßÍÑ¡§¤É¤ó¤ÊÎãÂê¤òÁ᤯¤·¤¿¤¤¤Î¤« [#af00bbda] --¥í¥Ã¥¯¥Õ¥ê¡¼¤Ç¼ÂÁõ ---STM¥Ù¡¼¥¹¡© --ºÇ½é¤Ï0or1²Á¤Î¥¢¥È¥à¤ä¥ê¥¹¥È¤ò°·¤¦ÎãÂê¡ÊËì̵¤·¤Ç¡Ë --CHRŪ¤Ê²¿¤« ---ºÇû·ÐÏ©¡¢ --NESL¤ÎÎãÂê¤Ï¤É¤¦¤« ---quicksort¡§Æþ¤ì»Ò¥Ç¡¼¥¿ÊÂÎó &br; ***ubuntu¤Çlibrary(chr)¤¬¸Æ¤Ó½Ð¤»¤Æ¤¤¤Ê¤¤ [#hc7d5e97] -Ä´¤Ù¤ë **2010-04-14 [#ad793772] **2010-04-14 [#bc9ae2ef] ***ubuntu [#b57d74f1] $ uname -a ¤Ç32or64¥Ó¥Ã¥ÈÈǤ«¸«Ê¬¤±¤é¤ì¤ë ***Let's Note¤¬Ä¾¤Ã¤¿ [#rc79df66] -¥Ñ¥Ê¥½¥Ë¥Ã¥¯½¤Íý¹©Ë¼¡¢¥¤¥ó¥Ð¡¼¥¿¤Î¸Î¾ã(ÍÎÁ)¤À¤Ã¤¿¤±¤É¡¢±Õ¾½¥Ñ¥Í¥ë¤Þ¤Ç¸ò´¹(̵ÎÁ)¤·¤Æ¤¯¤ì¤¿¡¢½ÐÍè¤ë **2010-04-13 [#rc509ece] ***SLIM¤Îrule trial¤Ë¤«¤«¤ë»þ´Ö(Ä̾ï¼Â¹Ô) [#u0816253] -time_optimized_slim -¼ê»ý¤Á¤ÎÎãÂê¤Ç¤¶¤Ã¤È¼è¤Ã¤Æ¤ß¤¿¡¢ÊÔ½¸Ãæ -¤¢¤Ã¤Æ¤¤¤ë¤ó¤À¤í¤¦¤« **2010-04-09 [#rc509ece] -ÀèÀ¸¤«¤éKLIC¤ä¤éCHR¤ò»È¤¨¤ë´Ä¶¤ò¤É¤³¤«¤ËÍÑ°Õ¤·¤è¤¦¤È¤Î¤ªÏà --pave¤Ë¤ÏKLIC¤¬Æþ¤Ã¤Æ¤¤¤¿¡¢¤Ç¤â¤¦¤Þ¤¯Æ°¤«¤Ê¤«¤Ã¤¿ -NIOLO¤ËÆþ¤ì¤Æ¤ß¤è¤¦¤È¤·¤¿ --ÁªÂò»èÁª¤ó¤Ç¤¤¤Ã¤¿¤é¡¢ÅÓÃæ¤Ç̵¸Â¥ë¡¼¥×¤·¤¿¤Î¤Çº£Æü¤ÏÊüÃÖ --¤Ç¤âgocho¤Îubuntu¤Ç¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤Þ¤Ç¤Ï¤¦¤Þ¤¯¤¤¤Ã¤Æ¤¿¡¢¥Ñ¥Ã¥ÁÅö¤Æ¤ì¤Ð¤¦¤Þ¤¯¤¤¤¯¡© -NESL¤ÎÏÀʸ¤ÎÆɤßÈô¤Ð¤·¤Æ¤¿¤È¤³¤í¤ò»×¤¤½Ð¤·¤¿¡¢ÌÀÆüÆɤà --¤ä¤Ã¤Ñ¤ê¥¯¥¤¥Ã¥¯¥½¡¼¥ÈŪ¤ÊÎãÂê¤ò¤ä¤Ã¤Æ¤ß¤¿¤¤¤È¤Ï»×¤¦ **2010-04-08 [#rc509ece] -M2¥Ú¡¼¥¸ºî¤Ã¤Æ¤ß¤¿ [#f6ca3e7f] -ubuntu¤ò¿·¤·¤¤PC¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤ß¤¿ [#e4d9ba88] -KL1¤òÆ°¤«¤·¤Æ¤ß¤ë [#hbc9ed25] --KLIC¤Î¼ÂÁõ¤Ë¤Ä¤¤¤Æ ---Inside KLIC¡ÊKLIC¤ÎHP¤«¤é¡ËÆüËܸì &aname(word); *¤¦¤á¤ [#u845d424] **2010-08-05 [#d449558d] &aname(face); -2010-08-05¹¹¿· -uedaÀèÀ¸? u: :-) or ±Ô°ÕÀ½ºîÃæ -M2 i: (¢Ì ¡£¢Ì) s: (~¦Ø~ ) a: (¡¦¢Ü¡¦^) o: (¡®¡Á¡®) g: (¡^§Õ^) m: (¡®¢Ï¡) -M1 y: ¡ã(¡¦¦Ø¡¦ )¡ä¡¿ y: (¡®¸ý¡ ) or (¡®¡£¡ ) k: (o-¦Ø-o ) s: (¡÷¢à¡÷ ) s: (¢á¦Ø¢á ) q: (^»®^ ) n: (¡¡÷_¡÷¡® ) ¢ª (¡¡¡_¡¡¡® ) ¢ª (¡_¡® ) ¢ª (No Image ) ¢ª (¡¡ü_¡ü¡® )v t: (¡®¦Å¡ ) or ( ¡®§Ù¡) //-b4 // m: (¢è) // n: (^(¡ü¡ü)^ ) // m: (¡¦§ê¡¦ ) // x: (¡û¡±¡¼¡±¡û ) or (o¡±_¡±o ) // others: (@_@) **2010-04-09 [#pecf95bc] -½Õ¤À -ÇϾì±Ø¼þÊÕ¤¬¿§¡¹ÊѤï¤Ã¤Æ¤Æ¤Ó¤Ã¤¯¤ê -½¢¿¦³èÆ°½ªÎ»¡¢¸¦µæ¤¬¤ó¤Ð¤é¤Ê¤¤¤È --»³Ì¾ÀèÀ¸¤ÏÍ¥¤·¤«¤Ã¤¿¡¢Ê¸Ì̤¬hiroshi¤ÈƱ¤¸¤À¤Ã¤¿¤¬¡¢¤Ç¤âÍ¥¤·¤«¤Ã¤¿ **2010-04-08 [#pecf95bc] -¤¬¤ó¤Ð¤ê¤¿¤¤¡£