Mon . 20 Feb 2020

Обчислюваність

Обчислюваність - це здатність ефективно вирішувати задачу. Це ключова тема галузі теорії обчислень в рамках математичної логіки та теорії обчислень в межах інформатики. Обчислюваність проблеми тісно пов'язана з існуванням алгоритму для вирішення. Проблема
Найбільш широко вивченими моделями обчислюваності є обчислювальна функція Тюрінга та мк-рекурсивна функція, а також обчислення лямбда, які мають обчислювально еквівалентну потужність. Також вивчаються інші форми обчислюваності: поняття обчислюваності слабші, ніж машини Тьюрінга вивчаються в теорії автоматів, тоді як поняття обчислюваності, сильніші за машини Тюрінга, вивчаються в галузі гіперкомп'ютації - Зміст - 1 Задачі - 2 Формальні моделі обчислення - 3 Потужність автоматів - 31 Потужність машини з кінцевим станом - 32 Потужність автоматів тискання - 33 Потужність машин Тьюрінга - 331 Проблема зупинки - 332 Поза рекурсивно переліченими мовами - 4 на основі моделей - 5 сильніших моделей обчислень - 51 Нескінченне виконання - 52 машини Oracle - 53 Межі гіперрозрахунків - 6 Див. також 7 Посилання
Проблеми - A Основна ідея обчислюваності - це обчислювальна проблема, яка є завданням, обчислюваність якого можна дослідити. Існує два ключові типи проблем:
Проблема рішення фіксує набір S, який може бути набором рядків, натуральні числа чи інші об'єкти, взяті з якогось більшого набору UA, конкретний екземпляр проблеми полягає у вирішенні, задаючи елемент u U, чи перебуває u S Наприклад, нехай U є множиною натуральних чисел, а S множиною простих числа Відповідна задача рішення відповідає тестуванню первинності. Проблема функції складається з функції f від безлічі U до множини V Екземпляр задачі полягає в обчисленні, заданому елементу u в U, відповідного елемента fu в V Наприклад, U і V можуть бути набором всіх кінцевих двійкових рядків, а f може приймати рядок і повертати отриману рядок шляхом перевороту цифр вхідних даних таким чином f0101 = 1010
Інші типи проблем включають проблеми пошуку та проблеми оптимізації. Одна мета теорії обчислюваності - визначити, які проблеми чи класи задач можна вирішити в кожній моделі обчислення | Формальні моделі обчислення
Основна стаття: Модель обчислення
Модель обчислення - це формальний опис конкретного виду обчислювального процесу Опис часто має форму абстрактної машини, яка призначена для виконання завдання під рукою Загальні моделі обчислень, еквівалентні машині Тьюрінга Див.: Дисертація Церкви – Тьюрінга включає в себе:
Обчислення Ламбди
Обчислення складається з початкового вираження лямбда-двох, якщо ви хочете розділити функцію та її вхід плюс кінцева послідовність лямбда-термінів, кожна з яких виведена з попереднього терміна одним застосуванням бета-скорочення - комбінаційна логіка - це концепція, яка має багато подібності до



& # x03BB ;





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


& # x03BB; Комбінаційна логіка була розроблена з великими амбіціями: розуміння природи парадоксів, створення основ математики концептуальніше, усунення поняття змінних, уточнення їх ролі в математиці
μ-рекурсивні функції - обчислення складається з μ-рекурсивної функції, тобто її визначальної послідовності, будь-яких вхідних значень і послідовності рекурсивних функцій, що з'являються у визначальній послідовності з входами та виходами Таким чином, якщо в визначальній послідовності рекурсивної функції -

f

x |

g

x




та
З'являються "h", "h", "x", "y", "y", ",", ", а потім умови форми може з'явитися 'g5 = 7' або 'h3,2 = 10'. Кожен запис у цій послідовності повинен бути додатком основної функції або випливати з вищезазначених записів, використовуючи склад, примітивну рекурсію або μ-рекурсію Наприклад, якщо



