Содержание
- 2. Андре́й Андре́евич Ма́рков (1903 - 1979) - советский математик - сын известного русского математика Андрея Андреевича
- 3. Нормальный алгоритм (алгорифм) задает метод преобразования строк с помощью упорядоченной системы подстановок. Каждая подстановка состоит из
- 4. На каждом шаге работы алгоритма: все подстановки просматриваются по порядку сверху вниз, ищется первая из них,
- 5. заканчивается в двух случаях: все подстановки оказались не применимыми была применена завершающая подстановка Ai →⋅ Bi
- 6. Нормальный алгоритм является неприменимым к данному входному слову, если в процессе выполнения алгоритма бесконечное число раз
- 7. В левых и правых частях формул подстановок могут содержаться пустые слова. Пустое слово содержится слева и
- 8. Примеры нормальных алгоритмов → а Бесконечно приписывает слева к входному слову букву а. Этот алгоритм неприменимый
- 9. Пример 1 Закодировать слово из алфавита {a, b, c} с помощью 0 и 1 Нормальный алгоритм:
- 10. Пример 2 Приписать к слову из алфавита {a, b, c} справа букву а Идея алгоритма: Чтобы
- 11. Пример 2 Нормальный алгоритм: приписывание * в начало
- 12. Пример 2 Нормальный алгоритм: → * приписывание * в начало
- 13. Пример 2 Нормальный алгоритм: → * приписывание * в начало перемещение * вдоль слова
- 14. Пример 2 Нормальный алгоритм: → * приписывание * в начало *a → a* *b → b*
- 15. Пример 2 Нормальный алгоритм: → * приписывание * в начало *a → a* *b → b*
- 16. Пример 2 Нормальный алгоритм: → * приписывание * в начало *a → a* *b → b*
- 17. Пример 2 Нормальный алгоритм: *a → a* *b → b* перемещение * вдоль слова *c →
- 18. Пример 2 Нормальный алгоритм: *a → a* *b → b* перемещение * вдоль слова *c →
- 19. Пример 3 В слове из алфавита {a, b} последнее вхождение символа а заменить на aa. Идея
- 20. Пример 3 *a → a* *b → b* * → # b# → #b a# →⋅
- 21. Пример 4 В слове из алфавита {a, b} его первый символ перенести в конец слова. Идея
- 22. Идея алгоритма: Перегоняем новый символ A или B в конец слова. Заменяем A или B в
- 23. Пример 4 *a → A *b → B Aa → aA Bb → bB Ab →
- 24. А={0,1,2,3}. Пусть Р – непустое слово. Трактуя его как запись неотрицательного целого числа в четверичной системе
- 25. Для перевода числа из четверичной системы в двоичную надо следует каждую четверичную цифру заменить на пару
- 26. Но этот алгоритм неправильный, в чём можно убедиться на входном слове 0123: 0123 → 00123 →
- 27. Ошибка: после замены четверичной цифры на пару двоичных цифр уже никак нельзя отличить двоичные цифры от
- 28. Алгоритм: 1. *0 → 00* 2. *1 → 01* 3. *2 → 10* 4. *3 →
- 29. А={a,b}. Удвоить слово Р, т.е. приписать к P (слева или справа) его копию. Например: abb →
- 30. 1. Приписываем к концу слова Р символ =, справа от которого будем строить копию P. 2.
- 31. Приписать некоторый символ к концу слова: надо сначала приписать слева к слову какой-то спецзнак (*), затем
- 32. Идея если надо скопировать символ a, то порождаем за ним новый символ A (заменяем a на
- 33. Как узнать, какой именно символ исходного слова мы только что скопировали и какой символ надо копировать
- 34. Как только копия очередного символа окажется в конце, спецзнак # должен «запустить» процесс копирования следующего символа:
- 35. Проблема: два спецзнака * и #, первый из которых нужен для приписывания символа = справа к
- 36. * a → a * * b → b * * → = Aa → aA
- 37. *a → aA* *b → bB* * → # Aa → aA Ab → bA Ba
- 38. Пример 3 Составить НАМ вычисления функции f(x)=x + 1. Для примера рассмотрим на троичной системе счисления,
- 39. 1) *0→0* 2) *1→1* 3) *2→2* 4) *→# 5) 0# 1 6) 1# 2 7) 2#→#0
- 41. Скачать презентацию