TopPage
Contents †
TODO †
- hyperlink´ØÏ¢¥³¡¼¥É¤Ë¤â¤Ã¤È¥³¥á¥ó¥È»Ä¤¹
¸¦µæÆü»ï †
2011-01-28 †
ʸ»ú¿ô¤Îº¹ †
- ³ÆÎãÂê¤Îʸ»ú¿ô¤ò¿ô¤¨¤Æ¤ß¤¿
example | atom_cmp | cycle | leq | fibonacci | union_find | *ram_simul |
lmn | 26 | 84 | 241 | 157 | 537 | 642 |
lmn-mem | 31 | 184 | 645 | 549 | 1112 | ̵Íý |
lmn-hl | 18 | 60 | 207 | 348 | 483 | 562 |
chr | 20 | 51 | 144 | 183 | 345 | 523 |
- mem¤¬¤¹¤´¤¤¤³¤È¤Ë
- *¥ë¡¼¥ë¤Ïadd,sub,cjump0,cjumpN,halt¤Î¤ß
¤Á¤Ê¤ß¤Ë †
- (¥Ï¥¤¥Ñ¡¼¤Ç¤Ê¤¤)¥°¥é¥Õ <=> °ìÈÌ¥°¥é¥Õ
- ¥Ï¥¤¥Ñ¡¼¥°¥é¥Õ <=> Ķ¥°¥é¥Õ
2011-01-27 †
- ½¤ÏÀ°ìöÄó½Ð
- JSAI2011¤Ë¿½¹þ¤ß¡¢È¯É½¤Ï¤¿¤Ö¤óÌܹõ¥Ñ¥ï¡¼¤Ë´üÂÔ¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤½¤¦
2011-01-26 †
´Ú¹ñ¤Ë·àŪ¾¡Íø †
tex¤Îɽ¤ÇÇËÀþ¤ò»È¤¨¤ë¤è¤¦¤Ë †
2011-01-25 †
unaryÍÑÈæ³Ó±é»»»Ò"\==" †
- ¤òÄɲ䷤Ƥߤ¿
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 †
ÏÀʸ¤ÇÃæ´ÖÌ¿ÎáÎó¤Î°ìÍ÷¤ò½ñ¤¤¿¤¤¤È¤ ¡Ê½¤ÀµÈÇ¡Ë †
ÏÀʸ¤ÇÃæ´ÖÌ¿ÎáÎó¤Î°ìÍ÷¤ò½ñ¤¤¿¤¤¤È¤ †
- 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 †
hyperlink : ground¥Á¥§¥Ã¥¯¤Ç¤Î¥Ð¥° †
- ºòÆüľ¤·¤¿¤È»×¤Ã¤¿¤±¤É¡¢Ä¾¤Ã¤Æ¤¤¤Ê¤«¤Ã¤¿
- ¸¶°ø¤ÏÂçÂÎÇÄ°®¤·¤¿¤±¤É¡¢¤É¤¦Ä¾¤¹¤«¤Ï¤·¤Ã¤«¤ê¹Í¤¨¤Ê¤¤¤È¤¤¤±¤Ê¤¤¤«¤â
2011-01-19¤½¤Î2 †
- 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 †
Java½èÍý·Ï¸ø³«¤Î¼ê³¤ †
2011-01-16 †
hyperlink : commit! †
- ¤·¤Æ¤·¤Þ¤Ã¤¿¡£Ã×̿Ū¤Ê¥Ð¥°¤¬¤Ê¤¤¤³¤È¤ò¤ß¤ó¤Ê¤Çµ§¤í¤¦¡£
- Äɲä·¤¿¤â¤Î
- hyperlink
- hyperlink¤òÍøÍѤ·¤¿¥Þ¥Ã¥Á¥ó¥°ºÇŬ²½µ¡Ç½¡ÊfindproccxtÌ¿Îá¤Û¤«¡Ë
- callback´Ø¿ôgettime¤È¡¢SLIM¥â¥¸¥å¡¼¥ëtime.lmn
slim419¤Çedfs_t*.il¤¬segmentation fault †
gocho¤¬Ä¾¤·¤Æ¤ë¥Ð¥°¤Ã¤Æ¤³¤ì¤«¤Ê¡©
- ¸µ¡¹--delta-mem¤ÇÆ°¤«¤Ê¤¤ÎãÂê¤À¤Ã¤¿
½¤ÏÀ¥¿¥¤¥È¥ë †
- ¿ì¤Ã¤¿Àª¤¤¤Ç¤«¤Ã¤³¤è¤µ¤²¤Ê¤Î¹Í¤¨¤Æ¤ß¤ë
ÊÂ¹Ô¥×¥í¥°¥é¥ß¥ó¥°¸À¸ìLMNtal¤Ë¤ª¤±¤ëLMNtal¥°¥é¥Õ¤Î¥Ï¥¤¥Ñ¡¼¥°¥é¥Õ¤Ø¤Î³ÈÄ¥
- LMNtalÏ¢¸Æ¤·¤Æ¤ë´¶¤¸¤Ê¤Î¤ÇµÑ²¼
2011-01-15 †
- ¥ê¥Ë¥å¡¼¥¢¥ë¡£²¿µ¤¤Ë¥µ¥¤¥È̾¤Ç¸¡º÷¤¹¤ë¤È¾å°Ì¤Ë¡£
2011-01-15 †
hyperlink : ¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯¤ÎID¤ò¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¤Ê¿ôÃÍ¤Ë †
- hyperlink¤ËÃͤòÂåÆþ¤¹¤ëÏäǤϤʤ¤
- hyperlinkÌÚ¤«¤éhyperlink¥ª¥Ö¥¸¥§¥¯¥È¤òºï½ü¤¹¤ëºÝ¡¢ÌÚ¤ÎÃæ¤Çºï½üÂоݤΥª¥Ö¥¸¥§¥¯¥È¤òÍդ˸þ¤«¤Ã¤Æ¥¹¥ï¥Ã¥×¤·¤Æ¤¤¤¡¢ÍÕ¤ËÅþ㤷¤¿»þÅÀ¤Çºï½ü¤¹¤ë¤è¤¦¤ÊºÇŬ²½(»Ò¤ò¤¿¤¯¤µ¤ó»ý¤Ã¤¿¤Þ¤Þºï½ü¤¹¤ë¤È¿§¡¹½èÍý¤¬¤«¤«¤ë)¤òÆþ¤ì¤¿¤¿¤á¡¢½¸¹ç¤òÂåɽ¤¹¤ë(root¤Î)ID¤¬¸ÇÄꤵ¤ì¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤Æ¤¤¤¿
- ¤³¤ì¤À¤ÈuniqÀ©Ìó¤ÇÍúÎò¤ò´ÉÍý¤¹¤ëºÝ¤Ë¶ì¤·¤¤
- ¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¤ÊÈÖ¹æ¤ò¤Õ¤ê¡¢uniq¤ÎÍúÎò¤ª¤è¤Óɸ½à½ÐÎÏ»þ¤Ë¤Ï¤½¤ì¤òID¤È¤¹¤ë
- hyperlink¤Îuniq¤Ø¤ÎÂбþ¡Ü½ÐÎÏ»þ¤ÎID¤Îû½Ì²½¤¬²Äǽ¤Ë
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 ====
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 †
hyperlink : ¥³¥ß¥Ã¥Èºî¶ÈÃæ †
- callback´Ø¿ô¤ò¥â¥¸¥å¡¼¥ë¤Ç¸Æ¤Ó½Ð¤»¤ëtime.lmn¤âÄɲÃͽÄê
2011-01-10 ¤½¤Î2 †
hyperlink : ¿·¡¹»ÅÍͤǤμ¸³ ram_simul_many †
N | 5k | 10k | 20k | 40k | 80k | O |
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 †
N | 5k | 8k | 10k | 16k | 20k | 32k | 64k | 128k | O |
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¡§¿·¡¹»ÅÍͤǤμ¸³ atomcmp_x3 †
- 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 |
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 †
hyperlink : Ãæ´ÖÌ¿ÎáÎó¤ÎʤÓÂؤ¨ †
- ¥³¥ó¥Ñ¥¤¥é¤ò¼ã´³Êѹ¹
- newhlink, makehlink¤Èuniq¤ÎʤÓÂؤ¨¤¬¤¦¤Þ¤¯¤¤¤Ã¤Æ¤¤¤Ê¤«¤Ã¤¿¤Î¤ò½¤Àµ¡¢¥³¥ß¥Ã¥È
- ¤Ä¤¤¤Ç¤Ë¥³¡¼¥É¤ÎÀ°Íý¤â¤Á¤ç¤Ã¤È¤ä¤Ã¤¿
2011-01-08 †
·×»»Î̤¬°¤¤·ï †
- ¸¶°ø¤¬ÇÄ°®¤Ç¤¤¿
- ¤Ê¤¼ËìÆâ¤Î¡ª¥¢¥È¥à¤òÁ´¤Æ¤µ¤é¤¦¤è¤¦¤Ë¤·¤Æ¤¤¤¿¤Î¤«¡¢Íý²ò¤Ë¶ì¤·¤à
--enable-gprof(¤È--disable-tcmalloc)¤Çallocs/frees¤Î¿ô¤¬¹ç¤ï¤Ê¤¤ †
lmntal --slimcode -e "a." | valgrind src/slim -
- valgrind¤Ç¸«¤ë¤Èfrees¤¬1¤ê¤Ê¤¤
- ²¶¤Î´Ä¶¤À¤±¤«¤Ê¡©
- 2¤Ä¤Î¥Ç¥Ð¥Ã¥¬¤òƱ»þ¤Ë»È¤¦²¶¤¬°¤¤ 2011-01-14
2011-01-07 †
fibonacci¤Èram¤ò¬Äê †
- ¥ª¡¼¥À¡¼¤¬°¤¤...
- --p3¤Ç¥Á¥§¥Ã¥¯¡¢¥ë¡¼¥ë¤ÎŬÍÑ/»î¹Ô/¥Ð¥Ã¥¯¥È¥é¥Ã¥¯²ó¿ô¤Ïµì¼ÂÁõ¤è¤ê°¤¤¥ë¡¼¥ë¤Ï̵¤¤
- ÆâÉô¼ÂÁõ¤ÎÌäÂê¡¢¸«Ä¾¤·Ãæ
- fibonacci_topdown(unify)
N | 4k | 8k | 16k | 32k | | O |
slim hlink new | 0.13 | 0.41 | 1.90 | 14.60 | | ? |
- ram_simul
N | 5k | 10k | 20k | | O |
slim hlink new | 0.66 | 3.84 | 22.60 | | ? |
2011-01-04 †
hyperlink : ½ê°Ëì¤Ø¤Î¥Ý¥¤¥ó¥¿ †
- »ý¤¿¤»¤Æ¤ª¤±¤Ð¡¢hyperlink¤«¤é¤Îfindatom¤ò¤â¤¦¾¯¤·¸úΨ²½¤Ç¤¤ëµ¤¤¬¤¹¤ë
hyperlink : ¥æ¡¼¥¶ID¤ÎÄɲø¡Æ¤ †
- µ¡Ç½¤È¤·¤Æ¤ÏÍÑ°Õ¤·¤Æ¤ª¤¤¿¤¤¡£¤¬¥Ð¥°¤¬¼è¤ì¤Æ¤«¤é...
- CHR¤Ç¤ÏƱ¤¸Ãͤò«Çû¤µ¤ì¤¿ÏÀÍýÊÑ¿ô¤¬À¸À®¤µ¤ì¤¿¾ì¹ç¤Ï¡¢À¸À®¤µ¤ì¤¿»þÅÀ¤ÇƱ¤¸½¸¹ç¤Ë°¤¹¤ë
X is 1.
hoge <=> Y is 1, v(Y).
- ¡Êɬ¿Ü¤Ç¤Ï¤Ê¤¤¤¬¡Ëhyperlink¤Ë¤â¤³¤¦¤¤¤¦µ¡Ç½¤¬¤Ê¤¤¤È¡¢¥×¥í¥°¥é¥à¤¬ÈÑ»¨¤Ë¤Ê¤ë
- Èó¸úΨ¤Ê¥Þ¥Ã¥Á¥ó¥°¤òÀ¸¤Þ¤Ê¤¤¤è¤¦¤Ë½ñ¤¯¤¿¤á¤Ë¡¢¿§¡¹¤È¶ìÏ«¤·¤½¤¦
¥¤¥á¡¼¥¸¡§
hoge :- make($x, 123) | h($x).
*---> h(!123).
(ID123¤ò»ý¤Ä¾¤Îhyperlink¤Î½¸¹ç¤ÈÊ»¹ç¤µ¤ì¤¿¾õÂÖ¤ÇÀ¸À®¤µ¤ì¤ë)
2010-12-28 †
hyperlink : ¥Ï¥Ã¥·¥åɽ¤Ë¤è¤ë´ÉÍý¤òÇÑ»ß †
- ¿·¤·¤¤Â°ÀLMN_HL_ATTR¤Î¥Ð¥°¤¬¤«¤Ê¤ê¼è¤ì¤Æ¤¤¿µ¤¤¬¤¹¤ë¤Î¤Ç¡¢¥Ï¥Ã¥·¥åɽ¤Çatom pointer => hyperlink object¤Î»²¾È´Ø·¸¤ò´ÉÍý¤·¤Æ¤¤¤¿¤Î¤òÇÑ»ß
- "!"¥¢¥È¥à¤ÎÂè2°ú¿ô¤Ëhyperlink object¤Ø¤Î¥Ý¥¤¥ó¥¿¤òľÀÜËä¤á¹þ¤à
N | 8k*3 | 16k*3 | 32k*3 | 64k*3 | 128k*3 | 256k*3 | O |
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 †
ºÇû"·ÐÏ©"ÌäÂê †
- ºÇûµ÷Î¥¤òµá¤á¤ë¥×¥í¥°¥é¥à¤Ï¿§¡¹¤¢¤ë¤±¤É¡¢uniq»È¤¨¤Ð¤¿¤¤¤¬¤¤1,2¥ë¡¼¥ë¤Ç½ñ¤±¤ë
- ¤¿¤ÀºÇû"·ÐÏ©"¤È¤Ê¤ë¤È2¹Ô¤Ç½ñ¤±¤ë¤Î¤«¤Á¤ç¤Ã¤È¼«¿®Ìµ¤«¤Ã¤¿¤±¤É¡¢¤Ê¤ó¤È¤«½ñ¤±¤¿
- &ref(): File not found: "shortest.lmn" at page "¸¦µæÆü»ï¤È¤¦¤á¤";
2010-12-21 †
hyperlink¡§¿·»ÅÍͤǤμ¸³ cycle_backedge5 †
- 3ĺÅÀ¤«¤é¤Ê¤ëÊÄÏ©¤òõº÷¤¹¤ë(propagation, uniq̵¤·)
edge(X, Y), edge(Y, Z), edge(Z, X) <=> cycle(X, Y, Z).
N | 100 | | 500 | 1000 | 2k | O |
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 †
hyperlink¡§¿·»ÅÍͤǤμ¸³ atomcmp_x3 †
- 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 |
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¤Î¾å¸Â¤¬Ìµ¤¯¤Ê¤Ã¤¿¤Î¤¬Â礤¤
¥«¥é¡¼Âç¼Åµ †
2010-12-14 †
ubuntu9.10¤Ëopenoffice3.2 †
2010-12-13 †
²òÊü˺¤ì¡© †
2010-12-12 †
hyperlink Èæ³Ó·Ïmemo †
- isground
- eq/neqground
- eq/neqfunc
- samefunc
memo †
2010-12-10 †
hyperlink : ¿·»ÅÍͤǤμ¹Իþ´Ö †
- ¥¢¥È¥àÀ¸À®&ºï½ü
- 10000¸Ä¤Îatom(hyperlink)¤òN²óÀ¸À®->ºï½ü
- ¤É¤Á¤é¤âtime optimized slim
N | 100 | 200 | 400 | 800 |
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 |
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 †
¥ê¥â¡¼¥ÈÀßÄê¥á¥â †
- ¥³¥ó¥Ô¥å¡¼¥¿¡§localhost:13389
- ¥×¥í¥È¥³¥ë¡§RDPv5
- ¥æ¡¼¥¶Ì¾¤È¥Ñ¥¹¥ï¡¼¥É
- (¥Þ¥·¥ó¥¢¥É¥ì¥¹¡§00:22:15:7d:86:dc)
2010-12-06 †
LMN_ATTR_IS_DATA_WITHOUT_EX †
- ex¤Ïextended¡£extra, expanded¤Ç¤â¤Þ¤¡°ÕÌ£¤ÏÄ̤¸¤ë¡©
2010-12-03 †
¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯Â°À †
- ¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯¤Ï¥Õ¥¡¥ó¥¯¥¿!/1¤Î¥¢¥È¥à
- ¤À¤±¤É°À¤È¤·¤Æ¤Ï¥Ç¡¼¥¿¥¢¥È¥à¤Î°ì¼ï
- ¤À¤±¤É¥·¥ó¥Ü¥ë¥¢¥È¥à¤È¤·¤Æ¡¢Ëì¤Ø¤ÎÅÐÏ¿¡¢ºï½üÅù¡¹¤ò¹Ô¤¦
- callback atom¤ÈƱ¤¸¤è¤¦¤Ê
- ¥á¥ê¥Ã¥È¤È¤·¤Æ¤Ï·¿¸¡ºº¤òºÇŬ²½¤Ç¤¤ë
- ¥Ç¥á¥ê¥Ã¥È¤È¤·¤Æ¤Ï¼ÂÁõ¤¬ÌÌÅÝ
2010-11-26 †
hyperlink : ¥¢¥È¥à¥Ý¥¤¥ó¥¿¤òID¤È¤¹¤ë †
- ¤³¤ì¤Þ¤Ç¤Î¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯¥¢¥È¥à
- ¥Õ¥¡¥ó¥¯¥¿¡§!1, !2, ...(¼Â¹ÔÃæ¤Ë¿·¤¿¤Ê¥Õ¥¡¥ó¥¯¥¿¤òÀ¸À®¤·¤Æ¤¤¤¿)
- ´ÉÍý(hlink ID)¡§ 1, 2, ...
- Ä̾ï¤Î¡Ê¥·¥ó¥Ü¥ë¡Ë¥¢¥È¥à
- ¿·¤·¤¤¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯¥¢¥È¥à
- 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 †
¸ÍÀîÀèÀ¸¤Î¥Ç¥£¥¸¥¿¥ë²óÏ©Àß·×(¤´¤Æ¤Õ¤è¤ê) †
- ²óÏ©¤ÎÀß·× ¡ß ¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯
hyperlink : »ÅÍÍÊѹ¹ †
- ¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¤ÊID¤Ç´ÉÍý¤¹¤ë¤è¤ê¡¢¥¢¥È¥à¤Î¥Ý¥¤¥ó¥¿¤Ç¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯¤ò´ÉÍý¤¹¤ëÊý¤¬²¿¤«¤ÈÅԹ礬Îɤ¤¤¿¤á
2010-11-23 †
boolean.lmn¤Î¥³¥ó¥Ñ¥¤¥ë †
- ½¤ÀµÈǤò°ìºòÆü¥³¥ß¥Ã¥È¤·¤¿¤¬¡¢¤É¤¦¤ä¤é¤Á¤ã¤ó¤ÈÆ°¤¤¤Æ¤¤¤ë¤ß¤¿¤¤
- ²¶¤¬¤è¤¯¸«¤Æ¤¤¤¿boolean.lmn¤Î¥³¥ó¥Ñ¥¤¥ë¥¨¥é¡¼¤Ï¡¢Ã±¤Ë¥Î¡¼¥Ñ¥½¤Ç´Ö°ã¤Ã¤¿¥Ñ¥¹¤òLMNTAL_HOME¤Ë»ØÄꤷ¤Æ¤¤¤¿¤«¤é½Ð¤Æ¤¤Æ¤¤¤¿¤â¤Î¤À¤Ã¤¿¡¢±ªïè¤Ê¤ó¤Æ¥ì¥Ù¥ë¤¸¤ã¤Ê¤¤
2010-11-22 †
¥Ç¥Õ¥©¥ë¥È¥»¥Ã¥·¥ç¥ó¤ÎÊѹ¹ †
- netbook edition¤òÆþ¤ì¤ë¤È¡¢¥í¥°¥¤¥ó»þ¤ËdesktopÈǤâÁªÂò¤Ç¤¤ë¤±¤É¡¢¥Ç¥Õ¥©¥ë¥È¥»¥Ã¥·¥ç¥ó¤òÊѹ¹¤·¤¿¤±¤ì¤Ð¡¢¥·¥¹¥Æ¥à´ÉÍý¢ª¥í¥°¥¤¥ó²èÌ̤ÎÀßÄê
ÆüËܸìÆþÎϤ¬½ÐÍè¤Ê¤¤ †
- ¥·¥¹¥Æ¥à¢ªÀßÄꢪ¥¡¼¥Ü¡¼¥É¡¦¥¤¥ó¥×¥Ã¥È¥á¥½¥Ã¥É¤«¤éAuthy¤òÄɲÃ
2010-11-20 †
Xp - ubuntu¥Ç¥å¥¢¥ë¥Ö¡¼¥È´ØÏ¢ †
- wubi¤Ç¥¤¥ó¥¹¥È¡¼¥ë¼ºÇÔ
- permission denied ¤È¤Ê¤Ã¤Ælog¤ò»²¾È¤¹¤ë¤è¤¦¤Ë¸À¤ï¤ì¤ë
- iso¥Õ¥¡¥¤¥ë¤Î¥À¥¦¥ó¥í¡¼¥É¤Ç½ªÎ»¤·¤Æ¤¤¤¿¤é¡¢¤³¤³¤«¤éiso¤ò¥À¥¦¥ó¥í¡¼¥É
- Deamon tools lite¤Çiso¤ò¥Þ¥¦¥ó¥È¤·¤Æ°ìöubuntu¤ò¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë
- ºÆ¤Óiso¤«¤é¥¤¥ó¥¹¥È¡¼¥ë³«»Ï
- ´ûÄê¤Îµ¯Æ°OS¤òÊѹ¹¤¹¤ë
- Xp -> ¥³¥ó¥Ñ¥Í -> ¥·¥¹¥Æ¥à -> ¾ÜºÙÀßÄê -> µ¯Æ°¤È²óÉü ¤«¤éÊѹ¹
boolean.lmn¤¬¥³¥ó¥Ñ¥¤¥ë¤Ç¤¤Ê¤«¤Ã¤¿¥Ð¥° †
- ²¶¤Ç¤·¤¿...½¤ÀµÈǤò¥³¥ß¥Ã¥È¤·¤Þ¤·¤¿¤¬¡¢¥Á¥§¥Ã¥¯¤Ç¤¤Æ¤Ê¤¤¤Î¤Ç¤Á¤ã¤ó¤Èľ¤Ã¤Æ¤ë¤«¤É¤¦¤«
2010-11-19 †
ubuntu¤ÇSLIM¤¬Æ°¤«¤Ê¤¯¤Ê¤Ã¤¿·ï²ò·è †
- iwataso¤¬²ò·èË¡¤ò¤Ê¤ó¤È¤«»×¤¤½Ð¤·¤Æ¤¯¤ì¤¿¤ª¤«¤²¤ÇÉü³è¡ª
- make install ¤Ç /usr/local/share/¤Ë½ÐÍè¤ëslim¤¬°¤«¤Ã¤¿¡©
- slim¤È¤¤¤¦Ì¾Á°¤òÊѹ¹¤¹¤ì¤ÐÀµ¾ï¤ËÆ°¤¯¤è¤¦¤Ë¤Ê¤Ã¤¿
- ¸¶°ø¤Ï²¿¤Ê¤ó¤À¤í¤¦¡©
Windows XP:;·×¤Ê¥¹¥¿¡¼¥È¥¢¥Ã¥×¥×¥í¥°¥é¥à¤ò²ò½ü †
2010-11-18 †
ubuntu¤ÇSLIM¤¬µÞ¤ËÆ°¤«¤Ê¤¯¤Ê¤Ã¤¿·ï †
wubi †
- ÄɲäÇubuntu¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤Ï½ÐÍè¤Ê¤½¤¦¡¢¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë¤¬É¬ÍפȸÀ¤ï¤ì¤ë
¤â¤¦°ìÂæ¤ÎPC¤Ëubuntu¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤ÆÈæ³Ó¤·¤Æ¤ß¤¿ †
- configure¤ÎÆâÍƤò¸ß¤¤¤ËÈæ³Ó¤·¤Æ¤ß¤¿
- mawk¤Ègawk¤È¤¤¤¦¥½¥Õ¥È¤Î°ã¤¤¤¬¤¢¤ê¡¢¤½¤ÎÊÕ¤ò¤½¤í¤¨¤Æ¤ß¤¿¤±¤É·ë¶ÉÊѤï¤é¤º
ubuntu : eclipse install memo †
- eclipse
- ÇÛÉÛ¸µ¤«¤é¥Ð¥¤¥Ê¥ê¥¤¥ó¥¹¥È¡¼¥ë
- SVN
- SLIM compile
- flex¤Î¥¤¥ó¥¹¥È¡¼¥ë¤À¤±¤Ïµ¤¤Å¤¤Ë¤¯¤¤
2010-11-17 †
kernel¤ÎºÆ¹½ÃÛ †
$ 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 †
- memo
- lmntal.cup¤Ë¤´¤ß¤¬Æþ¤Ã¤Æ¤¤¤¿¤Î¤ò½¤Àµ¡¢¤½¤Î¤¦¤Á¥³¥ß¥Ã¥È
2010-11-09 †
- Ãæ´Öȯɽ¥á¥â
- ID¤Î»ÈÍÑ¿ô¤ò¬¤Ã¤Æ¤ß¤ë
- ¥°¥é¥Õ¤À¤±¤Ç¤Ê¤¯¡¢ÎãÂê¤ÎÆâÍÆ¡¢Æ±¼ÂÁõ¤·¤¿¤«¡¢·ë²Ì¤Î¹Í»¡¤ÏɬÍ×
- ¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¤ÊID¤Ç¤Ï¤Ê¤¯¡¢¥¢¥É¥ì¥¹¤òID¤Ë
- ¤Ç¤â·ë¶É¥Õ¥¡¥ó¥¯¥¿¤ÎID¿ô¤Ï·è¤Þ¤Ã¤Æ¤¤¤ë¤Î¤Ç¤è¤¯¹Í¤¨¤¿¤Û¤¦¤¬¤è¤µ¤½¤¦
- ¥¢¥ó¥Ó¥¨¥ó¥È¤ò½ñ¤¤¤Æ¤ß¤¿¤¤
- º£¸å¤ÎÊý¸þÀ¡¢Èó·èÄê¼Â¹Ô¤Îɾ²Á
2010-11-03 †
- ¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯¤Ø¤ÎÃͤΫÇû¤ÎɬÍ×À¡©
- ½¸¹ç¤¬»ý¤ÄÃͤòn(!1, 1).¤È¤«¤Çɽ¤¹¤È¡¢Î㤨¤Ð
a($x), n($x,N1), b($y), n($y,N2) :- N=N1+N2 |...
- ¤Î¤è¤¦¤ËÃͤò¤¹¥ë¡¼¥ë¤Ç¡¢N1,N2¤¬Æ±¤¸ÃͤǤ¢¤ë¾ì¹ç¤¬¤¢¤ë¤Ê¤é¡¢¤½¤Îʬn¤Î¸Ä¿ô¤òÁý¤ä¤µ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¢½ñ¤¯¤Î¤¬¤Á¤ç¤Ã¤ÈÌÌÅݤ«¤Ê
2010-10-29 ¤½¤Î2 †
fibonacci¤Î¥ª¡¼¥À¡¼¤¬°¤«¤Ã¤¿¸¶°ø¡Ê»Ä¤ê¤ÎȾʬ¡Ë †
- 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 |
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¤Î¥ª¡¼¥À¡¼¤¬°¤«¤Ã¤¿¸¶°ø¡ÊȾʬ¡Ë †
- 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 |
slim int hlink | 0.28 | 1.18 | 7.23 | 38.30 | | |
2010-10-29 †
- ÈÉ¥¼¥ß¥á¥â
- CHR¤Ç½ñ¤¯¤³¤È¤Ë°ÕÌ£¤Î¤¢¤ëÎãÂê¤òÁª¤Ö
- fibonacci, leq¤Î²òÀÏ
2010-10-28 †
- grub : ¡ß¥°¥ë¡¼¥Ö¡¢¡û¥°¥é¥Ö¤Þ¤¿¤Ï¥¸¡¼¥é¥Ö
2010-10-27 †
fibonacci †
- Ãí)¥Õ¥£¥Ü¥Ê¥Ã¥Á¿ô¤Ï¡¢²¼µ¤Îbottomup, topdown¤Î¤è¤¦¤Ê¤ä¤êÊý¤ò¤·¤Ê¤¯¤Æ¤â¡¢¥ê¥¹¥È¤ò»È¤¨¤Ð¿ôËüÈÖÌܤ¯¤é¤¤¤Þ¤Ç¤Ï°ì½Ö¤Çµá¤á¤ë¤³¤È¤¬¤Ç¤¤ë
fib(N,[X,Y|L]) :- N > 0, N1 = N-1, Z = X+Y |
fib(N1,[Z,X,Y|L]).
- ¤¢¤¯¤Þ¤ÇÀǽ¬Äê¤Î¤¿¤á¤ÎÎãÂê¤È¤¤¤¦¤³¤È¤Ç...
fibonacci (bottomup) †
- hyperlink¤ò»È¤¦°ÕÌ£¤Ï¤¢¤Þ¤ê̵¤¤¤¬¡¢²¼¤Îtopdown¤È¤ÎÈæ³Ó¤Î¤¿¤á¤Ë¬¤Ã¤Æ¤ß¤¿
NÈÖÌÜ | 100 | 200 | 400 | 800 | O |
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) †
2010-10-25 †
ram_simulator †
- 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 |
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 |
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 †
union-find †
N | 100 | 200 | 400 | 800 | 160O | 3200 | O |
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 †
- pass compression for find, union-by-rank
N | 100 | 200 | 400 | 800 | 160O | 3200 | O |
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 |
slim hyperlink | 0.01 | 0.02 | 0.04 | 0.08 | N |
cycle †
- 3ĺÅÀ¤«¤é¤Ê¤ëÊÄÏ©¤òõº÷¤¹¤ë(propagation, uniq̵¤·)
edge(X, Y), edge(Y, Z), edge(Z, X) <=> cycle(X, Y, Z).
N | 8k | 16k | 32k | 64k | O |
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 †
2010-10-22 †
leq †
- ¥¯¥¨¥ê¡§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 |
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¤è¤ê»þ´Ö¤¬¤«¤«¤ë¤¿¤á¡¢¤³¤¦¤¤¤¦·ë²Ì
2010-10-22 †
CHR bencnmark †
2010-10-21 †
À°¿ôÈæ³Ó²þ¤á¥¢¥È¥àÈæ³Ó¤ÎºÆ¡¹»î †
- ¾ò·ï¤ò¤è¤êƱ¤¸¤Ë¤·¤ÆºÆ¡¹»î
- slimhl395/101109/vartest.lmn
- lmntal -O3 --slimcode --hl-opt atomcmp.lmn | slim --hl -
N | 8k | 16k | 32k | 64k | O |
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 |
¥³¥ó¥Ñ¥¤¥é¤ò¥³¥ß¥Ã¥È †
- hyperlink¤òjavaÈÇ¥³¥ó¥Ñ¥¤¥é¤Ë¥³¥ß¥Ã¥È¤·¤¿
hyperlink¤Î½ÐÎÏ †
- Ê»¹ç¤µ¤ì¤¿hyperlink¤òɸ½à½ÐÎÏ»þ¤Ëroot¤Î¥Õ¥¡¥ó¥¯¥¿¤Ç½ÐÎϤ¹¤ë¤è¤¦¤Ë¤·¤¿
2010-10-20 †
hyperlink¤«¤é¤Îfindatom¡¡²þÎÉÈÇ †
- À°¿ôÈæ³Ó¤òÄÉ»î
N | 10k | 20k | 40k |
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 †
leq.pl(CHR)¤òhyperlink¤Ç½ñ¤¤¤Æ¤ß¤ë †
- 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 †
hyperlink¤Î»È¤¤Êý¥Ú¡¼¥¸¤ò¾¯¤·À°È÷ †
hyperlink SLIM¦¤òbranch¤Ë¥³¥ß¥Ã¥È †
2010-10-12 †
subversion¤Ç¥¨¥é¡¼ †
- Let'sNote¤ÎÊý¤«¤é¥³¥ß¥Ã¥È¤·¤è¤¦¤È¤·¤¿¤é¡¢¥¨¥é¡¼¤¬½Ð¤Æ½ÐÍè¤Ê¤«¤Ã¤¿¡£
2010-10-10 †
hyperlink compiler¦¤ò¥³¥ß¥Ã¥È †
- devel/sample/seiji/hyperlink_*.zip
2010-10-08 †
- ÈÉ¥¼¥ß
- ¥Õ¥¡¥ó¥¯¥¿¤Î¿ô¤¬Â¤ê¤Ê¤¯¤Ê¤ë¤Î¤Ï¤É¤¦¤·¤è¤¦¢ª¤È¤ê¤¢¤¨¤ºÃª¾å¤²
- ¥³¥ß¥Ã¥È¤·¤Ê¤¤ã
- slim¤Î¥ê¡¼¥¯¼è¤ê¢ª¥³¥ó¥Ñ¥¤¥é¤Î¥³¥ß¥Ã¥È¢ªslim¤Î¥³¥ß¥Ã¥È¤Î½ç¤Ë¤ä¤ë¤«
- hyperlink branch
- "branches"¤ò±¦¥¯¥ê¡¢¥Õ¥©¥ë¥À¿·µ¬À¸À®
- "trunk"Æâ¤Î"slim"¤ò¥³¥Ô¡¼¡¢"branch"Æâ¤Î"¿·µ¬À¸À®¤·¤¿¥Õ¥©¥ë¥À"¤ò±¦¥¯¥ê¡¢Å½¤êÉÕ¤±
2010-10-07 †
hyperlink¤òÍøÍѤ·¤¿findatom¤ÎºÇŬ²½ †
- Æ°¤¯¤è¤¦¤Ë¤Ê¤Ã¤¿¤Î¤Ç¡¢°ìö¬¤Ã¤Æ¤ß¤¿
- unary¥¢¥È¥àÈæ³Ó
- hlink opt : º£²ó¤Î¼ÂÁõ
N | 10k | 20k | 40k | 80k |
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 |
hlink opt | 0.02 | 0.04 | 0.09 | ¢¨ |
chr opt | 0.08 | 0.20 | 0.39 | 0.80 |
- ¤«¤Ê¤êÁᤤ
- TODO:Ëì¤ò´Ó¤¯¥ê¥ó¥¯¤ËÀܳ¤·¤Æ¤¤¤ë¾ì¹ç¤Îhyperlink¥¢¥È¥à¤Î½èÍý¤ÎÀ°È÷
2010-10-04 †
findproccxt †
- ÆÃÄê¤Î¥¢¥È¥à°ú¿ô(·¿ÉÕ¤¥×¥í¥»¥¹Ê¸Ì®)Ʊ»Î¤¬Æ±¤¸¹½Â¤¤ò»ý¤Ä¤³¤È¤ò¼¨¤¹Ãæ´ÖÌ¿Îá
- À¸À®»þ¤ÏŬÅö¤ËÁÞÆþ¡¢ºÇ¸å¤Ë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 †
Ʊ̾·¿ÉÕ¤¥×¥í¥»¥¹Ê¸Ì®¤ÎʬΥ †
- --hl·Ï¥ª¥×¥·¥ç¥ó¤Ç¤Î¤ß»ÈÍѤǤ¤ë¤è¤¦¤ËÊѹ¹ (2010-10-10)
- ¤µ¤é¤Ë--hl-opt¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤ë¤³¤È¤Ç¡¢¥¬¡¼¥É¤Ë¼«Æ°Åª¤Ëhlink·¿¥Á¥§¥Ã¥¯¤òÁÞÆþ¤·¡¢groundÂÐground¤Î¹½Â¤Èæ³Ó¤ò¥Õ¥¡¥ó¥¯¥¿ÂÐ¥Õ¥¡¥ó¥¯¥¿¤ÇºÑ¤Þ¤¹¤è¤¦¤·¤Æ¤¤¤ë
- ¥Ø¥Ã¥É¤ËË줬¤¢¤ë¾ì¹ç¤ÎÁàºî¤¬È´¤±¤Æ¤¤¤¿¤Î¤Ç½¤Àµ¡Ê2010-09-30)
- ¤³¤ì¤Þ¤Ç¤Ï°ì¤Ä¤Î¥ë¡¼¥ëÆâ¤ÇƱ̾¤Î·¿ÉÕ¤¥×¥í¥»¥¹Ê¸Ì®¤Ïµ½Ò¤Ç¤¤Ê¤«¤Ã¤¿¤¬¡¢°Ê²¼¤ÎÍͤËÊѹ¹¤·¤¿
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 †
hlink¤Î¥³¥Ô¡¼¤Èºï½ü †
- ¥¢¥È¥à(hlink¥¢¥È¥à)¤ò10000*N²ó¤º¤Ä¥³¥Ô¡¼¡õºï½ü¤¹¤ë
- atom : a(b)
- hlink : a('!1')
N | 100 | 200 | 400 | 800 | O |
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 †
½¸¹ç¤ÎÍ×ÁǤò¿ô¤¨¤ë¤Î¤Ë¤«¤«¤ë»þ´Ö †
- (10000¸Ä¤ÎÍ×ÁǤò»ý¤Ä)½¸¹ç¤ÎÍ×ÁÇ¿ô¤òN²ó¿ô¤¨¤¿»þ´Ö¤ò·×¬[sec]
- mem:Ëì¤ò°ì¤Ä¤Î½¸¹ç¡¢ÆâÉô¤Î¥¢¥È¥à¤ò½¸¹ç¤Ë°¤¹¤ëÍ×ÁǤȤߤʤ¹
- hlink:hyperlink¤Ë¤è¤Ã¤Æ½¸¹ç¤òɽ¤¹
N | 1000 | 2000 | 4000 | 8000 | 16000 | 32000 | 64000 |
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 †
- hyperlink¾ÜºÙ½ÐÎÏÍÑ¥ª¥×¥·¥ç¥ó¤ò¤³¤Ã¤½¤êÄɲÃ
¤½¤Î¾ †
- coname¤Ï¸½¾õ¤Ç¤ÏÍ×ÁÇ¿ô¤Ë´Þ¤á¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤ë
- hyperlink¤È9/14¤ÎÊѹ¹¤ò¥í¡¼¥«¥ë¤Îslim¤Ë¥Þ¡¼¥¸
2010-09-22 †
- ½¸¹çÆâ¤Î¡ÖÍ×ÁÇ¿ô¡×¤ÎÄêµÁ
- !1¡Á!5¤Þ¤Ç¤Îname(³Æ1¸Ä)¤«¤é¤Ê¤ë½¸¹ç¤Ë¡¢coname !-1¤òÍ¿¤¨¤¿¤È¤¡¢¤³¤Î½¸¹ç¤ÎÍ×ÁÇ¿ô¤Ï¤É¤¦¤Ê¤ë¤ó¤À¤í¤¦¤«
- coname¤ÏÍ×ÁǤȤ·¤Æ¿ô¤¨¤ë¤Ù¤¤«¤É¤¦¤«¡¢¤Á¤ç¤Ã¤È¹Í¤¨¤¿Êý¤¬¤¤¤¤¤«¤â
- memo
- add
- alloc.c/lmn_new_atom(lmn_copy_satom¤Ê¤É¤â´Þ)
- sub
2010-09-18 †
- 9/14¤ÎÊѹ¹¤ò¥³¥ß¥Ã¥È¤·¤¿
- ¾õÂÖ¿ô¤âÀµ¾ï¤ß¤¿¤¤¤À¤·¡¢Â¿Ê¬Âç¾æÉפÀ¤í¤¦
2010-09-17 †
--showrule †
- 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 †
µ×¤·¤Ö¤ê¤Ëuniq †
- Ëì¤Î¥À¥ó¥×¤Çrulesets¤Î¥Ý¥¤¥ó¥¿¤Ç¤Ï¤Ê¤¯¡¢rule¤¬»ý¤ÄÍúÎò¤ÎÆâÍƤòÁ´¤ÆÆͤùþ¤àÊý¼°¤ËÊѹ¹
- ¤·¤¿¤Ä¤â¤ê¡£¥Á¥§¥Ã¥¯¤ÏÌÀÆü°Ê¹ß¡£
2010-09-10 †
- hyperlinkÅù²ÁÀȽÄê¤Î¥Ð¥°¤ò½¤Àµ
- ¡Öconame¤ò»ý¤Äname¡×¤È¡Öconame¡×¤È¤ÎÈæ³Ó¤Ê¤É
- memo : hyperlinkÅù²ÁȽÄê¤Ë´Ø¤ï¤ëÌ¿ÎáÎó
- samefunc
- eq/neqfunc
- eq/neqground
2010-09-06 †
- ¤è¤¯¤è¤¯¹Í¤¨¤¿¤é¡¢rank¤Ïname¤Î»Ò¿ô¤Ç¤¢¤Ã¤Æ¡¢Í×ÁÇ¿ô¤È¤Ï°ã¤¦
- Ǥ°Õ¤Î½¸¹ç¤Ë°¤¹¤ëhyperlink¤ÎËÜ¿ô(Èóhyperlink¥¢¥È¥à¤Ø¤ÎÀܳ²Õ½ê)¤ò¿ô¤¨¤é¤ì¤ë¤è¤¦¤Ë¤·¤¿
- ͽÌó¸ìÍѤΥե¡¥ó¥¯¥¿¤¬20¸Ä¤¯¤é¤¤¤¢¤ë¤Î¤Ç¡¢»ÈÍѤǤ¤ëhlink id¤Ï65536¸Ä¤è¤ê¼ã´³¾¯¤Ê¤¤
2010-08-31 †
- TODO¡§reverse¤ò°ì»þ¥³¥á¥ó¥È¥¢¥¦¥È¤·¤Æ¤ª¤¯
2010-08-30 †
- lmn_eq_func¤ËLMN_FUNCTOR_ATTR¤Î¾ì¹çʬ¤±¤òÄɲÃ
- ¾¤Ë¤â¾ì¹çʬ¤±Äɲ䷤ʤ¤ã¤¤¤±¤Ê¤¤½ê¤¬¤¿¤¯¤µ¤ó¤¢¤ë
- ½é´ü²½´Ø¿ô¤ÇÁ´¤Æ½é´ü²½¤·¤Æ¤·¤Þ¤Ã¤Æ¤¤¤¿¤Î¤òºÇŬ²½¤·¤¿
2010-08-20 †
- coname-coname, name-coname´Ö¤ÎÊ»¹ç½èÍý¤ò¼ÂÁõ
- ¤½¤í¤½¤íhyperlink¼êÆ°¤Îfindatom¤È¡¢parser¤òÊѹ¹¤·¤ÆƱ¤¸¥×¥í¥»¥¹Ê¸Ì®Ì¾¤¬3²ó°Ê¾å½Ð¸½¤òµö¤¹¡¢ÊÕ¤ê¤Î¸¡Æ¤¤ò
2010-08-19 †
- coname´ÉÍýÊýË¡¤òÊѹ¹
- st_get_entry´Ø¿ô¤ò¼ã´³½¤Àµ
- ¥ì¥³¡¼¥É¤Ç¤Ï¤Ê¤¯¥¡¼¤ò¼èÆÀ¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤¿
2010-08-18 †
- ºÙ¤«¤Ê½ê¤Ç¥Ð¥°¤¬...
- ¥é¥ó¥¯¤ÎºÆ·×»»¤ò½¤Àµ
- coname¤Î´ÉÍýÊýË¡¤ÎÊѹ¹¤ò¸¡Æ¤Ãæ¡¢ÇÛÎó¤è¤ê¥Ï¥Ã¥·¥åɽ¤ÎÊý¤¬¤¤¤¤¤«¤â
2010-08-13 †
- ȿž½èÍý¡§¥ê¥ó¥¯¤Î·Ò¤®´¹¤¨¤Ç¤ª¤«¤·¤«¤Ã¤¿¤È¤³¤í¤ò½¤Àµ
2010-08-12 †
LMN_FUNCTOR_ATTR¤È·¿¸¡ºº¤Î·ó¤Í¹ç¤¤ †
- new¤Èint¤Ê¤É¤òÁȤ߹ç¤ï¤»¤ë¤È¤ª¤«¤·¤¯¤Ê¤ë
- ¤½¤Î¤¦¤Á¤ä¤ë
2010-08-10 †
2010-08-06 †
Í×ÁÇ¿ô¤Î¼èÆÀ †
newÀ©Ìó †
- 0ÆþÎÏÀ©Ìó´ØÏ¢¤Î¥Ð¥°¤ò¼«¸Ê²ò·è
name-coname¤Îȿž †
- "-"¤ò¤Ä¤±¤ë¤³¤È¤Ç¥Ü¥Ç¥£¤Çȿž¤Ç¤¤ë¤è¤¦¤Ë
2010-08-05 †
hyperlinkÀ¸À® †
2010-08-03 †
¥Ü¥Ç¥£¤ÇÊ»¹ç¤Ç¤¤ë¤è¤¦¤Ë¤·¤¿ †
2010-07-30 †
ÏÀÍýÊÑ¿ô¤Î¾õÂÖ †
- Ãͤä°À¤ò»ý¤¿¤Ê¤¤
- ¤³¤ì¤ò½é´ü¾õÂ֤Ȥ·¡¢²¼¤Î¤É¤Á¤é¤«¤Î¾õÂ֤˰ܹԲÄǽ
- Ãͤä°À¤ò»ý¤Ä
- ¾¤ÎÊÑ¿ô¤ÈÊ»¹ç¤µ¤ì¤ë
- Ãͤä°À¤ÎÂå¤ï¤ê¤ËÁê¼êÊÑ¿ô¤Ø¤Î»²¾È¤ò»ý¤Ä
Attribute variable †
- °À¤Î¼ÂÁõ¤Ï¤É¤¦¤ä¤Ã¤Æ¤¤¤ë¤Î¤«¡¢¤Á¤ç¤Ã¤ÈÄ´¤Ù¤Æ¤ß¤ë
2010-07-29 †
coname¤Îunify †
- °Û¤Ê¤ëÃͤò»ý¤ÄÊÑ¿ôƱ»Î¤ÎÊ»¹ç¤Ï¼ºÇÔ
- coname¤Î¤ß¤Ç¸ºß¤¹¤ë¤³¤È¤Ï̵¤¤¡¢¤È¤¹¤ë¤Èconame¤ÎÀ¸À®¤Ïname¤¢¤ê¤¤Î¹½Ê¸¤Ë¤·¤¿¤Û¤¦¤¬¤¤¤¤¤Î¤«
2010-07-23 †
hyperlink †
- name<->name´ØÏ¢µ¡Ç½¤ÏÂçÂμÂÁõ¤·¤¿...¤«¡©
- Ìڤǽ¸¹ç¤ò´ÉÍý
- rank¤ä¥Ñ¥¹°µ½Ì¤òÍѤ¤¤Æ¿¾¯¤Ï¸úΨÎɤ¤¤è¤¦¤Ë¤·¤Æ¤ß¤¿
- ¼¡¤Ïco-name<->name´ØÏ¢¤ò¤Ü¤Á¤Ü¤Á¤È
co-name †
- ɬÍפ½¤¦¤ÊÁàºî¤È¡¢¹½Ê¸ÌÑÁÛ
- 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¤Î°À¤ò°·¤¦¹½Ê¸ †
- (!-1 > 3), (!-2 < 5)¤È¤¤¤¦co-name!-1,!-2¤òÊ»¹ç¤¹¤ë
- and¤Èor¤Î¶èÊ̤ò¤Ä¤±¤é¤ì¤ë¤è¤¦¤Ë¤¹¤ëɬÍפϤ¢¤ë¤«¡©
- 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 †
2010-07-15 †
- ÈÉ¥¼¥ßÍѸ½¾õ¥á¥â
- hlinkÍѱ黻»Ò¤¬·è¤Þ¤é¤Ê¤¤
name, coname †
- ̾Á°¤Î·è¤áÊý
- name : "!" + 0,1,2,...
- coname : "!!" + (name¤«¤éµá¤á¤¿¥Õ¥¡¥ó¥¯¥¿id)
- ¼ÂÁõÊýË¡°Æ
- ¤É¤Á¤é¤â´ðËÜŪ¤Ëº£¤Þ¤Ç¤Î¥Õ¥¡¥ó¥¯¥¿
- °ÀÉÕ¤ÊÑ¿ô¤òƳÆþ¤¹¤ë¤Ê¤é¡¢
- Âбþ´Ø·¸
- ¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤Ç´Ø·¸¤òÊÝ»ý¡Ê¿Æ-->»Ò¡¢»Ò-->¿Æ¡Ë
- µË¡°Æ
- name-->coname¼èÆÀ
a($h) :- coname($h) | a(
hlinkÀ¸À® †
- ËÜÌ¿¡§body¤ÇÀ¸À®
- ¼¡Á±ºö¤ÎnewÀ©Ìó
hoge, hoge.
hoge :- new($h) | a($h), b($h).
*--> a('!0'), b('!0'), a('!1'), b('!1').
Ê»¹ç †
memo †
- hlink¤Î¼ÂÁõÊýË¡
- SLIM¤Ç¤Ï¥¬¡¼¥É¤Çsymbol¥¢¥È¥à¤òÀ¸À®½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤«¤Ã¤¿
- Ä̾ï¤Î(symbol)¥¢¥È¥à¤È¤·¤Æ̾Á°¤ò¤Ä¤±¤ë¤«
- ¥Ç¡¼¥¿¥¢¥È¥à¤Î°ì¼ï¤È¤¹¤ë(ñ¤Ê¤ë¿ôÃÍ)¤«
- Attr¤ËhlinkÍѤΰÀ¤ò¿·¤¿¤ËÍÑ°Õ¤¹¤ë¤«
2010-07-09 †
JFlex.jar¤Èjava_cup.jar †
- java_cup.jar¤ÎÊý¤Ïsrc/compiler/parser/¤Ë°ÜÆ°¤·¤Æ¼Â¹Ô¤·¤Ê¤¤¤È¡¢parser.java¤¬Àµ¤·¤¤¥Ç¥£¥ì¥¯¥È¥ê¤ËÀ¸À®¤µ¤ì¤Ê¤¤¤ß¤¿¤¤
"=="±é»»»Ò †
- '=='¤ò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 †
- Ê»¹ç¤Ï¤É¤¦¤¤¤¦¾õ¶·¤Ç»È¤¦¤À¤í¤¦¤«
- $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 †
hlink·¿ †
- ´ðËÜŪ¤Ë¤Ï(¥×¥í¥°¥é¥à¾å¤Ï)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¸¡ºº)¤ÎÌò³ä¤â»ý¤Ä
Ê»¹ç †
- ¥·¥¹¥Æ¥à¥ë¡¼¥ë¥»¥Ã¥È¤Ç¹Ô¤Ê¤¦ÊýË¡¡¢±é»»»Ò"=="
- ¥ë¡¼¥ëŬÍѤΥ¿¥¤¥ß¥ó¥°¤Ç¡¢¥æ¡¼¥¶¤Î»×¤¤Ä̤ê¤Ë¤¤¤«¤Ê¤¤¤³¤È¤¬¤¢¤ë¡¢µÑ²¼
- ¥Ü¥Ç¥£¤Ç¹Ô¤Ê¤¦ÊýË¡¡¢±é»»»Ò¤Ï"=="¤Ë¤·¤è¤¦¤«¤Ê
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) †
/* $h1, $h2¤É¤Á¤é¤«°ìÊý¤Ëhlink(unary)¥Á¥§¥Ã¥¯¤ò»Ü¤¹ */
a($h1), b($h2) :-
hlink($h1), $h1==$h2 | a($h1), b($h2).
- Åù²ÁȽÄê(optimize)¤ÏÃæ´ÖÌ¿ÎáÎó¤òÊѹ¹¤·¤Ê¤¤¤ÇSLIM¦¤À¤±¤Ç²Äǽ¤«¤Ê¡©¤¦¡¼¤ó¤è¤¯¹Í¤¨¤Ê¤¤¤È
hyper link for nd †
- ¤È¤ê¤¢¤¨¤ºÊüÃÖ¤·¤¿¤¤¡¢¤ä¤ë¤Ê¤é¾õÂÖ¤´¤È¤Ë¥Õ¥¡¥ó¥¯¥¿¤Î¿Æ»Ò´Ø·¸´ÉÍý¤ò¤µ¤»¤Ê¤¤¤È¤¤¤±¤Ê¤¤¤«¤Ê
2010-07-07 ¤½¤Î£² †
2010-07-07 †
hyper link atom À¸À® †
- ¥³¥ó¥Ñ¥¤¥é¦
- 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?¤Î¤è¤¦¤Ë¿Æ»Ò´Ø·¸¤ò»ý¤¿¤»¤ë¤è¤¦¤Ë¤·¤¿
- memo
- Instruction.java
- GuardCompiler?.java
2010-07-05 †
- memo
- hylink atom¤Ïint·¿¤¸¤ã¤Ê¤¤¤«¤é==¤Îξ°ú¿ô¤Ë»ØÄꤷ¤Æ¤âÂç¾æÉ×
2010-07-01 ¤½¤Î2 †
ÈÉ¥¼¥ß †
- hylink¤ÎÀ¸À®¤Ï¥¬¡¼¥É¤Ç
- °ìÅٹͤ¨¤Æ¡¢¤ª¤«¤·¤¤¤È»×¤Ã¤Æ¤¿¤±¤É¡¢³Î¤«¤Ë+¤ä-¤ò¥¬¡¼¥É¤Ç¤·¤Æ¤ë¤«
2010-07-01 †
hyper link †
- (ºÆ·Ç)
- 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¤Ç¤¤¤¤¤Î¤«¡¢°ú¿ô¤Ï¼è¤ë¤«
2010-06-28 †
¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯ †
- 5.Á´¤Æ¤ÎËì¤ËºîÍѤ¹¤ë¥·¥¹¥Æ¥à¥ë¡¼¥ë¥»¥Ã¥È¤ò½ñ¤¤¤Æ¤ß¤¿
- hylink¤Îunion¤òɽ¸½¤Ç¤¤ë
2010-06-25 †
¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯ †
- ¾åÅÄÀèÀ¸¤È¤Î¸ÄÊÌ¥¼¥ß¤ò¸Ä¿ÍŪ¤ËÀ°Íý¤·¤Æ¤ß¤ë
- 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)
- ¥·¥¹¥Æ¥à¥ë¡¼¥ë¥»¥Ã¥ÈŪ¤Ê¤â¤Î¤ÇÊ»¹ç¸µ¤Î¥¢¥È¥à¤òÊ»¹çÀè¤Î¥¢¥È¥à¤Ë½ñ¤´¹¤¨¤ë
- ºÇû¤Î¼ÂÁõ¤ò¹Í¤¨¤¿¤È¤¡¢¤Þ¤º¤É¤ì¤ò¤ä¤ë¤«
2010-06-24 †
hylink¡¢SLIM¦¤Î¤ß¤Ç¤ä¤ë¾ì¹ç †
- ¼Â¸½ÊýË¡¤¬¤¤¤¯¤Ä¤«¤¢¤ë(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ÍѤÎÌ¿ÎáÎó¤È¤·¤Æ¤Þ¤È¤á¤Æ¤·¤Þ¤¦
- ¿·¥Ç¡¼¥¿¹½Â¤¤ÎÄɲÃ
¤½¤Î¾ †
- µ¤¤¬Áᤤ¤¬¡¢!µË¡¤òÆþ¤ì¤ë¤Ê¤é»²¹Í¤Ë
- Ãæ´ÖÌ¿ÎáÎóį¤á¤ë
- 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], []]
- ¥ë¡¼¥ëʸ̮
- ¥Ø¥Ã¥É¤Ë¥ë¡¼¥ëʸ̮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 †
»þ´Ö·×¬ÍÑcallback´Ø¿ô †
- &ref(): File not found: "timer.c" at page "¸¦µæÆü»ï¤È¤¦¤á¤";
- ÄɲäλÅÊý¡§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 †
uniq for nd †
- Ëì¤Î¥À¥ó¥×(--nd)¤ËÂбþ¤·¤¿¡¢µ¤¤¬¤¹¤ë
- Ë줬»ý¤Ä¥ë¡¼¥ë¥»¥Ã¥ÈÇÛÎó¤ò¥Ð¥¤¥Ê¥ê¥¹¥È¥ê¥ó¥°¤Ë½ñ¤¹þ¤ó¤Ç¤¤¤ë
- mem-enc¤ËÂбþ¤µ¤»¤ë¤Ê¤éÍúÎòɽ¤ÎÃæ¿È¤òÁ´Éô½ñ¤¹þ¤Þ¤Ê¤¤¤È¤¤¤±¤Ê¤¤¤«¤â
- ȯɽ»ñÎÁ
- ³µÍפΤ¢¤È¤Ëȯɽ¤Îή¤ì¤òÃÖ¤¯¤Î¤âÃ桹¤¤¤¤¤«¤â
2010-06-21 †
- Î×»þÈÉ¥¼¥ß
- hyper link¡¢flatLMNtal¤òÂоݤˤ¹¤ëÊý¸þ¤Ç
2010-06-20 †
2010-06-16 †
2010-06-15 †
¥¼¥ßȯɽ½ªÎ» †
- ¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£
- Ëì¤òhlink¤È¤¹¤ë¤È¡¢¤É¤³¤«¤Î³¬ÁؤË°¤µ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤Î¤Ç¤Ï
- ¤É¤³¤Î³¬Áؤˤâ°¤µ¤Ê¤¤¡¢¤«¤Ä¼«Í³¤Ë»²¾È¤Ç¤¤ë¤è¤¦¤Ê²¿¤«¤¬¤¢¤ë¤È¤¤¤¤
- ¥Û¥ó¥È¤Ïint·¿¤È¤«¤â¤É¤³¤«¤Ë°¤·¤Æ¤¤¤ë¤³¤È¤Ï˾¤Þ¤·¤¯¤Ê¤¤
- "-"¤Î̵¤¤¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯¤Ï¤¢¤ó¤Þ¤¤¤é¤Ê¤¤¤ó¤¸¤ã?
- ¥Î¡¼¥ÉÈֹ椬¤¢¤ë¥°¥é¥Õ¤ÏËܼÁŪ¤Ë¤¦¤ì¤·¤¯¤Ê¤¤
- Ãê¾Ý²½¤Î¤¿¤á¤Ë¤Ï¤¤¤¤¤«¤â¤·¤ì¤Ê¤¤
- ºÇŬ²½¡¢¤È¤¤¤¦Â¦Ì̤«¤é¤Ê¤é¤â¤Ã¤È½èÍý·ÏÆâÉô¤ò¤¤¤¸¤Ã¤¿¤Û¤¦¤¬¸ú²Ì½Ð¤ë
- ¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯¤ä¤ë°ÕµÁ¤ò¤â¤¦¤Á¤ç¤Ã¤È¹¤¯¿¼¤¯¹Í¤¨¤Ê¤±¤ì¤Ð
2010-06-11 †
ºòÆü¤ÎÈÉ¥¼¥ß¥á¥â †
- ¿Âп¡¢¤È¤¤¤¦É½¸½¤Ï¤Ê¤ó¤«¤ª¤«¤·¤¤
- +¤ÎÊý¤ò¥Ç¥Õ¥©¥ë¥È¤Ë¤·¤Æʸ»ú¿ô¸º¤é¤¹¤È¤«
- ³¬ÁØ̵»ë¤ÇºîÍѤ¹¤ë¥ë¡¼¥ë¤¬Ìµ¤¤
- ¥ë¡¼¥È¤«¤é¤Î¥×¥í¥¥·¥¢¥È¥à¤Î¥Ä¥ê¡¼¤òºî¤ë¤È¤«
- ½¸¹ç±é»»¤Îµ¡Ç½¤¬¤¢¤ó¤Þ¤ê¤Ê¤¤¡¢ËìÆâ¤Î¥¢¥È¥à¿ô¤¬Ê¬¤«¤ë¤È¤«
2010-06-10 †
hyperlink : ÌÑÁÛ †
- Ʊ¤¸¥ê¥ó¥¯Ì¾¤Î3²ó°Ê¾å¤Î½Ð¸½¤òµö¤¹¡¢¤È¤¹¤ë
- =ÆâÉôŪ¤Ë¤Ï·Ú¤¤Ëì¤Çhyperlink¤òɽ¸½¤·¤Æ¤¤¤ë¡¢¤È¤¹¤ë
- ¤³¤ÎÆó¤Ä¤Îɽ¸½¤òʬ¤±¤¿¤Û¤¦¤¬¤¤¤¤¤Î¤Ç¤Ï
- a.¿¿ô¤È¿¿ô¤ÎÀܳ´Ø·¸(¿Âп)
- b.¿¿ô¤¬°ì¤Ä¤Î¶¦Ḁ̈ǡ¼¥¿¤ò»²¾È¤·¤Æ¤¤¤ë(¿Âаì)
- b¤Ï¤É¤Á¤é¤«¤È¤¤¤¦¤È¶¦ÍÊÑ¿ôŪ¤Ê´¶¤¸¡¢¤È¤ê¤¢¤¨¤º¥Ç¡¼¥¿¤ÎÊѹ¹ÊýË¡¤Ï¸å²ó¤·
- ¤Þ¤º¤Ï¸½¾õ¤Î(flat¤Ê)LMNtal¤Ç¤Ç¤¤½¤¦¤Ê¤³¤È¤À¤±
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 †
- ·Ú¤¤Ëì¤òÆþ¤ì¤ë¤È¤¹¤ë¤È
- +/-¥¢¥È¥à¤Î¤ß»ý¤Æ¤ë
- »ÒËì¡¢¥ë¡¼¥ë¤Ï»ý¤Æ¤Ê¤¤
- ¤³¤ÎÊÕ¤ê¤Ï¤º¤Ã¤È¸À¤ï¤ì¤Æ¤ë¤³¤È
- ¿³¬Áؤ«¤é(Åù¤·¤¯)»²¾È¤Ç¤¤ë
- ¥°¥í¡¼¥Ð¥ëÊÑ¿ôŪ¤Ê¡¢¥×¥í¥¥·¥¢¥È¥à¤òÄ´À᤹¤ë¤³¤È¤Ç¤¦¤Þ¤¯¤¤¤«¤Ê¤¤¤«
- (¤Ê¤ó¤é¤«¤Î·Á¤Çdata¤ò»ý¤Ã¤Æ¤ë¤È¤·¤Æ)Ʊ¤¸data»ý¤Ä¤â¤ÎƱ»Î¤ò¤É¤¦°·¤¦¤Î¤«
- Ʊ¤¸¤Ê¤é·ë¹ç¤µ¤»¤ë¤Î¤«¡¢
- ·Ú¤¤Ë켫ÂΤδÉÍýÊýË¡¤ËÂ礤¯´Ø¤ï¤Ã¤Æ¤¯¤ë
- »²¾È¥«¥¦¥ó¥È(+¥¢¥È¥à¤Î¿ô)¤òÍøÍÑ
- ¥Ñ¥é¥á¥¿ÉÕ¤±¤Ë¤è¤ëÆþ½ÐÎÏ¡¢¶¦Í/Èó¶¦Í¤Îɽ¸½
- ¾åÅÄÀèÀ¸¤ÎÏÀʸ(¤³¤ì¤Î19ÈÖ64ËçÌܤ¢¤¿¤ê)¤Ë¤¢¤ë¤±¤É¤â
2010-06-08 †
2010-06-04 †
- ̵¤«¤Ã¤¿Íýͳ¤È¤·¤Æ¡¢Ëì¤ò»È¤¨¤Ð½ñ¤±¤Á¤ã¤¦¤«¤éɬÍפʤ¤¤Ç¤·¤ç¡¢¤¬¤¢¤ë
- º£¤ÎËì¤Î¤Þ¤Þ¤¸¤ã¤¤¤±¤Ê¤¤Íýͳ¤ò¤Ï¤Ã¤¤ê¤µ¤»¤Æ¤ª¤¯
- ¥ê¥ó¥¯Æ±»Î¤ÎÀáÅÀ¤Ë»È¤¦¤Ë¤Ï½Å¤¤
- ¤É¤Î³¬Áؤ«¤é¤âÅù¤·¤¯»²¾È¤Ç¤¤ë¤è¤¦¤Ê(¥°¥í¡¼¥Ð¥ë¤Ê)¤³¤È¤Ï½ÐÍè¤Ê¤¤(¤ä¤ê¤Ë¤¯¤¤¡©¤ä¤í¤¦¤È»×¤¨¤Ð½ÐÍ褽¤¦¤«¤Ê..)
- ºÇ½é¤Ï¥Õ¥é¥Ã¥È¤Ê¾ì¹ç¤òÁÛÄꤷ¤¿Êý¤¬¤¤¤¤¤ó¤À¤í¤¦¤±¤É¡¢
- (LMN¥ë¡¼¥ë¤Ç)Ʊ¤¸Í×ÁǤò»ý¤ÄËì¤ò·ë¹ç¤¹¤ë»þ¤ËO(Ëì¤Î¿ô^2)¤Ë¤Ê¤ë¤ó¤¸¤ã¡©
ubuntu : µ¯Æ°¤Ç¤¤Ê¤¤ †
- ¹¹¿·¤·¤¿¤é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 †
ÈÉ¥¼¥ß¤Ë¤Æ †
- ¤ä¤Ã¤Ñ¤êËì¤ò¥æ¥Ë¥ª¥ó¤¹¤ë¡¢¤¢¤ë¤¤¤Ï¤½¤ì¤ËÁêÅö¤¹¤ë²¿¤«¤¬¤¢¤Ã¤¿¤Û¤¦¤¬¤¤¤¤¤Î¤Ç¤Ï¤Ê¤¤¤«
- ÉáÄ̤ÎËì¤è¤ê¤â·Ú¤¤Ëì¡¢¤¢¤ë¤¤¤Ï¥Ï¥¤¥Ñ¡¼¥ê¥ó¥¯¤¬¤Û¤·¤¤¤«¤â¤·¤ì¤Ê¤¤
- ¤É¤¦¤¤¤¦¥ë¡¼¥ë¤Ë¤Ê¤Ã¤¿¤é¥¨¥ì¥¬¥ó¥È¤Ê¤Î¤«¡¢¤Á¤ç¤Ã¤È½ñ¤¤¤Æ¤ß¤ë¤È¤¤¤¤¤«¤â
- ¸«¤¿ÌܤÏÊÑ¿ô3¤Äµö¤¹¤±¤É¡¢¼Â¤Ï·Ú¤¤Ëì¤ò²ð¤·¤Æ¤¤¤ë¤è¤¦¤Ê¥·¥ó¥¿¥Ã¥¯¥¹¥·¥å¥¬¡¼¤Ï¤¢¤ë¤È¤¦¤ì¤·¤¤¤«¤â
2010-06-03 †
CHR : dijkstra(optimize) ¬¤ê¤Ê¤ª¤· †
- ¥¯¥¨¥ê¤ÏRand4 (edge=node*4)
node | 128 | 256 | 512 | 1024 | 2048 | 4096 |
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 | | |
Ëì¤Ë¤è¤ëµ¼»÷¶¦ÍÊÑ¿ô¤Ë¤Ä¤¤¤Æ(ºòÆü¤Î³¤) †
- ºòÆü¤Ï½é´ü¥°¥é¥Õ¤òÀ¸À®¤¹¤ë»þ¤Ë¡¢´û¤ËÊÑ¿ô(Ëì)¤È¥¢¥È¥à¤¬·ë¤Ó¤Ä¤¤¤¿¾õÂÖ¤ÇÀ¸À®¤·¤Æ¤¤¤¿¡£¤¬¡¢¼ÂºÝ¤Î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¤Î¥¨¥ó¥³¡¼¥É¤Ç¤É¤¦¤·¤Æ¤âËì¤ò»È¤Ã¤Æ¤·¤Þ¤¦Îã †
- 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 †
¼Â¸³ : LMNtal vs CHR (À°¿ô¤ÎÈæ³Ó) †
- Ʊ¤¸Ãͤò»ý¤Ä¥¢¥È¥à¤ÎÁȤò¸«¤Ä¤±¤Æ¾Ã¤¹
- 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) | .
- ¥¯¥¨¥ê(·×»»Î̺ǰ¤Ë¤Ê¤ë¤è¤¦¤Ë)
%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 | |
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 †
:- 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¤ÎÃæ´Ö¤Ï̵¤¤¤ó¤À¤í¤¦¤«¡©
CHR : ¤½¤Î¾ †
- ERROR: =</2: Arguments are not sufficiently instantiated
- =< ¤ÎÎÊÑ¿ô¤ËÃͤ¬Â«Çû¤µ¤ì¤Æ¤¤¤Ê¤¤
- findall_constraint/3¡¡(shceduling.pl)
2010-06-01 †
CHR : optimize option †
- type/mode¤¬»È¤¨¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡ª
¥Ò¡¼¥× †
- order¤Ï¼¡¿ô¤ÈÌõ¤¹¤Î¤¬¼«Á³¡©
2010-05-28 †
CHR : Union-Find algorithm †
- ¤È¤ê¤¢¤¨¤ºÌäÂê¤ÎÆâÍƤò¤â¤¦°ìÅÙÍý²ò
- ñ½ã¤Ê¤â¤Î¡¢ºÇŬ²½¤µ¤ì¤¿¤â¤Î¤òlmn¤Ë¥¨¥ó¥³¡¼¥É
- ½¸¹ç¤òËì¤Çɽ¤¹¤³¤È¤Ï²Äǽ¤Ê¤ó¤À¤í¤¦¤«¡©
memo †
- »²¾È¥«¥¦¥ó¥È¡¢¥Þ¡¼¥¯¥¢¥ó¥É¥¹¥¤¡¼¥×
2010-05-27 †
CHR : dijkstra¤Îtype/mode †
- ÏÀʸ¤ÎÊý¤Ç¤Ïtype/mode¤ÎÍ̵¤Ç·×»»Î̤¬ÊѲ½¤·¤Æ¤¤¤ë¤¬¡¢¼ê¸µ¤ÎSWIprolog¤Ç¤ÏÆ°¤¤¤Æ¤¤¤ë¤Î¤«¤è¤¯Ê¬¤«¤é¤Ê¤¤
- dense_int¤ò»È¤¦¤È¼Â¹Ô»þ´Ö¤¬ÊѤï¤ë¡ÊµÕ¤ËÃÙ¤¯¤Ê¤Ã¤¿¤±¤É¡Ë·ë²Ì¤¬¤¢¤Ã¤¿¤«¤é¡¢²¿¤é¤«¤Î±Æ¶Á¤Ï½Ð¤Æ¤¤¤ë¤è¤¦¤À¡¢¤Ç¤âÆæ
- ¾¤Ë¤ÏUnion-find¤Ç¤âIndex¤¬»È¤ï¤ì¤Æ¤¤¤ë¤è¤¦¤À
CHR : partner(passive)constraint¤Îõº÷ †
- ¶¦Í¤ÎÊÑ¿ô¤ò¤¦¤Þ¤¯ÍøÍѤ·¤Æ¥Ñ¡¼¥È¥Ê¡¼¤Îõº÷¤òÁ᤯¤·¤Æ¤Û¤·¤¤¡¢Ã¯¤«¤Ë
2010-05-26 †
OpenOffice?:Âпô¥°¥é¥Õ †
- ½ñ¼°¢ª¼´¢ªY¼´¢ª¥¹¥±¡¼¥ë¥¿¥Ö
2010-05-24 †
dense_int †
- ¥Ï¥Ã¥·¥å¥Ù¡¼¥¹¤ÎÀ©Ì󥹥ȥ¢¤È¤ÏÊ̤ˡ¢ÇÛÎó·Á¼°¤ÎÀ©Ì󥹥ȥ¢¤òÍÑ°Õ¤·¡¢¤½¤³¤Ëdense_int·¿¤Ç¥¤¥ó¥Ç¥Ã¥¯¥¹ÉÕ¤±¤·¤Æ³ÊǼ¤¹¤ë
- ¥Ï¥Ã¥·¥å¤Î·×»»²ó¿ô¤ò¸º¤é¤»¤ë¡¢¾×ÆͤòÈò¤±¤ë¤³¤È¤¬¤Ç¤¤ë
- ¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ë»È¤ï¤ì¤ëÀ°¿ô¤Î¸Ä¿ô¤¬[0,n]´Ö¤Ç¤¢¤ëÄøÅÙ¿¤¤(Ç»¤¤=dense)¾ì¹ç¤Ë¸ú²Ì¤òȯ´ø¤¹¤ë¡¢¤é¤·¤¤
- Indexing tequnic¤È¤Î´Ø·¸¤ò¤â¤¦¾¯¤·¸«¤¿¤¤
- chapter 9 join ordering¤â»²¹ÍÄøÅÙ¤Ë
¤Û¤« †
- prolog¤Î¥Þ¥Ã¥Á¥ó¥°¤Ï¤É¤¦¤Ê¤Ã¤Æ¤ë¡©
- edge(X,Y)·Á¼°¤À¤È·×»»Î̤Ϥɤ¦¤·¤Æ¤â¿¤¯¤Ê¤ë
- ¥¢¥È¥à¤Î°ú¿ô¤Î¿ô¤ò¥ë¡¼¥ë¤Î¾ò·ï¤Ë¤Ç¤¤¿¤é...
2010-05-19 †
callback : graph_gen_nocycle_uniq †
- 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 †
2010-05-17 †
prolog : setof †
- 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 †
CHR¤Îlistdom.pl †
- X lt Y ¤Ã¤Æñ¤Ëmax(X)<max(Y)¤Ê¤ó¤À¤í¤¦¤«¡¢¾¯¤Ê¤¯¤È¤â¼Â¹Ô·ë²Ì¤Ï¤½¤¦¤ß¤¨¤ë
- ¤À¤È¤·¤Æ¤â¤Ê¤ó¤À¤«¤Á¤ã¤ó¤È½ñ¤«¤ì¤Æ¤Ê¤¤µ¤¤¬¤¹¤ë¤Ê
UNYO¤Î¥Ð¥°¡©¡Ê´û¤ËÊó¹ð¤µ¤ì¤Æ¤¤¤¿¡Ë †
- (Äɵ)Java¥³¥ó¥Ñ¥¤¥é¤Î¥Ð¥°¤À¤Ã¤¿¤ß¤¿¤¤
- 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).
[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 †
callback´Ø¿ô : integer_int2float †
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 †
delete([1,3,2,3],3,X) ----> X = [1,2].
ÈÉ¥¼¥ß †
- °ì¤Ä¤ÎÎãÂê¤ò¤â¤¦¾¯¤·ºÙ¤«¤¯¸«¤Æ¤ß¤è¤¦
- ¥Ç¡¼¥¿É½¸½¤ä¥ë¡¼¥ë¤Î¹©Éפʤ󤫤Ǥ³¤ì°Ê¾å²þÁ±¤Ç¤¤Ê¤¤¤È¤¤¤¦¤È¤³¤í¤Þ¤Ç¤â¤Ã¤Æ¤¤¤¯
2010-05-12 †
- ¥ê¥Ë¥å¡¼¥¢¥ë¤µ¤ì¤Æ¤Æ¤Ó¤Ã¤¯¤ê
2010-05-11 †
CHR : \+ : and¤ÎÈÝÄê? †
2010-05-09 †
listdom.pl : ¥¨¥ó¥³¡¼¥É´°Î»¡© †
- ¥¨¥ó¥³¡¼¥É¤Ç¤¤¿¤È»×¤¦¡¢¤«¡¼Èè¤ì¤¿
2010-05-08 †
listdom.pl †
lt : less than
le : less than or equal
ne : X ne Y, Y::[*]¤Ç*¤«¤éX¤ò¼è¤ê½Ð¤¹?
2010-05-07 †
callback´Ø¿ô : graph_gen †
- (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(!) †
2010-05-07 †
callback´Ø¿ô¤ò¿¨¤Ã¤Æ¤ß¤¿ †
¤³¤ó¤Ê¤Î¤¬¤¢¤Ã¤¿¤Î¤«¡¢¥³¥í¥óµË¡¡© †
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)).
- ¥Á¥ë¥À¤È¤«_¤È¤«¤â»î¤·¤Æ¤ß¤¿¤±¤É¡¢¤³¤¦¤¤¤¦É÷¤ËÆÃÊÌ°·¤¤¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤Ï¸«Åö¤¿¤é¤Ê¤«¤Ã¤¿
- eclipse ¹ÔÈÖ¹æ¤Îɽ¼¨
- ¡Ö¥¦¥£¥ó¥É¥¦¡×>¡ÖÀßÄê¡×>¡Ö°ìÈÌ¡×>¡Ö¥¨¥Ç¥£¥¿¡×>¡Ö¥Æ¥¥¹¥È¡¦¥¨¥Ç¥£¥¿¡×
- ¡Ö¹ÔÈÖ¹æ¤Îɽ¼¨¡×¤Ë¥Á¥§¥Ã¥¯
2010-05-06 †
CHR encoding †
- À©Ìó¥×¥í¥°¥é¥ß¥ó¥°Åª¤ÊÎãÂê¤òencode¥Ú¡¼¥¸¤ËŽ¤ÃÉÕ¤±¤ë
- Ž¤ÃÉÕ¤±¤Æ¾¯¤·À°·Á¤·¤Æ¤ß¤¿
- ¤ä¤ê¤«¤±
2010-05-03 †
Floyd-WarshallË¡¤Î²òÀâ¤òÆɤó¤Ç¤ß¤¿ †
- ¤¢¤Î¥¢¥ë¥´¥ê¥º¥à¤ò¤½¤Î¤Þ¤ÞLMNtal¤Ç½ñ¤±¤ë¤Î¤«
- ½ñ¤±¤½¤¦¤«¤â¡©¤Á¤ç¤Ã¤È½ñ¤¤¤Æ¤ß¤ë
- CHRʸ¸¥Æâ¤Î¥Ù¥ó¥Á¥Þ¡¼¥¯¤Ë¤¿¤Þ¤Ë"FLOYD-WARSH(N)"¤Æ¤Î¤¬¤¢¤ë¡¢¤è¤¯Ä´¤Ù¤ë
2010-05-02 †
ubuntu kernel panic! †
2010-04-27 †
CHR encoding †
- CHR encoding¤Î¥Ú¡¼¥¸¤òÀ°·Á¤·¤Æ¤ß¤¿¤¬¡¢¤¦¤¦¤à
- CHR¤Îʸ¸¥¤ò¤¢¤µ¤Ã¤Æ¤¤¤¿¤é¡¢¤¤¤¯¤Ä¤«¿·¤·¤¤ÎãÂê¤ò¸«¤Ä¤±¤¿¤Î¤Ç¤Á¤ç¤Ã¤È½ñ¤¤¤Æ¤ß¤ë
- ÎØÆɤò˺¤ì¤Ê¤¤¤è¤¦¤Ë¤·¤Ê¤¤¤È
2010-04-26 †
- ¤È¤ê¤¢¤¨¤ººî¤Ã¤Æ¤ß¤¿¤â¤Î¤Î¡¢¤É¤¦¤¤¤¦¥ì¥¤¥¢¥¦¥È¤Ë¤·¤¿¤é¤¤¤¤¤Î¤«Çº¤à
- ¤Þ¤À¤Þ¤À¾¯¤Ê¤¤¤¬¡¢ÆʹӤǤޤȤá¤Æ¤ß¤¿
- CHR¥×¥í¥°¥é¥à¤ËÍ¿¤¨¤ë¥¯¥¨¥ê¤ò¤É¤¦¤¹¤ë¤«¤Ç¤¤¤Ä¤âǺ¤à¤Î¤Ï¤Ê¤ó¤È¤«¤Ê¤é¤Ê¤¤¤â¤Î¤«
¤Û¤« †
- dijkstra¤Ï½Å¤ß¤¬ÈóÉé¿ô¤Î¾ì¹ç¤Î¤ß»È¤¨¤ë¡¢O(V^2)
- Bellman-Ford¤ÏÈóÉé¿ô¤Ç¤âok¡¢O(V^3)
- Warshall-Floyd¤ÏÈóÉé¿ôok¡¢¤Ç¤â¥µ¥¤¥¯¥ë¤ËÈóÉé¿ô¤¬¤¢¤ë¤È¥À¥á¡¢O(V^3)
2010-04-25 †
SLIM¾¸À¸ì¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥É¥¥å¥á¥ó¥È †
system_ruleset¤Ècallback †
2010-04-24 †
graph_generator.c †
- ºî¤Ã¤Æ¤ß¤¿¡¢¸å²ù¤Ï¤·¤Æ¤¤¤Ê¤¤
- ÃÏÌ£¤Ë½Å¤ßÉÕ¤±Í¤ê̵¤·¤ä¡¢½ÐÎÏÀè¤òÁª¤Ù¤¿¤ê¤¹¤ë
- ¤Ê¤¼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 †
2010-04-23 †
Canon»ö¶È½ê¸«³Ø²ñ †
- ³«È¯¿¦¤Ç¤âÍ×Áǵ»½Ñ¸¦µæŪ¤Ê»Å»ö¤â¤¢¤ë¡¢¤È¤¤¤¦¤Î¤Ï¤É¤³¤Î»ö¶È½ê¤âƱ¤¸¤é¤·¤¤
- Canon¹ç³Ê¼Ô¤Î¥á¡¼¥ê¥¹Ã´Åö¤Ë¤Ê¤Ã¤¿¡£¾Ð
2010-04-22 †
Union Find †
- ¥¨¥ó¥³¡¼¥É¤·¤Æ¤ß¤¿¡¢¥¯¥¨¥ê¤È¤·¤ÆÊÑ¿ô¤ÏÍ¿¤¨¤é¤ì¤Ê¤¤¤±¤É
ºÇû·ÐÏ©ÌäÂê †
- ¥°¥é¥Õ¾å¤Î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)¤è¤ê¼ã´³Ä㤤¤¯¤é¤¤¤Ë¤Ê¤ë¤Ï¤º
- ¤Ê¤Ã¤Æ¤¿
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¥×¥í¥°¥é¥ß¥ó¥°¡¢µ¤¤Ë¤Ê¤ë¤³¤È †
- CHR¤ÎÎãÂê¤Ë¤Ï¡Ö½èÍý·Ï¤Î¼ÂÁõÊýˡŪ¤Ë¥ë¡¼¥ë¤ÎŬÍѽç½ø¤Ï¤³¤¦¤Ê¤ë¤Ï¤º¡×¤ò¹Íθ¤·¤Æ¥×¥í¥°¥é¥ß¥ó¥°¤·¤Æ¤¤¤ë¤â¤Î¤¬Â¿¤¤µ¤¤¬¤¹¤ë(¤È¤¤¤¦¤«Ê¸¸¥¤È¤«¤ÇÌÀ¼¨¤·¤Æ¤¤¤ë)
- Î㤨¤Ð¡¢¼¡¤Î2¤Ä¤Î¥ë¡¼¥ë¤Ï¾å¤«¤é½ç¤Ëɾ²Á¤µ¤ì¤ë
- item¤¬¤¿¤¯¤µ¤ó¤¢¤ëÃæ¤Ëfindmin¤òÀ¸À®¤¹¤ë¤Èfindmin@¤¬°ìÄ̤ê¼Â¹Ô¤µ¤ì¡¢ºÇ¸å¤Ëfoundmin@¤¬¼Â¹Ô¤µ¤ì¤ë
- ¤Ê¤ó¤«¤º¤ë¤¯¤Ê¤¤¤«¡¢Ê̤Ëitem¤¬¤¢¤Ã¤Æ¤âfoundmin@¤¬¼Â¹Ô¤µ¤ì¤Æ¤â¤¤¤¤¤Ï¤º¤Ç¤Ï
- ¤½¤ì¤È¤âLMNtal¤Ç¤½¤¦¤¤¤¦½ñ¤Êý¤·¤Ê¤¤¤Î¤ÏÇϼ¯ÀµÄ¾¤¹¤®¤ë¤Î¤À¤í¤¦¤«
findmin @ findmin, item(I,K,_,0,_) ==> min(I,K).
foundmin @ findmin <=> true.
2010-04-21 †
dijkstra ¤Î¥¨¥ó¥³¡¼¥É½ª¤ï¤Ã¤¿ †
¤½¤Î¾ †
- ¼²¬¡¦¸åÄ®¤ò°Ö¤á¤ë(?)²ñ
- À¸ * 21ÇÕ / 3¿Í = 7 [ÇÕ/¿Í]
- ¿ì¤¤¤Ã¤Æ»Ø¿ô´Ø¿ôŪ¤Ë¤¯¤ë¤è¤Í
2010-04-20 †
dijkstra's algorithm with F-heap †
2010-04-19 †
chr_path_N †
- 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ËÜÌܤΥ롼¥ë¤Ç¾Ã¤µ¤ì¤ë)
ÎãÂêÁý¤ä¤· †
- ¥À¥¤¥¯¥¹¥È¥é
- ¥Õ¥£¥Ü¥Ê¥Ã¥Á¥Ò¡¼¥×¤òÍѤ¤¤¿ºÇŬ²½¤ÎÏÀʸ¡¢Æɤó¤Ç¤ß¤Æ¤ë
- ¤¢¤È¤ÏUnion find¤È¤«¤¬¤¤¤¤¤«¤Ê
2010-04-18 †
CHR book †
- ¥Ñ¥¹À°¹ç¡¢¥¢¡¼¥¯À°¹çÊÕ¤ê¤òÆɤó¤À
2010-04-17 †
Propagation¤Èuniq¤Î°ã¤¤ †
- 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 †
ubuntu¤Çchr¤òÆ°¤«¤»¤¿ †
- 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
- ¥Ð¥¤¥Ê¥ê¤ÎÊý¤«¤échr¥Õ¥©¥ë¥À,chr.pl¤ò»ý¤Ã¤Æ¤¯¤ë
- Sources¤ËÂФ·¤ÆºÆÅÙ¤Î1.¤Î./configure°Ê¹ß¤ò¼Â¹Ô
2010-04-15ÈÉ¥¼¥ß¸å †
¼¡½µ¤Þ¤Ç¤Ë †
- chr_path.lmn¤Î¬Äê¡¢¥ª¡¼¥À¡¼·×»»¤Ê¤É¤â¤í¤â¤í
- benchmark set¤ÎÍÑ°Õ
2010-04-15 †
-ÈÉ¥¼¥ßÍÑ¡§¤É¤ó¤ÊÎãÂê¤òÁ᤯¤·¤¿¤¤¤Î¤« †
- ¥í¥Ã¥¯¥Õ¥ê¡¼¤Ç¼ÂÁõ
- ºÇ½é¤Ï0or1²Á¤Î¥¢¥È¥à¤ä¥ê¥¹¥È¤ò°·¤¦ÎãÂê¡ÊËì̵¤·¤Ç¡Ë
- CHRŪ¤Ê²¿¤«
- NESL¤ÎÎãÂê¤Ï¤É¤¦¤«
- quicksort¡§Æþ¤ì»Ò¥Ç¡¼¥¿ÊÂÎó
ubuntu¤Çlibrary(chr)¤¬¸Æ¤Ó½Ð¤»¤Æ¤¤¤Ê¤¤ †
2010-04-14 †
ubuntu †
$ uname -a ¤Ç32or64¥Ó¥Ã¥ÈÈǤ«¸«Ê¬¤±¤é¤ì¤ë
Let's Note¤¬Ä¾¤Ã¤¿ †
- ¥Ñ¥Ê¥½¥Ë¥Ã¥¯½¤Íý¹©Ë¼¡¢¥¤¥ó¥Ð¡¼¥¿¤Î¸Î¾ã(ÍÎÁ)¤À¤Ã¤¿¤±¤É¡¢±Õ¾½¥Ñ¥Í¥ë¤Þ¤Ç¸ò´¹(̵ÎÁ)¤·¤Æ¤¯¤ì¤¿¡¢½ÐÍè¤ë
2010-04-13 †
SLIM¤Îrule trial¤Ë¤«¤«¤ë»þ´Ö(Ä̾ï¼Â¹Ô) †
- time_optimized_slim
- ¼ê»ý¤Á¤ÎÎãÂê¤Ç¤¶¤Ã¤È¼è¤Ã¤Æ¤ß¤¿¡¢ÊÔ½¸Ãæ
- ¤¢¤Ã¤Æ¤¤¤ë¤ó¤À¤í¤¦¤«
2010-04-09 †
- ÀèÀ¸¤«¤éKLIC¤ä¤éCHR¤ò»È¤¨¤ë´Ä¶¤ò¤É¤³¤«¤ËÍÑ°Õ¤·¤è¤¦¤È¤Î¤ªÏÃ
- pave¤Ë¤ÏKLIC¤¬Æþ¤Ã¤Æ¤¤¤¿¡¢¤Ç¤â¤¦¤Þ¤¯Æ°¤«¤Ê¤«¤Ã¤¿
- NIOLO¤ËÆþ¤ì¤Æ¤ß¤è¤¦¤È¤·¤¿
- ÁªÂò»èÁª¤ó¤Ç¤¤¤Ã¤¿¤é¡¢ÅÓÃæ¤Ç̵¸Â¥ë¡¼¥×¤·¤¿¤Î¤Çº£Æü¤ÏÊüÃÖ
- ¤Ç¤âgocho¤Îubuntu¤Ç¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤Þ¤Ç¤Ï¤¦¤Þ¤¯¤¤¤Ã¤Æ¤¿¡¢¥Ñ¥Ã¥ÁÅö¤Æ¤ì¤Ð¤¦¤Þ¤¯¤¤¤¯¡©
- NESL¤ÎÏÀʸ¤ÎÆɤßÈô¤Ð¤·¤Æ¤¿¤È¤³¤í¤ò»×¤¤½Ð¤·¤¿¡¢ÌÀÆüÆɤà
- ¤ä¤Ã¤Ñ¤ê¥¯¥¤¥Ã¥¯¥½¡¼¥ÈŪ¤ÊÎãÂê¤ò¤ä¤Ã¤Æ¤ß¤¿¤¤¤È¤Ï»×¤¦
2010-04-08 †
- M2¥Ú¡¼¥¸ºî¤Ã¤Æ¤ß¤¿ [#f6ca3e7f]
- ubuntu¤ò¿·¤·¤¤PC¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤ß¤¿ [#e4d9ba88]
- KL1¤òÆ°¤«¤·¤Æ¤ß¤ë [#hbc9ed25]
- KLIC¤Î¼ÂÁõ¤Ë¤Ä¤¤¤Æ
- Inside KLIC¡ÊKLIC¤ÎHP¤«¤é¡ËÆüËܸì
¤¦¤á¤ †
2010-08-05 †
- 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 ( ¡®§Ù¡)
2010-04-09 †
- ½Õ¤À
- ÇϾì±Ø¼þÊÕ¤¬¿§¡¹ÊѤï¤Ã¤Æ¤Æ¤Ó¤Ã¤¯¤ê
- ½¢¿¦³èÆ°½ªÎ»¡¢¸¦µæ¤¬¤ó¤Ð¤é¤Ê¤¤¤È
- »³Ì¾ÀèÀ¸¤ÏÍ¥¤·¤«¤Ã¤¿¡¢Ê¸Ì̤¬hiroshi¤ÈƱ¤¸¤À¤Ã¤¿¤¬¡¢¤Ç¤âÍ¥¤·¤«¤Ã¤¿
2010-04-08 †