48161 (Представление логических функций от большого числа переменных)

2016-07-29СтудИзба

Описание файла

Документ из архива "Представление логических функций от большого числа переменных", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "48161"

Текст из документа "48161"

Содержание

Введение. Функции алгебры логики.

Разложение функций по переменным. Совершенная дизъюнктивная нормальная форма.

Выводы по первым двум темам. СКНФ.

Разрешимoсть задач в классической теории алгоритмов.

Трудоемкость алгоритмов.

Память и время как количественная характеристика алгоритма. (применительно к машине Тьюринга и современным ЭВМ).

Трудоемкость алгоритма на примере RSA, квантовые компьютеры.

Вывод.

Введение. Функции алгебры логики

Любая формула алгебры логики зависит от переменных высказываний x1 , x2 ... xn , полностью определяющих значение входящих в неё простых высказываний, следовательно, её можно рассматривать как функцию этих высказываний. Такие функции, которые как и их переменные принимают значение “0” или “1”, называют функциями алгебры логики или логическими функциями. Эти функции обозначаются f(x1 ... xn).

Логическая переменная может принимать два значения, тогда из n-переменных можно составить N= 2n комбинаций из “0” и “1”, которые принято называть наборами переменных, и говорят, что функция f определена на множестве наборов. Посколько функция принимает два значения, то на N наборов можно построить M= mN различных функций.

Пример. Если n=1, то наборов N=2, а функций M=4

n=2 N=4 M=16

n=4 N=8 M=256

Элементарные функции - логические функции одной или двух переменных.

Постороим при n=1 функцию f(x).

X

f1

f2

f3

f4

0

0

1

0

1

1

0

1

1

0

Здесь f1(x)=0 – константа “0”;

f2(x)= 1 – константа “1”;

f3(x)= x – функция x

f5(x)= x – отрицание.

Аналогично, при n=2 получаем:

f5(x,y)=xy

f6(x,y)=xy

f7(x,y)=xy

f8(x,y)=yx

f10(x,y)= f9(x,y)=xy – сумма по модулю “два”.

f11(x,y)=f10(x,y)=xy – Штрих Шеффера.f9(x,y)=x~y f12(x,y)=f5(x,y)=xy – стрелка Пирса.

Таким образом, при возрастании числа переменных, число строк значительно увеличивается, поэтому чаще используют задание в виде логической функции – такая запись называется аналитической.

Разложение функций по переменным. Совершенная дизъюнктивная нормальная форма.

Введем обозначение x0=x, x1=x. Пусть а - параметр, равный 0 или 1. Тогда xA=1, если x=а, и xA=0, если ха.

Теорема. Всякая логическая функция f(x1, ... , xn) мо-жет быть представлена в следующем виде:

где n m, а дизъюнкция берется по всем 2m наборам значений переменных х1, ..., хm.

Это равенство называется разложением по переменным х1, ..., хт. Например, при n=4, m=2 разложение имеет вид:

f(x1, x2, x3, x4)= x1 x2 f(0, 0, x3, x4) x1 x2 f & (0,1,x3,x4) x1 x2 f(1,0,x3,x4) x1 x2 f(1,1,x3,x4)

Теорема доказывается подстановкой в обе части равенства произвольного набора всех п переменных.

При m=1 из получаем разложение функции по одной переменной

Ясно, что аналогичное разложение справедливо для любой из п переменных. Другой важный случай — разложение по всем п переменным (т=п). При этом все переменные в правой части (3.4) получают фиксированные значения и функции в конъюнкциях правой части становятся равными 0 или 1, что дает:

