---
# System prepended metadata

title: Resumão sobre lógica argumentativa
tags: [' topic summary', Talk]

---

---
title: Resumão sobre lógica argumentativa
tags: Talk, topic summary
---

# Resumão sobre lógica argumentativa

<!-- Put the link to this slide here so people can follow -->
slide: https://hackmd.io/@scaroni/r1hTffyVB

---

## Tipos de lógica de argumentação:
Se desenvolve em dois planos de argumentação:
1) Concreta
2) Abstrata

---

## Argumentação concreta

---

### Argumentos

Um argumento é uma consequência lógica de uma base de dados apresentado como uma regra da forma:
$$
    \Delta \vdash <\Phi, \Gamma>
$$
Onde $\Delta$ denota uma base de conhecimento, $\Phi$ denota uma formula decorrente de $\Delta$ e 
$\Gamma$ é um subconjunto de regras de $\Delta$ que suportam $\Phi$.

---

### Argumentos, um exemplo

Seja:
$$
\Delta = \begin{cases}
       human(Sócrates) \\
       human(x) \, \Rightarrow mortal(x)
\end{cases}
$$

Uma base de conhecimento, um argumento válido a partir de $\Delta$ pode ser:
$$
    \Delta \vdash <mortal(Sócrates), \{human(Sócrates), human(x) \, \Rightarrow mortal(x)\}>
$$


---

### Bases de conhecimento imperfeitas

É uma base de informações imperfeitas (incompletas ou conflitantes), por exemplo 
uma base que compila conhecimento de diversos especialistas que podem ter opiniões 
divergentes. 

Um exemplo para esse tipo de base pode ser:

$$
\Delta = \begin{cases}
       (1)\;Aves\;normalmente\;voam \\
       (2)\;pinguins\;são\;aves\;e\;não\;voam \\
       (3)\;tweety\;é\;uma\;ave\\
       (4)\;tweety\;é\;um\;pinguin
\end{cases}
$$

Essa base permitiria dois argumentos diferentes e que são contraditórios:
$$
    \Delta \vdash <tweety\;voa, \{(1), (2)\}> \\
    \Delta \vdash <tweety\;não\;voa, \{(3), (4)\}>
$$

---

### Raciocínio revogável

Tradicionalmente uma base de conhecimento apresenta um conjunto de dados consistentes. 
Como não existem contradições, as conclusões podem ser derivadas com a regra de 
inferência dedutiva, denominada *modus ponens*:
$$
\alpha, \alpha \rightarrow \beta \vdash \beta \;\;\;(1)
$$

Um raciocínio revogável é um tipo de raciocínio sobre uma base de conhecimento imperfeita,
e portanto se baseia em outro mecanismo de inferência, denominado *modus non excipiens*:
$$
\alpha, \alpha^\circ \;\; \beta \vdash \beta \;\;\;(2)
$$

A regra acima estabelece que $\beta$ é verdadeiro desde que não haja outra regra que seja 
exceção para $\alpha^\circ \;\; \beta$

Chamamos a (1) e (2) respectivamente de regra estrita e regra revogável.

---

### Precendência em bases de conhecimentos conflitantes

Caso uma base imperfeita contenha regras que impliquem em conclusões conflitantes, essa
base deve também incluir uma regra de precedência entre essas regras, isto é, indicar 
qual dessas regras prevalece sobre a outra. Para dois argumentos $l$ e $l'$ denotamos 
a precedência entre eles como $l \prec l'$, se $l$ precede $l'$.

---

### Um exemplo de diálogo sobre uma base de conhecimentos conflitantes

Considere a seguinte argumentação:

1. Paulo: Meu carro é seguro porque ele tem *airbag*.
2. Olga: Mas *airbag* explode e explosão é não segura, então, seu carro não é seguro.
3. Paulo: Meu carro é seguro porque ele tem *airbag*.
4. Olga: Mas *airbag* explode e explosão é não segura, então, seu carro não é seguro.
5. Paulo: Meu carro é muito caro e, nesse caso, seu *airbag* não explode.

---

### Um exemplo de uma base de conhecimentos conflitantes

$$
\Delta = \begin{cases}
  1: ^\bullet \rightarrow airbag(C) \\
  2: ^\bullet \rightarrow expensive(C) \\
  3: ^\bullet \rightarrow highspeed(C) \\
  4: airbag(x)^\circ \;\;  safe(x) \\
  5: explodes(x)^\circ \;\;  \neg safe(x) \\
  6: highspeed(x)^\circ \;\;  \neg safe(x) \\
  7: airbag(x)^\circ \;\;  explodes(x) \\
  8: airbag(x)\wedge expensive(x)^\circ \;\; \neg  explodes(x)\\
  5 \prec 4 \\
  6 \prec 4 \\
  8 \prec 7
\end{cases}
$$

---

### Argumentos sobre uma base de conhecimentos conflitantes

Como definido anteriormente, um argumento é uma conclusão de um literal sobre um 
conjunto de suporte. Notamos então um argumento $\alpha = \Sigma \square\lambda$ 
um argumento sobre um conjunto minimal de regras $\Sigma \subseteq \Delta$, isto é, sigma é o menor
conjunto que suporta a conclusão de $\lambda$ sobre a base de conhecimento $\Delta$.

---

### Conclusões e ataques

Definimos que o conjunto de todos os literais que podem ser concluídos de alguma regra de 
um conjunto de suporte $\Sigma \subseteq \Delta$ de regras é chamado de consequencias de $\Sigma$ ou $Cn(\Sigma)$,
ou seja, $Cn(\Sigma) = \{\lambda \;|\;\Sigma\square\lambda\}$

Sejam $A_1$ e $A_2$ dois argumentos, tais que $A_1 = \Sigma_1\square\lambda_1$ e $A_2 = \Sigma_2\square\lambda_2$
Se $Cn(\Sigma_1)\cup Cn(\Sigma_2)$ é um conjunto inconsistente, ou seja, se $\lambda \in Cn(\Sigma_1)\cup Cn(\Sigma_2)$ 
e $\neg \lambda \in Cn(\Sigma_1)\cup Cn(\Sigma_2)$, então diz-se que $A_1$ e $A_2$ atacam-se mutuamente.

Na resolução de um ataque, o argumento vencedor será aquele cuja regra possuir maior 
precedência dentro da base de conhecimento.

---

### Exemplo de ataque

Suponha então que temos $A_1 = \Sigma_1\square\lambda_1$ e $A_2 = \Sigma_2\square\lambda_2$, com $\Sigma_1\subseteq\Delta$, $\Sigma_2\subseteq\Delta$
e $\Delta$ a base de conhecimentos conflitantes descrita acima, assim definimos $A_1$:
$$
\begin{align}
\Sigma_1 &= \begin{cases}
  1: ^\bullet \rightarrow airbag(C) \\
  5: explodes(x)^\circ \;\;  \neg safe(x) \\
  7: airbag(x)^\circ \;\;  explodes(x) \\
\end{cases}\\
\lambda_1 &= \neg safe(x)
\end{align}
$$
e $A_2$:
$$
\begin{align}
\Sigma_2 &= \begin{cases}
  1: ^\bullet \rightarrow airbag(C) \\
  2: ^\bullet \rightarrow expensive(C) \\
  8: airbag(x)\wedge expensive(x)^\circ \;\; \neg  explodes(x)\\
\end{cases}\\
\lambda_2 &= \neg explodes(x)
\end{align}
$$

Como as regras 7 e 8 concluem literais complementares, então essas regras são a causa do 
conflito e a regra de precedência $8\prec7 \in \Delta$, então dizemos que $A_2$ ataca $A_1$

---

## Argumentação Abstrata

---

### Arcabouço de argumentação abstrata

**Def:** Um arcabouço de argumentação abstrata é uma tupla $<A, T>$, com A um conjunto 
finito de argumentos e $T \subseteq AxA$ uma relação binária de ataque tentre argumentos.

Essa estrutura gera um grafo orientado cujos vértices representam argumentos e 
as arestas representam os ataques entre pares de argumentos, isto é, qual argu-
mento derrota ou é derrotado por outro. 

No contexto da argumentação abstrata, os argumentos são entidades atômicas e abstratas,
de forma que nenhuma informação sobre a estrtutura de um argumento ou de como se dão os
ataques são representadas.

Em uma argumentação abstrata, o último que deu o argumento no diálogo é o vencedor da 
argumentação.

---

### Argumento aceitável e conjunto admissível

**Def:** Seja $S\subseteq A$ um subconjunto de argumentos sobre uma argumentação abstrata. 
$S$ é livre de conflitos se, e somente se, $\nexists \alpha, \beta \in S$ tal que $\alpha$ ataca $\beta$.

**Def:** Um argumento $\alpha$ defende outro argumento $\beta$ se ataca um argumento $\gamma$ que ataca
$\beta$, ou seja, $\beta \leftarrow \gamma \leftarrow \alpha$.

**Def:** Um argumento $\alpha \in A$ é aceitável com relação a um conjunto de argumentos $S \subseteq A$ se, 
e somente se, $\forall \beta \in A$ se $\beta$ ataca $\alpha$, $\exists \gamma \in S$ tal que $\gamma$ defende $\alpha$.

**Def** Seja $S\subseteq A$ um conjunto de argumentos livre de conflitos, diz-se que $S$ é admissível se, 
e somente se, cada argumento em $S$ é aceitável em relação ao próprio conjunto $S$

---

## Sistema de diálogo persuasivo

---

### Locuções e protocolo

Um diálogo é uma sequencia finita de locuções apresentadas por dois agentes a partir de uma 
afirmação (claim) apresentada por um dos agentes (o Proponente), enquanto o outro agente 
(o Oponente) deve rebater a afirmação (claim).

Existem cinco tipos de locuções possíveis e para cada uma definimos o que chamamos de 
protocolo, isto é, quais locuções atacam ou se rendem a locução apresentada.


| Locução | Ataque | rendição |
| -------- | -------- | -------- |
| *claim*($\lambda$)     | *why*($\lambda$)     | *agree*($\lambda$)     |
| *why*($\lambda$)     | *since*($l:\phi\rightarrow\lambda$), para $l\in\Delta$     | *retract*($\lambda$)     |
| *since*($l:\phi\rightarrow\lambda$)     | *why*($\lambda'$), para $\lambda'\in\phi$ ou *since*($l':\phi\rightarrow\lambda$), para $l'\in\Delta$ e $l' \prec l$      | *agree*($\lambda$)    |
| *agree*($\lambda$)     |      |      |
| *retract*($\lambda$)     |      |      |


Acima temos que $\lambda$ é um literal, $\phi \subseteq \Delta$, $l, l' \in \Delta$ e $\Delta$ é uma base de conhecimento.
