Bitlere bir alternatif var mı?


42

En küçük veri birimi olarak bitlere bir alternatif var mı? Sadece 0 ya da 1 olmayacak, ama aslında aralarında birçok olası durumu barındıran bir şey? Bu şekilde yüzdürme saklamak daha doğal olmaz mıydı?


8
İsteğe bağlı yüzme havuzlarını saklayabilmeniz için devletlerin sonsuzluğuna ihtiyacınız olacak, bu yüzden bu uygulanamaz.
ChrisF

2
@ChrisF: Sınırlı miktarda bit olan bir düzensizlik sonsuzluğunu temsil edebilir misiniz?
kullanıcı bilinmeyen

11
@ userunknown - hayır yapamazsınız. Bu yüzden kayan nokta aritmetiği hataya açıktır. Ne oldu çalışırken söz hakkından daha halleri bulunan aslında hiçbir şeyi çözmez olacağıydı.
ChrisF


5
Sonsuz sayıda farklı şamandıraların benzersiz şekilde temsil edilmesi mümkün değildir. Fizik nedeniyle sınırlı bir alanda yapılamayan tek bir infinifloat'ı benzersiz bir şekilde tanımlamak için sonsuz miktarda bilgi saklamanız gerekir . Belirli bir hacimdeki belirli bir miktarın üzerindeki bilgi depolaması , içeriğin MAX_SPEED'de (daha iyi "ışık hızı" olarak bilinebilseler de) az miktarda zamanda yerçekimsel olarak MAX_DENSITY'ye ezileceği bir yoğunluk gerektirir : siyah delik . Bkz en.wikipedia.org/wiki/Bekenstein_bound CompSci etkileri için.

Yanıtlar:


59

Elbette, hem teorik hem pratik olarak mümkündür.

Teorik olarak iki alternatif sınıf vardır: 2'den farklı bir tabana sahip dijital sayı sistemleri (aslında, bildiğimiz ondalık sistem böyle bir sistemdir); ve dijital olmayan sayı sistemleri. Matematiksel olarak konuşursak, kesikli ve sürekli alanlardan bahsediyoruz.

Uygulamada, her iki seçenek de araştırılmıştır. İlk dijital bilgisayarların bazıları (örneğin ENIAC), şimdiki her yerde bulunan ikili kodlama yerine, ondalık kodlamalar kullanmıştır; diğer bazlar, örneğin, üçlü, mümkün olduğu kadar (veya olanaksız) olmalıdır. Ezoterik programlama dili Malbolge, teorik bir üçlü bilgisayara dayanmaktadır; çoğunlukla hiciv olsa da çalışmamasının teknik bir nedeni yoktur. Sürekli etki alanı depolama ve işleme, tarihsel olarak analog bilgisayarlarda yapıldı; buradaki miktarları, salınım sinyallerinin frekansları ve / veya genlikleri olarak kodlayabilirsiniz ve bu sinyallere her türlü modülasyonu uygulayarak hesaplamalar yaparsınız. Bugün, kuantum hesaplama, sürekli depolama hücrelerinin ardındaki teoriyi tekrar ilginç hale getiriyor.

Her iki durumda da, teorik olarak en küçük bilgi birimi olarak bit hala duruyor, çünkü herhangi bir alternatif tek bir evet / hayır'dan daha fazla bilgi kodlayabiliyor ve hiç kimse henüz daha küçük bir teorik birim bulamadı (ve bunun olmasını beklemiyorum) yakın zamanda).


17
@Dokkat: Analog bir bant gibi sürekli alan depolaması teoride mükemmeldir, ancak pratikte, ilk olarak dijital bilgisayarları kullanmamızın nedenlerinden biri olan, telafi edilemez gürültü ve bozulmadan muzdariptir.
tdammers

19
Bilgi teorisinde 1 bitden daha az bilgi iletmek oldukça mümkündür. Temel fikir, her iki durumun da eşit olması muhtemel olduğunda, bir bit verinin yalnızca bir bit bilgiyi tutmasıdır. Bu tanıma göre, Sahra Çölü'nde "hayır" sorusuna "bugün yağmur yağdı mı?" 1 bitden daha az bilgi taşıyor çünkü bu hemen hemen her zaman cevap.
Michael Borgwardt

