------------------------------------------------------------------------------------- Factor Graph-based Implementation for Message Passing Inference for Large Scale Graphical Model with High Order Potential ------------------------------------------------------------------------------------- 1. Execution The execution is currently support by 64-bit platforms only. A pre-compiled executable file Comp_V1.0 is provided which is tested on Scientific Linux 64-bit platform. 1.1 Parameters -a : threshold for checking the agreement between node beliefs and factor beliefs. -e : epsilon--the mutiplier for entropy terms. 0 is for max-product, other positive values are for sum-product. -c : number of iterations for local machines upon receiving inter-machine messages. -s : number of iterations for inter-machine message exchange. -f : the name of input files -o : the name of output file containing the node beliefs -l : the name of log file containing timing result and primal/dual/agreement values for each iteration. -m : 1 for monitoring running time and primal/dual/agreement values which are saved in the log file specified by -l. -t : tolerance for max operation in max-production version of the proposed approach. 2. Input Format We follow the Convex BP file format with only a single additional modification. Convex BP file format is introduced in http://www.alexander-schwing.de/dcBPFileFormat.txt Right after the uint64 data indicating the number of nodes, we also require an uint64 indicating how many parts the problem will be divided into. 3. Output Format The output file is given in binary mode with double precision. The node beliefs will be printed in the file specified by -o parameter following the order of variables in the input file specified by -f parameter. 4. Log Format The log is printed in binary mode. Running time (s) is the first data given in double precision. Following the running time, each consecutive triplet is given to represent (dual, primal, agreement) upon a iteration of inter-machine messages exchange in double precision. 4. Example 4.1 Max-Product Execution with Provided Data 4.1.1 Without monitoring CompBP_V1.0 -f indoor_1.abp -o local_belief.belief -l running_log.log -e 0 -s 300 -c 5 -m 0 -t 0.000000001 -a 0.00005 4.1.1 With monitoring CompBP_V1.0 -f indoor_1.abp -o local_belief.belief -l running_log.log -e 0 -s 300 -c 5 -m 1 -t 0.000000001 -a 0.00005 4.2 Remarks Note that the program runs significantly faster with non-monitoring mode, as monitoring overhead is considerably large.