f

x

=
h
x x,
g

x | | | | | | | | | | | ", то для появи" f5 = 3 "такі терміни, як" g5 = 6 "і" h3,6 = 3 ", повинні з'явитися вище Обчислення закінчується лише в тому випадку, якщо підсумковий член дає значення рекурсивної функції, застосованої до входів
Системи перезапису рядків, включаючи алгоритм Маркова, який використовує граматичні правила для роботи над рядками символів; також Post canonical system - Зареєструвати машину - це теоретично цікава ідеалізація комп'ютера. Є кілька варіантів. У більшості з них кожен регістр може містити натуральну кількість необмеженого розміру, а інструкції прості та малочисельні, наприклад, існує лише декрементація в поєднанні з умовним стрибком і збільшенням і зупинка. Відсутність нескінченного або динамічно зростаючого зовнішнього сховища, що спостерігається на машинах Тьюрінга, можна зрозуміти, замінивши його роль методами нумерації Геделя: той факт, що кожен реєстр містить натуральне число, дозволяє можливість репрезентації складної речі, наприклад, послідовності, матриці тощо відповідним величезним природним числом - однозначність представлення та інтерпретації може бути встановлена за числовими теоретичними основами цих методів. Машина Тьюрінга - Також подібна до кінцевого стану Машина, за винятком того, що вхід надається на "стрічці" виконання, з якої машина Тьюрінга може читати, записувати або пересувати Вперед і назад, попередньо читаючи / записуючи "голову" Стрічка може зростати до довільних розмірів. Машина Тьюрінга здатна виконувати складні обчислення, які можуть мати довільну тривалість він імітує обчислення за відсутності заздалегідь заданих лімітів ресурсів. Багатосторонній апарат Тюрінга. Тут може бути більше однієї стрічки; крім того, на стрічці може бути кілька головок. Дивно, але будь-які обчислення, які можуть бути виконані на цьому апараті, також можуть бути виконані звичайною машиною Тьюрінга, хоча остання може бути повільнішою або вимагати більшої загальної області стрічки - P ''
Як і машини Тьюрінга, P 'використовує нескінченну стрічку символів без випадкового доступу та досить мінімалістичний набір інструкцій. Але ці інструкції дуже різні, тому, на відміну від машин Тьюрінга, P' не потрібно підтримувати виразний стан, оскільки всі функціональні можливості, що нагадують пам'ять, можуть забезпечуватися лише стрічкою. Замість того, щоб переписати поточний символ, він може виконати модульну арифметичну приріст на ньому. P 'має також пару інструкцій для циклу, перевіряючи пустий символ Незважаючи на свій мінімалістичний характер, він став батьківською формальною мовою впровадженої і для розваг використовуваної мови програмування під назвою Brainfuck
Окрім загальних обчислювальних моделей, деякі сім pler обчислювальні моделі корисні для спеціальних обмежених застосувань Регулярні вирази, наприклад, вказують рядкові шаблони у багатьох контекстах, від програмного забезпечення для продуктивності офісу до мов програмування. Інший формалізм, математично еквівалентний регулярним виразам, Кінцеві автомати використовуються в дизайні схем і в деяких видах розв’язання задач Безтекстові граматики задають синтаксис мови програмування Недетерміновані автоматичні автоматичні кнопки - це ще один формалізм, еквівалентний безконтекстним граматикам. Різні моделі обчислень мають можливість виконувати різні завдання Одним із способів вимірювання потужності обчислювальної моделі є вивчити клас формальних мов, які модель може генерувати; таким чином виходить ієрархія мов Хомського. До інших обмежених моделей обчислень відносяться:
Детермінований кінцевий автоматDFA
Також називається машиною кінцевого стану Усі реальні обчислювальні пристрої, що існують сьогодні, можуть моделюватися як кінцеві державна машина, так як всі реальні комп'ютери працюють на обмежених ресурсах. У такій машині є набір станів, і набір переходів стану, на які впливає вхідний потік. Деякі стани визначаються як приймаючі стани Потік вводу подається в машину символ за один раз, і переходи стану для поточного стану порівнюються з вхідним потоком, і якщо є відповідність переходу, машина може перейти в новий стан. Якщо наприкінці вхідного потоку машина знаходиться у приймальному стані, тоді весь вхідний потік приймається - недетермінований кінцевий автоматNFA - це ще одна проста модель обчислення, хоча послідовність його обробки не визначена однозначно. Це можна інтерпретувати як отримання мультипл Шляхи обчислення одночасно через обмежену кількість станів Однак можна довести, що будь-який NFA можна привести до еквівалентного автоматичного DFA - Pushdown - аналогічно машині з кінцевим станом, за винятком того, що він має стек виконання , якому дозволено зростати до довільного розміру Переходи стану додатково вказують, чи потрібно додати символ до стеку, або вилучити символ із стека. Він є потужнішим, ніж DFA завдяки своєму стеку нескінченної пам'яті, хоча лише верхній елемент стека доступний в будь-який час - Потужність автоматів
За допомогою цих обчислювальних моделей в руці ми можемо визначити, які їхні межі. Тобто, які класи мов вони можуть прийняти. Потужність машин з кінцевим станом
У цьому розділі може знадобитися очищення, щоб відповідати стандартам якості Вікіпедії. Причина очищення не вказана. Будь ласка, допоможіть покращити цей розділ, якщо ви можете квітня 2009 р. Дізнайтеся, як і коли видалити це шаблонне повідомлення. uage, яка може бути прийнята машиною кінцевих держав звичайною мовою. Через обмеження, що кількість можливих станів у машині кінцевих станів є скінченним, ми можемо бачити, що для того, щоб знайти мову, яка не є регулярною, ми повинні побудувати мову, яка знадобиться нескінченна кількість станів. Прикладом такої мови є сукупність усіх рядків, що складаються з літер 'a' і 'b', які містять рівну кількість літер 'a' і 'b' чому ця машина не може бути правильно розпізнана машиною з кінцевим станом, припустімо спочатку, що така машина M існує M повинна мати деяку кількість станів n Тепер розглянемо рядок x, що складається з