9
@Dokkat karmaşık analog miktarları modellemek için yaygındı, 'dijital' bilgisayar analog bilgisayar için bir kontrol sistemi idi. Pratikte bu kararı ile bir analog devre inşa etmek zordurdouble
Martin Beckett

5
Some of the early digital computers employed decimal encodings rather than the now ubiquitous binary encoding- Aslında, ondalık kodlamalar bugün hala kullanılıyor; Buna BCD denir . Çoğu bilgisayardaki BIOS (ondalık tarihler için) ve çoğu ucuz hesap makinesini kullanır, çünkü BCD'deki her şeyi ikili dosyada yapmaktan daha az devre gerektirir (yani daha ucuzdur) . ikili-ondalık dönüştürücü.
BlueRaja - Danny Pflughoeft,

3
@Tdammers'ın dediği gibi, analog sinyalleri kullanarak tek duyarlıklı yüzdürmeleri bile eşleştirmek zordur. 32 bitlik yüzdürmeler etkin bir şekilde 24 bit hassasiyete sahiptir; Karşılaştırılabilir gürültüye sahip analog devreler pahalıdır, enerjiye aç, yavaş ve ortamlarına karşı çok hassastır.
fırtınalı

26

Temel olarak, sensörlerde kullanılan, ancak nadiren dahili hesaplamalar için kullanılan bir analog sinyali açıklıyorsunuz. Sorun, gürültünün kaliteyi düşürmesidir, iletişim kurması zor olan bir referans noktasının çok hassas bir şekilde kalibre edilmesi gerekir ve aktarım bir problemdir, çünkü seyahat ettiği mesafedeki gücü kaybeder.

Analog hesaplamayı keşfetmekle ilgileniyorsanız, çoğu "elektroniklere giriş" sınıflarında op-amp entegratörleri gibi şeyler yaparsınız . Resmi talimatlar olmadan bile kolayca üretilebilirler.

Aynı düğümde birden fazla dijital durumu da saklayabilirsiniz. Örneğin, sıfır olan 0-2,5 volt ve bir olan 2,5-5,0 volt yerine, arasına üçüncü bir durum ekleyebilirsiniz. Yine de çok fazla karmaşıklık ekler ve gürültüye karşı duyarlılığınızı önemli ölçüde artırır.


Bir analog bilgi işlem oldukça yaygındı, fakat sonuçta dijital daha net olabilirdi. Bir değeri temsil etmek için bellekte birkaç bit daha kullanmak, birkaç dB daha düşük (3 bit ~ 20 dB) ve bir noktada (hıza göre değişir) fiziksel olarak imkansız olan parazitleri çekiçlemeye çalışmakla karşılaştırıldığında çok önemsizdir.
Nick T,

Buradaki analog hesaplama ve örneklere verilen önemden hoşlanıyorum. Tamamen dijital bir bilgisayar bilgisinden geldiğimde, her zaman analog hesaplamanın ne olduğunu görmedim. Bunun için googling birçok örnek verecektir. Sanırım, bir prizmanın fourier dönüşümünü "hesapladığını" hatırladığımı hatırlıyorum, çünkü gelen ışığı kurucu frekanslarına böler. Bunu, 0 enerjiyle (FT'yi hesaplamak için gereksinimler anlamında) oldukça hızlı bir şekilde yapıyor. Tabii sonuç ile bir şeyler yapmak büyük olasılıkla sayısallaştırma gerektirir.
Paul,

@NickT Norbert Wiener, içinde sibernetik ve erken oyuncunun yazarı / kontrol teorisi alanı sonuçta analog eşdeğeri kıyasla ikili devrelerin düşük maliyet olduğunu kitabında yer aldığını hatırlattı ikili için neden laboratuarları, araştırmacılar ve endüstri opt
Christophe

20

Bunlara litre denir ve kuantum bilgisayarlarda kullanılır. Wikipedia girişinde onlar hakkında daha fazla bilgi bulacaksınız . Bu tür bilgisayarların kararlı ve ekonomik olarak elverişli hale getirilmesi için araştırmalar yapılmaktadır.


1
Bu benim başımı okurken inciniyor ...
Ryathal

Bir qubit'in tam olarak nasıl çalıştığından emin değilim (daha sonra güncelleyeceğim için okuyorum), ancak bu konsept değilken, qubitlerin mevcut teknolojiyle pratik olmadığını biliyorum. Örneğin, bir kişi fiziksel olarak 'yüzen' biti, bir bardağı dolduran su miktarı ile temsil edebilir ve bir denge kullanarak ölçebilir.
Dokkat

11
Nitpicking: Bir kibrit durumu 0 ile 1 arasında durum tutmaz. Hala 0 veya 1'dir, fakat aynı anda birden fazla duruma sahip olabilir . (Tıpkı "yarı ölü" olmayan, ama aynı anda ölü ve canlı olan Schrodinger'in kedisi gibi)
nikie

