Zastrzeżenie: Nie jestem teoretykiem CS.
Pochodząc z algebry abstrakcyjnej, jestem przyzwyczajony do radzenia sobie z rzeczami równymi do izomorfizmu - ale mam problem z przetłumaczeniem tej koncepcji na struktury danych. Najpierw pomyślałem, że wystarczy zestaw teoretycznych morfizmów bijectywnych, ale dość szybko wpadłem na ścianę - są to tylko kodowania i nie wychwytują obliczeniowej istoty struktury danych.
Czy istnieje bardziej restrykcyjna (ale bardziej przydatna) definicja? (A jeśli nie, to dlaczego?) Czy istnieje kanoniczna definicja kategorii „skonstruowanych struktur danych”?
Zamiast pytać, jak możemy wzmocnić / osłabić pojęcie izomorfizmu, inną możliwością jest pytanie: jakie jest właściwe pojęcie równoważności między strukturami obliczeniowymi i jaka jest struktura matematyczna leżąca u podstaw tego pojęcia.
Jedną dużą rodziną konstrukcji są węgielnie. Struktury takie jak listy, drzewa, automaty, zarówno o skończonej, jak i nieskończonej różnorodności, można opisać jako węgiel drzewny. Następnie możemy badać homomorfizm lub izomorfizm między węgielnicami.
Jednak nawet homomorfizmy między węgielnicami nie opowiadają całej historii. Pomocne może okazać się wyszukiwanie symulacji, bisimulacji i innych relacji logicznych. Jeśli wolisz podejście algebraiczne (w przeciwieństwie do relacyjnego), połączenia Galois są jedną z opcji. Oto kilka punktów wyjścia.
źródło
Oświadczenie: Nie jestem pewien, czy zrozumiałem twoje pytanie. Czy chcesz porozmawiać o izomorfizmie między dwiema strukturami danych, czy między dwiema „specyfikacjami struktury danych”? (Są to czasami nazywane abstrakcyjnymi typami danych).
Jeśli weźmie się pod uwagę model sondy komórkowej, myślę, że łatwo powstaje koncepcja izomorfizmu. Jest tak, ponieważ model sondy komórkowej modeluje obliczenia na podstawie drzewa decyzyjnego, dlatego izomorfizm jest łatwy do zdefiniowania. Myślę, że model sondy komórkowej pomógłby, zarówno jeśli weźmie się pod uwagę izomorfizm między implementacjami struktury danych, jak i jeśli weźmie się pod uwagę specyfikacje struktury danych.
Aby uzyskać informacje na temat modelu sondy komórkowej, patrz np. Badanie Miltersen. ( Cell Probe Complexity: A Survey )
Jeśli powiesz więcej o tym, dlaczego musisz zdefiniować izomorfizm między strukturami danych, może być możliwe zapewnienie dodatkowej pomocy. Napisz do mnie.
źródło