Aplicações de estruturas métricas em posets / treliças na teoria CS

17

Como o termo está sobrecarregado, faça uma breve definição primeiro. Um poset é um conjunto X dotado de uma ordem parcial . Dado dois elementos a,bX , podemos definir xy (junção) como seu limite superior mínimo em X e similarmente definir xy (conhecer) (junção) como um limite inferior maior.

Uma treliça é um poset no qual quaisquer dois elementos têm um encontro único e uma união única.

As redes (neste formulário) aparecem na teoriaCS (brevemente) na teoria da submodularidade (com a rede de subconjuntos) e agrupamento (rede de partição), bem como na teoria de domínio (que eu não entendo muito bem) e estática análise.

Mas estou interessado em aplicativos que usam estruturas métricas em treliças. Um exemplo simples vem do agrupamento, onde qualquer função submodular antimonotônica f:XR (antimonotone significa que se xy,f(x)f(y) ) induz uma métrica

d(x,y)=2f(xy)f(x)f(y)

Essa métrica foi usada extensivamente como uma maneira de comparar dois agrupamentos diferentes de um conjunto de dados.

Existem outras aplicações de treliças que se preocupam com estruturas métricas? Estou interessado no aplicativo de análise de teoria / domínio estático, mas até agora não vi nenhuma necessidade de métricas .

Suresh Venkat
fonte

Respostas:

12

Primeiro, um comentário. Sua pergunta depende de como geometricamente você pretende significar a palavra "métrica". É razoavelmente comum usar a ultrametria na semântica e na análise estática, mas a ultrametria tende a ter uma interpretação combinatória e não geométrica. (Essa é uma variante da observação de que a teoria do domínio tem o sabor de um uso combinatório e não geométrico da topologia.)

Dito isto, vou dar um exemplo de como isso aparece nas provas do programa. Primeiro, lembre-se de que em uma prova de programa, queremos mostrar que uma fórmula que descreve um programa é válida. Em geral, essa fórmula não precisa necessariamente ser interpretada com os booleanos, mas pode ser extraída dos elementos de alguma estrutura de valores de verdade. Então uma fórmula verdadeira é apenas uma que é igual ao topo da rede.

Além disso, ao especificar programas muito auto-referenciais (por exemplo, programas que fazem uso extensivo de código auto-modificador), as coisas podem ficar muito difíceis. Em geral, queremos fornecer uma especificação recursiva do programa, mas pode não haver uma estrutura indutiva óbvia sobre a qual basear a definição. Para resolver esse problema, geralmente é útil equipar a estrutura do valor verdade com estrutura métrica extra. Então, se você puder mostrar que o predicado cujo ponto fixo você deseja é estritamente contrativo, poderá recorrer ao teorema do ponto fixo de Banach para concluir que o predicado recursivo desejado está bem definido.

O caso com o qual estou mais familiarizado é chamado de "indexação por etapas". Nesse cenário, consideramos nossa estrutura dos valores de verdade como subconjuntos de N fechados para baixo , cujos elementos podemos interpretar livremente como "os comprimentos das seqüências de avaliação nas quais a propriedade se mantém". Reuniões e uniões são interseções e uniões, como sempre, e, como a estrutura está completa, também podemos definir a implicação de Heyting. A treliça também pode ser equipada com um ultramétrico, deixando a distância entre dois elementos da treliça ser 2 - n , onde n é o menor elemento em um conjunto, mas não no outro.ΩN2nn

Então, o mapa de contração de Banach thoerem nos diz que um predicado contrativo tem um ponto fixo único. Intuitivamente, isso diz que, se podemos definir um predicado que vale para n + 1 etapas usando uma versão que vale para n etapas, então na verdade temos uma definição inequívoca de predicado. Se mostrarmos que o predicado é igual a = N , sabemos que o predicado sempre se aplica ao programa.p:ΩΩn+1n=N

