From 9d633d9044371b9654c4a2e3bdbb2ff7429285e4 Mon Sep 17 00:00:00 2001 From: Francisco Coelho Date: Wed, 3 May 2023 13:57:21 +0100 Subject: [PATCH] Paper Draft: Stabilizing notation, concepts --- students/amartins/00-record.md | 0 students/amartins/2023-03-13 | Tarefa 01.eml | 172 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ students/amartins/Tarefa 01-full.eml | 172 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- students/amartins/Tarefa 01.eml | 46 ---------------------------------------------- text/paper_01/pre-paper.pdf | Bin 77796 -> 0 bytes text/paper_01/pre-paper.tex | 486 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------------------------------------------------------------------------------- 6 files changed, 503 insertions(+), 373 deletions(-) delete mode 100644 students/amartins/00-record.md create mode 100644 students/amartins/2023-03-13 | Tarefa 01.eml delete mode 100644 students/amartins/Tarefa 01-full.eml delete mode 100644 students/amartins/Tarefa 01.eml diff --git a/students/amartins/00-record.md b/students/amartins/00-record.md deleted file mode 100644 index e69de29..0000000 --- a/students/amartins/00-record.md +++ /dev/null diff --git a/students/amartins/2023-03-13 | Tarefa 01.eml b/students/amartins/2023-03-13 | Tarefa 01.eml new file mode 100644 index 0000000..5568cef --- /dev/null +++ b/students/amartins/2023-03-13 | Tarefa 01.eml @@ -0,0 +1,172 @@ +MIME-Version: 1.0 +Date: Mon, 13 Mar 2023 10:09:44 +0000 +References: + +In-Reply-To: +Message-ID: +Subject: Re: Tarefa 01 +From: Francisco Coelho +To: ALICE MARTINS +Content-Type: multipart/alternative; boundary="00000000000071009e05f6c54f6f" + +--00000000000071009e05f6c54f6f +Content-Type: text/plain; charset="UTF-8" +Content-Transfer-Encoding: quoted-printable + +Tem aqui um reposit=C3=B3rio de red= +es de +bayes, nesses formatos. +Pode testar a biblioteca fazendo experi=C3=AAncias com os exemplos do +reposit=C3=B3rio. + +Quest=C3=B5es simples que pode tentar responder com a biblioteca: +- quantos n=C3=B3s tem a rede? +- quantos n=C3=B3s s=C3=A3o descendentes? quantos s=C3=A3o ascendentes? +- qual =C3=A9 o n=C3=BAmero m=C3=A9dio de arestas "in"? e "out"? + +Um exerc=C3=ADcio com mais "f=C3=B4lego". +O dot +=C3=A9 um formato para descrever grafos, suportado em Python pelo pydot + e usado pelo graphviz + para visualiza=C3=A7=C3=A3o. +Por outro lado, networkx =C3=A9 uma biblioteca de +an=C3=A1lise de grafos e redes. + +Passe uma rede lida com o bnlearn para o networkx e visualize-a com o +graphviz passando pelo pydot. + +Entretanto, estamos interessados no Potassco . Pode +instalar no seu sistema e consultar o guia respetivo +. + +-- +Francisco Coelho +Departamento de Inform=C3=A1tica, Universidade de =C3=89vora +NOVA LINCS +High Performance Computing Chair + + +ALICE MARTINS escreveu no dia domingo, 12/03/2023 +=C3=A0(s) 20:18: + +> Ol=C3=A1 professor, +> espero que se encontre bem. +> Da minha pesquisa sobre este assunto, pude concluir que para realizarmos = +a +> leitura de redes Bayesianas de um ficheiro, precisamos de importar a +> biblioteca bnlearn no python atrav=C3=A9s do comando: +> *import bnlearn* +> +> Atrav=C3=A9s dessa biblioteca, podemos ler ficheiros atrav=C3=A9s dos com= +andos: +> *read.bif(), read.dsc(), read.net ()* +> +> Para al=C3=A9m de toda esta pesquisa, tamb=C3=A9m aprendi como programar = +em Python. +> Por favor, diga-me o que mais posso fazer para terminar esta tarefa. +> +> Atenciosamente, +> Alice Martins +> +> Francisco Coelho escreveu no dia ter=C3=A7a, 7/03/2023 =C3= +=A0(s) +> 11:07: +> +>> Ol=C3=A1 Alice, +>> +>> Aqui est=C3=A1: "Read a Bayesian Network from a file (`BIF`, `DSC`, `NET= +`, +>> `RDA`, `RDS`, ...)" em Python. +>> +>> Cumprimentos, +>> -- +>> Francisco Coelho +>> Departamento de Inform=C3=A1tica, Universidade de =C3=89vora +>> NOVA LINCS +>> High Performance Computing Chair +>> +> + +--00000000000071009e05f6c54f6f +Content-Type: text/html; charset="UTF-8" +Content-Transfer-Encoding: quoted-printable + +
Tem aqui um reposi= +t=C3=B3rio de redes de bayes, nesses formatos.
Pode testar a biblioteca fazendo expe= +ri=C3=AAncias com os exemplos do reposit=C3=B3rio.

Quest=C3=B5es simples que pode te= +ntar responder com a biblioteca:
- quantos n=C3=B3s tem a rede?
- quantos n=C3=B3s s=C3=A3o d= +escendentes? quantos s=C3=A3o ascendentes?
- qual =C3=A9 o n=C3=BAmero m=C3=A9dio de= + arestas "in"? e "out"?

Um exerc=C3=ADcio com mais "f=C3=B4lego= +".
O dot =C3=A9 um formato para descrever grafos, suportado em Pyth= +on pelo pydot e usado pelo = +graphviz para visualiza=C3=A7=C3= +=A3o.
Por= + outro lado, networkx =C3=A9 uma bibl= +ioteca de an=C3=A1lise de grafos e redes.

Passe uma rede lida com o bnlearn para o netwo= +rkx e visualize-a com o graphviz passando pelo pydot.

Entretanto, estamos interessados n= +o Potassco. Pode instalar no seu sist= +ema e consultar o g= +uia respetivo.

--
Francisco Coelho
Departamento de Inform=C3=A1tica,=C2=A0<= +span style=3D"font-family:monospace">Universidade de =C3=89vora
NOVA LINCS
High Performance Computing Chair

ALICE MARTINS <l52768@alunos= +.uevora.pt> escreveu no dia domingo, 12/03/2023 =C3=A0(s) 20:18:
= +
Ol=C3=A1 professor,
espero que se encontre bem.
Da m= +inha pesquisa sobre este assunto, pude concluir que para realizarmos a leit= +ura de redes Bayesianas de um ficheiro, precisamos de importar a biblioteca= + bnlearn no python atrav=C3=A9s do comando:
import bnlearn= +

