Algoritmga kirish
Download 487.85 Kb. Pdf ko'rish
|
algoritmga kirish fanidan laboratoriya mashgulotlari boyicha uslubiy kursatma
- Bu sahifa navigatsiya:
- Qo’yilgan masala
- 5.2.Tyuring mashinasining ishlash takti TM
- 6-laboratoriya ishi Mavzu: Tabiiy Markov algoritmlari Ishdan maqsad
- Qisqacha nazariy ma’lumot
5-laboratoriya ishi Mavzu:Tyuring mashinasi tushunchasi Ishdan maqsad: Ushbu laboratoriya ishining maqsadi talabalar qanday tyuring mashinasi va ishlashni o’rganishlari kerak. Shu asosda tyuring mashinasida dasturlar tuzishni o’zlashtirishlari kerak.
mashinasi qoidalari yordamida yechish dasturini yaratish ko’nikmasiga ega bo’lishlari kerak.
Tajriba ishi nazariy ma’lumotlarini o’rganish;
Berilgan topshiriqniтп algoritmini ishlab chiqish; Tyuring mashinasi uchun belgilahslarni kiritish; Natijalarni tekshirish; Hisobotni tayyorlash va topshirish.
5.1.Tyuring mashinasi tushunchasi Tyuring mashinasi ikkita asosiy qismdan iborat: lenta va avtomatdan.
Lenta ma’lumotni saqlashda foydalaniladi. Uning uzunligi cheksiz va katachalarga bo’lingan. Katakchalar nomerlanmagan. Katakka istalgan belgi yoizhs yoki avval yozilgan belgini o’cjirib tashlash mumkin. Bo’sh katakni L harfi bilan belgilash kiritib olamiz. Avtomat bu tyuring mashinasining aktiv qismi sanaladi. Har bir vaqt momentida bitta katakka suriladi va katakning qiymatini (tarkibini, ichini) ko’radi. Qaralayotgan katak va uning tarkibidagi belgi (simvol) qaralayotgan belgi deb ataladi. Lekin qo’shni kataklarning tarkibini bir vaqtni o’zida ko’ra olmaydi. Har bir vaqt momentida avtomat o’zining bitta holatida bo’ladi. Bilgilash kiritamiz: S- qaralayotgan belgi, q- avtomatning joriy holati. Uning konfiguratsiyasi quyidagicha bo’ladi: Avtomat 3 ta elementar amalni bajarishi mumkin: 1) Qaralayotgan katakka yangi belgi yoizsh; 2) Chap yoki o’ng tomonga qarab harakatlanish (Bunda avtomat bir nechta katakni sakrab o’ta olmaydi); 3) Yangi holatga o’tish; Avtomat yuqorida kop’rib o’tilgan amallardan boshqa amalni bajara olmaydi. 5.2.Tyuring mashinasining ishlash takti TM har bir taktda quyidagi harakatlarni amalgam oshiradi: 1. Qaralayotgan katakka qandaydir S’ belgini yozib qo’yadi. 2. O’ng tomonga bir katak siljitish –R (Right) harfi bilan, chap tomonga siljish –L (Lift) harfi bilan, agar joydan qimirlamasa N harfi bilan belgilanadi. 3. Qandaydir q’ holatga o’tadi (yoki avvalgi holatida qoladi). Yuqorida keltirilgan amallarni formal ko’rinishi quyidagicha bo’ladi: S’, [L,R, N], q’ Masalan, ushbu *,L,q8 taktni qaraymiz. Bu yerda *- qaralayotgan katak, L-bitta katak chapga harakat va q8 holatga o’tushni bildiradi.
6-laboratoriya ishi Mavzu: Tabiiy Markov algoritmlari Ishdan maqsad: Tabiiy Markov algoritmlarini o’rganish. Qo’yilgan masala: Topshiriq variantida berilgan masalani berilgan tuzilishdagi algoritmlar yordamida yechish. Qisqacha nazariy ma’lumot Ma’lum bir alifboga asoslangan algoritmik so’zlarning sinfi sobiq sovet matemategi A.A.Markov tomonidan tabiiy markov lagoritmi (TMA) nomi ostida ishlab chiqilgan. Har bir algoritm Нормальные алгоритмы Маркова (далее — НАМ), введенные советским математиком А. А. Марковым, представляют собой класс алгоритмов, применимых к словам некоторого алфавита. Каждый НАМ определяется указанием алфавита, в котором он действует, и схемы НАМ. Алфавитом НАМ может служить любой конечный алфавит A . Формулой подстановки в алфавите A называется выражение типа p → q (простая подстановка, в эмуляторе обозначена как ->) или
(заключительная подстановка, в эмуляторе обозначена как =>), где
и
q — некоторые слова в алфавите A , называемые, соответственно, левой и правой частями формулы подстановки. Каждый НАМ в алфавите
имеет конечное число формул подстановки. Их записывают в виде списка, который называется схемой алгоритма. Применение НАМ к некоторому слову S заключается в следующем. В списке формул подстановки ищется первая из тех формул, в которой левая часть входит в
. Находится 1- е вхождение левой части формулы в
и вместо этого вхождения подставляется правая часть формулы. Получается новое слово
. Cо словом S' производятся те же действия и т.д. Данный процесс обрывается в 2-х случаях:
к очередному слову применена одна из заключительных формул подстановки;
в слово не входит ни одна из левых частей формул подстановки. Получаемое последнее слово является результатом применения НАМ к исходному слову S .
Примеры на составление нормальных алгоритмов Маркова Пример 1. В произвольном слове, состоящем из букв {a, b, c} , все подряд стоящие одинаковые буквы заменить одной буквой (например, слово «abbbcaa» преобразовать в «abca»). Схема НАМ. имеет вид: 1.
aa
→ a
2. bb
→ b
3. cc
→ c
( загрузить в эмулятор )
Применение этой схемы с слову «abbbcaa» последовательно даст слова: «abbbca», «abbca» и «abca», после чего выполнение НАМ завершится. Для проверки данного алгоритма загрузите его текст в эмулятор.
«x»). Т.е. слово «x» надо преобразовать в «xx», слово «xx» — в «xxxx» и т.д. Схема НАМ для этого примера намного сложнее, чем для примера 1. Нельзя написать
→ xx , т.к. в этом случае на каждом шаге НАМ к слову будет добавляться символ «x» и этот процесс будет бесконечным. Необходимо контролировать удвоение каждого символа слова так, чтобы каждый символ удвоился только один раз. Для это введём маркер, с помощью которого будем обеспечивать контекст применения удваивающего правила. 1. *x →
xx*
2. *
↦ 3.
→
* ( загрузить в эмулятор ) Последнее правило вводит «маркер» '*' (или «курсор»), который с помощью первого правила «перескакивает» через текущий символ слова и удваивает его. Применение этой схемы, например, к слову «xx» последовательно даст слова: (3) «*xx», (1) «xx*x», (1) «xxxx*», (2) «xxxx» (в скобках указан номер применяемой формулы подстановки).
{a, b, c} . Упорядочить буквы входного слова в лексикографическом порядке FOYDALANILGAN ADABIYOTLAR 1. Алфред В. Ахо., Джон Э. Хопкрофт, Джефри Д. Ульман. Структура данных и алгоритмы//Учеб.пос., М. : Изд.дом: "Вильямс", 2000. 2. Бакнелл Джулиан М. Фундаментальные алгоритмы и структуры данных в Delphi//СПб: ООО «ДиаСофтЮП», 2003. 560с. 3. Роберт Седжвик. Фундаментальные алгоритмы на C++. Анализ, Структуры данных, Сортировка, Поиск//К.: Изд. «ДиаСофт», 2001.- 688 с. 4. Динман М.И. С++. Освой на примерах//СПБ.:БХВ-Петербург, 2006, 384. 5. Шилдт, Герберт. Полный справочник по С#//М. : Изд. дом "Вильямc", 2004, 752 с. 6. Вирт Н. Алгоритмы и структуры программы//М., Мир, 1985. 7. Лойко В.И. Структуры и алгоритмы обработки данных. Учебное пособие для вузов.- Краснодар: КубГАУ. 2000. - 261 с., ил. 8. Knuth, D. E. (1968). The Art of Computer Programming Vol. I: Fundamental Algorithms, Addison – Wesley, Reading, Mass. (Русский перевод: Кнут Д. Искусство программирования для ЭВМ. Том 1: Основные алгоритмы. – М., «Мир», 1976. Русский перевод переработанного издания: Кнут Д. Искусство программирования. Том 1: Основные алгоритмы. – М., Издательский дом «Вильямс», 2000.) 9. Джон Бентли. Жемчужины программирования. СПб.: Питер, 2002.-272с. 10. Акбаралиев Б.Б. Конспект лекций по курсу “Маълумотлар тузилмаси ва алгоритмлар” для студентов по специальности 5521900 “Информатика и информационные технологии”, Ташкент, 2008 г. 11. Акбаралиев Б.Б. Методические указания к лабораторным работам по курсу “Маълумотлар тузилмаси ва алгоритмлар” для студентов по специальности 5521900 “Информатика и информационные технологии”, Ташкент, 2008 г. 12. Xudoyberdiyev M.X., Akbaraliyev B.B. “Ma’lumotlat tuzilmasi va algoritmlar” fanidan amaliy mashg’ulotlar uchun topshiriqlar (uslubiy ko’rsatmalari bilan). Toshklent, 2013 y. Download 487.85 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling