コンピューターサイエンスのデータが離散的であると見なされるのはなぜですか?


35

データの「構造」はブール代数に完全に依存していることを理解していますが、

なぜデータは連続的なものではなく、離散的な数学的実体と見なされるのですか?

これに関連する:

次元の連続したエンティティとしてデータを構造化する際に違反する欠点または不変条件は何ですか?r

私は学部の数学の学生なので、この分野の専門家ではないので、誰かが私に5歳のように説明してくれたら本当に感謝しています。


12
実際の計算は不当に強力です
ハロルド

1
時間が許せば、この章に目を通してください。著者から学ぶことは非常に簡単で、それを説明するバイナリ信号対アナログ
ムハンマドSayef

回答:


44

回答

なぜデータは連続的なものではなく、離散的な数学的実体とみなされた

これは選択ではありませんでした。連続的で具体的な値をデジタルコンピューターで表現すること、または実際にあらゆる種類の計算で表現することは、理論上および実際上不可能です。

「離散」は「整数」またはそのようなものを意味しないことに注意してください。「離散」は「連続」の反対です。これは、非離散的なものを本当に格納できるコンピューターを使用するには、2つの数値ababs(a-b) < ε任意の小さい値のを格納できる必要があることを意味しますε。もちろん、必要なだけ深くすることができます(より多くのストレージスペースを使用することで)が、すべての(物理)コンピューターには常に上限があります。何をするにしても、任意に細かく解決された数値を保存する(物理的な)コンピューターを作ることはできません

数学的な構造(たとえばπ)で数値を表現できる場合でも、これによって何も変わりません。グラフまたは数式を表すものを保存する場合、これは他のものと同じように離散的です。

補遺

残りは、コンピューターサイエンスの分野を超えたほんの少しの展望です。コメントが示したように、物理的なトピックは議論の余地のないものではなく、ご覧のとおり、次のパラグラフは、それが真実であるかどうかにかなりコミットしない方法で作成しました。「連続体」の概念は些細なものではないという動機として、それをもっと理解してください。上記の答えは、空間が離散的であるかどうかに依存しません。

これはすべてコンピューターの問題ではなく、「継続的」という意味の問題であることに注意してください。たとえば、宇宙が連続的であるということに誰もが同意したわけでも、過去に同意したわけでもありません(たとえば、プランクスケールは時空が離散的であることを意味しますか?)。いくつかの事柄(たとえば、電子のエネルギー状態や量子力学のその他多くの特徴)については、宇宙は連続的ではないことさえ知っています。他の人(例:ポジション...)については、審査員はまだ出ていません(少なくとも研究結果の解釈に関しては...)。(それが連続的であっても、任意の精度=>ハイゼンベルグなどで測定できないという問題にもかかわらず)。

数学では、連続体(つまり、実数)を調べると、メジャー理論のような多くの魅力的な側面が開かれます。


コメントは詳細なディスカッション用ではありません。この会話はチャットに移動さました
DW

29

コンピューターは、データの断片を有限数のビット(ゼロと1)として表し、すべての有限ビット文字列のセットは離散的です。たとえば、実数を使用できるのは、それらの有限表現が見つかった場合のみです。たとえば、「このデータは数字対応します」と言うことができますが、πのすべての数字をコンピューターに保存することはできません。したがって、実数で動作するコンピュータープログラムは、実際にはRの離散サブセットでのみ動作します。ππR


デジタルコンピューターはそれを行いますが、アナログコンピューターは行いません。
ドリュー

コメントは詳細なディスカッション用ではありません。この会話はチャットに移動さました
DW

8

これらすべての素晴らしい答えに追加するために、アラン・チューリングは、マシンを定義するとき、コンピューター(意味:人間)が区別できなかったため、シンボルの量は有限である必要があると主張していることに注意する価値がありますそれ以外の場合はすべてのシンボル。

