-
Notifications
You must be signed in to change notification settings - Fork 4
/
ProbabilisticAnswerSetProgram.html
123 lines (104 loc) · 58 KB
/
ProbabilisticAnswerSetProgram.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
<!DOCTYPE html ><html><head><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport"/><title>delSAT 0.5.2 API - input.ProbabilisticAnswerSetProgram</title><meta content="delSAT 0.5.2 API - input.ProbabilisticAnswerSetProgram" name="description"/><meta content="delSAT 0.5.2 API input.ProbabilisticAnswerSetProgram" name="keywords"/><meta http-equiv="content-type" content="text/html; charset=UTF-8"/><link href="../lib/index.css" media="screen" type="text/css" rel="stylesheet"/><link href="../lib/template.css" media="screen" type="text/css" rel="stylesheet"/><link href="../lib/print.css" media="print" type="text/css" rel="stylesheet"/><link href="../lib/diagrams.css" media="screen" type="text/css" rel="stylesheet" id="diagrams-css"/><script type="text/javascript" src="../lib/jquery.min.js"></script><script type="text/javascript" src="../lib/index.js"></script><script type="text/javascript" src="../index.js"></script><script type="text/javascript" src="../lib/scheduler.js"></script><script type="text/javascript" src="../lib/template.js"></script><script type="text/javascript">/* this variable can be used by the JS to determine the path to the root document */
var toRoot = '../';</script></head><body><div id="search"><span id="doc-title">delSAT 0.5.2 API<span id="doc-version"></span></span> <span class="close-results"><span class="left"><</span> Back</span><div id="textfilter"><span class="input"><input autocapitalize="none" placeholder="Search" id="index-input" type="text" accesskey="/"/><i class="clear material-icons"></i><i id="search-icon" class="material-icons"></i></span></div></div><div id="search-results"><div id="search-progress"><div id="progress-fill"></div></div><div id="results-content"><div id="entity-results"></div><div id="member-results"></div></div></div><div id="content-scroll-container" style="-webkit-overflow-scrolling: touch;"><div id="content-container" style="-webkit-overflow-scrolling: touch;"><div id="subpackage-spacer"><div id="packages"><h1>Packages</h1><ul><li class="indented0 " name="_root_.root" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="_root_"></a><a id="root:_root_"></a> <span class="permalink"><a href="../index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../index.html" title=""><span class="name">root</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../index.html" name="_root_" id="_root_" class="extype">root</a></dd></dl></div></li><li class="indented1 " name="_root_.input" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="input"></a><a id="input:input"></a> <span class="permalink"><a href="../input/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="index.html" title="Find User API entry point classes input.ProbabilisticAnswerSetProgram (API for plain or probabilistic Answer Set Programming) and input.BooleanFormulaWithCosts (API for plain or probabilistic SAT solving) here"><span class="name">input</span></a></span><p class="shortcomment cmt">Find User API entry point classes <a href="" name="input.ProbabilisticAnswerSetProgram" id="input.ProbabilisticAnswerSetProgram" class="extype">input.ProbabilisticAnswerSetProgram</a> (API for plain or probabilistic Answer Set Programming) and <a href="BooleanFormulaWithCosts.html" name="input.BooleanFormulaWithCosts" id="input.BooleanFormulaWithCosts" class="extype">input.BooleanFormulaWithCosts</a> (API for plain or probabilistic SAT solving) here
</p><div class="fullcomment"><div class="comment cmt"><p>Find User API entry point classes <a href="" name="input.ProbabilisticAnswerSetProgram" id="input.ProbabilisticAnswerSetProgram" class="extype">input.ProbabilisticAnswerSetProgram</a> (API for plain or probabilistic Answer Set Programming) and <a href="BooleanFormulaWithCosts.html" name="input.BooleanFormulaWithCosts" id="input.BooleanFormulaWithCosts" class="extype">input.BooleanFormulaWithCosts</a> (API for plain or probabilistic SAT solving) here
</p></div><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../index.html" name="_root_" id="_root_" class="extype">root</a></dd></dl></div></li><li class="current-entities indented1"><span class="separator"></span> <a href="AspifOrDIMACSPlainParserResult.html" title="Result of the aspif or dimacs parser." class="class"></a><a href="AspifOrDIMACSPlainParserResult.html" title="Result of the aspif or dimacs parser.">AspifOrDIMACSPlainParserResult</a></li><li class="current-entities indented1"><span class="separator"></span> <a href="AspifPlainParser$.html" title="Parser for a subset of the ASP Intermediate Format (aspif), enhanced with support for probabilistic rules." class="object"></a><a href="AspifPlainParser$.html" title="Parser for a subset of the ASP Intermediate Format (aspif), enhanced with support for probabilistic rules.">AspifPlainParser</a></li><li class="current-entities indented1"><span class="separator"></span> <a href="BooleanClause.html" title="A disjunctive set of literals (hard clause)" class="class"></a><a href="BooleanClause.html" title="A disjunctive set of literals (hard clause)">BooleanClause</a></li><li class="current-entities indented1"><span class="separator"></span> <a href="BooleanFormulaWithCosts.html" title="A collection of probabilistic and/or non-probabilistic Boolean clauses (disjunctions of literals)" class="class"></a><a href="BooleanFormulaWithCosts.html" title="A collection of probabilistic and/or non-probabilistic Boolean clauses (disjunctions of literals)">BooleanFormulaWithCosts</a></li><li class="current-entities indented1"><span class="separator"></span> <a href="BooleanLiteral.html" title="A literal, represented as a positive or negative integer value." class="class"></a><a href="BooleanLiteral.html" title="A literal, represented as a positive or negative integer value.">BooleanLiteral</a></li><li class="current-entities indented1"><span class="separator"></span> <a href="Clause.html" title="" class="class"></a><a href="Clause.html" title="">Clause</a></li><li class="current-entities indented1"><span class="separator"></span> <a href="DIMACPlainSparser$.html" title="Parser for DIMACS-CNF and PCNF (probabilistic CNF)." class="object"></a><a href="DIMACPlainSparser$.html" title="Parser for DIMACS-CNF and PCNF (probabilistic CNF).">DIMACPlainSparser</a></li><li class="current-entities indented1"><span class="separator"></span> <a href="GroundSymbolicASPRule.html" title="As input.SymbolicASPRule, but without variables." class="class"></a><a href="GroundSymbolicASPRule.html" title="As input.SymbolicASPRule, but without variables.">GroundSymbolicASPRule</a></li><li class="current-entities indented1"><span class="separator"></span> <a href="InputData.html" title="Input data for the sampler/solver" class="class"></a><a href="InputData.html" title="Input data for the sampler/solver">InputData</a></li><li class="current-entities indented1"><span class="separator"></span> <a href="ParseOptimizationTerms$.html" title="" class="object"></a><a href="ParseOptimizationTerms$.html" title="">ParseOptimizationTerms</a></li><li class="current-entities indented1"><span class="separator"></span> <a href="" title="User API representation of a probabilistic or non-probabilistic ASP ground program, consisting of a set of input.GroundSymbolicASPRule rules (for the User API for probabilistic Boolean clauses, see input.BooleanFormulaWithCosts)." class="class"></a><a href="" title="User API representation of a probabilistic or non-probabilistic ASP ground program, consisting of a set of input.GroundSymbolicASPRule rules (for the User API for probabilistic Boolean clauses, see input.BooleanFormulaWithCosts).">ProbabilisticAnswerSetProgram</a></li><li class="current-entities indented1"><span class="separator"></span> <a href="ProbabilisticBooleanClause.html" title="A disjunctive set of literals, annotated with a probability (soft clause)." class="class"></a><a href="ProbabilisticBooleanClause.html" title="A disjunctive set of literals, annotated with a probability (soft clause).">ProbabilisticBooleanClause</a></li><li class="current-entities indented1"><span class="separator"></span> <a href="SolverParametersOverlay.html" title="Solver and sampling settings." class="class"></a><a href="SolverParametersOverlay.html" title="Solver and sampling settings.">SolverParametersOverlay</a></li><li class="current-entities indented1"><span class="separator"></span> <a href="SymbolicASPRule.html" title="Allows to represent all fundamental rule types in Answer Set Programming except weak rules :~." class="class"></a><a href="SymbolicASPRule.html" title="Allows to represent all fundamental rule types in Answer Set Programming except weak rules :~.">SymbolicASPRule</a></li><li class="current-entities indented1"><span class="separator"></span> <a href="diffSAT$.html" title="" class="object"></a><a href="diffSAT$.html" title="">diffSAT</a></li></ul></div></div><div id="content"><body class="class type"><div id="definition"><div class="big-circle class">c</div><p id="owner"><a href="index.html" name="input" id="input" class="extype">input</a></p><h1>ProbabilisticAnswerSetProgram<span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html" title="Permalink"><i class="material-icons"></i></a></span></h1><h3><span class="morelinks"></span></h3></div><h4 id="signature" class="signature"><span class="modifier_kind"><span class="modifier"></span> <span class="kind">case class</span></span> <span class="symbol"><span class="name">ProbabilisticAnswerSetProgram</span><span class="params">(<span name="groundSymbolicASPRules">groundSymbolicASPRules: <span name="scala.collection.Set" class="extype">Set</span>[<a href="GroundSymbolicASPRule.html" name="input.GroundSymbolicASPRule" id="input.GroundSymbolicASPRule" class="extype">GroundSymbolicASPRule</a>]</span>, <span name="backgroundProgramAspifOpt">backgroundProgramAspifOpt: <span name="scala.Option" class="extype">Option</span>[<span name="scala.Predef.String" class="extype">String</span>] = <span class="symbol">None</span></span>)</span><span class="result"> extends <span name="scala.Product" class="extype">Product</span> with <span name="scala.Serializable" class="extype">Serializable</span></span></span></h4><div id="comment" class="fullcommenttop"><div class="comment cmt"><p>User API representation of a probabilistic or non-probabilistic ASP ground program,
consisting of a set of <a href="GroundSymbolicASPRule.html" name="input.GroundSymbolicASPRule" id="input.GroundSymbolicASPRule" class="extype">input.GroundSymbolicASPRule</a> rules (for the User API for probabilistic Boolean clauses, see <a href="BooleanFormulaWithCosts.html" name="input.BooleanFormulaWithCosts" id="input.BooleanFormulaWithCosts" class="extype">input.BooleanFormulaWithCosts</a>).</p><p>Some forms of non-ground rules are supported too (see <a href="SymbolicASPRule.html" name="input.SymbolicASPRule" id="input.SymbolicASPRule" class="extype">input.SymbolicASPRule</a>) but these must be grounded into
sets of ground rules by calling <a href="SymbolicASPRule.html#genGroundInstances:Seq[input.GroundSymbolicASPRule]" name="input.SymbolicASPRule#genGroundInstances" id="input.SymbolicASPRule#genGroundInstances" class="extmbr">input.SymbolicASPRule.genGroundInstances</a> before solving/sampling.</p><p>Optionally, a background program in aspif format can be specified using parameter backgroundProgramAspifOpt.
In this case, the rules specified using GroundSymbolicASPRule are added to those in the background program.</p><p>To specify arbitrary differentiable loss functions (beyond those indirectly specified using probabilistic rule weights) and parameter
atoms, use parameter paramAtomsAndInnerCostsStrOpt in method solve(). An example for this is analogous to the example
in <a href="BooleanFormulaWithCosts.html" name="input.BooleanFormulaWithCosts" id="input.BooleanFormulaWithCosts" class="extype">input.BooleanFormulaWithCosts</a>.</p><p>For how to use complex non-ground answer set programs (in aspif format), please refer to README.md</p><p>Solver settings are provided using <a href="SolverParametersOverlay.html" name="input.SolverParametersOverlay" id="input.SolverParametersOverlay" class="extype">input.SolverParametersOverlay</a>.
The names and default values of available advanced settings (advancedSolverArgs) within this structure are listed in <a href="../sharedDefs/index.html" name="sharedDefs" id="sharedDefs" class="extype">sharedDefs</a></p><h4>API usage example 1: Sampling with probabilistic ground rules</h4><pre><span class="kw">val</span> rules: <span class="std">Set</span>[GroundSymbolicASPRule] = <span class="std">Set</span>(
<span class="cmt">/*
[0.7] p :- not q. % rule has probability 0.7
{q}. % we need this choice rule just to ensure predicate q is defined
{p}.
*/</span>
GroundSymbolicASPRule(headLiterals = <span class="std">Set</span>(<span class="lit">"p"</span>), bodyLiterals = <span class="std">Set</span>(<span class="lit">"not q"</span>),
probabilityOpt = <span class="std">Some</span>(<span class="num">0.7</span>d) <span class="cmt">// Probability of the ground rule (use 'None' for a hard rule)</span>
)
, GroundSymbolicASPRule(choiceHeadOpt = <span class="std">Some</span>(<span class="std">Seq</span>(<span class="lit">"p"</span>)))
, GroundSymbolicASPRule(choiceHeadOpt = <span class="std">Some</span>(<span class="std">Seq</span>(<span class="lit">"q"</span>)))
)
<span class="kw">val</span> solverParams = SolverParametersOverlay(
noOfModels = -<span class="num">1</span>, <span class="cmt">// -1 means sample until desired accuracy (loss threshold) has been reached. A positive</span>
<span class="cmt">// number would specify a minimum sample size (in terms of number of answer sets).</span>
noOfSecondaryModels = <span class="num">0</span>,
offHeapGarbageCollectionModeR = <span class="num">0</span>,
thresholdOpt = <span class="std">Some</span>(<span class="num">1</span>e-<span class="num">5</span>d), <span class="cmt">// the desired accuracy (lower = more accurate but sampling requires more time)</span>
assureMSE = <span class="kw">true</span>, <span class="cmt">// true = the loss function (which in this example is automatically generated from the probabilistic facts)</span>
<span class="cmt">// is assured to be of type MSE</span>
showauxInSATmode = <span class="kw">false</span>,
advancedSolverArgs = mutable.HashMap[(<span class="std">String</span>, <span class="std">Int</span>), <span class="std">String</span>]( <span class="cmt">// advanced settings, see sharedDefs</span>
(<span class="lit">"seedRngGlobalR"</span>, <span class="num">0</span>) -> <span class="lit">"-1"</span> <span class="cmt">// uses a random PRNG seed seed for each run. Otherwise, we would get the same set of models at each call.</span>
, (<span class="lit">"diversify"</span>, <span class="num">0</span>) -> <span class="lit">"false"</span> <span class="cmt">// "true" increases the entropy - with false, we might get a highly non-uniform distribution if there are no probabilities specified</span>
)
)
<span class="cmt">// Create the program from the rules and parameters and sample models:</span>
<span class="kw">val</span> sampled: SamplingResult = ProbabilisticAnswerSetProgram(rules, backgroundProgramAspifOpt = <span class="std">None</span>).
solve(solverParams, paramAtomsAndInnerCostsStrOpt = <span class="std">None</span>)
<span class="cmt">// Print sample and the result of ad hoc query Pr(q AND p):</span>
<span class="kw">val</span> (_, adHocConjunctiveQueriesResults, adHocDisjunctiveQueriesResults, adHocRuleQueriesResults, adHocConjunctionOfSimpleGroundRulesQuery) = diffSAT.queryAndPrintSolverResult(showauxInASPmode = <span class="kw">false</span>,
satMode = <span class="kw">false</span>,
samplingResult = sampled,
adHocConjunctiveQueries = <span class="std">Seq</span>(),
adHocDisjunctiveQueries = <span class="std">Seq</span>(<span class="std">Seq</span>(<span class="lit">"q"</span>, <span class="lit">"p"</span>)),
printAdHocQueryResults = <span class="kw">true</span>,
printAnswers = <span class="kw">true</span>)</pre><h4>API usage example 2: Sampling with probabilistic non-ground rules</h4><pre><span class="kw">val</span> domainAtoms = <span class="std">Seq</span>(<span class="lit">"p(a)"</span>, <span class="lit">"p(b)"</span>) <span class="cmt">// For grounding. Observe that these atoms don't automatically become facts or body literals.</span>
<span class="kw">val</span> uncertainNongroundRuleGroundings: <span class="std">Seq</span>[GroundSymbolicASPRule] = SymbolicASPRule(
headLiterals = <span class="std">Set</span>(<span class="lit">"p(X)"</span>),
bodyLiterals = <span class="std">Set</span>(<span class="lit">"not q"</span>),
domainAtoms = domainAtoms,
probabilityOpt = <span class="std">Some</span>(<span class="num">0.7</span>d), <span class="cmt">// Probability of the rule (use 'None' for a hard rule)</span>
distrPrOverGroundings = <span class="kw">false</span> <span class="cmt">// with false, the probability applies to the entire non-ground rule.</span>
<span class="cmt">// With true (which might be more useful in practice), it would apply to each ground instance rule individually.</span>
).genGroundInstances
println(<span class="lit">"\n------------- Ground instances of [0.7] p(X) :- not q :\n"</span> + uncertainNongroundRuleGroundings.mkString(<span class="lit">"\n"</span>))
<span class="kw">val</span> groundRules: <span class="std">Set</span>[GroundSymbolicASPRule] = { <span class="cmt">// all ground rules of the program</span>
<span class="cmt">/*
#domain p(a).
#domain p(b).
[0.7] p(X) :- not q.
{p(a)}.
{p(b)}.
{q}.
*/</span>
uncertainNongroundRuleGroundings ++
SymbolicASPRule(choiceHeadOpt = <span class="std">Some</span>(<span class="std">Seq</span>(<span class="lit">"p(a)"</span>))).genGroundInstances ++
SymbolicASPRule(choiceHeadOpt = <span class="std">Some</span>(<span class="std">Seq</span>(<span class="lit">"p(b)"</span>))).genGroundInstances ++
<span class="std">Seq</span>(GroundSymbolicASPRule(choiceHeadOpt = <span class="std">Some</span>(<span class="std">Seq</span>(<span class="lit">"not q"</span>))))
}.toSet
<span class="cmt">//println("\n------------- Grounding:\n" + groundRules.mkString("\n"))</span>
<span class="kw">val</span> solverParams = SolverParametersOverlay(
noOfModels = -<span class="num">1</span>, <span class="cmt">// -1 means sample until desired accuracy (thresholdOpt) has been reached. A positive</span>
<span class="cmt">// number would specify a minimum sample size (number of answer sets).</span>
noOfSecondaryModels = <span class="num">0</span>,
offHeapGarbageCollectionModeR = <span class="num">0</span>,
thresholdOpt = <span class="std">Some</span>(<span class="num">1</span>e-<span class="num">20</span>d), <span class="cmt">// the desired accuracy (lower = more accurate but sampling requires more time)</span>
assureMSE = <span class="kw">true</span>, <span class="cmt">// true = the loss function (which in this example is automatically generated from the probabilistic facts)</span>
<span class="cmt">// is assured to be of type MSE</span>
showauxInSATmode = <span class="kw">false</span>,
advancedSolverArgs = mutable.HashMap[(<span class="std">String</span>, <span class="std">Int</span>), <span class="std">String</span>]( <span class="cmt">// advanced settings, see sharedDefs</span>
(<span class="lit">"seedRngGlobalR"</span>, <span class="num">0</span>) -> <span class="lit">"-1"</span> <span class="cmt">// uses a random PRNG seed seed for each run. Otherwise, we would get the same set of models at each call.</span>
, (<span class="lit">"diversify"</span>, <span class="num">0</span>) -> <span class="lit">"false"</span> <span class="cmt">// "true" increases the entropy - with false, we might get a highly non-uniform distribution if there are no probabilities specified</span>
)
)
<span class="cmt">// Create the program from the rules and parameters and sample models:</span>
<span class="kw">val</span> sampled: SamplingResult = ProbabilisticAnswerSetProgram(groundRules, backgroundProgramAspifOpt = <span class="std">None</span>).
solve(solverParams, paramAtomsAndInnerCostsStrOpt = <span class="std">None</span>)
<span class="cmt">// Print sample and the result of ad hoc query Pr[p(a):-not q AND p(b):-not q]:</span>
<span class="kw">val</span> (_, adHocConjunctiveQueriesResults, adHocDisjunctiveQueriesResults, adHocRuleQueriesResults,
adHocConjunctionOfSimpleGroundRulesQuery) = diffSAT.queryAndPrintSolverResult(showauxInASPmode = <span class="kw">false</span>,
satMode = <span class="kw">false</span>,
samplingResult = sampled,
adHocConjunctiveQueries = <span class="std">Seq</span>(),
adHocDisjunctiveQueries = <span class="std">Seq</span>(),
adHocConjunctionOfSimpleGroundRulesQuery = <span class="std">Seq</span>((<span class="lit">"p(a)"</span>, <span class="std">Seq</span>(<span class="lit">"not q"</span>)), (<span class="lit">"p(b)"</span>, <span class="std">Seq</span>(<span class="lit">"not q"</span>))), <span class="cmt">// we use</span>
<span class="cmt">// adHocConjunctionOfSimpleGroundRulesQuery because distrPrOverGroundings = false in the grounding of the</span>
<span class="cmt">// probabilistic rule.</span>
printAdHocQueryResults = <span class="kw">true</span>,
printAnswers = <span class="kw">true</span>)</pre><h4>Further examples can be found in the source code of <a href="../userAPItests/APITests.html" name="userAPItests.APITests" id="userAPItests.APITests" class="extype">userAPItests.APITests</a></h4></div><dl class="paramcmts block"><dt class="param">groundSymbolicASPRules</dt><dd class="cmt"><p>Set of ground rules. If backgroundProgramAspifOpt is defined, the symbolicASPRules added to the rules obtained by parsing the string in backgroundProgramAspifOpt</p></dd><dt class="param">backgroundProgramAspifOpt</dt><dd class="cmt"><p>Aspif format with optional costs and parameter specs</p></dd></dl><dl class="attributes block"><dt>See also</dt><dd><span class="cmt"><p><a href="SymbolicASPRule.html" name="input.SymbolicASPRule" id="input.SymbolicASPRule" class="extype">input.SymbolicASPRule</a>, <a href="GroundSymbolicASPRule.html" name="input.GroundSymbolicASPRule" id="input.GroundSymbolicASPRule" class="extype">input.GroundSymbolicASPRule</a>, <a href="../sharedDefs/index.html" name="sharedDefs" id="sharedDefs" class="extype">sharedDefs</a>, <span name="diffSAT#queryAndPrintSolverResult(boolean," class="extype">boolean, solving.SamplingResult, scala.Option, scala.collection.immutable.Seq, scala.collection.immutable.Seq, scala.collection.immutable.Seq, scala.collection.immutable.Seq, boolean, boolean)</span></p></span></dd></dl><div class="toggleContainer"><div class="toggle block"><span>Linear Supertypes</span><div class="superTypes hiddenContent"><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html#java.io.Serializable" name="java.io.Serializable" id="java.io.Serializable" class="extype">Serializable</a>, <span name="scala.Product" class="extype">Product</span>, <span name="scala.Equals" class="extype">Equals</span>, <span name="scala.AnyRef" class="extype">AnyRef</span>, <span name="scala.Any" class="extype">Any</span></div></div></div></div><div id="mbrsel"><div class="toggle"></div><div id="memberfilter"><i class="material-icons arrow"></i><span class="input"><input placeholder="Filter all members" id="mbrsel-input" type="text" accesskey="/"/></span><i class="clear material-icons"></i></div><div id="filterby"><div id="order"><span class="filtertype">Ordering</span><ol><li class="alpha in"><span>Alphabetic</span></li><li class="inherit out"><span>By Inheritance</span></li></ol></div><div class="ancestors"><span class="filtertype">Inherited<br/></span><ol id="linearization"><li class="in" name="input.ProbabilisticAnswerSetProgram"><span>ProbabilisticAnswerSetProgram</span></li><li class="in" name="java.io.Serializable"><span>Serializable</span></li><li class="in" name="scala.Product"><span>Product</span></li><li class="in" name="scala.Equals"><span>Equals</span></li><li class="in" name="scala.AnyRef"><span>AnyRef</span></li><li class="in" name="scala.Any"><span>Any</span></li></ol></div><div class="ancestors"><span class="filtertype"></span><ol><li class="hideall out"><span>Hide All</span></li><li class="showall in"><span>Show All</span></li></ol></div><div id="visbl"><span class="filtertype">Visibility</span><ol><li class="public in"><span>Public</span></li><li class="protected out"><span>Protected</span></li></ol></div></div></div><div id="template"><div id="allMembers"><div id="constructors" class="members"><h3>Instance Constructors</h3><ol><li class="indented0 " name="input.ProbabilisticAnswerSetProgram#<init>" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="<init>(groundSymbolicASPRules:scala.collection.Set[input.GroundSymbolicASPRule],backgroundProgramAspifOpt:Option[String]):input.ProbabilisticAnswerSetProgram"></a><a id="<init>:ProbabilisticAnswerSetProgram"></a> <span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html#<init>(groundSymbolicASPRules:scala.collection.Set[input.GroundSymbolicASPRule],backgroundProgramAspifOpt:Option[String]):input.ProbabilisticAnswerSetProgram" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">new</span></span> <span class="symbol"><span class="name">ProbabilisticAnswerSetProgram</span><span class="params">(<span name="groundSymbolicASPRules">groundSymbolicASPRules: <span name="scala.collection.Set" class="extype">Set</span>[<a href="GroundSymbolicASPRule.html" name="input.GroundSymbolicASPRule" id="input.GroundSymbolicASPRule" class="extype">GroundSymbolicASPRule</a>]</span>, <span name="backgroundProgramAspifOpt">backgroundProgramAspifOpt: <span name="scala.Option" class="extype">Option</span>[<span name="scala.Predef.String" class="extype">String</span>] = <span class="symbol">None</span></span>)</span></span><p class="shortcomment cmt">Creates a probabilistic or non-probabilistic answer set program</p><div class="fullcomment"><div class="comment cmt"><p>Creates a probabilistic or non-probabilistic answer set program</p></div><dl class="paramcmts block"><dt class="param">groundSymbolicASPRules</dt><dd class="cmt"><p>Set of ground rules. If backgroundProgramAspifOpt is defined, the symbolicASPRules added to the rules obtained by parsing the string in backgroundProgramAspifOpt</p></dd><dt class="param">backgroundProgramAspifOpt</dt><dd class="cmt"><p>Aspif format with optional costs and parameter specs</p></dd></dl></div></li></ol></div><div class="values members"><h3>Value Members</h3><ol><li class="indented0 " name="scala.AnyRef#!=" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="!=(x$1:Any):Boolean"></a><a id="!=(Any):Boolean"></a> <span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html#!=(x$1:Any):Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name" title="gt4s: $bang$eq">!=</span><span class="params">(<span name="arg0">arg0: <span name="scala.Any" class="extype">Any</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><li class="indented0 " name="scala.AnyRef###" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="##:Int"></a> <span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html###:Int" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name" title="gt4s: $hash$hash">##</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#==" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="==(x$1:Any):Boolean"></a><a id="==(Any):Boolean"></a> <span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html#==(x$1:Any):Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name" title="gt4s: $eq$eq">==</span><span class="params">(<span name="arg0">arg0: <span name="scala.Any" class="extype">Any</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><li class="indented0 " name="input.ProbabilisticAnswerSetProgram#additionalUncertainAtomsInnerCostsStrs" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="additionalUncertainAtomsInnerCostsStrs:(Array[String],Array[String],Array[String])"></a> <span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html#additionalUncertainAtomsInnerCostsStrs:(Array[String],Array[String],Array[String])" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">val</span></span> <span class="symbol"><span class="name">additionalUncertainAtomsInnerCostsStrs</span><span class="result">: (<span name="scala.Array" class="extype">Array</span>[<span name="scala.Predef.String" class="extype">String</span>], <span name="scala.Array" class="extype">Array</span>[<span name="scala.Predef.String" class="extype">String</span>], <span name="scala.Array" class="extype">Array</span>[<span name="scala.Predef.String" class="extype">String</span>])</span></span></li><li class="indented0 " name="scala.Any#asInstanceOf" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="asInstanceOf[T0]:T0"></a> <span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html#asInstanceOf[T0]:T0" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">asInstanceOf</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="result">: <span name="scala.Any.asInstanceOf.T0" class="extype">T0</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>Any</dd></dl></div></li><li class="indented0 " name="input.ProbabilisticAnswerSetProgram#aspifEliToSymbol" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="aspifEliToSymbol:scala.collection.mutable.HashMap[input.AspifPlainParser.AspifEli,aspIOutils.Pred]"></a><a id="aspifEliToSymbol:HashMap[AspifEli,Pred]"></a> <span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html#aspifEliToSymbol:scala.collection.mutable.HashMap[input.AspifPlainParser.AspifEli,aspIOutils.Pred]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">val</span></span> <span class="symbol"><span class="name">aspifEliToSymbol</span><span class="result">: <span name="scala.collection.mutable.HashMap" class="extype">HashMap</span>[<a href="AspifPlainParser$.html#AspifEli=Int" name="input.AspifPlainParser.AspifEli" id="input.AspifPlainParser.AspifEli" class="extmbr">AspifEli</a>, <a href="../aspIOutils/index.html#Pred=String" name="aspIOutils.Pred" id="aspIOutils.Pred" class="extmbr">Pred</a>]</span></span></li><li class="indented0 " name="input.ProbabilisticAnswerSetProgram#aspifRulesAfterShiftUnfold" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="aspifRulesAfterShiftUnfold:scala.collection.mutable.ArrayBuffer[input.AspifPlainParser.AspifRule]"></a><a id="aspifRulesAfterShiftUnfold:ArrayBuffer[AspifRule]"></a> <span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html#aspifRulesAfterShiftUnfold:scala.collection.mutable.ArrayBuffer[input.AspifPlainParser.AspifRule]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">val</span></span> <span class="symbol"><span class="name">aspifRulesAfterShiftUnfold</span><span class="result">: <span name="scala.collection.mutable.ArrayBuffer" class="extype">ArrayBuffer</span>[<a href="AspifPlainParser$$AspifRule.html" name="input.AspifPlainParser.AspifRule" id="input.AspifPlainParser.AspifRule" class="extype">AspifRule</a>]</span></span></li><li class="indented0 " name="input.ProbabilisticAnswerSetProgram#aspifRulesBeforeShiftUnfold" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="aspifRulesBeforeShiftUnfold:scala.collection.mutable.ArrayBuffer[input.AspifPlainParser.AspifRule]"></a><a id="aspifRulesBeforeShiftUnfold:ArrayBuffer[AspifRule]"></a> <span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html#aspifRulesBeforeShiftUnfold:scala.collection.mutable.ArrayBuffer[input.AspifPlainParser.AspifRule]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">val</span></span> <span class="symbol"><span class="name">aspifRulesBeforeShiftUnfold</span><span class="result">: <span name="scala.collection.mutable.ArrayBuffer" class="extype">ArrayBuffer</span>[<a href="AspifPlainParser$$AspifRule.html" name="input.AspifPlainParser.AspifRule" id="input.AspifPlainParser.AspifRule" class="extype">AspifRule</a>]</span></span></li><li class="indented0 " name="input.ProbabilisticAnswerSetProgram#assumptionElis" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="assumptionElis:Seq[sharedDefs.Eli]"></a><a id="assumptionElis:Seq[Eli]"></a> <span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html#assumptionElis:Seq[sharedDefs.Eli]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">val</span></span> <span class="symbol"><span class="name">assumptionElis</span><span class="result">: <span name="scala.Seq" class="extype">Seq</span>[<a href="../sharedDefs/index.html#Eli=Int" name="sharedDefs.Eli" id="sharedDefs.Eli" class="extmbr">Eli</a>]</span></span></li><li class="indented0 " name="input.ProbabilisticAnswerSetProgram#backgroundProgramAspifOpt" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="backgroundProgramAspifOpt:Option[String]"></a> <span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html#backgroundProgramAspifOpt:Option[String]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">val</span></span> <span class="symbol"><span class="name">backgroundProgramAspifOpt</span><span class="result">: <span name="scala.Option" class="extype">Option</span>[<span name="scala.Predef.String" class="extype">String</span>]</span></span></li><li class="indented0 " name="scala.AnyRef#clone" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="prt"><a id="clone():Object"></a><a id="clone():AnyRef"></a> <span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html#clone():Object" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">clone</span><span class="params">()</span><span class="result">: <span name="scala.AnyRef" class="extype">AnyRef</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Attributes</dt><dd>protected[<span name="java.lang" class="extype">lang</span>] </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@throws</span><span class="args">(<span><span class="defval">classOf[java.lang.CloneNotSupportedException]</span></span>)</span> <span class="name">@native</span><span class="args">()</span> </dd></dl></div></li><li class="indented0 " name="input.ProbabilisticAnswerSetProgram#emptyBodyBlit" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="emptyBodyBlit:Int"></a> <span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html#emptyBodyBlit:Int" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">val</span></span> <span class="symbol"><span class="name">emptyBodyBlit</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span></span></li><li class="indented0 " name="scala.AnyRef#eq" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="eq(x$1:AnyRef):Boolean"></a><a id="eq(AnyRef):Boolean"></a> <span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html#eq(x$1:AnyRef):Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">eq</span><span class="params">(<span name="arg0">arg0: <span name="scala.AnyRef" class="extype">AnyRef</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#finalize" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="prt"><a id="finalize():Unit"></a> <span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html#finalize():Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">finalize</span><span class="params">()</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Attributes</dt><dd>protected[<span name="java.lang" class="extype">lang</span>] </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@throws</span><span class="args">(<span><span class="symbol">classOf[java.lang.Throwable]</span></span>)</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#getClass" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="getClass():Class[_]"></a><a id="getClass():Class[_<:AnyRef]"></a> <span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html#getClass():Class[_]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">getClass</span><span class="params">()</span><span class="result">: <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html#java.lang.Class" name="java.lang.Class" id="java.lang.Class" class="extype">Class</a>[_ <: <span name="scala.AnyRef" class="extype">AnyRef</span>]</span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd><dt>Annotations</dt><dd><span class="name">@native</span><span class="args">()</span> </dd></dl></div></li><li class="indented0 " name="input.ProbabilisticAnswerSetProgram#groundSymbolicASPRules" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="groundSymbolicASPRules:scala.collection.Set[input.GroundSymbolicASPRule]"></a><a id="groundSymbolicASPRules:Set[GroundSymbolicASPRule]"></a> <span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html#groundSymbolicASPRules:scala.collection.Set[input.GroundSymbolicASPRule]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">val</span></span> <span class="symbol"><span class="name">groundSymbolicASPRules</span><span class="result">: <span name="scala.collection.Set" class="extype">Set</span>[<a href="GroundSymbolicASPRule.html" name="input.GroundSymbolicASPRule" id="input.GroundSymbolicASPRule" class="extype">GroundSymbolicASPRule</a>]</span></span></li><li class="indented0 " name="input.ProbabilisticAnswerSetProgram#initialAspifRules" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="initialAspifRules:scala.collection.mutable.ArrayBuffer[input.AspifPlainParser.AspifRule]"></a><a id="initialAspifRules:ArrayBuffer[AspifRule]"></a> <span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html#initialAspifRules:scala.collection.mutable.ArrayBuffer[input.AspifPlainParser.AspifRule]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">val</span></span> <span class="symbol"><span class="name">initialAspifRules</span><span class="result">: <span name="scala.collection.mutable.ArrayBuffer" class="extype">ArrayBuffer</span>[<a href="AspifPlainParser$$AspifRule.html" name="input.AspifPlainParser.AspifRule" id="input.AspifPlainParser.AspifRule" class="extype">AspifRule</a>]</span></span></li><li class="indented0 " name="input.ProbabilisticAnswerSetProgram#inputDataFromBackgroundProgOpt" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="inputDataFromBackgroundProgOpt:Option[(scala.collection.mutable.HashMap[input.AspifPlainParser.AspifEli,aspIOutils.Pred],scala.collection.mutable.ArrayBuffer[input.AspifPlainParser.AspifRule],Array[String])]"></a><a id="inputDataFromBackgroundProgOpt:Option[(HashMap[AspifEli,Pred],ArrayBuffer[AspifRule],Array[String])]"></a> <span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html#inputDataFromBackgroundProgOpt:Option[(scala.collection.mutable.HashMap[input.AspifPlainParser.AspifEli,aspIOutils.Pred],scala.collection.mutable.ArrayBuffer[input.AspifPlainParser.AspifRule],Array[String])]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">val</span></span> <span class="symbol"><span class="name">inputDataFromBackgroundProgOpt</span><span class="result">: <span name="scala.Option" class="extype">Option</span>[(<span name="scala.collection.mutable.HashMap" class="extype">HashMap</span>[<a href="AspifPlainParser$.html#AspifEli=Int" name="input.AspifPlainParser.AspifEli" id="input.AspifPlainParser.AspifEli" class="extmbr">AspifEli</a>, <a href="../aspIOutils/index.html#Pred=String" name="aspIOutils.Pred" id="aspIOutils.Pred" class="extmbr">Pred</a>], <span name="scala.collection.mutable.ArrayBuffer" class="extype">ArrayBuffer</span>[<a href="AspifPlainParser$$AspifRule.html" name="input.AspifPlainParser.AspifRule" id="input.AspifPlainParser.AspifRule" class="extype">AspifRule</a>], <span name="scala.Array" class="extype">Array</span>[<span name="scala.Predef.String" class="extype">String</span>])]</span></span></li><li class="indented0 " name="scala.Any#isInstanceOf" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="isInstanceOf[T0]:Boolean"></a> <span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html#isInstanceOf[T0]:Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">isInstanceOf</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>Any</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#ne" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="ne(x$1:AnyRef):Boolean"></a><a id="ne(AnyRef):Boolean"></a> <span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html#ne(x$1:AnyRef):Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">ne</span><span class="params">(<span name="arg0">arg0: <span name="scala.AnyRef" class="extype">AnyRef</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd></dl></div></li><li class="indented0 " name="input.ProbabilisticAnswerSetProgram#noOfPosBlits" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="noOfPosBlits:Int"></a> <span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html#noOfPosBlits:Int" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">val</span></span> <span class="symbol"><span class="name">noOfPosBlits</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span></span></li><li class="indented0 " name="scala.AnyRef#notify" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="notify():Unit"></a> <span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html#notify():Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">notify</span><span class="params">()</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@native</span><span class="args">()</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#notifyAll" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="notifyAll():Unit"></a> <span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html#notifyAll():Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">notifyAll</span><span class="params">()</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@native</span><span class="args">()</span> </dd></dl></div></li><li class="indented0 " name="scala.Product#productElementNames" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="productElementNames:Iterator[String]"></a> <span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html#productElementNames:Iterator[String]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">productElementNames</span><span class="result">: <span name="scala.Iterator" class="extype">Iterator</span>[<span name="scala.Predef.String" class="extype">String</span>]</span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>Product</dd></dl></div></li><li class="indented0 " name="input.ProbabilisticAnswerSetProgram#rules" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="rules:scala.collection.mutable.ArrayBuffer[sharedDefs.Rule]"></a><a id="rules:ArrayBuffer[Rule]"></a> <span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html#rules:scala.collection.mutable.ArrayBuffer[sharedDefs.Rule]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">val</span></span> <span class="symbol"><span class="name">rules</span><span class="result">: <span name="scala.collection.mutable.ArrayBuffer" class="extype">ArrayBuffer</span>[<a href="../sharedDefs/package$$Rule.html" name="sharedDefs.Rule" id="sharedDefs.Rule" class="extype">Rule</a>]</span></span></li><li class="indented0 " name="input.ProbabilisticAnswerSetProgram#solve" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="solve(solverParametersOverlay:input.SolverParametersOverlay,paramAtomsAndInnerCostsStrOpt:Option[String]):solving.SamplingResult"></a><a id="solve(SolverParametersOverlay,Option[String]):SamplingResult"></a> <span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html#solve(solverParametersOverlay:input.SolverParametersOverlay,paramAtomsAndInnerCostsStrOpt:Option[String]):solving.SamplingResult" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">solve</span><span class="params">(<span name="solverParametersOverlay">solverParametersOverlay: <a href="SolverParametersOverlay.html" name="input.SolverParametersOverlay" id="input.SolverParametersOverlay" class="extype">SolverParametersOverlay</a></span>, <span name="paramAtomsAndInnerCostsStrOpt">paramAtomsAndInnerCostsStrOpt: <span name="scala.Option" class="extype">Option</span>[<span name="scala.Predef.String" class="extype">String</span>] = <span class="symbol">None</span></span>)</span><span class="result">: <a href="../solving/SamplingResult.html" name="solving.SamplingResult" id="solving.SamplingResult" class="extype">SamplingResult</a></span></span><p class="shortcomment cmt">Calls the sampler for this logic program.</p><div class="fullcomment"><div class="comment cmt"><p>Calls the sampler for this logic program. Optionally with additional multimodel cost terms (in addition
to those generated from any probabilistic clauses)
</p></div><dl class="paramcmts block"><dt class="param">paramAtomsAndInnerCostsStrOpt</dt><dd class="cmt"><p>An optional string with a specification of parameter atoms and cost terms
(see README.md). These costs are in addition to those specified indirectly using
probabilistic clauses.</p></dd><dt>returns</dt><dd class="cmt"><p>SamplingResult The list of models is in SamplingResult.modelsSymbolic. Since sampling
is with replacement, the list represents a multiset of models.</p></dd></dl></div></li><li class="indented0 " name="input.ProbabilisticAnswerSetProgram#symbolToEli" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="symbolToEli:Map[String,sharedDefs.Eli]"></a><a id="symbolToEli:Map[String,Eli]"></a> <span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html#symbolToEli:Map[String,sharedDefs.Eli]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">val</span></span> <span class="symbol"><span class="name">symbolToEli</span><span class="result">: <span name="scala.Predef.Map" class="extype">Map</span>[<span name="scala.Predef.String" class="extype">String</span>, <a href="../sharedDefs/index.html#Eli=Int" name="sharedDefs.Eli" id="sharedDefs.Eli" class="extmbr">Eli</a>]</span></span></li><li class="indented0 " name="input.ProbabilisticAnswerSetProgram#symbols" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="symbols:Array[String]"></a> <span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html#symbols:Array[String]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">val</span></span> <span class="symbol"><span class="name">symbols</span><span class="result">: <span name="scala.Array" class="extype">Array</span>[<span name="scala.Predef.String" class="extype">String</span>]</span></span></li><li class="indented0 " name="input.ProbabilisticAnswerSetProgram#symbolsSet" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="symbolsSet:scala.collection.mutable.HashMap[aspIOutils.Pred,input.AspifPlainParser.AspifEli]"></a><a id="symbolsSet:HashMap[Pred,AspifEli]"></a> <span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html#symbolsSet:scala.collection.mutable.HashMap[aspIOutils.Pred,input.AspifPlainParser.AspifEli]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">val</span></span> <span class="symbol"><span class="name">symbolsSet</span><span class="result">: <span name="scala.collection.mutable.HashMap" class="extype">HashMap</span>[<a href="../aspIOutils/index.html#Pred=String" name="aspIOutils.Pred" id="aspIOutils.Pred" class="extmbr">Pred</a>, <a href="AspifPlainParser$.html#AspifEli=Int" name="input.AspifPlainParser.AspifEli" id="input.AspifPlainParser.AspifEli" class="extmbr">AspifEli</a>]</span></span></li><li class="indented0 " name="scala.AnyRef#synchronized" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="synchronized[T0](x$1:=>T0):T0"></a><a id="synchronized[T0](=>T0):T0"></a> <span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html#synchronized[T0](x$1:=>T0):T0" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">synchronized</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="params">(<span name="arg0">arg0: => <span name="java.lang.AnyRef.synchronized.T0" class="extype">T0</span></span>)</span><span class="result">: <span name="java.lang.AnyRef.synchronized.T0" class="extype">T0</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#wait" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="wait():Unit"></a> <span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html#wait():Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">wait</span><span class="params">()</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@throws</span><span class="args">(<span><span class="defval">classOf[java.lang.InterruptedException]</span></span>)</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#wait" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="wait(x$1:Long,x$2:Int):Unit"></a><a id="wait(Long,Int):Unit"></a> <span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html#wait(x$1:Long,x$2:Int):Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">wait</span><span class="params">(<span name="arg0">arg0: <span name="scala.Long" class="extype">Long</span></span>, <span name="arg1">arg1: <span name="scala.Int" class="extype">Int</span></span>)</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@throws</span><span class="args">(<span><span class="defval">classOf[java.lang.InterruptedException]</span></span>)</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#wait" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="wait(x$1:Long):Unit"></a><a id="wait(Long):Unit"></a> <span class="permalink"><a href="../input/ProbabilisticAnswerSetProgram.html#wait(x$1:Long):Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name">wait</span><span class="params">(<span name="arg0">arg0: <span name="scala.Long" class="extype">Long</span></span>)</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@throws</span><span class="args">(<span><span class="defval">classOf[java.lang.InterruptedException]</span></span>)</span> <span class="name">@native</span><span class="args">()</span> </dd></dl></div></li></ol></div></div><div id="inheritedMembers"><div name="java.io.Serializable" class="parent"><h3>Inherited from <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html#java.io.Serializable" name="java.io.Serializable" id="java.io.Serializable" class="extype">Serializable</a></h3></div><div name="scala.Product" class="parent"><h3>Inherited from <span name="scala.Product" class="extype">Product</span></h3></div><div name="scala.Equals" class="parent"><h3>Inherited from <span name="scala.Equals" class="extype">Equals</span></h3></div><div name="scala.AnyRef" class="parent"><h3>Inherited from <span name="scala.AnyRef" class="extype">AnyRef</span></h3></div><div name="scala.Any" class="parent"><h3>Inherited from <span name="scala.Any" class="extype">Any</span></h3></div></div><div id="groupedMembers"><div name="Ungrouped" class="group"><h3>Ungrouped</h3></div></div></div><div id="tooltip"></div><div id="footer"></div></body></div></div></div></body></html>