답변:
정식 카테고리는 없으며, 같은 이유로 정식 카테고리의 계산이 없습니다. 그러나 데이터 구조에는 크고 유용한 대수 구조가 있습니다.
그럼에도 불구하고 여전히 유용한 이러한 일반적인 구조 중 하나는 조합 종의 이론이다. 종은 functor 이며, 여기서 B 는 유한 세트와 그 사이의 형용사 범주입니다. 종을 추상적 인 위치 집합에 의해 색인 된 구조의 패밀리로 생각할 수 있습니다. 이것은 B에 대한 기능을 설명합니다. 이러한 가족은 초록 레이블의 이름을 바꾸는 데 변하지 않아야합니다. 그런 다음, 종의 미적분은 기본적으로 함수 수준에서 함수 메소드 생성을 재생하여 카운트 대신 데이터 구조 세트를 생성합니다.
이 이론을 프로그래밍 언어로 구현 한 것을 보려면 Brent Yorgey의 Haskell Symposium 논문, 종 및 펑터 및 유형을 읽어보십시오 . . 물론 Sage에도 종 패키지가 있다고 생각하지만 물론 프로그래밍보다는 컴퓨터 대수를 지향합니다.
실제로, 프로그래밍에 더 유용한 동 형사상과는 다른 개념이 있습니다. 이를 "행동 적 동등성"(때때로 "관측 적 동등성"이라고 함)이라고하며, 데이터 구조 사이에 "사시 관계"를 부여하여 설정합니다. 대 수학자들은 컴퓨터 과학 분야에서 "대수학 데이터 유형"이라는 영역을 설립하여 한 동안 동 형사상과 초기 대수학을 추진했습니다. 결국 컴퓨터 과학자들은 그들이 잘못 인도되고 있다는 것을 깨달았습니다. 이러한 문제에 대해 이야기하는 좋은 논문은 Sannella와 Tarlecki의 "관찰 등가 및 대수 지정" 입니다.
나는 컴퓨터 과학에서 시뮬레이션 관계의 더 일반적인 역사에 대해 이야기하는 논리 관계 및 시뮬레이션 에 대한 cstheory의 또 다른 질문에 대한 답변을 썼습니다 . 당신은 그것을 읽고 거기에 주어진 참고 문헌에 대한 후속 조치를 환영합니다. Reynolds의 "Craft of Programming"5 장은 특히 밝습니다.
Holcombe의 Algebraic Automata Theory 에 대한 교과서 에는 다음과 같은 흥미로운 인용문이 있습니다 (42 페이지).
동질성과 몫에 관한 많은 다른 결과들이 있습니다 ... 그것들은 독립적 인 대수적 관심사이지만, 아직 오토마타와 관련 분야의 연구에 특히 유용하지는 않았습니다. 사실, 기계의 대수 이론은 한 가지 중요한 측면에서 다른 대수 이론에서 취한 방향과는 다릅니다. 그러나 오토마타 이론의 강조는 기계가 어떻게 보이는지가 아니라 "그들이 할 수있는 것"에 있습니다. . 우리는 두 기계가 "동일한 일"을 할 수 있다면 매우 밀접한 관련이있는 것으로 간주하지만 대수적으로 동형이 아닐 수도 있습니다!
우리가 동 형사상이라는 개념을 어떻게 강화 / 약화시킬 수 있는지를 묻는 것이 아니라, 또 다른 가능성은 다음과 같은 질문 일 것이다.
하나의 큰 구조물 군은 대수입니다. 유한, 무한 다양성의리스트, 트리, 오토마타 (automata)와 같은 구조는 대수로 설명 할 수 있습니다. 그런 다음 대수 사이의 동형 또는 동형을 연구 할 수 있습니다.
그러나 대수학 사이의 동질성조차도 전체 이야기를 말하지는 않습니다. 시뮬레이션, 2 시뮬레이션 및 기타 논리적 관계를 찾는 것이 도움이 될 수 있습니다. 관계형 접근 방식과 달리 대수적 접근 방식을 엄격하게 선호하는 경우 Galois 연결은 하나의 옵션입니다. 여기 몇 가지 시작점이 있습니다.
면책 조항 : 귀하의 질문을 이해하지 못했습니다. 두 데이터 구조 또는 두 "데이터 구조 사양"간의 동형에 대해 이야기하고 싶습니까? (이를 추상 데이터 유형이라고도합니다.)
세포 프로브 모델을 고려하면 동형의 개념이 쉽게 발생한다고 생각합니다. 이는 셀 프로브 모델이 의사 결정 트리에 의한 계산을 모델링하기 때문에 동 형사상을 쉽게 정의 할 수 있기 때문입니다. 셀 프로브 모델은 데이터 구조 구현간에 동 형사상을 고려하고 데이터 구조 스펙을 고려할 때 도움이 될 것입니다.
세포 프로브 모델에 대한 정보는 Miltersen 조사를 참조하십시오. ( 세포 프로브 복잡성 : 설문 조사 )
데이터 구조간에 동 형사상을 정의해야하는 이유에 대해 더 자세히 말하면 도움이 더 필요할 수 있습니다. 나에게 메시지를 보내 주시기 바랍니다.