7
@ Ryathal Bu aslında iyi bir işaret: "Kuantum teorisi tarafından şok edilmeyen kimse bunu anlamadı." - Niels Bohr
Dan Nely

1
Nedense her zaman soluk mavi ya da pembe Tribbles olarak bıraktım.
Wayne Werner,

17

Doğruluk meselesi

Bit kullanmamızın bir nedeni, bilgileri doğru bir şekilde kaydetmemize ve almamıza yardımcı olmasıdır.

Gerçek dünya analogdur, dolayısıyla tüm bilgisayarların geçtiği ya da depoladığı sonuçta analogdur . Örneğin, bir tel üzerinde belirli bir voltajın akımı veya bir disk üzerinde belirli bir kuvvetin manyetik yükü veya bir lazer disk üzerinde belirli bir derinlikte bir çukur.

Soru şu: bu analog bilgiyi ne kadar doğru ölçebiliyorsunuz ? Bir kablodaki akımın aşağıdaki gibi herhangi bir ondalık sayı olarak yorumlanabileceğini hayal edin:

  • 1 ila 10 volt: 0
  • 10 ila 20 volt: 1
  • 20 ila 30 volt: 2

Vb Bu sistem bir kaç akım darbesinde çok fazla veri iletmemize izin verir, değil mi? Ancak bir sorun var: voltajın ne olduğundan emin olmalıyız. Sıcaklık veya mıknatıslar veya kozmik ışınlar veya herhangi bir dalgalanmaya neden olursa, yanlış sayıyı okuyabiliriz. Ve ne kadar hassas ölçmek istiyorsak, risk o kadar büyük olur. 1 milivolt'luk bir farkın anlamlı olup olmadığını düşünün!

Bunun yerine, genellikle dijital bir yorum kullanıyoruz . Bazı eşiğin üstündeki her şey doğrudur ve altındaki her şey yanlıştır. Böylece “Herhangi bir akım var mı?” Gibi sorular sorabiliriz. yerine " Tam olarak ne kadar akım var?"

Her bir biti güvenle ölçülebilir, çünkü sadece "doğru oyunda" olmak zorundayız. Ve çok fazla bit kullanarak, hala çok fazla bilgi alabiliriz.


1
Adil olmak gerekirse, dijital devrelerin kesinlikle doğru veya yanlış olan ve “tanımsız” durumlar arasındaki ölçülebilir değerleri tanımlamaları gerekir. 3.3 / 5V mantığında <0.8V yanlış,> 2.5V doğru olabilir. Gürültü, hala bu aralıklardaki sinyali alan bir meseledir. Örneğin, bir NPN transistörünü kullanarak bir sinyali düşük seviyeye çekmeye çalışmak, bazı faktörlere bağlı olarak sizi yalnızca 0,55 ila 0,7V'a düşürür. Oynamak için çok değil. Daha tanımlanmış aralıkları tanımladığınızda daha da zorlaştırırsınız.
Scott Whitlock,

