본문 바로가기
교육/아티클 정리

컴퓨터 과학에 대하여 - 2

by 순진한 워니 2024. 11. 9.

안녕하세요, 이전 포스팅에 컴퓨터 과학의 개념, 역사, 어원에 대해 소개 했습니다.

 

혹시 궁금하시다면 이전 포스팅링크를 아래에 작성해 놓을테니 참고 부탁드립니다.

https://naiver1.tistory.com/3

 

컴퓨터 과학에 대하여 - 1

안녕하세요!-! 순진한 워니입니다. 이전 포스팅에 컴퓨터 프로그래밍에 대한 포스팅을 진행했었는데, 프로그래밍의 근간이 되는 컴퓨터 과학에 대한 아티클 정리가 끝나, 포스팅을 진행하고자

naiver1.tistory.com

 

자 그러면 오늘은 컴퓨터 과학에 대한 철학, 프로그래밍 패러다임, 연구 분야에 대해 정리한 아티클을 소개합니다.

 

 

컴퓨터 과학의 철학

 

컴퓨터 과학의 인식론
과학이라는 단어의 이름에도 불구하고 컴퓨터 과학이 과학, 수학 또는 공학의 한 분야인지에 대한 논쟁이 있습니다. 앨런 뉴웰과 허버트 A. 사이먼은 1975년에 주장했습니다.

컴퓨터 과학은 경험적 학문입니다. 우리는 컴퓨터 과학을 실험 과학이라고 불렀을 것이지만 천문학, 경제학, 지질학과 마찬가지로 독특한 형태의 관찰과 경험 중 일부는 실험 방법에 대한 좁은 고정관념에 맞지 않습니다. 그럼에도 불구하고 그들은 실험입니다. 새로 만들어진 각 기계는 실험 is 실제로 기계를 구성하는 것은 자연에 의문을 제기하며, 우리는 작동 중인 기계를 관찰하고 사용 가능한 모든 분석 및 측정 수단을 사용하여 분석함으로써 답을 듣습니다.

 

 



이후 컴퓨터 과학은 프로그램의 정확성을 평가하기 위해 경험적 테스트를 사용하기 때문에 경험적 과학으로 분류될 수 있다고 주장해 왔지만, 컴퓨터 과학의 법칙과 체계를 정의하고 (존재하는 경우) 컴퓨터 과학에서 실험의 성격을 정의하는 데는 여전히 문제가 있습니다. 컴퓨터 과학을 공학 분야로 분류하는 지지자들은 토목 공학의 다리 및 항공우주 공학의 비행기와 같은 방식으로 계산 시스템의 신뢰성을 조사한다고 주장합니다. 또한 경험적 과학이 현재 존재하는  컴퓨터 과학을 관찰하는 동안에는 존재 가능한 것을 관찰하고 과학자들이 관찰을 통해 법칙을 발견하는 동안에는 컴퓨터 과학에서 적절한 법칙이 발견되지 않았으며 대신 현상을 만드는 데 관심이 있다고 주장합니다.

컴퓨터 과학을 수학적 학문으로 분류하는 것을 지지하는 사람들은 컴퓨터 프로그램이 수학적 형식적 방법을 통해 연역적으로 추론할 수 있는 수학적 실체와 프로그램의 물리적 구현이라고 주장합니다. 컴퓨터 과학자 에드저 W. 다이크스트라와 토니 호어는 컴퓨터 프로그램에 대한 명령을 수학 문장으로 간주하고 프로그래밍 언어에 대한 형식적 의미를 수학적 공리 시스템으로 해석합니다.

 

 

컴퓨터 과학의 패러다임

 

