나는 수학적 우아함과 엄격함을 좋아하며 알고리즘 및 알고리즘 분석에 대한 문헌을 찾고 있습니다. 이제 어떤 알고리즘이 적용 되는지 는 중요하지 않지만 알고리즘이 어떻게 표현되고 처리되는지 는 매우 중요 합니다 .¹ 나는 가장 사용 된 개념을 엄격하고 추상적 인 방식으로 정의 하는 매우 명확하고 정확한 언어를 가장 중요하게 생각합니다.
Cormen, Leiserson, Rivest 및 Stein 의 고전 알고리즘 소개 는 매우 깔끔하지만 수학을 잘 다루지 않으며 증거와 정의에 비공식적이라는 것을 알았습니다. Sipser의 계산 이론 소개 는 그 점에서 더 좋아 보이지만 여전히 수학에서 알고리즘으로의 완벽한 전환은 제공하지 않습니다.
누구든지 추천 할 수 있습니까?
¹ : 알고리즘은 그래프, 배열, 집합, 목록, 트리 등과 같은 고전적이지 않은 추상적 인 데이터 구조를 사용하여 필요한 데이터를 관리해야합니다. 데이터 구조의 사용 및 관리 문제가 완전히 무시된다면 너무 관심이 없습니다. 그래도 해결 된 문제는별로 신경 쓰지 않습니다.
답변
Hendrik Lenstra 는 1992 년에 다음과 같이 썼습니다 .
엄격한 수학적 관점에서 알고리즘과 그 실행 시간으로 의미하는 것을 정의하는 것이 바람직하지만 그렇게하지는 않습니다. 나의 주된 변명은이 정의를 스스로 모른다는 것입니다. 더 나쁘고, 나는 정확하고 우아하며 사용하기 편리한 적절한 이론의 대우를 결코 보지 못했습니다. 문헌에서 이러한 명백한 차이를 메우는 것이 훌륭한 기업이 될 것입니다.
나는 그 이후로 어떤 진전이 있었는지, 또는 이것이 합의에 의해 “간격”으로 간주되는지 여부를 모른다. 그러나 요점은 적어도 일부 저명한 수학자들이 알고리즘의 도출에 대한 수학적 엄격함에 불만족했다는 점이다. 따라서 OP의 원하는 수준의 형식주의를 가진 책이 없을 수도 있습니다.
Knuth, Gries , Stepanov 및 기타 로 인해 우리가 가지고있는 실용적인 관점 의 풍요의 뿔은 프로그래머보다 수학을 돕기 위해 만들어 졌으므로 필연적으로 엄격하고 주관성이 부족합니다.
그럼에도 불구하고 Stepanov의 연구는 실리콘 밸리에서 과학적 종합을위한 최고의 시도 중 하나로 널리 호평을 받고 있습니다.
에서 프로그램의 요소 , 알렉산더 스테파노 프와 폴 McJones 알고리즘의 추상적 인 수학적 기초를 마련하기 위해 시도합니다. 이 책은 엔터티, 값 및 속성에 대한 약간의 비공식적 인 공리적 정의로 시작 하지만 288 페이지에서 일련의 보조 정리를 통해 표준 템플릿 라이브러리의 기초로 연역적으로 진행됩니다.
목차, 서문과에 샘플 장 변환과 그 궤도를 찾을 수 있습니다 여기에 , 그리고 입문 강의 여기 .
Stepanov의 가장 최근의 편안한 책인 Mathematics에서 Generic Programming 까지는 이집트의 곱셈에서 모노 이드, 세미 그룹 및 Lagrange의 정리에 이르기까지 수학의 역사에 대한 로드맵으로 구성되어 있으며 결국에는 반복자와 알고리즘을 사용하여 최신 데이터 구조를 개발합니다. STL.
답변
당신이 묘사하는 책의 이름이 있다고 생각합니다. 7 권으로되어 있으며 그중 3 분의 1만이 출판되었다. 이 책은 컴퓨터 프로그래밍의 예술 (TAOCP)이라고하며 Donald Knuth가 작성했습니다.
그는 때때로 응용 프로그램을 설명 할 수도 있습니다. 그러나 당신은 항상 그것을 건너 뛸 수 있으며, 나는 그것이 많은 내용을 만드는 것을 의심합니다. 당신은 수학에 너무 실망해서는 안됩니다.