Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаба1.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
73.18 Кб
Скачать

Міністерство освіти і науки, молоді та спорту України

Національний університет “Львівська політехніка”

Кафедра ЕОМ

Звіт

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

на тему:

" Програмування машин Тьюрінга "

              1. З дисципліни:

              1. " Aлгоритми та методи обчислень "

Вибір індивідуального завдання:

DN = 25

Pr1 = №(D) = 68

№ V=(25+68)%30+1=4

Виконав:

ст. гр. КІ-25

Добринін О.В.

Перевірив:

асистент

Ігнатович А.О.

Львів – 2012

  1. Мета роботи

Вивчити принципи роботи машин Тюринга, набути практичних навичок програмування машин Тьюрінга.

  1. Постановка задачі

    1. Загальна частина

Розробити алгоритм розв'язання задачі згідно з індивідуальним завданням. Використання додаткових символів, що не входять в алфавит А, має бути обгрунтоване.

Скласти програму для мишини Тьюрінга. В початковому стані каретка МТ має розпізнавати перший зліва символ вхідного слова Р. В кінцевому стані каретка МТ має зупинитись під одним із символів вихідного слова (під яким саме - не має значення).

Відлагодження і тестування програми провести в середовищі емулятора мишини Тьюрінга. Записати в середовищі емулятора в поле Условие задачи варіант і умову індивідуального завдання. В поле Комментарий записати коротке пояснення дій, які реалізуються у відповідних станах каретки.

Визначити часову (T), місткісну (M) та програмну (P) складності алгоритму, представленого у вигляді програми для МТ.

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

A={a,b}. Замінити в непорожньому слові P кожне входження символа a на символи bb.

  1. Словесний опис алгоритму

Для розв'язання цієї задачі потрібно перемістити каретку під комірку із символом а і потім записати в цю комірку символ b, зсунути каретку на пусте місце вліво, записати там символ b. І виконувати ці дії в циклі до тих пір поки не зустрінеться пустий символ справа і потім зсунути каретку на один символ вліво.

  1. Алгоритм у вигляді програми для МТ

Вхідне слово: bbabaab

4.1 Повна таблиця

Q A

a0

a

b

q1

q0a0L

q2bL

q1bR

q2

q1bR

q2bL

4.2 Скорочена таблиця

Q A

a0

a

b

q1

q0L

q2bL

R

q2

q1bR

L

4.3 Протокол роботи МТ

K0

b

b

a

b

a

a

b

q1

K1

b

b

a

b

a

a

b

q1

K2

b

b

b

b

a

a

b

q2

K3

b

b

b

b

a

a

b

q2

K4

b

b

b

b

b

a

a

b

q1

K5

b

b

b

b

b

a

a

b

q1

K6

b

b

b

b

b

b

a

b

q2

K7

b

b

b

b

b

b

a

b

q2

K8

b

b

b

b

b

b

b

a

b

q1

K9

b

b

b

b

b

b

b

a

b

q1

K10

b

b

b

b

b

b

b

b

b

q2

K11

b

b

b

b

b

b

b

b

b

q2

K12

b

b

b

b

b

b

b

b

b

b

q1

K13

b

b

b

b

b

b

b

b

b

b

q0

K14

b

b

b

b

b

b

b

b

b

b

q0

  1. Ефективність алгоритму

5.1 Часова складність

Кількість виконаних тактів по переробці слова bbabaab дорівнює 42, тобто часова складність T=42.

5.2 Місткісна складність

В процесі роботи використовуються комірки стрічки з номерами від -3 до 6, тобто місткісна складність М=10.

5.3 Програмна складність

Табличне представлення МТ містить 5 заповнені комірки, отже програмна складність цієї МТ дорівнює Р=5.

  1. Результати виконання програми

Висновок

У цій лабораторній роботі я вивчив принципи роботи машин Тюринга та набув практичних навичок програмування машин Тьюрінга.