гл1
.docФормулы, представляющие равные функции, называются эквивалентными или равносильными. Эквивалентность формул обозначается знаком равенства, поэтому можно записать
, (1.3)
. (1.4)
Для того, чтобы для двух данных формул выяснить, эквивалентны они или нет, можно по каждой формуле восстановить таблицу истинности функции, а затем полученные две таблицы сравнить. Этот метод требует вычислений (если считать, что обе формулы зависят от n переменных) и на практике оказывается слишком громоздким. Существуют и другие методы установления эквивалентности формул и получения новых формул, эквивалентных исходной. Эти методы будут рассмотрены в гл. 2 и 3.
Задания для самостоятельной работы
1.1. Весом набора называется число единиц в данном наборе. Сколько существует наборов веса k?
1.2. Найти номера наборов (1001), (01101), (110010).
1.3. Найти вектор длины 6, являющийся двоичным разложением числа 19.
1.4. Восстановить таблицу истинности функции =41.
1.5. Частичная функция не определена на k наборах. Сколько существует различных доопределений данной функции ?
1.6. Выяснить, какие из ниже перечисленных выражений являются формулами над множеством связок {,&,,}:
1) xy; 4) (xy)x; 7) (xz);
2) (x&)z; 5) (x&yy)y; 8) (x(y&(x)));
3) (xy)x; 6) y&(z(xy)).
1.7. Проверить справедливость формул (1.3) и (1.4).
1.8. Построить таблицу функций, реализуемых следующими формулами:
1) 3)
2) 4)
1.9. Эквивалентны ли формулы и ?
1)
2)
3)
4)
1.10. Написать программу, определяющую вес двоичного набора, который хранится в машинном слове b. Содержимое b интерпретируется машиной как беззнаковое целое.
Указание. Необходимо организовать подсчет единичных разрядов в машинном слове. Это можно сделать, выполнив n раз сдвиг влево (вправо) и анализ (n-1)-го (0-го) бита слова, где n - длина слова. Число шагов такого алгоритма всегда равно n и не зависит от веса двоичного набора. Более оригинальные алгоритмы подсчета числа единичных разрядов в слове приведены в [7, с.12-17]. Один из таких алгоритмов всегда делает k шагов, где k – число единиц в слове. Он основан на том, что операция b:= b and (b-1) уничтожает в b самую правую единицу, т.о., после того, как указанная операция будет выполнена k раз, слово станет нулевым (b=0).
1) В геометрическом смысле каждый двоичный набор , есть n-мерный вектор, определяющий точку n-мерного пространства.
1) Операции "сложение по модулю р" – и "умножение по модулю р" – на множестве вводятся следующим образом: , , где c и d – остатки от деления на р чисел и соответственно. Если р – простое число, то алгебра называется конечным полем характеристики р [1, с. 37-42].