컴퓨터 프로그래밍 능력을 향상시키는 수학 주제 또는 분야? [닫은]


14

일반적으로 수학자이거나 수학 배경이있는 컴퓨터 프로그래머는 일반적으로 알고리즘과 컴퓨터 프로그래밍 측면에서 매우 우수합니다.

내가 말하지 않은 것 :

좋은 컴퓨터 프로그래머가 되려면 수학이 필요합니다. 프로그래밍에는 수학이 필요합니다. 좋은 수학자들은 좋은 프로그래머이고 그 반대도 마찬가지입니다

내가 말하는 것

나는 좀 더 나은 프로그래머가 될 것이라고 믿기 때문에 수학을 배우고 싶습니다. 더 나은 프로그래머가되는 데 수학의 어떤 영역 / 주제가 도움이됩니까? 양식의 답변을 부탁 math topic - corresponding cs area드립니다.

NB : 나는 이것이 주 제외로 선언 된 StackOverflow에서 이것을 요청했습니다. 나는 여가 시간에 내가 컴퓨터 프로그래밍으로했던 방식대로 배우고 싶다. 미리 감사드립니다.


1
StackOverflow 가이 질문이 주제에 맞지 않다고 선언 한 것에 놀랐습니다. 저의 (퇴직 한 프로그래머) 관점에서 볼 때이 질문은 가장 중요한 질문 중 하나입니다.
scaaahu

1
StackOverflow는 특정 프로그래밍 문제에 관한 것입니다. 이것은 CSEducators에서 가장 좋았으며 SoftwareEngineering에서 일했을 수도 있습니다.
Nat

1
우리는 전에 이와 같은 질문을 받았으며, 그들은 모두 같은 문제를 가지고 있습니다 : 그것들은 너무 광범위하고 주관적입니다. 유일한 합의 답은 그것의 모든 .
Raphael

@Raphael 먼저, Mod의 결정을 존중합니다. 그러나 OP를 대신하여 질문하고 싶습니다. 다시 열 수 있도록 질문을 개선 할 방법이 있습니까? 개선 방법이 없다면 OP 가이 질문을 할 수있는 다른 SE가 있습니까? (당연히 OP는 이미 시도했지만 Academia와 밀접한 관련이 없기 때문에 Academia SE에 적합하지 않을 수도 있음을 알고 있습니다.)
scaaahu

특정 문제에 대한 공식적인 해결책을 요구하는 질문은 좋을 것입니다. 학습 조언 문제는 일반적으로 SE 형식에 적합하지 않습니다. "의견에 근거한"마감 이유는 모든 사이트에 적용됩니다!
Raphael

답변:


19

따라서 Science of CS와 관련이 있지만 특별히 프로그래밍하기위한 많은 수학 분야가 있습니다.

  • 그래프 이론 : 이것은 큰 것입니다. 그래프와 나무는 어디에나 있습니다. 비디오 게임의 네트워크,지도, 경로. Rubiks 큐브 해결과 같은 것조차 그래프 알고리즘으로 모델링하고 A *로 해결할 수 있습니다.

  • 이산 수학 : 그래프 이론을 제외하고이 영역을 일반적으로 아는 것이 도움이됩니다. 인덕션에 의한 증명으로 가득 차 있습니다. 재귀를 이해하는 데 매우 유용합니다. 특히 데이터 구조에서 프로그래밍에 매우 유용합니다. 집합, 계산, 포함 제외, 부울 논리 등에 대해 알고 있으면 가끔 유용 할 수 있습니다.

  • 타입 이론 : 놀랍게도, 타입 이론을 아는 것은 타입 언어로 프로그래밍을 이해하는 데 도움이되고,보다 정확한 유형을 특정 정확성 속성을 보장하는 방법으로 사용하는 데 도움이됩니다. 서브 타이핑 이론에 대해 알면 Java와 같은 언어의 공분산과 공분산을 이해하는 데 도움이됩니다. 파라 메트릭 다형성과 같은 것을 아는 것은 Haskell 또는 Purescript와 같은 유형이 많은 언어를 배울 때 분명히 도움이되지만 Scala, TypeScript 및 Rust와 같은 언어는 산업에서 널리 보급되고 있으며 유형은 핵심입니다.

    이것을 극단적으로 가져 가면 Coq 및 Agda 및 Idris와 같은 것을 얻을 수 있으며 이는 프로그램에 대한 매우 정확한 정확성 속성을 증명하는 데 사용할 수 있습니다.

  • 계산 및 복잡성 이론 : 문제를 해결할 수 없거나 NP가 어려운시기를 아는 것이 유용합니다. 빠른 방법으로 두뇌를 쌓는 데 시간을 낭비하지 않기 때문입니다. 마찬가지로 근사 알고리즘, 고정 매개 변수 다루기 성 또는 저기 수 지수 알고리즘에 대한 이론을 이해하면 실제로 NP-hard 문제를 해결해야 할 때 도움이 될 수 있습니다.

  • 오토마타 이론 : 다양한 상태 머신으로 많은 문제를 모델링 할 수 있으므로 속성을 이해하는 것이 유용합니다.

필드 특정 영역도 있습니다.

  • 통계 : 머신 러닝 또는 빅 데이터를 수행하는 경우 필수입니다.

  • 선형 대수 / 벡터 계산 : 둘 다 기계 학습, 그래픽, 시뮬레이션 또는 이미지 / 오디오 처리에 중요합니다.

  • 격자 이론 : 컴파일러 또는 프로그램 최적화 작업을 수행하는 경우 항상 나타납니다. 사방에 고정 포인트!

  • 범주 이론 : 코딩 할 필요는 없지만 유형 이론에 깊이 흠뻑 빠진 것에 유용합니다.

편집 : 내가 잊었다 믿을 수 없습니다 :

  • 암호화 : 보안, 해싱, 디지털 서명 등에 관심이 있다면 숫자 이론, 그룹 이론, 필드 이론, 타원형 곡선 이론 등을 배우십시오.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.