Bilgisayar bilimindeki veriler neden ayrık olarak kabul edilir?


35

Verilerin "yapısının" tamamen Boole Cebirine bağlı olduğunu biliyorum, ancak:

Veriler neden sürekli bir değil, ayrı bir matematiksel varlık olarak kabul edilir?

Bununla ilgili:

Verilerin boyutlarında sürekli bir varlık olarak yapılandırılmasında ihlal edilen sakıncalar veya değişmezler nelerdir?r

Ben bir matematik öğrencisi olduğum için bu alanda uzman değilim, o yüzden birisi bana beş yaşımdayken bunu açıklarsa çok memnun olurum.


12
Gerçek hesaplama makul derecede güçlü olmazdı
ha

1
Zaman izin veriyorsa, bu bölümü gözden geçirin. Yazar Analog vs İkili sinyallerden
Muhammad Sayef

Yanıtlar:


44

Cevap

veri sürekli neden değil, ayrı bir matematiksel varlık olarak kabul edildi.

Bu bir seçim değildi; Dijital bir bilgisayarda sürekli veya somut değerleri temsil etmek teorik olarak ve pratik olarak imkansızdır.

"Ayrık" ın "tamsayı" veya benzeri bir şey anlamına gelmediğine dikkat edin. "ayrık", "sürekli" in zıttıdır. Bu, ayrık olmayan şeyleri gerçekten depolayabilen bir bilgisayara sahip olmak için, iki numarayı ave bnerede abs(a-b) < εrastgele küçük bir değer alacağınızı saklamanız gerekir ε. Elbette, istediğiniz kadar derin gidebilirsiniz (daha fazla ve daha fazla depolama alanı kullanarak), ancak her (fiziksel) bilgisayarın her zaman bir üst sınırı vardır. Ne yaparsanız yapın, hiçbir zaman keyfi olarak hassas bir şekilde çözülen sayıları saklayan (fiziksel) bir bilgisayar yapamazsınız.

Sayıları matematiksel yapılarla gösterebiliyor olsanız bile (örneğin π), bu hiçbir şeyi değiştirmez. Bir grafiği saklarsanız veya matematiksel bir formülü temsil eden her neyse, o zaman bu diğer her şey kadar ayrıktır.

ek

Gerisi bilgisayar bilimi alanının ötesinde sadece küçük bir bakış açısı. Yorumların gösterdiği gibi, fiziksel konu tartışılmaz ve gördüğünüz gibi, bir sonraki paragrafımı doğru olup olmadığına oldukça karar vermeyecek şekilde formüle ettim. “Süreklilik” kavramının önemsiz olmadığı bir motivasyon olarak alın. Yukarıda verilen cevap, alanın ayrık olup olmamasına bağlı değildir.

Bunların hepsinin bilgisayar sorunu değil, “sürekli” anlamına gelen bir sorun olduğunu unutmayın. Örneğin, herkes evrenin sürekli olduğunu kabul etmemiş, hatta kabul etmemiş bile değil (ör . Planck ölçeği, uzay-zamanın ayrık olduğu anlamına mı geliyor? ). Bazı şeyler için (örneğin, elektronların enerji durumu ve Kuantum (sic) Mekaniğindeki diğer birçok özellik) evrenin sürekli olmadığını bile biliyoruz ; diğerleri için (örneğin, pozisyon ...) jüri hala dışarıda (en azından araştırma sonuçlarının yorumlanmasıyla ilgili olarak ...). (Her ne kadar sürekli olsa bile, keyfi kesinliğe ölçemedik => Heisenberg vs.).

Matematikte, sürekliliği incelemek (yani gerçekleri) , bir "sürekli" tür sayı / veri depolamayı tamamen imkansız kılan ölçü teorisi gibi birçok etkileyici yönü ortaya çıkarır.


Yorumlar uzun tartışmalar için değildir; bu konuşma sohbete taşındı .
DW

29

Bilgisayarlar, sınırlı sayıda bit (sıfırlar ve olanlar) olarak bir veri parçasını temsil eder ve tüm sonlu bit dizelerinin kümesi ayrıktır. Diyelim ki gerçek sayılarla çalışabilirsiniz, eğer onlar için sınırlı bir temsil bulursanız. Örneğin, "bu veri sayısına karşılık gelir" diyebilirsiniz , ancak tüm basamaklarını bir bilgisayarda depolayamazsınız . Bu nedenle, gerçek sayılarla çalışan bilgisayar programları aslında yalnızca ayrık bir alt kümesinde çalışır .π RππR


