컴퓨터 과학의 데이터가 왜 이산적인 것으로 간주됩니까?


35

데이터의 "구조"는 부울 대수에 전적으로 의존하지만 다음과 같이 이해합니다.

왜 데이터가 연속적인 것이 아니라 이산적인 수학적 실체로 간주됩니까?

이것과 관련하여 :

데이터를 차원 의 연속 엔터티로 구조화 할 때 위반되는 결점 또는 변형은 무엇입니까 ?r

저학년 수학 학생으로서 나는이 분야의 전문가가 아니므로, 내가 5 살인 사람이 나에게 이것을 설명한다면 정말 감사하겠습니다.


12
실제 계산 은 비합리적으로 강력 할 것입니다
harold

1
시간이 허락하면이 장으로 넘어가십시오. 저자는 아날로그 대 이진 신호
Muhammad Sayef

답변:


44

대답

왜 데이터가 연속적인 것이 아니라 이산적인 수학적 실체로 간주 되었는가

이것은 선택이 아니었다. 디지털 컴퓨터에서 또는 실제로 모든 종류의 계산에서 연속적이고 구체적인 값을 나타내는 것은 이론적으로 그리고 실제로 불가능합니다.

"discrete"가 "정수"또는 이와 유사한 것을 의미하지는 않습니다. "이산 적"은 "연속적"의 반대입니다. 이 수단이 아닌 개별 물건을 저장할 진정 수있는 컴퓨터를 가지고, 당신은 두 개의 숫자 저장할 수 있어야합니다 a그리고 b어디 abs(a-b) < ε의 어떤 임의의 작은 값 ε. 물론, 더 많은 저장 공간을 사용하여 원하는만큼 깊게 갈 수 있지만 모든 (물리적) 컴퓨터 에는 항상 상한이 있습니다. 당신이 무엇을 하든지, 당신은 임의로 정교하게 해결 된 숫자를 저장하는 (물리적) 컴퓨터를 만들 수 없습니다 .

수학 구문 (예 :)으로 숫자를 표현할 수 있어도 π아무런 변화가 없습니다. 그래프 또는 수학 공식을 나타내는 모든 것을 저장하면 다른 것과 마찬가지로 이산 적입니다.

추가

나머지는 컴퓨터 과학 분야를 넘어 약간의 관점입니다. 의견에서 알 수 있듯이 실제 주제는 논란의 여지가 없으며 다음에서 알 수 있듯이 다음 단락이 사실인지 아닌지에 대해 확약하지 않은 방식으로 공식화했습니다. "연속체"의 개념이 사소한 것이 아니라는 동기 부여로 생각하십시오. 위의 대답은 공간이 이산인지 아닌지에 달려 있지 않습니다.

이 모든 것이 컴퓨터의 문제가 아니라 "연속적"이라는 의미의 문제입니다. 것으로, 예를 들어, 모든 사람이도 동의, 또는 과거에 동의 않았다 우주 (예를 들어, 연속 플랑크 규모가 시공간 이산이다 의미합니까? ). 어떤 것들 (예를 들어, 전자의 에너지 상태와 양자 역학의 다른 많은 특징들)에 대해서도 우리 는 우주가 연속적이지 않다는 것을 알고 있습니다 . 다른 사람들 (예 : 직위 ...)에 대해서는 배심원이 아직 남아 있습니다 (적어도 연구 결과의 해석과 관련하여). (연속 임에도 불구하고 임의의 정밀도 => Heisenberg 등으로 측정 할 수 없다는 문제에도 불구하고).

수학에서 연속체 (실제)를 연구하면 측정 이론과 같은 많은 흥미로운 측면이 열리 므로 실제로 "연속적인"종류의 숫자 / 데이터를 저장하는 것은 불가능합니다.


의견은 긴 토론을위한 것이 아닙니다. 이 대화는 채팅 으로 이동 되었습니다 .
DW

29

컴퓨터는 데이터를 유한 비트 수 (0과 1)로 나타내며 모든 유한 비트 문자열 세트는 이산 적입니다. 예를 들어 실수로 유한 표현을 찾은 경우에만 숫자로 작업 할 수 있습니다. 예를 들어 "이 데이터는 숫자에 해당합니다"라고 말할 수 있지만 의 모든 숫자를 컴퓨터에 저장할 수는 없습니다 . 따라서 실수로 작동하는 컴퓨터 프로그램은 실제로 의 개별 하위 집합에서만 작동합니다 .π RππR