1936年の論文「計算可能な数について、Entscheidungsproblemへの応用」からの抜粋を以下に示します。

ここに画像の説明を入力してください

そして、セクション9で:

ここに画像の説明を入力してください ここに画像の説明を入力してください


1
画像を検索してインデックスに登録できるようにしてください。
ラファエル

7

すべて実装中です。

考えてみると、コンピュータは本当に連続したデバイスです。これは、それらがどのように機能するかを支配するすべてのEM方程式が連続しているという事実によって簡単に示されます。個別のものは、これらのコンピューティングデバイスの使用方法を決定するために使用するモデルです。計算を記述するために使用する抽象マシンはすべて離散的です。

この大きな利点は、多くの品質管理の課題から独立していることです。コンピューターのモデルがトランジスターとコンデンサーの完全な連続性を活用している場合、すべてのトランジスターを非常にうまく構築することに注意する必要があります。これはオーディオの世界で見ることができます。世界のオーディオ愛好家が住んでいる、それは彼らが望む連続したことを正確に行う10非常に慎重に選択され、一致したトランジスタを持っているかもしれないアンプに2000 ドルを費やすこと合理的です。これとは対照的に、Core i7 CPUに搭載された1,400,000,000個のトランジスターは、400 ドルという莫大な費用がかかります。

計算モデルは離散的であるため、コンピューターに表示されるすべての信号を離散信号といくつかの連続誤差項としてモデル化できます。次に、離散信号の一部として適切な形状ではないことを観察するだけで、エラーを除外できます。

これの主要な部分は、抽象モデルの時間用語の削除です。私たちのモデルの多くは、物理的なプロセスに対する時間ではなく、クロックと呼ばれる「論理的な」信号に対する時間を測定します。クロックを中断すると、システムは停止しますが、故障しません。アナログエラーのクリアを終了し、クロックの次の離散パルスを待機します。連続時間項を削除すると、計算と計算に関する証明が大幅に簡素化されます。代わりに、アルゴリズムのPおよびNP分類に見られるように、時間の概念は離散的に測定されます。


7

なぜなら:

  • デジタルコンピューターは、任意の実数を格納できません。

  • アナログコンピューターは、熱ノイズ(電子の場合)、摩擦(機械的または油圧の場合)、外乱、温度変化に対する感度、避けられない不完全性および経年劣化に悩まされています。そのような困難に対処することが、(実験的な)物理学者とエンジニアの仕事です。ほとんどのコンピューターサイエンスでは、物理学を単純に抽象化します。

実際の計算に関するいくつかの論文は次のとおりです。

そして、ここにアナログ計算に関する論文があります:


4

現代用語では「コンピューター」という用語は「デジタルコンピューター」を意味します。デジタルコンピューターの本質は、有限数の離散状態を持つことです。デジタルコンピューターがアナログコンピューターよりも有利になった理由は、主にエンジニアリングの実用性に関するものなのか、それとも理論的なコンピューターサイエンスからのより良い基盤に起因するのかについて、興味深い議論があります。しかし、理由が何であれ、デジタルコンピューターは最終的に私たちのものになり、デジタルコンピューター(およびそのデータ)の有用な数学モデルは、連続的ではなく離散的になります。


2

この言葉dataはラテン語に由来し、datum与えられたものを意味します。時間が経つにつれて、複数形は使用法を変え、現在では単数形と複数形の両方として一般的に使用されています。また、特に情報と関連付けられるようになりました。

情報の項目(データ)とその表現には違いがあることに注意してください。

情報理論は、(とりわけ)変数によって表される個別の情報を扱います。これらは可算エンティティです。たとえば、速度、位置、質量などはすべて連続的な量ですが、互いに離散しています。質量と位置の間には変換がありません。これらの数量が数値で表されている場合、それらのデータ項目は、表されていても、互いに離散しています。