Atrav=C3=A9s dessa biblioteca, podemos ler fichei= +ros atrav=C3=A9s dos comandos:
read.bif(), read.dsc(), read.net()

Para al=C3=A9m de toda esta pesquisa, tamb=C3=A9m aprendi como prog= +ramar em Python.
Por favor, diga-me o que mais posso fazer p= +ara terminar esta tarefa.

Atenciosamente,
Alice Martins

Francisco Coelho <fc@uevora.pt> escreveu no dia ter=C3=A7a= +, 7/03/2023 =C3=A0(s) 11:07:
Ol=C3=A1 Alice,

Aqui est=C3=A1: "Read a Bayesian Network from a fil= +e (`BIF`, `DSC`, `NET`, `RDA`, `RDS`, ...)" em Python.

Cumprimentos,
= +
--
Francisco Coelho
D= +epartamento de Inform=C3=A1tica,=C2=A0Universidade de =C3=89vora
NOVA LINCS= +
High Performance Com= +puting Chair
+
+
+ +--00000000000071009e05f6c54f6f-- \ No newline at end of file diff --git a/students/amartins/Tarefa 01-full.eml b/students/amartins/Tarefa 01-full.eml deleted file mode 100644 index 5568cef..0000000 --- a/students/amartins/Tarefa 01-full.eml +++ /dev/null @@ -1,172 +0,0 @@ -MIME-Version: 1.0 -Date: Mon, 13 Mar 2023 10:09:44 +0000 -References: - -In-Reply-To: -Message-ID: -Subject: Re: Tarefa 01 -From: Francisco Coelho -To: ALICE MARTINS -Content-Type: multipart/alternative; boundary="00000000000071009e05f6c54f6f" - ---00000000000071009e05f6c54f6f -Content-Type: text/plain; charset="UTF-8" -Content-Transfer-Encoding: quoted-printable - -Tem aqui um reposit=C3=B3rio de red= -es de -bayes, nesses formatos. -Pode testar a biblioteca fazendo experi=C3=AAncias com os exemplos do -reposit=C3=B3rio. - -Quest=C3=B5es simples que pode tentar responder com a biblioteca: -- quantos n=C3=B3s tem a rede? -- quantos n=C3=B3s s=C3=A3o descendentes? quantos s=C3=A3o ascendentes? -- qual =C3=A9 o n=C3=BAmero m=C3=A9dio de arestas "in"? e "out"? - -Um exerc=C3=ADcio com mais "f=C3=B4lego". -O dot -=C3=A9 um formato para descrever grafos, suportado em Python pelo pydot - e usado pelo graphviz - para visualiza=C3=A7=C3=A3o. -Por outro lado, networkx =C3=A9 uma biblioteca de -an=C3=A1lise de grafos e redes. - -Passe uma rede lida com o bnlearn para o networkx e visualize-a com o -graphviz passando pelo pydot. - -Entretanto, estamos interessados no Potassco . Pode -instalar no seu sistema e consultar o guia respetivo -. - --- -Francisco Coelho -Departamento de Inform=C3=A1tica, Universidade de =C3=89vora -NOVA LINCS -High Performance Computing Chair - - -ALICE MARTINS escreveu no dia domingo, 12/03/2023 -=C3=A0(s) 20:18: - -> Ol=C3=A1 professor, -> espero que se encontre bem. -> Da minha pesquisa sobre este assunto, pude concluir que para realizarmos = -a -> leitura de redes Bayesianas de um ficheiro, precisamos de importar a -> biblioteca bnlearn no python atrav=C3=A9s do comando: -> *import bnlearn* -> -> Atrav=C3=A9s dessa biblioteca, podemos ler ficheiros atrav=C3=A9s dos com= -andos: -> *read.bif(), read.dsc(), read.net ()* -> -> Para al=C3=A9m de toda esta pesquisa, tamb=C3=A9m aprendi como programar = -em Python. -> Por favor, diga-me o que mais posso fazer para terminar esta tarefa. -> -> Atenciosamente, -> Alice Martins -> -> Francisco Coelho escreveu no dia ter=C3=A7a, 7/03/2023 =C3= -=A0(s) -> 11:07: -> ->> Ol=C3=A1 Alice, ->> ->> Aqui est=C3=A1: "Read a Bayesian Network from a file (`BIF`, `DSC`, `NET= -`, ->> `RDA`, `RDS`, ...)" em Python. ->> ->> Cumprimentos, ->> -- ->> Francisco Coelho ->> Departamento de Inform=C3=A1tica, Universidade de =C3=89vora ->> NOVA LINCS ->> High Performance Computing Chair ->> -> - ---00000000000071009e05f6c54f6f -Content-Type: text/html; charset="UTF-8" -Content-Transfer-Encoding: quoted-printable - -
Tem aqui um reposi= -t=C3=B3rio de redes de bayes, nesses formatos.
Pode testar a biblioteca fazendo expe= -ri=C3=AAncias com os exemplos do reposit=C3=B3rio.

Quest=C3=B5es simples que pode te= -ntar responder com a biblioteca:
- quantos n=C3=B3s tem a rede?
- quantos n=C3=B3s s=C3=A3o d= -escendentes? quantos s=C3=A3o ascendentes?
- qual =C3=A9 o n=C3=BAmero m=C3=A9dio de= - arestas "in"? e "out"?

Um exerc=C3=ADcio com mais "f=C3=B4lego= -".
O dot =C3=A9 um formato para descrever grafos, suportado em Pyth= -on pelo pydot e usado pelo = -graphviz para visualiza=C3=A7=C3= -=A3o.
Por= - outro lado, networkx =C3=A9 uma bibl= -ioteca de an=C3=A1lise de grafos e redes.

Passe uma rede lida com o bnlearn para o netwo= -rkx e visualize-a com o graphviz passando pelo pydot.

Entretanto, estamos interessados n= -o Potassco. Pode instalar no seu sist= -ema e consultar o g= -uia respetivo.

--
Francisco Coelho
Departamento de Inform=C3=A1tica,=C2=A0<= -span style=3D"font-family:monospace">Universidade de =C3=89vora
NOVA LINCS
High Performance Computing Chair