디지털 컴퓨터는 그렇게하지만 아날로그 컴퓨터는 그렇지 않습니다.
Drew

의견은 긴 토론을위한 것이 아닙니다. 이 대화는 채팅 으로 이동 되었습니다 .
DW

8

이 위대한 답변에 모두 추가하기 위해 Alan Turing은 컴퓨터를 정의 할 때 컴퓨터 (사람을 의미 함)가 구별 할 수 없기 때문에 기호의 양이 유한해야한다고 주장합니다. 그렇지 않으면 모든 기호.

다음은 그의 1936 년 논문 "계산 가능한 숫자, 엔츠 키돈 문제에 대한 응용 프로그램"에서 발췌 한 내용입니다.

여기에 이미지 설명을 입력하십시오

그런 다음 섹션 9에서 :

여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오


1
이미지를 검색하여 색인을 생성 할 수 있도록 이미지를 복사하십시오.
Raphael

7

그것은 모두 구현에 있습니다.

당신이 그것에 대해 생각하면, 컴퓨터는 실제로 연속 장치입니다. 이것은 작동 방식을 관장하는 모든 EM 방정식이 연속적이라는 사실로 쉽게 알 수 있습니다. 불연속적인 것은 이러한 컴퓨팅 장치를 사용하는 방법을 결정하는 데 사용하는 모델입니다. 계산을 설명하기 위해 사용하는 추상 기계는 모두 별개입니다.

이것의 실질적인 장점은 많은 품질 관리 문제로부터 독립하는 것입니다. 우리의 컴퓨터 모델이 트랜지스터와 커패시터의 완전한 연속 특성을 활용한다면, 모든 트랜지스터를 얼마나 잘 구축했는지주의해야합니다. 우리는 이것을 오디오 세계에서 볼 수 있습니다. 전 세계의 오디오 애호가들 에게는 정확히 연속적으로하는 10 가지의 엄선 된 트랜지스터를 가진 앰프에 2000 달러 를 쓰는 것이 합리적 입니다. 이것을 $ 400 의 강력한 비용으로 Core i7 CPU에서 1,400,000,000 개의 트랜지스터와 대조하십시오 .

우리의 계산 모델은 불연속 적이므로 컴퓨터에서 우리가 보는 모든 신호를 불연속 신호와 지속적인 오류 항으로 모델링 할 수 있습니다. 그런 다음 오류가 불연속 신호의 일부가 될 수있는 올바른 모양이 아니라는 것을 관찰함으로써 오류를 간단히 필터링 할 수 있습니다.

이것의 주요 부분은 추상 모델에서 시간 용어를 제거하는 것입니다. 대부분의 모델은 물리적 프로세스에 대한 시간을 측정하는 것이 아니라 클럭으로 알려진 "논리적"신호에 대한 시간을 측정합니다. 시계를 중단하면 시스템이 움직이지 않지만 고장 나지 않습니다. 아날로그 오류를 모두 지우고 다음의 이산 펄스 펄스를 기다립니다. 연속적인 시간 항을 제거 하면 계산 및 계산에 대한 증거가 크게 단순화됩니다. 대신, 알고리즘의 P 및 NP 분류에서 볼 수 있듯이 시간 개념은 신중하게 측정됩니다.


7

때문에:

  • 디지털 컴퓨터는 임의의 실수를 저장할 수 없습니다.

  • 아날로그 컴퓨터는 열 잡음 (전자적 경우), 마찰 (기계적 또는 유압 적 경우), 교란, 온도 변화에 대한 민감성, 불가피한 결함 및 노화로 인해 어려움을 겪고 있습니다. 이러한 어려움에 대처하는 것은 (실험적인) 물리학 자와 엔지니어가하는 일입니다. 대부분의 컴퓨터 과학은 단순히 물리학을 추상화합니다.

실제 계산 에 대한 논문은 다음과 같습니다 .

다음은 아날로그 계산 에 관한 논문입니다 .


4

