Operações e fechos de relações
Matrizes booleanas, composição, potências, fechos e provas com relações.
Uma relação finita pode escrever-se como pares, desenhar-se como setas ou guardar-se numa matriz de zeros e uns. Estas representações dizem o mesmo, mas tornam visíveis aspetos diferentes. Assumimos as definições de relação e de quantificadores das duas lições anteriores. A composição procura uma ligação através de um objeto intermédio; o fecho transitivo procura qualquer sequência finita de ligações.
Domínio ativo, imagem e inversa
Para , é o domínio declarado e o contradomínio. O domínio ativo e o contradomínio ativo, ou imagem da relação, são:
Com , e , temos e .
A inversa troca os elementos de cada par: . Não pressupõe que seja uma função. A identidade é .
União, interseção e diferença tratam as relações como conjuntos de pares. O complemento de depende do produto declarado: . A restrição a é .
Matrizes booleanas
Ordena primeiro os elementos de e . Na matriz , a linha identifica a origem e a coluna identifica o destino:
A inversa corresponde à transposta. Numa relação sobre um só conjunto:
- Reflexividade exige 1 em toda a diagonal.
- Irreflexividade exige 0 em toda a diagonal.
- Simetria exige .
- Antissimetria impede que e sejam ambos 1 quando . Podem ser ambos 0.
No exemplo abaixo, começa com e . Falta para haver transitividade. Liga esse par, depois acrescenta a diagonal para obter uma ordem parcial. Se ligares também , aparecem novas exigências de transitividade.
| De / para | 1 | 2 | 3 |
|---|---|---|---|
| 1 | |||
| 2 | |||
| 3 |
Reflexiva: não. Simétrica: não. Antissimétrica: sim. Transitiva: não, falta (1, 3).
Composição
Com , , , sejam e . A sequência liga 1 a através de ; liga 2 a através de . Logo, .
As setas tracejadas são os pares obtidos; não são uma terceira relação usada como passo intermédio. A definição generaliza a procura de uma testemunha:
Se e , então:
Na escrita , aplicamos primeiro . Na escrita , seguimos a ordem da esquerda para a direita. Confirma qual é a notação do enunciado.
Com e :
O par tem duas testemunhas, e , mas só aparece uma vez no conjunto. É a existência de uma ligação que conta, não o número de percursos.
O produto de matrizes é booleano: multiplicação passa a e soma passa a :
A ordem matricial é seguida de , porque as linhas são origens. Um produto aritmético pode contar percursos; para recuperar a relação, reduz os valores positivos a 1.
A composição é associativa, mas não é em geral comutativa. As identidades têm de ter o conjunto certo: .
Potências e transitividade
Para uma relação sobre , e . Podemos definir . O par pertence a se há uma sequência de exatamente ligações de a .
Se :
Uma relação é transitiva se e só se . O quadrado contém precisamente os pares exigidos pela definição de transitividade.
A interseção de duas relações transitivas é transitiva: uma cadeia de dois pares na interseção pertence a ambas, e cada uma contém o par final. A união pode falhar: e são transitivas, mas a sua união não contém .
Fechos
Um fecho é a menor relação que contém e satisfaz a propriedade pretendida. Acrescentamos pares, não retiramos os pares iniciais.
é o fecho transitivo. é o fecho reflexivo e transitivo. Um ciclo pode colocar pares da diagonal em : se e , então . Não excluas automaticamente os laços do fecho transitivo.
Na relação inicial da matriz interativa, , há só um par a acrescentar:
| Estado | Pares presentes |
|---|---|
| Inicial | |
| Transitivo | |
| Reflexivo e transitivo | Os anteriores e |
No estado inicial, exige , que ainda falta. Nos outros dois estados, nenhuma cadeia exige um par ausente.
O segundo estado é : é transitivo e qualquer relação transitiva que contenha tem de conter . O terceiro é . Acrescentar a diagonal conserva transitividade, porque uma passagem por um laço não exige um destino novo.
Se tem elementos, basta unir . Um percurso mais longo repete vértices e pode encurtar-se. Para chegar do vértice a ele próprio com pelo menos uma ligação, pode ser preciso um ciclo de comprimento ; por isso não substituímos sempre o limite por .
Calcular o fecho de uma relação finita
No código, M[i][j] começa por indicar se o par pertence a . Em cada passagem escolhemos um intermédio A[k]: se já podemos ir de A[i] a A[k] e daí a A[j], acrescentamos a ligação de A[i] a A[j]. Depois de considerar todos os intermédios, a matriz representa .
A relação inicial é a cadeia da tabela. Acrescenta [3, 1] à lista R, obtendo o ciclo do exercício «Um fecho transitivo deixa de ser antissimétrico». Antes de executar, prevê quais os pares novos, incluindo a diagonal. A saída identifica também um par de elementos distintos ligado nas duas direções, caso a antissimetria falhe.
const A = [1, 2, 3];
const R = [
[1, 2],
[2, 3],
];
// Começamos só com R, sem acrescentar a diagonal.
const M = A.map((a) => A.map((b) => R.some(([x, y]) => x === a && y === b)));
for (let k = 0; k < A.length; k++) {
for (let i = 0; i < A.length; i++) {
for (let j = 0; j < A.length; j++) {
M[i][j] = M[i][j] || (M[i][k] && M[k][j]);
}
}
}
const pares = [];
let opostos = null;
for (let i = 0; i < A.length; i++) {
for (let j = 0; j < A.length; j++) {
if (M[i][j]) pares.push(`(${A[i]},${A[j]})`);
if (i < j && M[i][j] && M[j][i] && opostos === null) {
opostos = [A[i], A[j]];
}
}
}
console.log(`R+ = {${pares.join(', ')}}`);
if (opostos === null) {
console.log('Fecho antissimétrico: sim.');
} else {
const [a, b] = opostos;
console.log(`Fecho antissimétrico: não; (${a},${b}) e (${b},${a}).`);
}Executa o código para ver a saída e os gráficos.
Na cadeia, o único par novo é e não há pares opostos entre elementos distintos. No ciclo, qualquer vértice chega aos outros e regressa a si próprio, por isso aparecem os nove pares de . Os laços surgem pelos percursos, não por se ter acrescentado a identidade no início. O cálculo verifica esta relação finita; a justificação por caminhos explica por que o resultado é esse.
Provar uma equivalência a partir de operações
Suponhamos que é total, e . Total significa aqui que cada tem pelo menos um com .
A inclusão dá simetria: de , temos e portanto . dá transitividade.
Para reflexividade, escolhe um arbitrário. Pela totalidade existe com ; pela simetria, ; pela transitividade, . Assim, é uma equivalência. Sem a totalidade, num conjunto não vazio satisfaria as outras condições e não seria reflexiva.
Exercícios
Compor na ordem indicada
Em , sejam e . Calcula e .
Pista
Em , começa numa aresta de e continua numa de .
Mais uma pista
As cadeias para são e .
Solução
. Na outra ordem, as cadeias são e , logo . A composição não é comutativa.
Confere a tua resposta:
- Apliquei primeiro a relação da direita.
- Listei os intermediários possíveis.
- Obtive dois resultados diferentes.
Erros frequentes
Escrever o mesmo resultado nas duas ordens ignora quais são os elementos intermédios.
Um fecho transitivo deixa de ser antissimétrico
Em , é antissimétrica? E o seu fecho transitivo? Justifica.
Pista
Antissimetria só proíbe pares opostos entre elementos distintos.
Mais uma pista
No ciclo dirigido, percorre uma, duas ou três arestas.
Solução
é antissimétrica: não contém um par e o seu inverso para . O ciclo permite chegar de qualquer vértice a qualquer outro e regressar à origem. Assim , que contém e , logo não é antissimétrica.
No cálculo do fecho finito, acrescenta [3, 1] à cadeia inicial. Confere os nove pares previstos pela justificação, depois retira essa aresta e explica por que desaparecem os laços.
Confere a tua resposta:
- Conferi pares nas duas direções, não a ausência de laços.
- Identifiquei caminhos entre quaisquer dois vértices.
- Concluí que o fecho é A × A e falha antissimetria.
Erros frequentes
Antissimetria não significa ausência de ciclos de comprimento maior que 2. Acrescentar pares pode destruir a propriedade.
Construir uma relação a partir de uma partição
Em , usa a partição para construir uma equivalência. Lista os pares e calcula , já definida na lição de operações de relações.
Pista
Dois elementos relacionam-se quando pertencem ao mesmo bloco.
Mais uma pista
Cada bloco contribui . Para a composição, usa reflexividade e transitividade.
Solução
. Pela transitividade, . Pela reflexividade, qualquer pode usar como intermédio, pois , logo . Portanto .
Confere a tua resposta:
- Incluí os pares dentro de cada bloco.
- Incluí todos os laços e as duas direções entre 1 e 3.
- Concluí R composto com R igual a R e justifiquei as inclusões.
Erros frequentes
Não ligues elementos de blocos diferentes e não omitas os blocos com um só elemento.
O fecho de uma função pode deixar de ser função
Em , seja . É uma função ? Determina , a forma de para e . O fecho continua a ser função? É uma ordem parcial ou uma ordem estrita?
Pista
Separa exatamente k passos de qualquer número positivo de passos. O fecho contém todas as potências, não apenas a primeira.
Solução
A relação inicial é a função sucessor: cada tem exatamente o destino . Não é sobrejetiva porque 0 não é atingido.
. Em geral, : vale para , e compor mais um sucessor acrescenta 1 ao destino. Portanto
Uma sequência de passos dá . Reciprocamente, para escolhemos passos, provando as duas inclusões.
O fecho é total mas não funcional: 0 tem os destinos 1 e 2, entre outros. É irreflexivo e transitivo pela desigualdade estrita, logo é uma ordem estrita total. Não é uma ordem parcial reflexiva, pois nenhum pertence ao fecho. Como o domínio é infinito, não usamos um limite finito para unir as potências.
Confere a tua resposta:
- Determinei R² e a forma de Rⁿ.
- Provei o fecho usando comprimentos positivos arbitrários.
- Exibi uma origem com dois destinos no fecho.