Чи є альтернатива бітам?


42

Чи є альтернатива бітам як найменшій одиниці даних? Щось, що не буде лише 0 або 1, але насправді містить багато можливих станів між ними? Хіба не було б природніше зберігати такі поплавці?


8
Вам знадобиться нескінченність станів, щоб мати можливість зберігати довільні поплавці, тому це було б нездійсненно.
ChrisF

2
@ChrisF: Чи можете ви представляти нескінченність плавців з обмеженою кількістю бітів?
користувач невідомий

11
@userunknown - ні, ти не можеш. Ось чому арифметика з плаваючою комою схильна до помилок. Я намагався сказати, що наявність більшої кількості держав насправді нічого не вирішить.
ChrisF


5
Неможливо однозначно зобразити нескінченну кількість різних поплавків. Вам потрібно буде зберігати нескінченну кількість інформації, щоб однозначно ідентифікувати єдиний нескінченний плавець, що неможливо зробити в обмеженому просторі через фізику . Зберігання інформації, що перевищує певну кількість в заданому обсязі, вимагає такої щільності , щоб вміст було гравітаційно подрібнене до MAX_DENSITY протягом обмеженого часу, навіть якщо вони можуть подорожувати на MAX_SPEED (більш відомий як "швидкість світла"): чорний отвір . Див en.wikipedia.org/wiki/Bekenstein_bound для наслідків CompSci.

Відповіді:


59

Звичайно, це можливо і теоретично, і практично.

Теоретично існує два класи альтернатив: цифрові системи числення з базою, відмінною від 2 (насправді, десяткова система, як ми знаємо, це одна така система); і нецифрові системи числення. Математично кажучи, ми говоримо про дискретні та безперервні домени.

На практиці вивчені обидва варіанти. Деякі з ранніх цифрових комп'ютерів (наприклад, ENIAC) використовували десяткові кодування, а не всюдисущій двійкові кодування; інші бази, наприклад, потрійні, повинні бути настільки ж можливими (або нездійсненними). Езотерична мова програмування Malbolge заснована на теоретичному потрійному комп'ютері; Хоча здебільшого сатиричний, немає жодної технічної причини, чому він не повинен працювати. Зберігання та обробка безперервного домену історично робилося на аналогових комп'ютерах, де ви могли кодувати величини як частоти та / або амплітуди коливальних сигналів, а потім виконували обчислення, застосовуючи до цих сигналів всілякі модуляції. Сьогодні квантові обчислення знову роблять цікавою теорію, що стоїть у камерах безперервного зберігання.

Так чи інакше, біт як найменша теоретична одиниця інформації все ще стоїть, оскільки будь-яка альтернатива може кодувати більше інформації, ніж один так / ні, і ніхто ще не придумав меншу теоретичну одиницю (і я не очікую, що це станеться найближчим часом).


17
@Dokkat: Зберігання безперервного домену, наприклад, аналогова стрічка, є теоретично чудовим, але на практиці воно страждає від непоправного шуму та деградації, що є однією з причин того, що ми в першу чергу використовуємо цифрові комп'ютери.
tdammers

19
В теорії інформації цілком можливо передати менше 1 біта інформації. Основна ідея полягає в тому, що один біт даних містить лише один біт інформації, якщо обидва стани однаково вірогідні. Згідно з цим визначенням, у пустелі Сахара відповідь "ні" на питання "чи сьогодні дощив дощ?" містить менше 1 біта інформації, оскільки це майже завжди відповідь.
Майкл Боргвардт

9
@ Доккат раніше використовувався для моделювання складних аналогових величин, "цифровий" комп'ютер був системою управління аналоговим комп'ютером. На практиці складно побудувати аналогову схему з роздільною здатністюdouble
Мартін Беккет

5
Some of the early digital computers employed decimal encodings rather than the now ubiquitous binary encoding- Насправді десяткові кодування досі застосовуються; це називається BCD . BIOS у більшості комп'ютерів використовує його (для десяткових дат) , а також більшість cheapo-калькуляторів, тому що для цього потрібно менше схеми (тобто дешевше), щоб робити все в BCD, ніж це робити у двійковій формі та мати двійково-десятковий перетворювач.
BlueRaja - Danny Pflughoeft