Dijital bilgisayarlar bunu yapar, ancak analog bilgisayarlar değil.
Drew

Yorumlar uzun tartışmalar için değildir; bu konuşma sohbete taşındı .
DW

8

Tüm bu harika cevaplara ek olarak, Alan Turing'in makinelerini tanımlarken bir bilgisayardan (anlam: bir insan) ayırt edemediğinden, sembollerin miktarının sınırlı olması gerektiğini (keyfi olarak büyük olsa da) iddia ettiğini belirtmekte fayda var. Aksi halde tüm semboller.

İşte 1936 tarihli "Entscheidungsproblem Uygulamasında Uygulanabilir Sayılar Üzerine" yazısından bazı alıntılar:

görüntü tanımını buraya girin

Ve sonra bölüm 9'da:

görüntü tanımını buraya girin görüntü tanımını buraya girin


1
Lütfen görüntüleri aramalarla indekslenebilecek şekilde kopyalayın.
Raphael

7

Hepsi uygulamada.

Bunu düşünürseniz, bilgisayarlar gerçekten sürekli cihazlardır. Bu, nasıl çalıştıklarını düzenleyen tüm EM denklemlerinin sürekli olması gerçeğiyle kolayca gösterilir. Kesin olan şey, bu hesaplama cihazlarının nasıl kullanılacağına karar vermek için kullandığımız modeller. Hesaplamayı tanımlamak için kullandığımız soyut makinelerin hepsi ayrık.

Bunun büyük pratik avantajı birçok kalite kontrol zorluklarından bağımsız olması. Bilgisayar modellerimiz transistörlerinin ve kapasitörlerinin tam sürekli yapısını kullanıyorsa, o zaman her transistörü ne kadar iyi inşa ettiğimize dikkat etmek zorunda kalırız. Bunu ses dünyasında görebiliriz. Dünyada yaşayan müzik tutkunları arasında, tam olarak istedikleri sürekli şeyi yapan, özenle seçilmiş ve eşleştirilmiş 10 transistöre sahip olabilecek bir amplifikatöre 2000 dolar harcamak mantıklıdır . Core i7 işlemcideki 1.400.000.000 transistörle bunun 400 dolara mal olmasıyla kontrast oluştur .

Hesaplamalı modellerimiz farklı olduğu için, bir bilgisayarda gördüğümüz tüm sinyalleri ayrı bir sinyal artı bazı sürekli hata terimleri olarak modelleyebiliriz. Ardından hataları, ayrık sinyalin bir parçası olmak için doğru şekil olmadıklarını gözlemleyerek filtreleyebiliriz.

Bunun önemli bir kısmı soyut modellerimizde zaman terimlerinin kaldırılmasıdır. Modellerimizin çoğu zamanı bir fiziksel sürece karşı değil, bir saat olarak bilinen bir "mantıksal" sinyale karşı ölçer. Bir saati yarıda keserseniz, sistem hareket etmeyi durdurur, ancak bozulmaz. Sadece olabilecek tüm analog hataları gidermeyi bitirir ve saatin bir sonraki ayrık nabzını bekleyerek oturur. Sürekli zaman terimlerini kaldırmak, hesaplamayı çok basitleştirir ve hesaplama ile ilgili kanıtları sağlar. Bunun yerine, zaman kavramlarımız, algoritmaların P ve NP kategorizasyonlarında görüldüğü gibi isteğe bağlı olarak ölçülür.


7

Çünkü:

  • Dijital bilgisayarlar rastgele gerçek sayıları depolayamaz.

  • Analog bilgisayarlar, termal gürültü (elektronik ise), sürtünme (mekanik veya hidrolik ise), rahatsızlıklar, sıcaklık değişimlerine duyarlılık, kaçınılmaz kusurlar ve eskimeye maruz kalır. Bu tür zorluklarla başa çıkmak (deneysel) fizikçiler ve mühendislerin yaptığı şeydir. Çoğu bilgisayar bilimi basitçe fiziği soyutlar.

İşte gerçek hesaplama hakkında bazı makaleler :

ve işte analog hesaplamayla ilgili bir makale :


4

Modern bakışta “bilgisayar” terimi “dijital bilgisayar” anlamına gelir; Dijital bir bilgisayarın özü sınırlı sayıda ayrık duruma sahip olmasıdır. Dijital bilgisayarların analog bilgisayarlardan daha çok yararlanma nedenlerinin öncelikli olarak mühendislik pratikliği ile ilgili olduğu veya teorik bilgisayar biliminden daha iyi desteklendiği için ilginç bir tartışması olabilir. Fakat nedenleri ne olursa olsun, dijital bilgisayarlar bizim sonuçta olduğumuz şeydir ve bir dijital bilgisayarın (ve dolayısıyla verilerinin) herhangi bir faydalı matematiksel modeli sürekli değil, ayrık olacaktır.


2

Kelime dataLatince kelimeden türemiştir datum, yani verilen bir şeydir. Zamanla çoğul form kullanımı değişti ve şimdi yaygın olarak hem tekil hem de çoğul olarak kullanılıyor. Ayrıca özellikle bilgi ile ilişkilendirildi.

Bir bilgi (veri) ile gösterimi arasında bir fark olduğuna dikkat edin.

Bilgi Teorisi (diğer şeylerin yanı sıra) değişkenlerle temsil edilen ayrık bilgi parçalarıyla ilgilenir. Bunlar sayılabilir varlıklardır. Örneğin, hız, konum, kütle, vb. Hepsi sürekli büyüklüklerdir, fakat birbirlerinden ayrıdırlar: kütle ve yer arasında bir dönüşüm yoktur. Bu miktarlar sayısal olarak gösterildiğinde, veri maddeleri, ancak temsil edildiklerinde de birbirlerinden ayrıdırlar.

Öte yandan, mevcut bilgisayarlarımızın büyük çoğunluğu bilgileri göstermek için bir miktar elektrik yükü kullanmaktadır. Ücret ya var ya da yok; devrede akım var veya yok. Bu da ayrık, ama olması gerekmiyor! Bu sadece teknolojimizin geliştirdiği yöntemlerden dolayı ikili gösterimi kullanmamızdır. Kuantum Hesaplamadaki gelişmelerin yakın gelecekte bunu değiştirmesi olasıdır. Aynı zamanda analog bilgisayarların yeniden canlanacağı ve düşünsel olarak temsil edilmesi gereken sayıların ortadan kalkacağı düşünülemez !

Özetlemek gerekirse: dataher biri bir veri olan, ayrı bilgi öğelerinden oluşur; Oysa her bir verinin ayrık matematik kullanılarak gösterilmesine gerek yoktur, ancak şu anda tamamen çağdaş bir tesadüf eseridir.


1
Bilgi teorisi sürekli değişkenleri de idare edebilir.
Yuval Filmus


2

Temel öncülünüze meydan okumak istiyorum:

Veriler neden sürekli bir değil, ayrı bir matematiksel varlık olarak kabul edilir?

Değil.

Örneğin, Algoritmaların incelenmesi Bilgisayar Biliminin önemli bir alt alanıdır ve sürekli verilerle çalışan birçok algoritma vardır. Muhtemelen, iki doğal sayının en büyük ortak bölenini hesaplamak için Euclid Algoritması hakkında bilginiz vardır, ancak Euclid'in aynı zamanda, iki eşzamanlı çizginin en uzun ortak ölçüsünü hesaplayan aynı algoritmanın geometrik bir versiyonuna sahip olduğunu biliyor muydunuz? Bu, Euclid bu şekilde düşünmese de, gerçek sayılar üzerinden bir algoritmanın (ve böylece bilgisayar bilimi çalışmasının bir nesnesinin) bir örneğidir.

Algoritmaları sınıflandırmanın birçok farklı yolu vardır, ancak kullanılan bir yol da onları "sürekliliği" ile sınıflandırmaktır:

  • Dijital Algoritmalar (dijital veriler üzerinde kesikli olay algoritmaları):
    • Öklid algoritmasının sayısal varyantı
    • okulda öğretildiği gibi uzun süreli bölünme, çarpma vb.
    • Herhangi bir bilgisayar programı, λ-matematik programı, Turing Makinesi
  • Sayısal olmayan veriler, ayrık olay algoritmaları (sürekli veri üzerinde algoritmalar, ancak yine de "adım" kavramı, yani sürekli veri fakat ayrık zaman).
    • Öklid algoritmasının geometrik varyantı
    • gerçek sayılar üzerine algoritmalar (örneğin, Gauss Eliminasyon Prosedürü)
    • Sürekli fonksiyonlar için algoritmalar (örneğin, biseksiyon algoritması)
  • Analog Algoritmalar (sürekli zaman, sürekli veri):
    • elektrik devreleri
    • mekanik jiroskoplar
  • Hibrit Algoritmalar (yukarıdakilerin herhangi bir kombinasyonu)
    • robotlar

