Контрольная работа по "Математическая логика и теория алгоритмов"

Автор: Пользователь скрыл имя, 18 Января 2012 в 16:09, контрольная работа

Описание работы

1.1 Для приведенных формул логики высказываний построить соответствующие им логические функции в виде таблиц истинности, определить общезначимость, выполнимость (невыполнимость) и число моделей формулы:
г) x & (y Ú Øx) & ((Øy ® x) ® y);

Работа содержит 1 файл

логика_v.doc

— 50.90 Кб (Скачать)

    $x$y$z$u$v((ØP(f(x, y), z) & ØP(f(x, z), y) & ØP(f(y, z), x)) Ú P(g(u), v)))

Получена  предваренная форма. Получим из нее  скорлемовскую форму:

  1. Поставим каждой $-квантифицированной переменной функциональную форму от предшествующих ей в префиксе "-квантифицированных переменных:

    x – a;

    y –  b;

    z –  c;

    u –  d;

    v –  f.

  1. Подставим в формулу функциональные формы и удалим $-квантификацию:

     ((ØP(f(a, b), c) & ØP(f(a, c), b) & ØP(f(b, c), a)) Ú P(g(d), f)))

    Получили  Сколемовскую форму.

  1. Приведем к КНФ:

   ((ØP(f(a, b), c) Ú P(g(d), f)) & (ØP(f(a, c), b) Ú P(g(d), f)) & (ØP(f(b, c), a) Ú P(g(d), f)))

   Имеем множество дизъюнктов (клаузальную форму):

   {ØP(f(a, b), c) Ú P(g(d), f), ØP(f(a, c), b) Ú P(g(d), f), ØP(f(b, c), a) Ú P(g(d), f)}. 

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

е)  {g(f(b), f(x), a), g(y, v, b)}

Решение:

      Построим  унификатор в соответствии с алгоритмом:

  1. k:=0, s0:=e (пустая подстановка).

   Имеем s0○Li={g(f(b), f(x), a), g(y, v, b)}. Элементы множества различны, поэтому переходим к составлению множества рассогласования.

  1. B0={f(b), y}, отсюда s1:= {(y, f(b))}○e = {(y, f(b))}.

s1○Li={g(f(b), f(x), a), g(f(b), v, b)}. Элементы множества различны, поэтому переходим к составлению множества рассогласования.

  1. B1={f(x), v}, отсюда s2:= {(f(x), v)}○ s1 = {( y, f(b)), (f(x), v)}.

s2○Li={g(f(b), f(x), a), g(f(b), f(x), b)}. Элементы множества различны, поэтому переходим к составлению множества рассогласования.

B2={a,  b}. Множество неунифицируемо. 

6.2 Записать следующее рассуждение на языке логики предикатов и доказать его справедливость, используя метод резолюций.

в) Посылки: Арт - мальчик, у которого нет автомобиля. Джейн любит только мальчиков, имеющих автомобили.

Заключение: Джейн не любит Арта.

Решение:

      Введем  необходимые формальные обозначения: P(x) – «x – мальчик»; Q(x) – «x имеет автомобиль»; L(x, y) – «x любит y»; a – «Арт»; d – «Джейн». Тогда данное рассуждение запишется следующим образом:

{P(a) & ØQ(a), "x(P(x) & L(d, x) ® Q(x))} ╞ ØL(d, a).

Переносим заключение в левую часть с  отрицанием:

{P(a) & ØQ(a), "x(P(x) & L(d, x) ® Q(x)), ØØL(d, a)}.

      Преобразование  формул в клаузальную форму:

  1. P(a) & ØQ(a). Получим множество дизъюнктов: {P(a), ┐Q(a)}.
  2. "x(P(x) & L(d, x) ® Q(x)). Формула в предваренной форме. Преобразуя в КНФ, получим:  "x(ØP(x) Ú ØL(d, x) Ú Q(x))
  3. L(d, a).

    Получили  множество дизъюнктов:

    1. P(a);
    2. ØQ(a);
    3. ØP(x) Ú ØL(d, x) Ú Q(x);
    4. L(d, a).

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

    1. ØL(d, a) Ú Q(a) (1, 3   s1= {(x, a)});
    2. ØL(d, a) (2, 5);
    3. F (4, 6).

    Справедливость  утверждения доказана. 

   д)  Посылки: Ни один республиканец или демократ не является социалистом. Норман Томас – социалист.

   Заключение: Норман Томас – не республиканец.

Решение:

      Введем  необходимые формальные обозначения: P(x) – «x – респобликанец»; Q(x) – «x – демократ»; R(x) – «x – социалист»; a – «Норман Томас». Тогда данное рассуждение запишется следующим образом:

{┐$x((P(x) Ú Q(x)) & R(x)), R(a)} ╞ ┐P(a).

Переносим заключение в левую часть с  отрицанием:

{┐$x((P(x) Ú Q(x)) & R(x)), R(a), ┐┐P(a)}.

      Преобразование  формул в клаузальную форму:

  1. $x((P(x) Ú Q(x)) & R(x)) = "x┐((P(x) Ú Q(x)) & R(x)). Формула в предваренной форме. Преобразуя в КНФ, получим:  "x((┐P(x) Ú ┐R(x)) &(┐Q(x) Ú ┐R(x))) Получим множество дизъюнктов: {┐P(x) Ú ┐R(x), ┐Q(x) Ú ┐R(x)}.
  2. R(a). Формула уже в клаузальной форме.
  3. ┐┐P(a) = P(a).

    Получили  множество дизъюнктов:

    1. ┐P(x) Ú ┐R(x);
    2. ┐Q(x) Ú ┐R(x);
    3. R(a);
    4. P(a).

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

    1. ┐P(a) (1, 3   s1= {(x, a)});
    2. Fkj . (4, 5).

    Справедливость  утверждения доказана. 
     

Информация о работе Контрольная работа по "Математическая логика и теория алгоритмов"