Disclaimer: Eu não sou um teórico de CS.
Vindo da álgebra abstrata, estou acostumado a lidar com coisas iguais a um isomorfismo - mas estou tendo problemas para traduzir esse conceito em estruturas de dados. Primeiro pensei que morfismos bijetivos teóricos diretos seriam suficientes, mas me deparei com uma parede rapidamente - essas são apenas codificações e não capturam a essência computacional da estrutura de dados.
Existe uma definição mais restritiva (mas mais útil)? (Ou, se não, por quê?) Existe uma definição canônica de categoria de "estruturas de dados construídas"?
Em vez de perguntar como podemos fortalecer / enfraquecer a noção de isomorfismo, outra possibilidade é perguntar: Qual é a noção correta de equivalência entre estruturas computacionais e qual é a estrutura matemática subjacente a essa noção.
Uma grande família de estruturas são as barras de carvão. Estruturas como listas, árvores, autômatos, tanto da variedade finita quanto da infinita, podem ser descritas como barras de carvão. Podemos então estudar homomorfismo ou isomorfismo entre barras de carvão.
No entanto, mesmo os homomorfismos entre barras de carvão não contam a história toda. Você pode achar útil procurar simulações, bisimulações e outras relações lógicas. Se você preferir estritamente uma abordagem algébrica (em oposição a uma relacional), as conexões Galois são uma opção. Aqui estão alguns pontos de partida.
fonte
Isenção de responsabilidade: não sei se entendi sua pergunta. Deseja falar sobre isomorfismo entre duas estruturas de dados ou entre duas "especificações da estrutura de dados"? (Às vezes, eles são chamados tipos de dados abstratos).
Se você considerar o modelo da sonda celular, acho que um conceito de isomorfismo surge facilmente. Isso ocorre porque o modelo da sonda de célula modela a computação por uma árvore de decisão, portanto é fácil definir o isomorfismo. Acho que o modelo da sonda de célula ajudaria tanto se você considerar o isomorfismo entre as implementações da estrutura de dados quanto se considerar as especificações da estrutura de dados.
Para obter informações sobre o modelo da sonda celular, consulte, por exemplo, a pesquisa da Miltersen. ( Complexidade da sonda celular: uma pesquisa )
Se você disser mais sobre por que precisa definir isomorfismo entre estruturas de dados, talvez seja possível fornecer mais ajuda. Sinta-se livre para me enviar uma mensagem.
fonte