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

4. Розробка аналітичної моделі алгоритму із використанням нормальних алгоритмів маркова

4.1 Реалізація алгоритму у вигляді Марковських підстановок

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

Послідовність підстановок Маркова наведена у таблиці 4.1.

Таблиця 4.1 – Нормальний алгоритм Маркова

x1

x*

1x

/a

Продвигаємо х до дільника і замінюємо

його на а для копіювання дільника

(*a111 *yyy111)

a1

a

1y

y1a

y1

Копіюємо дільник

b1

b=

b

1b

=1

=1

Збільшуємо результат ділення на 1

1/y

1/

/1

/

1*b

b1

Віднімаємо від діленого дільник по одній цифрі

x=

/y

dy

d1

1d

d=

d

.

.

d=

d

d

d

d

0

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

x

Ставимо x на початку слова

4.2 Тестові приклади

Тестовий приклад для вихідного слова 11111*11 приведений на рисунку 4.1.

11111*11

x11111*11

11111x*11

11111/a11

11111/y1a1

11111/y1y1a

11111/y1y1

11111/yy11

1111/y11

111/11

111*b11

111*11b

111*11=1

x111*11=1

111x*11=1

111/a11=1

111/y1a1=1

111/y1y1a=1

111/y1y1=1

111/yy11=1

11/y11=1

1/11=1

1*b11=1

1*11b=1

1*11=11

x1*11=11

1x*11=11

1/a11=11

1/y1a1=11

1/y1y1a=11

1/y1y1=11

1/yy11=11

/y11=11

d11=11

d=11

11

Рисунок 4.1 – Тестовий приклад

Оскільки , результат після виконання Марковських підстановок дорівнює 11 в унарному коді; алгоритм працює правильно.

Тестовий приклад для вихідного слова 11*11 приведений на рисунку 4.2. Тестовий приклад для вихідного слова 1*111 приведений на рисунку 4.3.

1*1

x1*1

1x*1

1/a1

1/y1a

1/y1

/1

b1

1b

1=1

x1=1

1x=1

1d=1

d=1

1

Рисунок 4.2 – Тестовий приклад

1*111

x1*111

1x*111

1/a111

1/y1a11

1/y1y1a1

1/y1y1y1a

1/y1y1y1

1/yy11y1

1/yy1y11

1/yyy111

/yy111

dy111

d111

d

0

Рисунок 4.3 – Тестовий приклад

Оскільки , результат після виконання Марковських підстановок дорівнює 0; алгоритм працює правильно.

ВИСНОВОК

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

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

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

ПЕРЕЛІК ПОСИЛАНЬ

1. http://uk.wikipedia.org/wiki/Теорія_алгоритмів.

2. Колєчкіна, Л.М. Теорія алгоритмів та математична логіка.

3. Марков А.А., Нагорный Н.М., Теория алгоритмов, М., 1984.

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

ДОНЕЦЬКИЙ НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСІТЕТ

КАФЕДРА КОМП’ЮТЕРНИХ СИСТЕМ МОНІТОРИНГУ

ДОДАТОК А

ТЕХНІЧНЕ ЗАВДАННЯ

ДО КУРСОВОЇ РОБОТИ

ПО КУРСУ «ТЕОРІЯ АЛГОРИТМІВ І ФОРМАЛЬНИХ МОВ»

Тема: «Побудова аналітичних моделей алгоритмів

і оцінка їх складності»

Керівники:

__________________ Назарова І.А.

«____» _____________ 2011 р.

__________________ Родрігес А.Е.

«____» _____________ 2011 р.

Виконавець:

студент групи КЕМ-08

__________________ Григор’єв Є.А.

«____» _____________ 2011 р.

Донецьк, 2011 р.

1. Підставою для розробки є завдання на курсову роботу, видане кафедрою комп’ютерних систем моніторингу.

2. Метою розробки є створення програмної моделі машини Тьюринга, що розпізнає мову .

3. Вимоги до програми:

- при перевірці слова на приналежність мові необхідно заборонити введення з клавіатури символів не з вхідного алфавіту заданої мови;

- при перевірці слова на приналежність мові виводити на екран кожен крок роботи машини Тьюринга;

- зберігати протокол роботи машини Тьюринга в текстовому файлі;

- для генерації слів завдовжки n використовувати метод повного перебору.

4. Вимоги до програмної документації:

- пояснювальна записка;

- керівництво користувача.

5. Етапи розробки:

Найменування етапу

Термін виконання

1

Видача завдання, складання ТЗ, його затвердження

2 тиждень

2

Технічне проектування. Побудова формальних моделей алгоритмів

2-4 тиждень

3

Робоча проектування. Визначення структур даних для представлення МТ, побудова алгоритмів

4-5 тиждень

4

Написання програми

5-9 тиждень

5

Налагодження програми

9-12 тиждень

6

Написання пояснювальної записки

9-13 тиждень

7

Захист курсової роботи

13-14 тиждень

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

ДОНЕЦЬКИЙ НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСІТЕТ

КАФЕДРА КОМП’ЮТЕРНИХ СИСТЕМ МОНІТОРИНГУ

ПОЯСНЮВАЛЬНА ЗАПИСКА ДО КУРСОВОГО ПРОЕКТУ

ПО КУРСУ «ТЕОРІЯ АЛГОРИТМІВ І ФОРМАЛЬНИХ МОВ»