2
@ScottWhitlock bunlar sadece teknik özelliklerdir; pim hız veya Beğen kabul etmek için tasarlanmadığı sürece, bu olur (1 ya da 0 bir şekilde giriş yorumlama olabilir ve bu nokta tanımlanmamış bölge özellik değildir bu gibi toplu, besleme gerilimi, imalat, sıcaklığa göre değişiklik gösterebilir Bulanık mantık için yararlanabileceğini öneriyor gibisin).
Nick T,

1
@NickT: tanımsız bölge, büyük bir çarpıtma olduğunu gösterir (normal hata düzeltmesi onu kurtaramayacak kadar büyüktür) ve olası bir yeniden gönderim gereklidir.
Lie Ryan,

2
@LieRyan, böyle özelliklerin (fiziksel katman) ne ile uğraştığından çok daha yüksek bir seviye düşünürsünüz. Tanımsız bölge sadece davranışın (bitin nasıl okunur) tanımsız olduğu ve garanti edilmediği anlamına gelir. Hala işe yarayabilir.
Nick T


3

Bizim için daha doğal olabilir, ancak dijital devreler ve dolayısıyla programlama dilleri için ikili sistemin seçilmesinin özel sebepleri var. İki durumunuz varsa, yalnızca iki volt ayarını 0V ve 5V olarak tanımlamanız gerekir. Yarıçaptaki (baz) her ilave artış için, bu aralığı daha fazla bölmeniz ve böylece birbirinden ayırt edilemeyen değerler elde etmeniz gerekir. Gerilim aralığını artırabilirsiniz, ancak bu kötü erime devresi alışkanlığına sahiptir.

Donanım tipini dijital devreden değiştirmek istiyorsanız, seçenekleriniz daha çeşitlidir. Dişliler çok daha fazla ısı toleransına sahip olduklarından ve elektron yüklerinden çok daha farklı olduklarından mekanik bilgisayarlarda kullanılan ondalık sayılar. Başka bir yerde belirtildiği gibi kuantum bilgisayarların başka şeylerle baş etmenin başka yolları vardır. Optik bilgisayarlar, daha önce ele almadığımız şeyleri de yapabilir ve manyetik bilgisayarlar da bir olasılıktır.


2

Bugünlerde herhangi bir miktarda devlet barındırabilen veya analog verilerle çalışabilecek öğeler üretebileceğinizi düşünüyorum. Tam özellikli ve programlanabilir bir mimari elde etmek için tüm sistemi kurmak ve tüm mantıksal bileşenleri çalıştırmak rağmen, herhangi bir şirketin bu görevi üstlenmesi için çok fazla iş ve finansal bir risk olacaktır.

ENIAC'ın basamak depolamak için on konumlu halka sayıcılarını kullanan son mimari olduğunu düşünüyorum . Bununla ilgili yanılmış olabileceğimden ve emin değilim, bunun makinenin diğer parçalarını ne kadar etkilediğini.


2

Depolama geleceğe aktarım olarak düşünülebilir, sürekli (analog) ortamlı tüm aktarım sorunları geçerli olacaktır.

Bu durumları saklamak önemsiz olabilir (üç yollu bir anahtar ya da bir çeşit ızgara) ve bu durumları fiziksel olarak saklamak, birçok cevabın benimleyebileceğimden daha iyi kapsadığı bir konudur.

Öncelikli kaygım, bu saklı durumun nasıl kodlandığı ve bu görevin bir aptallık olma ihtimali yüksek olduğu görünüyor, çünkü bitler ihtiyacınız olan doğruluğa bağlı olarak pratik sürekli verilerin gösterilmesi için yeterli, daha fazla bit eklemeye devam ediyorlar.

Gerçekten sürekli veri bu şekilde depolamak imkansızdır, ancak bunları hesaplamak için denklemler örn.

1/3

depolanabilir.


2

Bir ipucu ve bir mırıltı bir parçadan daha küçük bilgi parçalarıdır. Bir bitin kesin değerini belirlemek için genellikle birkaç ipucu gerekir. Mürekkep püskürtme daha kötü: Ne kadar eklerseniz yapın, elde edilen bitin değerini kesin olarak bilemezsiniz.

