Ім'я файлу: lab1.docx
Розширення: docx
Розмір: 215кб.
Дата: 19.10.2022
скачати



Прізвище: Литвин

Ім’я: Максим

Група: КН-109

Варіант: 12

Дата захисту: 23.02.2020

Кафедра: САП

Дисципліна: Алгоритмізація та програмування. Ч.2

Перевірив: Загоруйко Д. А.

ЗВІТ

до лабораторної роботи №1

на тему

«МАШИНА ПОСТА»
1.1.Мета роботи
Вивчення формального визначення поняття алгоритму,

пов’язаного із введеною Емілем Постом спеціальної математичної

конструкції (машина Поста) і постулюванням тези про еквівалентність

такого формалізму і поняття «алгоритм»
1.2 Теорія
Однією із фундаментальних статей, результати якої лежать в основі

сучасної теорії алгоритмів, є стаття польсько-американського математика і

логіка Еміля Леона Поста (1897-1954), «Finite combinatory processes -

Formulation 1» [1], опубліковану у 1936 році. У ній він запропонував

абстрактну обчислювальну конструкцію, яка дозволила вперше уточнити

поняття алгоритму і яку згодом назвали машиною Поста. При розробці

обчислювальної конструкції Пост керувався принципом створення

максимально простої абстракції: мінімум операцій під час обробки

інформації, вхідна інформація повинна бути закодованою з використанням

мінімального набору символів.

Не дивлячись на примітивність машини Поста, будь-який існуючий

алгоритм може бути записаний у вигляді програми для машини Поста. У

теорії алгоритмів існує так звана «теза Поста»: «Будь-який алгоритм можна

представити у вигляді машини Поста». Ця теза одночасно є і формальним

визначенням алгоритму. Алгоритм (за Постом) - програма для машини

Поста, що приводить до вирішення поставленої задачі

Теза Поста є гіпотезою. Її неможливо строго довести (так само, як і

теза Тюрінга), тому що у ній фігурують, з одного боку, інтуїтивне поняття

«будь-який алгоритм», а з іншого боку - точне поняття «машина Поста».

Для того, щоб спростувати гіпотезу Поста, необхідно придумати алгоритм,

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

сьогоднішній день такого алгоритму не існує.

Машина Поста – це абстрактна (тобто така, що не існує в арсеналі

техніки), але дуже проста обчислювальна машина. Машина Поста, не

дивлячись на зовнішню простоту, може здійснювати різні обчислення, для

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

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

пам’яті, команда тощо). Машину Поста можна розглядати як спрощену

модель комп’ютера. Насправді, як комп’ютер, так і машина Поста мають:

 неподільні носії інформації (комірки – біти), які можуть бути

заповненими або незаповненими;

 обмежений набір елементарних дій – команд, кожна з яких

виконується за один такт (крок).

Обидві машини працюють на основі програми. Проте у машині Поста

інформація розташовується лінійно і читається під ряд, а в комп’ютері

можна читати інформацію за адресою; набір команд комп’ютера значно

ширший і виразніший за команди машини Поста.

Машина Поста складається із стрічки та каретки (яка також

називається головкою зчитування/запису). Стрічка є безмежною і розділена

на комірки однакового розміру (рис. 1.1)


Комірка стрічки може бути порожньою, або у ній може перебувати

мітка V. Інформація про те, які комірки порожні, а які містять мітки,

утворює стан стрічки. Іншими словами, стан стрічки – це розподіл міток по

комірках. Стан стрічки змінюється у процесі роботи машини. Зауважимо,

що наявність міток у комірці можна інтерпретувати як «1», а відсутність як

«0». Таке двійкове представлення інформації подібне до уявлення, яке

використовується практично у всіх сучасних комп’ютерах

Каретка може пересуватися вздовж стрічки вліво і вправо. Коли вона

нерухома – вона перебуває навпроти однієї комірки стрічки. У такому

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

