00001 /* 00002 * All of the documentation and software included in the 00003 * Alchemy Software is copyrighted by Stanley Kok, Parag 00004 * Singla, Matthew Richardson, Pedro Domingos, Marc 00005 * Sumner, Hoifung Poon, and Daniel Lowd. 00006 * 00007 * Copyright [2004-07] Stanley Kok, Parag Singla, Matthew 00008 * Richardson, Pedro Domingos, Marc Sumner, Hoifung 00009 * Poon, and Daniel Lowd. All rights reserved. 00010 * 00011 * Contact: Pedro Domingos, University of Washington 00012 * (pedrod@cs.washington.edu). 00013 * 00014 * Redistribution and use in source and binary forms, with 00015 * or without modification, are permitted provided that 00016 * the following conditions are met: 00017 * 00018 * 1. Redistributions of source code must retain the above 00019 * copyright notice, this list of conditions and the 00020 * following disclaimer. 00021 * 00022 * 2. Redistributions in binary form must reproduce the 00023 * above copyright notice, this list of conditions and the 00024 * following disclaimer in the documentation and/or other 00025 * materials provided with the distribution. 00026 * 00027 * 3. All advertising materials mentioning features or use 00028 * of this software must display the following 00029 * acknowledgment: "This product includes software 00030 * developed by Stanley Kok, Parag Singla, Matthew 00031 * Richardson, Pedro Domingos, Marc Sumner, Hoifung 00032 * Poon, and Daniel Lowd in the Department of Computer Science and 00033 * Engineering at the University of Washington". 00034 * 00035 * 4. Your publications acknowledge the use or 00036 * contribution made by the Software to your research 00037 * using the following citation(s): 00038 * Stanley Kok, Parag Singla, Matthew Richardson and 00039 * Pedro Domingos (2005). "The Alchemy System for 00040 * Statistical Relational AI", Technical Report, 00041 * Department of Computer Science and Engineering, 00042 * University of Washington, Seattle, WA. 00043 * http://www.cs.washington.edu/ai/alchemy. 00044 * 00045 * 5. Neither the name of the University of Washington nor 00046 * the names of its contributors may be used to endorse or 00047 * promote products derived from this software without 00048 * specific prior written permission. 00049 * 00050 * THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY OF WASHINGTON 00051 * AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED 00052 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 00053 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 00054 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE UNIVERSITY 00055 * OF WASHINGTON OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 00056 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 00057 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 00058 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 00059 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 00060 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 00061 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 00062 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 00063 * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00064 * 00065 */ 00066 #ifndef INFERENCEARGS_H_ 00067 #define INFERENCEARGS_H_ 00068 00079 bool aisQueryEvidence = false; 00080 00081 // Holds the names of the input mln files comma-separated 00082 char* ainMLNFiles = NULL; 00083 00084 // Holds closed-world non-evidence preds 00085 char* aClosedWorldPredsStr = NULL; 00086 // Holds open-world evidence preds 00087 char* aOpenWorldPredsStr = NULL; 00088 // Continuous part of each clause 00089 char* aContPartFile = NULL; 00090 // list of segments 00091 char* aSegListFile = NULL; 00092 00093 // Continuous list of each cont part mln 00094 char* aContListFile = NULL; 00095 00096 00097 // 00098 00099 // MAP Inference 00100 bool amapPos = false; 00101 bool amapAll = false; 00102 // Gibbs Sampling 00103 bool agibbsInfer = false; 00104 // MC-SAT 00105 bool amcsatInfer = false; 00106 // Simulated Tempering 00107 bool asimtpInfer = false; 00108 // Belief propagation 00109 bool abpInfer = false; 00110 // No inference, just output network 00111 bool aoutputNetwork = false; 00112 00113 // Lazy state or not? 00114 bool aLazy = false; 00115 00116 // Hybrid or not? 00117 bool aHybrid = false; 00118 00119 bool aSA = false; 00120 00121 char* aProposalStdev = NULL; 00122 bool bOptimum = false; 00123 00124 char* aContSamples = NULL; 00125 00126 //inference with maxwalksat? 00127 bool aMaxOrNot = false; 00128 // Seed for inference algorithm 00129 int aSeed = -1; 00130 // Limit in kbytes before using lazy version 00131 int aMemLimit = -1; 00132 // If true, atoms won't be deactivated to save space 00133 bool aLazyNoApprox = false; 00134 00135 // MaxWalkSat params 00136 int amwsMaxSteps = 100000; 00137 int amwsTries = 1; 00138 int amwsNumSolutions = 10; 00139 int amwsTargetWt = 0; 00140 bool amwsHard = false; 00141 int amwsHeuristic = 2; // 0 = RANDOM, 1 = BEST, 2 = TABU, 3 = SampleSat 00142 int amwsTabuLength = 10; 00143 bool amwsLazyLowState = false; 00144 00145 // SampleSat params 00146 int assSaRatio = 0; // percent of SA steps 00147 int assSaTemp = 10; // temperature/100: SA temperature 00148 bool assLateSa = true; // sa only at a plateur 00149 double aSATempDownRatio = 0.5; 00150 00151 // MCMC params 00152 int amcmcNumChains = 10; 00153 int amcmcBurnMinSteps = 100; 00154 int amcmcBurnMaxSteps = 100; 00155 int amcmcMinSteps = -1; 00156 int amcmcMaxSteps = 1000; 00157 int amcmcMaxSeconds = -1; 00158 00159 // Gibbs params 00160 double agibbsDelta = 0.05; 00161 double agibbsEpsilonError = 0.01; 00162 double agibbsFracConverged = 0.95; 00163 int agibbsWalksatType = 1; 00164 bool agibbsTestConvergence = false; 00165 int agibbsSamplesPerTest = 100; 00166 00167 // Simulated Tempering params 00168 int asimtpSubInterval = 2; 00169 int asimtpNumST = 3; 00170 int asimtpNumSwap = 10; 00171 00172 // Belief Propagation params 00173 bool aliftedInfer = false; 00174 double abpConvergenceThresh = 1e-4; 00175 int abpConvergeRequiredItrCnt = 20; 00176 bool aexplicitRep = false; 00177 00178 // Produce clause counts 00179 bool aclauseCounts = false; 00180 00181 #endif /*INFERENCEARGS_H_*/