현대 용어에서 "컴퓨터"라는 용어는 "디지털 컴퓨터"를 의미합니다. 디지털 컴퓨터의 본질은 유한 한 수의 개별 상태를 갖는다는 것입니다. 디지털 컴퓨터가 아날로그 컴퓨터보다 선호하는 이유가 주로 엔지니어링 실용성에 관한 것인지, 또는 이론적 인 컴퓨터 과학의 더 나은 근거 때문인지에 대한 흥미로운 논쟁이있을 수 있습니다. 그러나 그 이유가 무엇이든, 디지털 컴퓨터는 우리가 끝낸 것이므로 디지털 컴퓨터의 유용한 수학적 모델 (및 그 데이터)은 연속적이기보다는 이산적일 것입니다.


2

이 단어 data는 라틴어에서 파생 된 것으로 datum, 주어진 단어 를 의미합니다. 시간이 지남에 따라 복수형은 사용법이 바뀌 었으며 이제는 단수형과 복수형으로 일반적으로 사용됩니다. 또한 구체적으로 정보와 관련이있게되었습니다.

정보 항목 (데이텀)과 그 표현에는 차이가 있습니다.

정보 이론 은 변수로 표시되는 개별 정보를 다루고 있습니다. 이들은 셀 수있는 엔터티입니다. 예를 들어, 속도, 위치, 질량 등은 모두 연속적인 양이지만 서로 이산 적입니다. 질량과 위치 사이에는 변환이 없습니다. 이러한 수량이 수치로 표현 될 때, 이들의 데이터 항목은 표현되지만 서로 이산 적입니다.

반면에 현재 컴퓨터의 대다수는 정보를 나타내는 데 일종의 전기 요금을 사용합니다. 청구가 있거나 존재하지 않습니다. 회로에 전류가 있거나 없습니다. 이것은 또한 개별적이지만 반드시 그럴 필요는 없습니다! 우리 기술이 개발 한 방식 때문에 이진 표현을 사용하기 때문입니다. Quantum Computing의 개발이 가까운 시일 내에이를 변경시킬 가능성이 있습니다. 또한 아날로그 컴퓨터 가 다시 부활 할 것이며, 이진수로 숫자를 나타내야한다는 우리의 생각은 사라질 것입니다!

요약하면 : data개별 정보 항목으로 구성되며 각 항목은 데이텀입니다. 각각의 데이텀은 이산 수학을 사용하여 표현 될 필요는 없지만, 현재는 현대의 우연의 일치에 의한 것입니다.


1
정보 이론은 또한 연속 변수를 처리 할 수 ​​있습니다.
Yuval Filmus

1
예를 들어 차분 엔트로피를 참조하십시오 .
Yuval Filmus

2

나는 당신의 기본 전제에 도전하고 싶습니다 :

왜 데이터가 연속적인 것이 아니라 이산적인 수학적 실체로 간주됩니까?

그렇지 않습니다.

예를 들어, 알고리즘 연구는 컴퓨터 과학의 중요한 하위 필드이며 지속적인 데이터를 처리하는 많은 알고리즘이 있습니다. 두 자연수의 최대 공약수를 계산하는 유클리드 알고리즘에 대해 잘 알고있을 것입니다. 그러나 유클리드에는 두 개의 계산 가능한 라인의 가장 긴 공통 측정 값을 계산하는 동일한 알고리즘의 기하학적 버전이 있다는 것을 알고 있습니까? 이것이 유클리드가 이런 식으로 생각하지 않더라도 실수, 즉 연속적인 데이터에 대한 알고리즘 (따라서 컴퓨터 과학 연구의 대상)의 예입니다.

알고리즘을 분류하는 방법에는 여러 가지가 있지만 사용되는 한 가지 방법은 "연속성"으로 알고리즘을 분류하는 것입니다.

  • 디지털 알고리즘 (디지털 데이터에 대한 개별 이벤트 알고리즘) :
    • 유클리드 알고리즘의 수치 변형
    • 학교에서 가르치는 장기 분할, 곱셈 등
    • 모든 컴퓨터 프로그램, λ 미적분 프로그램, 튜링 머신
  • 비 디지털 데이터, 이산 이벤트 알고리즘 (연속 데이터에 대한 알고리즘, 그러나 여전히 "단계"라는 개념, 즉 연속 데이터이지만 불연속 시간) :
    • 유클리드 알고리즘의 기하학적 변형
    • 실수에 대한 알고리즘 (예 : 가우스 제거 절차)
    • 연속 함수에 대한 알고리즘 (예 : 이분법 알고리즘)
  • 아날로그 알고리즘 (연속 시간, 연속 데이터) :
    • 전기 회로
    • 기계식 자이로 스코프
  • 하이브리드 알고리즘 (위의 조합)
    • 로봇