каретка може зробити одну із трьох дій: стерти мітку, поставити мітку,

зробити рух до сусідньої комірки. Стан машини Поста складається із стану

стрічки і розташування каретки.
Дії каретки підпорядковані програмі, яка складається з

пронумерованого набору команд (команди можна представляти як рядки

програми). Команди бувають шести типів:

1. записати 1 (мітку), перейти до i-го рядка програми;

2. записати 0 (стерти мітку), перейти до i-го рядка програми;

3. переміститися вліво, перейти до i-го рядка програми;

4. переміститися вправо, перейти до i-го рядка програми;

5. зупинка;

6. якщо 0, то перейти до i-го рядка програми, інакше перейти до j-го

рядка програми.

Наведемо перелік неприпустимих дій, які ведуть до аварійної зупинки

машини:

спроба записати 1 (мітку) в заповнену комірку;

спроба стерти мітку в порожній комірці;

нескінченне виконання (зациклення).

Графічне представлення команд машини Поста

1.3. Індивідуальне завдання

Завдання 1

На стрічці розташовано n масивів міток, відокремлених один від

одного однією вільною коміркою. Каретка знаходиться над першою

міткою першого масиву. Визначити кількість масивів.
1.4.Код першого завдання


Результат



1.6.Контрольні запитання

1) Що постулює так звана «теза Поста»?

«Будь-який алгоритм можна представити у вигляді машини Поста»

2) Що таке алгоритм за Постом?

Це програма для машини Поста, що приводить до вирішення поставленої задачі.

3)Що таке машина Поста?

Машина Поста – це абстрактна (тобто така, що не існує в арсеналі

техніки), але дуже проста обчислювальна машина. Машина Поста, не

дивлячись на зовнішню простоту, може здійснювати різні обчислення, для

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

обчислення.

4) Які складові абстрактної машини Поста?

Машина Поста складається із стрічки та каретки (яка також

називається головкою зчитування/запису). Стрічка є безмежною і розділена

на комірки однакового розміру

5) Який набір команд виконує машина Поста?

1. записати 1 (мітку), перейти до i-го рядка програми;

2. записати 0 (стерти мітку), перейти до i-го рядка програми;

3. переміститися вліво, перейти до i-го рядка програми;

4. переміститися вправо, перейти до i-го рядка програми;

5. зупинка;

6. якщо 0, то перейти до i-го рядка програми, інакше перейти до j-го

рядка програми.

6) Що таке початковий стан каретки?

Під початковим станом каретки розумітимемо її положення навпроти порожньої комірки лівіше за найлівішу мітку на стрічці

7) Що таке стан стрічки?

Інформація про те, які комірки порожні, а які містять мітки, утворює стан стрічки

8) Що таке стан машини Поста?

Стан машини Поста складається із стану стрічки і розташування каретки.

9)Навести перелік неприпустимих дій, які ведуть до аварійної зупинки машини

-спроба записати 1 (мітку) в заповнену комірку;

-спроба стерти мітку в порожній комірці;

-нескінченне виконання (зациклення)

10)Що таке програма для машини Поста?

Програмою для машини Поста називається непорожній список

послідовно пронумерованих команд наступної структури: n K m, де n -

порядковий номер команди, K − дія, яка виконується кареткою, m - номер

наступної команди, яку необхідно виконати

11)Коли програма застосовна до біжучого стану машини Поста?

Будемо розуміти, що ми можемо застосувати програму до біжучого

стану машини Поста, якщо виконання програми не призведе до

зациклювання, тобто рано чи пізно ми виконаємо команду «Зупинка»

1.7.Аналіз результатів та висновки

На даній лабораторній роботі я вивчив формальне визначення поняття алгоритму, пов’язаного із введеною Емілем Постом спеціальної математичної

конструкції (машина Поста) і постулюванням тези про еквівалентність

такого формалізму і поняття «алгоритм»
скачати

© Усі права захищені
написати до нас