알고리즘에 대한 좋은 수학적 책 [닫기]


11

나는 수학적 우아함과 엄격함을 좋아하며 알고리즘 및 알고리즘 분석에 대한 문헌을 찾고 있습니다. 이제 어떤 알고리즘이 적용 되는지 는 중요하지 않지만 알고리즘이 어떻게 표현되고 처리되는지 는 매우 중요 합니다 .¹ 나는 가장 사용 된 개념을 엄격하고 추상적 인 방식으로 정의 하는 매우 명확하고 정확한 언어를 가장 중요하게 생각합니다.

Cormen, Leiserson, Rivest 및 Stein 의 고전 알고리즘 소개 는 매우 깔끔하지만 수학을 잘 다루지 않으며 증거와 정의에 비공식적이라는 것을 알았습니다. Sipser의 계산 이론 소개 는 그 점에서 더 좋아 보이지만 여전히 수학에서 알고리즘으로의 완벽한 전환은 제공하지 않습니다.

누구든지 추천 할 수 있습니까?


¹ : 알고리즘은 그래프, 배열, 집합, 목록, 트리 등과 같은 고전적이지 않은 추상적 인 데이터 구조를 사용하여 필요한 데이터를 관리해야합니다. 데이터 구조의 사용 및 관리 문제가 완전히 무시된다면 너무 관심이 없습니다. 그래도 해결 된 문제는별로 신경 쓰지 않습니다.


2
이것은 주관적입니다. "좋은"을 정의하십시오. 또한 목록 질문에 대한 엄격한 정책은 없지만 일반적으로 싫어하는 점이 있습니다. 또한 유의하시기 바랍니다 토론을; 거기에 설명 된 문제를 피하기 위해 질문을 개선하고 싶을 수도 있습니다. 질문을 개선하는 방법을 모르는 경우 컴퓨터 과학 채팅 에서 도움을 줄 수 있습니까?
라파엘


@Raphael 감사합니다. 제목에 "good"이라는 단어 만 사용했는데, 제 질문에 원하는 것을 지정했습니다. 의도적으로 너무 구체적이지는 않았지만, 적어도 내 초점이 수학적으로 우아하고 엄격 하다는 것에 분명해야한다 . 나는이 답변이 책 목록에 대해 비명을 지르지 않는다고 생각한다. 왜냐하면 그 범주에 해당하는 책이 너무 많으면 안된다. 응답 구조”는 여러 스택 교환 사이트에서 진행되고 있지만 내 전화는 아닙니다. 질문을 개선 할 수 있는지 잘 모르겠습니다.
k.stm

또한“참조 요청”이 질문에 적합하지 않다고 생각합니다. 적어도 설명에 따르면 : 나는 논문을 찾고 있거나 구체적이고 좁은 문제에 관심이 없다. 사실, 나는 내용이 무엇인지에 대해 꽤 개방적입니다. 두 번째 문장을보십시오. 태그를 다시 제거해도 괜찮습니까? 어쩌면 내가 어떤 종류의 알고리즘으로 만족시킬 수 있습니까?
k.stm

2
아마도 의미 론적 의미론과 프로그램 검증을 살펴 봐야합니다.
유발 Filmus

답변:


7

Hendrik Lenstra 는 1992 년에 다음과 같이 썼습니다 .

엄격한 수학적 관점에서 알고리즘과 그 실행 시간으로 의미하는 것을 정의하는 것이 바람직하지만 그렇게하지는 않습니다. 나의 주된 변명은이 정의를 스스로 모른다는 것입니다. 더 나쁘고, 나는 정확하고 우아하며 사용하기 편리한 적절한 이론의 대우를 결코 보지 못했습니다. 문헌에서 이러한 명백한 차이를 메우는 것이 훌륭한 기업이 될 것입니다.

나는 그 이후로 어떤 진전이 있었는지, 또는 이것이 합의에 의해 "간격"으로 간주되는지 여부를 모른다. 그러나 요점은 적어도 일부 저명한 수학자들이 알고리즘의 도출에 대한 수학적 엄격함에 불만족했다는 점이다. 따라서 OP의 원하는 수준의 형식주의를 가진 책이 없을 수도 있습니다.

Knuth, Gries , Stepanov 및 기타 로 인해 우리가 가지고있는 실용적인 관점 의 풍요의 뿔은 프로그래머보다 수학을 돕기 위해 만들어 졌으므로 필연적으로 엄격하고 주관성이 부족합니다.

그럼에도 불구하고 Stepanov의 연구는 실리콘 밸리에서 과학적 종합을위한 최고의 시도 중 하나로 널리 호평을 받고 있습니다.

에서 프로그램의 요소 , 알렉산더 스테파노 프와 폴 McJones 알고리즘의 추상적 인 수학적 기초를 마련하기 위해 시도합니다. 이 책은 엔터티, 값 및 속성에 대한 약간의 비공식적 인 공리적 정의로 시작 하지만 288 페이지에서 일련의 보조 정리를 통해 표준 템플릿 라이브러리의 기초로 연역적으로 진행됩니다.