다른 답변은 이미 컴퓨터 과학의 또 다른 중요한 하위 분야 인 계산 이론의 실제 계산에 대해 언급했습니다.

데이터를 차원 의 연속 엔터티로 구조화 할 때 위반되는 결점 또는 변형은 무엇입니까 ?r

실제 (단순히 의도 된) 단점은 이러한 데이터를 일반적인 디지털 컴퓨터로 표현할 수 없다는 것입니다. 연속 데이터에 대한 알고리즘 은 생각할 수 있지만 일반적으로 알고리즘을 실행하는 데 사용하는 표준 시스템 에서는 실행할 수 없습니다 .

이것이 연속 데이터가 디지털 데이터만큼 "보이지"않는 주된 이유입니다.

그러나 아날로그 알고리즘의 구현은 실제로 상상하거나 구축하기 위해 복잡 할 필요가 없습니다. 예를 들어, 아날로그 알고리즘의 구현은 다음과 같습니다 승리 사이클 자전거함으로써 앤드류 DRESSEL  - 자신의 작업, CC BY-SA 3.0 , 링크

rqrq×rπq×π


"연속 데이터로 작동하는 많은 알고리즘이 있습니다"-그러한 알고리즘을 "알고리즘"이라고한다면 긴 논의가있을 수 있지만, 의미론에 대한 화염 전이 될 것이므로 그렇게하지 마십시오. 요점은 컴퓨터에서 실행되는 "알고리즘"이 아니라 공식적으로 정의 된 이론상 슈퍼 튜링 장치입니다.
Raphael

1
자전거 은유가 오도하는 것을 발견했습니다. 하나의 함수 를 계산 하는 것은 컴퓨터가 아니며 요즘에는 보편적으로 가정합니다 .
Raphael

1

보다 추상적 인 방법을 사용하기 위해 컴퓨터에서든 헤드에서든 결과를 제공 할 수있는 모든 계산은 유한 한 양의 데이터 만 처리 할 수 ​​있습니다. 이는 데이터가 일련의 기호로 표현 될 수 있음을 의미합니다. 이 문자열은 숫자의 자릿수 ( "42") 또는 데이터를 작성하는 프로그램의 텍스트 ( "4 * atan (1)" ) 일 수 있습니다. 문자열은 유한해야합니다. 그렇지 않으면 프로그램을 실행하기 위해 전체 내용을 읽을 수 없습니다.π

이제 가능한 모든 유한 데이터 세트를 사전 식 순서로 넣을 수 있습니다. 즉, 세트를 계산할 수 있습니다. 그러나 연속 실수의 집합은 계산할 수 없으므로 연속체에는 항상 주어진 계산 시스템에 의해 저장 될 수없는 숫자가 있습니다. 이것으로부터 임의의 실수 저장에는 무한한 자원이 필요하다는 결론을 내릴 수 있습니다.


1
나는 이것이 질문을 구걸하고 있다고 생각한다 . 검사 한 종이에서 입력을 받아 그 종이에 출력하는 컴퓨터를 생각해보십시오. OP가 제안한대로 데이터가 연속적이라면, 그러한 컴퓨터는 한정된 양의 데이터만으로도 무한정 정확할 수 있습니다.
ruakh

@ruakh 예를 들어 그려진 선의 정확한 길이를 읽을 수있는 아날로그 튜링 머신과 같은 것에 대해 이야기하고 있습니까?
Mark H

예, 정확히 내가 알기로, 그것은 OP가 요구하는 종류의 것입니다.
ruakh

0

데이터가 항상 개별적인 것으로 간주되는 것은 아닙니다. 과학 프로그래밍에는 종종 부동 소수점 산술이 포함됩니다. 프로그래머는 일반적으로 데이터가 유한 정밀도로 저장된다는 사실에서 비롯된 수치 안정성 문제를 염두에두고 관련된 변수가 연속적인 척을합니다.


12
부동 소수점 이산 적입니다 ... 프로그래머가 연속 척하는 경우 결과가 중요하지 않거나 프로그래머가 자신이하는 일을 이해하지 못했음을 의미합니다.
AnoE

2
나는 정중하게 동의하지 않습니다.
Yuval Filmus

6
@YuvalFilmus는 부동 소수점이 이산 적이므로 더 이상 할 말이 없습니다. 평범한 컴퓨터에 무언가를 넣을 때마다 그것은 개별화되었습니다.
Jean-Baptiste Yunès