где дизъюнкция берется по всем наборам на которых f=1. Такое разложение называется совершенной дизъюнктивной нормальной формой (СДНФ) функции f. СДНФ функции f содержит ровно столько конъюнкций, сколько единиц в таблице f ; каждому единичному набору соответствует конъюнкция всех переменных, в которой Xi взято с отрицанием, если i = 0, и без отрицания, если i = l. Таким образом, существует взаимно од­нозначное соответствие между таблицей функции f (x1, ..., хп) и ее СДНФ, и, следовательно, СДНФ для всякой логической функции единственна (точнее, единственна с точностью до порядка букв и конъюнкций: это означает, что ввиду коммутативности дизъюнкции и конъюнкции формулы, получаемые из предыдущей формулы перестановкой конъюнкций и букв в конъюнкции, не различаются и считаются одной и той же СДНФ). Единственная функция, не имеющая СДНФ – это константа 0.

Формулы, содержащие, кроме переменных (и, разумеется, скобок), только знаки функций дизъюнкции, конъюнкции и отрицания, будем называть булевыми формулами (напомним, что знак конъюнкции, как правило, опускается). Предыдущая формула приводит к важной теореме.

Теорема. Всякая логическая функция может быть представлена булевой формулой, то есть как суперпозиция конъюнкции, дизъюнкции и отрицания.

Действительно, для всякой функции, кроме константы 0, таким представлением может служить её СДНФ. Константу 0 можно представить булевой формулой xx.

А почему же формула называется “совершенной”? Совершенной называется потому, что она имеет 4 свойства совершенства.

  1. В формуле все конъюнкции разные.

  2. В конъюнкции все переменные разные.

  3. В одной конъюнкции не встречаются переменные вместе с их отрицанием.

  4. В конъюнкции столько переменных, сколько в исходной функции f , то есть n. (Число переменных в функции есть ранг этой функции).

В таблице истинности определяют единичные наборы. Из переменных образуют конъюнкции следующим образом: если переменная = 1, то пишем x, если 1, то пишем x. Полученные конъюнкции объединяем знаком дизъюнкции.

x

y

Z

f


0

0

0

0

0

0

1

0

0

1

0

0

0

1

1

1

xyz

1

0

0

0

1

0

1

1

x yz

1

1

0

1

xy z

1

1

1

1

xyz

В результате получаем следующую СДНФ:

f(x, y, z) = ( xyz) (x yz) (xy z) (xyz)

Выводы по первым двум темам.

Логическая переменная может принимать два значения, тогда из n-переменных можно составить N= 2n комбинаций из “0” и “1”, которые принято называть наборами переменных, и говорят, что функция f определена на множестве наборов. Поскольку функция принимает два значения, то на N наборов можно построить M= mN различных функций. Становится очевидно, что чем больше переменных содержит функция, тем более громоздкой становится таблица истинности. Поэтому чаще используют аналитическую форму записи. Но машинам (тем же ЭВМ) непонятна такая форма записи и всё равно необходимо строить таблицы истинности, что порою может отнимать значительно времени. Об этом речь пойдет чуть ниже.

Так же бывает проблематично, а порою даже и невозможно построить СДНФ не использую таблицы истинности.

Так же существует СКНФ – Совершенная Конъюнктивная Нормальная Формула. Я не стал останавливаться на ней более подробно, так как она очень похожа на СДНФ, с той лишь разницей, что состоит из конъюнктивных элементов дизъюнкции. Соответствующие изменения будут и при получении СКНФ из таблицы истинности.

x

Y

Z

f

0

0

0

0

хyz

0

0

1

0

xy z

0

1

0

0

x yz

0

1

1

1

1

0

0

0

x y z

1

0

1

1

1

1

0

1

1

1

1

1

Таким образом получаем следующую СКНФ:

f(x,y,z)=(хyz)^(xy z)^(x yz)^( x y z)

Разрешимoсть задач в классической теории алгоритмов

В классической теории алгоритмов задача считается разрешимой, если существует решающий ее алгоритм. Однако для реализации некоторых алгоритмов при любых разумных с точки зрения физики предположениях о скорости выполнения элементарных шагов может потребоваться больше времени, чем по современным воззрениям существует вселенная. Поэтому возникает потребность конкретизировать понятие разрешимости и придать ему оценочный, количественный характер, введя такие характеристики алгоритмов, которые позволяли бы судить о возможности и целесообразности их практического применения.

