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
							 | 
						||
| 
								 | 
							
								
							 |