n + + 1 1, що означає, що у вас є a, а потім на «a», а потім на «n» +
+ 1 1, що має статтю, що працює для 'b's' Як M читає в x, в машині повинен бути якийсь стан, який повторюється Тед, як він читається у першій серії "З", оскільки існують: "
"
"n" + "1"
">

'a і тільки n станів за принципом голуба Назвіть цей стан S, і далі нехай d буде число' a, яке наша машина прочитала, щоб перейти від першого виникнення S до якогось наступного виникнення під час послідовності 'a' Ми знаємо, що при тому другому виникненні S ми можемо додати додаткове d, де



d> & gt;
0




'a, і ми знову будемо в стані S Це означає, що ми знаємо, що рядок з




n
+ d d + + 1 1, що має | br>


n n + + 1 1 | Це означає, що якщо наша машина приймає x, вона також повинна приймати рядок, що містить | > + 1 1, що означає, що це означає, що "a" слідує за "a", а потім за "n" +
1 |




'b', що не є мовою рядків, що містять рівну кількість 'a' і 'b'. Іншими словами, M не може правильно розрізнити між рядок, рівний кількості 'a' і 'b', і рядок з "
"
"n" + "d" + "1"



'' і ''


n n + + 1 1



'b's
Ми знаємо, що ця мова не може бути сприйнята коректно будь-якою машиною кінцевих держав, і тому не є звичайною мовою. Неральна форма цього результату називається накачаною лемою для звичайних мов, яка може бути використана для того, щоб показати, що широкі класи мов не можуть бути розпізнані машиною кінцевих держав. Потужність автоматів pushdown - Комп'ютерні фахівці визначають мову, яка може бути прийнятим автоматичним натисканням як мова без контексту, яку можна вказати як граматику, що не містить контексту. Можна визначити мову, що складається з рядків з рівними числами 'a' та 'b', які, як ми показали, не є звичайною мовою. Автоматом, що висувається Також, як правило, автомат, що висувається, може поводитись так само, як машина з кінцевим станом, тому він може вирішити будь-яку мову, яка є регулярною. Ця модель обчислень, таким чином, суворо потужніша, ніж машини з кінцевим станом
Однак, виявляється, є мови, які неможливо визначити автоматичним автоматичним виводом. Результат подібний до звичайних виразів, і тут не буде деталізовано. Існує накачана лема для контекстних мов. Приклад успіху мова га - це набір простих чисел - Машина Тьюрінга - Машини Тьюрінга можуть вирішувати будь-яку безконтекстну мову, крім мов, які не можна визначити за допомогою автоматичного автоматичного меню, наприклад мови, що складається з простих чисел. Тому суворо більш потужна модель обчислення. Оскільки машини Тьюрінга мають можливість "резервного копіювання" у вхідній стрічці, машина Тьюрінга може тривалий час працювати так, як це неможливо інші описані раніше моделі обчислень Можна створити машину Тьюрінга, яка ніколи не закінчить роботу на деяких входах. Ми говоримо, що машина Тьюрінга може визначити мову, якщо вона врешті зупиниться на всіх входах і дасть відповідь Мовою, яка може бути такою Вирішено називатися рекурсивною мовою. Далі ми можемо описати машини Тьюрінга, які врешті-решт зупиняться та дадуть відповідь на будь-який вхід мовою, але який може працювати назавжди для рядків введення, яких немає на такій мові. Інес міг би сказати нам, що даний рядок є мовою, але ми, можливо, ніколи не будемо впевнені, виходячи з його поведінки, що дана рядок не є мовою, оскільки вона може працювати назавжди в такому випадку. Мова, яку приймає такий Машину Тьюрінга називають рекурсивно перелічуваною мовою
Машина Тьюрінга, виявляється, надзвичайно потужна модель автоматів Спроби змінити визначення машини Тьюрінга для виробництва більш потужної машини напрочуд зустрілися з відмовою. Наприклад, додавши додаткова стрічка до машини Тьюрінга, надаючи їй двовимірну або тривимірну або будь-яку безмірну нескінченну поверхню для роботи, все це може бути імітовано машиною Тьюрінга з базовою одновимірною стрічкою. Ці моделі, таким чином, не є більш потужними Насправді Наслідком тези Церкви-Тьюрінга є те, що не існує розумної моделі обчислення, яка може визначати мови, які не може бути вирішена машиною Тюрінга. Питання слід задати: чи існують мови, які є рекурсивними ely перелічене, але не рекурсивне. Крім того, чи існують мови, які навіть не є рекурсивно перелічуваними. Проблема зупинки
Головна стаття: Проблема зупинки
Проблема зупинки - одна з найвідоміших проблем інформатики, оскільки це має глибокі наслідки для теорії обчислюваності та того, як ми використовуємо комп’ютери у повсякденній практиці. Проблему можна сформулювати:
Дано опис машини Тьюрінга та її початкового вводу, визначте, чи програма, коли виконується на цьому вході , колись зупинки завершуються Альтернативою є те, що вона працює вічно, не зупиняючись. Тут ми задаємо не просте запитання про просте число чи паліндром, але ми замість цього повертаємо таблиці та просимо машину Тьюрінга відповісти на запитання про інше Машина Тьюрінга Це можна показати Див. Головну статтю: Проблема зупинки, що неможливо побудувати машину Тюрінга, яка зможе відповісти на це питання у всіх випадках. Це єдиний загальний спосіб точно знати, чи є jw.org uk Програма зупиниться на певному вході у всіх випадках - просто запустити його і побачити, чи він зупиняється, якщо він зупиняється, то ви знаєте, що він зупиняється. мова, що складається з усіх описів машин Тьюрінга, поєднаних з усіма можливими потоками введення, на яких ці машини Тьюрінга врешті-решт зупиняються, не є рекурсивною. Тому проблема зупинки називається не обчислюваною або нерозбірливою. Розширення проблеми зупинки називається теоремою Райса, що говорить про те, що взагалі не можна визначити, чи володіє дана мова яким-небудь конкретним нетривіальним властивістю. Поза рекурсивно переліченими мовами. Проблему зупинки легко вирішити, однак, якщо ми дозволимо машині Тьюрінга, яка вирішить, вона може працювати назавжди при введенні, що представляє собою машину Тюрінга, яка сама по собі не припиняється. Мова зупинки, таким чином, є рекурсивно перелічувальною. Можна створити мови, які навіть не є рекурсивними. але дуже простий приклад такої мови - це доповнення мови зупинки; це мова, що складається з усіх машин Тьюрінга, пов'язаних з вхідними рядками, де машини Тьюрінга не зупиняються на введенні. Щоб побачити, що ця мова не є рекурсивно численною, уявіть, що ми побудуємо машину Тьюрінга M, яка здатна дати певну відповідь на всі такі машини Тьюрінга, але щоб він міг працювати назавжди на будь-якій машині Тьюрінга, яка в кінцевому підсумку зупиняється, ми можемо побудувати ще одну машину Тьюрінга.