목차, 서문과에 샘플 장 변환과 그 궤도를 찾을 수 있습니다 여기에 , 그리고 입문 강의 여기 .

Stepanov의 가장 최근의 편안한 책인 Mathematics에서 Generic Programming 까지는 이집트의 곱셈에서 모노 이드, 세미 그룹 및 Lagrange의 정리에 이르기까지 수학의 역사에 대한 로드맵으로 구성되어 있으며 결국에는 반복자와 알고리즘을 사용하여 최신 데이터 구조를 개발합니다. STL.


?!? "현재 알고리즘 개념에 대한 정확하고 우아하며 편리한 수학적 도출은 존재하지 않습니다 ..." 튜링 머신
vzn

1
Lenstra는 관련 논문에서 튜링 기계를 다루고 있지만, 그 아이디어는 대수 분석을 완전히 제공하지 않는다는 생각입니다. 인용구를 직접 읽으려면 "갭"부분을 포함하여 인용문이 거의 그대로 사용됩니다. 제안 된 "컨센서스"를 제거하기 위해 게시물을 편집 할 수 있습니다.

ofc am /은 당신이 Lenstra를 인용하고 있다는 것을 알고 있었지만 그의 주목할만한 / 논쟁적인 / 의심스러운 주장에 대한 인용문이나 더 긴 인용문을 추가 할 수 있습니다
vzn

튜링 머신은 계산 시스템 의 공리 를 형성하는 것과는 반대로 파생 될 수 없다고 생각한다 (일명 교회-튜링 논문 ). TM 존재의 공리에서 파생 되는 것은 일반적으로 Lenstras 분석 및 CS입니다 .
vzn

1
@Raphael, 엄마가 내 방을 제대로 청소하는 것이 "좋은 기업"이라고 말하면, 그녀의 연설의 요지는 "방 청소에 귀찮게하지 마십시오"입니다. 내가 당신을 오해합니까, 아니면 오해합니까?

7

당신이 묘사하는 책의 이름이 있다고 생각합니다. 7 권으로되어 있으며 그중 3 분의 1만이 출판되었다. 이 책은 컴퓨터 프로그래밍의 예술 (TAOCP)이라고하며 Donald Knuth가 작성했습니다.

그는 때때로 응용 프로그램을 설명 할 수도 있습니다. 그러나 당신은 항상 그것을 건너 뛸 수 있으며, 나는 그것이 많은 내용을 만드는 것을 의심합니다. 당신은 수학에 너무 실망해서는 안됩니다.


이 답변이 올까봐 두려웠습니다. 나는 그것을 한번 살펴 보았고 그것은 나에게 적합하지 않았다. "당신은 수학에 너무 실망해서는 안됩니다." – 아마도, 그러나 Knuth는 또한 물건 을 정의하는 것 같지 않지만 대신 비공식적으로 소개하여 설명합니다. 그래도 수학에 대해 기대하는 것이 아니라 아이디어를 얻는 것이 좋습니다.
k.stm

수학적으로 난독 화 된 그의 작품을 출판함으로써 해당 분야에 기여할 수 있습니다. 그러나 관심있는 것이 "수학에서 알고리즘으로의 완벽한 전환"이라면 더 나은 주제는 유형 이론 일 수 있습니다. 수학과 알고리즘의 관계는 여전히 연구 주제입니다.
babou

1
추신 당신이 "이 대답이 올지도 모른다"고 생각한다면, 주요 참고서 중 하나이므로 질문에 그렇게 말했을 것입니다. 완성되고 문서화 된 질문은 더 나은 답변을 얻습니다.
babou

컴퓨터에서 떨어져있을 때 질문을 한 후에 만 ​​나에게 왔습니다. Knuth의 저의 책에 대한 나의 언급은 혹사적인 방식으로 취해 져서는 안됩니다 (“수학적으로 난독 화 된 버전의 출판”에 대한 의견을 취한 것으로 생각됩니다) – 아마도 신성 모독 옆에있을 것입니다. 그의 길은 내가 찾고있는 것이 아닙니다. 어쩌면 내가 상상했던 것과 같은 것이 아닐 수도 있습니다…
k.stm

2
@ k.stm 글쎄, 그 자체로 전체 주제 인 난독 화를 잊어 버리십시오. 요점은 알고리즘이 (아직?) 수학이 아니라고 믿는다. 공식화를 얻을 수는 있지만 거의 이익을 얻지 않으면 서 물질을 잃는 간단한 인코딩 일 가능성이 큽니다. 주제에 따라 다릅니다. 상당한 알고리즘을 가지고있는 오토마타 이론은 그다지 사실이 아닙니다. 요점은 구조의 추상 수학적 특성을 적절하게 식별하는 것이 명확하지 않다는 것입니다. 형식화가 아닌 이해의 문제이며 몇 년이 걸립니다. 물리학처럼 생각해
babou
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.