Diğer cevaplar, Bilgisayar Biliminin bir diğer önemli alanı olan Hesaplanabilirlik Teorisinde Gerçek Hesaplama'dan daha önce bahsetti.

r

Tek gerçek (çok fazla amaçlanan hedef) dezavantajı, bu verilerin ortak dijital bilgisayarlarla temsil edilememesidir. Sen olabilir düşünmek sürekli veri üzerinden algoritmalar hakkında, ama sen olamaz çalıştırmak genellikle algoritmaları çalıştırmak için kullandıkları standart makinelerde bunları.

Sürekli verilerin dijital veriler kadar "görünür" olmamasının ana nedeni budur.

Bununla birlikte, bir analog algoritmanın uygulanmasının aslında hayal etmek ve hatta inşa etmek için karmaşık olması gerekmez. Örneğin, bu bir analog algoritmanın bir uygulamasıdır: Triumph Cycle bisikletBy Andrew Dressel  - kendi çalışması, CC BY-SA 3.0 , Bağlantı

rqrq×r q × ππq×π


"Sürekli verilerle çalışan birçok algoritma var" - Eğer böyle şeylere "algoritmalar" denmesi gerekiyorsa uzun bir tartışmamız olabilirdi, ama bu anlambilim hakkında bir alev dalgası olurdu, o yüzden olmaz. Mesele şu ki, bunlar bilgisayarlarda çalışan "algoritmalar" değil, teorik, resmen tanımlanmış, süper Turing cihazlarında.
Raphael

1
Bisiklet metaforunu yanıltıcı buluyorum. Bir işlevi hesaplayan bir şey, bugünlerde evrensel olduğunu varsaydığımız bir bilgisayar değildir .
Raphael

1

Daha soyut bir vuruş yapmak için, ister bilgisayarda ister kafanızda olsun, sonunda sonuç verecek herhangi bir olası hesaplama, yalnızca sınırlı miktarda veriyle başa çıkabilir. Bu, verilerin bir sembol dizisi ile temsil edilebileceği anlamına gelir. Bu dize bir sayının ("42") rakamını veya için verileri oluşturan bir programın metni olabilir ("4 * atanmış (1)" ). Dizenin sonlu olması gerekir veya programı çalıştırmak için her şey asla okunamaz.π

Şimdi, tüm olası sonlu veri kümeleri leksikografik sıraya yerleştirilebilir, bu da kümenin sayılabilir olduğu anlamına gelir. Ancak, sürekli gerçek sayılar kümesi sayılamazdır, bu nedenle devamlılıkta her zaman belirli bir hesaplama sistemi tarafından saklanamayan sayılar vardır. Bundan, keyfi bir gerçek sayının saklanmasının sonsuz kaynaklar gerektirdiği sonucuna varabiliriz.


1
Sanırım bu soruya yalvarıyor . Girişini inceleyen bir kağıt parçasından alan ve çıktısını çizdiği bir kağıt parçasına veren bir bilgisayar düşünün. OP'nin önerdiği gibi veriler sürekli olsaydı, böyle bir bilgisayar yalnızca sınırlı miktarda veri ile sınırsız biçimde kesin olabilirdi.
ruakh

@ruakh Örneğin çizilen bir çizginin tam uzunluğunu okuyabildiği analog bir Turing makinesi gibi bir şeyden mi bahsediyorsunuz?
Mark H

Evet kesinlikle. Anladığım kadarıyla OP'nin sorduğu şey bu.
17'de ruakh

0

Veriler her zaman ayrı olarak kabul edilmez. Bilimsel programlama genellikle kayan noktalı aritmetik içerir. Programcı genellikle, değişkenlerin sürekli olduğunu iddia ederken, verinin sadece sonlu bir kesinlikte depolanmasından kaynaklanan sayısal kararlılık sorununu da göz önünde bulundurarak tutar.


12
Kayan nokta olan ayrık ... sürekli olan bir programcı yerindeymiş gibi eğer ya sonuçları meselesi değil ya bu sadece aracı programcı ne yaptığını anlamış olmadığını.
AnoE

2
Saygılarımla aynı fikirde değilim.
Yuval Filmus

6
@YuvalFilmus alas kayan nokta olduğu için ayrık olduğu söylenecek başka bir şey yok. Her zaman bir şey sıradan bir bilgisayara konur.
Jean-Baptiste Yunès