Neel Krishnaswami
fonte
ah interessante. Em resposta à sua pergunta, tudo o que me interessa é que a métrica é exatamente isso: ela satisfaz a desigualdade do triângulo. Portanto, os ultramétricos estão perfeitamente bem. No entanto, (e essa é minha deficiência na pergunta), parece-me que o uso da métrica aqui é estrutural, de modo a obter acesso a Banach. Você não se importa com a métrica em si mesma (e coisas como aproximar a métrica ou computá-la são irrelevantes). Isso está certo ?
Suresh Venkat
4
Sim, não costumamos nos importar muito com a métrica. Na verdade, isso é uma fonte de desconforto para modelos métricos ou indexados por etapas - por que estamos rastreando informações com as quais realmente não nos importamos? Mostrar que um modelo era estável sob uma classe de aproximações à métrica (talvez conservadora no que diz respeito à contratilidade) na verdade aumentaria o conforto.
Neel Krishnaswami
9

Como alternativa aos CPOs mais usados, Arnold e Nivat exploraram (métricos) espaços métricos como domínios da semântica denotacional [1]. Em sua tese, Bonsangue [2] explorou dualidades entre essa semântica denotacional e semântica axiomática. Menciono aqui porque fornece uma imagem geral muito abrangente.

[1]: A Arnold, M Nivat: Interpretações métricas de árvores infinitas e semântica de programas recursivos não determinísticos. Theor. Comput. Sci. 11: 181-205 (1980).
[2]: Dualidade topológica MM de vários idiomas em Semântica, volume 8 do ENTCS, Elsevier 1998.

Kai
fonte
Fantástico - eu não sabia que esta tese estava online!
Neel Krishnaswami /
3
Eu deixei Marcello (Bonsangue) saber que ele está sendo comentado. (Talvez ele se junte a ele.)
Dave Clarke
5

Aqui está um (de, coincidentemente, o topo da minha fila de leitura):

Swarat Chaudhuri, Sumit Gulwani e Roberto Lublinerman. Análise de continuidade de programas. POPL 2010.

Os autores fornecem uma semântica denotacional para uma linguagem imperativa com loops simples, interpretando expressões como funções de valores em um espaço métrico do produto subjacente. O objetivo é determinar quais programas representam funções contínuas, mesmo na presença de "se" e loops. Eles ainda permitem perguntas sobre continuidade restrita a certas entradas e saídas. (Isso é importante para analisar o algoritmo de Dijkstra, que é contínuo no comprimento do caminho, mas não no caminho real.)

Ainda não vi nada que exija um espaço métrico - parece que poderia ter sido feito usando topologia geral até agora -, mas estou apenas na página 3. :)

Neil Toronto
fonte
11
é claro que não há poset ou treliça aqui, como na resposta anterior. é disso que estou sentindo falta.
Suresh Venkat
3

Desculpas por adicionar outra resposta, mas esta não está relacionada à minha outra acima.

Os espaços métricos que eu costumo usar para irritar (ou educar?) Os alunos de simultaneidade são os de traços infinitos. A topologia que induz é precisamente a que Alpern e Schneider [1] usaram para caracterizar as propriedades de segurança e vivacidade como limite fechado e denso, respectivamente.

d:Σω×ΣωR0(σ,τ)2sup{ iN | σ|i=τ|i }
σ|iσi2=0

Em retrospecto, percebo que essa resposta também não possui o ingrediente essencial de uma estrutura de treliça ou poset. Contudo, essa estrutura de treliça está presente quando se move um nível acima do que Clarkson e Schneider chamam de hiperproperties [2]. No momento em que escrevo, não está claro para mim como elevar a métrica.

[1] B Alpern e FB Schneider. Definindo vivacidade. IPL, 21 (4): 181-185, 1985.
[2] MR Clarkson e FB Schneider. Hiperproperties. CSF, p51-65, IEEE, 2008.

Kai
fonte
Aqui podemos digitar o LaTeX como fazemos normalmente - colocar cifrões em torno de \ sum_ {k = 1} ^ nk = \ frac {k (k + 1)} {2} e obteremos k=1nk=n(n+1)/2
@HCH obrigado, editei minha postagem de acordo e removi o grito flagrante de formatação.
Kai
Nice formula!
Hsien-Chih Chang # 5/02