Чому дані в галузі інформатики вважаються дискретними?


35

Я розумію, що "структура" даних повністю залежить від булевої алгебри, але:

Чому дані вважаються дискретним математичним утворенням, а не суцільним?

З цим пов'язано:

Які недоліки чи інваріанти порушуються при структуруванні даних як суцільної сутності в вимірах?r

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


12
Справжні обчислення були б необґрунтовано потужними
harold

1
Перегляньте цю главу, якщо дозволяє час. Автор пояснює це дуже легко в навчанні з Аналогових та
Бінарних

Відповіді:


44

Відповідь

чому дані вважалися дискретною математичною сутністю, а не суцільною

Це не був вибір; теоретично і практично неможливо представити безперервні, конкретні значення в цифровому комп'ютері або фактично в будь-якому виді обчислення.

Зауважте, що "дискретний" не означає "ціле число" чи щось подібне. "дискретний" - це протилежність "безперервному". Це означає, що щоб мати комп’ютер, який справді здатний зберігати недискретні речі, вам потрібно мати можливість зберігати два числа aі bде abs(a-b) < εдля будь-якого довільно невеликого значення ε. Звичайно, ви можете пройти так глибоко, як хочете (використовуючи все більше місця для зберігання), але кожен (фізичний) комп'ютер завжди має верхню межу. Незалежно від того, що ви робите, ви ніколи не можете зробити (фізичний) комп'ютер, який зберігає довільно чітко вирішені номери.

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

Додаток

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

Зауважимо, що все це не стільки проблема комп’ютерів, скільки проблема зі значенням "безперервного". Наприклад, не всі навіть згодні чи згодні в минулому, що Всесвіт є безперервним (наприклад, чи означає масштаб Планка, що космічний час дискретний? ). Для деяких речей (наприклад, енергетичних станів електронів та багатьох інших особливостей у квантовій (sic) механіці) ми навіть знаємо, що Всесвіт не є безперервним; для інших (наприклад, посада ...) журі все ще залишається (принаймні щодо інтерпретації результатів досліджень ...). (Незважаючи на проблему, що навіть якщо вона неперервна, ми не можемо виміряти довільну точність => Гейзенберг тощо).

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


Коментарі не для розширеного обговорення; ця розмова переміщена до чату .
DW

29

Комп'ютери представляють частину даних у вигляді кінцевої кількості бітів (нулів та одиниць), а набір усіх кінцевих бітових рядків дискретний. Ви можете працювати, скажімо, з реальними числами, лише якщо знайдете для них якесь кінцеве подання. Наприклад, ви можете сказати, що "ці дані відповідають номеру ", але ви не можете зберігати всі цифри в комп'ютері. Отже, комп'ютерні програми, які працюють з реальними числами, насправді працюють лише на дискретному підмножині .π RππR


Цифрові комп'ютери роблять це, але не аналогові.
Дрю

Коментарі не для розширеного обговорення; ця розмова переміщена до чату .
DW

8

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

Ось кілька уривків з його статті 1936 р. "Про обчислювані номери з додатком до Entscheidungsproblem":

введіть тут опис зображення

А потім на розділі 9:

введіть тут опис зображення введіть тут опис зображення


1
Будь ласка, перепишіть зображення, щоб вони могли проіндексуватися пошуком.
Рафаель

7

Це все в реалізації.

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

Величезна практична перевага цього полягає в тому, що ми маємо незалежність від багатьох завдань контролю якості. Якби наші моделі комп’ютерів використовували повний безперервний характер їх транзисторів та конденсаторів, то нам довелося б подбати про те, наскільки добре ми побудували кожен транзистор з величезною мірою. Це ми можемо побачити в аудіо світі. У світі, де живуть аудіофіли, розумно витратити 2000 доларів на підсилювач, у якого може бути 10 дуже ретельно підібраних і підібраних транзисторів, які роблять саме те, що потрібно безперервно. Порівнюйте це з 1 400 000 000 транзисторів в процесорі Core i7 за потужну вартість 400 доларів .

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

Основна частина цього - це вилучення часових термінів у наших абстрактних моделях. Багато наших моделей не вимірюють час проти фізичного процесу, а проти "логічного" сигналу, відомого як годинник. Якщо ви перериваєте годинник, система перестає рухатися, але не виходить з ладу. Він просто закінчує очищення будь-яких аналогових помилок, які він може мати, і сидить, чекаючи наступного дискретного імпульсу годинника. Видалення безперервних часових термінів різко спрощує обчислення та докази обчислень. Натомість наші поняття часу вимірюються дискретно, як це видно в категоріях алгоритмів P і NP.


7

Тому що:

  • Цифрові комп'ютери не можуть зберігати довільні дійсні числа.

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

Ось кілька робіт з реальних обчислень :

і ось документ про аналогові обчислення :


4

Термін "комп'ютер" на сучасному мові означає "цифровий комп'ютер"; суть цифрового комп'ютера полягає в тому, що він має кінцеву кількість дискретних станів. Можна було б цікаво обговорити, чи причини прихильників цифрових комп’ютерів над аналоговими комп’ютерами полягали насамперед у технічній практичності, чи в першу чергу через те, що вони лежать в основі теоретичної інформатики. Але якими б не були причини, цифрові комп'ютери - це те, чим ми закінчилися, і будь-яка корисна математична модель цифрового комп’ютера (і, отже, його дані) буде дискретною, а не безперервною.


2

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

Зауважте, що існує різниця між інформацією (датою) та її поданням.

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