M
& # x2032;





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




M
& # x2032;





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


M & # x2032;





Таким чином, вирішення проблеми зупинки Ми раніше показали, однак, що проблема зупинки не вирішена. У нас є суперечність, і ми Таким чином, ми показали, що наше припущення, що M існує, є невірним. Отже, доповнення мови зупинки не є рекурсивно перелічувальною
Моделі на основі конкурсу
Розроблено ряд обчислювальних моделей на основі одночасності, включаючи машину паралельного випадкового доступу і сітка Петрі Ці моделі паралельних обчислень все ще не реалізують жодних математичних функцій, які неможливо реалізувати машинами Тьюрінга. Більш сильні моделі обчислень
Теза Церкви Тьюрінга передбачає, що не існує ефективної моделі обчислень, яка могла б обчислити. більше математичних функцій tha na машина Тьюрінга Комп'ютерні вчені уявили безліч різновидів гіперкомп'ютерів, моделей обчислень, що виходять за рамки обчислюваності Тьюрінга - Нескінченне виконання
Основна стаття: Машина Зенон
Уявіть собі машину, де на кожен крок обчислення потрібно половину часу попередній крок, і, сподіваємось, половину енергії попереднього кроку Якщо ми нормалізуємо до 1/2 одиниці часу кількість часу, необхідного для першого кроку, і до 1/2 одиниці енергії кількість енергії, необхідної для першого кроку, виконання вимагати, щоб


1 1 = =

& # x2211;
n n = = 1 1


& # x221E;



1 | 2 | > =


1
2


+

1
4

+

1 1 8

+ +

1 на 16


+
& # x22EF;


^ = ++++ cdots - це одиниця часу та 1 енергетична одиниця для запуску Ця нескінченна серія зближується до 1, а це означає, що ця машина Zeno може виконати незмінно нескінченну кількість кроків за 1 одиницю часу, використовуючи 1 енергоблок Ця машина здатна вирішити проблему, що зупиняється, безпосередньо імітуючи виконання машини, про яку йде мова. Розширення, будь-яка нескінченна кількість конвергентних [повинна бути безперечно нескінченною] серії буде працювати, якщо припустити, що нескінченна серія сходиться до значення n, машина Зенона завершиться незмірно нескінченне виконання за n одиниць часу - машини Oracle
Головна стаття: Машина Oracle
So- Машини Oracle мають доступ до різних "оракул", які забезпечують вирішення конкретних невирішених проблем. Наприклад, машина Тьюрінга може мати "оракул зупинки", який негайно відповідає, чи колись машина Тьюрінга коли-небудь зупиниться на даному вході. Ці машини є Центральна тема дослідження в теорії рекурсій - Межі гіперрозрахунків. Навіть ці машини, які, здавалося б, представляють собою межу автоматів, яку ми могли собі уявити, стикаються з власними обмеженнями. Хоча кожен з них може вирішити проблему зупинки для Машина Тьюрінга не може вирішити власну версію проблеми зупинки. Наприклад, машина Oracle не може відповісти на питання про те, чи коли-небудь зупиниться дана машина Oracle
Дивіться також
Теорія автоматів
Абстрактна машина
Список невирішених задач - Теорія обчислювальної складності - Логіка обчислюваності - Важливі публікації з обчислювальної здатності - Список літератури - Майкл Сіпсер 1997 Введення в теорію обчислень PWS Publishing ISBN 0-534-94728-X Частина друга: Теорія обчислюваності, Глави 3–6, стор. 123–222 - Кристос Пападімітріу 1993 р. Комп’ютерна складність 1-е видання Аддісон Веслі ISBN 0-201-53082-1 Розділ 3: Обчислюваність, стор 57 –70
S Barry Cooper 2004 Теорія обчислюваності 1-е видання Chapman & amp; Hall / CRC ISBN 978-1-58488-237-4
v
e - Обчислювальні знання
Теми та концепції
Алфавіт людської думки
Управління владою
Автоматизоване міркування: Здорові знання - Розсудження здорового глузду - Обчислюваність - Формальна система - Двигун висновку - База знань - Системи на основі знань - Інженерія знань - Вилучення знань
Представлення знань
Пошук знань
Класифікація бібліотек
Логічне програмування
Онтологія
База персональних знань
Відповіді на питання
Семантичний переслідувач
Пропозиції та реалізація
Zairja
Ars Magna 1300 - Нарис реального персонажа та філософської мови 1688
Calculus ratiocinator & amp; Characteristica Universalis 1700 - Десяткова класифікація Дьюї 1876 - Begriffsschrift 1879 - Mundaneum 1910 - Логічний атомізм 1918 - Tractatus Logico-Philosophicus 1921 - Програма Гільберта 1920-х років - Теорема про неповноту 1931 року - Світ Brain 1938 - Memex 1945 - General Problem Solver 1959 - Prolog 1972 - Cyc 1984 - Semantic Web 2001 - Evi 2007 - Wolfram Alpha 2009 - Watson 2011 - Siri Графік знань 2012 - Вікідата 2012 - Кортана 2014 - Viv 2016 - Художня література - Подорожі Двигуна Гуллівера, 1726 - Джо "Логічний Джо, що називається", 1946
Бібліотекарський сніговий крах, 1992 р. Д-р Знай А.І. Штучний інтелект, 2001 р. - Уотерхаус Бароковий цикл, 2003 р. - Дивіться також: Логічні машини в художній літературі та Список вигаданих комп'ютерів


Computability

Random Posts

Amorphous metal

Amorphous metal

An amorphous metal also known as metallic glass or glassy metal is a solid metallic material, usuall...
Arthur Lake (bishop)

Arthur Lake (bishop)

Arthur Lake September 1569 – 4 May 1626 was Bishop of Bath and Wells and a translator of the King Ja...
John Hawkins (author)

John Hawkins (author)

Sir John Hawkins 29 March 1719 – 21 May 1789 was an English author and friend of Dr Samuel Johnson a...
McDonnell Douglas MD-12

McDonnell Douglas MD-12

The McDonnell Douglas MD-12 was an aircraft design study undertaken by the McDonnell Douglas company...