Среди различных возможных характеристик алгоритмов наиболее важными с прикладной точки зрения являются две: время и память, расходуемые при вычислении. Физическое время вычисления алгоритма характеризуется произведением t, где t - число действий (шагов) вычисления, а - среднее физическое время реализации одного шага. Число шагов t определяется описанием алгоритма в данной алгоритмической модели, это - величина математическая, не зависящая от особенностей физической реализации модели. Напротив, зависит от реализации и определяется скоростью обработки сигналов в элементах, записи и считывания информации и т. д. Поэтому число действий t можно считать математическим временем вычисления алгоритма, определяющим физическое время вычисления с точностью до константы , зависящей от реализации.

Память как количественная характеристика алгоритма

Память как количественная характеристика алгоритма определяется количеством S единиц памяти (ячеек ленты машины Тьюринга или машинных слов в современных ЭВМ), используемых в процессе вычисления алгоритма. Ясно, что эта величина по порядку не может превосходить числа шагов вычисления: t s, где - максимальное число единиц памяти, используемых в данной машине на одном шаге. Напротив, t может существенно превосходить s, например, возможно соотношение t s^c. С этой точки зрения время более тонко отражает сложность алгоритма, чем память; и это - одна из причин, по которой исследованию временных характеристик алгоритма уделяется большее внимание. Существуют и другие, прикладные причины (в частности, то, что, грубо говоря, память дешевле времени), которые здесь обсуждаться не будут. Так или иначе, здесь будет идти речь о трудоемкости алгоритмов и задач, решаемых алгоритмами.

Итак, трудоемкость алгоритма - это число элементарных действий, выполненных при его вычислении.

Полной характеристикой конкретного варианта задачи является его формальное описание. Характеристикой сложности описания можно считать его объем, который иногда называют размерностью задачи (например, для изоморфизма графов размерностью задачи можно считать число символов в матрицах смежности графов); тогда исследование трудоемкости алгоритма рассматривается как исследование зависимости трудоемкости вычисления от размерности задачи, решаемой алгоритмом.

И в математике, и на практике в конечном счете нас интересуют не алгоритмы сами по себе, а задачи, которые они решают. Одна и та же задача может решаться различными алгоритмами и на разных машинах. Если машина М зафиксирована, то трудоемкостью данной задачи относительно машины М называется минимальная из трудоемкостей алгоритмов, решающих задачу на машине М. Задач, трудоемкость которых была бы определена точно, довольно мало; хорошим результатом считается определение ее по порядку, т. е. с точностью до множителя, ограниченного некоторой константой. Чаще удается оценить ее сверху или снизу. Оценку сверху получают, указав конкретный алгоритм решения задачи: по определению, трудоемкость задачи не превосходит трудоемкости любого из решающих ее алгоритмов. Оценки трудоемкости снизу - гораздо более трудное дело; их получают обычно из некоторых общих соображений (например, мощностных или информационных). О них здесь говорить не будем.

Можно ли говорить об инвариантности теории трудоемкости вычислений? Иначе говоря, возможны ли утверждения о трудоемкости вычислений, сохраняющиеся при переходе к любой алгоритмической модели? Что касается прямых количественных оценок, то инвариантами не являются не только константы, но и степени. Например, доказано, что трудоемкость распознавания симметричности слова длины п относительно его середины на машине Тьюринга не меньше, чем сn^2, тогда как для любой ЭВМ, имеющей доступ к памяти по адресу, допускающей операции над адресами, легко написать программу, решающую эту задачу с линейной трудоемкостью.

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5173
Авторов
на СтудИзбе
436
Средний доход
с одного платного файла
Обучение Подробнее