一方、現在のコンピューターの大部分は、何らかの形式の電荷を使用して情報を表現しています。課金は存在するか、存在しないかのいずれかです。回路に電流が流れているか、流れていない。これも離散的ですが、そうである必要はありません!バイナリ表現を使用するのは、単に当社の技術が開発した方法のためです。量子コンピューティングの開発が近い将来これを変える可能性があります。また、アナログコンピューターが復活し、数字をバイナリで表す必要があるという概念が洗い流されることも考えられません。

要約dataすると、それぞれがデータである個別の情報項目で構成されています。一方、各データムは個別の数学を使用して表す必要はありませんが、現在は純粋に現代の偶然によるものです。


1
情報理論は連続変数も扱うことができます。
ユヴァルフィルマス

1
たとえば、微分エントロピーを参照してください。
ユヴァルフィルマス

2

あなたの基本的な前提に挑戦したい:

なぜデータは連続的なものではなく、離散的な数学的実体と見なされるのですか?

そうではありません。

たとえば、アルゴリズムの研究はコンピューターサイエンスの重要なサブフィールドであり、連続データで機能する多くのアルゴリズムがあります。おそらく、2つの自然数の最大公約数を計算するユークリッドのアルゴリズムに精通しているでしょうが、ユークリッドには、2つの通約可能な線の最長共通測度を計算する同じアルゴリズムの幾何学的バージョンもあることをご存知ですか?これは、ユークリッドがこのように考えていなかったとしても、実数、つまり連続データに対するアルゴリズム(したがってコンピューターサイエンスの研究対象)の例です。

