
- •Определение булевой функции
- •Способы задания булевых функций
- •Формулы. Реализация функций формулами
- •Принцип двойственности
- •Разложение булевых функций по переменным. Совершенные
- •Полнота и замкнутость. Примеры функционально полных систем
- •Представление булевых функций полиномом Жегалкина
- •Класс функций, сохраняющий константу 0
- •Класс функций, сохраняющий константу 1
- •Класс самодвойственных функций
- •Класс линейных функций
- •Теорема Поста о полноте
- •Понятие днф. Проблема минимизации булевых функций
- •Геометрическая интерпретация задачи минимизации булевых функций
- •Определение тупиковой днф
- •Построение тупиковых днф методом упрощения совершенной днф
- •Определение сокращенной днф и геометрический метод ее построения
- •19.Минимизация булевых функций на основе построения тупиковых д. Н. Ф.
- •20. Минимизация булевых функций методом карт Карно.
- •21.Минимизация булевых функций методом Квайна-Мак-Класски
- •24. Элементарные методы синтеза схем из функциональных элементов. Метод синтеза, основанный на совершенной д. Н. Ф.
- •25. Элементарные методы синтеза схем из функциональных элементов. Метод синтеза, основанный на более компактной реализации множества всех конъюнкций .
- •26.Элементарные методы синтеза схем из функциональных элементов. Метод синтеза, основанный на разложении функции по переменной .
- •27 Синтез схем дешифратора
- •29. Определение и способы задания конечного автомата
- •Способы задания конечного автомата
- •30. Задача анализа и синтеза автоматов
- •31.Элементарные автоматы
- •32. Задача о полноте автоматного базиса
- •Канонический метод синтеза автомата.(?)
- •34.Словарные операторы. Примеры.
- •35. Словарный оператор, реализуемый автоматом. Ограниченно-детерминированный словарный оператор.
- •36. Минимизация автомата
- •37. Понятие формального языка
- •Регулярные языки и грамматики
- •38. Автоматы Мили и Мура. Распознавание множеств автоматами. Теорема анализа для автомата.
- •Понятие алгоритма. Машины Тьюринга и операции над ними. Функции, вычислимые на машинах Тьюринга.
- •40. Формальное определение алгоритма. Представление об алгоритмически неразрешимых проблемах.
- •2. Представление об алгоритмически неразрешимых проблемах
40. Формальное определение алгоритма. Представление об алгоритмически неразрешимых проблемах.
Формальное определение алгоритма
О п р е д е л е н и е . Словарный оператор f:A*→A*, → = f( )
называется вычислимым по Тьюрингу, если существует машина Тьюринга с алфавитом
ленты A { }, которая работает следующим образом: если на ленту записать произвольное слово , установить головку на правый символ и запустить машину по ее программе, то после остановки машины на ленте будет написано слово f ( ) .
Приведем одно из возможных формальных определений алгоритма:
алгоритм – это словарный оператор, вычислимый по Тьюрингу.
2. Представление об алгоритмически неразрешимых проблемах
Определение алгоритма состоит в том, что если ранее это понятие существовало на
неточном, интуитивном уровне, то теперь ему сопоставлен некоторый точно определен-
ный объект – программа машины Тьюринга. Фактически программа представляет собой
слово в некотором алфавите и можно себе представить, что, анализируя какую-либо про-
блему, мы придем к выводу о несуществовании указанного слова, тем самым к алгоритми-
ческой неразрешимости проблемы.
Приведем несколько примеров алгоритмически неразрешимых проблем.
Первый результат об алгоритмической неразрешимости был получен в 1947 г. не-зависимо друг от друга А.А. Марковым и Э.Л. Постом по проблеме равенства в полугруп-
пах.
1. Проблема равенства в полугруппах.
Полугруппой или ассоциативной системой называют множество, на котором определена одна ассоциативная операция. Примером полугруппы является совокупность X*
всевозможных слов в алфавите
X={x1, …, xn} (1)
с операцией конкатенации. X*называется свободной полугруппой с n образующими.
Свободная полугруппа с одной образующей x состоит из слов { ,x,x2 , ..., xn, ...}и изо-
морфна полугруппе неотрицательных целых чисел с операцией сложения.
На основе свободной полугруппы можно построить новые полугруппы при помощи
определяющих соотношений. Пусть
=
,
…,
=
(2)
есть
произвольная совокупность пар слов из
X*. Элементарным преобразованием
называется переход от слова
к
слову
или
обратно. Два слова из X*называются
эквивалентными, если от одного можно
перейти к другому конечным числом
элементарных преобразований.
Проблема равенства слов в полугруппе заключается в отыскании алгоритма, устанавливающего эквивалентность любой пары слов.
Пусть
определяющие соотношения имеют вид xi
xj
= xj
xi,
.
Составом слова назовем вектор σ( ) = (s1, …, sn), где si– количество букв xi в
слове , i =1, ...,n . Элементарные преобразования не изменяют состав слова, причем каждое слово можно привести к виду
x1...x1 .. xn . ...xn,
в котором буквы стоят в алфавитном порядке. Отсюда следует, что два слова эквивалент-ны в том и только том случае, когда они имеют одинаковый состав, что и дает алгоритм
эквивалентности для данной полугруппы.
А.А. Марков и Э.Л. Пост построили примеры полугрупп, для которых алгоритма
распознавания равенства (эквивалентности) не существует. В дальнейшем число таких
примеров значительно увеличилось. Приведем пример Г.С. Цейтлина: полугруппа с обра-
зующими { a, b, c, d} и определяющими соотношениями
ac=ca, ad=da, bc=cb, bd=db, eca=ce, edb=de, cca=ccae имеет неразрешимую проблему равенства слов.
2. Проблема полноты автоматного базиса.
Ранее была сформулирована задача о полноте автоматного базиса: для заданного
набора структурных автоматов A1, …, Ar требуется установить возможность по-
строения на их основе любого наперед заданного автомата.
В 1964 г. М.И. Кратко установил алгоритмическую неразрешимость задачи о пол-
ноте автоматного базиса. Это означает, что не существует машины Тьюринга, работающей следующим образом: если на ленту машины поместить описания автоматов A1, …, Ar и запустить ее в работу, то машина остановится в состоянии !, если A1, …, Ar полная и в состоянии !!, если эта система неполная.
3. 10-я проблема Гильберта.
В 1900 г. на II Международном Конгрессе математиков Д. Гильберт выступил с
докладом «Математические проблемы», в котором сформулировал 23 проблемы , «иссле-
дование которых может значительно стимулировать развитие науки». Десятая из этих
проблем называется «Задача о разрешимости диофантова уравнения».
Пусть задано диафантово уравнение с произвольными неизвестными и целыми ра-
циональными чис ловыми коэффициентами. Указать способ, при помощи которого воз-
можно после конечного числа операций установить разрешимо ли это уравнение в целых
рациональных числах.
Диофантовым называют уравнение вида
Pn( x1, , xm)=0 , (3)
в котором Pn– многочлен n -ой степени от m переменных с целыми коэффициентами:
Pn(
x1,
, xm)=
.
В 1970 г. Ю.И. Митиясевич доказал, алгоритма, устанавливающего разрешимость
диофантова уравнения не существует.
4. Проблема остановки машины Тьюринга.
Так как набор инструкций для машины Тьюринга может быть задан произвольно,
то возможны ситуации, когда машина работает без остановки, то есть не переходит в за-
ключительное состояние. Рассмотрим, например, машину с программой
q10→!1U
q11→q10L
q1 →q11L
Машина с данной программой будет работать следующим образом: если в начальном слове на ленте есть нули, то дойдя до первого из них машина остановится; если начальное слово состоит из одних единиц, то головка будет без остановки перемещаться влево.
Проблема остановки машины Тьюринга состоит в следующем: для данной машины
Тьюринга и данного слова требуется установить остановится ли машина, начав работу
с правого символа слова или нет.
Можно доказать, что не существует алгоритма для решения этой проблемы.