Тверской государственный университет
Опубликован: 21.08.2007 | Доступ: свободный | Студентов: 3172 / 268 | Оценка: 4.08 / 3.92 | Длительность: 15:40:00
ISBN: 978-5-9556-0110-6
Специальности: Программист, Математик
Лекция 3:

Булевы функции и их представления

< Лекция 2 || Лекция 3: 1234 || Лекция 4 >

Задачи

Задача 3.1. Какие подмножества вершин B4 соответствуют следующим булевым функциям:

  • f_{1}(x_{1},x_{2}, x_{3}, x_{4}) = 1 \Leftrightarrow  x_{1} = 0 ;
  • f_{2}(x_{1},x_{2}, x_{3}, x_{4}) = 1 \Leftrightarrow  x_{4} = 1 ;
  • f_{3}(x_{1},x_{2}, x_{3}, x_{4}) = 1 \Leftrightarrow  x_{1} + x_{2} \ge  x_{3} + x_{4} (здесь + - арифметическое сложение);
  • f_{4}(x_{1},x_{2}, x_{3}, x_{4}) = 1 \Leftrightarrow  x_{1}x_{2} = 0 или x3x4 = 1 .

Задача 3.2. Построить таблицы значений для следующих булевых функций:

  • f_{1}(X_{1},X_{2},X_{3}) = 1 \Leftrightarrow  X_{1} + X_{3} \ge  X_{2} ;
  • f_{2}(X_{1},X_{2},X_{3}) = 1 \Leftrightarrow сумма (X1 +X2 + X3) четна;
  • f_{3}(X_{1},X_{2},X_{3}) = 0 \Leftrightarrow значение X1 совпадает со значением X2 или со значением X3.
  • f4(X1,X2,X3) = если X1=1 , то X2 , иначе X3 .

Задача 3.3. Построить таблицы для функций, задаваемых следующими формулами:

\Psi _{1}= ((X_{1} \to  \neg  X_{3}) \vee  (X_{2} + X_{3})) ;

\Psi _{2} =(\neg  (X_{1} | X_{2}) ~ (\neg  X_{1} \wedge  X_{2})) ;

\Psi _{3} = ((X_{2} + \neg  X_{3}) \wedge  ((X_{1} \vee  X_{2}) \to  (X_{1}     \sim  \neg  X_{3}))).

Задача 3.4. Назовем два набора \alpha  =(\alpha _{1}, \dots  ,        \alpha _{n})\in  B^{n} и \beta  =(\beta _{1}, \dots  , \beta _{n})\in  B^{n} соседними}, если они находятся в соседних строках таблицы для функции от n переменных, т.е. представляют двоичные записи чисел i_{\alpha } и i_{\beta }, для которых | i_{\alpha } - i_{\beta }| = 1.

Найти число функций в \codecal{P}_n
      , которые на любой паре соседних наборов принимают

  • одинаковые значения;
  • разные значения.

Задача 3.5. Назовем два набора \alpha  =(\alpha _{1}, \dots  , \alpha _{n})\in  B^{n} и \beta  =(\beta _{1}, \dots  , \beta _{n})\in  B^{n} противоположными}, если для всякого i \alpha _{i}= 1 \Leftrightarrow  \beta _{i}=0 (и, следовательно, \alpha _{i}= 0 \Leftrightarrow  \beta _{i}=1 ).

Найти число функций в \codecal{P}_n
      , которые на любой паре противоположных наборов принимают разные значения.

Задача 3.6. Пусть n =2k. Назовем набор \alpha  =(\alpha _{1}, \dots  , \alpha _{n})\in  B^{n} парным,} если для любого i=1, ..., k \alpha _{i} = \alpha \_ \{ k+i\},т.е. \alpha  =\alpha ^{\wedge} ' \alpha ^{\wedge}' для некоторого набора \alpha ^{\wedge} ' размера k.

Найти число функций в \codecal{P}_n, которые на всех парных Наборах принимают одинаковое значение.

Задача 3.7. Администратор базы данных обнаружил, что одна или несколько из трех записей его базы A, B и C ошибочна. Он установил, что

  • если запись B корректна, то A ошибочна;
  • хотя бы одна запись из пары B, C корректна и хотя бы одна запись из пары A, C корректна;
  • если A ошибочна, то хотя одна из записей B, C корректна (но не обе вместе).

Опишите знания администратора в виде булевой формулы. Может ли он сделать вывод, что запись B ошибочна? Можно ли достоверно утверждать, что ошибочная запись единственна?

Задача 3.8. Программист Петр использовал в своей программе три целочисленные переменные x, y и z. В определенном месте программы он поместил условный оператор:

IF (x*y >= 0)OR (x*z >= 0) THEN x=1 ELSE x=2;

Проанализировав свою программу, Петр установил, что перед выполнением этого Оператора выполнены следующие условия:

  • если z < 0, то x < 0 или y >= 0 ;
  • x >= 0 или y < 0 ;
  • если y < 0, то хотя бы одна из переменных x, z отрицательна, но не обе вместе.

Опишите знания Петра в виде булевой формулы. Может ли он оптимизировать программу, заменив указанный условный оператор на присвоение x=1 или на присвоение x=2? Если "да", то на какое?

Задача 3.9. Комитет состоит из пяти членов. Решения принимаются большинством голосов, однако, если председатель голосует "против", то решение не принимается. Постройте формулу, зависящую от 5 переменных X1, X2,X3, X4, Y ( X_{i}=1 \Leftrightarrow  i -ый член комитета голосует "за", Y=1 \Leftrightarrow председатель "за"), значение которой равно 1 тогда и только тогда, когда в результате голосования решение принимается.

< Лекция 2 || Лекция 3: 1234 || Лекция 4 >
Елена Алексеевская
Елена Алексеевская

Это в лекции 3.

Татьяна Дембелова
Татьяна Дембелова

Почему в вводной лекции курса Основы дискретной математики одним из свойств отношения частичного порядка упоминается антирефлексивность? Посмотрела в других источниках, там -0  рефлексивность... http://ru.wikipedia.org/wiki/%D0%9E%D1%82%D0%BD%D0%BE%D1%88%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D0%BE%D1%80%D1%8F%D0%B4%D0%BA%D0%B0