ALICE MARTINS <l52768@alunos= -.uevora.pt> escreveu no dia domingo, 12/03/2023 =C3=A0(s) 20:18:
= -
Ol=C3=A1 professor,
espero que se encontre bem.
Da m= -inha pesquisa sobre este assunto, pude concluir que para realizarmos a leit= -ura de redes Bayesianas de um ficheiro, precisamos de importar a biblioteca= - bnlearn no python atrav=C3=A9s do comando:
import bnlearn= -

Atrav=C3=A9s dessa biblioteca, podemos ler fichei= -ros atrav=C3=A9s dos comandos:
read.bif(), read.dsc(), read.net()

Para al=C3=A9m de toda esta pesquisa, tamb=C3=A9m aprendi como prog= -ramar em Python.
Por favor, diga-me o que mais posso fazer p= -ara terminar esta tarefa.

Atenciosamente,
Alice Martins

Francisco Coelho <fc@uevora.pt> escreveu no dia ter=C3=A7a= -, 7/03/2023 =C3=A0(s) 11:07:
Ol=C3=A1 Alice,

Aqui est=C3=A1: "Read a Bayesian Network from a fil= -e (`BIF`, `DSC`, `NET`, `RDA`, `RDS`, ...)" em Python.

Cumprimentos,
= -
--
Francisco Coelho
D= -epartamento de Inform=C3=A1tica,=C2=A0Universidade de =C3=89vora
NOVA LINCS= -
High Performance Com= -puting Chair
-
-
- ---00000000000071009e05f6c54f6f-- \ No newline at end of file diff --git a/students/amartins/Tarefa 01.eml b/students/amartins/Tarefa 01.eml deleted file mode 100644 index fa91e84..0000000 --- a/students/amartins/Tarefa 01.eml +++ /dev/null @@ -1,46 +0,0 @@ -MIME-Version: 1.0 -Date: Tue, 7 Mar 2023 11:07:08 +0000 -Message-ID: -Subject: Tarefa 01 -From: Francisco Coelho -To: ALICE MARTINS -Content-Type: multipart/alternative; boundary="000000000000a2e93b05f64d6939" - ---000000000000a2e93b05f64d6939 -Content-Type: text/plain; charset="UTF-8" -Content-Transfer-Encoding: quoted-printable - -Ol=C3=A1 Alice, - -Aqui est=C3=A1: "Read a Bayesian Network from a file (`BIF`, `DSC`, `NET`, -`RDA`, `RDS`, ...)" em Python. - -Cumprimentos, --- -Francisco Coelho -Departamento de Inform=C3=A1tica, Universidade de =C3=89vora -NOVA LINCS -High Performance Computing Chair - ---000000000000a2e93b05f64d6939 -Content-Type: text/html; charset="UTF-8" -Content-Transfer-Encoding: quoted-printable - -
Ol=C3=A1 Alice,

Aqui est=C3=A1: "Read a Bayesian Network from a file (`BIF`, `DS= -C`, `NET`, `RDA`, `RDS`, ...)" em Python.

