From 3659f9036cd75cce2f79b101ec831c08c2cc59c5 Mon Sep 17 00:00:00 2001 From: Fabrizio Riguzzi Date: Tue, 17 Sep 2013 14:10:08 +0200 Subject: [PATCH] testing output --- packages/cplint/doc/manual.html | 61 +++++++++++++++++++----------- packages/cplint/doc/manual.pdf | Bin 227785 -> 228985 bytes packages/cplint/doc/manual.tex | 12 +++++- packages/cplint/slipcover/test.pl | 8 ++-- 4 files changed, 54 insertions(+), 27 deletions(-) diff --git a/packages/cplint/doc/manual.html b/packages/cplint/doc/manual.html index dad36ea77..4c8816cb3 100644 --- a/packages/cplint/doc/manual.html +++ b/packages/cplint/doc/manual.html @@ -7,7 +7,7 @@ - + @@ -1349,7 +1349,7 @@ class="cmtt-10">ll, valid for SLIPCOVER): determines the score function for refinement: if set to ll, log likelihood is used, if set to aucpr, the area under the precision-recall curve is used. +class="cmtt-10">aucpr, the area under the Precision-Recall curve is used.

5.3 slipcover.pl with ?:- sl(stem).

+

5.4 Testing

-

To test the theories learned, load

To test the theories learned, load test.pl with

?:- use_module(library(’cplint/test’)).
-

and call +

and call

?:- main([<stem_fold1>,...,<stem_foldn>],[<testing_set_fold1>,...,  
  <testing_set_foldn>]).
-

For example, if you want to test the theory in

For example, if you want to test the theory in ai_train.rules on the set ai.kb, you can call @@ -1432,7 +1433,7 @@ you can call

?:- main([ai_train],[ai]).
-

The testing program has the following parameter: +

The testing program has the following parameter:

-

+

The testing program produces the following output in the current folder: +

+

5.5 Learning Examples

-

The subfolders

The subfolders em, rib, slipcase and slipcover of the class="cmtt-10">packages/cplint folder in Yap git distribution contain examples of input and output files for the learning algorithms. -

+

6 License

-

cplint, as Yap, follows the Artistic License 2.0 that you can find in Yap CVS root dir. The copyright is by Fabrizio Riguzzi. -

The modules in the approx subdirectory use SimplecuddLPADs, a modification of + +

The modules in the approx subdirectory use SimplecuddLPADs, a modification of the Simplecudd library whose copyright is by Katholieke Universiteit Leuven and that follows the Artistic License 2.0. -

Some modules use the library

Some modules use the library CUDD for manipulating BDDs that is included in glu. For the use of CUDD, the following license must be accepted: -

Copyright (c) 1995-2004, Regents of the University of Colorado -

All rights reserved. -

Redistribution and use in source and binary forms, with or without modification, +

Copyright (c) 1995-2004, Regents of the University of Colorado +

All rights reserved. +

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

-

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
AND CONTRIBUTORS ”AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR @@ -1504,7 +1521,7 @@ class="newline" />AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -

lpad.pl, semlpad.pl and cpl.pl are based on the SLG system by Weidong @@ -1512,6 +1529,7 @@ Chen and David Scott Warren , Copyright (C) 1993 Southern Methodist University, 1993 SUNY at Stony Brook, see the file COYPRIGHT_SLG for detailed information on this copyright. +

References

@@ -1532,7 +1550,6 @@ class="cmti-10">Proceedings of the 26th Italian class="cmti-10">Conference on Computational Logic (CILC2011), Pescara, Italy, 31 August 31-2 September, 2011, 2011. -

[3]   Programming, 2013. class="cmti-10">Inductive Logic Programming (ILP 2004), Work in Progress Track, 2004. +

[8]   LNCS, pages 30–37. Springer, 2011. delaying for general logic programs. Journal of the ACM, 43(1):20–74, 1996.

-