3
Як говорить @tdammers, важко співставити навіть одноточні поплавці за допомогою аналогових сигналів. 32-бітні поплавці ефективно мають 24 біти точності; аналогові схеми зі порівнянним рівнем шуму дорогі, потужні, повільні та дуже чутливі до свого оточення.
Буря,

26

Ви в основному описуєте аналоговий сигнал, який використовується в датчиках, але рідко для внутрішніх обчислень. Проблема полягає в тому, що шум погіршує якість, вам потрібна дуже точна калібрування опорної точки, яку важко спілкувати, а передача - це проблема, оскільки вона втрачає силу, чим далі їздить.

Якщо ви зацікавлені у вивченні аналогових обчислень, у більшості недооцінених класів "введення в електроніку" ви будуєте такі речі, як оптичні підсилювачі . Їх досить просто побудувати навіть без офіційних інструкцій.

Ви також можете зберігати кілька цифрових станів на одному вузлі. Наприклад, замість нуля 0-2,5 вольта і 2,5-5,0 вольт один, ви можете додати третій стан між ними. Це додає багато складності, але значно збільшує вашу сприйнятливість до шуму.


Аналогові обчислення були досить поширеними, але в кінцевому рахунку цифрові можуть бути більш точними. Використання ще декількох бітів у пам'яті для представлення значення є абсолютно тривіальним порівняно зі спробами забити шум вниз на кілька дБ нижче (3 біти ~ 20 дБ), а в певний момент (змінюється залежно від швидкості) фізично неможливо.
Нік Т

Мені подобається наголос на аналогових обчисленнях та прикладах. Виходячи із суворо цифрового рівня comp comp, я не завжди бачив, що таке аналогові обчислення. Хоча Google для цього наводить багато прикладів. Я думаю, що я пригадую, що бачив, що призма "обчислює" перетворення Фур'є, тому що вона розбиває вхідне світло на складові частоти. Це робиться досить швидко, з 0 енергією (у сенсі вимог до обчислення FT). Звичайно, щоб зробити щось з результатом, швидше за все, знадобиться оцифрування.
Пол,

@ NickT Норберт Вінер, автор кібернетики та ранній гравець у цій галузі / теорія управління, нагадав у своїй книзі, що в кінцевому підсумку це була нижча вартість бінарних схем порівняно з аналоговим еквівалентом, що змусило лабораторії, дослідників та промисловість обрати бінарне
Крістоф

20

Вони називаються кубітами і використовуються в квантових комп'ютерах. Ви знайдете більш детальну інформацію про них на вікіпедії записи . Проводяться дослідження, щоб зробити такі комп'ютери стабільними та економічно здійсненими.


1
це болить мені голова, читаючи, що ...
Рятхал

Я не впевнений, як саме працює кубіт (я читаю його, щоб оновити пізніше), але я знаю, що кубіти недоцільно з нинішніми технологіями, в той час як ця концепція не є. Наприклад, фізично можна зобразити «плаваючий» біт за кількістю води, що наповнює склянку, і виміряти її за допомогою балансу.
Dokkat

11
Нитчіпкінг: Кубіт не містить станів між 0 і 1. Це все ще 0 або 1, але він може мати кілька станів одночасно . (Так само, як кішка Шродінгера, яка не "напів мертва", але одночасно мертва і жива)
nikie

7
@Ryathal Це насправді хороший знак: "Той, хто не шокований квантовою теорією, не зрозумів цього". - Niels Bohr
Dan Neely

1
Я чомусь завжди зображую кубіти як блідо-сині або рожеві Тріблі.
Вейн Вернер

17

Справа точності

Однією з причин, по якій ми використовуємо біти, є те, що вона допомагає нам точно зберігати та отримувати інформацію.

Реальний світ є аналогом, тому вся інформація, яку комп'ютери передають або зберігає, в кінцевому рахунку є аналогом . Наприклад, струм певної напруги на дроті або магнітний заряд певної сили на диску, або яма певної глибини на лазерному диску.

Питання: наскільки точно можна виміряти цю аналогову інформацію ? Уявіть, що струм на дроті можна інтерпретувати як будь-яке десяткове число таким чином:

  • 1 - 10 вольт: 0
  • 10-20 вольт: 1
  • 20 - 30 вольт: 2

