나는“ 함수 알고리즘 디자인의 진주 ”와“ 프로그래밍의 대수학 ”을 읽으려고 노력해 왔으며 , 재귀 적으로 (그리고 다항식으로) 정의 된 데이터 유형과 조합 객체 사이에 명백한 대응이 있으며, 동일한 재귀 정의를 가지며 그 이후에 선행합니다 조합 종에 대한 서두에 나와있는 것과 동일한 형식의 전력 계열 (또는 함수 생성)에 대해 설명합니다 (“ 종과 펑터 및 유형, Oh My! ”참조).
따라서 첫 번째 질문에 대해 전력 계열에서 생성 (재귀) 방정식을 복구하는 방법이 있습니까? 그래도 나중에 생각해야합니다.
나는“데이터 구조에 대한 정의 절차”의 일종으로 초기 대수와 최종 대수학이라는 개념에 더 관심이있었습니다. 기능적 프로그래밍에는 대수와 유사체 사이의 매핑, 산물과 관련하여 실용적인 프로그래밍 규칙 이 있습니다.. 이것은 복잡성에 접근하는 매우 강력한 방법 일 수 있습니다. 예를 들어, 그러한 맥락에서 마스터의 정리를 복구하는 것은 매우 간단 해 보입니다 (즉, 동일한 주장을해야 하므로이 경우 큰 이득은 아닙니다), 초기 대수의 독특한 변신과 F- 다항식 펑터에 대한 A와 FA 사이의 대수가 동형이라는 사실은 (내가 잘못 알고 있습니까?) 그러한 접근 방식이 데이터 구조에 대한 연산.
실용적인 관점에서, 융합 규칙 (기본적으로 대수 형태를 서로 구성하는 방법, 대수 형태, 일반 형태)은 프로그램 변환 및 리팩토링을위한 매우 강력한 최적화 기술입니다. 이 규칙을 최대한 활용하면 최적의 프로그램을 만들 수 있습니다 (불필요한 중간 데이터 구조 또는 기타 추가 작업 없음).
내가 뭔가 (그리고 무엇)에 있습니까? 이런 식으로 계산의 복잡성을 살펴 보는 것이 (학습의 관점에서) 수혜자입니까? 우리가 "좋은"초기 대수를 가질 수있는 구조가 어떤 문제에 대해 너무 제한되어 있습니까?
나는 검색 공간의 구조와 "검색 공간"과 "검색 알고리즘"이 functor의 초기 대수와 같은 "좋은"객체를 통해 상호 작용하는 방식과 관련하여 복잡성을 생각하는 방법을 찾으려고 노력하고 있습니다. 더 복잡한 구조를 볼 때 이런 식으로 보는 것이 유용한 지 이해합니다.