アルゴリズムを分類するにはさまざまな方法がありますが、使用される1つの方法は、アルゴリズムを「連続性」で分類することです。

  • デジタルアルゴリズム(デジタルデータ上の離散イベントアルゴリズム):
    • ユークリッドのアルゴリズムの数値バリアント
    • 学校で教えられているように、ロングハンド除算、乗算など
    • 任意のコンピュータープログラム、λ計算プログラム、チューリングマシン
  • 非デジタルデータ、離散イベントアルゴリズム(連続データのアルゴリズム。ただし、「ステップ」の概念があります。つまり、連続データですが離散時間です)。
    • ユークリッドのアルゴリズムの幾何学的な変形
    • 実数のアルゴリズム(例:Gauss 'Elimination Procedure)
    • 連続関数のアルゴリズム(二分法アルゴリズムなど)
  • アナログアルゴリズム(連続時間、連続データ):
    • 電気回路
    • 機械式ジャイロスコープ
  • ハイブリッドアルゴリズム(上記の任意の組み合わせ)
    • ロボット

他の回答では、コンピューターサイエンスのもう1つの重要なサブフィールドである計算可能性理論における実際の計算について既に言及しています。

r

唯一の本当の(非常に意図された)欠点は、そのようなデータを一般的なデジタルコンピューターで表現できないことです。連続データに対するアルゴリズムについて考えることはできますが、アルゴリズムを実行するために通常使用する標準的なマシンでは実行できません。

これが、連続データがデジタルデータほど「可視」ではない主な理由です。

ただし、アナログアルゴリズムの実装は、実際に想像したり構築したりするために複雑にする必要はありません。たとえば、これはアナログアルゴリズムの実装は次のようになりますトライアンフサイクル自転車ことでアンドリュードレッセ  -自分の仕事、CC BY-SA 3.0リンク

rqrq×rπq×π


「連続データで動作する多くのアルゴリズムがあります」-そのようなものを「アルゴリズム」と呼ぶべきかどうかについては長い議論がありますが、それはセマンティクスに関する火炎戦争になるので、そうではありません。ポイントは、これらはコンピューター上で実行される「アルゴリズム」ではなく、理論的に正式に定義されたスーパーチューリングデバイス上で実行されるということです。
ラファエル

1
自転車の比phorは誤解を招くと思う。1つの関数を計算するものはコンピューターではありません。コンピューターは最近普遍的であると仮定しています。
ラファエル

1

π

現在、すべての可能な有限データのセットを辞書式順序で配置できます。つまり、セットはカウント可能です。しかし、連続する実数のセットは数えられないため、特定の計算システムで保存できない数が常に連続体にあります。これから、任意の実数のストレージには無限のリソースが必要であると結論付けることができます。


1
これは質問をしていると思います。調べている紙から入力を受け取り、描画した紙に出力するコンピューターを考えてみましょう。OPが示唆するようにデータが連続している場合、そのようなコンピューターは有限量のデータで無限に正確になる可能性があります。
-ruakh

@ruakh例えば、描かれた線の正確な長さを読み取ることができるアナログチューリングマシンのようなものについて話していますか?
マークH

はい、正確に。私が理解しているように、それはOPが求めている種類のものです。
-ruakh

0

データは常に離散と見なされるとは限りません。科学的プログラミングには、多くの場合、浮動小数点演算が含まれます。通常、プログラマーは、データが有限精度でのみ保存されるという事実に起因する数値の安定性の問題を念頭に置きながら、関連する変数が連続的であると見せかけます。


12
浮動小数点離散的です...プログラマーがそれが連続しているふりをする場合、それは結果が重要でないか、プログラマーが何をしているのか理解していないことを意味します。
AnoE

2
私は丁重に同意しません。
ユヴァルフィルマス

6
@YuvalFilmusは悲しいことに、浮動小数点は離散的であるため、これ以上言うことはありません。何かが普通のコンピューターに入れられるたびに、それは離散化されています。
ジャンバプティストユネス

5
@AnoEは、結果が特定の精度まで信頼されることを意味します。これが、Yuvalが「ふり」によって意味するものです。いくつかの有用な結果を得ることができますが、精度を曖昧にする必要があります。大きなセットの場合、それは理にかなっています。これを古典的なメカニックの問題と比較してください。測定値が正確ではないことを知っています。3cmのオブジェクトには実際には3.000000000〜cmの長さはありません。合理的なポイントで測定の精度を下げるだけです。
マインドウィン

6
問題は、私たちの心がどのように機能するかについてではないと思います。物事が実際にどのように機能するかについてだと思います。浮動小数点数が近似値である理由は、それらが離散的であるためです。それらが実際には連続的ではないとしても、コンピューターで値が離散的である理由の質問に答える助けにはなりません。余談ですが、あなたの考え方は危険です。多くのバグは、浮動小数点が連続的であると考えているプログラマーに起因しています。10分の1や100分の1など、正確であると考えがちな一般的な数値でさえ、浮動小数点で近似しています。
ジミージェームズ

-2
  • コンピューターがデータを処理するには、コンピューターのアクセス可能なメモリ内にデータが存在する必要があります
  • コンピューターのアクセス可能なメモリは有限です
  • コンピューターのアクセス可能なメモリ内に存在できるのは有限データのみです
  • 非離散値は無限です

コンピューターサイエンスのデータは離散的であると見なされます。


「非離散値は無限」とはどういう意味ですか?たとえば、は無限の非繰り返し10進数ですが、lim t 1 + 1 / t )のように有限な方法で指定できますelimt(1+1/t)t

指定した式は略式です。実際の実際の「答え」が必要な計算には使用できず、コンピューターで意味のある「作業」を行うことができません。無理数のテキスト表現を取り入れたり吐き出したりする小さなテキスト解析プログラムを書くことができますが、それらの数値の「値」の実際の数値表現をメモリに保存することはできません。紙と私はすべてを手に持っていると言います。
-Repomeister

1
実数で計算する唯一の方法は、10進展開を生成することであると仮定しているようです。それは単にそうではありません。
デビッドリチャービー

2
eiπ=116π、それは「近似」ですが、私はそれは50.265だということを教えてくれた場合...その近似ではありませんか?
デビッドリチャービー

1
<,,>,,=,+,,×,÷x1,x2,,xnx1,,xn
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.