5
@AnoE는 결과가 특정 정밀도까지 신뢰할 수 있음을 의미합니다. 즉, Yuval은 "가장 친척"을 의미합니다. 유용한 결과를 얻을 수 있지만 정밀도를 흐리게해야합니다. 큰 세트의 경우 의미가 있습니다. 이것을 고전 역학 문제와 대조해보십시오. 측정이 정확하지 않다는 것을 알고 있습니다. 3cm 물체에는 실제로 3.000000000 ~ cm의 길이가 없습니다. 합리적인 지점에서 측정의 정밀도를 자릅니다.
Mindwin

6
나는 우리의 마음이 어떻게 작동하는지에 대한 질문이 아니라고 생각합니다. 나는 그것이 실제로 작동하는 방식에 관한 것이라고 생각합니다. 부동 소수점 숫자가 근사치 인 이유는 불연속이기 때문입니다. 비록 그들이 실제로 컴퓨터에서 가치가 왜 다른지에 대한 질문에 답하는 데 도움이되지는 않더라도 그것들을 연속적인 것으로 생각하는 것은. 참고로 생각하는 방식은 위험 할 수 있습니다. 많은 버그는 프로그래머가 부동 소수점을 연속적인 것으로 생각한 결과입니다. 10 분의 1이나 100 분의 1과 같은 정확한 것으로 생각되는 일반적인 숫자조차도 부동 소수점에 가깝습니다.
JimmyJames

-2
  • 컴퓨터에서 데이터를 사용하려면 데이터가 컴퓨터의 액세스 가능한 메모리 내에 있어야합니다
  • 컴퓨터의 접근 가능한 메모리는 유한하다
  • 컴퓨터의 접근 가능한 메모리에는 유한 데이터 만 존재할 수 있습니다
  • 불연속 값은 무한합니다

컴퓨터 과학의 데이터는 분리 된 것으로 간주됩니다.


"비 이산 값이 무한하다"는 것은 무엇을 의미합니까? 예를 들어, 은 무한 반복 반복 십진수이지만 와 같이 유한하게 지정할 수 있습니다 . elimt(1+1/t)t
David Richerby

지정한 수식은 속기입니다. 실제 실제 "응답"이 필요한 계산에는 사용할 수 없으므로 컴퓨터에서 의미있는 "작업"을 수행 할 수 없습니다. 작은 텍스트 파싱 프로그램을 작성하여 비이성적 인 숫자의 텍스트 표현을 취하고 뱉을 수는 있지만 해당 숫자의 "값"의 실제 숫자 표현은 메모리에 저장할 수 없습니다. 종이를 들고 손에 모든 것을 들고 있다고 말합니다.
Repomeister

1
실수를 계산하는 유일한 방법은 소수 확장을 생성하는 것이라고 가정하는 것 같습니다. 그것은 사실이 아닙니다.
David Richerby

2
실제 가치가 없다면 실제로 "컴퓨팅"입니까? 전혀. 모든 컴퓨터 대수 패키지는 항상이 작업을 수행합니다. 실제 값을 작성된 fourmulas로 추상화하면 실제 값이 아닌 엔티티 간의 관계를 최대로 표시 할 수 있습니다. 은 실제 값처럼 보입니다. 계산이 실제 값으로 해석되지 않으면 근사치 일뿐입니다. 만약 반지름 2의 원의 면적이 라고하면 그것은 근사치이지만 50.265라고하면 근사치가 아닙니까? 16 πeiπ=116π
David Richerby

1
@Repomeister 구슬의 수는 아마도 정수일 것이므로 덜 흥미로운 예입니다-표현하기 위해 실제 숫자가 필요하지 않습니다. 그러나 컴퓨터는 Tarski (80 년대 Ben-Or, Kozen 및 Reif에 의해 향상됨)의 유명한 결과 인 실수에 대해 정확한 수학을 수행 할 수 있습니다 . 특히 정수, 비교 연산자 , 필드 연산자 및 변수 사용하여 표현식을 작성하는 경우 컴퓨터는 표현이 참인 실수 이 있는지를 결정할 수 있습니다 . + , , × , ÷ x 1 , x 2 , , x n x 1 , , x n<,,>,,=,+,,×,÷x1,x2,,xnx1,,xn
Charles
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.