З іншого боку, переважна більшість сучасних комп'ютерів використовують певну форму електричного заряду для представлення інформації. Заряд або присутній, або його немає; є струм в ланцюзі або немає. Це теж дискретно, але цього не повинно бути! Просто завдяки тому, як розвинулась наша технологія, ми використовуємо бінарне представлення. Не виключено, що розвиток квантових обчислень змінить це найближчим часом. Також немислимо, що аналогові комп’ютери породжуватимуть відродження, і наші уявлення про те, що числа повинні бути представлені двійковими, будуть змиті!

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


1
Теорія інформації також може обробляти безперервні змінні.
Yuval Filmus

1
Дивіться, наприклад, диференціальну ентропію .
Yuval Filmus

2

Я хочу оскаржити вашу основну передумову:

Чому дані вважаються дискретним математичним утворенням, а не суцільним?

Це не так.

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

Існує багато різних способів класифікації алгоритмів, але один із способів, який використовується - це класифікувати їх за їх "безперервністю":

  • Цифрові алгоритми (алгоритми дискретних подій над цифровими даними):
    • числовий варіант алгоритму Евкліда
    • поділ на довгі руки, множення тощо, як навчали в школі
    • будь-яка комп'ютерна програма, програма λ-числення, машина Turing
  • Нецифрові дані, алгоритми дискретних подій (алгоритми над безперервними даними, які, проте, все ще мають поняття "крок", тобто безперервні дані, але дискретний час):
    • геометричний варіант алгоритму Евкліда
    • алгоритми дійсних чисел (наприклад, процедура усунення Гаусса)
    • алгоритми безперервних функцій (наприклад, алгоритм розбиття)
  • Аналогові алгоритми (безперервний час, безперервні дані):
    • електричні схеми
    • механічні гіроскопи
  • Гібридні алгоритми (будь-яка комбінація перерахованих вище)
    • роботів

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

r

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

Ось головна причина того, що постійні дані не такі «видимі», як цифрові дані.

Однак реалізація аналогового алгоритму насправді не потребує складності уявити або навіть побудувати. Наприклад, це реалізація аналогового алгоритму: Велосипед Triumph CycleПо Ендрю Dressel  - власна робота, CC BY-SA 3,0 , Link

rqrq×rπq×π


"Є багато алгоритмів, які працюють з постійними даними" - Ми могли б тривалий час обговорювати, якби такі речі називали "алгоритмами", але це було б полум’яною щодо семантики, тому не будемо. Справа в тому, що це не "алгоритми", які працюють на комп'ютерах, а на теоретичних, формально визначених, супер-Тьюрінгових пристроях.
Рафаель

1
Я вважаю, що метафора велосипеда вводить в оману. Щось, що обчислює одну функцію, - це не комп'ютер, який ми по суті вважаємо універсальним .
Рафаель

1

π

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


1
Я думаю, що це ставить питання . Розглянемо комп’ютер, який бере свій внесок з аркуша паперу, який він вивчає, і який дає результат на аркуші паперу, який він малює. Якби дані були безперервними, як підказує ОП, такий комп'ютер міг би бути нескінченно точним з лише кінцевим обсягом даних.
ruakh

@ruakh Ви говорите про щось на зразок аналогової машини Тьюрінга, де вона могла б, наприклад, прочитати точну довжину накресленої лінії?
Марк Н

Так, саме. Наскільки я це розумію, це те, про що запитує ОП.
ruakh

0

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


12
З плаваючою точкою є дискретним ... якщо програміст робить вигляд , що є безперервним, що просто означає , що або результатів не мають значення, чи що програміст не зрозумів , що він робить.
AnoE

2
Я з повагою не згоден.
Yuval Filmus

6
На жаль, як плаваюча точка дискретна, більше нічого сказати не можна. Кожного разу, коли щось кладуть у звичайний комп'ютер, це було дискреційне.
Жан-Батист Юньєс

5
@AnoE, це означає, що результатам слід довіряти до певної точності, саме це означає "Юваль" під вигляд. Ви можете отримати деякі корисні результати, але вам доведеться розмиватися над точністю. Для великих наборів це має сенс. Протиставляйте це класичним проблемам механіки: ви знаєте, що ваші вимірювання не є точними. 3-сантиметровий об'єкт не має фактично 3.000000000 ~ см довжини. Ви просто знизите точність вимірювання в якийсь розумний момент.
Міндвін

6
Я не думаю, що питання полягає в тому, як працює наш розум. Я думаю, що мова йде про те, як фактично працюють речі. Причина того, що числа з плаваючою точкою є приблизними, полягає в тому, що вони дискретні. Те, що ви думаєте про них як про безперервне, хоча вони насправді не є, не допомагає відповісти на питання, чому значення є дискретними в комп'ютерах. Зі сторони, ваш спосіб мислення може бути небезпечним. Багато помилок було спричинене тим, що програмісти думають про плаваючу точку як про безперервну. Навіть звичайні числа, які ми, як правило, вважаємо такими точними, як 1 десята чи сота, є приблизними у плаваючій точці.
JimmyJames

-2
  • Щоб комп'ютер працював з даними, вони повинні існувати в доступній пам'яті комп'ютера
  • Доступна пам'ять комп’ютера обмежена
  • У доступній пам'яті комп'ютера можуть існувати лише кінцеві дані
  • Недискретні значення нескінченні

Дані в інформатиці вважаються дискретними.


еlimт(1+1/т)т

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

1
Ви, здається, припускаєте, що єдиний спосіб обчислити реальне число - це зробити його десяткове розширення. Це просто не так.
Девід Річербі

2
еiπ=-116π

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