І т.д. Ця система дозволила б нам передати багато даних за декілька імпульсів струму, правда? Але є проблема: ми повинні бути дуже впевнені, що таке напруга. Якщо температура або магніти, космічні промені чи що-небудь спричиняють коливання, ми можемо прочитати неправильне число. І чим тонко ми маємо намір виміряти, тим більший ризик. Уявіть, якби різниця в 1 мілівольт була суттєвою!

Натомість ми зазвичай використовуємо цифрову інтерпретацію . Все, що перевищує деякий поріг, є істинним, і все під неправдивим. Тож ми можемо задавати питання на кшталт "Чи є взагалі якийсь струм?" замість " Точно скільки струму?"

Кожен окремий шматочок можна виміряти з упевненістю, тому що нам залишається лише "в правильному бальному". І, використовуючи багато бітів, ми все одно можемо отримати багато інформації.


1
Для справедливості цифрові схеми повинні визначати вимірювані значення, які безумовно істинні чи помилкові, і між ними стани, які є "невизначеними". У логіці 3,3 / 5 В це може бути <0,8 В помилково,> 2,5 В - це правда. Шум, безумовно, все ще залишається проблемою, якщо він приймає сигнал із цих діапазонів. Наприклад, намагаючись знизити сигнал до низького за допомогою транзистора NPN, ви зменшите лише до 0,55 до 0,7 В залежно від певних факторів. Не багато з чим грати. Ви просто ускладнюєте, коли визначаєте більш визначені діапазони.
Скотт Вітлок

2
@ScottWhitlock - це лише специфікації; якщо штифт не призначений для прийому HiZ або подібного, він буде інтерпретувати вхід як 1 або 0, і ця точка може змінюватися залежно від температури, партії виготовлення, напруги живлення тощо. Цей невизначений регіон не є особливістю ( ви, здається, припускаєте, що можете використати це для нечіткої логіки).
Нік Т

1
@ NickT: невизначена область вказує на те, що є велике спотворення (таке, яке є настільки значним, що нормальне виправлення помилок може не відновити її), і можлива повторна передача.
Лі Лі Райан

2
@LieRyan, ти розглядаєш набагато вищий рівень, ніж те, з чим такі технічні характеристики мають справу (фізичний рівень). Невизначена область просто означає, що поведінка (як читається біт) не визначена і не гарантована. Це все ще може спрацювати чудово.
Нік Т

11

Є також потрійні комп'ютери замість двійкових. http://en.wikipedia.org/wiki/Ternary_computer

Трійчастий комп'ютер (також званий Trinary комп'ютер ) являє собою комп'ютер , який використовує троичной логіки (три можливих значення) замість більш поширеною двійковій логіки (два можливих значення) в своїх розрахунках ...


3
Збалансована потрійна система є одним з найкрасивіших систем числення.
ypercubeᵀᴹ

3

Ми можемо бути більш природними для нас, але є конкретні причини, чому двійковий був обраний для цифрової схеми і, отже, для мов програмування. Якщо у вас є два стани, вам потрібно розрізняти лише два вольт-налаштування, наприклад 0V і 5V. При кожному додатковому збільшенні до радіусу (бази) вам потрібно буде далі розділити цей діапазон, отримуючи при цьому значення, які не відрізняються одна від одної. Ви можете збільшити діапазон напруги, але в цьому є негарна звичка плавити схеми.

Якщо ви хочете змінити тип апаратури з цифрової схеми, ваші параметри є більш різноманітними. Десяткові знаки, що застосовувалися в механічних комп'ютерах, оскільки передачі мають набагато більшу термостійкість і значно виразніше, ніж заряди електронів. Квантові комп'ютери, як зазначено в іншому місці, мають інші способи поводження з речами. Оптичні комп'ютери також можуть робити те, чим ми раніше не займалися, і магнітні комп’ютери також є можливими.


2

Я думаю, ви могли б зараз створити елементи, які можуть містити будь-яку кількість станів або навіть працювати з аналоговими даними. Хоча побудова цілої системи та запуск усіх логічних компонентів для отримання повнофункціональної та програмованої архітектури буде багато роботи та фінансового ризику для будь-якої компанії взяти на себе це завдання.

Я думаю, що ENIAC була останньою архітектурою, яка використовувала десятипозиційні кільцеві лічильники для зберігання цифр. Хоча я можу помилитися з цього приводу і не впевнений, наскільки це вплинуло на інші частини машини.


2

Зберігання можна розглядати як передачу в майбутнє, всі проблеми передачі з постійними (аналоговими) носіями будуть застосовані.