Cumprimentos,
--
Francisco Coelho= -
Departamento de Inform=C3= -=A1tica,=C2=A0Universidade de = -=C3=89vora
NOVA LINCS
High Performance Computing Chair
- ---000000000000a2e93b05f64d6939-- \ No newline at end of file diff --git a/text/paper_01/pre-paper.pdf b/text/paper_01/pre-paper.pdf index cd7cc2f..8d0fb21 100644 Binary files a/text/paper_01/pre-paper.pdf and b/text/paper_01/pre-paper.pdf differ diff --git a/text/paper_01/pre-paper.tex b/text/paper_01/pre-paper.tex index 57b4d0a..f11334c 100644 --- a/text/paper_01/pre-paper.tex +++ b/text/paper_01/pre-paper.tex @@ -5,7 +5,6 @@ citestyle=numeric ]{biblatex} %Imports biblatex package \addbibresource{zugzwang.bib} %Import the bibliography file - \usepackage[x11colors]{xcolor} % \usepackage{tikz} @@ -31,8 +30,15 @@ \usepackage{amsthm} \newtheorem{assumption}{Assumption} \newtheorem{definition}{Definition} +\newtheorem{proposition}{Proposition} +\newtheorem{example}{Example} +\newtheorem{theorem}{Theorem} \usepackage{amssymb} +\usepackage[normalem]{ulem} \usepackage[nice]{nicefrac} +\usepackage{stmaryrd} +\usepackage{acronym} +\usepackage{cleveref} % % Local commands % @@ -47,22 +53,49 @@ \newcommand{\ent}{\ensuremath{\lhd}} \newcommand{\cset}[2]{\ensuremath{\set{#1,~#2}}} \newcommand{\langof}[1]{\ensuremath{\fml{L}\at{#1}}} -\newcommand{\uset}[1]{\ensuremath{\left<{#1}\right|}} -\newcommand{\lset}[1]{\ensuremath{\left|{#1}\right>}} +\newcommand{\uset}[1]{\ensuremath{#1^{\ast}}} +\newcommand{\lset}[1]{\ensuremath{#1_{\ast}}} +\newcommand{\yset}[1]{\ensuremath{\left\langle #1 \right\rangle}} +\newcommand{\stablecore}[1]{\ensuremath{\left\llbracket #1 \right\rrbracket}} +\newcommand{\uclass}[1]{\ensuremath{\intco{#1}}} +\newcommand{\lclass}[1]{\ensuremath{\intoc{#1}}} +\newcommand{\smclass}[1]{\ensuremath{\intcc{#1}}} \newcommand{\pr}[1]{\ensuremath{\mathrm{P}\at{#1}}} -\newcommand{\class}[1]{\ensuremath{{#1}/_{\!\sim}}} +\newcommand{\pw}[1]{\ensuremath{\mu\at{#1}}} +\newcommand{\class}[1]{\ensuremath{[{#1}]_{\sim}}} \newcommand{\urep}[1]{\ensuremath{\rep{#1}{}}} \newcommand{\lrep}[1]{\ensuremath{\rep{}{#1}}} \newcommand{\rep}[2]{\left\langle #1 \middle| #2 \right\rangle} -\newcommand{\inconsistent}{\otimes} +\newcommand{\inconsistent}{\bot} \newcommand{\given}{\ensuremath{~\middle|~}} -\newcommand{\todo}[1]{\textbf{\color{orange}~(~#1~)~}} +\newcommand{\todo}[1]{{\color{red!50!black}(\emph{#1})}} +\newcommand{\remark}[2]{\dashuline{#1}~{\color{green!40!black}\emph{#2}}} +\newcommand{\replace}[2]{\sout{#1}/{\color{green!20!black}#2}} -\title{Zugzwang\\\textit{Logic and Artificial Intelligence}} +\newcommand{\bruno}{\color{red!60!blue}} +% +% ACRONYMS +% +\acrodef{BK}[BK]{background knowledge} +\acrodef{ASP}[ASP]{answer set program} +\acrodef{NP}[NP]{normal (logic) program} +\acrodef{DS}[DS]{distribution semantics} +\acrodef{PF}[PF]{probabilistic fact} +\acrodef{TC}[TC]{total choice} +\acrodef{SM}[SM]{stable model} +\acrodef{SC}[SC]{stable core} +% +% +% +\title{Zugzwang\\\emph{Logic and Artificial Intelligence}\\{\bruno Why this title?}} \author{ \begin{tabular}{cc} Francisco Coelho & Bruno Dinis\\ - \texttt{fc@uevora.pt} & \texttt{bruno.dinis@uevora.pt} + \texttt{fc@uevora.pt} & \texttt{bruno.dinis@uevora.pt}\\ + \begin{minipage}{0.5\textwidth}\centering + Universidade de Évora and NOVA\textbf{LINCS} + \end{minipage} + & Universidade de Évora \end{tabular} } @@ -74,29 +107,54 @@ \begin{abstract} \todo{rewrite} - A major limitation of logical representations is the implicit assumption that the Background Knowledge (BK) is perfect. This assumption is problematic if data is noisy, which is often the case. Here we aim to explore how ASP specifications with probabilistic facts can lead to characterizations of probability functions on the specification's domain. + A major limitation of logical representations in real world applications is the implicit assumption that the \acl{BK} is perfect. This assumption is problematic if data is noisy, which is often the case. Here we aim to explore how \acl{ASP} specifications with probabilistic facts can lead to \remark{characterizations of probability functions}{Why is this important? Is this what `others in sota' are trying do to?} on the specification's domain. \end{abstract} \section{Introduction and Motivation} -\todo{rewrite} -Answer Set Programming (ASP) is a logic programming paradigm based on the Stable Model semantics of Normal Logic Programs (NP) that can be implemented using the latest advances in SAT solving technology. ASP is a truly declarative language that supports language constructs such as disjunction in the head of a clause, choice rules, and hard and weak constraints. -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 +\todo{Define and/or give references to all necessary concepts used in the paper} + +\todo{state of the art; references} +\Acf{ASP} is a logic programming paradigm based on the \ac{SM} semantics of \ac{NP} that can be implemented using the latest advances in SAT solving technology. Unlike ProLog, \ac{ASP} is a truly declarative language that supports language constructs such as disjunction in the head of a clause, choice rules, and hard and weak constraints. + +\todo{references} +The \ac{DS} is a key approach to extend logical representations with probabilistic reasoning. \Acp{PF} are the most basic stochastic \ac{DS} primitive and they take the form of logical facts, $a$, labelled with a probability, $p$, such as $p::a$; Each \ac{PF} represents a boolean random variable that is true with probability $p$ and false with probability $\co{p} = 1 - p$. A (consistent) combination of the \acp{PF} defines a \acf{TC} $c = \set{p::a, \ldots}$ such that \begin{equation} - \pr{C = x} = \prod_{a\in c} p \prod_{a \not\in c} (1- p). + \pr{C = c} = \prod_{a\in c} p \prod_{a \not\in c} \co{p}. \label{eq:prob.total.choice} \end{equation} -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: +% \todo{Insert simple example?} + + +Our goal is to extend this probability, from \acp{TC}, to cover the \emph{specification} domain. We use the term ``specification'' as set of rules and facts, plain and probabilistic, to decouple it from any computational semantics, implied, at least implicitly, by the term ``program''. We can foresee at least two key applications of this extended probability: \begin{enumerate} - \item Support any probabilistic reasoning/task on the specification domain. - \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. + \item Support probabilistic reasoning/tasks on the specification domain. + \item Also, given a dataset and a divergence measure, the specification can be scored (by the divergence w.r.t.\ the \emph{empiric} distribution of the dataset), and weighted or sorted amongst other specifications. These are key ingredients in algorithms searching, for example, optimal specifications of a dataset. \end{enumerate} -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 +% +%\todo{Outline/Explain our idea, further developed in \cref{sec:extending.probalilities}} +% +Our idea to extend probabilities starts with the stance that a specification describes an \emph{observable system} and that observed events must be related with the \acp{SM} of that specification. From here, probabilities must be extended from \aclp{TC} to \acp{SM} and then from \acp{SM} to any event. + +Extending probability from \acp{TC} to \acp{SM} faces a critical problem, illustrated by the example in \cref{sec:example.1}, concerning situations where multiple \acp{SM}, $ab$ and $ac$, result from a given \ac{TC}, $a$, but there is not enough information to assign a single probability to each \ac{SM}. We propose to address this issue by using algebraic variables to describe that lack of information and then estimate the value of those variables from empirical data. + +In a related work, \cite{verreet2022inference}, epistemic uncertainty (or model uncertainty) is considered as a lack of knowledge about the underlying model. This lack of knowledge can be mitigated via further observations. This seems to presuppose a Bayesian approach to imperfect knowledge in the sense that having further observations allows to improve/correct the model. Indeed, the approach in the paper uses Beta distributions in order to be able to learn the full distribution. This approach seems to be specially fitted to being able to tell when some probability lies beneath some given value. \todo{Our approach seems to be similar in spirit. If so, we should mention this in the introduction.} + +\todo{Discuss the least informed strategy and the corolary that \aclp{SM} should be conditionally independent on the \acl{TC}.} + +\todo{Give an outline of the paper.} + +\section{A simple but fruitful example}\label{sec:example.1} + +\todo{Write an introduction to the section} + +\begin{example}\label{running.example} +Consider the following specification \begin{equation} \begin{aligned} 0.3::a&,\cr @@ -104,34 +162,47 @@ This goal faces a critical problem concerning situations where multiple standard \end{aligned} \label{eq:example.1} \end{equation} -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 +This specification has three stable models, $\co{a}, ab$ and $ac$ (see Figure~\ref{F:stableexample}). While it is straightforward to set $P(\co{a})=0.7$, there is \emph{no further information} to assign values to $P(ab)$ and $P(ac)$. Assuming that the \acf{SM} are (probabilistically) independent, we can use a parameter \replace{$\lambda$}{$\theta$} such that $$ \begin{aligned} -P(ab) &= 0.3 x,\cr -P(ac) &= 0.3 (1 - x). +P(ab) &= 0.3 \theta,\cr +P(ac) &= 0.3 (1 - \theta). \end{aligned} $$ +\end{example} -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. +While uncertainty is inherent to the specification it can be mitigated with the help of a dataset: the parameter $\theta$ can be estimated from a empirical distribution \todo{or we can have a distribution of $\theta$}. -In summary, if an ASP specification is intended to describe some observable system then: +In summary, if an \ac{ASP} specification is intended to describe some observable system then: \begin{enumerate} - \item The observations can be used to estimate the value of the parameters (such as $x$ above and others entailed from further clauses). - \item With a probability set for the stable models, we want to extend it to all the events of the specification. - \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. - \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. + \item Observations can be used to estimate the value of the parameters (such as $\theta$ above and others entailed from further clauses). + \item \todo{What about the case where we already know a distribution of $\theta$?} + \item With a probability set for the stable models, we want to extend it to all the events of the \replace{specification}{domain}. + \item This extended probability can then be related to the \emph{empirical distribution}, using a probability divergence, such as Kullback-Leibler; and the divergence value used as a \emph{performance} measure of the specification with respect to the observations. + \item If that specification is only but one of many possible candidates then that performance measure can be used, \emph{e.g.} as fitness, by algorithms searching (optimal) specifications of a dataset of observations. \end{enumerate} -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 - must, of course, respect the axioms of probability so that probabilistic reasoning is consistent with the ASP specification. +\begin{quote} + \todo{Expand this:} If observations are not consistent with the models of the specification, then the specification is wrong and must be changed. +\end{quote} + +Currently, we are addressing the problem of extending a probability function (possibly using parameters such as $\theta$), defined on the \acp{SM} of a specification, to all the events of that specification. Of course, this extension must satisfy the Kolmogorov axioms of probability so that probabilistic reasoning is consistent with the \ac{ASP} specification. + +Conditional independence of stable worlds asserts a least informed strategy that we discussed in the introduction and make explicit here: + +\begin{assumption}\label{assumption:smodels.independence} + Stable models are conditionally independent, given their total choices. +\end{assumption} + +The stable models $ab, ac$ from \cref{running.example} 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 further discussed in \cref{subsec:dependence}. -\section{Extending Probabilities} +\section{Extending Probabilities}\label{sec:extending.probalilities} \begin{figure}[t] \begin{center} \begin{tikzpicture} - \node[event] (E) {$\bot$}; + \node[event] (E) {$\set{}$}; \node[tchoice, above left = of E] (a) {$a$}; \node[smodel, above left = of a] (ab) {$ab$}; \node[smodel, above right = of a] (ac) {$ac$}; @@ -143,204 +214,297 @@ Currently, we are on the step two above: Extending a probability function (with \node[event, above = of A] (Ac) {$\co{a}c$}; \node[event, above right = of Ac] (Abc) {$\co{a}bc$}; % ---- - \draw[proptc] (a) to[bend left] (ab); - \draw[proptc] (a) to[bend right] (ac); + \draw[doubt] (a) to[bend left] (ab); + \draw[doubt] (a) to[bend right] (ac); - \draw[propsm] (ab) to[bend left] (abc); - \draw[propsm] (ac) to[bend right] (abc); + \draw[doubt] (ab) to[bend left] (abc); + \draw[doubt] (ac) to[bend right] (abc); - \draw[propsm] (A) to (Ac); - \draw[propsm] (A) to (Abc); + \draw[doubt] (A) to (Ac); + \draw[doubt] (A) to (Abc); \draw[doubt] (ab) to[bend right] (E); \draw[doubt] (ac) to[bend right] (E); \draw[doubt] (A) to[bend left] (E); - \draw[doubt] (ab) to[bend right] (b); - \draw[doubt] (ac) to[bend left] (c); - \draw[doubt] (ab) to[bend left] (a); - \draw[doubt] (ac) to[bend right] (a); + \draw[doubt] (ab) to (b); + \draw[doubt] (ac) to (c); + % \draw[doubt] (ab) to[bend left] (a); + % \draw[doubt] (ac) to[bend right] (a); \draw[doubt] (c) to[bend right] (bc); \draw[doubt] (abc) to[bend left] (bc); \draw[doubt] (Abc) to (bc); \draw[doubt] (c) to[bend right] (Ac); \end{tikzpicture} \end{center} - \caption{Extending values, \textit{e.g.} probabilities, from total choice nodes to stable models and then to general events in a node-wise process quickly leads to coherence problems concerning probability, with no clear systematic approach.} + \caption{Events related to the stable models of \cref{running.example}. The circle nodes are the \acp{TC} and the shaded nodes are the \acp{SM}.} + % \caption{Extending probabilities from total choice nodes to stable models and then to general events in a \emph{node-wise} process quickly leads to coherence problems concerning probability, with no clear systematic approach --- Instead, weight extension can be based in \emph{the relation an event has with the stable models}.{\bruno Why is this comment on the caption?}} + \label{F:stableexample} \end{figure} -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}$. +\todo{Somewhere, we need to shift the language from extending \emph{probabilities} to extending \emph{measures}} -% 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. +The diagram in \cref{F:stableexample} illustrates the problem of extending probabilities from total choice nodes to stable models and then to general events in a \emph{node-wise} process. This quickly leads to coherence problems concerning probability, with no clear systematic approach --- Instead, weight extension can be based in the relation an event has with the stable models. -Out path starts with a perspective of stable models as playing a role similar to \textit{prime} factors. The stable models of specification are the irreducible events entailed from that specification and any event must be interpreted under its relation with the stable models. This stance leads to definition \ref{def:rel.events}: +Given an ASP specification +% DONE: {\bruno This should be defined somewhere (maybe in the introduction).} +\remark{{\bruno Introduce also the sets mentioned below}}{how?} +, we consider the \emph{atoms} $a \in \fml{A}$ and \emph{literals}, $z \in \fml{L}$, \emph{events} $e \in \fml{E} \iff e \subseteq \fml{L}$ and \emph{worlds} $w \in \fml{W}$ (consistent events), \emph{total choices} $c \in \fml{C} \iff c = a \vee \neg a$ and \emph{stable models} $s \in \fml{S}\subset\fml{W}$. -\begin{definition}\label{def:rel.events} - Let $e, u, v \in \fml{E}$, and $\fml{S}, \fml{W}$ the set of stable models, resp. consistent events, of some specification. Define +% 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}$, \emph{etc.}), and worlds are events with no contradictions. + +Our path starts with a perspective of stable models as playing a role similar to \emph{prime} factors. +The stable models of a specification are the irreducible events entailed from that specification and any event must be \replace{interpreted}{considered} under its relation with the stable models. + +\remark{\todo{Introduce a structure with worlds, events, and stable models}}{seems irrelevant} +This focus on the \acp{SM} leads to the following definition: + +\begin{definition}\label{def:stable.structure} + A \emph{stable structure} is a pair $\del{A, S}$ where $A$ is a \remark{set of atoms}{can be extracted from $S$.} and $S$ is a set of consistent events over $A$. +\end{definition} + + +\todo{expand this text to explain how the stable models form the basis of the equivalence relation}. %This \replace{stance}{} leads to definition \ref{def:rel.events}: + +\begin{definition}\label{def:rel.events} + The \emph{\ac{SC}} of the event $e\in \fml{E}$ is + + % \begin{equation} + % \uset{e} = \set{s \in \fml{S} \given e \subseteq s},\label{eq:uset} + % \end{equation} + % \begin{equation} + % \lset{e} = \set{s \in \fml{S} \given e \supseteq s}, \label{eq:lset} + % \end{equation} + % \begin{equation} + % \stablecore{e} = \uset{e} \cup \lset{e} \label{eq:xset} + % \end{equation} \begin{equation} - \uset{e} = \set{s \in \fml{S} \given e \subseteq s}, - \end{equation} - \begin{equation} - \lset{e} = \set{s \in \fml{S} \given s \subseteq e} + \stablecore{e} := \set{s \in \fml{S} \given e \subseteq s \vee s \subseteq e} \label{eq:xset} \end{equation} -and + + \end{definition} + +We now define an equivalence relation, $\sim$, so that two events are related if they are either both inconsistent or both consistent with the same stable core. + +\begin{definition}\label{D:equiv.rel} +For a given specification, let $u, v \in \fml{E}$. The equivalence relation $\sim$ is defined by \begin{equation} - u \sim v \iff u,v \not\in\fml{W} \vee (\uset{u} = \uset{v} \wedge \lset{u} = \lset{v}).\label{eq:rel.events} + u \sim v :\iff u,v \not\in\fml{W} \vee \del{u,v \in \fml{W} \wedge \stablecore{u} = \stablecore{v}}.\label{eq:rel.events} \end{equation} \end{definition} -This equivalence relation defines a partition of the events space, where each class holds a unique relation with the stable models. In particular, we can denote each class by +Observe that the minimality of stable models implies that, in \cref{eq:xset}, either $e$ is a stable model or one of $e \subseteq s, s \subseteq e$ is never true. +% +% \begin{definition}\label{def:smodel.events} +% For $\set{s_1, \ldots, s_n} \subseteq \fml{S}$ define +% \begin{equation} +% \lclass{s_1, \ldots, s_n} = \set{e\in \fml{E}\setminus \fml{S} \given \uset{e} = \set{s_1, \ldots, s_n}}, +% \label{eq:smodel.lclass} +% \end{equation} +% \begin{equation} +% \uclass{s_1, \ldots, s_n} = \set{e\in \fml{E}\setminus \fml{S} \given \lset{e} = \set{s_1, \ldots, s_n}} +% \label{eq:smodel.uclass} +% \end{equation} +% and +% \begin{equation} +% \smclass{s_1, \ldots, s_n} = \set{s_1, \ldots, s_n} +% \label{eq:smodel.smclass} +% \end{equation} +% \end{definition} +% +This relation defines a partition of the events space, where each class holds a unique relation with the stable models. In particular, we denote each class by: \begin{equation} \class{e} = \begin{cases} - \inconsistent &\text{if~} e \in \fml{E} \setminus \fml{W}, \\ - \rep{e}{e} &\text{otherwise}. + \inconsistent := \fml{E} \setminus \fml{W} &\text{if~} e \not\in \fml{E} \setminus \fml{W}, \\ + \set{u \in \fml{W} \given \stablecore{u} = \stablecore{e}} &\text{if~} e \in \fml{W}, \\ + % \lclass{\uset{e}} &\text{if~} \uset{e} \not= \emptyset, \\ + % \uclass{\lset{e}} &\text{otherwise}. \end{cases} \end{equation} -Consider the example from \ref{eq:example.1}. The stable models are $\fml{S} = \co{a}, ab, ac$ so the quotient set of this relation is +The stable core defines a \emph{canonical} representative of each class: +\begin{theorem} + Let $e\in\fml{E}$ and $\stablecore{e} = \set{s_1, \ldots, s_n} \subseteq \fml{S}$. Then + \begin{equation} + \class{e} = \class{s_1 \cup \cdots \cup s_n}. + \end{equation} + We simplify the notation with $\class{s_1, \ldots, s_n} := \class{s_1 \cup \cdots \cup s_n}$. + \todo{This only works for consistent $s_1, \ldots, s_n$: $\set{\set{}} = \class{\co{a}, ab, ac} \not= \class{a\co{a}bc} = \inconsistent$.} +\end{theorem} +\begin{proof} +\todo{tbd} +\end{proof} + +The subsets of the stable models, together with $\inconsistent$, form a set of representatives. Consider again Example~\ref{running.example}. As previously mentioned, the stable models are $\fml{S} = \co{a}, ab, ac$ so the quotient set of this relation is $\class{\fml{E}}:$ \begin{equation} -\begin{aligned} - &\inconsistent, \rep{}{}, \\ - &\rep{\co{a}}{\co{a}} = \set{\co{a}}, \rep{ab}{ab} = \set{ab}, \rep{ac}{ac} = \set{ac}\\ - &\urep{\co{a}}, \urep{ab}, \urep{ac}, \lrep{\co{a}}, \lrep{ab}, \lrep{ac}, \\ - &\urep{\co{a}, ab}, \urep{\co{a}, ac}, \urep{ab, ac}, - \lrep{\co{a}, ab}, \lrep{\co{a}, ac}, \lrep{ab, ac},\\ - &\urep{\co{a}, ab, ac}, \lrep{\co{a}, ab, ac}. -\end{aligned} + \set{ + \inconsistent, + \emptyset, + \class{\co{a}}, + \class{ab}, + \class{ac}, + \class{\co{a}, ab}, + \class{\co{a}, ac}, + \class{ab, ac}, + \class{\co{a}, ab, ac} + } +% \begin{aligned} +% & \inconsistent, \emptyset, \\ +% & \stablecore{\co{a}}, \stablecore{ab}, \stablecore{ac}, \\ +% & \stablecore{\co{a}, ab}, \stablecore{\co{a}, ac}, \stablecore{ab, ac}, \\ +% & \stablecore{\co{a}, ab, ac}. +% \end{aligned} \end{equation} -For example, $\class{a} = \urep{ab, ac}$, $\class{abc} = \lrep{ab, ac}$ and $\class{bc} = \rep{}{}$. +For example, +\begin{equation*} + \begin{aligned} + \class{\set{}} &= \class{\co{a}, ab, ac}, + & \class{a} &= \class{ab, ac}, + & \class{b} &= \class{ab}, + & \class{\co{b}} &= \emptyset, + \\ \class{a\co{c}} &= \emptyset, + & \class{ab} &= \emptyset, + & \class{b\co{b}} &= \inconsistent, + & \class{\co{a}b} &=\class{\co{a}}, + \\ \class{\co{bc}} &=\emptyset, + & \class{abc} &= \class{ab, ac}, + & \class{a\co{b}c} &= \class{ac}, + & \class{\co{a}bc} &= \class{\co{a}}, + % & \class{\co{a}} &= \class{\co{a}}, + % & \class{\set{}} &= \class{\co{a}, ac, ab} + \end{aligned} +\end{equation*} \begin{itemize} - \item Since all events within a equivalence class have the same relation with the stable models, probability assignment should be constant for the elements of that class. - \item So, instead of dealing with $2^6$ events, we need only to handle $19$ classes, well defined in terms of combinations of the stable models. - \item The extended probability \textit{events} are the \textit{classes}. - \item The physical system might have \textit{latent} variables, possibly also represented in the specification. These variables are never observed, so observations should be concentrated in the $\nicefrac{\uset{e}}{\varnothing}$ classes. + \item Since all events within an equivalence class are in relation with a specific set of stable models, \emph{weights, including probability, should be constant within classes}: + \[ + \forall u\in \class{e} \left(\pr{u} = \pr{e} \right). + \] + \item So, instead of dealing with $64 = 2^6$ events, we need only to handle $9 = 2^3 + 1$ classes, well defined in terms of combinations of the stable models. + % \item The extended probability \emph{events} are the \emph{classes}. \end{itemize} -\todo{must adapt} 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}$. +\todo{Check adaptation} Our path to set a probability measure on $\fml{E}$ has two phases: +\begin{itemize} + \item Extending the probabilities, \emph{as weights}, of the total choices to events. + \item Normalization of the weights. +\end{itemize} -\begin{enumerate} - \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$. - \item \textbf{Stable Models.} Given a stable model $s \in \fml{S}$, and variables/values $x_{s,c} \in \intcc{0, 1}$, +The ``extension'' phase, traced by equations (\ref{eq:prob.total.choice}) and (\ref{eq:weight.tchoice} --- \ref{eq:weight.events}), starts with the weight (probability) of total choices, $\pw{c} = \pr{C = c}$, expands it to stable models, $\pw{s}$, and then, within the equivalence relation from Equation \eqref{eq:rel.events}, to (general) events, $\pw{e}$, including (consistent) worlds. + +\begin{description} + % + \item[Total Choices.] Using \eqref{eq:prob.total.choice}, this case is given by \begin{equation} - \pr{S = s \given C = c} = \begin{cases} - x_{s,c} & \text{if~} s \in S_c,\cr + \pw{c} = \pr{C = c}= \prod_{a\in c} p \prod_{a \not\in c} \co{p} + \label{eq:weight.tchoice} + \end{equation} + % + \item[Stable Models.] Each total choice $c$, together with the rules and the other facts of a specification, defines a set of stable models associated with that choice, that we denote by $S_c$. + + Given a stable model $s \in \fml{S}$, a total choice $c$, and variables/values $\theta_{s,c} \in \intcc{0, 1}$, + \begin{equation} + \pw{s, c} := \begin{cases} + \theta_{s,c} & \text{if~} s \in S_c\cr 0&\text{otherwise} \end{cases} - \label{eq:prob.stablemodel} + \label{eq:weight.stablemodel} \end{equation} - such that $\sum_{s \in S_c} x_{s,c} = 1$. - \item\label{item:world.cases} \textbf{Worlds.} Each world $W = w$ either: - \begin{enumerate} - \item Is a \textit{stable model}. Then + such that $\sum_{s\in S_c} \theta_{s,c} = 1$. + % + \item[Classes.] \label{item:class.cases} Each class is either the inconsistent class, $\inconsistent$, or is represented by some set of stable models. + \begin{itemize} + \item \textbf{Inconsistent Class.} The inconsistent class contains events that are logically inconsistent. Since these events should never be observed: \begin{equation} - \pr{W = w \given C = c} = \pr{S = s \given C = c}. - \label{eq:world.fold.stablemodel} + \pw{\inconsistent, c} := 0. + \label{eq:weight.class.inconsistent} \end{equation} - \item \textit{Contains} some stable models. Then + \item \textbf{Independent Class.} 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 weight is set to zero: \begin{equation} - \pr{W = w \given C = c} = \prod_{s \subset w}\pr{S = s \given C = c}. - \label{eq:world.fold.superset} + \pw{\emptyset, c} := 0. + \label{eq:weight.class.independent} \end{equation} - \item \textit{Is contained} in some stable models. Then + \item \textbf{Other Classes.} The extension must be constant within a class, its value should result from the elements in the stable core, and respect the assumption \ref{assumption:smodels.independence}: \begin{equation} - \pr{W = w \given C = c} = \sum_{s \supset w}\pr{S = s \given C = c}. - \label{eq:world.fold.subset} + \pw{\stablecore{s_1, \ldots, s_n}, c} := \prod_{k}\pw{s_k, c}. + \label{eq:weight.class.upper} \end{equation} - \item Neither contains nor is contained by a stable model. Then - \begin{equation} - \pr{W = w} = 0. - \label{eq:world.fold.independent} - \end{equation} - \end{enumerate} - \item \textbf{Events.} For each event $E = e$, + \end{itemize} + % + \item[Events.] \label{item:event.cases} Each (general) event $e$ is in the class defined by its stable core, $\stablecore{e}$. So, we set: \begin{equation} - \pr{E = e \given C = c} = \begin{cases} - \pr{W = e \given C = c} & e \in \fml{W}, \cr - 0 & \text{otherwise}. - \end{cases} - \label{eq:prob.events} + \pw{e, c} := \pw{\stablecore{e}, c}. + \label{eq:weight.events} \end{equation} -\end{enumerate} - -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. +\end{description} % PARAMETERS FOR UNCERTAINTY -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. - -% STABLE MODEL -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. +Equation \eqref{eq:weight.stablemodel} expresses the \emph{specification's} lack of knowledge about the weight assignment, when a single total choice entails more than one stable model. In this case, how to distribute the respective weights? Our \replace{answer}{proposal} to \replace{}{address} this problem consists in assigning an unknown weight, $\theta_{s,c}$, conditional {\bruno depending???} on the total choice, $c$, to each stable model $s$. This approach allows the expression of an unknown quantity and future estimation, given observed data. % SUPERSET -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: - -\begin{assumption} - Stable models are conditionally independent, given their total choices. -\end{assumption} - -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 further discussed in Subsection (\ref{subsec:dependence}). - -% SUBSET -\hrule - -\bigskip -I'm not sure about what to say here.\marginpar{todo} - -My first guess was -\begin{equation*} - \pr{W = w \given C = c} = \sum_{s \supset w}\pr{S = s \given C = c}. -\end{equation*} - -$\pr{W = w \given C = c}$ already separates $\pr{W}$ into \textbf{disjoint} events! - -Also, I am assuming that stable models are independent. - -This would entail $p(w) = p(s_1) + p(s_2) - p(s_1)p(s_2)$ \textit{if I'm bound to set inclusion}. But I'm not. I'm defining a relation - -Also, if I set $p(w) = p(s_1) + p(s_2)$ and respect the laws of probability, this entails $p(s_1)p(s_2) = 0$. +Equation \eqref{eq:weight.class.upper} results from conditional independence of stable models. -So, maybe what I want is (1) to define the cover $\hat{w} = \cup_{s \supset w} s$ - -\begin{equation*} - \pr{W = w \given C = c} = \sum_{s \supset w}\pr{S = s \given C = c} - \pr{W = \hat{w} \given C = c}. -\end{equation*} - -But this doesn't works, because we'd get $\pr{W = a \given C = a} < 1$. +% % SUBSET +% \hrule % - +% \bigskip +% I'm not sure about what to say here.\marginpar{todo} +% +% My first guess was +% \begin{equation*} +% \pr{W = w \given C = c} = \sum_{s \supset w}\pr{S = s \given C = c}. +% \end{equation*} +% +% $\pr{W = w \given C = c}$ already separates $\pr{W}$ into \textbf{disjoint} events! +% +% Also, I am assuming that stable models are independent. +% +% This would entail $p(w) = p(s_1) + p(s_2) - p(s_1)p(s_2)$ \emph{if I'm bound to set inclusion}. But I'm not. I'm defining a relation +% +% Also, if I set $p(w) = p(s_1) + p(s_2)$ and respect the laws of probability, this entails $p(s_1)p(s_2) = 0$. +% +% So, maybe what I want is (1) to define the cover $\hat{w} = \cup_{s \supset w} s$ +% +% \begin{equation*} +% \pr{W = w \given C = c} = \sum_{s \supset w}\pr{S = s \given C = c} - \pr{W = \hat{w} \given C = c}. +% \end{equation*} +% +% But this doesn't works, because we'd get $\pr{W = a \given C = a} < 1$. +% % +% +% % +% \bigskip +% \hrule % -\bigskip -\hrule - % INDEPENDENCE - -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}). +% +%, per equation (\ref{eq:weight.class.independent}). % % ================================================================ % \subsection{Dependence} \label{subsec:dependence} -Dependence relations in the underlying system can be explicitly expressed in the specification. +Our basic assertion about dependence relations between atoms of the underlying system is that they can be \emph{explicitly expressed in the specification}. And, in that case, they should be. -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 +For example, a dependence relation between $b$ and $c$ can be expressed by $b \leftarrow c \wedge d$, where $d$ is an atomic choice that explicitly expresses the dependence between $b$ and $c$. One would get, for example, a specification such as $$ 0.3::a, b \vee c \leftarrow a, 0.2::d, b \leftarrow c \wedge d. $$ -with the stable models +with stable models $ \co{ad}, \co{a}d, a\co{d}b, a\co{d}c, adb $. -The interesting case is the subtree of the total choice $ad$. Notice that no stable model $s$ contains $adc$ because (1) $adb$ is a stable model and (2) if $adc \subset s$ then $b \in s$ so $adb \subset s$. +The interesting case is the subtree of the total choice $ad$. Notice that no stable model $s$ contains $adc$ because $(i)$ $adb$ is a stable model and $(ii)$ if $adc \subset s$ then $b \in s$ so $adb \subset s$. -Following equations (\ref{eq:world.fold.stablemodel}) and (\ref{eq:world.fold.independent}) this sets +Following equations \eqref{eq:world.fold.stablemodel} and \eqref{eq:world.fold.independent} {\bruno What are these equations?} this entails \begin{equation*} \begin{cases} \pr{W = adc \given C = ad} = 0,\cr @@ -349,7 +513,7 @@ Following equations (\ref{eq:world.fold.stablemodel}) and (\ref{eq:world.fold.in \end{equation*} 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: $$ -\begin{array}{l|r} +\begin{array}{l|c} x & \pr{W = x \given C = ad}\\ \hline ad & 1 \\ @@ -367,8 +531,9 @@ $$ &\not= \pr{W = b}\pr{W = c} \end{aligned} $$ -\textit{i.e.} the events $W = b$ and $W = c$ are dependent and that dependence results directly from the segment $0.2::d, b \leftarrow c \wedge d$ in the specification. +\emph{i.e.} the events $W = b$ and $W = c$ are dependent and that dependence results directly from the segment $0.2::d, b \leftarrow c \wedge d$ in the specification. +{\bruno Why does this not contradict Assumption 1?} % @@ -381,7 +546,7 @@ $$ \section{Developed Example} -We continue with the specification from equation \ref{eq:example.1}. +We continue with the specification from Equation \eqref{eq:example.1}. \textbf{Step 1: Total Choices.} The total choices, and respective stable models, are \begin{center} @@ -428,7 +593,18 @@ We continue with the specification from equation \ref{eq:example.1}. \end{tabular} \end{center} -\section*{References} +\section{Final Remarks} + +\todo{develop this section.} + +\begin{itemize} + \item The measure of the inconsistent events doesn't need to be set to $0$ and, maybe, in some cases, it shouldn't. + \item The physical system might have \emph{latent} variables, possibly also represented in the specification. These variables are never observed, so observations should be concentrated \emph{somewhere else}. +\end{itemize} + +\section*{Acknowledgements} + +This work is supported by NOVA\textbf{LINCS} (UIDB/04516/2020) with the financial support of FCT.IP. \printbibliography -- libgit2 0.21.2