많은 컴퓨터 과학자들이 컴퓨터 과학에서 세 가지 개별 패러다임을 구분해야 한다고 주장했습니다. 피터 웨그너는 이러한 패러다임이 과학, 기술, 수학이라고 주장했습니다. 피터 데닝의 실무 그룹은 이러한 패러다임이 이론, 추상화(모델링), 설계라고 주장했습니다. 암논 H. 에덴은 컴퓨터 과학을 이론 컴퓨터 과학에 널리 퍼져 있고 주로 연역적 추론을 사용하는 수학의 한 분야로 취급하는 '합리주의 패러다임', '기술주의 패러다임'(공학적 접근 방식, 소프트웨어 공학에서 가장 두드러지게 발견될 수 있음), '과학적 패러다임'(자연과학의 경험적 관점에서 컴퓨터 관련 인공물에 접근하는 것, 인공 지능의 일부 분야에서 식별 가능함)으로 설명했습니다. 컴퓨터 과학은 인간이 만든 컴퓨팅 시스템의 설계, 사양, 프로그래밍, 검증, 구현 및 테스트와 관련된 방법에 중점을 둡니다.

 

 

 

 

컴퓨터 과학의 분야

 

이론 컴퓨터 과학
이론적 컴퓨터 과학은 수학적이고 추상적이지만, 그 동기는 실용적이고 일상적인 계산에서 비롯됩니다. 계산의 본질을 이해하고 이러한 이해의 결과로 보다 효율적인 방법론을 제공하는 것을 목표로 합니다.

 


계산 이론
피터 데닝에 따르면 컴퓨터 과학의 근간이 되는 근본적인 질문은 "자동화할 수 있는 것은 무엇인가?"입니다. 계산 이론은 계산할 수 있는 것과 이러한 계산을 수행하는 데 필요한 리소스의 양에 대한 근본적인 질문에 답하는 데 중점을 둡니다. 첫 번째 질문에 답하기 위해 계산 가능성 이론은 다양한 이론적 계산 모델에서 어떤 계산 문제를 해결할 수 있는지 검토합니다. 두 번째 질문은 여러 계산 문제를 해결하기 위한 다양한 접근 방식과 관련된 시간 및 공간 비용을 연구하는 계산 복잡성 이론으로 해결됩니다.

밀레니엄 상금 문제 중 하나인 유명한 P = NP? 문제는 계산 이론에서 미해결 문제입니다.

 

 

정보 및 코딩 이론
주요 기사: 정보 이론 및 코딩 이론
확률 및 통계와 밀접한 관련이 있는 정보 이론은 정보의 정량화와 관련이 있습니다. 이는 데이터 압축과 같은 신호 처리 작업의 근본적인 한계를 찾고 데이터를 안정적으로 저장하고 통신하기 위해 클로드 섀넌이 개발했습니다. 코딩 이론은 코드(정보를 한 형태에서 다른 형태로 변환하는 시스템)의 속성과 특정 응용 프로그램에 대한 적합성을 연구하는 학문입니다. 코드는 데이터 압축, 암호화, 오류 감지 및 수정, 그리고 최근에는 네트워크 코딩에도 사용됩니다. 코드는 효율적이고 신뢰할 수 있는 데이터 전송 방법을 설계하기 위해 연구됩니다.

 

 

데이터 구조 및 알고리즘
데이터 구조와 알고리즘은 일반적으로 사용되는 계산 방법과 그 계산 효율성에 대한 연구입니다.

 

 

 

 

프로그래밍 언어 이론 및 공식 방법
프로그래밍 언어 이론은 프로그래밍 언어와 그 개별 특징의 설계, 구현, 분석, 특성화 및 분류를 다루는 컴퓨터 과학의 한 분야입니다. 이 이론은 수학, 소프트웨어 공학 및 언어학에 따라 그리고 영향을 미치는 컴퓨터 과학 분야에 속합니다. 이 분야는 수많은 전용 학술지를 보유한 활발한 연구 분야입니다.

 

형식적 방법은 소프트웨어 및 하드웨어 시스템의 사양, 개발 및 검증을 위한 수학적 기반 기술의 특정 종류입니다. 소프트웨어 및 하드웨어 설계에 형식적 방법을 사용하는 것은 다른 엔지니어링 분야와 마찬가지로 적절한 수학적 분석을 수행하면 설계의 신뢰성과 견고성에 기여할 수 있다는 기대에서 비롯된 것입니다.

 