5
@Hayır, sonuçların kesin bir kesinliğe kadar güvenilmesi gerektiği anlamına gelir, Yuval'ın "taklit" ile ifade ettiği şey budur. Kullanılabilir bazı sonuçlar elde edebilirsiniz, ancak hassasiyetin üzerine odaklanmak zorundasınız. Büyük setler için mantıklı. Bunu klasik mekanik problemleriyle karşılaştır: ölçümlerin kesin olmadığını biliyorsun. 3 cm'lik bir nesne gerçekte 3.000000000 ~ cm lentgh'e sahip değildir. Ölçümünüzün hassasiyetini makul bir noktada kesin.
Mindwin

6
Sorunun zihinlerimizin nasıl çalıştığı hakkında olduğunu sanmıyorum. Sanırım işlerin gerçekte nasıl yürüdüğü hakkında. Kayan nokta sayılarının yaklaşık olmasının nedeni, ayrık olmalarıdır. Gerçekte olmasalar da onları sürekli olarak düşündüğünüzde, bilgisayarlarda değerlerin neden ayrık olduğu sorusunu cevaplamaya yardımcı olmaz. Bir yandan, düşünme biçiminiz tehlikeli olabilir. Birçok hata, programcıların kayan noktaların sürekli olduğunu düşünmesinden kaynaklanmıştır. 1, 10 veya 1. Gibi kesin olduğunu düşündüğümüz yaygın sayılar bile kayan noktalarda yaklaşık değerlerdir.
JimmyJames

-2
  • Bir bilgisayarın verilerle çalışması için, verilerin bilgisayarın erişilebilir belleği içinde bulunması gerekir.
  • Bir bilgisayarın erişilebilir belleği sonlu
  • Bir bilgisayarın erişilebilir hafızasında yalnızca sınırlı veri var olabilir
  • Ayrık olmayan değerler sonsuzdur

Bilgisayar bilimindeki veriler ayrık olarak kabul edilir.


"Kesikli olmayan değerler sonsuzdur" ne demek? Örneğin, sonsuz, yinelenmeyen bir ancak sınırlı bir şekilde . elimt(1+1/t)t
David Richerby

Belirttiğiniz formül kısaca - gerçek gerçek "cevabı" gerekli olan hesaplamalarda kullanamazsınız ve bu nedenle bilgisayar tarafından anlamlı bir "iş" yapılamaz. İrrasyonel sayıların metinsel gösterimlerini almak ve tükürmek için küçük bir metin ayrıştırma programı yazabilirsiniz, ancak bu sayının "değerlerinin" gerçek sayısal gösterimi bellekte saklanamaz - artık "bu sonsuzluk" yazabilirim bildiriyorum ve her şeyi elimde tuttuğumu söylüyorum.
Repomeister

1
Gerçek sayı üzerinde hesaplama yapmanın tek yolunun ondalık genişlemesini üretmek olduğunu varsayıyor gibisiniz. Bu sadece durum böyle değil.
David Richerby

2
Eğer gerçek bir değeriniz yoksa, gerçekten "bilgi işlem" mi yapıyorsunuz? Kesinlikle. Herhangi bir bilgisayar cebir paketi bunu her zaman yapar. gerçek değerleri yazılı dörtmulasa soyutlayarak en çok varlıklar arasındaki ilişkileri gösterebilir, gerçek değerleri değil bana gerçek bir değer gibi görünür. Hesaplamalar hiçbir zaman gerçek bir değere çözümlenmezse, sadece bir yaklaşımdır. Öyleyse, eğer yarıçapı 2 olan bir dairenin alanının olduğunu söylersem, bu bir "yaklaştırma" dır, ama eğer bunun 50.265 olduğunu söylersem ... bu bir yaklaşım değil mi? 16 πeiπ=116π
David Richerby

1
@Repomeister Mermer sayısı muhtemelen bir tamsayı olurdu, bu yüzden daha az ilginç bir örnek - onu ifade etmek için gerçek sayılara ihtiyacınız yok. Ancak bilgisayarlar , Tarski'nin (80'li yıllarda Ben-Or, Kozen ve Reif tarafından geliştirilmiş) ünlü bir sonucu olan gerçek sayılarla tam olarak matematik yapabilir . Özellikle, tamsayıları kullanarak bir ifade yazarsanız, karşılaştırma işleçleri , alan işleçleri ve değişkenleri bir bilgisayar , ifadeyi gerçek sayılar olup olmadığına karar verebilir . + , - , × , ÷ x 1 , x 2 , , x n x 1 , , x n<,,>,,=,+,,×,÷x1,x2,,xnx1,,xn
Charles,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.