[10]   William W. Cohen. Pac-learning non-recursive prolog clauses. Research, 3:679–707, December 2002. id="XDBLP:journals/ai/Poole97">David Poole. The independent choice logic for modelling multiple agents under uncertainty. Artificial Intelligence, 94(1-2):7–56, 1997. +

[16]   LNAI, pages 109–120. Springer, 2007. class="cmti-10">Proceedings of the 14th RCRA workshop Experimental Evaluation of Algorithms for Solving Problems with Combinatorial Explosion, 2007. -

[18]   Proceedings of the 10th class="cmti-10">European Conference on Logics in Artificial Intelligence, LNAI. Springer, September 2006.

+

[23]   J. Vennekens, Marc Denecker, and Maurice Bruynooghe. CP-logic: @@ -1713,7 +1731,6 @@ class="cmti-10">International Conference on Logic Programming, volume 3131 of LNCS, pages 195–209. Springer, 2004. -

diff --git a/packages/cplint/doc/manual.pdf b/packages/cplint/doc/manual.pdf index 3a7e2cfa073f9613904a63090e5f4c229415453a..5771d7bcc620659a1f89d3f383438c7a788d2c60 100644 GIT binary patch delta 15597 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

>In*w;Dr|tx}ogmHE znN#tcXvW4Nmc@J_w#?CUJv6~&V{iPdWBk!`5fR4Cy@7qJvvd;%n=t~GclOub?NRjy zC6?}*Wj({5$+Rx5d2Zi%_1gVd@=F%^9OIlvh8f~|sZ1>*8CxZ1V#_WSki}+`4Kwv7 zQbl}gpdWsZY;Y_S*y=BCdC~JLH|4^$Ix2DB7-6C-(9#wvAcYfp0e4`ZP>qs(APO$| z-7r619TxmpfPODt;K!=QC5rgFTV-H}dVu48O%kn#vAOR@-4d~2azsvmSrQ`L^ zh3@+$^LPl(=p@wjG3@Kwg)KZvrv%mS+5~G+u?-de3vOokV!#V z7#(NWZ#M0!AGmt{%P4NW@9a>F?haOzg@N$aHCd)|eNnfDngbo0N+)k5*K*Bd;Zsis z_Io(b(Cdlq0G23}&G0*h{Ol8Gx7pWb&8d~E?}^*&V6F6*(l=M*iryKDE@iouQDw$F zJzqC#uv}3unzDlJ)@q>Pt1VS7Iqz16r@a``7ptjMb5nMeV_>=ZBM&!T6(|eV%XA6i z=yd10vu?ed_>Kx7y#@frB?c5D3l;v@C>c&8J9rc;DEC(fr3aBg5=byNa`JAB7GP%W=Es&GDs8z zM#~UzNI^83AOpwYNi4$%(gP%pR6C^3frevb@Cd9Rk^rGXxM&1c28%^QIM$@(7xa{B zf;LDLl7twM=SCi|6O^^IvKB-j(K2{AQV>Hx%b-vwQv8UB;Q!T)M9HAg1VNwR^XKhI z_QPBx`CJ)NWi%~Guw9&_JbH{A3;$~`XsK&4p~E`0d7_!;8*lktflwE7M|w$)^Ifd7 z^P*PNj}bRtWIm84DgF9s8eCiDqUKsx{m^Cv`fZPt{Xi4G`|;DO$Za*?wD>7gbmjbZ zTQADztox-)Q#w@mUj3vtv_A613jGAnf7SM7`OriR<MB#t6>Tto?M zwBAhhT_k;aIb7A->w#=hNF}+Wf98jC!Zknpzbzoa$E(EK; zV132kd3Wv{e=4a(gkLAOCzY~>sN%qPOK>nK!2g(?Udel!F9sULg`k*V>ks9pqeoC5tQcHh=Dr;%803kDNE*$qmU8V|h8ll^TJ( z*R`c&3}mP#^~DICyxhWLiXB3|)D~>Xk)Iec{D8}x8L%ea^)I`blGa@>YbocQo!_4p z=)ELCe}_-!&AUd+Qo1lZ<{jec>b3J}{{5!ad^-t&SCs4Md1^x~vOc}N>Uh%4TIPEY z-T7%IoBZ>3TPMW4>yDb9Xq^B@BN~nAxXs0W(Uo072dlrvO7Fe8qv8HczW>x`%E4XZE8$C8_#l7__w9++)fUKzbo`vT{hJb_%@-jrZ_u&h7T zZ>7wV(wxq(@`l5*g`meChaX*9>h6(m zY#7#_anI!4i-?IN09a}?s549!T=@;gj4o~HxDfFVg*HK5e8TK@C`^nMwb0sN< zZ#}p@)DbGIGVN+)Xp~8pxs^!cVYF0uU;9?9=U}rD9eLJ|Np?Gt4`OSTgW{U?ZJeI_ zInTpY*RSyjk5Xo*&59O3Hx`1o%+!r#*F6q3A`30S`r2_i!yOA4h}FRDU5l@LwBUP7 z;+r+u2F%!g`twl+7Wg^zhqr#Y_c>~#5P?Us3O*A~Y^2~vgKNu&M!N1wJ)0V}jj3CF z8u!_BuQ=*bp^n)En%|;qyG~)gWvb9^Q}FXVAYXG?qxqDkdI#+{AXS-8i`@I5bMl1}NtI*O9rzvkr)+UU9Mo*Yluxl?UfArv<4 zrS6qA+kVAqsQ&UY5tVaE4maWxpWF3?T+++u(*<$cr%C&=^?_mU49LbQDlO}hIOp<# z#+LY=<800JIb+X}ebjaW0i!nqBHr~s@|Ra>O65)UWVUqscB&#LoC3o+PK)t0t*h!#}{T zS8b5##TZ6&ecYSpzpf+%53Dh#&a2Y-#9DN9A*gEBacFp={LSdX(P)-^7FN7?Au^PM zpmVfx|E9R@1Cn^brO$>(uX>?o>!$dw(HRL72We*X!-YL$Nz&VJyNVh3cxp^xCzlI7 zV8|5(GsNMZ~&ZcCK4o4H;DiR!}{ zl*SGCBPjw(L~c&4_ZkYtF6s~LOM@Hr!2Zka5_B(BGp6+K;cLsPTY%IV?jq{KD?e{w zlh{Apd8|1gp-iv4zvy@5l479UJbw9%d3xDMl=uwe-m3Qvr;@IsPpVzXI&;m+>Vx<1 zCYXG(FU={B64x+!{m{O2?LK(t$*O&Ncd&AFrE3Px>p z3vpW{cb+ld^7FOrI-zoS8L|w1vZbW?-r~G!vC-m9RgC?2&Sl1Y?YPlP#!oz`B7eSJ z?${lwGj+{VWDOO1hJRI+C_i@Mmf)~omEfFyV~HzqXd0+8pd<4y)ID!@9`TA|FG{1cc_lsW3`87X`zS4?Siktcw2x*+R&0hOSC)XHae&< ziQQ6sqLhhQ**}UtUBTq@&@KIl@YT0v9V|?B&vt+aVjA-UoWr`qlrZPT^A@`mLW*V+ zH)U@2e_Qh5eyg@zcMlg-vA%7Cj%sxsR8&%>eO>(h^!E(8rx6~Ng3|O)>a^z_LkxMz zT65X2G)L0MrNs``u2jiovW8A;dYkaq(FpS#dr%L|OP2+hmYt{D;qlyc7rI_}m!9s} z-mfltMiG?@4^WL1(Vs@6^-r1~vCKM^dF(ok%Iyb)z{g*{6T@#KeyzsK@jRRs9)Hr; za86jfZ9tWShal&E@>%;=vsJ}ekL_jo{QXV8vWy61IQ*K1zAYmzk$pJ^vX6wt)WsB4ctxwyU=AF{tcpOu@v z@nho-(~jcaPlVhnE1x?GjYN6YGu0{Gx3g@-&s`2uRQ!JOn|^|#xJ2CMxmV&6XYS9p z&ptI+p~bCUbt=~n=+gSyDN6(|v&5=nN^!r~-Bu-T7Pl6}+8tjx#oJ>}c2=_D#7W}m%-kik;whG>4_*BR9gA6+iL2J!Y-MIk zZt9DlXeo}bAJflj2`w3ztgj9guAb-l)v(}_dGE;AJGFY1$A6CY30!+i#Gbi-Lq824 zv3Y;l)+APzP0StbvGMq;nP$gkqSo4w@THgxFLBDtWmdblj|J}@$&IdA$z41z>^&It z>!QroYtnb=aF)1&qOD|QtMNr__G3r!YkSzVrQI^;*(i@7;o55t)<|7aFE72CvyVA9 zNzEB~YFGoEoj zOB!qv^uEnYbTf=kNHj$VJ)?X?7S}FfT^*(tb~DjJsJ;rt($pqMowrnIV#8lvu66ox zC1rK15Vxrls=a4}Z?fI=rtLGZW!Pourle@Aawxk)b3{<9$p`Kb?BMy^4Ao7&;gPoU zmhWGsO5C~hs2sQuXi;|;Lp=I1!)d{5U=-cBJA1P+;_C}K{(6eJ9B2D}ck3goK1p0Y z3RHp%EoC`hLyq{~Sa^NC?J-Tgli|6UhI3SD$wen#$UTU_Z^0V6;62s$2$9K_N^Z-~ zH%Sfy%au~e>S|kn{H|vthX^$X%iM64wC;}3s136hK`EEznROW%qL=ttImLv--!szE zOTSKSDIOn|Cd>W>b?F4P$yNOO1u`!`apC4Hg~_8S#$P7#xyhT5nUMxSzo^n;`#zrr z8K?JHx!b!&|JzfZM}|(xt(jlrK68CJwZ3Sr-^Tx?+>?=ol;kaisrv@rH=mX?UmT;u z1?r{{m}ZC5*(HSoWu7+^L#SKDRl=21z9QzQ;smuVL75{HLT9*J&#jm{4VrQKIrR^O z39+9Zxy*j{c=2c?6}?c*pd%TjvJ8+PLFO>`>C>alveWLW0YZCUauOamF)>&<+4a~C z9Xstq)3OmY(#BbJ!-=56UQxiJUx@+xtQ>C_m^5POxD)X)u0^ zaj=@b{p6{rRWB(^Wzja`8&xHx?*>Z6W+`rRv9#xy?lX5|#$6JJJM@+H@0#2xihnkC z;VMNuXCiHsly}(PP)>DOhQ51t;QED!q9Ke+*{iW%I$piB%#P|(c&fiIO9x!hHASkKpNuanTf&D_4)$ zw9mAu3JK(M>$ygpyV8>#{OOZt431Km^hTnWT}U*0+f&i~-1`{jiI^&Q@He-3PXY;v!`ut3YAm%5sO2E7{RYMJxIGMiwZZ%VTtLZqE%o@?0NKz)p6l(*V4t6z{FTH?PYD)511 z8Z9vd*u}KYboDJiDp*&~ZI&6;PsIuKKh3Q$*SZHXH~S%HM2L6q1o{escYT+p9-Y2deY}^@19E9 zxBt0jtakTGW1s&@_`AAF&$G|NPCrqn9ioYy@(>{$&GA_U$`@buSTePtdBtVuV5z(U z&5Wn=3b9v@rMak_Ya-t5aull0bG#CDo#FlKUVZL_{1f+2>fjt4yCd@hV z%L33eC#XQ!x4^19pmz1iUaEO3hmN^tN7*Zd_@>tT>cW<~lab$u$*DQ9Ehi0*8alQ( z>=ar(HGL>zBTw-oAZL;wIq~*-5RI6n+==IBF1_qq?`%1=N6c~wDua4`?l)a zO`D>z+8!vBEA&*kv%FonP6*7a>;U92SF4t0GnwX|hHR#o_ zSC&J#S0|Z3#dTZI-o$~UCq-jI^mXQV?2DccxDt|OT_TIPr)2q$?3pZ;6|Rbt$q#i$ zK1wHJVsvcXX#8C$7mCi8zDR7YPP{D_eB9b5^u)^0S8&T!i>M@8BJUD6L4Br0Dw@%% z37lGA01^kA&%YwV`^wMSBqq5(yTBbISk$SDZD;kkj=#$spa(l1<8!a4Z0?QL$@>h| zq5EA1%ibS1x0pj&No|g6nDT0WyGRz4oXUmRmnPTQIbJX@k{E$8W zpzMvqNOACs3n5DCoHF|fA%-I*p$&m$AsLeyGd~56R}bJFoNIo?4onVLh=^eG&ZP9K z*pvh$P&=0CxjxyMnKT5Ux{D`IvWxexau)femZbTfh2*ftMv5HaB*naE{oU4H;UabX z1*gJ71tc1aAdP&%QDN|S87vY*I=X_T!a(IC4o@H%tw3-DQU(PTrB_#Qq|2+^q^T9C zFhydZvtc|5`aB6h5s;*oSq_r*Dpa7Na8UhWIr_;l6Gc~53tJ0ylqc@ zcsp34w?SWAz(9Y1-*iqB z+s+E|d*|ud@^!EacUH{1Os3Tk_b-1W(HT3#$j^vXP5(Oj;EXA1`-D6(_vEh|_Qr*; zHrH;yovOL;LPV+CmwzlPvGepZdTj1@{8=%D@7I*B(3om5)R?D_;6;4`hV(9zT{@9B zP7CdK0)qlvoV=kHXn!9@2}6_oL@q$T28V__i1fU0t+o zM-Ibe?sCGg)m*!HapH>$^_E%2A-peF&KE1lt8sWiavjW@p$_N$@@$xinas3>yba8OSB-OHyDhe4x=O z@{?f3eOM9bEJrS0Z&d~}as*#mk)Ny|r6cc$fj6wlCF^?`$fKn}stXW(#3}N5u>S%C zOq3&6<_A}@A>dal@?vlmgy>tX$u)UE!w(P;b%8t|e7pbwcP@~B6##8;z)6rBBp(5j z34nP0vFqdneK1uWI9VU|fm{K`hDZFi&ObJ+cvSuC1@d$wP)G}42V3dL+3OQ<06951 z9tDn>0(@Xz3XHbCngC4D!LZ;%E#TO1B(PB(D1l)>Ck@~%_+ArW0Y@|dZpcjFx(473 zVRmW&0^pJ^Ku3-tfRUQOSr{Ii*91<0P1*o6D4+$L0k3KUtYEYjzynzoEYJcRL0%mQ z!m17MfZ93`mV!2fRdxU?)CRa9%Yn_>fD?F17h)%)1F^#*Kphf))Az4fH)CxMKjIK|M==9>f^}o-llUks;$wE>Pp8o<~9E?~YrB%PKmz(9{gNC_f;$LSeC zu)+o~1v{+)7P#$|w@l7TK~gFJkF zWKf{51BAU}3oz57A#C)4iUh%5wtzPn4T-`E0VM;2o&SRm-S~m84k(`40Y~Z4GEg__ zZ<=m9;3DW?4{%_Aga1i|k-ye6K{!bK@B9T_SRM=j2`b%Sv{f$oe>kJ4{$C_3N@u>x}(0C_1C{9x|?K~i%G zgifCRB0TetQzvL4&2|KYg@5y=l{E|wI`83gaAAx8Ed{OYUkZQ*1JxXXQ&4mg9f3p& zG@O7UfDBFm|KClx6W|W{`3)yP^#}opMS(L;fZh=T0y_4AJ0G+l0xV1T5(HR|`%6TYtB(NF>O7?w}Wg#)FQ(TWBN-toq%8Zf~<)4my!g%o(`= za>pQb9sC4+1ZfYRNCX~%!+-@Y0D%LEfaZ7b`$s1nj|bNdIuRJi5QjSvXi&-ZHzj19 ze|O@bsn@5w0`f2-4sl?-e|KZic*r`3U??%f5UKa%%8M~14sBL9vqIw z95^W))O826-EkU*IT=h(#dahwKb7#2oeqI0lEq{vWf#9j1lc27Oovi1r}C{7Wzl z4vGvxI7sUcv>(A?aB#5S9~e`{BH-x5ib4}m2j|iMB1aRjsKac~1jyaNj{$%L@lZG& zs0;Up^a$ji(j(xgKiT6@e~gFtBPyZLz#;zD2JyeP!=MO=!$!uSk+?qwL_sIzhvtYu zpzw$1jXB6{hw*U8L%u+SLo-JFF%wA3xIc)YPhI}d3=Z1Y{J{i`IfMrV43swijR$2i zEFMSvHxP0tJo@mAv2gq!?vKGE(T4?u!U=g;7%Y^*51R>#L=pZYAo1@U3o$1AIUo{J z>|p_sP^vr(gEn-3FhSuDrxG|8g~uKmj|j)2(bzu*ggztskA(jf5ChR4W{iRKdKd;> zw)~+%Eao7D{uLKkECDL|A^StW|2iQShx}7&913$-tvD!w9A*NADdMmb5)kM=asjlI z{x8Cae=TtcIPwq15DatJ?obLs99|b$ujYIxV z!oLN?{2v2iAgvx!D*{^U51SK$p${sme`*>^-q?f4`K|x|s2>6n{*aIWhjQK_Vrb<$ zoM?~;D4q_P2@3WW@=o9~g4aGlI2f+?!G01!V%zzLKb2uwPFg*MZ zVGso5f1}9y@0tq|5p^idLN1Cp90?HYk3@6;JJ@6XTWBO26u$%r5OL7ggucE(Pz4Lg zaqw-SwvVeX^aeT7?>Fc`KwcR|P*+1Em7zKV2S=!>VN`G`YG^25B2^J66%6*Y;Qt@R hPVn?;+Q1;EfS`~77gt(HCM+IBD@GxvZm2=~{{U)BV8{Rf delta 14703 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.kb|, i.e., those example \verb|ex| stored as \verb|neg(ex)|; if set to \verb|cw|, the negative examples are generated according to the closed world assumption, i.e., all atoms for target predicates that are not positive examples. The set of all atoms is obtained by collecting the set of constants for each type of the arguments of the target predicate. \end{itemize} +The testing program produces the following output in the current folder: +\begin{itemize} +\item \verb|cll.pl|: for each fold, the list of examples orderd by their probability of being true +\item \verb|areas.csv|: the areas under the Precision-Recall curve and the Receiver Operating Characteristic curve +\item \verb|curve_roc.m|: a Matlab file for plotting the Receiver Operating Characteristic curve +\item \verb|curve_pr.m|: a Matlab file for plotting the Precision-Recall curve +\end{itemize} + \subsection{Learning Examples} The subfolders \verb|em|, \verb|rib|, \verb|slipcase| and \verb|slipcover| of the \verb|packages/cplint| folder in Yap git distribution diff --git a/packages/cplint/slipcover/test.pl b/packages/cplint/slipcover/test.pl index a87cdf122..42a7bc9eb 100644 --- a/packages/cplint/slipcover/test.pl +++ b/packages/cplint/slipcover/test.pl @@ -431,8 +431,8 @@ x=[x 1.0] y=[y 0.0] k=convhull(x,y) plot(x(k),y(k),'r-',x,y,'--b+') -A = polyarea(x,y)~n~n -save area_roc.csv A -ascii -append +%A = polyarea(x,y)~n~n +%save area_roc.csv A -ascii -append ", []). @@ -462,8 +462,8 @@ set(gca,'YLim',[0.0 1.0]) rec=[0.0 rec 1.0]; prec=[0.0 prec 0.0]; plot(rec,prec,'--*k') -A=polyarea(rec,prec) -save area_pr.csv A -ascii -append +%A=polyarea(rec,prec) +%save area_pr.csv A -ascii -append ~n~n", []).