형식적 방법은 특히 안전 또는 보안과 관련된 소프트웨어 엔지니어링의 중요한 이론적 토대를 형성합니다. 형식적 방법은 오류를 방지하는 데 도움이 되고 테스트를 위한 프레임워크를 제공할 수 있기 때문에 소프트웨어 테스트에 유용한 보조 도구입니다. 산업용의 경우 도구 지원이 필요합니다. 그러나 형식적 방법을 사용하는 데 드는 높은 비용은 일반적으로 안전이나 보안이 가장 중요한 고 무결성 및 생명에 중요한 시스템 개발에만 사용된다는 것을 의미합니다.

 

형식적 방법은 상당히 광범위한 이론적 컴퓨터 과학의 기초, 특히 로직 계산, 형식 언어, 오토마타 이론, 프로그램 의미론뿐만 아니라 유형 시스템과 대수 데이터 유형을 소프트웨어 및 하드웨어 사양 및 검증의 문제에 적용하는 것으로 가장 잘 설명됩니다.

 

 

컴퓨터 그래픽 및 시각화
컴퓨터 그래픽은 디지털 시각 콘텐츠를 연구하는 학문으로 이미지 데이터의 합성과 조작을 포함합니다. 이 연구는 컴퓨터 비전, 이미지 처리, 계산 기하학 등 컴퓨터 과학의 다른 많은 분야와 연결되어 있으며 특수 효과 및 비디오 게임 분야에 많이 적용되고 있습니다.

 

 

이미지 및 사운드 처리
정보는 이미지, 사운드, 비디오 또는 기타 멀티미디어의 형태를 취할 수 있습니다. 비트의 정보는 신호를 통해 스트리밍할 수 있습니다. 정보 처리는 전기, 기계, 생물학 등 정보 전달자의 유형과 독립적으로 정보 처리 알고리즘을 연구하는 유럽 컴퓨팅 관점인 정보학의 핵심 개념입니다. 이 분야는 정보 이론, 통신, 정보 공학에서 중요한 역할을 하며 의료 이미지 컴퓨팅 및 음성 합성 등에 응용되고 있습니다. 고속 푸리에 변환 알고리즘의 복잡성에 대한 하한선은 얼마인가요?라는 문제는 이론 컴퓨터 과학에서 해결되지 않은 문제 중 하나입니다.

 

 

인공 지능
인공 지능(AI)은 인간과 동물에서 발견되는 문제 해결, 의사 결정, 환경 적응, 학습 및 커뮤니케이션과 같은 목표 지향적 프로세스를 합성하는 것을 목표로 하거나 이를 요구합니다. 사이버네틱스와 다트머스 컨퍼런스(1956)에서 시작된 인공 지능 연구는 응용 수학, 기호 논리, 기호학, 전기 공학, 마음의 철학, 신경 생리학, 사회 지능과 같은 전문 분야를 중심으로 다양한 분야에서 필수적으로 이루어지고 있습니다. AI는 로봇 개발과 관련이 있지만, 실용적인 응용의 주요 분야는 컴퓨터 이해가 필요한 소프트웨어 개발 분야의 임베디드 구성 요소로 사용되어 왔습니다. 1940년대 후반의 출발점은 앨런 튜링의 "컴퓨터가 생각할 수 있을까?"라는 질문이었으며, 튜링 테스트는 여전히 인간 지능 규모의 컴퓨터 출력을 평가하는 데 사용되고 있지만 이 질문은 여전히 효과적으로 답이 나오지 않고 있습니다. 그러나 평가 및 예측 작업의 자동화는 복잡한 실제 데이터와 관련된 컴퓨터 응용 분야에서 인간 모니터링과 개입을 대체하는 것으로 점점 더 성공적으로 이루어지고 있습니다.

 

정리하는 글

컴퓨터 과학에 대한 철학, 패러다임, 분야에 대해 아티클을 정리해 작성해보았습니다. 어떠셨나요? 컴퓨터 과학에 대해 간략히 알 수 있는 시간이었기를 진심으로 바랍니다. 좋아요와 댓글은 글쓴이에게 굉장히 힘이 됩니다. 부족한 글이지만 도움이 되셨기를 바랍니다. 감사합니다.

'교육 > 아티클 정리' 카테고리의 다른 글

컴퓨터 과학에 대하여 - 1  (14) 2024.11.09
컴퓨터 프로그래밍에 대하여  (7) 2024.11.09
화학공학에 대해서  (12) 2024.11.09