96 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			96 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
|   | #!/bin/bash
 | ||
|  | 
 | ||
|  | #cp ~/bin/yap ~/bin/school_all | ||
|  | #YAP=~/bin/school_all | ||
|  | YAP=~/bin/yap | ||
|  | 
 | ||
|  | #OUT_FILE_NAME=results`date "+ %H:%M:%S %d-%m-%Y"`.log | ||
|  | OUT_FILE_NAME=results.log | ||
|  | rm -f $OUT_FILE_NAME | ||
|  | rm -f ignore.$OUT_FILE_NAME | ||
|  | 
 | ||
|  | # yap -g "['../../../../examples/School/sch32'], [missing5], use_module(library(clpbn/learning/em)), graph(L), clpbn:set_clpbn_flag(em_solver,bp), clpbn_horus:set_horus_flag(inf_alg, bp), statistics(runtime, _), em(L,0.01,10,_,Lik), statistics(runtime, [T,_])." | ||
|  | 
 | ||
|  | function run_solver | ||
|  | { | ||
|  | if [ $2 = bp ] | ||
|  | then | ||
|  |   if [ $4 = ve ] | ||
|  |   then | ||
|  |     extra_flag1=clpbn_horus:set_horus_flag\(inf_alg,$4\) | ||
|  |     extra_flag2=clpbn_horus:set_horus_flag\(elim_heuristic,$5\) | ||
|  |   else | ||
|  |     extra_flag1=clpbn_horus:set_horus_flag\(inf_alg,$4\) | ||
|  |     extra_flag2=clpbn_horus:set_horus_flag\(schedule,$5\) | ||
|  |   fi | ||
|  | else | ||
|  |   extra_flag1=true | ||
|  |   extra_flag2=true | ||
|  | fi | ||
|  | /usr/bin/time -o "$OUT_FILE_NAME" -a -f "real:%E\tuser:%U\tsys:%S" $YAP << EOF &>> "ignore.$OUT_FILE_NAME"
 | ||
|  | :- [pos:train]. | ||
|  | :- ['../../../../examples/School/sch32']. | ||
|  | :- use_module(library(clpbn/learning/em)). | ||
|  | :- use_module(library(clpbn/bp)). | ||
|  | [$1]. | ||
|  | graph(L), | ||
|  |   clpbn:set_clpbn_flag(em_solver,$2), | ||
|  |   $extra_flag1, $extra_flag2, | ||
|  |   em(L,0.01,10,_,Lik), | ||
|  |   open("$OUT_FILE_NAME", 'append',S), | ||
|  |   format(S, '$3: ~11+ Lik = ~3f, ',[Lik]), | ||
|  |   close(S). | ||
|  | EOF | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | function run_all_graphs | ||
|  | { | ||
|  |   echo "************************************************************************" >> "$OUT_FILE_NAME" | ||
|  |   echo "results for solver $2" >> "$OUT_FILE_NAME" | ||
|  |   echo "************************************************************************" >> "$OUT_FILE_NAME" | ||
|  |   run_solver  missing5   $1  missing5   $3  $4  $5 | ||
|  |   run_solver  missing10  $1  missing10  $3  $4  $5 | ||
|  |   #run_solver  missing20  $1  missing20  $3  $4  $5 | ||
|  |   #run_solver  missing30  $1  missing30  $3  $4  $5 | ||
|  |   #run_solver  missing40  $1  missing40  $3  $4  $5 | ||
|  |   #run_solver  missing50  $1  missing50  $3  $4  $5 | ||
|  | } | ||
|  | 
 | ||
|  | 					 | ||
|  | #run_all_graphs  bp     "hve(min_neighbors) "  ve   min_neighbors | ||
|  | #run_all_graphs  bp     "bp(seq_fixed)      "  bp   seq_fixed | ||
|  | #run_all_graphs  bp     "cbp(seq_fixed)     "  cbp  seq_fixed | ||
|  | exit | ||
|  | 
 | ||
|  | 
 | ||
|  | run_all_graphs  bp    "hve(min_neighbors) "  ve   min_neighbors | ||
|  | run_all_graphs  bp    "hve(min_weight)    "  ve   min_weight | ||
|  | run_all_graphs  bp    "hve(min_fill)      "  ve   min_fill | ||
|  | run_all_graphs  bp    "hve(w_min_fill)    "  ve   weighted_min_fill | ||
|  | run_all_graphs  bp    "bp(seq_fixed)      "  bp   seq_fixed | ||
|  | run_all_graphs  bp    "bp(max_residual)   "  bp   max_residual | ||
|  | run_all_graphs  bp    "cbp(seq_fixed)     "  cbp  seq_fixed | ||
|  | run_all_graphs  bp    "cbp(max_residual)  "  cbp  max_residual | ||
|  | run_all_graphs  gibbs "gibbs              " | ||
|  | echo "************************************************************************" >> "$OUT_FILE_NAME" | ||
|  | echo "results for solver ve" >> "$OUT_FILE_NAME" | ||
|  | echo "************************************************************************" >> "$OUT_FILE_NAME" | ||
|  | run_solver  missing5   ve  missing5   $3  $4  $5 | ||
|  | run_solver  missing10  ve  missing10  $3  $4  $5 | ||
|  | run_solver  missing20  ve  missing20  $3  $4  $5 | ||
|  | run_solver  missing30  ve  missing30  $3  $4  $5 | ||
|  | run_solver  missing40  ve  missing40  $3  $4  $5 | ||
|  | #run_solver  missing50  ve  missing50  $3  $4  $5 #+24h! | ||
|  | echo "************************************************************************" >> "$OUT_FILE_NAME" | ||
|  | echo "results for solver jt" >> "$OUT_FILE_NAME" | ||
|  | echo "************************************************************************" >> "$OUT_FILE_NAME" | ||
|  | run_solver  missing5   jt  missing5   $3  $4  $5 | ||
|  | run_solver  missing10  jt  missing10  $3  $4  $5 | ||
|  | run_solver  missing20  jt  missing20  $3  $4  $5 | ||
|  | #run_solver  missing30  jt  missing30  $3  $4  $5 #+24h! | ||
|  | #run_solver  missing40  jt  missing40  $3  $4  $5 #+24h! | ||
|  | #run_solver  missing50  jt  missing50  $3  $4  $5 #+24h! | ||
|  | exit | ||
|  | 
 |