Зберігання цих станів може бути тривіальним (триходовий перемикач або якась сітка), а фізичне зберігання цих станів - це одне питання, яке охоплює багато відповідей, набагато краще, ніж я міг.

Моє головне питання полягає в тому, як закодований цей збережений стан, і здається, що існує велика ймовірність того, що це завдання є дурним дорученням, оскільки бітів достатньо для представлення практичних безперервних даних, залежно від необхідної точності, продовжуйте додавати більше бітів.

Дійсно безперервні дані таким чином неможливо зберігати, але рівняння для їх обчислення, наприклад

1/3

може зберігатися.


2

Підказкою і натяк більш дрібні шматки інформації , ніж трохи. Для встановлення певного значення біта зазвичай потрібно декілька підказок. Інклінг гірший: скільки б ви не додавали, ви все одно не можете знати значення отриманого біта напевно.

Більш серйозно, є багатозначна логіка, в якій фундаментальна одиниця може мати одне з n станів, де n> 2. Ви могли б вважати, що ці одиниці містять менше інформації, ніж біт у сенсі попереднього абзацу, але з теорії інформації з точки зору, ви повинні сказати, що вони несуть більше. Наприклад, вам знадобляться два біти, щоб представити однаковий обсяг інформації, який може містити одне значення в чотиризначній логіці.


1

Оптимальною числовою базою є e , але оскільки найпростіший спосіб подання числа в цифровому електронному є двома станами (висока напруга = 1, низька напруга = 0), було обрано двійкове подання чисел.


Якщо говорити, eне згадуючи про нат ? За сором.
Бен Войгт

1
@BenVoigt так? Що таке нат ? :) google розповів мені деякі дивні речі, які не вписуються добре в тему.
BЈович

@BenVoigt Можливо, ви посилалися на Nat (інформація) ? Нат ... - це логарифмічна одиниця інформації або ентропії, заснована на природних логарифмах та повноваженнях e, а не на силах 2 та 2 логарифмів, які визначають біт.
CVn

@ MichaelKjörling: Саме так.
Ben Voigt

0

Існує менша можлива одиниця даних. Я не знаю офіційної назви для цього, давайте назвемо його ун.

Біт - це розумне комбо-слово для "Бінарний цифровий код", тобто він має два можливі стани. Отже, повинна бути якась цифра, що має лише один можливий стан.

Подивимось, що це означає. Це означає, що у вас буде лише нулі, з якими можна працювати.

Як би ви порахували? У будь-якій системі x-base ви збільшуєте значення, поки не закінчите цифри, а потім додасте цифру, щоб утворити число. Якщо у вас є лише одна цифра, у вас відразу закінчиться цифр, щоб:

Нуль = 0 Один = 00 Два = 000 і так далі

Це, безумовно, природніше: більше - більше! Він ідеально відображає будь-яку дискретну кількість речей. Скільки картоплі? 00000 Це чотири картоплі. Почекайте хвилинку ... це не за одним. Якщо вам це не подобається, ви можете перезначити значення 0 до одиниці. Тоді це дійсно природно: нулів немає, один нуль - один, два нулі - це два, і так далі.

Для твердотільної машини це недоцільно. Цифри повинні бути фізично розміщені та вилучені, і він не масштабується добре.


1
Це насправді не є одиницею даних, однак, оскільки ви в основному зашифрували 0 як "немає", а 1 як 0. Вони все ще є бітами.
DeadMG

Це не бінарне, це одинарне. Справа в тому, що елемент даних має лише один стан, а не два. Присутність або відсутність не є станом, стан елемента завжди однаковий, отже, це одинарна цифра. Я в основному описую систему високих знаків.
Мартін Мейт

-1

Я не можу знайти остаточну англійську посилання, але, наскільки я пам’ятаю з класу « Теорія інформації», біт - це основна одиниця інформації. Трохи інформації - це інформація, яку ви отримуєте після підкидання справедливої ​​монети (50% ймовірності для кожної сторони). Все інше можна звести до цього.

Навіть якщо ви використовуєте пристрій, який має кілька станів, його завжди можна зменшити до бітів.


-1

Якщо ви визначаєте природне, будучи близьким до того, як працює материнська природа, найбільш природним способом кодування інформації є ДНК-подібні комбінації аденіну, цитозину, гуаніну та тиміну.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.