Commit 64dd7c8f4ab5d73513b6510f5ac8367bfa17bb19
1 parent
53b3b48c
Exists in
master
Solved subset explanation.
Showing
5 changed files
with
185 additions
and
40 deletions
Show diff stats
No preview for this file type
code/asp/disj.lp
code/asp/pqueens.lp
| ... | ... | @@ -9,12 +9,12 @@ row(1 .. n). |
| 9 | 9 | diag1(I, J, I - J + n) :- col(I), row(J). |
| 10 | 10 | % Number ascending diagonals. |
| 11 | 11 | diag2(I, J, I + J - 1) :- col(I), row(J). |
| 12 | - | |
| 13 | -% WTF? | |
| 12 | +% | |
| 13 | +% Negative Restrictions | |
| 14 | 14 | :- D = 1 .. 2 * n - 1, not { queen(I, J) : diag1(I, J, D) } 1. |
| 15 | 15 | :- D = 1 .. 2 * n - 1, not { queen(I, J) : diag2(I, J, D) } 1. |
| 16 | - | |
| 16 | +% | |
| 17 | 17 | % Output this predicate. |
| 18 | 18 | #show queen/2. |
| 19 | -#show diag1/3. | |
| 20 | -#show diag2/3. | |
| 21 | 19 | \ No newline at end of file |
| 20 | +%#show diag1/3. | |
| 21 | +%#show diag2/3. | |
| 22 | 22 | \ No newline at end of file | ... | ... |
text/pre-paper.pdf
No preview for this file type
text/pre-paper.tex
| 1 | -\documentclass[a4paper]{article} | |
| 1 | +\documentclass[a4paper, 12pt]{article} | |
| 2 | + | |
| 3 | +\usepackage[x11colors]{xcolor} | |
| 2 | 4 | \usepackage{hyperref} |
| 3 | 5 | \hypersetup{ |
| 4 | 6 | colorlinks=true, |
| 5 | 7 | linkcolor=blue, |
| 6 | 8 | } |
| 9 | + | |
| 7 | 10 | \usepackage{commath} |
| 11 | +\usepackage{amsthm} | |
| 12 | +\newtheorem{assumption}{Assumption} | |
| 8 | 13 | \usepackage{amssymb} |
| 9 | 14 | % |
| 10 | 15 | % Local commands |
| 11 | 16 | % |
| 12 | -\newcommand{\todo}[1]{{\color{orange}TODO #1}} | |
| 17 | +\newcommand{\note}[1]{\marginpar{\scriptsize #1}} | |
| 13 | 18 | \newcommand{\naf}{\ensuremath{\sim\!}} |
| 14 | 19 | \newcommand{\larr}{\ensuremath{\leftarrow}} |
| 15 | 20 | \newcommand{\at}[1]{\ensuremath{\!\del{#1}}} |
| ... | ... | @@ -22,7 +27,7 @@ |
| 22 | 27 | \newcommand{\langof}[1]{\ensuremath{\fml{L}\at{#1}}} |
| 23 | 28 | \newcommand{\uset}[1]{\ensuremath{\left|{#1}\right>}} |
| 24 | 29 | \newcommand{\lset}[1]{\ensuremath{\left<{#1}\right|}} |
| 25 | -\newcommand{\pr}[1]{\ensuremath{\mathrm{p}\at{#1}}} | |
| 30 | +\newcommand{\pr}[1]{\ensuremath{\mathrm{P}\at{#1}}} | |
| 26 | 31 | \newcommand{\given}{\ensuremath{~\middle|~}} |
| 27 | 32 | |
| 28 | 33 | \title{Zugzwang\\\textit{Logic and Artificial Intelligence}} |
| ... | ... | @@ -42,84 +47,223 @@ Answer Set Programming (ASP) is a logic programming paradigm based on the Stable |
| 42 | 47 | The Distribution Semantics (DS) is a key approach to extend logical representations with probabilistic reasoning. Probabilistic Facts (PF) are the most basic stochastic DS primitive and they take the form of logical facts, $a$, labelled with a probability, such as $p::a$; Each probabilistic fact represents a boolean random variable that is true with probability $p$ and false with probability $1 - p$. A (consistent) combination of the PFs defines a \textit{total choice} $c = \set{p::a, \ldots}$ such that |
| 43 | 48 | |
| 44 | 49 | \begin{equation} |
| 45 | - P(c) = \prod_{a\in c} p \prod_{a \not\in c} (1- p). | |
| 50 | + \pr{C = x} = \prod_{a\in c} p \prod_{a \not\in c} (1- p). | |
| 51 | + \label{eq:prob.total.choice} | |
| 46 | 52 | \end{equation} |
| 47 | 53 | |
| 48 | 54 | Our goal is to extend this probability, from total choices, to cover the specification domain. We can foresee two key applications of this extended probability: |
| 49 | 55 | |
| 50 | 56 | \begin{enumerate} |
| 51 | 57 | \item Support any probabilistic reasoning/task on the specification domain. |
| 52 | - \item Also, given a dataset and a divergence measure, now the specification can be scored (by the divergence w.r.t. the \emph{empiric} distribution of the dataset), and sorted amongst other specifications. This is a key ingredient in algorithms searching, for example, an \textit{optimal specification} of the dataset. | |
| 58 | + \item Also, given a dataset and a divergence measure, now the specification can be scored (by the divergence w.r.t.\ the \emph{empiric} distribution of the dataset), and sorted amongst other specifications. This is a key ingredient in algorithms searching, for example, an optimal specification of the dataset. | |
| 53 | 59 | \end{enumerate} |
| 54 | 60 | |
| 55 | -This goal faces a critical problem concerning situations where \textit{multiple} standard models result from a given total choice, illustrated by the following example. The specification | |
| 56 | -$$ | |
| 57 | -\begin{aligned} | |
| 58 | - 0.3::a&,\cr | |
| 59 | - b \vee c& \leftarrow a. | |
| 60 | -\end{aligned} | |
| 61 | -$$ | |
| 62 | -has three stable models, $\set{\neg a}, \set{a, b}$ and $\set{a, c}$. While it is straightforward to set $P(\neg a)=0.7$, there is \textit{no further information} to assign values to $P(a,b)$ and $P(a,c)$. At best, we can use a parameter $\alpha$ such that | |
| 61 | +This goal faces a critical problem concerning situations where multiple standard models result from a given total choice, illustrated by the following example. The specification | |
| 62 | +\begin{equation} | |
| 63 | + \begin{aligned} | |
| 64 | + 0.3::a&,\cr | |
| 65 | + b \vee c& \leftarrow a. | |
| 66 | + \end{aligned} | |
| 67 | + \label{eq:example.1} | |
| 68 | +\end{equation} | |
| 69 | +has three stable models, $\co{a}, ab$ and $ac$. While it is straightforward to set $P(\co{a})=0.7$, there is \textit{no further information} to assign values to $P(ab)$ and $P(ac)$. At best, we can use a parameter $x$ such that | |
| 63 | 70 | $$ |
| 64 | 71 | \begin{aligned} |
| 65 | -P(a,b) &= 0.3 \alpha,\cr | |
| 66 | -P(a,c) &= 0.3 (1 - \alpha). | |
| 72 | +P(ab) &= 0.3 x,\cr | |
| 73 | +P(ac) &= 0.3 (1 - x). | |
| 67 | 74 | \end{aligned} |
| 68 | 75 | $$ |
| 69 | 76 | |
| 70 | -This uncertainty in inherent to the specification, but can be mitigated with the help of a dataset: the parameter $\alpha$ can be estimated from the empirical distribution. | |
| 77 | +This uncertainty in inherent to the specification, but can be mitigated with the help of a dataset: the parameter $x$ can be estimated from the empirical distribution. | |
| 71 | 78 | |
| 72 | -In summary, if an ASP specification is intended to describe some system that can be observed then: | |
| 79 | +In summary, if an ASP specification is intended to describe some observable system then: | |
| 73 | 80 | |
| 74 | 81 | \begin{enumerate} |
| 75 | - \item The observations can be used to estimate the value of the parameters (such as $\alpha$ above and others entailed from further clauses). | |
| 82 | + \item The observations can be used to estimate the value of the parameters (such as $x$ above and others entailed from further clauses). | |
| 76 | 83 | \item With a probability set for the stable models, we want to extend it to all the samples (\textit{i.e.} consistent sets of literals) of the specification. |
| 77 | 84 | \item This extended probability can then be related to the \textit{empirical distribution}, using a probability divergence, such as Kullback-Leibler; and the divergence value used as a \textit{performance} measure of the specification with respect to the observations. |
| 78 | 85 | \item If that specification is only but one of many possible candidates then that performance measure can be used, \textit{e.g.} as fitness, by algorithms searching (optimal) specifications of a dataset of observations. |
| 79 | 86 | \end{enumerate} |
| 80 | 87 | |
| 81 | -Currently, we are on the step two above: Extending a probability function (with parameters such as $\alpha$), defined on the stable sets of a specification, to all the samples of the specification. This extension must, of course, respect the axioms of probability so that probabilistic reasoning is consistent with the ASP specification. | |
| 88 | +Currently, we are on the step two above: Extending a probability function (with parameters such as $x$), defined on the stable sets of a specification, to all the events of the specification. This extension must, of course, respect the axioms of probability so that probabilistic reasoning is consistent with the ASP specification. | |
| 82 | 89 | |
| 83 | 90 | \section{Extending Probabilities} |
| 84 | 91 | |
| 85 | -Given an ASP specification, we look at the \textit{total choices} $\fml{C}$, \textit{stable models} $\fml{S}$, \textit{atoms} and \textit{literals} $\fml{A}, \fml{L}$, \textit{samples} $z \in \fml{Z} \iff z \subseteq \fml{L}$ and \textit{events} $\fml{E}$ (consistent samples). | |
| 92 | +Given an ASP specification, we consider the \textit{atoms} $a \in \fml{A}$ and \textit{literals}, $z \in \fml{L}$, \textit{events} $e \in \fml{E} \iff e \subseteq \fml{L}$ and \textit{worlds} $w \in \fml{W}$ (consistent events), \textit{total choices} $c \in \fml{C} \iff c = a \vee \neg a$ and \textit{stable models} $s \in \fml{S}$. | |
| 93 | + | |
| 94 | +% In a statistical setting, the outcomes are the literals $x$, $\neg x$ for each atom $x$, the events express a set of possible outcomes (including $\emptyset$, $\set{a, b}$, $\set{a, \neg a, b}$, \textit{etc.}), and worlds are events with no contradictions. | |
| 95 | + | |
| 96 | +Our path, traced by equations (\ref{eq:prob.total.choice}) and (\ref{eq:prob.stablemodel} --- \ref{eq:prob.events}), starts with the probability of total choices, $\pr{C = c}$, expands it to stable models, $\pr{S = s}$, and then to worlds $\pr{W = w}$ and events $\pr{E = e}$. | |
| 86 | 97 | |
| 87 | 98 | \begin{enumerate} |
| 88 | - \item \textbf{Given} $\pr{C = c}$ from the specification. Each total choice $C = c$ (together with the specification facts and rules) entails some stable models, $S_c$. | |
| 89 | - \item \textbf{Given} $\pr{S = s \given C = c}$ such that its value is zero if $s \not\in S_c$. | |
| 90 | - \item Each event $E = e$ either: | |
| 99 | + \item \textbf{Total Choices.} This case is given by $\pr{C = c}$, from equation \ref{eq:prob.total.choice}. Each total choice $C = c$ (together with the facts and rules) entails some stable models, $s \in S_c$, and each stable model $S = s$ contains a single total choice $c_s \subseteq s$. | |
| 100 | + \item \textbf{Stable Models.} Given a stable model $s \in \fml{S}$, and variables/values $x_{s,c} \in \intcc{0, 1}$, | |
| 101 | + \begin{equation} | |
| 102 | + \pr{S = s \given C = c} = \begin{cases} | |
| 103 | + x_{s,c} & \text{if~} s \in S_c,\cr | |
| 104 | + 0&\text{otherwise} | |
| 105 | + \end{cases} | |
| 106 | + \label{eq:prob.stablemodel} | |
| 107 | + \end{equation} | |
| 108 | + such that $\sum_{s \in S_c} x_{s,c} = 1$. | |
| 109 | + \item\label{item:world.cases} \textbf{Worlds.} Each world $W = w$ either: | |
| 91 | 110 | \begin{enumerate} |
| 92 | - \item Is a stable model. Then | |
| 111 | + \item Is a \textit{stable model}. Then | |
| 93 | 112 | \begin{equation} |
| 94 | - \pr{E = e \given C = c} = \pr{S = e \given C = c}. | |
| 113 | + \pr{W = w \given C = c} = \pr{S = s \given C = c}. | |
| 114 | + \label{eq:world.fold.stablemodel} | |
| 95 | 115 | \end{equation} |
| 96 | - \item \textit{Is contained} in some stable models. Then | |
| 116 | + \item \textit{Contains} some stable models. Then | |
| 97 | 117 | \begin{equation} |
| 98 | - \pr{E = e \given C = c} = \sum_{s \supseteq e}\pr{S = s \given C = c}. | |
| 118 | + \pr{W = w \given C = c} = \prod_{s \subset w}\pr{S = s \given C = c}. | |
| 119 | + \label{eq:world.fold.superset} | |
| 99 | 120 | \end{equation} |
| 100 | - \item \textit{Contains} some stable models. Then | |
| 121 | + \item \textit{Is contained} in some stable models. Then | |
| 101 | 122 | \begin{equation} |
| 102 | - \pr{E = e \given C = c} = \prod_{s \subseteq e}\pr{S = s \given C = c}. | |
| 123 | + \pr{W = w \given C = c} = \sum_{s \supset w}\pr{S = s \given C = c}. | |
| 124 | + \label{eq:world.fold.subset} | |
| 103 | 125 | \end{equation} |
| 104 | 126 | \item Neither contains nor is contained by a stable model. Then |
| 105 | 127 | \begin{equation} |
| 106 | - \pr{E = e \given C = c} = 0. | |
| 128 | + \pr{W = w} = 0. | |
| 129 | + \label{eq:world.fold.independent} | |
| 107 | 130 | \end{equation} |
| 108 | 131 | \end{enumerate} |
| 109 | - \item For each sample $Z = z$ | |
| 132 | + \item \textbf{Events.} For each event $E = e$, | |
| 110 | 133 | \begin{equation} |
| 111 | - \pr{Z = z \given C = c} = \begin{cases} | |
| 112 | - \pr{E = z \given C = c} & z \in \fml{E}, \cr | |
| 134 | + \pr{E = e \given C = c} = \begin{cases} | |
| 135 | + \pr{W = e \given C = c} & e \in \fml{W}, \cr | |
| 113 | 136 | 0 & \text{otherwise}. |
| 114 | 137 | \end{cases} |
| 138 | + \label{eq:prob.events} | |
| 115 | 139 | \end{equation} |
| 116 | 140 | \end{enumerate} |
| 117 | 141 | |
| 118 | -\begin{quotation}\marginpar{Todo} Prove the four event cases, and support the sum/product options, with the independence assumptions. | |
| 142 | +Since stable model are minimal, there is no proper chain $s_1 \subset w \subset s_2$ so each world folds into exactly one ot the four cases of point \ref{item:world.cases} above. | |
| 143 | + | |
| 144 | +% PARAMETERS FOR UNCERTAINTY | |
| 145 | + | |
| 146 | +Equation (\ref{eq:prob.stablemodel}) expresses the lack of knowledge about the probability assignment when a single total choice entails more than one stable model. In this case, how to distribute the respective probability? Our answer to this problem consists in assigning an unknown probability, $x_{s,c}$, conditional on the total choice, $c$, to each stable model $s$. This approach allow the expression of an unknown quantity and future estimation, given observed data. | |
| 147 | + | |
| 148 | +% STABLE MODEL | |
| 149 | +The stable model case, in equation (\ref{eq:world.fold.stablemodel}), identifies the probability of a stable model \textit{as a world} with its probability as defined previously in equation (\ref{eq:prob.stablemodel}), as a stable model. | |
| 150 | + | |
| 151 | +% SUPERSET | |
| 152 | +Equation \ref{eq:world.fold.superset} results from conditional independence of the stable models $s \subset w$. Conditional independence of stable worlds asserts a least informed strategy that we make explicit: | |
| 153 | + | |
| 154 | +\begin{assumption} | |
| 155 | + Stable models are conditionally independent, given their total choices. | |
| 156 | +\end{assumption} | |
| 157 | + | |
| 158 | +Consider the stable models $ab, ac$ from the example above. They result from the clause $b \vee c \leftarrow a$ and the total choice $a$. These formulas alone impose no relation between $b$ and $c$ (given $a$), so none should be assumed. Dependence relations are discussed in Subsection (\ref{subsec:dependence}). | |
| 159 | + | |
| 160 | +% SUBSET | |
| 161 | + | |
| 162 | +I'm not sure about what to say here.\marginpar{todo} | |
| 163 | + | |
| 164 | +\begin{equation*} | |
| 165 | + \pr{W = w \given C = c} = \sum_{s \supset w}\pr{S = s \given C = c}. | |
| 166 | +\end{equation*} | |
| 167 | + | |
| 168 | +But! $\pr{W = w \given C = c}$ already separates $\pr{W}$ into \textbf{disjoint} | |
| 169 | + | |
| 170 | +% INDEPENDENCE | |
| 171 | + | |
| 172 | +A world that neither contains nor is contained in a stable model describes a case that, according to the specification, should never be observed. So the respective probability is set to zero, per equation (\ref{eq:world.fold.independent}). | |
| 173 | +% | |
| 174 | +% ================================================================ | |
| 175 | +% | |
| 176 | +\subsection{Dependence} | |
| 177 | +\label{subsec:dependence} | |
| 178 | + | |
| 179 | +Dependence relations in the underlying system can be explicitly expressed in the specification. | |
| 180 | + | |
| 181 | +For example, $b \leftarrow c \wedge d$, where $d$ is an atomic choice, explicitly expressing this dependence between $b$ and $c$. One would get, for example, the specification | |
| 182 | +$$ | |
| 183 | +0.3::a, b \vee c \leftarrow a, 0.2::d, b \leftarrow c \wedge d. | |
| 184 | +$$ | |
| 185 | +with the stable models | |
| 186 | +$ | |
| 187 | +\co{ad}, \co{a}d, a\co{d}b, a\co{d}c, adb | |
| 188 | +$. | |
| 189 | + | |
| 190 | + | |
| 191 | +The interesting case is the subtree of the total choice $ac$. Notice that no stable model $s$ contains $adc$ because (1) $adb$ is a stable model and (2) no stable model contains $adc$, because if $adc \subset s$ then $b \in s$ and $adb \subset s$. | |
| 192 | + | |
| 193 | +Following the case of equations (\ref{eq:world.fold.stablemodel}) and (\ref{eq:world.fold.independent}) this sets | |
| 194 | +\begin{equation*} | |
| 195 | + \begin{cases} | |
| 196 | + \pr{W = adc \given C = ad} = 0,\cr | |
| 197 | + \pr{W = adb \given C = ad} = 1 | |
| 198 | + \end{cases} | |
| 199 | +\end{equation*} | |
| 200 | +which concentrates all probability mass from the total choice $ad$ in the $adb$ branch, including the node $W = adbc$. This leads to the following cases: | |
| 201 | +$$ | |
| 202 | +\begin{array}{l|r} | |
| 203 | + x & \pr{x \given C = ad}\\ | |
| 204 | + \hline | |
| 205 | + ad & 1 \\ | |
| 206 | + adb & 1\\ | |
| 207 | + adc & 0\\ | |
| 208 | + adbc & 1 | |
| 209 | +\end{array} | |
| 210 | +$$ | |
| 211 | +so, for $C = ad$, $\pr{b} = 2/3, \pr{c} = 1/3, \pr{b,c} = 1/3 \not= \pr{b}\pr{c}$. | |
| 212 | + | |
| 213 | +\begin{quotation}\note{Todo} | |
| 214 | + | |
| 215 | + Prove the four world cases (done), support the product (done) and sum (tbd) options, with the independence assumptions. | |
| 119 | 216 | \end{quotation} |
| 120 | 217 | |
| 218 | +\section{Developed Example} | |
| 219 | + | |
| 220 | +We continue with the specification from equation \ref{eq:example.1}. | |
| 221 | + | |
| 222 | +\textbf{Step 1: Total Choices.} The total choices, and respective stable models, are | |
| 223 | +\begin{center} | |
| 224 | + \begin{tabular}{l|r|r} | |
| 225 | + Total Choice ($c$) & $\pr{C = c}$ & Stable Models ($s$)\\ | |
| 226 | + \hline | |
| 227 | + $a$ & $0.3$ & $ab$ and $ac$.\\ | |
| 228 | + $\co{a} = \neg a$ & $\co{0.3} = 0.7$ & $\co{a}$. | |
| 229 | + \end{tabular} | |
| 230 | +\end{center} | |
| 231 | + | |
| 232 | +\textbf{Step 2: Stable Models.} Suppose now that | |
| 233 | +\begin{center} | |
| 234 | + \begin{tabular}{l|c|r} | |
| 235 | + Stable Models ($s$) & Total Choice ($c$) & $\pr{S = c \given C = c}$\\ | |
| 236 | + \hline | |
| 237 | + $\co{a}$ & $1.0$ & $\co{a}$. \\ | |
| 238 | + $ab$ & $0.8$ & $a$. \\ | |
| 239 | + $ac$ & $0.2 = \co{0.8}$ & $a$. | |
| 240 | + \end{tabular} | |
| 241 | +\end{center} | |
| 242 | + | |
| 243 | +\textbf{Step 3: Worlds.} Following equations \ref{eq:world.fold.stablemodel} --- \ref{eq:world.fold.independent} we get: | |
| 244 | +\begin{center} | |
| 245 | + \begin{tabular}{l|c|l|c|r} | |
| 246 | + Occ. ($o$) & S.M. ($s$) & Relation & T.C. ($c$) & $\pr{W = w}$\\ | |
| 247 | + \hline | |
| 248 | + $\emptyset$ & all & contained & $a$, $\co{a}$ & $1.0$ \\ | |
| 249 | + $a$ & $ab$, $ac$ & contained & $a$ & $0.8\times 0.3 + 0.2\times 0.3 = 0.3$ \\ | |
| 250 | + $b$ & $ab$ & contained & $a$ & $0.8\times 0.3 = 0.24$ \\ | |
| 251 | + $c$ & $ac$ & contained & $a$ & $0.2\times 0.3 = 0.06$ \\ | |
| 252 | + $\co{a}$ & $\co{a}$ & stable model & $\co{a}$ & $1.0\times 0.3 = 0.3$ \\ | |
| 253 | + $\co{b}$ & none & independent & none & $0.0$ \\ | |
| 254 | + $\co{c}$ & none & \ldots & & \\ | |
| 255 | + $ab$ & $ab$ & stable model & $a$ & $0.24$ \\ | |
| 256 | + $ac$ & $ac$ & stable model & $a$ & $0.06$ \\ | |
| 257 | + $a\co{b}$ & none & \ldots & & \\ | |
| 258 | + $a\co{c}$ & none & \ldots & & \\ | |
| 259 | + $\co{a}b$ & $\co{a}$ & contains & $\co{a}$ & $1.0$ \\ | |
| 260 | + $\co{a}c$ & $\co{a}$ & \ldots & & \\ | |
| 261 | + $\co{a}\co{b}$ & $\co{a}$ & \ldots & & \\ | |
| 262 | + $\co{a}\co{c}$ & $\co{a}$ & \ldots & & \\ | |
| 263 | + $abc$ & $ab$, $ac$ & contains & $a$ & $0.8\times 0.2 = 0.016$ \\ | |
| 264 | + \end{tabular} | |
| 265 | +\end{center} | |
| 121 | 266 | |
| 122 | - | |
| 123 | 267 | \section*{References} |
| 124 | 268 | |
| 125 | 269 | ... | ... |