Daha ciddi olarak, temel birimin n durumlarından birine sahip olabileceği, n> 2 olduğu çok değerli bir mantık var. bakış açısına göre daha çok taşıdıklarını söylemek zorundasın. Örneğin, dört değerli bir mantıktaki tek bir değerin taşıyabileceği aynı miktarda bilgiyi temsil etmek için iki bit gerekir.


1

En uygun sayısal taban e'dir , ancak dijital elektronikte bir sayıyı temsil etmenin en basit yolu iki durumlu (yüksek gerilim = 1, düşük gerilim = 0) olduğundan, ikili sayı gösterimi seçilmiştir.


Bahsetmek ede söz etmeden nat ? Utanç.
Ben Voigt

1
@BenVoigt ha? Nedir nat ? :) google bana konuya uymayan bazı garip şeyler söyledi.
BЈовић

@BenVoigt Belki Nat (bilgi) atıfta bulundu ? Bir nat ..., bit tanımlayan 2 ve baz 2 logaritmalarının gücünden ziyade, e'nin doğal logaritmalarına ve güçlerine dayanan logaritmik bir bilgi veya entropi birimidir.
12'de bir CVn

@ MichaelKjörling: İşte bu.
Ben Voigt

0

Daha küçük bir veri birimi var. Bunun için resmi bir isim bilmiyorum, hadi bir un diyelim.

Bit, "İkili rakam" için akıllı bir birleşik kelimedir, yani iki olası durumu vardır. Bu nedenle, sadece tek bir olası durum ile bir tür rakam olmalıdır.

Bunun ne anlama geldiğini görelim. Çalışmanız için sadece sıfırlara sahip olacağınız anlamına gelir.

Nasıl sayarsın? Herhangi bir x-base sisteminde, rakamlar tükenene kadar değeri arttırır ve ardından bir sayı oluşturmak için bir rakam eklersiniz. Eğer sadece bir rakamınız varsa, rakamlar hemen tükenir.

Sıfır = 0 Bir = 00 İki = 000 ve sıfır

Bu kesinlikle daha doğal: daha fazlası! Herhangi bir ayrık şey için mükemmel bir şekilde eşlenir. Kaç tane patates 00000 Bu dört patates. Bekle bir dakika ... bu teke tek. Bundan hoşlanmıyorsanız, 0 değerini bir ile yeniden tanımlayabilirsiniz. O zaman gerçekten doğal: hayır sıfır yok, bir sıfır bir, iki sıfır iki, et cetera.

Bu katı hal bir makine için olsa pratik değildir. Rakamlar fiziksel olarak yerleştirilmiş ve çıkarılmış olmalı ve iyi ölçeklenmemiş olmalı.


1
Bu aslında bir veri birimi olarak nitelendirilemez, çünkü temelde 0'ı "mevcut değil" ve 1'i 0 olarak kodladığınız için hala bitlerdir.
DeadMG

İkili değil, tekli değil. Mesele şu ki, veri elemanı iki değil, sadece bir duruma sahip. Varlık ya da yokluk bir durum değildir, elemanın durumu her zaman aynıdır, dolayısıyla tek bir rakamdır. Temelde tally mark sistemini tarif ediyorum.
Martin Maat

-1

Ben kesin bir İngiliz başvuru bulamıyor, ama bildiğim kadarıyla hatırlıyorum olarak Bilgi Kuramı Sınıf bit bilginin temel birimidir. Biraz bilgi, adil bir madeni para atarak elde ettiğiniz bilgidir (her iki taraf için% 50 olasılık). Bunun dışındaki her şey azaltılabilir.

Birden fazla duruma sahip bir cihaz kullanıyor olsanız bile, her zaman bitlere indirgenebilir.


-1

Tabiatı doğanın nasıl çalıştığına yakın olarak tanımlayarak doğal olarak tanımlarsanız, bilgi şifrelemenin en doğal yolu adenin, sitozin, guanin ve timinin DNA benzeri kombinasyonlarıdır.

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.