Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.intsys.msu.ru/staff/alexeev/zadachi.pdf
Дата изменения: Sat Feb 14 23:55:16 2015
Дата индексирования: Sat Apr 9 23:18:54 2016
Кодировка: Windows-1251
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ имени М. В. ЛОМОНОСОВА Механикоматематический факультет

ИНТЕЛЛЕКТУАЛЬНЫЕ СИСТЕМЫ
Сборник задач по курсу ?Дискретный анализ и интеллектуальные системы?
Д. В. Алексеев

Москва 2014


2


Оглавление
1 Распознавание образов
1.1 1.2 1.3 Геометрический подход к распознаванию Основные определения и обозначения . Упражнения. . . . . . . . . . . . . . . . . Ответы и указания. . . . . . . . . . . . . Вероятностный подход к распознаванию Упражнения. . . . . . . . . . . . . . . . . Ответы и указания. . . . . . . . . . . . . Тестовый подход к распознаванию . . . Основные обозначения и определения. . Упражнения. . . . . . . . . . . . . . . . . Ответы и указания. . . . . . . . . . . . . Реляционная алгебра . . . . . . . . Обозначения и определения . . . . Упражнения. . . . . . . . . . . . . . Ответы и указания. . . . . . . . . . Информационнографовый подход. Обозначения и определения. . . . . Упражнения. . . . . . . . . . . . . . Ответы и указания. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 10 16 24 25 29 31 31 38 42

1

2 Теория хранения и поиска информации
2.1

47

2.2

47 47 49 52 54 54 64 72

3 Логический подход
3.1

3.2

3.3

Вывод из аксиом . . . . . . . . . . . . Основные обозначения и определения Упражнения. . . . . . . . . . . . . . . Ответы и указания. . . . . . . . . . . Исчисление высказываний . . . . . . Обозначения и определения . . . . . Упражнения. . . . . . . . . . . . . . . Ответы и указания. . . . . . . . . . . Исчисление предикатов . . . . . . . . Обозначения и определения . . . . . Полнота исчисления предикатов . . Упражнения. . . . . . . . . . . . . . . Ответы и указания. . . . . . . . . . .

.. . .. .. .. .. .. .. .. .. .. .. ..

87 87 88 90 92 92 97 100 108 108 110 112 115

87

3


4

Оглавление


Оглавление

i

Этот задачник разработан на основе семинаров проводившихся в течение более 10 лет.


ii

Оглавление


Глава 1

Распознавание образов
1.1. Геометрический подход к распознаванию
Основные определения и обозначения

Преобразования плоскости.
Рассмотрим следующие группы преобразований пплоскости Будем обозначать 0 множество состоящее из одного тождественного преобразования. Будем обозначать m множество движений, т.е. множество преобразований плоскости, сохраняющих расстояние между точками. Будем обозначать s множество преобразований подобия, т.е. множество преобразований плоскости, при которых расстояния между точками умножаются на фиксированный коэффициент k . будем называть отображение, которое отображает точку (x, y ) в (x , y ), где (x , y )T = A ћ (x, y )T + b, где A матрица det(A) = 0. Геометрически аффинные преобразования представляют собой композиции параллельного переноса, поворота, симметрии и растяжения по направлениям. при аффинном преобразовании сохраняется форма предметов, хотя размеры предметов и пропорции могут изменяться. Аффинные преобразования используются при распознавании образов. Множество всех аффинных преобразований будем обозначать a . Выполняется включение 0 m s a . Множества A и A будем называть относительно 0

Аффинным преобразованием

Замечание.

и обозначать A A , если существует преобразование T 0 , такое, что T ( A) = A . Аналогично определяется эквивалентность относительно m , s и a . s a m Обозначаются они A A , A A и A A , соответственно. Мы рассмотрим далее разные варианты преобразований изображения на сетчатке и для каждого такого случая будем строить кодировку изображения, инвариантную к рассматриваемым преобразованиям. Распознавание будет основываться на этих инвариантах. 1

0

эквивалентными


2

Глава 1. Распознавание образов

Кодирование изображений.
Пусть A конечное множество точек плоскости. В дальнейшем будем называть его . Биекцию M : A {1, ..., n} (где n = |A|) будем называть функцией нумерации изображения A. Несложно заметить, что произвольному множеству можно поставить в соответствие n! различ- ных функций нумерации. Будем обозначать ai = MA 1 (i) точку, которая соответствует номеру i; X (ai ) и Y (ai ) координаты этой точки. Хотелось бы отметить, что эти обозначения имеет смысл только если задана функция нумерации. Пусть T : R2n Rt кодирующая функция. Будем называть кодом изображения A пару < MA , TA >, где MA функция нумерации, а TA = T (X (a1 ), Y (a1 ), . . . , X (an ), Y (an )) значение кодирующей функции на координатах точек изображения. Величину t будем называть сложностью кода. Будем называть изображения A и B эквивалентными относительно кодирующей функции T , если |A| = |B | и существуют функции нумерации T MA и MB , такие, что TA = TB . Эквивалентность обозначается как AB . Пусть A множество из n различных точек плоскости, т.е. |A| = n. Это множество в дальнейшем будем называть . Взаимно однозначную функцию MA : A {1, 2, . . . , n} будем называть изображения A. Поскольку MA взаимно однозначная - функция, то определена функция MA 1 , которая номеру из {1, 2, . . . , n} сопоставляет точку из A. Если a точка плоскости, то через X (a), Y (a) обозначим соответственно абсциссу и ординату точки a. Вектор

изображением

изображением

функцией нумерации

будем называть A MA . Пусть T : R2n Rt некоторая t-мерная вектор функция, называемая . Пару MA , TA , где TA = T (KMA ), будем называть A MA T . Число t, равное длине вектора TA и размерности кодирующей функции T , назовем MA , TA . Два изображения A и B назовем T , если |A| = |B | и существуют такие функции нумерации MA и MB , что T (KMA ) = T (KMB ). Пусть некоторое множество геометрических преобразований плоскости. В дальнейшем мы будем рассматривать следующие множества:

вектором координат изображения при нумерации кодирующей кодом изображения при нумерации для кодирующей функции сложностью кода эквивалентными относительно кодирующей функции

KMA = (X (M

-1 A

(1)), Y (M

-1 A

(1)), . . . , X (M

-1 A

(n)), Y (M

-1 A

(n)))

ћ 1 множество, состоящее из одного тождественного преобразования; ћ 2 множество преобразований, получающихся с помощью любых комбинаций сдвига, поворота и преобразований симметрии; ћ 3 множество преобразований подобия, т.е. преобразований, получающихся с помощью любых комбинаций сдвига, поворота и преобразований симметрии и изменения в размерах (с сохранением подобия); ћ 4 = a множество невырожденных аффинных преобразований плоскости.


1.1. Геометрический подход к распознаванию

3

ства преобразований

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

эквивалентны относительно множе-

метрических преобразований

правильная для множества гео-

Примеры кодирования. Случай 1. Пусть дано изображение A. Перенумеруем его точки некоторым образом так, чтобы номера были попарно различны, т.е. зададим 1 функцию нумерации MA . Кодом K 1 изображения A (обозначение: KA ) назовем пару множеств < MA , TA >. Здесь TA множество координат (x, y )n точек с указанием их номера, то есть, например, (5, 3)n означает, что у точ1 ки с номером n координатами являются пара (5, 3). То есть для кода KA в 2n 2n качестве кодирующей функции выступает функция T : R R такая, что TA = T (KMA ) = KMA . Перенумеровав по иному множество точек изображения A, получим другую пару < MA , TA >. Будем, однако, рассматривать кодировку с точностью до перенумерации и называть изображения, отличающиеся только нумерацией точек, K 1 -эквивалентными . Таким образом, если имеются изображение A с кодом < MA , TA > и B с кодом < MB , TB >, то назовем A и B K 1 -эквивалентными , если существует такая нумерация точек изображения ~~ A, при которой его код есть < MA , TA >, и такая нумерация для B , при ~ B , TB >, и при этом TA = TB . ~ ~ ~ которой его код есть < M 1 Легко видеть, что код KA является правильным для множества преобразований 1 . Случай 2. Пусть рассматриваются движения плоскости (преобразования из 2 ). В этом случае меняются координаты точек, но сохраняются рас2 стояния между ними. Рассмотрим код KA =< MA , TA >, где MA есть функция нумерации множества A. Множество TA составляют все числа r(q , m) (q и m номера точек из {1, 2, . . . , |A|}), являющиеся расстояниями между точками изображения с номерами q и m. То есть, если |A| = n, то кодирующая функция T такая, что T : R2n Rt , где t = n(n - 1)/2 число различных пар (q , m), q < m, и если нумеровать компоненты вектор-функции T парами (q , m), то (q , m)-я компонента равна
Tq
,m

(K

MA

)=

(X (M

-1 A

(q ) - X (M

-1 A

(m))2 + (Y (M

-1 A

(q ) - Y (M

-1 A

(m))2 .

Аналогично вводится понятие K 2 -эквивалентности изображения имеющие одинаковые с точностью до перенумерации точек коды. Можно показать, что два изображения K 2 -эквивалентны тогда и только тогда, когда одно может быть получено из другого комбинацией сдвига, поворота и пре2 образования симметрии, т.е. код KA правильный для множества преобра-


4

Глава 1. Распознавание образов

зований 2 1 . 1 Отметим, что для изображения A, состоящего из n точек, сложность KA 2 равна 2n, а сложность KA равна n(n - 1)/2. 2 Вместе с тем код KA явно избыточен. Это видно, например, из того, что если зафиксировать на плоскости положение трех точек изображения, то для определения положения остальных точек все элементы множества TA , очевидно, не потребуются. Случай 3. Пусть рассматриваются преобразования подобия (3 ). При таких преобразованиях расстояния не сохраняются, но сохраняются их от3 ношения, что лежит в основе кода KA . Так же, как и в предыдущих случаях, перенумеруем множество точек изображения A и обозначим функцию нумерации через MA . Далее зададим множество TA численных значений ) отношений вида ml,pq = r(m,l) , где r(m, l) и r(p, q ) расстояния между r (p,q точками с номерами соответственно m и l, p и q , т.е.

r(p, q ) =

(X (M

-1 A

(p) - X (M

-1 A

(q ))2 + (Y (M

-1 A

(p) - Y (M

-1 A

(q ))2 .

Здесь m, l, p, q номера из {1, 2, . . . , |A|}, m < l, p < q . Для каждого числа из TA полагаем известной соответствующую ему четверку номеров m, n, p, q . 3 Код KA есть пара < MA , TA >. Аналогично тому, как это рассматривалось для предыдущих двух случаев, можно определить одинаковые с точностью до перенумерации точек коды. Изображения с такими кодами будем называть K 3 -эквивалентными. В [?] показано, что два изображения K 3 -эквивалентны в том и только в том случае, если на плоскости одно может быть получено из другого сдвигом, поворотом, изменением в размерах (с сохранением подобия), преобразованием симметрии или их комбинаци3 ей (то есть подобными преобразованиями), т.е. код KA правильный для множества преобразований 3 . Процедуру распознавания изображений, полученных преобразованиями подобия, можно провести аналогично процедуре, описанной для случая 2. Множество TA имеет (n(n - 1)/2)(n(n - 1)/2 - 1) элементов. Вместе с 3 тем код KA , очевидно, избыточен. Случай 4 (основной). Будем рассматривать аффинные преобразования (невырожденные) изображения (4 ). 1 2 3 Коды KA , KA , KA изображения при сжатии и растяжении, очевидно, 3 меняются. Так, например, код KA меняется потому, что меняются соотносительные размеры частей изображения (не сохраняется подобие). Назовем двумерным изображением конечное множество точек на плоскости. Перенумеруем некоторым образом точки изображения A, т.е. зададим функцию нумерации MA . Пусть Smnu и Skps площади треугольников с вершинами в тройках точек с номерами m, n, u и k , p, s и пусть mnu,kps = Smnu . Полагаем, что порядок номеров в тройках не важен, сами Skps тройки различны и при Skps = 0 значение mnu,kps не определено. Множество индексированных чисел mnu,kps для всех таких пар троек обозначим 4 через TA . Код KA изображения A пара < MA , TA >. Изображения, все точки которых расположены на одной прямой, не рассматриваем, поскольку код для них не определен. Как и ранее, изображения A и B назовем эквивалентными в смысле случая 4 (далее просто эквивалентными), если
1
Это можно рассматривать как частный случай утверждения, доказанного в [ ]

?


1.1. Геометрический подход к распознаванию

5

существуют такие нумерации MA и MB , что коды TA и TB равны. Ясно, что эквивалентность изображений содержательно означает одинаковость их кодов с точностью до перенумерации точек. Если |A| = N , то мощность этого 3 3 кода составляет CN (CN - 1). называется изображение, точки которого не лежат на двух параллельных прямых.

Плоским изображением
Ta

Теорема 1 (В.Н.Козлов, [4]).

носительно

Два плоских изображения эквивалентны оттогда и только тогда, когда они a-эквивалентны.

Восстановление трехмерных изображений.
Трехмерным изображением (телом) будем называть конечное множество точек трехмерного евклидова пространства. Как и в плоском случае будем называть аффинно эквивалентными два тела, если существует аффинное преобразование трехмерного пространства, переводящее одно в другое. Объемным будем называть изображение, если оно не расположено ни в одной плоскости, ни в двух параллельных плоскостях. Пусть задано тело T и прямая l, называемая направлением проекции. Через каждую точку изображения проводим прямую2 , параллельную l. Рассматриваются точки пересечения этих прямых с некоторой плоскостью и обозначаются Pl, (t). Направления будем называть разными, если соответствующие прямые не параллельны. Пусть заданы проекции ti = Pl , и ti = Pl , , где i = 1, . . . , N и l , l разные направления проекции. Тогда возможно восстановить (с точностью до аффинной эквивалентности) исходное тело.

Алгоритм восстановления объемного изображения по его плоским проекциям.
Выберем четыре точки изображения, не лежащие в одной плоскости (по условию такие существуют). Будем обозначать эти точки a, b, c и d, их проекции на плоскость обозначим a , b , c и d ; на плоскость a , b , c и d соответственно.

ћ Восстановим положение точек a, b, c и d следующим образом: ~ a(X (a ), Y (a ), 0), ~(X (b ), Y (b ), 0), c(X (c ), Y (c ), 0), d(X (d ), Y (d ), 1). ~ b ~ Т.е. координаты X и Y просто повторяют координаты проекций на соответствующих точек. ћ Расмотрим аффинное преобразованияA , переводящее точки a , b и c в точки с координатами (0, 0), (0, 1) и (1, 0), соответственно. Аналогично рассмотрим аффинное преобразованияA , переводящее точки a , b и c в точки с такими же координатами: (0, 0), (0, 1) и (1, 0). ћ Найдем sd = |A (d )A (d )|. ћ Проведем цикл по оставшимся точкам изображения (обозначим e переменную точку, по которой идет цикл).
2
Предполагается, что прямая

l

выбрана так, что на каждой такой прямой расположена

одна точка тела


6

Глава 1. Распознавание образов

Найдем se = |A (e )A (e )|. Восстановим точку e(X (e ), Y (e ), ~

se sd

).

В [2] показано, что указанный алгоритм восстанавливает трехмерное изображение с точностью до аффинной эквивалентности. Рассмотрим примеры решения задач, связанных с аффинной эквивалентностью. Пример 1.1. В трехмерном пространстве расположены точки a, b, c, d и e. Известны их проекции на две плоскости. Проекции на : a (-5, 1), b (-4, 2), c (-6, 2), d (0, 4) и e (4, 6) (в некоторой системе координат) и проекции на : a (-1, 5), b (-2, 3), c (-3, 4), d (7, 0) и e (11, -4), соответственно. Известно, что плоскости AB C и C DE пересекаются по прямой L а) Определить уравнения прямых L и L , которые являются проекциями прямой L на плоскости и , соответственно. b) Восстановить положение точек A, B , C , D и E с точностью до аффинной эквивалентности. Решение пункта а) Рассмотрим аффиннное преобразование, переводящее точки a , b и c в точки a , b и c , соответственно. Из курса линейной алгебры известно, что такое преобразование существует и единственно. Можно найти его матрицу, решив систему линейных уравнений, но в данной задаче можно поступить еще проще. Воcпользуемся тем, что аффинное преобразование сохраняет линейную комбинацию векторов и представим вектор c d = (6, 2) в виде линейной комбинации век? торов v1 = c a = (1, -1) и v2 = c b = (2, 0). Легко найти коэффици? енты этой линейной комбинации: c d = -2 ћ v1 + 4v2 . Отcюда следует, ? ? ? ? что c d = -2 ћ v 1 + 4v 2 = -2 ћ (2, 1) + 4 ћ (1, -1) = (0, -6), где d образ точки d при вышеуказанном аффинном преобразовании. Следовательно, d = (-3, -2). Аналогичным образом найдем координаты точки e = (-4, -7). Найдем точку x пересечение прямых d e и d e . Ее координаты x = (-1, 8). Следовательно, проекцией L будет прямая, проходящая через точки c (-3, 4) и x (-1, 8), ее уравнение y = 2x + 10. Разложим теперь вектор c x = (2, 4) как линейную комбинацию векторов ? ? ? ? v 1 = c a = (2, 1) и v 2 = c b = (1, -1), получим . c x = 2 ћ v 1 - 2 ћ v 2 . Отcюда легко получаем координаты точки x на плоскости : x = (-8, 0). Найдем прямую c x : ее уравнение y = x + 8. Ответ: Уравнение прямой L : y = x + 8, уравнение прямой L : y = = 2 ћ x + 10. Решение пункта б) Для упрощения построений рассмотрим аффинные преобразования, переводящие точки a (-5, 1), b (-4, 2), c (-6, 2), и a (-1, 5), b (-2, 3), c (-3, 4) в точки с координатами a (1, 0), b (0, 1) и c (0, 0), соответственно. При таком преобразовании, точки d (0, 4) и e (4, 6) перейдут в d1 (-2, 4) и e1 (-4, 7), а точки d (7, 0) и e (11, -4) в d2 (2, 6) и e2 (2, 10), соответственно. Точки x и x переходят в точку x (2, -2). Зададим координаты четырех точек удобным для нас образом: a(1, 0, 0), b(0, 1, 0), c(0, 0, 0), d(-2, 4, 1), тогда x будет иметь координаты x (2, -2, 0). Тогда координаты точки e определяются однозначно из условия, что эта точка лежит на прямой xd, причем xe = 3/2 ћ xd, откуда получаем e(-4, 7, 3/2). Ответ: a(1, 0, 0), b(0, 1, 0), c(0, 0, 0), d(-2, 4, 1) и e(-4, 7, 3/2). Пример 1.2. В трехмерном пространстве расположены точки a, b, c, d и e. Известны их проекции на две плоскости. Проекции на : a (-4, 3), b (-1, 2), c (-3, 2), d (7, 0) и e (-4, 5) и проекции на : a (3, -4), b (6, -4),


1.1. Геометрический подход к распознаванию

7

c (5, -5), d (7, 3) и e (-6, 5). Восстановите положение точек a, b, c, d и e с точностью до аффинной эквивалентности.

Решение Рассмотрим аффиные преобразования, переводящие точки a (-4, 3), b (-1, 2), c (-3, 2) и a (3, -4), b (6, -4), c (5, -5) в точки с координатами a(1, 0), ~(0, 1) и c(0, 0), соответственно. При таком преобразовании, ~ b ~ ~ точки d (7, 0) и e (-4, 5) перейдут в d1 (-2, 4) и e1 (-3, 1), а точки d (7, 3) и ~ ~~ ~2 (2, 6) и e2 (7, 3), соответсвенно. Заметим, что вектора d1 e1 и e (-6, 5) в d ~ ~~ d2 e2 получились равными. Это означает, что прямая de параллельна плоскости abc. Зададим координаты четырех точек удобным для нас образом: a(1, 0, 0), b(0, 1, 0), c(0, 0, 0), d(-2, 4, 1), тогда из того, что вектор de параллелен плоскости abc вытекает , что e = (3, 1, 1). Ответ: a(1, 0, 0), b(0, 1, 0), c(0, 0, 0), d(-2, 4, 1) и e(3, 1, 1). Пример 1.3. Докажите, что если аффинное преобразование переводит некоторую окружность в себя, то либо поворот, либо симметрия. Решение Рассмотрим произвольный прямоугольник, вписанный в данную окружность. Его образом будет параллелограмм, вписанный в окружность, т.е. тоже прямоугольник. Следовательно, преобразование сохраняет прямые углы. Действительно, для произвольного прямого угла можно построить вписанный прямоугольник, стороны которого параллельны сторонам этого угла.
Впишем произвольный квадрат в окружность. Отображение сохраняет прямой угол между диагоналями, следовательно образ тоже будет квадратом. из этого следует, что сохраняет расстояние между точками, следовательно, изометрия (движение).

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

Пример 1.4. Дан параллелограмм AB C D, площадь которого равна S0 . Точки K , L, M и N являются серединами сторон AB , B C , C D и DA, соответственно. Найдите площадь четырехугольника, образованного прямыми AL, B M , C N и DK (см. рис. 1.1).


8

Глава 1. Распознавание образов C

y C

L

B
B

M

L
1

M

D K

K
N

O 1

Dx

N
A Рис. 1.1: К примеру 1.4.

A
Рис. 1.2: Решение примера 1.4.

занный четырехугольник в единичный квадрат, так, чтобы одна из вершин перешла в начало координат, а точки D и L попали на оси координат (см. рис. 1.2). Тогда точки A, B , C и D перейдут в точки с координатами A (0, -1), B (-1, -1), C (1, 2) и D (2, 0), соответственно. Эти точки образу ют квадрат со стороной 5. Поскольку отношение площадей сохраняется при аффинном преобразовании, то искомая площадь равна 1 S0 . 5 Пример 1.5. Каждая диагональ выпуклого пятиугольника параллельна одной из его сторон. Докажите, что аффинным преобразованием этот пятиугольник можно перевести в правильный пятиугольник.

Решение. Рассмотрим аффинное преобразование, переводящее ука-

Рис. 1.3


1.1. Геометрический подход к распознаванию

9

Решение Рассмотрим пятиугольник AB C DE . Очевидно, из условия параллельности диагонали E C и стороны AB вытекает равенство площадей треугольников AB C и AB E у них основание AB общее и высоты равны. Аналогично доказывается, что S ( AB C ) = S ( B C D) = S ( C DE ) = = S ( DE A) = S ( E AB ). Будем в дальнейшем считать, что все эти площади равны 1, что не ограничивает общности рассуждений, поскольку нас интересуют только отношения площадей. Обозначим AB = a, C E = a и запишем площадь трапеции AB C E двумя способами.:
ћ С одной стороны S (AB C E ) = S ( AB C ) + S ( AC E ) = 1 + , так как S ( AC E ) : S ( AB C ) = E C : AB = . ћ C другой стороны, из подобия E B F C DF (где точка = сечение диагоналей B D и C E ) следует, что B F : F D = E = a : (a - a) = 1 : ( - 1). Поэтому S ( B C F ) : S ( 1 = B F : B D = 1 : , следовательно, S ( B C F ) = , откуда 1 S (AB C E ) = S (AB F E ) + S ( B C F ) = 2 + . F переF : FC = B C D) = получаем

Приравнивая полученные выражения для S (AB C E ), получим уравне 1 ние 1 + = 2 + , откуда = 1+2 5 (золотое сечение) 3 . Таким образом, S ( AB D) = S ( B C E ) = S ( DC A) = S ( E B D) = = S ( AC E ) = 1+2 5 (подумайте, почему все эти площади равны?). Заметим, что вышеприведенные рассуждения можно применить и к правильному пятиугольнику. Получается, что коды, т.е. отношения площадей соответствующих треугольников у AB C DE и у правильного пятиугольника совпадают. Согласно теореме В.Н. Козлова эти изображения будут a-эквивалентны, что и требовалось доказать.

3

Исторически золотое сечение возникло именно как отношение, в котором диагонали

правильного пятиугольника делят друг друга.


10
Упражнения.

Глава 1. Распознавание образов

Задача 1.1.1. Докажите, что определение аффинного преобразования (повороты, сдвиги, растяжения) из лекции эквивалентно определению в курсе аналитической геометрии(на I курсе). Задача 1.1.2. Пусть A1 , B1 , C1 , D1 образы A, B , C , D при АП. Дока- - - - -- - -- - жите, что если AB = C D то A1 B1 = C1 D1 .

Задача 1.1.3. Пусть A , B , C образы точек A, B , C при некотором АП.
Докажите, что если C делит отрезок AB в отношении AC : C B = p : q , то C делит отрезок A B в том же отношении. лелограмма; в) две трапеции?

Задача 1.1.4. Являются ли aэквивалентными а) два ромба; б) два паралреводит данную точку O в данную точку O , а данный базис векторов e1 , e2 в данный базис e1 , e2 . b) Даны два треугольника AB C и A B C . Докажите, что существует единственное АП, переводящее точку A в A , B в B и C в C . c) Даны два параллелограмма. Сколькими АП один можно перевести в другой?

Задача 1.1.5. a) Докажите, что существует единственное АП, которое пе-

Задача 1.1.6. Докажите, что любое аффинное преобразование плоскости

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

Задача 1.1.7. Существует ли линейный по сложности правильный код для
множества геометрических преобразований 2 ?

Задача 1.1.8. Будет ли правильным для множества преобразований 3 код, полученный из кода, описанного в упражнении 1.1.12, делением каждого элемента на r1,2 ?
B . Оценить сверху сложность (в зависимости от n = |A| = |B |) алгоритма , выясняющего эквивалентность этих изображений.
3 3 Задача 1.1.9. Пусть KA , KB описанные ранее коды изображений A и

Задача 1.1.10. Придумайте правильный код для множества преобразований 4 , который имеет сложность по порядку меньшую, чем сложность 4 кода KA .

Задача 1.1.11. Рассмотрим следующую функцию кодирования: на пря-

мой ai aj введем систему координат, в которой точка ai начало координат, а отрезок [ai aj ] задает масштаб (т.е. точка aj имеет координату 1). Обозначим ij,kl координату точки пересечения с прямой ak al в этой системе координат. Если прямые параллельны, считаем, что соответствующий ij,kl не определен. Докажите, что код {ij,kl }n ,k,l=1 является правильным для i,j семейства 4 .

Задача 1.1.12. Пусть MA функция нумерации изображения A, |A| = n,
ri,j = (X (M
-1 A

(i) - X (M

-1 A

(j ))2 + (Y (M

-1 A

(i) - Y (M

-1 A

(j ))2 ,

TA = {r1,1 , r1,3 , r2,3 , r1,4 , r2,4 , r3,4 , . . . , r

1,n

, r2,n , r3,n }.

Будет ли код < MA , TA > правильным для множества преобразований 2 ?


1.1. Геометрический подход к распознаванию

11

свойствами: A2 A и rk(A) = 2. Докажите, что это преобразование проекция на некоторую плоскость.

Задача 1.1.13. Пусть аффинное преобразование A(x) = Ax + b обладает

Задача 1.1.14. Дан куб AB C DA1 B1 C1 D1 , известны координаты проекций его вершин на некоторую плоскость: A (-1, -2), C (3, 4), B1 (7, 0), D1 (1, 6). Найдите координаты проекций остальных вершин куба. Задача 1.1.15. Квадрат AB C D расположен в плоскости . В различных (относительно ) полупространствах выбраны точки S и S1 , так, что S AB C DS1 правильный октаэдр. Известны координаты проекций на некоторую плоскость следующих вершин: A (1, 2), B (-1, 3), C (0, 4) и S (0, 0). Найдите координаты проекций вершин D и S1 .

Задача 1.1.16. Дана правильная шестиугольная призма AB C DE F A1 B1 C1 D1 E1 F1 .
Известны координаты проекций на некоторую плоскость вершин A (-1, -2), B (1, 2), D (1, 4) и E1 (-2, -2). Найдите координаты проекций остальных вершин.

Задача 1.1.17. В правильном тетраэдре AB C D проведена прямая l, со-

единяющая центры граней AB C и AB D. Известны проекции вершин на некоторую плоскость: A 1, 3); B (-3, 0); C (2, 3); D (-1, 0). Найдите проекцию прямой l (напишите уравнение прямой).

Задача 1.1.18. Известны проекции вершин правильного тетраэдра AB C D

на некоторую плоскость: A (-3, 1); B (0, -3); C (-3, 4); D (0, -1). Найдите проекцию высоты AH , опущенной на грань B C D (напишите уравнение прямой).

Задача 1.1.19. В правильной 4-угольной пирамиде S AB C D на ребре S C

выбрана точка K , которая делит ребро в отношении S K : K C = 2 : 1. Известны проекции вершин A (0, 1), C (2, 3) и S (-1, 0) на некоторую плоскость. Найдите проекцию на эту же плоскость прямой OK , где O центр основания AB C D. 6-угольной призмы AB C DE F A1 B1 C1 D1 E1 F1 на некоторую плоскость: A (-2, 1), C (1, 2), B1 (0, 4) и D1 (-3, 6). Найдите положение проекций остальных вершин.

Задача 1.1.20. Известны проекции следующих вершин правильной

Задача 1.1.21. В трехмерном пространстве расположены точки a, b, c, d

и e. Известны их проекции на две плоскости. Проекции на : a (-5, 3), b (-4, 4), c (-6, 4), d (-3, 3) и e (-3, 4) (в некоторой системе координат) и проекции на : a (-2, 5), b (-2, 4), c (-3, 4), d (-6, 3) и e (-4, 3), соответственно. Известно, что плоскости abc и cde пересекаются по прямой L Определить уравнения прямых L и L , которые являются проекциями прямой L на плоскости и , соответственно.

Задача 1.1.22. Известны их проекции a (3, 4), b (5, 2), c (3, 3), d (2, 11) и

e (5, -1) на плоскость и проекции a (-1, 2), b (0, 1), c (-3, 0), d (5, 11) и e (5, 2) на плоскость . Пусть L прямая пересечение плоскостей (abc) и (cde).


12

Глава 1. Распознавание образов a) Найдите проекции на и точки X , в которой прямая L пересекает прямую de; b) Выпишите уравнения прямых L и L проекций L; c) Восстановите положение точек a, b, c, d и e с точностью до аффинной эквивалентности.

Задача 1.1.23. Известны проекции на : a (0, 1), b (4, 1), c (1, 0), d (1, 4)

и e (17/2, 5/2) и проекции на : a (-1, 1), b (-4, 3), c (-3, 2), d (3, -2) и e (-6, 11/2). a) Найти координаты точек x и x . b) Найти уравнения проекций прямой L. c) Восстановить трехмерное изображение (с точностью до аффинной эквивалентности).

Задача 1.1.24. Известны проекции на : a (0, 1), b (4, 1), c (1, 0), d (-2, 3) и

e (7, 6) и проекции на : a (-1, 1), b (-4, 3), c (-3, 2), d (3, -2) и e (0, 5/2). Найти проекции прямой L и восстановить трехмерное изображение (с точностью до аффинной эквивалентности).

и e. Известны их проекции на две плоскости. Проекции на : a (-5, 5), b (-4, 8), c (-6, 8), d (3, 5) и e (6, 2) (в некоторой системе координат) и проекции на : a (-2, 5), b (-2, 4), c (-3, 4), d (-2, 7) и e (-2, 9), соответственно. Известно, что плоскости abc и cde пересекаются по прямой L а) Определить уравнения прямых L и L , которые являются проекциями прямой L на плоскости и , соответственно. b) Восстановить положение точек a, b, c, d и e с точностью до аффинной эквивалентности.

Задача 1.1.25. В трехмерном пространстве расположены точки a, b, c, d

Задача 1.1.26. В трехмерном пространстве расположены точки a, b, c, d и e. Известны их проекции на две плоскости. Проекции на : a (0, 1), b (4, 1), c (1, 0), d (-3, 4) и e (9, 4) (в некоторой системе координат) и проекции на : a (-1, 1), b (-4, 3), c (-3, 2), d (3, -2) и e (-3, 4), соответственно. Известно, что плоскости abc и cde пересекаются по прямой L а) Определить уравнения прямых L и L , которые являются проекциями прямой L на плоскости и , соответственно. b) Восстановить положение точек a, b, c, d и e с точностью до аффинной эквивалентности. Задача 1.1.27. В трехмерном пространстве расположены точки a, b, c, d и e. Известны их проекции на две плоскости: проекции на : a (2, 1), b (3, -1), c (1, 0), d (5, 4) и e (8, -11) и проекции на : a (-1, 1), b (-4, 3), c (-3, 2), d (3, -2) и e (-15, 13) Известно, что плоскости abc и cde пересекаются по прямой L Определить уравнения прямых L и L , которые являются проекциями прямой L на плоскости и , соответственно. Задача 1.1.28. В трехмерном пространстве расположены точки a, b, c, d и e. Известны их проекции на две плоскости: проекции на : a (0, 0), b (-1, -2), c (1, -1), d (-3, 3) и e (-3, 6) и проекции на : a (-1, 2), b (-2, 4), c (-2, 2), d (0, -2) и e (0, -8) Известно, что плоскости abc и cde пересекаются по прямой L Определить уравнения прямых L и L , которые являются проекциями прямой L на плоскости и , соответственно.


1.1. Геометрический подход к распознаванию

13

d и e. Известны их проекции на две плоскости: проекции на : a (-3, 3), b (-1, 3), c (-3, 2), d (5, 4) и e (-1, 6) и проекции на : a (-1, -1), b (1, -1), c (1, -2), d (-3, 5) и e (-13, 7) Известно, что плоскости (abc) и (cde) пересекаются по прямой L. a) Определить уравнения прямых L и L , которые являются проекциями прямой L на плоскости и , соответственно. b) Восстановить трехмерное изображение с точностью до аффинной эквивалентности

Задача 1.1.29. В трехмерном пространстве расположены точки a, b, c,

Задача 1.1.30. Дан выпуклый N -угольник, где N < 100, и множество A = {A1 , . . . , A100 } некоторых точек этого многоугольника. Известно, что все N вершин N -угольника принадлежат множеству A, и что никакие 3 точки не лежат на одной прямой, а никакие 4 точки не лежат на двух параллельных прямых. Разрешается задавать вопросы типа: чему равна площадь Ai Bj Ck ? Докажите, что 300 вопросов достаточно, чтобы выяснить, какие точки являются вершинами многоугольника, и чтобы найти площадь многоугольника. Задача 1.1.31. На плоскости дан многоугольник A1 A2 . . . An и точка O
внутри его. Докажите, что равенства:

- - - - - - OA1 + OA3 =2 cos(2 /n)OA2 - - - - - - OA2 + OA4 =2 cos(2 /n)OA3 ... - - - -- - - - OAn-1 + OA1 =2 cos(2 /n)OAn
необходимы и достаточны для того, чтобы существовало аффинное преобразование, переводящее данный многоугольник в правильный, а точку O в его центр.

Задача 1.1.32. Через каждую вершину треугольника проведены две прямые, делящие противоположную сторону треугольника на три равные части. Докажите, что диагонали, соединяющие противоположные вершины шестиугольника, образованного этими прямыми, пересекаются в одной точке.

Задача 1.1.33. В параллелограмме AB C D точка K середина стороны

AB , L середина B C , M середина C D и N середина DA. Найдите площадь четырехугольника, образованного прямыми AL, B M , C N и DK , если S (AB C D) = 25.

Задача 1.1.34. В треугольнике

AB C на стороне на B C точка L и на AC точка N так, что AM : = 1 : 2 и AN = N C . Прямые AL и M C пересекаются какую часть площади AB C составляет площадь

AB выбрана точка M , M B = 3 : 2, B L : LC = в точке O. Определите, B ON .

Задача 1.1.35. На плоскости даны три вектора a, b, c, причем a + b +

+ c = 0. Докажите, что эти векторы аффинным преобразованием можно перевести в векторы равной длины тогда и только тогда, когда из отрезков с длинами ||, | |, | | можно составить треугольник.


14 D

Глава 1. Распознавание образов C

F

G

A

E

B Рис. 1.4: К задаче 1.1.38.

Задача 1.1.36. Внутри треугольника

AB C лежит точка M . Докажите, что площади треугольников AB M и C B M равны тогда и только тогда, когда точка M находится на медиане угла B треугольника AB C .

Задача 1.1.37. Докажите, что в произвольной трапеции точка пересечения
диагоналей, точка пересечения продолжений боковых сторон и середины оснований расположены на одной прямой.

Задача 1.1.38. Пусть AB C D трапеция с основаниями AB C D, точка

E середина основания AB , точки F и G середины отрезков DE и C E , соответственно (см. рис. 1.4). Докажите, что треугольники AF D и B C G равновелики.

Задача 1.1.39. В выпуклом четырехугольнике AB C D продолжения

сторон AB и C D пересекаются в точке Z , точки X и Y являются серединами диагоналей AC и B D. Найдите отношение площадей S ( X Y Z ) : S (AB C D).

Задача 1.1.40. Через точку O, взятую на диагонали параллелограмма AB C D, проведены прямые, параллельные его сторонам. Данный параллелограмм делится на четыре параллелограмма. Два из них пересекаются диагональю (см. рис. 1.5).
a) Докажите, что два других параллелограмма равновелики. b) Сформулируйте и докажите обратное утверждение.

Задача 1.1.41. Дан треугольник AB C . Пусть O точка пересечения
его медиан, а M , N и P точки, лежащие на сторонах AB , B C и C A, соответственно, делящие эти стороны в одинаковых отношениях (т. е. AM : M B = B N : N C = C P : P A = p : q ). Докажите, что: a) O точка пересечения медиан треугольника M N P ;


1.1. Геометрический подход к распознаванию D C

15

O

A

B Рис. 1.5: К задаче 1.1.40. b) O точка пересечения медиан треугольника, образованного прямыми AN , B P и C M .

Задача 1.1.42. В трапеции AB C D с основаниями AD и B C через точку B проведена прямая, параллельная стороне C D и пересекающая диагональ AC в точке P, а через точку C прямая, параллельная стороне AB и пересекающая диагональ B D в точке Q. Докажите, что прямая P Q параллельна основаниям трапеции. Задача 1.1.43. В эллипс вписан пятиугольник, в котором каждая диагональ параллельна противолежащей стороне. Найти отношение площади эллипса к площади пятиугольника.

Задача 1.1.44. * (Прасолов) На сторонах AB , B C и C D параллелограмма AB C D взяты точки K , L и M соответственно, делящие эти стороны в одинаковых отношениях AK : K B = B L : LC = C M : M D = . Пусть b, c, d прямые, проходящие через B , C , D параллельно прямым K L, K M , M L соответственно. Докажите, что прямые b, c, d проходят через одну точку. трапеции, аффинным преобразованием можно перевести в четырехугольник, у которого противоположные углы прямые.

Задача 1.1.45. * Докажите, что любой выпуклый четырехугольник, кроме

Задача 1.1.46. * Дан выпуклый шестиугольник AB C DE F , в котором AB DE , B C E F и C D F A. Доказать, что найдется аффинное преобразование L : AB C DE F A B C D E F , такое, что A D = B E = C F . Задача 1.1.47. * Ковбой Джимми поспорил с друзьями, что сумеет одним
выстрелом пробить все четыре лопасти вертилятора. (Вертилятор устроен следующим образом: на оси, вращающейся со скоростью 50 об/сек, расположены на равных расстояниях друг от друга 4 полудиска, повернутые друг относительно друга под какими-то углами). Джимми может стрелять


16

Глава 1. Распознавание образов

К задаче 1.1.44 в любой момент и добиваться произвольной скорости пуль. Доказать, что Джимми выиграет пари.

Задача 1.1.48. * а) Пусть L непрерывное взаимно однозначное отоб-

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

Задача 1.1.49. (Руденко) Пусть проекции A и A тела A в двух различных направлениях являются эквивалентными, но не a-эквивалентными. Докажите, что точки восстановленного с помощью алгоритма тела лежат на двух прямых.
Ответы и указания.

1.1.2 Будем записывать координаты в виде столбца X =

. Тогда X1 = = M ћ X + ч, где M невырожденная матрица, ч вектор-столбец. Тогда -- - - - A1 B1 = B1 - A1 = (M ћ B + ч) - (M ћ A + ч) = M ћ (B - A) = M ћ AB . Таким
x y


1.1. Геометрический подход к распознаванию

17

образом, при аффинном преобразовании вектора умножаются на матрицу M , т.е. равные вектора переходят в равные.

1.1.3 Если C делит отрезок AB в отношении AC : C B = p : q , то AB =
- - -- - = p ћ C B . Следовательно, A1 B1 = q же отношении.
оснований.
p q

- -

-- - ћ C1 B1 , т.е. C делит отрезок A B в том

1.1.4 а) Да. б) Да. в) Только в случае, если у них одинаковые отношения 1.1.5 а) Будем считать, что координаты записаны в виде столбцов. Рас-

смотрим систему координат с началом в точке O и репером e1 , e2 . Тогда выберем M = (e1 , e2 ), b = O . Тогда A(O) = O1 , A(A) = A1 , B (O) = B Единственность следует из того, что должны выполняться 1. 1 = e1 M ћ 0 равенства M ћ 0 = e2 б) воспользуемся пунктом а) и выберем в 1 0 M ћ 0 +b =O - - качестве начала координат точки A и A1 , а в качестве базисов e1 = AB , -- - - - - e2 = AC ,e1 = A B , e2 = A C . в) 8. Выделенную вершину можно перевести в любую из 4, кроме того, возможны два варианта ориентации репера.

1.1.6 Пусть преобразование задано как x y = Ax + b. Найдем для мат-

рицы A сингулярное разложение: A = U V T , где U и V ортогональные матрицы, а диагональная. Перейдем в систему координат, образованную столбцами матрицы V : x = V x . В новой системе координат отображение запишется как y = V T y = V T U x + V T b. Тогда его можно представить как композицию двух растяжений x x1 = x и движения x1 y = V T U x1 + V T b (это движение, т.к. матрица V T U тоже ортогональна). щих треугольник (т.е не лежащих на одной прямой).
rij rk l ij kl

1.1.7 Да. Достаточно рассматривать расстояния до трех точек, образую1.1.8 Да, будет. Достаточно заметить что если известны все ij =

ij,kl rij r12

, то

=

=

.

1.1.9 Заметим, что если зафиксировать две точки изображения a и a , то
по коду изображение восстанавливается почти однозначно с точностью до симметрии относительно прямой a a и сложность алгоритма восстановления составляет O(n). Зафиксируем пару точек изображения A, ai0 и aj0 , например, выберем такие, у которых i0 j0 ,k0 l0 = max ij,kl (это означает, что точки ai0 и aj0 отстоят друг от друга на наибольшее расстояние). Ей должна соответствовать пара bi0 , bj0 , для которой значение кода такое же. 2 Заметим, что таких пар не может быть больше Cn = O(n2 ). Таким образом, сложность алгоритма составляет не более O(n3 ).

1.1.10 Выбираем треугольник наибольшей площади

ai aj ak (если таких несколько, то выбираем любой). Рассматриваем отношения lmn = an 3 = S (( aliamak )) , таких будет Cn = O(n3 ). S a aj


18

Глава 1. Распознавание образов
S ( ai ak al ) S ( aj ak al )

1.1.11 Указание: испольуйте то, что |ij,kl : (1 - ij,kl )| =
на одной прямой). Потом добавляются точки (по одной).

1.1.12 Да. По r1,1 , r1,3 , r2,3 восстанавливается треугольник (или три точки 1.1.13 Пусть A(x) = Ax + b. В качестве направления проектирования вы-

берем вектор v0 , такой, что Av0 = 0, существование такого следует из вырожденности преобразования. В качестве плоскости берем = I m(A). Выберем произвольную точку x и пусть x0 проекция точки x на плоскость по направлению вектора v0 , т.е. x = x0 + v0 . Тогда A(x0 ) = x0 и A(x) = A(x0 + v0 ) = A(x0 ) + Av0 = x0 .

-- - - -- - - -- - - - - 1.1.14 Обозначим = A B , b = A D и = A A1 . Тогда + b = a c a

- - -- - -- - - - -- = A C = (4, 6), + = A B1 = (8, 2) и b + = A D1 = (2, 8). Сложив a c c - - эти вектора и разделив на 2, получим + b + - = (7, 8). Отсюда легко a c - = (5, 0), = (-1, 6), = (3, 2). Отложив эти вектора от - - найти вектора a b c точки A восстанавливаем проекции вершин C1 (6, 6), B (4, -2), D (-2, 4) и A1 (2, 0).

1.1.15 D (2, 3), S1 (1, 6). Решение аналогично задаче 1.1.14. 1.1.16 A1 (-2, -4); B1 (0, 0); C (2, 5); C1 (1, 3); D1 (0, 2); E (-1, 0); F (-2, -3);
F1 (-3, -5). Решение аналогично задаче 1.1.14. = x + 2.

1.1.17 Проекции центров будут O1 (0, 2) и O2 (-1, 1); уравнение прямой y = 1.1.18 Проекция центра грани (B C D) точки H имеет координаты

H (-1, 0), прямая, проходящая через нее и A (-3, 1) имеет уравнени y = -x-1 . 2

1.1.19 Точка (1, 2). 1.1.20 Обозначим A B = u, A F = v и A A1 = w. Составим систему: ? ? ?
A C = 2u + v ?? A B1 = u + w ?? A D1 = 2u + 2v + w ? ?? = (3, 1); = (2, 3); = (-1, 5).

Решив ее, получим u = (3, 0), v = (-3, 1) и w = (-1, 3). Отсюда легко найти ? ? ? проекции всех оставшихся вершин: B (1, 1), D (-2, 3), E (-5, 3), F (-5, 2), A1 (-3, 4), C1 (0, 5), E1 (-6, 6) и F1 (-6, 5).

1.1.21 a) уравнение прямой L y = 1/3ћx+6, уравнение прямой L y = -x+1 1.1.22a) x (3, 7) и x (5, 8); b) L : x = 3 и L : y = x + 3; c) a(1, 0, 0), b(0, 1, 0), c(0, 0, 0), d(5, -1, 1) и e(2, 2, -2). 1.1.23 x (6, 3), x (-3, 3); уравнение прямой L : y = 3/5 ћ x - 3/5 уравнение
прямой L : x = -3 Трехмерные координаты a(1, 0, 0), b(0, 1, 0), c(0, 0, 0), d(3, 1, 1) и e(0, 5/2, -1/2)


1.1. Геометрический подход к распознаванию

19

1.1.24 x (4, 5)x (1, 1) уравнение прямой L y = 5/3ћx-5/3 уравнение прямой
L y = -1/4 ћ x + 5/4 Трехмерные координаты a(1, 0, 0), b(0, 1, 0), c(0, 0, 0), d(3, 0, 1) и e(3, 3, -1/2)

1.1.25 a) уравнение прямой L y = x + 14, уравнение прямой L y = -x + 1;
b) Трехмерные координаты a(1, 0, 0), b(0, 1, 0), c(0, 0, 0), d(1, 4, 1) и e(2, 5, 3/2)

1.1.26 a) уравнение прямой L y = x - 1 уравнение прямой L y = 2 b) 1.1.27 a) Уравнение прямой L : y =
-x+1 5

Трехмерные координаты a(1, 0, 0), b(0, 1, 0), c(0, 0, 0), d(4, 0, 1) и e(1, 3, -1/2).

; уравнение прямой L : x = -3. b)Трехмерные координаты a(1, 0, 0), b(0, 1, 0), c(0, 0, 0), d(4, 0, 1) и e(-5, 6, -2).

1.1.28 a) Уравнение прямой L : y = - 1 ћ x - 3 , уравнение прямой L : y = 4 4
= x + 4. b)Трехмерные координаты a(1, 0, 0), b(0, 1, 0), c(0, 0, 0), d(4, 0, 1) и e(6, -1, 2).

1.1.29 a) Уравнение прямой L : y = - 1 ћ x + 1; уравнение прямой L : 3

: y = - 1 ћ x - 9 . b)Трехмерные координаты a(1, 0, 0), b(0, 1, 0), c(0, 0, 0), 5 5 d(-2, 4, 1) и e(3, 1, 1).
ности.

1.1.30 Восстановите многоугольник с точностью до аффинной эквивалент1.1.31 Аффинным преобразованием переведите трегольник OA1 A
O A1 A2 , где A1 A2 . . . An правильный n-угольник с центром O .
2

в

1.1.32 Aффинным преобразованием переведите треугольник в правильный. Тогда прямые, соединяющие противоположные вершины шестиуголь-

ника будут проходить через центр треугольника.


20

Глава 1. Распознавание образов

1.1.33 Аффинным преобразованием переводим AB C D в квадрат A B C D

со стороной 2, выберем систему координат с началом в точке A и осями, проходящими через D (ось x) и B (ось y ). Тогда уравнения прямых AL: 1 1 y = 2x; B M : y = - 2 x + 2; C N : y = 2x - 2 и DK : y = - 2 x + 1. Эти прямые 20 образуют квадрат со стороной 5 . Поскольку аффинные преобразования сохраняют отношение площадей, то S (AB C D) : S (P QRT ) = S (A B C D ) : 4 : S (P Q R T ), следовательно, S (P QRT ) = 5 ћ 25 : 4 = 5.

1.1.34 Переведем аффинным преобразованием треугольник AB C в тре-

угольник с вершинами A (10, 0), B (0, 0), C (0, 6). Тогда образы остальных точек будут иметь координаты: L (0, 2), M (4, 0), N (5, 3) и O ( 40 , 18 ). 13 13 Найдем площади S ( A B C ) = 30, ( B O N ) = 15 , следователь13 но, т.к. аффинные преобразования сохраняют отношения площадей, 1 S ( B ON ) = 26 S ( AB C ). образованием переведите в треугольник со сторонами ||, | |, | |.

1.1.35 Треугольник составленный из векторов a, b и c аффинным пре1.1.36 Аффинным преобразованием переведите треугольник в равнобедренный.

1.1.37 Аффинным преобразованием переводим трапецию в равнобедрен-

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

1.1.38 Переведите трапецию аффинным преобразованием в равнобокую, 1.1.39 Рассмотрим аффинное преобразование, переводящее вектора AB и

DC в вектора единичного репера, а точку Z в начало координат. Пусть образы точек A и C имеют координаты A (a, 0) и C (0, c), соответственно. Тогда координаты оставшихся вершин будут B (a + 1, 0), D (0, c - 1) (см. рис. 1.7) и площадь S (A B C D ) = S ( Z B C ) - S ( Z A D ) = 1 (a + 1)c - 2 - 1 a(c - 1) = 1 (c + a). 2 2 Найдем координаты середин диагоналей четырехугольника A B C D : c X a , 2 и Y a+1 , c-1 . Тогда площадь треугольника S ( X Y Z ) = 2 2 2 (a + 1)/2 (c - 1)/2 = 1 det = 1 (a + 1)c - a(c - 1) = 1 S (A B C D ). 2 8 4 a/2 c/2 Следовательно, S ( X Y Z ) : S (AB C D) = S ( X Y Z ) : S (A B C D ) = 1 : : 4.
рат. Тогда указанные параллелограммы переходят в равные прямоугольники. вильный.

1.1.40 a) Аффинным преобразованием переведем параллелограмм в квад-

1.1.41 a), b) Аффинным преобразованием переведите треугольник в пра1.1.42 Аффинным преобразование переведем трапецию в равнобедренную.
Например, обозначим M и N середины оснований AD и B C , переве- - - - дем точку M в начало координат, а вектора M N и M D в единичный


1.1. Геометрический подход к распознаванию

21

y

C (0, c)

D (0, c - 1)

c X (a, 2) 2

Y(

a+1 c-1 2,2

)

Z (0, 0)

A (a, 0)

B (a + 1, 0)

x

Рис. 1.7: К задаче 1.1.39. репер. Тогда фигура симметрична относительно прямой M N , откуда и вытекает, что точки P и Q тоже симметричны относительно этой прямой. Следовательно P Q M N , откуда и следует искомое утверждение.

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


22

Глава 1. Распознавание образов

Осталось заметить, что аффинное преобразование сохраняет отношение площадей, значит площадь круга равна r2 , а 5угольника (разбиваем на 5 треугольников с вершиной в центре окружности) равна 5 ћ 1 r2 sin 25 . По2 2 2 лучаем отношение 5 : sin 5 .

К задаче 1.1.44

1.1.44 Любой параллелограмм аффинным преобразованием можно пере-

вести в квадрат. Поскольку при этом сохраняются отношения длин параллельных отрезков, достаточно доказать утверждение задачи в случае, когда AB C D квадрат. Обозначим через P точку пересечения прямых b и d. Нам достаточно доказать, что P C M K . Отрезок K L переходит в LM при повороте на 90 вокруг центра квадрата AB C D, поэтому прямые b и d, которые соответственно параллельны этим отрезкам, перпендикулярны; значит, P лежит на окружности, описанной вокруг AB C D. Тогда C P D = C B D = 45 , следовательно, угол между прямыми C P и b равен 45 , но угол между прямыми M K и K L тоже равен 45 , и b K L, следовательно, C P M K. смотрим четырехугольник AB C D, у которого нет параллельных сторон. Для определенности будем считать, что пересекаются лучи AB и DC , B C и AD. Пусть AB = a, B C = b, C D = pa + q b, DA = ua + v b. Тогда p < 0,

1.1.45 Параллелограмм, очевидно, можно перевести в прямоугольник. Рас-


1.1. Геометрический подход к распознаванию

23

q > 0, u < 0, v < 0. Рассмотрим аффинное преобразование, которое переводит векторы a и b в ортогональные векторы a и b , длины которых равны и ч . Нам нужно, чтобы обращалось в нуль скалярное произведение (pa + q b, ua + v b) = pu2 + q v ч2 . Поскольку pu > 0 и q v < 0, этого всегда можно добиться выбором чисел и ч.

1.1.46 Пусть A1 , B1 , ..., F1 середины сторон AB , B C , ..., F A. Равенство

диагоналей AD и B E эквивалентно тому, что прямая A1 D1 перпендикулярна прямым AB и DE . Пусть O точка пересечения прямых A1 D1 и B1 E1 . Нужно построить аффинное преобразование, которое переводит углы A1 и B1 четырехугольника A1 B B1 O в прямые углы. Для этого можно воспользоваться результатом задачи 1.1.45. То, что точки пересечения продолжений сторон четырехугольника A1 B B1 O расположены именно так, как нужно, следует из выпуклости шестиугольника. траектории пули, а t время. Траектория пули на этой плоскости есть прямая, и лопасть вентилятора попадает на нее, если отрезок x = ai , t [ti + n/50, ti + (n + 0, 5)/50] пересекается с ней. Итак, достаточно доказать, что каковы бы ни были t1 , t2 , t3 , t4 (они соответствуют углам поворота дисков друг относительно друга), существует прямая, пересекающая какие-то 4 из рассматриваемых отрезков. Рассмотрим аффинное преобрахование (x, t) (x, t + ax + b). Если после такого преобразования нашлась прямая, пересекающая 4 отрезка, то она существовала и до него. Поэтому с помощью преобразования такого вида (а именно, при a = (t1 - t3 )/(a3 - a1 ), b = (a3 t1 - a1 t3 )/(a3 - a1 )) мы можем свести задачу к случаю, когда t1 = t3 = 0. Пусть теперь s сумма длин частей наших отрезков, попавших в полосу 0 t 0, 5/50 , и лежащих на прямых x = a2 и x = a4 . Если s 0, 25, то очевидно, что найдется прямая, параллельная оси x , пересекающая 4 отрезка. Cлучай s < 0, 25 с помощью преобразования (x, t) (x, t + 0, 5 ћ (x - a3 )/(a2 - a3 )) сводится к случаю s > 0, 25.

1.1.47 Рассмотрим систему координат (x, t), где x координата точки на

1.1.48 a) Прежде всего заметим, что преобразование L взаимно однозначно

отображает любую прямую на некоторую прямую. Действительно, пусть A1 и B1 образы двух различных точек A и B . Тогда образ любой точки прямой AB лежит на прямой A1 B1 . Остается доказать, что если C1 точка прямой A1 B1 , то ее прообраз C лежит на прямой AB . Предположим, что точка C не лежит на прямой AB . Тогда прямые AC и B C различны, а их образы лежат на прямой A1 B1 . Пусть X произвольная точка плоскости. Проведем через X прямую, пересекающую прямые AC и B C в различных точках A и B . Образы точек A и B лежат на прямой A1 B1 , поэтому образ точки X тоже лежит на прямой A1 B1 . Это противоречит тому, что образом отображения L служит вся плоскость. Итак, пусть L взаимно однозначное отображение плоскости в себя, переводящее любую прямую в некоторую прямую. Будем последовательно доказывать свойства этого отображения, используя каждый раз то, что было доказано на предыдущих шагах: a) Отображение L переводит параллельные прямые в параллельные прямые. b) Корректно определено действие L на векторах, т.е. если AB = C D , то A1 B1 = C1 D1 , где A1 , B1 , C1 , D1 образы точек A, B , C, D.


24 c) d) e) f)

Глава 1. Распознавание образов

L(0) = 0 L(a + b) L(k a) = L(a) =

. = L(a) + L(b). k L(a) при рациональном k . L(a) при действительных .

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

1.1.49 Из Т. Козлова об аффинной эквивалентности вытекает, что такое

возможно только в случае, если изображение не плоское, т.е. точки расположены на двух параллельных прямых. Пусть точки a1 , . . . , al изображения A лежат на первой прямой, а точки al+1 , . . . , an на второй, параллельной ей. Из того, что сооответстующие точки второго изображения a1 , . . . , al также лежат на одной прямой следует, что либо точки a1 , . . . , al восстановленного тела A0 лежат на одной прямой, либо оба направления проектирования параллельны плоскости, в которой они лежат. Пусть выполнено второе, тогда выберем подизображение P (a1 , . . . , al , al+1 ). Оно a-эквивалентно подизображению Q(a1 , . . . , al , al+1 ), а значит точки a1 , . . . , al , al+1 тела A0 лежат в одной плоскости, не параллельной направлениям проектирования. Но тогда точки a1 , . . . , al лежат в пересечении двух различных плоскостей, то есть на одной прямой. Аналогично проводится рассуждение для точек al+1 , . . . , an .

1.2. Вероятностный подход к распознаванию
Рассматривается следующая задача распознавания образов. Дано множество M объектов, относительно которых производится распознавание. Без существенного ограничения общности будем считать, что оно представляется в виде объединения двух классов M = K0 K1 . Классы K0 и K1 неизвестны, но известны вероятности появления объектов этих классов P0 и P1 , соответственно. Также известно распределение некоторого признака x A, характеризующего объекты множества X .

Байесовское решающее правило.
Пусть известно значение признака x0 и требуется отнести объект к одному из двух классов. При этом хотелось бы минимизировать вероятность ошибки, т.е. неправильной классификации объекта. Будем называть функцией правдоподобия Li (x) = Pi ћ pi (x), где i = 0, 1, а pi (x) в случае непрерывного распределения плотность распределения в точке x, а в случае дискретного распределения вероятность точки x. Тогда при L0 (x) L1 (x) относим объект к множеству K0 , а при L0 < L1 к K1 . Возможна более сложная задача. Допустим, что существует штраф S0 за ошибку первого рода (отнести объект k K0 к классу K1 ), и штраф S1 за ошибку второго рода (отнести k K1 к K0 ). Требуется выбрать решающее правило, минимизирующее средний штраф.


1.2. Вероятностный подход к распознаванию

25

Средний штраф минимален при использовании следующего правила P : при S0 ћ L0(x) S1 ћ L1(x) относим объект к множеству K0, иначе к K1. Доказательство. Доказательство будет проведено для случая непрерывноТеорема 2.
го распределения, для дискретного доказательство проводится аналогично. Рассмотрим решающее правило P , которое отличается от правила P . Обозначим A0 множество значений атрибутов, на которых правило P классифицирует объекты как K0 , а A1 как K1 . Аналогично, A множе0 ство значений атрибутов, на которых правило P классифицирует объекты как K0 , а A как K1 . Пусть S (P ) и S (P ) средние штрафы в случае 1 применения соответствующих правил. Тогда S (P ) = S0 P0 p0 (x)dx + S1 P1 p1 (x)dx = S0 P0 p0 (x)dx +
A1 A
0 0

A1 A A0 A 1

+
A1 A 0

S0 P0 p0 (x)dx +
A0 A

S1 P1 p1 (x)dx +

S1 P1 p1 (x)dx.

1

Заметим, что при x A1 выполнено неравенство S0 P0 p0 (x) S1 P1 p1 (x) (это следует из определения правила P , следовательно S0 P0 p0 (x)dx
A1 A A1 A
0

S1 P1 p1 (x)dx. Аналогично

0

S1 P1 p1 (x)dx
A0 A 1 A0 A 1 A1 A 0

S0 P0 p0 (x)dx.

Следовательно, S (P )
A1 A

S0 P0 p0 (x)dx +
1

S1 P1 p1 (x)dx + S1 P1 p1 (x)dx =
0

+
A0 A 0

S1 P1 p1 (x)dx+
A0 A 1

S0 P0 p0 (x)dx =
A 1

S0 P0 p0 (x)dx+
A

= S (P ), что и требовалось доказать.
Упражнения.

Задача 1.2.1. Объекты классов K1 и K2 появляются с частотами P1 =
=
1 4

и P2 = 3 , соответственно. Их атрибуты распределены с плотностями: 4
2 9

1 при x [0, 3] ћ (x - 1), при x [1, 5] и p2 (x) = 8 . 0, иначе 0, иначе Штрафы за ошибки I и II рода равны S1 = 27 и S2 = 16, соответственно. Найдите решающее правило и средний штраф для него.

p1 (x) =

ћ (3 - x),

Задача 1.2.2. Объекты классов K1 и K2 появляются с частотами P1 =
=
2 3

и P2 = 1 , соответственно. Их атрибуты распределены с плотностями: 3
1 8

p1 (x) =

1 при x [0, 4] ћ (x - 2), при x [2, 6] и p2 (x) = 8 . 0, иначе 0, иначе Штрафы за ошибки I и II рода равны S1 = 3 и S2 = 2, соответственно. Найдите решающее правило и средний штраф для него.

ћ (4 - x),

Задача 1.2.3. Объекты классов K1 и K2 появляются с частотами P1 =
=
2 3

и P2 = 1 , соответственно. Их атрибуты распределены с плотностями: 3

2 1 - |x - 5|, при x [4, 6] ћ (5 - x), при x [2, 5] и p 2 ( x) = 9 . 0, иначе 0, иначе Штрафы за ошибки I и II рода равны S1 = 1 и S2 = 9, соответственно. Найдите решающее правило и средний штраф для него.

p1 (x) =


26

Глава 1. Распознавание образов
2 3

и P2 = , соответственно. Их атрибуты распределены с плотностями: p1 (x) =

Задача 1.2.4. Объекты классов K1 и K2 появляются с частотами P1 =
=
при x [-2, 2] и p2 (x) = 0, иначе Штрафы за ошибки I и II рода равны S1 = Найдите решающее правило и средний штраф
1 3 1 2

-

1 4

ћ | x|,

1 - |x - 2|, при x [1, 3] . 0, иначе 2 и S2 = 1, соответственно. для него.
и с плотностями: p0 (x) = 5 . Штрафы за ошибки
1 5

P1 = 4 5 1 x2 =

Задача 1.2.5. Объекты классов K0 и K1 появляются с частотами P0 =
, сответственно. Их атрибуты распределены 3 при x , при x 1 4, и p1 (x) = (6-x) 0, иначе 0, иначе I и II рода равны S0 = 3 и S1 = 16, соответствен правило и средний штраф для него.

но. Найдите решающее
3 5

иP

, сответственно. Их атрибуты распределены с плотностями: 2 1 при x 1 при x 3 2, 2, p1 (x) = (x+1) и p2 (x) = (4-x) . Штрафы за 0, иначе 0, иначе ошибки I и II рода равны S1 = 1 и S2 = 3, соответственно. Найдите решающее правило и средний штраф для него.
2

Задача 1.2.6. Объекты классов K1 и K2 появляются с частотами P1 =
=
2 5

P2 = 2 5 2 3 =x

Задача 1.2.7. Объекты классов K1 и K2 появляются с частотами P1 =

и , соoтветственно. Их атрибуты распределены с плотностями: p1 (x) = 2 при x 4 , при x 1 3, и p2 (x) = (5-x) . Штрафы за ошибки I и 0, иначе 0, иначе II рода равны S1 = 9 и S2 = 4, соответственно. Найдите решающее правило и средний штраф для него.
3 5

иP

, соответственно. Их атрибуты распределены с плотностями: 8 5 при x 1 при x 4 3, 6, p1 (x) = (x+1) и p2 (x) = (5-x) . Штрафы за 0, иначе 0, иначе ошибки I и II рода равны S1 = 5 и S2 = 2, соответственно. Найдите решающее правило и средний штраф для него.
2

Задача 1.2.8. Объекты классов K1 и K2 появляются с частотами P1 =
=
4 5

1 5

иP

, соответственно. Их атрибуты распределены с плотностями: 2 1 при x 0 при x 5 2, 2, p1 (x) = (x+2) и p2 (x) = (6-x) . Штрафы за 0, иначе 0, иначе ошибки I и II рода равны S1 = 5 и S2 = 18, соответственно. Найдите решающее правило и средний штраф для него.
2

Задача 1.2.9. Объекты классов K1 и K2 появляются с частотами P1 =
=
1 6

5 6

иP

, соответственно. Их атрибуты распределены с плотностями: 1 1 при x 0 при x 4 2, 2, p1 (x) = (x+1) и p2 (x) = (5-x) . Штрафы за 0, иначе 0, иначе ошибки I и II рода равны S1 = 12 и S2 = 1, соответственно. Найдите решающее правило и средний штраф для него.
2

Задача 1.2.10. Объекты классов K1 и K2 появляются с частотами P1 =
=
3 4

1 4


1.2. Вероятностный подход к распознаванию

27

Задача 1.2.11. Вероятности появления объектов из K1 и K2 равны P1 =
=
1 5

, P2 =

4 5

, соответственно; их атрибуты распределены с плотностями:

p1 (x) =

1 при x [0, 3] ћ (x - 1), при x [1, 5] и p2 (x) = 8 . 0, иначе 0, иначе Штрафы за ошибки I и II рода равны S1 = 3 и S2 = 4, соответственно. Найти решающее правило и средний штраф для него. 2 9

ћ (3 - x),

1 Задача 1.2.12. Вероятности появления объектов из K1 и K2 равны P1 = 4 ,

P2 = =
1 4

3 4

, соответственно; Атрибуты распределены с плотностями: p1 (x) =
|x-1| 16

- 1 , |x - 1| 4; - |x365| , |x - 5| 6; и p2 (x) = 6 Штрафы за 0, иначе 0, иначе ошибки 1 и 2 рода: S1 = 8 и S2 = 6, соответственно Найти решающее правило и средний штраф для него.

-

Задача 1.2.13. Вероятности появления объектов 1 и 2 классов равны P
1

=
1 5

P -

- 1 , |x - 2| 5; - |x165| , |x - 5| 4; и p2 (x) = 4 Штраp 1 ( x) = 0, иначе 0, иначе 5 фы за ошибки 1 и 2 рода: S1 = 8 и S2 = 2 , соответственно. Найти решающее правило и средний штраф для него.

2 |x-2| 25

=

1 2

, их атрибуты распределены с плотностями:

Задача 1.2.14. Вероятности появления объектов 1 и 2 классов равны P
1

= 1/2 и P2 = 1/2. Их атрибуты распределены с плотностями: - 2 - 1 - 2 ћ x252 , 2 x 7; - |x165| , |x - 5| 4; p1 (x) = 5 и p2 (x) = 4 Штра0, иначе 0, иначе фы за ошибки 1 и 2 рода: S1 = 16 и S2 = 5/2, соответственно. Найти решающее правило и средний штраф для него.

Задача 1.2.15. Вероятности появления объектов 1 и 2 классов равны P
1

= 2/5 и P2 = 3/5. Их атрибуты распределены с плотностями: |x-6| 2 x-1 1 x 6; 10; 5 - 2 ћ 25 , 1 10 - 100 , |x - 6| и p2 (x) = p1 (x) = 0, иначе 0, иначе Штрафы за ошибки 1 и 2 рода: S1 = 30 и S2 = 35/6, соответственно. Найти решающее правило и средний штраф для него. = 4/5 и P2 = 1/5. Их атрибуты распределены с плотностями: 2 x-1 2 6-x x 5; x 16; 4 - 2 ћ 16 , 1 10 - 2 ћ 100 , 6 p 1 ( x) = и p2 (x) = 0, иначе 0, иначе Штрафы за ошибки 1 и 2 рода: S1 = 25/4 и S2 = 32, соответственно. Найти решающее правило и средний штраф для него.
1

Задача 1.2.16. Вероятности появления объектов 1 и 2 классов равны P

Задача 1.2.17. Объекты класса K1 встречаются с частотой P
= 1/4 и имеют 1 - 2 cos x, x = 0, x стотой P2 = 3/4

1= распределение признака x с плотностью p1 (x) = [ /2, 3 /2] . Объекты класса K2 встречаются с ча[ /2, 3 /2] и имеют распределение признака x с плотностью


28
1 2

Глава 1. Распознавание образов

p2 (x) =

x [0, ] . Штрафы ошибки 1 рода ( принять K1 за K2 ) 0, x [0, ] F1 = 3 и второго рода F2 = 1. Определите оптимальное решающее правило и найдите средний штраф для него. sin x,

Задача 1.2.18. Объекты класса K1 встречаются с частотой P1 =
ют распределение признака x с плотностью p1 (x) = Объекты класса K2 встречаются с частотой P2 = ние признака x с плотностью p2 (x) =
2 3 1 2

1 3

и име-

sin x, x [0, ] . 0, x [0, ] и имеют распределе-

- 1 cos x, x [ /2, 3 /2] 2 . Штрафы 0, x [ /2, 3 /2] ошибки 1 рода ( принять K1 за K2 ) F1 = 2 и второго рода F2 = 1. Определите оптимальное решающее правило и найдите средний штраф для него.

Задача 1.2.19. Объекты класса K1 встречаются с частотой P1 =
ют распределение признака x с плотностью p1 (x) = Объекты класса K2 встречаются с частотой P2 = признака x с плотностью p2 (x) =
12 2 3 (x-5) 6 12 x 6

1 3

и име-

sin , x [0, 6] . 0, иначе и имеют распределение

, x [2, 8] . Штрафы ошиб0, иначе ки 1 рода ( принять K1 за K2 ) F1 = 6 и второго рода F2 = 3. Определите оптимальное решающее правило и найдите средний штраф для него. cos

Задача 1.2.20. Элементы классов K1 и K2 имеют вероятности появления 2
3 P1 = 4 , P2 = 1 8 1 4 и распределены -(x-4)2 /8

случайно с плотностями: p1 =

1 e-x /8 8

и

e . Штраф ошибки 1го рода (принять K1 за K2 ) равен 2, p2 = штраф ошибки 2го рода равен 6.
a) Найти решающее правило, минимизирующее средний штраф и клас5 сифицировать по этому правилу точки 1, 2 и 3. b) Выразить средний штраф через Q-функцию Q(x) =


e
x

-t2 /2

dt.

Задача 1.2.21. Объекты классов K1 и K2 распределены экспоненциально с плотностями p1 (x) =

3e-3x , x 0; 5e-5(4-x) , x 4; и p2 (x) = , 0, x<0 0, x>4 и имеют вероятности появления P1 = 1 и P2 = 3 , соответственно. Штраф 4 4 ошибки 1го рода ( принять K1 за K2 ) равен 5, а 2го рода 1. а) Сформулировать решающее правило и отнести к соответствующему классу точки 0,1,2,3,4. б) Вычислить математическое ожидание штрафа для полученного решающего правила.

Задача 1.2.22. Объекты классов K1 и K2 распределены с плотностями
2x-3 , x 1; (5 - x)-2 , x 4; и p2 (x) = (распределение Па0, x<1 0, x>4 рето), и имеют вероятности появления 0, 6 и 0, 4, соответственно. Штраф ошибки 1го рода ( принять K1 за K2 ) равен 9, а 2го рода 4. а) Сформулировать решающее правило и отнести к соответствующему классу точки p1 (x) =


1.2. Вероятностный подход к распознаванию

29

1,2,3,4,5. б) Вычислить математическое ожидание штрафа для полученного решающего правила.

Задача 1.2.23. Доказать, что если у двух нормальных распределений совпадают матрицы ковариаций (и отличаются вектора средних), то байесовская граница есть некоторая гиперплоскость.

Задача 1.2.24. Известно, что фальшивые монеты встречаются с частотой P . Фальшивая монета отличается от настоящей тем, что у нее вероятность 1 выпадания орла отличается от 1/2 и равна q0 > 2 . Надо определить, настоящая ли монета, сделав N подбрасываний. Найдите критерий и определите вероятность ошибки для него. Задача 1.2.25. При клинических испытании нового лекарства улучшение
наступило у n больных (из общей выборки величины N ). Возможно, это было связано с ?эффектом плацебо?, который действует с вероятностью q0 . Возможно, лекарство является действенным и помогает с вероятностью q1 > q0 . Известны штрафы: за ошибку I рода S1 стоимость производства бесполезного лекарства4 ; за ошибку второго рода S2 недополученная прибыль в случае отклонения действующего лекарства. Считая оба случая (действующего и не действующего лекарства) априори равновероятными (т.е. P1 = P2 ), определить алгоритм минимизации штрафа.

Задача 1.2.26. Для передачи по аналоговому каналу с шумом используется фазовая модуляция сигнала. Символ 0 кодируется двумя последовательными сигналами с фазами x1 = 1 и x2 = -1; 1 сигналами с фазами x1 = -1 и x2 = 1. При передаче к фазе каждого из сигналов добавляется Гауссов шум (1 , 2 ), где 1,2 независимы и нормально распределены N (0, 2 ). Т.е. приемник фиксирует искаженные сигналы: y1 = x1 + 1 и y2 = x2 + 2 . Построить решающее правило, минимизирующее вероятность ошибки и найти эту вероятность. Считаем, что символы 1 и 0 равновероятны (P0 = P1 = 1 ). 2
Ответы и указания.

1.2.1 Относим к K1 при x [0; 2] и к K2 при x [2; 5]. Средний штраф
? S=
3 4

+

3 4

= 3. 2

? 1.2.2 Граница: T = 7 , Средний штраф S = 2 ? ний штраф S = ? S=
1 24 1 12

3 32

+

1 32

= 1. 8

1.2.3 Классифицируем как K1 при x [ 9 , 6] и как K2 при x [2, 9 ], Сред2 2
+
1 12

= 1. 6

1.2.4 Относим к K1 при x [-2, 3 ], к K2 при x [ 3 , 3]. Средний штраф 2 2
+
1 24

=

1 12

.

1.2.5 Относим к K1 при x [1, 2], к K2 при x (2, 5]. Средний штраф
? S=
61 625

+

9 50

=
2 25

347 1250

.

1.2.6 При x [1; 3 ] (3; +) классифицируем как K1 , иначе K2 . Средний 2
? штраф S =
4

+

9 50

=

13 50

= 0.26.

В задаче представлена идеальная ситуация, когда бесполезные лекарства не пользу-

ются спросом.


30

Глава 1. Распознавание образов

1.2.7 При x [1; 3] классифицируем как K1 , иначе K2 . Средний штраф
? S=
3 10

+

21 80

=

9 16

.

? 1.2.8 Граница : T = 3, Средний штраф S =

31 640

+

9 100

=
41 42

443 3200

.

? 1.2.9 Граница : T = 3, Средний штраф S = 1 + 2 ? 1.2.10 Граница : T = 3, Средний штраф S = ?1 [1.5; 5]. Средний штраф S = 5 .
9 40

10 21

=
3 20

.

+

3 = 8.

1.2.11 Решающее правило: относим к K1 при x [0; 1.5], к K2 при x 1.2.12 Решающее правило: относим к K1 при x [-3; 2], к K2 при x
? [2; 11]. Средний штраф S = 9 . 8 ? Средний штраф S = 1.

1.2.13 Решающее правило: относим к K1 при x [-3; 2], к K2 при x [2; 9]. 1.2.14 Граница : c = 2, Средний штраф 3/2. 1.2.15 Граница : c = 3, Средний штраф 21/5. 1.2.16 Граница : c = 4, Средний штраф 18/5. 1.2.17 Граница: T = 1.2.18 При x
3 4 3 4

? , средний штраф S =

6-3 2 8

.
2- 2 3

? относим к K1 , иначе к K2 . Средний штраф S =

.

1.2.19 Граница: T = 4, средний штраф равен 1.
? 1.2.20 a) Если x < 2, то относим к K1 , иначе к K2 . b) S = 3Q(1).
5 1.2.21 Если x [0, 2 ] (4, +), то относим к первому классу, иначе ко

? второму. Средний штраф S = 2e
9 16

-15/2

3 - 4e

-20

- 5e 4

-12

.

1.2.22 Если x [1, 3] (4, +), то относим к первому классу, иначе ко
? второму. Средний штраф S =
.

1.2.23 Пусть K матрица ковариаций, ч1 и ч2 вектора средних. Тогда
байесовская граница задается условием

1 exp((x - ч1 )K 2 det K
т.е. (x - ч1 )K часть как
-1

-1

(x - ч1 )T ) =

1 exp((x - ч2 )K 2 det K
-1

-1

(x - ч2 )T ),

(x - ч1 )T = (x - ч2 )K

(x - ч2 )T . Преобразовав правую
-1

(x - ч2 )K

-1

(x - ч2 )T = (x - ч1 + ч)K
-1

(x - ч1 + ч)T =
-1

= (x - ч1 )K

(x - ч1 )T + 2ч ћ K

(x - ч1 )T + чK

-1

чT ,

где ч = ч1 - ч2 . Тогда байесовская граница может быть записана как

чK

-1

(x - ч1 )T + 2ч ћ K

-1

чT = 0,

а это линейное уравнение, следовательно, задает некоторую гиперплоскость.


1.3. Тестовый подход к распознаванию

31

1.2.24 Количество выпавших орлов распределено по Бернулли, т.е. веро-

n ятность выпадения n орлов равна CN (1/2)N в случае настоящей монеты и n n N -n CN ћ (q0 ) ћ (1 - q0 ) для фальшивой. По правилу Байеса монета идентиnn n фицируется как фальшивая, если P ћ CN q0 (1 - q0 )N -n (1 - P ) ћ CN (1/2)N .

Прологарифмировав, получим n

n0 , где n0 = -

Вероятность неправильной классификации равна

ln((1-P )/P )+N ln 2(1-q0 ) ln((1-q0 )/q0 ) n0 -1 nn CN q0 (1 Perr = P n=0

.

-

- q0 )N

-n

N

+ (1 - P )
n=n
0

n CN (1/2)N .

1.2.25 Аналогично задаче 1.2.24 1.2.26 Будем относить к K0 в случае, когда p0
1 exp 2 2 -(y1 - 1)2 - (y2 + 1)2 ) 2 2 1 exp 2 2 p1 , т.е. -(y1 + 1)2 - (y2 - 1)2 ) 2 2 .

После упрощений получим y1 - y2 0. Таким образом, выбираем символ ?0? при y1 y2 и символ ?1? иначе. Вероятность ошибки для этого решающего правила равна

PE = I0 + I1 =

1 2

2 y1
exp 1 2

-(y1 - 1)2 - (y2 + 1)2 ) 2 2 exp

dy1 dy2 +

+

2 y
1

-(y1 + 1)2 - (y2 - 1)2 ) 2 2
-(y1 -1)2 -(y2 +1)2 ) 2 2

dy1 dy2 .

y2

Для подсчета интеграла I0 =

1 2

2

exp
y1
dy1 dy2 рас-

смотрим двумерное нормальное распределение со средними (1, -1) и матрицей ковариаций 2 ћ I . Интеграл I0 равен вероятности попадания в полуплоскость y1 < y2 . После сдвига на вектор (-1, 1) и поворота на /4 получится нормальное распределение с нулевым средним и той же матрицей 2 I , при этом полуплоскость будет y1 < - 2. Вероятность этого события легко найти, она равна Q( 2 ). Второй интеграл I1 равен той же величине, в итоге получаем PE = Q( 2 ).

1.3. Тестовый подход к распознаванию
Основные обозначения и определения.

Понятие теста
Тестовый подход связан с понятие теста, предложенного С.В.Яблонским и И.А.Чегис [8, 9]. Пусть имеется множество объектов M = {x1 , . . . , xm }, и каждый из объектов описывается в заданной системе признаков наборами значений этих


32

Глава 1. Распознавание образов

признаков, или, иными словами, задается вектором признакового пространства. Тогда множество M может быть описано матрицей x1 (1) x1 (2) . . . x1 (n) x (1) x2 (2) . . . x2 (n) , Tm,n = 2 . . ... . xm (1) xm (2) . . . xm (n) где через xi (j ) обозначено значение j -го признака объекта xi , i = 1, 2, . . . , m, j = 1, 2, . . . , n. Пусть M разбито на два класса K1 и K2 , а тем самым и матрица Tm,n состоит из двух подматриц TK1 и TK2 . Классы K1 и K2 нам неизвестны, но нам дана некоторая обучающая выборка. Пусть T1 и T2 подматрицы матриц TK1 и TK2 , соответствующие элементам обучающей выборки. Требуется для любого набора признаков, который есть описание объекта из M определить, к какому классу он относится. Будем считать, что значения признаков 1, 2, . . . , n принадлежат множеству {0, 1}, и эти признаки выбраны так, что в матрице Tm,n нет двух одинаковых строк, отвечающих объектам из разных классов. Если T некоторая матрица, а некоторый набор признаков (набор столбцов), то через T ( ) обозначим подматрицу матрицы T , полученную удалением всех столбцов кроме столбцов из . Набор столбцов назовем , если не существует строки, содержащейся в T1 ( ) и T2 ( ) одновременно. Тем самым, тест это множество признаков, которое позволяет отличить на обучающей выборке классы K1 и K2 . Будем говорить, что , если тест, а любой его поднабор не является тестом. Иными словами, тупиковый тест минимальное по вложению множество признаков, которое все еще может отличать классы K1 и K2 на обучающей выборке.

тестом

тупиковый тест

Универсальный алгоритм построения тестов.
В [8] приводится описание следующего алгоритма, позволяющего находить все тупиковые тесты: Пусть заданы таблицы признаков: a11 a12 . . . a1n a a22 . . . a2n , T1 = 21 . . ... . am1 1 am1 2 . . . am1 n b11 b12 . . . b1n b b22 . . . b2n T2 = 21 . . ... . bm2 1 bm2 2 . . . bm2 n Нижеприведенный алгоритм позволяет находить множество всех тупиковых тестов для указанных таблиц. 1. ШАГ1 XOR. Рассмотрим множество

T



= T1

T2 = {(as1 1 b

s2 1

, ..., a

s1 n

b

s2 n

) | s1 = 1, ..., m1 , s2 = 1, ..., m2 }


1.3. Тестовый подход к распознаванию

33

множество попарных XOR-сумм строк первой и второй таблицы (этот набор рассматривается как множество булевых векторов, т.е. повторения отбрасываются). 2. ШАГ2 MIN. Найдем минимальные элементы этого множества

M = min(T ) = v T | v T , v

v.
1

Т.е. на практике это означает, что для любых сравнимых наборов v v2 надо вычеркнуть v2 из списка.

3. ШАГ3 КНФ. Каждому вектору v = (v1 , . . . , vn ) из M ставится в соответствие дизъюнкция Dv = (xi1 . . . xik ), где i1 , . . . , ik номера единичных компонент вектора v . Рассматривается их конъюнкция

K (x1 , . . . , xn ) =
v M

Dv .

4. ШАГ4 ДНФ. В конъюнктивной форме K (x1 , . . . , xn ) раскрываются скобки и производятся упрощения в соответствии с правилом A AB A. Получается дизьюнктивная нормальная форма:

D=
tT

kt ,

где каждая конъюнкция kt = xj1 . . . xjl соответствует тупиковому тесту t = (j1 , ..., jl ) и T множество всех тупиковых тестов. Проиллюстрируем работу этого алгоритма на простом примере: Пример 1.6. Найдите все тупиковые тесты для таблиц признаков: 11010 0 1 1 1 0 T1 (1.1) = 1 0 1 1 0 . T2 0 0 0 0 0 00001 Применим указанный алгоритм:

Решение

1. ШАГ1 XOR.




T

= T1

T2 =

(1, (0, (1, (1, (0, (1,

1, 1, 0, 1, 1, 0,

0, 1, 1, 0, 1, 1,

1, 1, 1, 1, 1, 1,

0) 0) 0) 1) 1) 1)

.

множество попарных XOR-сумм строк первой и второй таблицы. 2. ШАГ2 MIN. Найдем минимальные элементы этого множества вычеркнем последние три строки. (1, 1, 0, 1, 0) min(T ) = (0, 1, 1, 1, 0) . (1, 0, 1, 1, 0)


34 3. ШАГ3 КНФ.

Глава 1. Распознавание образов

K (x) = (x1 x2 x4 ) (x2 x3 x4 ) (x1 x3 x4 ).
4. ШАГ4 ДНФ. Раскрываем скобки и упрощаем: (x1 x2 x4 ) (x2 x3 x4 ) (x1 x3 x4 ) = (x1 x3 x2 x4 ) (x1 x3 x4 ) = x1 x2 x1 x3 x2 x3 x4 . Итак T = {(1, 2); (1, 3); (2, 3); (4)} множество тупиковых тестов. Этот алгоритм допускает и использование в обратном порядке: Пример 1.7. Привести пример матриц признаков T0 , T1 , для которых тупиковыми будут следующие тесты (и только они): [1], [2, 3], [2, 4], [3, 4, 5]. Запишем тесты в виде ДНФ: f (x) = x1 (x2 x3 ) (x2 x4 ) (x3 x4 x5 ). Преобразуем к КНФ и упростим:

Решение.

f (x) = (x1 x2 x3 ) (x1 x2 x4 ) (x1 x2 x5 ) (x1 x3 x4 ) (x1 x2 x3 x4 )(x1 x2 x3 x5 )(x1 x2 x4 x5 )(x1 x3 x4 x5 ) = = (x1 x2 x3 ) (x1 x2 x4 ) (x1 x 1 1 В качестве матриц можно взять T1 = 1 1 =00000.
2

x5 ) (x1 x3 x4 ) . 1100 1 0 0 1 , T2 = 0 1 1 0 1010

Алгоритм A1 .
Алгоритм A1 [10], как и многие другие, основывается на понятии информационного веса признака, предложенного Ю.И. Журавл?вым. Для пары матриц T1 и T2 pi i, i {1, 2, . . . , n}, будем называть отношение числа тупиковых тестов, в которые вош?л признак i, к общему числу тупиковых тестов. Чем больше вес pi , тем важнее признак i с точки зрения различения классов K1 и K2 . Вектор p = (p1 , . . . , pn ) назовем или . Например, для матриц (1.1) в предыдущем параграфе были получены тупиковые тесты T = {(1, 2); (1, 3); (2, 3); (4)}. Следовательно, вектор ин1 формационных весов равен p = ( 2 , 1 , 1 , 1 , 0). 224 Сначала в алгоритме A1 для каждого признака i вычисляется его информационный вес pi , i {1, 2, . . . , n}. Если a11 a12 . . . a1n a a22 . . . a2n , T1 = 21 . . ... . am1 1 am1 2 . . . am1 n b11 b12 . . . b1n b b22 . . . b2n T2 = 21 . . ... . bm2 1 bm2 2 . . . bm2 n

информационным весом

признака

знаков

весовым вектором

вектором информационных весов при-


1.3. Тестовый подход к распознаванию

35

и x = (x1 , x2 , . . . , xn ) объект, подлежащий классификации, то вычисляются две величины m1 n 1 r1 = pj (aij xj ) (1.2) m1 i=1 j =1 и

r2 =

1 m2

m2

n

pj (bij xj ),
i=1 j =1

(1.3)

где операция есть сумма по модулю 2, а обычная сумма. Теперь, если r1 > r2 , то x следует отнести к классу K2 , и если r1 r2 , то x следует отнести к классу K1 . Описанное решающее правило разбивает множество объектов M на две части, разделяемые гиперплоскостью r1 (x) = = r2 (x). Проиллюстрируем этот алгоритм на примере матриц из предыдущего параграфа (1.1) и объекта с признаками x = (1, 1, 1, 0, 1). 1 3 1 =4и Вычислим5 величины: r1 (x) = 3 1 ћ 1 + 1 ћ 1 + 2 ћ 1 + 1 ћ 3 2 2 4 11 1 1 3 3 3 r2 (x) = 2 2 ћ 2 + 2 ћ 2 + 2 ћ 2 = 2 . Поскольку r2 = 2 > 4 = r1 , то относим объект к классу K1 .

Алгоритм A2 /A3 .
В алгоритме A2 [11] решающее правило выглядит следующим образом. Для каждой строки s = (s1 , . . . , sn ) матриц T1 и T2 находим скалярное произведение
n

sћp=
i=1

si ћ pi ,

называемое весом строки. Пусть q вес объекта x = (x1 , . . . , xn ), подлежащего классификации. Тогда, если q h, то отнесем x к классу K1 , а иначе к классу K2 . Значение h подбирается с учетом требования, чтобы наибольшее число строк матриц T1 и T2 классифицировались правильно. Разделяющей поверхностью в алгоритме A2 является гиперплоскость, заданная уравнением
n

xi ћ pi = h.
i=1

Проиллюстрируем работу алгоритма мационные веса строк указаны в правом 110 0 1 1 T1 = 1 0 1 T2 0 0 0 000

A2 на том же примере 1.1 (инфорстолбце): 1 0 5/4 1 0 5/4 1 0 5/4 . (1.4) 000 010

5 Выберем h = 1 ћ (0 + 5 ) = 8 . Будем классифицировать вектор x = 2 4 3 = (1, 1, 1, 0, 1). Скалярное произведение (x, p) = 2 > h, поэтому относим вектор к первому классу.

5

В каждой скобке по столбцам суммируется количество несовпадений атрибутов объ-

екта для данного столбца умноженное на информационный вес этого столбца.


36

Глава 1. Распознавание образов

Пусть 1 , 2 , . . . , m1 веса строк матрицы T1 , 1 , 2 , . . . , m2 веса строк матрицы T2 , z = min ai - max bj . Заметим, что алгоритм A2 правильно классифицирует все векторы из обучающей выборки только при условии z > 0. В случае z 0 может быть использована модификация алгоритма A2 алгоритм A3 [12, 13]. Для некоторого признака i заменим его на его отрицание. При этом в таблицах T1 и T2 i-ый столбец инвертируется. Такая замена не влияет на информационные веса признаков p = (p1 , . . . , pn ) и сохраняет все тупиковые тесты. Но при этом изменяются величины a1 , a2 , . . . , am1 и b1 , b2 , . . . , bm2 , и величина z может увеличиться. Если это произошло мы можем принять это инвертирование i-го признака, и перейти к рассмотрению следующего признака. При z > 0 тестовый алгоритм A3 правильно классифицирует всю обучающую выборку, и в качестве пороговой величины h можно взять
i j

h = (min ai + max bj )/2.
i j

Приведем пример использования этого Рассмотрим матрицы 11 0 0 T1 = 1 0 T2 01

алгоритма:

01 0 1 . 1 0 10

Очевидно, тупиковые тесты T = {(1, 2), (3), (4)}, а все информационные 2 веса равны 1 . Тогда min i = 1 и max j = 3 , т.е. z = - 1 < 0 и алгоритм 3 3 3 A2 , следовательно, неприменим. Инвертируем третий столбец, тогда (справа указаны веса строк) 1 1 1 1 4/3 0 0 1 1 2/3 T1 = 1 0 0 0 1/3 , T2 0 1 0 0 1/3
1 следовательно z = 1 и можно взять h = 1 ћ 2 + 3 = 1 . В качестве примера 3 2 3 2 классифицируем вектор x = (0, 1, 0, 1). Сначала инвертируем его третий признак (т.к. мы это делали в матрице) x1 = (0, 1, 1, 1). Найдем (x1 , p) = = 1 > 1 , следовательно, относим x к классу K1 . 2

Алгоритм Кудрявцева (голосования по тестам)
Пусть {1, 2, . . . , n} множество признаков. Договоримся подмножество {1, 2, . . . , n} обозначать булевским вектором t = (t1 , . . . , tn ), подразумевая, что признак i точно тогда, когда ti = 1. Пусть как и ранее T1 = {aj = (aj 1 , . . . , aj n ) : j = 1, 2, . . . , m1 }, T2 = = {bj = (bj 1 , . . . , bj n ) : j = 1, 2, . . . , m2 } множества элементов обучающей выборки, принадлежащие классам K1 и K2 соответственно. Обозначим T = T (T1 , T2 ) опорное множество тестов для обучающей выборки T1 , T2 . В качестве опорного множества T могут выступать, например, множество всех тестов, множество тупиковых тестов, или множество тестов фиксированной длины.


1.3. Тестовый подход к распознаванию

37

Если a = (a1 , . . . , an ) элемент обучающей выборки, t = (t1 , . . . , tn ) T некоторый тест, а x = (x1 , . . . , xn ) объект, подлежащий классификации, то скажем, что t a x, если

тест голосует за элемент на объекте
n a t ( x) =

(1 - ti |xi - ai |) = 1,
i=1

т.е. на признаках из теста t объекты a и x совпадают. Тогда сумму a t (x)
aT
j

можно интерпретировать как интеграл (по дискретной мере) голосования множества Tj , j = 1, 2, а многочлен

j (x) =

1 mj

a t ( x) tT aT
j

есть интегральный голос всего опорного множества тестов T за класс Kj , j = 1, 2. Многочлен R(x) = 2 (x) - 1 (x) называется . , предложенный В.Б.Кудрявцевым, состоит в том, что на объекте x, подлежащем классификации, вычисляется многочлен голосования R(x), и если R(x) 0, то x относится к классу K1 , и к классу K2 в противном случае. Проиллюстрируем на примере матриц (1.1) и вектора x = (1, 1, 0, 0, 1). В качестве опорного множества тестов выберем все тупиковые тесты: T = = {(1, 2); (1, 3); (2, 3); (4)}. Подсчитываем количество голосов по каждому тесту (1, 2) (1, 3) (2, 3) (4) T1 1 0 0 0 T2 0 0 0 2

Алгоритм голосования по тестам

многочленом голосования

Тогда 1 (x) = 1 (1 + 0 + 0 + 0) = 1 , 2 (x) = 1 (0 + 0 + 0 + 2) = 1 и многочлен 3 3 2 голосования R(x) = 1 - 1 = 2 > 0, поэтому относим объект к K2 . 3 3

Теорема Анселя.
Зафиксируем T1 , T2 и рассмотрим множество всех тестов = (T1 , T2 ). Каждому такому поставим в соответствие характеристическую функцию 1, t f (t) = . Очевидно, f монотонная6 булевая функция. Верно и 0, t обратное для произвольной монотонной функции f const можно подобрать T1 и T2 , для которых f = f (T1 ,T2 ) . n Нижней единицей монотонной функции f называется набор E2 , на котором f () = 1, но f ( ) = 0 для любого < . n Верхним нулем монотонной функции f называется набор E2 , на котором f () = 0, но f ( ) = 1 для любого > .
6
Булева функция

(1 , . . . , n )

f (x1 , . . . , xn ) называется монотонной, если для любых (1 , . . . , n ) выполнено соотношение f (1 , . . . , n ) f (1 , . . . , n ).

наборов


38

Глава 1. Распознавание образов

Последовательность (1) , (2) , . . . , (m) элементов из E n называется , если (i+1) получается из (i) заменой одного нуля (в наборе координат) на единицу, i = 1, 2, . . . , m - 1. Тем самым, (1) < (2) < . . . < (m) . Если три элемента 1 , 2 , 3 из E n образуют цепь, то четвертый элемент , образующий вместе с ними квадрат (см. рис. ??), называют дополнением цепи 1 , 2 , 3 до квадрата.

пью

це-

3



2

1
Рис. 1.9: Дополнение до квадрата

Лемма 1 (Анселя).

Единичный n-мерный куб E n может быть покрыт попарно непересекающихся цепей, обладающих слемножеством из дующими свойствами: p p а) число цепей длины n - 2p + 1 равно Cn - Cn-1 (0 p n ), и ми2 нимальный элемент каждой такой цепи есть набор с p единицами и n - p нулями, а максимальный c p нулями и n - p единицами; б) если заданы три элемента 1, 2, 3, образующие цепь и принадлежащие одной и той же цепи длины n - 2p + 1, то дополнение цепи 1 , 2 , 3 до квадрата принадлежит цепи длины n - 2p - 1.
[n/2] Cn

Упражнения.

111001 0 0 0 1 1 0 Задача 1.3.1. Даны матрицы признаков T1 = 0 0 1 0 1 1 010000 110000 и T2 = , для них известен набор тупиковых 001100 тестов:[1, 3, 4], [1, 3, 5], [1, 3, 6], [1, 2, 5, 6], [1, 4, 5, 6]. Классифицировать вектор V = (0, 1, 0, 1, 0, 0) c помощью алгоритмов A1 , A2 /A3 и AK (голосования по тестам). 001000 0 1 0 1 0 0 Задача 1.3.2. Даны матрицы признаков T1 = 0 1 0 0 1 0 , T2 = 000110 110100 = , для них известен набор тупиковых тестов:[1, 2, 4, 5], [1, 2, 3], [1, 6]. 011001


1.3. Тестовый подход к распознаванию

39

Найти информационные веса признаков и классифицировать вектор V = (1, 1, 0, 0, 0, 1) c помощью алгоритмов A1 , A2 /A3 и AK (голосования по тестам).

111000 1 0 0 1 1 1 Задача 1.3.3. Даны матрицы признаков T1 = 1 0 1 1 1 1 , T2 = 001101 111011 = 0 0 1 0 1 0 , для них известен набор тупиковых тестов:[4, 5, 6], [1, 4, 5], [2, 4, 6], [1, 4, 6], [2, 4, 5]. 111100 Найти информационные веса признаков и классифицировать вектор V = (1, 1, 0, 1, 1, 1) c помощью алгоритмов A1 , A2 /A3 и AK (голосования по тестам).

1011000 1 1 0 1 0 1 0 Задача 1.3.4. Даны матрицы признаков T1 = 1 0 0 1 0 1 1 , T2 = 1011010 0010100 = 0 0 1 0 1 1 0 , для них известен набор тупиковых 0110011 тестов:[4], [1], [2, 5, 7], [3, 5, 7], [2, 3, 5]. Найти информационные веса признаков и классифицировать вектор V = (1, 0, 1, 0, 1, 0, 0) c помощью алгоритмов A1 , A2 /A3 и AK (голосования по тестам).

001011 0 1 0 1 0 0 Задача 1.3.5. Даны матрицы признаков T1 = 0 1 0 1 0 1 , T2 = 110000 110010 = , для них известен набор тупиковых тестов:[4, 5, 6], [1, 4, 5], [3, 5], [2, 4, 5]. 000111 Классифицировать вектор V = (0, 0, 0, 1, 0, 1) c помощью алгоритмов A1 , A2 /A3 и AK (голосования по тестам).

Задача 1.3.6. Найти все тупиковые тесты и информационные веса признаков: 0 0 0 0 a) 0 0 1 1 0 0 0 1 0 1 1 1 0 1 0 1 1 1 0 0 0 1 1 1 0 0 0 1 0 1 0 0 1 0 1 1





; b)

0 0 1 0 0 1 1 1

1 0 1 1 0 1 0 0

1 1 1 1 1 1 0 0

1 0 0 1 0 0 1 1

1 0 1 0 1 0 0 1





; c)

0 0 1 0 0 1 1 1

1 1 1 0 0 1 0 0

0 1 1 1 0 0 0 1

0 0 1 1 1 1 0 0

1 1 1 1 1 1 1 1

1 1 1 1 1 1 0 0

;


40

Глава 1. Распознавание образов

d)

1 1 1 1 1 1 0 0

0 1 0 0 1 0 1 1

0 0 0 1 1 1 0 1

0 0 1 0 0 1 1 1

0 0 0 0 0 0 0 0

1 0 0 1 0 0 1 1





; e)

0 1 0 0 1 1 0 0 1

0 1 1 1 1 0 0 0 0

0 1 0 1 0 0 1 1 1

0 0 1 0 1 0 1 1 1

1 1 1 1 1 1 1 0 1

0 0 0 0 0 0 1 1 1





; f )

0 0 0 1 1 1 1 0 1

1 0 0 1 0 0 1 1 1

0 0 0 0 0 0 1 1 1

0 0 1 0 1 0 1 1 1

0 1 0 0 0 1 1 1 1

1 1 1 1 1 1 1 1 0

.

Задача 1.3.7. a) Найти все тупиковые тесты и информационные веса при
знаков:
010 110 110 011 111 010 011 111 001 101 из классов методом A 0 1 1 1 0 0 0 1 0 1 0, 1) методом 0 0 0 0 1 1 1 1 1 1 1, 0) методом 0 0 1 0 0 1 1 1 1 1 A1 1 0 1 0 0 1 1 1 0 0 A1 1 0 0 1 0 1 0 1 0 1 ,A 0 0 1 0 0 1 1 1 1 1 3и

1

0 0 1 1 1 . б) отнести набор (1,1,1,1,1,1) к одному 1 0 0 0 0 методом Кудрявцева ( голосования по тестам).

Задача 1.3.8. a) Найти все тупиковые тесты и информационные веса при
знаков:
1100 0001 0000 1000 0101 0100 1011 1101 1001 1111 , A3 и методом 01 00 00 01 01 01 10 00 00 10 , A2 /A3

. b) Классифицировать вектор (1, 1, 1, 0,
Кудрявцева (голосования по тестам).

Задача 1.3.9. a) Найти все тупиковые тесты и информационные веса при
знаков:
10 0 1 1 1 0 0 0 1 . b) Классифицировать вектор (1, 1, 0, 0, 1 1 0 0 0 0 1 0 10 и методом Кудрявцева (голосования),

Задача 1.3.10. a) Найти все тупиковые тесты и информационные веса


1.3. Тестовый подход к распознаванию 0 0 1 признаков: 1 1 1 1 0, 0, 0, 0) методом

41



1 0 1 0 0 0 0 A 1 1 1 0 1 1 0 A

1

1 1 1 1 0 1 0 ,A 1 1 1 0 1 0 1 ,A

2

1 0 0 1 1 1 1 /A 1 0 1 0 0 0 0 /A

3

11 1 1 1 1 0 1 . b) Классифицировать вектор (0, 0, 0 0 1 0 11 и методом Кудрявцева (голосования).

Задача 1.3.11. a) Найти все тупиковые тесты и информационные веса
признаков:
1 0 0 1 1 1 1 0, 0, 0, 0) методом

10 1 0 1 1 0 1 . b) Классифицировать вектор (0, 0, 0 1 1 1 11 1 2 3 и методом Кудрявцева (голосования). 011010 0 0 1 1 1 1 1 0 1 1 0 0 , T2 = Задача 1.3.12. Даны матрицы признаков T1 = 1 0 0 0 1 1 0 1 0 0 1 1 001110 1 1 0 1 1 0 , для них известен набор тупиковых тестов: = [1, 2], [1, 4, 5], [3, 4], [3, 6], [1, 5, 6], [2, 4]. Найти информационные веса признаков и классифицировать вектор V = (0, 0, 0, 1, 1, 0) c помощью алгоритмов A1 , A2 /A3 и AK (голосования по тестам). 0 0 признаков: 0 1 0 0, 0, 0, 0) методом 0 0 признаков: 0 0 0 0, 1, 1, 1) методом

Задача 1.3.13. a) Найти все тупиковые тесты и информационные веса
0 0 0 1 1 A 0 1 1 0 0 A 0 1 1 0 0 ,A 0 0 0 0 1 ,A 1 1 1 1 1 /A 1 1 0 0 0 /A 01 1 1 0 0 . b) Классифицировать вектор (0, 1, 1 0 10 и методом Кудрявцева (голосования). 00 1 0 0 0 . b) Классифицировать вектор (1, 0, 1 1 11 и методом Кудрявцева (голосования).

1

2

3

Задача 1.3.14. a) Найти все тупиковые тесты и информационные веса

1

2

3

Задача 1.3.15. Привести пример матриц признаков T1 , T2 , для которых ту-

пиковыми будут следующие тесты (и только они): [1, 2, 3], [1, 2, 4], [2, 3, 5], [4, 5].

Задача 1.3.16. Привести пример матриц признаковT1 , T2 , для которых тупиковыми будут следующие тесты (и только они): [1], [2, 3, 4], [2, 3, 5], [2, 6].


42

Глава 1. Распознавание образов

Задача 1.3.17. Пусть размерность пространства признаков равна 4. Существуют ли такие матрицы T1 , T2 , которые имеют а) ровно три тупиковых теста длины 2 и один длины 3? b) ...ровно три тупиковых теста длины 3 и один длины 2? Задача 1.3.18. Придумать пару матриц, имеющих: а) ровно один тупиковый тест длины 1, два длины 2 и три длины 3. б) ровно три тупиковых теста длины 2, два длины 1 и один длины 3.
2 3 4 ского куба (как в Т. Анселя): a) E2 ; b) E2 ; c) E2 .

Задача 1.3.19. Построить покрытие непересекающимися цепями булевЗадача 1.3.20. Найти a) (2) число монотонных функций от 2 перемен-

ных; b) (3).

Задача 1.3.21. Найти все нижние единицы и верхние нули функции a)
f (x1 , x2 , x3 ) = x1 x2 x2 x3 x1 x3 ; b) f (x1 , . . . , x5 ) = (x2 x3 x4 ) (x1 x5 ).
равна 5.

Задача 1.3.22. Пусть размерность пространства признаков (бинарных)
a) Доказать, что количество тупиковых тестов для любой пары таблиц T2 и T2 не превосходит 10. b) Привести пример пары, для которой их ровно 10.

Задача 1.3.23. Пусть размерность пространства признаков (бинарных)

равна 6. а) Доказать, что количество тупиковых тестов для любой пары таблиц T2 и T2 не превосходит 15. б) Привести пример пары, для которой их ровно 15. в) Найти оценку для числа тупиковых тестов в случае, когда размерность равна n. зультаты алгоритма A3 зависят от порядка инверсии столбцов. Т.е. при одном порядке вектор классифицируется как K2 , а при другом как K2 .

Задача 1.3.24. Привести пример двух матриц и вектора, на которых ре-

Задача 1.3.25. Найдите какое-либо тупиковое разрешающее множество
для класса: a) T1 ; b) L; c) S .
Ответы и указания.

1.3.1 Алгоритм A1 : G0 =
= , G1 =
5 4 25 12 1 2

относим к

31 20 K1

, G1 = ;

11 10

относим к K2 ; Алгоритм AK : G0 =

2 1.3.2 Информационные веса признаков: W = (1, 3 , 1 , 1 , 1 , 1 ). Алгоритм A1 : 3333

G0 = к K2 ; G0 = к K1 ;

, G1 = 1 относим к K2 ; Алгоритм AK : G0 = 0, G1 =

1 2

относим

2 3 1.3.3 Информационные веса признаков: W = ( 5 , 2 , 0, 1, 5 , 3 ). Алгоритм A1 : 5 5 11 10

, G1 =

23 15

3 относим к K1 ; Алгоритм AK : G0 = 2 , G1 = 0 относим

1 1.3.4 Информационные веса признаков: W = ( 5 , 2 , 2 , 1 , 3 , 0, 2 ). Алгоритм 5555 5 6 A1 : G0 = 5 , G1 = относим к K2 ; 2 3

относим к K2 ; Алгоритм AK : G0 = 1, G1 = 3


1.3. Тестовый подход к распознаванию

43

1.3.5 Алгоритм A1 : G0 =
= , G1 = 0 относим к
3 2

17 16 K1 ;

, G1 =

7 4

относим к K1 ; Алгоритм AK : G0 =

1.3.6 a) Тупиковые тесты: (4, 1), (1, 3), (4, 3), (5); b) Тупиковые тесты: (2, 1),

(1, 4), (2, 4), (3); c) Тупиковые тесты: (2, 1), (1, 5), (2, 5), (3) d) Тупиковые тесты: (4, 1), (1, 5), (4, 5), (3), e) Тупиковые тесты: (5, 3), (3, 1), (5, 1), (2); f ) Тупиковые тесты: (5, 3), (3, 4), (5, 4), (1).

1.3.7 a) Тупиковые тесты: (4, 6), (6, 2), (4, 2), (5, 1), 1.3.8 a) Тупиковые тесты: (6, 2), (2, 3), (6, 3), (4, 1); b) Информационные
1 веса признаков: ( 1 , 2 , 1 , 1 , 0, 1 ); Алгоритм A1 : r0 = 5 , r1 = 1 , относим к 4 24 2 4 4 K2 ; Алгоритм A2 /A3 : инвертируем 1й и 4й столбцы, min1 = 3 ; max0 = 2 = 3 , Граница h = 9 . Значение на векторе 1 , следовательно, относим к K1 . 4 8 4 1 Алгоритм Кудрявцева: 1 = 2 , 2 = 3 относим к K2 .

1.3.9 a) Тупиковые тесты: (6, 4), (4, 1), (6, 1), (5, 2). Информационные веса

5 11 признаков: ( 2 , 4 , 0, 1 , 1 , 1 ); b) Алгоритм A1 : r0 = 4 , r1 = 1 , относим к 242 4 K2 . Алгоритм A2 /A3 : инвертируем 1й и 3й столбцы, min0 = 1, max1 = 1 = 1 , граница h = 5 . Значение на векторе 4 , следовательно, относим к K2 . 4 8 Алгоритм Кудрявцева: 1 = 0.5, 2 = 3, относим к K2

1.3.10 a) Тупиковые тесты: (4, 2), (2, 1), (4, 1), (5, 3, 6), информационные

1 17 веса признаков: ( 1 , 1 , 1 , 1 , 4 , 1 ). b) Алгоритм A1 : r0 = 12 , r1 = 11 , относим 2242 4 8 7 к K2 . Алгоритм A2 /A3 : инвертируем 1й и 4й, min0 = 4 , max1 = 1 , граница 2 9 7 h = 8 . Значение на векторе равно p ћ v = 4 , значит относим к K1 Алгоритм Кудрявцева: 1 = 1, 2 = 1 относим к K1 . 4

1.3.11 a) Тупиковые тесты: (1, 4), (4, 6), (1, 6), (5, 3, 2), Информационные

веса признаков: ( 0.5, 0.25, 0.25, 0.5, 0.25, 0.5) Алгоритм A1 : r0 = 1.416667, r1 = 1.375, относим к K2 . Алгоритм A2 /A3 : инвертируем первый и последний столбцы. min0 = 1.75, max1 = 0.5, граница 1.125. Значение на векторе 1.75, следовательно, относим к K1 . Алгоритм Кудрявцева: 1 = 1, 2 = 0.25 относим к K1 .

1 1 1.3.12 Информационные веса признаков: W = ( 2 , 1 , 1 , 1 , 1 , 3 ). Алгоритм 3323

A1 : G0 = 35 , G1 = 36 относим к K2 ;

5 6

относим к K2 ; Алгоритм AK : G0 =

3 2

, G1 = 2

1.3.13 a) Тупиковые тесты: (5, 3), (3, 6), (5, 6), (2). Информационные ве1 са признаков: w = (0, 4 , 1 , 0, 1 , 1 ); веса признаков, умноженные на 4: 2 22 w = (0, 1, 2, 0, 2, 2, ); b) Алгоритм A1 : r0 = 13 , r1 = 2, относим к K2 Алгоритм ^ 3 A3 : инвертируем 1й и 2й и 5й столбцы min(K1 ) = 5, max(K2 ) = 0, граница 5 . Значение на векторе равно 3 , следовательно, относим к K1 Алгоритм 2 Кудрявцева: 1 = 2/3, 2 = 2, следовательно, относим к K2 .

1.3.14 Тупиковые тесты: (4, 5), (5, 2), (4, 2), (6), . Информационные

1 веса признаков: w = (0, 2 , 0, 1 , 1 , 1 ); домноженные веса признаков: 224 w = (0, 2, 0, 2, 2, 1, ); Алгоритм A1 : r0 = 13/3, r1 = 2, относим к K2 Ал^ горитм A3 : инвертируем 2й и 4й столбцы, min(K2 ) = 7 max(K1 ) = 2, граница T = 9 . Значение на векторе равно 3, следовательно, относим к K1 2 2 Алгоритм Кудрявцева: 1 = 3 , 2 = 2, следовательно относим к K2


44 0 0 1.3.15 Например, T1 = 1 0 1 1.3.16 Например, T1 = 1 1

Глава 1. Распознавание образов



0 1 0 1 0 1 0

1 0 0 0 0 0 1

1 1 0 0 1 0 0

0 0 , T = 0 0 0 0 0 . 1 2 1 11 0 0 , T2 = 0 0 0 0 0 01

0

.

1.3.17 a) Да, существуют. Выберем следующие тесты в качестве тупико-

вых: [1, 2], [1, 3], [1, 4], [2, 3, 4]. Запишем тесты в виде ДНФ: D = (x1 x2 ) (x1 x3 ) (x1 x4 ) (x2 x3 x4 ) и преобразуем к КНФ, после упрощений получим: D = (x1 x2 ) (x1 x (x1 x4 ) (x2 x3 x4 ). Тогда в каче3) 1010 1 0 0 1 стве матриц можно взять T1 = 0 1 1 1 , T2 = 0 0 0 0 . 1100 b) Нет, не существуют. Всего существует 4 подмножества из 3 элементов. Если взять любые 3 в качестве тупиковых тестов, например [1, 2, 3], [1, 2, 4], [1, 3, 4], то любое подмножество из 2 элементов покрывается ими (и, следовательно, не может быть тестом). Запишем ДНФ D = x1 (x2 x3 ) (x2 x4 ) (x2 x5 x6 ) (x3 x5 x6 ) (x4 x5 x6 ), преобразуем в КНФ и упростим: (x1 x2 x5 ) (x1 x2 x6 ) (x1 x2 x3 x4 ) (x1 x2 x3 x5 ) (x1 x2 x3 x6 ) (x1 x2 x4 x5 )(x1 x2 x4 x6 )(x1 x2 x5 x6 )(x1 x3 x4 x5 ) (x1 x3 x4 x6 ) (x1 x2 x3 x4 x5 ) (x1 x2 x3 x4 x6 ) (x1 x2 x3 x5 x6 ) (x1 x2 x4 x5 x6 ) (x1 x3 x4 x5 x6 ) (x1 x2 x3 x4 x5 x6 ) = (x1 x2 x6 ) (x1 x3 x4 x5 ) (x1 x2 x x4 ) (x1 x2 x5 ) (x1 x3 x4 x6 ). Запишем мат 3 110001 1 0 1 1 1 0 000000. рицы: T1 = 1 1 1 1 0 0 и T2 = 1 1 0 0 1 0 101101 b) Аналогично, тесты : , 2], [1, 3], [1, 4], [5], [6], [2, 3, 4]. Матрицы: T1 = [1 100111 0 1 1 1 1 1 = 1 0 1 0 1 1 , T2 = 0 0 0 0 0 0 . 110011

1.3.18 a) Найдем матрицы ,у которых тупиковые тесты [1], [2, 3], [2, 4], [2, 5, 6], [3, 5, 6], [4, 5, 6].

1.3.19 c) Две цепи длины 1: [0101], [0001]; три цепи длины 3: [0100 - 0110 -

- 0111]; [0010 - 1010 - 1011], [0001 - 1001 - 1101]; и одна цепь длины 5: [0000 - 1000 - 1100 - 1110 - 1111].

1.3.20 a) 6; b) 20. 1.3.21 a) Нижние единицы: [110, 101, 011]; верхние нули: [100, 010, 001].
b) Нижние единицы: [11000, 10100, 10010, 01001, 00101, 00011]; верхние нули: [01110, 10001].


1.3. Тестовый подход к распознаванию

45

1.3.22 a) По Т. Анселя число цепей для 5-мерного булева куба равно
2 C5 = 10. Каждой цепи вого теста. б) Возьмем T2 = (1, 1, 1, 1, 1). Тогда 2 их количество равно C5

может соответствовать не более одного тупикоT1 = I (единичная матрица размера 5 Ч 5) и любая пара признаков будет тупиковым тестом, = 10.

1.3.23 Аналогично задаче 1.3.22. 1.3.24 Рассмотрим T1 =
0 1 0 1 , T2 = 1010 и вектор V = (1, 1, 0, 0). Очевидно, что каждый признак является тупиковым тестом и информационные веса каждого признака равны 1 , взвешенная 4 сумма каждой строки (в исходных матрицах) равна 1 . Если инвертировать 2 первый или третий столбец, то min1 = 3 , max2 = 1 , т.е. границу мож4 4 но взять, например h = 1 . При этом, вес вектора, если инвертировать 1-й 2 столбец равен p ћ v = 1 , т.е. относим к K2 , а если инвертировать 3-й столбец, 4 то p ћ v = 3 относим к K1 . 4
n веса 0 и 1). c) {0} Ч E2 равен нулю. -1

n 1.3.25 a) E2 \ {(0, ..., 0)}; b) {(0, ..., 0), (1, 0, ..., 0), ..., (0, ..., 0, 1)} (все вектора

, т.е. все вектора, у которых первый компонент


46

Глава 1. Распознавание образов


Глава 2

Теория хранения и поиска информации
2.1. Реляционная алгебра
Обозначения и определения

Реляционная алгебра
Если D1 , D2 , . . . , Dn некоторые множества, то подмножество r D1 Ч D2 Ч ћ ћ ћ Ч Dn называется n. Элементы x = (x1 , x2 , . . . , xn ) r отношения r принято называть , компоненты отношения именовать символами A1 , A2 , . . . , An и называть , а область Di значений атрибута Ai (i = 1, 2, . . . , n) называть и обозначать Di = dom(Ai ). R называется множество атрибутов R = {A1 , A2 , . . . , An }, и если Di = dom(Ai ) , i = 1, 2, . . . , n, то любое отношение r dom(R) = D1 ЧD2 Чћ ћ ћЧDn называется R; в этом случае также используют обозначение r(R) или r(A1 A2 . . . An ). Значения отдельных атрибутов обозначают xi = x(Ai ). Для выделения подмножества атрибутов S = {Ai1 , . . . , Aik } R, будет использоваться обозначение x(S ) = x(Ai1 . . . Aik ) = (xi1 , . . . , xik ). В теории реляционных баз данных рассматривают только конечные отношения (т.е. |R| < ) и отображают их в виде плоских таблиц со строками кортежами и столбцами атрибутами. это множество отношений. Определим некоторые операции над отношениями.

жами

таблицей или отношением арности кортеСхемой отношения

атрибутами доменом

отношением со схемой

Реляционная база данных

Булевы операции
Если r и s отношения с одной и той же схемой R, т.е. подмножества dom(R), то к ним могут быть применены обычные теоретикомножественные операции: объединение , пересечение , разность \ (в реляционной алгебре ее принято обозначать знаком ??), дополнение ? . атрибута Ai называется множество всех его значений, присутствующих в данном отношении, т.е. adom(Ai , r) = {d

Активным доменом

47


48

Глава 2. Теория хранения и поиска информации

dom(Ai ) | x r : x(Ai ) = d}, отношения r со схемой R = (A1 , ..., An ) называется adom(R, r) = adom(A1 , r) Ч ћ ћ ћ Ч adom(An , r). отношения R называется r adom(R, r) \ r. ~= AB AB a b Пример 2.1. Пусть заданы r1 = a1 b1 и r2 = 1 2 . Тогда a2 b1 a2 b1 a3 b2 AB a1 b1 AB AB , r1 - r2 = и r2 = ~ r1 r2 = a1 b2 , r1 r2 = a1 b2 a1 b1 a2 b1 a3 b2 AB a b = 1 1 a2 b2 a3 b1

Активным доменом Активным дополнением

Операторы выбора
Пусть r отношение со схемой R, пусть A R атрибут и константа a dom(A). Тогда A=a (R) обозначение операции выбора в r кортежей, в которых значение A равно a, т.е.

A

=a

(r) = {x r : x(A) = a}.

Если на dom(A) задано бинарное отношение dom(A) Ч dom(A) (пишем ab, если (a, b) ), то выбор можно осуществлять с помощью этого отношения Aa (r) = {x r : x(A)a}. Пусть на dom(R) задан предикат (x). Тогда оператор (r) выбирает все кортежи, на которых этот предикат выполняется, т.е. (r) = {x r | (x)}. AB 1 1 Пример 2.2. Пусть задано отношение r = 1 2 . Тогда B >1 (r) = 32 AB = 1 2 , 32 AB A B (r) = 1 1 . 32

Оператор проекции

Оператор выбирает подмножество атрибутов в отношении. Пусть r отношение со схемой R и S R. Проекция r на S , записанная как S (r), есть отношение,

проекции

S (r) = {x(S ) | x r}.


2.1. Реляционная алгебра

49

Пример 2.3. Пусть задано отношение r(A, B , C ) = A 1 (r ) = 1 3 C 2 3 2

A 1 1 1 3

B 1 1 2 2

C 2 3 2 2

. То

гда

AC

Оператор соединения
это бинарный оператор для комбинирования двух отношений по всем их общим атрибутам. Пусть заданы два отношения r1 (R1 ) и r2 (R2 ). отношений r1 и r2 , записываемым как r1 r2 , является отношение r(R) = {x dom(R1 R2 ) | x(R1 ) r1 , x(R2 ) r2 }. Таким образом, каждый кортеж в R является комбинацией корежа из R1 и кортежа из R2 , у которых равны значения общих атрибутов из (R1 R2 ). Если R1 R2 = , то r1 r2 это декартово произведение r1 Ч r2 . Пример 2.4. Пусть R1 и R2 таковы: R1 (A, B ) R2 (B , C ) a1 b1 b1 c1 a2 b1 b2 c1 b2 c2 Найти R1 R2 . R1 R2 будет: R1 R2 (A, B , C ) a1 b1 c1 a2 b1 c1

Соединение Соединением

Решение.

Переименование атрибутов
Если R схема отношения, A R, B R атрибуты, и dom(A) = dom(B ), то переименование атрибута A на B состоит в замене в множестве R элемента A на B . Схема результата R = (R \ A) B . Более формально



AB

(R) = {x dom(R ) | x r : x(R \ A) = x (R \ A), x(A) = x (B )}

Ключи отношений
отношения r со схемой R называют подмножество атрибутов S R, для которого не существует двух кортежей x, x r, таких, что x(S ) = x (S ). отношения r со схемой R называют суперключ, обладающий свойством минимальности, т.е. S суперключ и не существует суперключа S , такого, что S S и S = S .

Суперключом

Ключом (потенциальным)

Упражнения.

Задача 2.1.1. Пусть заданы отношения r(AB C ) и s(B C D). Какова схема
отношения E =
A



B =b

(s)



B



BC

(r ) -

BC

(s) ?


50

Глава 2. Теория хранения и поиска информации

Задача 2.1.2. Пусть заданы отношения r(R) и s(S ) со схемами
R и c) f) = {A, B , C } и S = {B , C, D}, соответственно. Пусть a dom(A) b dom(B ) Какие из выражений: a) A=a,B =b (s); b) B (r s); A (r) D (s); d) AB (r) B C (s); e) B C (r) B C (r s) A=a,B =b (r s) - A=a,B =b (r); имеют смысл?

Задача 2.1.3. Пусть X подмножество R, и r, s отношения со схемой

R. Докажите или опровергните равенства: a) X (r - s) = X (r) - X (s); b) X (r s) = X (r) X (s); c) X (r s) = X (r) X (s); d) X (r) = X (r). ?

Задача 2.1.4. r и r отношения со схемой R, где X R. Пусть s, t
отношения а) X (r r b) (r r ) c) (r s) со схемами ) = X ( r ) s = (r s) t = r (s

S и T . Всегда ли верно, что X (r ); (r s); t)?

Задача 2.1.5. Пусть r отношение со схемой R, где dom(R) = R (мно-

жество действительных чисел). Выписать выражение, содержащее только операции реляционной алгебры, находящее наибольшее число в r (точнее отношение, содержащее только этот элемент).

Задача 2.1.6. Пусть r список студентов III курса со следующими атрибутами: G группа, N ФИО, S пол, Y год рождения, A науч.рук., M1 , ..., M5 отметки за последнюю сессию, C тема курсовой. Выписать выражения реляционной алгебры для нахождения следующих отношений: a) Список тем курсовых у данного научного руководителя a0 dom(A). b) Список студентов, имеющих хотя бы одну задолженность; c) Список студентов, интересующих военкомат1 . d) Пусть отношение s имеет один атрибут A и задает список всех сотрудников кафедры. Найти список сотрудников кафедры, не имеющих ни одного студента; e)* Список сотрудников кафедры, имеющих более одного студента;
r1 (C S G) - Course-StudentID-Grade r2 (S N P E ) - StudentID-Name-Phone-Email r3 (C DH R) - Course-Day-Hour-Room a) Получить список телефонов студентов, которые посещают курс ?A.I.? (Articial Intelligence). b) В аудитории a Dom(R) в понедельник будет идти ремонт. Надо разослать сообщение о переносе занятий в другую аудиторию. Найдите адреса всех студентов, у которых в понедельник (в любое время) есть занятия в этой аудитории. c) По заданному ID студента (s0 dom(S )) определить, в какой аудитории у него в понедельник первая пара (т.е. H = 1).
бутами A1 номер рейса, A2 время вылета, A3 время прибытия. и s расписание электричек МоскваВасюки с атрибутами B1 номер поезда, B2 время отправления, B3 время прибытия. а) Составить список всех
1 2
юноши призывного возраста, не сдавшие сессию У каждого студента свой набор курсов, которые надо посещать

Задача 2.1.7. В учебной части MIT2 набор таблиц другой:

Задача 2.1.8. Дано r расписание авиарейсов Нью-ЙоркМосква с атри-


2.1. Реляционная алгебра

51

возможных маршрутов из Нью-Йорка в Васюки (поезд должен отправляться позже, чем прилетит самолет); б) Выбрать из пункта а) те маршруты, в которых человек садится на ближайшую электричку (а не на любую после прилета самолета).

r(N P S ), где атрибуты N ФИО (Name), P Должность (Position), W Зарплата(Wages) и s(B S ) с атрибутами B Начальник (Boss), S Подчиненный (Subordinate) (причем dom(N ) = dom(B ) = dom(S )). а) Как получить список рядовых сотрудников (т.е. тех, у кого нет подчиненных)? b) Как получить список начальников, у которых все непосредственные подчиненные получают зарплату не менее заданного w? c) Как получить список менеджеров среднего звена, т.е. начальников, у которых в подчинении только другие начальники (и нет рядовых сотрудников)?

Задача 2.1.9. В отделе кадров предприятия в базе есть две таблицы:

Задача 2.1.10. В салоне красоты у секретаря есть таблицы:
ћ r(C N P ) c атрибутами C ID клиента, N ФИО, P телефон; ћ s(M N S ) с атрибутами M ID сотрудника, N ФИО сотрудника, S специализация; ћ t(DT C M ) с атрибутами D дата, T время, C ID клиента, M ID сотрудника.
a) Получить список ФИО всех маникюрщиц, которые вчера (dy dom(D)) работали после 14-00. b) Парикмахер Анжела Пуговкина (А.П. dom(N )) заболела, надо обзвонить ее клиентов. Получить список клиентов (с телефонами), которых она должна была сегодня (dt dom(D)) обслуживать

Задача 2.1.11. Пусть r отношение со схемой (N , P ), где N название товара, а P цена. Выписать оператор реляционной алгебры, который а) По названию товара n0 dom(N ) находит названия всех товаров не дешевле этого товара n0 ; b) Находит самый дорогой товар (если с такой ценой есть несколько товаров, то находит их все). с) Находит самый дешевый товар из тех, что дороже, чем n0 . Задача 2.1.12. Пусть даны отношения r(AN ) и s(N B ), пусть n0 Dom(N ). a) Докажите, что N =n0 (r s) = N =n0 (r) N =n0 (s); b) Пусть |adom(N )| = L и для каждого n adom(N ) значение атрибута N = n встречается в отношении r ровно M раз, а в s ровно K раз. Сравните количество памяти требуемой при указанных в пункте а) схемах вычислений. Для упрощения можно считать, что каждый атрибут каждого кортежа занимает одну ячейку памяти, а затратами на хранение структуры базы можно пренебречь. Определение. Пусть r(R) и s(S ) два отношения, для которых R S = = . Пусть задано бинарное отношение : R Ч S {0, 1}. Тогда оператор -соединения задается как t(AB ) = r s = {t = (tr , ts ) : tr ts , tr r, ts s}. Т.е. результатом является множество пар, для которых указанное отношение истинно. Задача 2.1.13. Выразить оператор -соединения через стандартные операции реляционной алгебры.


52

Глава 2. Теория хранения и поиска информации

Определение. Пусть r(R) и s(S ) отношения со схемами S R. Тогда
можно определить операцию \ S ) : y s [x, y ] r }. Докажите, что (r

реляционного деления

: r ч s = {x dom(R \

Задача 2.1.14. Пусть даны отношения r(R) и s(S ), причем R S = .
s) ч s = r.

Задача 2.1.15. Докажите, что a) из s s следует (r ч s ) (r ч s);
b) Докажите, что обратное неверно, т.е. из (r ч s ) (r ч s) не следует, что ss;

= R \ S . Докажите, что a) r ч s = R (r) - что r ч s = R (S =t (r)).
ts

Задача 2.1.16. Пусть r(R) и s(S ) отношения со схемами S R и R =
R

(R (r)

s) - r ; b) Докажите,

Задача 2.1.17. Для данного отношения q (RS ) известно, что |q | = = |R (q )| ћ |S (q )|. a) Докажите, что q = R (q ) S (q ). b) Пусть задано отношение r(AB C ), найдите необходимые и достаточные условия того, что r = AB (r) B C (r). Задача 2.1.18. Приведите пример тернарного отношения (т.е. отношения
с 3 атрибутами), которое не может быть представлено в виде конъюнкции бинарных отношений без введения дополнительных атрибутов.

Подумайте, какая операция реляционной алгебры соответствует конъюнкции бинарных отношений?
Какие из следующих отношений обязательно должны иметь суперключ K : a) r s; b) r s; c) r - s; d) r; e) K (r); f ) r s. ~

Задача 2.1.19. Пусть r и s отношения со схемой R и ключом K R.

Задача 2.1.20. Привести пример отношений r(R) и s(R) c ключом K R,

таких, что K не является ключом ни для r s ни для r - s (хотя и является суперключом).
Ответы и указания.

2.1.1 E (AB ). 2.1.2 a) нет; b) да; c) да; d) нет; e) да; f ) нет. 2.1.3 a,b) Опровергается примером r =
A a AB но. d) Опровергается примером r = a b a1 b1 B b .
,s=

A a

B b

. c) Вер-

2.1.4 Решение. а) Неверно, легко построить контрпример, например r =

= {(x1 , y1 )}, r = {(x1 , y2 )}, где y1 = y2 . b) Верно, достаточно проверить для r со схемой (X, Y ) и s со схемой (Y , Z )
R

2.1.5 r -



R
r



RR

(r ) .


2.1. Реляционная алгебра

53

2.1.6 a) ra

= C (A=a0 (r)); b) rb = N ((M1 =2)...(M5 =2) (r)); c) rc = N ((S =Муж.)(Y 1995) (r)) rb , где rb решение предыдущего пункта (Здесь 1995 выбрано как 2013-18); d) rd = s - A (r); e) Пусть r1 = AN (R), r2 = r1 N N (r1 ). Тогда re = A (N =N (r2 )) решение. S P (r2 ), тогда p = P (C =?A.I.? (s)) искомый C S (r1 ) список. b) Пусть s1 = C (D=M on. (r3 )), s2 = C S (r1 ) S E (r2 ). Тогда E (s1 s2 ) искомый список адресов. c) Пусть s = C S (r1 ) r3 , тогда R (D=M on.,H =1 (s)) список аудиторий (их может быть несколько).
A3 2

2.1.7 a) Пусть s =

2.1.8 a) ra =
=

(A3
(ra

(r s); b) Пусть r = B2 B (B (s)), r = r ). Тогда искомый список ra - A1 A2 A3 B1 B2 B3 (r ).

2.1.9 a) ra = S (s) - B
rb = B ( пункте а).
W w

(N S (r)), тогда ответ S (B (s)); b) Пусть t = s (t)) - B (W
2.1.10 a) r = M (
ответ. b) r = ( ответ.

D =dy &T >14:00

N =А.П.

(s)

2.1.11 a) Пусть p =

p)). P P (P (N =n0 (r ))), тогда ra = N (P P (r b) Пусть r = r (N N (N (r))), тогда rb = N (r) - N (P

P (r N N ,P P (r))). Далее как в пункте b).

2.1.12 a) В обоих случаях получается множество кортежей вида (an , n, bn ),

где (an , n) r, (n, bn ) s. b) Для хранения промежуточных результатов в первом случае (левая часть) требуется K LM , а во втором K + M ячеек. Для хранения ответа требуется K M ячеек в обоих случаях.


2.1.13 r

s=

R S

(r

s).

2.1.14 Если R S = , то r

s = r Ч s и утверждение вытекает из определения операции реляционнного деления. (x, y ) входит в r, т.е. при всех y s это тоже выполнено, следовательно, a1 x r ч s . b) Приведем контрпример: r(AB ) = a 2 ; s(B ) = (2) и b2 s (B ) = (1). s) - r не будет кортежей, содержащих a0 , следовательно, они останутся в R (r) - R (R (r) s) - r . И наоборот, если при некотором b0 кортеж (a0 , b0 ) r, то он будет в (R (r) s) - r и, следовательно, в R (r) - - R (R (r) s) - r не будет a0 . b) Если x R (S =t (r)), то кортеж (x, t) принадлежит r. Следовательно, пересечение таких множеств дает как раз определение операции реляционного деления.

2.1.15 a) Рассмотрим произвольный x r ч s. Тогда при всех y s кортеж

2.1.16 a) Если для всех b s кортеж (a0 , b) содержится в r, то в (R (r)


54

Глава 2. Теория хранения и поиска информации

2.1.17 a) Очевидно, что q R (q ) Ч S (q ) = R (q )

S (q ). Докажем обратное включение. Предположим, что найдутся x R (q ) и y S (q ), такие, что (x, y ) q . Тогда отношение q содержит менее |R (q ) Ч S (q )| = |R (q )| ћ |S (q )| кортежей, что противоречит условию задачи. ABC a b c 2.1.18 r = 2 1 1 . Если бы это отношение было конъюнкци a1 b2 c1 a1 b1 c2 ей бинарных отношений, то там должен был бы присутствовать кортеж (a1 , b1 , c1 ).

2.1.19 a) нет; b) да; c) да; d) нет; e) да; f ) да.
A 1 1 2 2 B a b a b иs= A 1 1 3 3 B a b a b

2.1.20 r =

2.2. Информационнографовый подход.
Обозначения и определения.

Пусть задано некоторое множество Y , будем называть его множеством объектов поиска или , а элементы y Y , будем называть, . Далее в задачах поиска всегда имеется . будем обозначать его через X . На декартовом произведении X Ч Y имеется бинарное отношение, которое позволяет устанавливать, когда запись из Y удовлетворяет запросу из X . Это отношение будем называть . Тройку S = X, Y , , где X множество запросов, Y множество записей, отношение поиска, заданное на X Ч Y , будем называть или сокращенно . Тройку I = X, V , , где X множество запросов; V некоторое конечное подмножество множества Y , в дальнейшем называемое ; отношение поиска, заданное на X Ч Y , будем называть (ЗИП) типа S = X, Y , . Содержательно будем считать, что задача I = X, V , состоит в перечислении для произвольно взятого запроса x X всех тех и только тех записей из V , которые находятся в отношении с запросом x, то есть удовлетворяют запросу x. Рассмотрим произвольную ЗИП I = X, V , . Алгоритм поиска решает ЗИП, если на любой запрос из множества запросов X он выдает все те и только те записи из V , которые удовлетворяют запросу. Возьмем произвольную запись y Y . Для нее можно ввести

записями

множеством записей множество запросов отношением поиска

задач информационного поиска ционного поиска

типом типом ЗИП библиотекой задачей информа-

характеристическую функцию

y, (x) =

1, если xy , 0 в противном случае


2.2. Информационнографовый подход.

55

то есть она равна 1 на тех и только тех запросах, которым удовлетворяет запись y . Тогда можно сказать, что алгоритм, решающий ЗИП I = X, V , , где V = {y1 , . . . , yk }, ни что иное как алгоритм, реализующий систему функций {y1 , , . . . , yk , }. Рассмотрим ориетированную сеть, в ней выделен полюс, который называется , и каждая из характеристических функций записей yi , (i = 1, k ) реализуется как функция проводимости между корнем и своим полюсом, который отметим приписыванием ему записи yi . Алгоритм поиска: считаем, что в начальный момент все вершины сети, кроме корня, неотмеченные, а некоторое упорядоченное множество вершин сети, которое назовем , содержит только корень сети. На каждом очередном шаге делаем следующее. Если множество активных вершин не пусто, то выбираем первую активную вершину и удаляем ее из множества активных вершин. Если выбранная вершина является полюсом, то соответствующую ей запись включаем в ответ на запрос x. Просматриваем в некотором порядке все ребра, исходящие из выбранной вершины, и если предикат, приписанный просматриваемому ребру, на запросе x принимает значение 1 и конец просматриваемого ребра неотмеченная вершина, то отмечаем конец просматриваемого ребра и включаем его в множество активных вершин (если мы включим его в начало множества активных вершин, то получим алгоритм обхода "сначала вглубь а если в конец то "сначала вширь"). Алгоритм завершает работу в тот момент, когда множество активных вершин окажется пустым. Пусть M некоторое конечное множество. Через |M | обозначим число элементов во множестве M , называемое M. Через {1, m} договоримся обозначать множество {1, 2, . . . , m}. Некоторые оценки мы будем приводить с точностью до главного члена, поэтому введем обозначения, обычно принятые при описании асимптотических оценок. Будем писать (n) = o(1), если lim (n) = 0; A(n) = o(B (n)), если ? ?

корнем

множеством активных вершин

мощностью множества

A(n) = B (n) ћ o(1). Скажем, что A(n) ? B (n) при n и обозначим A < B , если существует (n) = o(1) такое, ? что начиная с некоторого номера n0 , A(n) (1 + (n)) ћ B (n). Если A < B < и B A, то будем говорить, что A и B при n и обозначать A B . Будем писать A < B , если существует такая положительная константа c, что, начиная с некоторого номера n0 , A(n) c ћ B (n). Если A < B и B < A, то будем говорить, что A и B при n и обозначать A B или A = O(B ). Через n будем обозначать n k . Если k r действительное число, то через [r] будем обозначать максимальное целое, не превышающее r, а через ]r[ минимальное целое, не меньшее, чем

n

асимптотически не превосходит асимптотически равны

порядку

равны по число сочетаний из элементов по

r. Значок = будем понимать как "по определению равно". Математическое ожидание будем обозначать значком M, а значок Mx будем понимать как среднее значение при вариации переменной x. Договоримся также о теоретико-графовой терминологии. Пусть нам дан ориентированный граф. В ориентированном ребре (, ) вершину будем называть ,а . Скажем, что ориентированное ребро графа ( ), если начало (конец) данного ребра. Скажем, что ребро

def

началом ребра концом исходит из вершины входит в вершину инцидентно


56

Глава 2. Теория хранения и поиска информации

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

степенью исхода захода ности вершины концевой внутренними

ПолуСтепенью инцидент-

(1 , 2 ), (2 , 3 ), . . . , (m-1 , m )
назовем от вершины 1 к вершине m . Если f одноместный предикат, определенный на X , то есть f : X {0, 1}, то множество Nf = {x X : f (x) = 1} назовем f. Множество O(y , ) = {x X : xy } назовем y Y. Функцию y, : X {0, 1} такую, что Ny, = O(y , ), назовем y. В формальном определении понятия ИГ используются 4 множества:

ориентированной цепью

теристическим множеством предиката ристической функцией записи
ћ множество запросов X ; ћ множество записей Y ; ћ ћ

харак-

тенью записи

характе-

ется начальным отрезком натурального ряда).

множество F одноместных предикатов, заданных на множестве X ; множество G одноместных переключателей, заданных на множестве X ( переключатели это функции, область значений которых являбазовым множеством

Пару F = F, G будем называть . Определение понятия ИГ разбивается на два шага. На первом шаге раскрывается структурная (схемная) часть этого понятия, на втором функциональная.

Определение ИГ с точки зрения его структуры.
Пусть нам дана ориентированная многополюсная сеть. Выделим в ней один полюс и назовем его , а остальные полюса назовем . Выделим в сети некоторые вершины и назовем их (полюса могут быть точками переключения). Если вершина сети, то через обозначим вершины . Каждой точке переключения сопоставим некий символ из G. Это соответствие назовем . Для каждой точки переключения ребрам, из нее исходящим, поставим во взаимно однозначное соответствие числа из множества {1, }. Эти ребра назовем , а это соответствие . Ребра, не являющиеся переключательными, назовем . Каждому предикатному ребру сети сопоставим некоторый символ из множества F. Это соответствие назовем .

листьями

корнем

ния

точками переключеполустепень исхода

нагрузкой точек переключения

переключательными ключательных ребер

нагрузкой перепредикатными нагрузкой предикатных ребер


2.2. Информационнографовый подход.

57

Сопоставим каждому листу сети некоторую запись из множества Y . Это соответствие назовем . Полученную нагруженную сеть назовем над базовым множеством F = F, G .

нагрузкой листьев

информационным графом

Определение функционирования ИГ.
Скажем, что предикатное ребро проводит запрос x X , если предикат, приписанный этому ребру, принимает значение 1 на запросе x; переключательное ребро, которому приписан номер n, проводит запрос x X , если переключатель, приписанный началу этого ребра, принимает значение n на запросе x; ориентированная цепочка ребер проводит запрос x X , если каждое ребро цепочки проводит запрос x; запрос x X проходит в вершину ИГ, если существует ориентированная цепочка, ведущая из корня в вершину , которая проводит запрос x; запись y , приписанная листу , попадает в ответ ИГ на запрос x X , если запрос x проходит в лист . U x назовем множество записей, попавших в ответ ИГ на запрос x, и обозначим его JU (x). Эту функцию JU (x) : X 2Y будем считать результатом функционирования ИГ U и называть U. Понятие ИГ полностью определено.

Ответом ИГ на запрос ответа ИГ

функцией

Пример 2.5. Проиллюстрируем приведенное определение на примере одномерной задачи интервального поиска. В этом случае 4 множества, определяющие ИГ, имеют вид:
ћ множество запросов Xint = {(u, v ) : 0 ћ множество записей Yint = [0, 1]; ћ множество предикатов F = F1 F2 , где F1 = {f f
1 ,a 1 ,a

u

v

1};

: a [0, 1]}, F2 = {f

2 ,a

: a [0, 1]},
(2.1) (2.2)

(u, v ) =

1, если u a , 0, если u > a 1, если v a , 0, если v < a

2 f,a (u, v ) =

ћ множество переключателей G = G1 G2 G3 , где G1 = {gћ,m : m N}, G2 = {g- G3 = {g ,a : a (0, 1]}, gћ,m (u, v ) = max(1, ]u ћ m[), g-,m (u, v ) = g (u, v ) = 1, если v - u < 1/m , 2, если v - u 1/m 1, если u a . 2, если u > a

,m

: m N},
(2.3) (2.4) (2.5)

,a


58

Глава 2. Теория хранения и поиска информации

2 2 2 2 2 y1 f,y y2 f,y y3 f,y y4 f,y y5 f,y y6 y1 f 1 ,y y2 y3 f 1 ,y y4 2 3 4 5 6 1 3 Es Es Es Es Es s ' s s ' s 7 s 10 11 } } 9 T T8 T T T T ? ? ? ? 2 2 2 2 2 2 f,y1 f,y2 f,y3 f,y4 f f,y6 ,y5 ? ? ? ? q q q 6 q q 5 q ? ? e u e ! ? u ! ? u e ! ? e ? ? e ? ? e ? e1 ? 2 ? 1e ? 2 1e ? 2 ? ? ? eq ? q g ,yeq? eq 4 ? 5 g ,yd ? 2 1 T s g ,y3 s d f,y5 ?f 1 d d ? ? ,y4 1 2 2 1d 2 f,y ? f 1 ,y2 d ? 3 3 dq dq ? q ? q Q k g ,y 2 s d g ,y6 d 2 1d 1 2 2 dq q B Е g ,yr Е gћ,3 4r rr ЕЕ 1rr ЕЕ2 r 1Е rq Е d g-,3

Рис. 2.1: Решение одномерной задачи интервального поиска В информационном графе, приведенном на рисунке 2.1, корень изображен полым кружком. Листья изображены жирными точками, а записи, приписанные листьям, это символы y с индексами. На рисунке имеется 8 переключательных вершин (им приписаны символы g с индексами) и 17 предикатных ребра (им приписаны символы f с индексами). Если n натуральное число, а g (x) некий переключатель, то через n g (x) обозначим предикат, определенный на X , такой, что

N
Обозначим



n g

= {x X : g (x) = n}.

n G = {g : g G, n N},

где N множество натуральных чисел. Если c ребро ИГ, то через [c] обозначим его нагрузку. В соответствии с приведенными выше определениями введем функции проводимости. (, ) назовем предикат, равный [(, )], если реб[(, )] ро предикатное, и g , если ребро переключательное, где g переключатель, соответствующий вершине . назовем конъюнкцию проводимостей ребер цепи. Если зафиксировать запрос x, то цепь, проводимость которой на запросе x равна 1, назовем x. В ИГ по аналогии с контактными схемами введем для каждой пары вершин и f от вершины к вершине следующим образом:

Проводимостью ребра

Проводимостью ориентированной цепи

проводящей цепью на запросе функцию проводимости

ћ если = , то f (x) 1 (x X );


2.2. Информационнографовый подход.

59

ћ если = и в ИГ не существует ориентированных цепей от к , то f (x) 0; ћ если = и множество ориентированных цепей от к не пусто, то f (x) равно дизъюнкции проводимостей всех ориентированных цепей от к .

функцией фильтра вершины Решение.

Функцию проводимости от корня ИГ к некоторой вершине ИГ назовем и обозначим (x).

Пример 2.6. Чему равна проводимость ребра (2 , 3 ) информационного графа, приведенного на рис. 2.1? 1 Проводимость ребра (2 , 3 ) равна f2 (u, v ) = g ,y (u, v ) = 4 1, если u y4 = . 0, если u > y4 Пример 2.7. Чему равна проводимость цепи информационного графа, приведенного на рис. 2.1, ведущей из вершины 1 в вершину 4 , в предположении, что y2 < y4 ? 1 Проводимость ребра (1 , 2 ) равна f1 (u, v ) = g-,3 (u, v ) = 1, если v - u < 1/3 = . Проводимость ребра (2 , 3 ) вычислена в 0, если v - u 1/3 предыдущем примере. Проводимость ребра (2 , 3 ) равна f3 (u, v ) = 1, если u y2 1 = g ,y (u, v ) = . Проводимость цепи, ведущей из вер2 0, если u > y2 шины 1 в вершину 4 , равна f4 (u, v ) = f1 (u, v )&f2 (u, v )&f3 (u, v ) = 1, если v - u < 1/3 и u y2 = . 0, иначе

Решение.

Пример 2.8. Чему равна функция фильтра вершины 8 информационного графа, приведенного на рис. 2.1, в предположении, что y1 < y2 < y4 ? В вершину 8 ведут 2 цепи: (1 , 2 ), (2 , 3 ), (3 , 4 ), (4 , 5 ), (5 , 7 ), (7 , 8 ) и (1 , 2 ), (2 , 3 ), (3 , 4 ), (4 , 6 ), (6 , 8 ). Проводимость цепи, ведущей из вершины 1 в вершину 4 , вычислена в предыдущем примере. Проводимость цепи (4 , 5 ), (5 , 7 ), (7 , 8 ) равна f5 (u, v ) = 1, если u y1 и v y2 1 2 2 = g ,y (u, v )&f,y1 &f,y2 = . Проводи1 0, иначе 2 2 мость цепи (4 , 6 ), (6 , 8 ) равна f6 (u, v ) = g ,y (u, v )&f,y2 = 1 1, если u > y1 и v y2 = . Функция фильтра вершины 8 равна 0, иначе 1, если v - u < 1/3, u y2 и v y2 f7 = f4 &(f5 f6 ) = . Таким об0, иначе разом в вершину 8 проходят запросы, длина которых меньше чем 1/3 и которые содержат точку y2 .

Решение.

Через R(U ), P (U ), L(U ) (или просто R, P , L) обозначим множества вершин, точек переключения и листьев ИГ U соответственно. Пусть N некоторая подсеть (то есть произвольное подмножество вершин и ребер) ИГ U . Через N обозначим множество записей, соответствующих листьям этой подсети (если некоторый лист ИГ U, то под будем понимать запись, соответствующую листу ).


60

Глава 2. Теория хранения и поиска информации Легко видеть, что функция ответа ИГ U определяется соотношением

JU (x) = { L(U ) : (x) = 1} .
Из определения функционирования ИГ видно, что ИГ как управляющая система может рассматриваться в качестве модели алгоритма поиска, работающего над данными, организованными в структуру, определяемую структурой ИГ. В случае, когда базовое множество переключателей G пусто, то есть в графах нет переключателей, то ИГ называются (ПИГ). ПИГ, различным листьям которого соответствуют различные записи, называется (ОИГ). ОИГ, имеющий вид дерева, листья которого совпадают с концевыми вершинами дерева, назовем (ИД). ИД удобны и интересны тем, что структуры данных, им соответствующие, практичны и их гораздо проще реализовать на ЭВМ.

предикатными информационными графами однозначным информационным графом информационным деревом

Пример 2.9. Приведем пример еще одного ИГ. Пусть I = X, V , = задача поиска идентичных объектов, где на множестве V = {y1 , . . . , y7 } задан линейный порядок и записи упорядочены в порядке возрастания, то есть y1 y1 ћ ћ ћ y7 . Пусть множество предикатов имеет вид
F = {f
=,a

( x) =

0, если x = a : a X }, 1, если x = a

(2.6)

а множество переключателей вид

G = {g

,a

( x) =

1, если x a : a X }. 2, если x > a

(2.7)

или (см., например, [?, ?, ?]) называется алгоритм поиска в упорядоченном массиве, при котором массив делится пополам, запрос сравнивается со средней точкой и в зависимости от результата сравнения поиск рекурсивно повторяется в одной из половин. На рисунке 2.2 приведен ИГ над базовым множеством F = F, G , решающий ЗИП I , соответствующий бинарному поиску в версии Боттенбрука [?, c. 214], в которой вопрос о равенстве записи и запроса откладывается до самого последнего момента. Из определения функционирования ИГ естественным образом вытекает, что каждому ИГ U можно сопоставить следующую процедуру поиска. Предполагается, что эта процедура хранит в своей (внешней) памяти структуру ИГ U . Входными данными процедуры является запрос. Выходными данными является множество записей. Пусть на вход процедуры поступил запрос x. Вводим понятие активного множества вершин и вносим в него в начальный момент корень ИГ U и помечаем его. Далее по очереди просматриваем вершины из активного множества и для каждой из них проделываем следующее:

Бинарным поиском

методом деления пополам

ћ если рассматриваемая вершина лист, то запись, приписанную вершине, включаем в ответ;


2.2. Информационнографовый подход.

61

f

y1 p T
=,y1

y5 p ! ? ? ? f=,y5 p p ? u e s d e d d 1e 1 ep d B Е g rr ,y1 r ЕЕ rr Е 1r ЕЕ 2 rpЕ g ,y3

y2 p u e e f=,y2e

y3 y4 p p ! ? u e ? e f=,y3 f=,y4e ? e? p e 2

y6 y7 p p u e ! ? e ? f=,y6e ? f=,y e? p 2 p g ,y5

7

Рис. 2.2: Информационный граф бинарного поиска

ћ если рассматриваемая вершина переключательная, то вычисляем на запросе x переключатель, соответствующий данной вершине, и если конец ребра, исходящего из рассматриваемой вершины, нагрузка которого равна значению переключателя, непомеченная вершина, то помечаем его и включаем в множество активных вершин; ћ если рассматриваемая вершина предикатная, то просматриваем по очереди исходящие из нее ребра и вычисляем значения предикатов, приписанных этим ребрам, на запросе x. Концы ребер, которым соответствуют предикаты со значениями, равными 1, если они непомеченные, помечаем и включаем в множество активных вершин; ћ исключаем рассматриваемую вершину из активного множества.
Процедура завершается по исчерпании активного множества. Заметим, что если ИГ решает задачу I , то множество, полученное на выходе процедуры, будет содержать все те и только те записи библиотеки U , которые удовлетворяют запросу x. То есть полученная процедура решает ЗИП I = X, V , , где V = U , и, значит, является алгоритмом поиска. Таким образом, ИГ как управляющая система может рассматриваться как модель алгоритма поиска, работающего над данными, организованными в структуру, определяемую структурой ИГ. В данном разделе мы введем понятия сложности ИГ, которые будут характеризовать такие общепринятые меры сложности алгоритмов поиска как объем памяти, время поиска в худшем случае и время поиска в среднем. Отметим, что в большинстве работ, посвященных исследованию сложности алгоритмов поиска, под сложностью алгоритма понимается время поиска в худшем случае, и в сравнительно редких случаях исследуется среднее время поиска, хотя для задач поиска, используемых в базах данных, для которых характерны массовость и многократность, исследование среднего времени поиска представляется более актуальным. Некоторое объяснение крена в сторону изучения сложности в худшем случае можно найти в цитате из [?, стр.20]: "К сожалению, анализ поведения в среднем значительно более сложная вещь, чем анализ худшего случая, по двум причинам: во-первых существенные математические трудности возникают, даже если


62

Глава 2. Теория хранения и поиска информации

удачно выбрано исходное распределение; во-вторых, часто с трудом достигается согласие в том, что именно выбранное распределение является реальной моделью изучаемой ситуации. Вот почему преобладающее большинство результатов связано с анализом худших случаев." Определим понятие сложности ИГ на запросе. Будем считать, что время вычисления любого переключателя из G примерно одинаково и характеризуется числом a, а время вычисления любого предиката из F числом b. Пусть нам дан некий ИГ U и произвольно взятый запрос x X . U x назовем число

Сложностью ИГ на запросе
T (U, x) = a ћ
P

( x) + b ћ
R\P

ћ (x).

Величина T (U, x) характеризует время работы описанной выше процедуры поиска, сопоставленной ИГ U , поскольку T (U, x) равно количеству переключателей, вычисленных данной процедурой при подаче на ее вход запроса x, умноженное на a, плюс количество вычисленных предикатов, умноженное на b. Сложность ИГ можно вводить двумя способами. Во-первых, как максимальную сложность на запросе

T (U ) = max T (U, x)
xX

(здесь мы берем max, а не sup, так как T (U, x) принимает целые значения, и, значит, sup всегда достигается). Эта величина характеризует время поиска в худшем случае соответствующим ИГ алгоритмом и ee будем называть (верхней сложностью). Эта величина исследуется в большинстве работ, посвященных проблемам сложности задач поиска. Во-вторых, можно вводить сложность ИГ как среднее значение сложности ИГ на запросе, взятое по множеству всех запросов. С этой целью введем над множеством запросов X , под которым будем понимать тройку X, , P , где некоторая множества X , P на , то есть аддитивная мера, такая, что P(X ) = 1. В связи с тем, что мы ввели вероятностное пространство над множеством запросов, уточним понятие типа. А именно, под будем понимать тройку S = X, Y , , считая, что множество запросов X рассматривается вместе со своим вероятностным пространством X, , P . В тех же случаях, когда мы хотим явно выделить рассматриваемое вероятностное пространство над X , мы будем представлять тип пятеркой S = X, Y , , , P . Скажем, что базовое множество F = F, G , если алгебра содержит все множества Nf , где f F G. Справедлива следующая лемма.

В-сложностью ИГ

вероятностное пространство вероятностная мера

алгебра подмножеств типом

измеримое

Если базовое множество F = F, G измеримое, то для любого ИГ U над базовым множеством F функция T (U, x), как функция от x, является случайной величиной.
Лемма 2.
Далее всюду будем предполагать, что базовое множество измеримо.


2.2. Информационнографовый подход.

63

T (U, x), то есть число

Сложностью ИГ

U назовем математическое ожидание величины T (U ) = Mx T (U, x).

Если ( , ) ребро ИГ, то

сложностью этого ребра

назовем число

ћ b ћ P(N



) если ( , ) предикатное ребро; )/ если это ребро переключательное.


ћ a ћ P(N .

Если вершина ИГ, то число P(N

) назовем

сложностью вершины

Нетрудно показать, что сложность ИГ равна сумме сложностей ребер ИГ. В самом деле

T (U )

= Mx T (U, x) =
X

T (U, x)P(dx) = (x))P(dx) =
P

=
X

(b ћ
R\P

ћ (x) + a ћ (x)P(dx) + a ћ
X

= bћ
R\P



(x)P(dx) =
P X

= bћ
R\P

P(N



)+aћ
P

P(N

).

Далее всюду будем предполагать, что a = b = 1. Пусть нам дан ИГ U . Q(U ) ИГ U назовем число ребер в ИГ U . В качестве примера мы можем подсчитать сложность ИГ U , изображенного на рисунке ??. Легко видеть, что Q(U ) = k и T (U ) = k , то есть объем графа минимально возможный, а время максимальное. Это и не удивительно, так как ИГ U соответствует переборному алгоритму поиска. Пусть нам дана некая ЗИП I . I F q назовем число

Объемом

жестве и заданном объеме

Сложностью задачи при базовом мноq },

T (I , F , q ) = inf {T (U ) : U U (I , F ) и Q(U )

заданном объеме

где U (I , F ) множество всех ИГ над базовым множеством F , решающих ЗИП I . Соответственно I F q назовем число

В-сложностью задачи при базовом множестве и
q}

T (I , F , q ) = min{T (U ) : U U (I , F ) и Q(U )

(здесь мы берем min, а не inf , так как T (U ) принимает целые значения, и, значит, inf всегда достигается). Число T (I , F ) = inf {T (U ) : U U (I , F )} назовем Соответственно зовем число

сложностью задачи I при базовом множестве F . В-сложностью задачи I при базовом множестве
T (I , F ) = min{T (U ) : U U (I , F )}.

F на-


64

Глава 2. Теория хранения и поиска информации Если k натуральное число, S тип задач поиска, то обозначим

I (k , S ) = {I = X, V , S : |V | = k }.
Будем исследовать функции, характеризующие сложность класса ЗИП I (k , S ), такие как функции Шеннона:

T (k , S, F ) = max T (I , F ),
I I (k,S )

T (k , S, F ) =

sup
I I (k,S )

T (I , F ),

(в первом случае мы берем max, а не sup, так как T (I , F ) принимает целые значения, и, значит, sup всегда достигается). Если существует такой ИГ U U (I , F ), что T (U ) = T (I , F ), то ИГ U будем называть для ЗИП I . Соответственно если T (U ) = = T (I , F ), то ИГ U будем называть для ЗИП I .

оптимальным

В-оптимальным

Мощностная нижняя оценка
Пусть нам даны произвольные множества запросов X , записей Y и отношение поиска на X Ч Y . Причем на множестве запросов задано вероятностное пространство X, , P . Скажем, что базовое множество F I , если существует ИГ над базовым множеством F , который решает ЗИП I . Следующий результат, называемый мощностной нижней оценкой, справедлив для любой ЗИП при минимальных ограничениях. Смысл этого результата заключается в том, что время поиска не может быть меньше чем время, необходимое на перечисление ответа. Справедлива следующая теорема.

допустимо для ЗИП

Пусть I = X, V , произвольная ЗИП, такая, что существует такая запись y V , что O(y , ) = , F измеримое базовое множество, допустимое для I , тогда
Теорема 3 (мощностная нижняя оценка).
T (I , F ) max(1,
y V

P(O(y , ))),

T (I , F ) max |JI (x)|.
xX

Упражнения.

Задача 2.2.1. Задача поиска идентичных объектов. Пусть Sid =
= X, X, = , где X = {1, 2, . . . , 20}, заданы 1, лей: G = {g<,a X }, где g<,a = 2, G = {f=,a |a X }, где f=,a (x) (a = V = {2, 3, 5, 7, 11, 13} X .
множество переключатепри x < a; и предикатов при x a x). Задана библиотека

a) Приведите пример информационного графа над базовым множеством F = (F, G), разрешающего ЗИП I = X, V , = .


2.2. Информационнографовый подход.

65

b) Чему равна его Всложность? Можно ли построить ИГ, обладающий меньшей Всложностью? c) На множестве запросов X задана равномерная вероятностная мера. Найти среднюю сложность полученного графа.

Задача 2.2.2. Задача о ближайшем соседе справа. Пусть Sneigh = X, Y , , где X = Y = {1, . . . , 20}, а отношение задается условием: xy ((y V )&(x y )&( y V : x < y )).Задано множество y 1, x < a переключателей G = {ga : a Y }, где ga (x) = 2, x = a Базовое множе 3, x > a ство F = , G (предикатов нет).
a) Постройте ИГ, решающий ЗИП для V = {2, 3, 5, 10, 11, 17, 18, 20} b) Найти сложность и среднюю сложность полученного графа (если на множестве запросов X задана равномерная вероятностная мера). c) Подумайте, какие функции можно было бы добавить в базовое множество для снижения средней сложности? даны множество запросов XN = {1, N }2 , множество ответов YN = {1, N } (N фиксированное число) и отношение поиска (x1 , x2 )[] y y [x1 , x2 ]. Пусть Sint = XN , YN , [] задача одномерного интервального поиска. Базовое множество состоит из множества переключателей 1, xi < a; (i) (i) G = {ga , a YN , i = 1, 2}, где ga (x) = 2, xi = a; и множества предика 3, xi > a; тов F = {fa , a YN , i = 1, 2}, где fa (x) (x1 a) и fa (x) (a x2 ). Постройте информационный граф над этим множеством, решающий ЗИП I = XN , V , [] для N = 100 и библиотеки а V = {19, 20, 40, 60}.
(i) (1) (2)

Задача 2.2.3. Задача одномерного интервального поиска. Пусть за-

жество двоичнорациональных чисел заданной точности (n фиксирова(2) но). Пусть Srat = Xn , Yn , = , где Xn = Yn = Qn . Базовое мно(s) жество состоит из предикатов f (x) (s = ) и переключателей gs (x) = s (x) + 1, s = 1, 2, . . . , n, где (0,1 . . . n )2 двоичное разложение числа x, т.е. x = i ћ 2-i . Построить ИГ, решающий ЗИП для n = 4 и библиотеки V4 = {0.0011; 0.0111; 0.1100; 0.1110} (указана запись в двоичной системе счисления). б) Найти его среднюю сложность и Всложность, если (2) 1 на Q4 задана равномерная вероятностная мера P (x) = 16 .

Задача 2.2.4. Задача двоичнорационального поиска идентичных объектов. Будем обозначать Q(2) = { 2k : k = 0, 1, . . . , 2n - 1} мноn n

Задача 2.2.5. Задача поиска идентичных объектов. Пусть X =

= Y = [0, 1], Sid = X, Y , = , базовое множество состоит из переключателя g (x) = [5x] + 1, и предикатов fa (x) (x = a). Задана библиотека V = {0.1, 0.33, 0.6, 0.75, 0.9, 1}, построить информационный граф, решающий ЗИП Iid = X, V , = , b) Найти его среднюю и Всложность (в случае равномерного распределения запросов).


66

Глава 2. Теория хранения и поиска информации

Задача 2.2.6. Задача одномерного интервального поиска Пусть
Sint = [0, 1]2 , [0, 1], [] , где (x1 , x2 )
[] (i)

y y [x1 , x2 ]. Базовое множе-

ство состоит из множества переключателей G = {ga , a [0, 1], i = 1, 2}, где 1, xi < a; (i) ( i) ga (x) = 2, xi = a; и множества предикатов F = {fa , a [0, 1], i = 1, 2}, 3, xi > a; где f
(1) a

(x) (x

1

a), fa (x) (a

(2)

x2 ).

a) Постройте информационный граф над этим множеством, решающий ЗИП I = Xint , V , int с библиотекой а V = = {0.02; 0.11; 0.22; 0.33; 0.75; 0.99}. b) Пусть задана библиотека V = {y1 , y2 , . . . , yk } [0, 1]. Найдите мощностную нижнюю оценку для ЗИП I = Xint , V , int .

X = {(x1 , x2 ) {1, 100}2 : x1 x2 } множество запросов, Y = {1, 100} множество записей, задача интервального поиска Sint1 = [0, 1]2 , [0, 1], [] , где (x1 , x2 )[] y y [x1 , x2 ]. Базовое множество состоит из переключателей 1, x2 < a 2, x2 = a ga (x1 , x2 ) = 3, x1 < a < x2 4, a = x1 5, a < x . 1
Постройте информационный граф над этим множеством, решающий ЗИП Iint1 = X, V , [] . для библиотеки V = {0.12; 0.13; 0.5; 0.6; 0.75; 0.99}.

Задача 2.2.7. Задача одномерного интервального поиска. Пусть

и единиц длины n. Регулярным выражением3 будем называть слово в алфавите {0, 1, }, причем символу ?? может соответствовать как 0, так и 1. Более формально, Xn = {0, 1, }n , и отношение поиска xr y i 1, n (xi = yi ) (xi = ) . Пусть Sbin-int = Xn , Yn , r , где (i) Базовое множество состоит из предикатов fa (x) (xi = a xi = ), i = 1, xi = 0 ( i) = 1, 2; a {0, 1} и переключателей g (x) = 2, xi = . 3, xi = 1 a) Построить ИГ, решающий ЗИП для n = 4 и библиотеки V4 = {0010; 0011; 1110; 1111}. b) Найти его среднюю сложность и Всложность, если на X4 задана равномерная вероятностная мера. c) Найти нижнюю мощностную оценку ЗИП.

Задача 2.2.8. Задача поиска в соответствии с регулярным выражением. Пусть множество записей Yn = {0, 1}n слова из нулей

Задача
3

2.2.9. Одномерная задача о доминировании. Пусть X = Y = [0, 1], отношение (x, y ) (x y ). Задача информационного поиска Sdom1 = [0, 1], [0, 1], , P, L , где L множество измеримых поЛебегу
В этой задаче дается предельно упрощенное понятие регулярного выражения


2.2. Информационнографовый подход.

67

подмножеств отрезка [0,1], P мера Лебега. Базовое множество состоит из 1, x a; . переключателей G = {ga (x), a [0, 1]}, где ga (x) = 2, x = a; a) Постройте ИГ над ним, решающий ЗИП I = [0, 1], V , с библиотекой V = {0.1, 0.5, 0.75, 0.9, 0.99}. b) Найдите его Bсложность и среднюю сложность (запросы распределены равномерно на X = [0, 1]). c) Найдите мощностную нижнюю оценку сложности.

Задача 2.2.10. Пусть X = Y = {1, 100}, Задано базовое множество F = = , G , состоящее из переключателей G = {ga : a Y }, где ga (x) = F 1, x < a = 2, x = a и предикатов F = {f=,a : a Y }, где f=,a (x) (x = a). 3, x > a Запросы равномерно распределены на множестве X .
a) Построить ИГ, решающий ЗИП Sid = X, V , = , с библиотекой V = = {1, 2, 3, 25, 45, 50, 90, 95, 100}. b) Найти его сложность и Всложность. c) Пусть в базовое множество добавлен переключатель h(0.05) (x) = = [0.05x] + 1. Постройте ИГ, решающий ту же задачу с использованием этого переключателя. Какова его средняя сложность?

Задача 2.2.11. Задача о ближайшем соседе справа. Пусть Sneigh = X, Y , , где X = Y = {1, . . . , 25}, а отношение задается условием: xy ((y V )&(x y )&( y V : x y < y )). Базовое множество состоит из переключателей ga (x), принимающих значения 1,2 и 3 при x < a, x = a и x > a соответственно.
a) Постройте ИГ, решающий ЗИП для V = {1, 2, 4, 8, 16}; b) Найдите его среднюю сложность, если запросы распределены равномерно на X .

Задача 2.2.12. Задача поиска ближайшего соседа. Пусть X = Y = = {1, 2, . . . , 100}, отношение xy y V (|x - y | |x - y |). Базовое x множество состоит из переключателя g (x) = 23 + 1 и предикатов вида (s) fa (x) |a - x| s, a, s R. a) Построить ИГ, решающий ЗИП с библиотекой V = {1, 17, 33, 58, 80, 90}. Обратите внимание, что ближайший сосед может быть не один. b) Найти его среднюю и В-сложность (предполагается, что запросы распределены равномерно на X ). Задача 2.2.13. Задача поиска идентичных объектов. Пусть X =
= {1, 2, . . . , 100}, Sid = X, X, = , базовое множество состоит из переключаx телей g20 (x) = [ 20 ] + 1 и предикатов fa (x) (x = a). a) Построить информационный граф, решающий ЗИП I = X, V , = , V = {15, 17, 21, 23, 27, 29, 43}. b) Найти его среднюю и Всложность.

Задача 2.2.14.

Задача о ближайшем соседе справа. Пусть Sneigh = X, Y , , где X = Y = [0, 1], а отношение задается условием: xy ((y V )&(x y )&( y V : x y < y )). Базовое множество


68

Глава 2. Теория хранения и поиска информации

состоит из переключателей ga (x), принимающих значения 1,2 и 3 при x < a, x = a и x > a соответственно. Постройте ИГ, решающий ЗИП для V = {0.1, 0.25, 0.33, 0.5, 0.7};

Задача 2.2.15. Задача о ближайшем соседе справа. Пусть X

= =Y = {1, . . . , 30}. Отношение задается условием: xy ((y V )&(x y )&( y V : x y < y )). Пусть ga (x) равно 1, 2, 3 при x < a, x = a и x > a, соответственно. Пусть G = {ga : a Y }, F = , G . На множестве запросов X задано вероятностное пространство X = X, , P , где = 2X , P (M ) = |M |/|X | равномерная вероятностная мера. а) Постройте ИГ, решающий ЗИП для V = P [1, 30] (где P множество простых чисел). б) Найдите его сложность и Всложность.

Задача 2.2.16. Задача поиска идентичных объектов. Пусть Sid =
= X, X, = , где X = {0, 1, 2, . . . , 1023}, заданы множество переключателей: 1, при x < a; и предикатов G = {fa |a G = {g<,a |a X }, где g<,a (x) = 2, при x a X }, где fa (x) (a = x), задана библиотека V = X .
a) Опишите схему построения какоголибо ИГ, решающего эту ЗИП. Какова его B -сложность? b) Докажите, что невозможно построить ИГ, решающий эту ЗИП, B сложность которого меньше 10; c) Пусть в базовое множество добавлены переключатели: h16 (x) = 1 + + (x mod 16), (где x mod 16 остаток от деления x на 16). Описать схему построения ИГ, у которого B -сложность меньше 10. d) Пусть в базовое множество добавлены переключатели: ha (x) = 1 + (x mod a), a = 2, 3, ..., 30 (т.е. остаток от деления на a). Описать ИГ, у которого Всложность не превосходит 3. e) Доказать, что для базового множества из пункта d) невозможно построить ИГ, Всложность которого равна 2. f ) Допустим X = Y = V = {1, ..., N }, где N > 1024. Приведите нижнюю оценку на B -сложность ИГ. g) Предложите какую-либо схему построения ИГ при больших N . Как будет меняться B -сложность при N ?

двоично-рациональных чисел заданной точности (как в задаче 2.2.4). Пусть (2) X = {x = (x1 , x2 ) Qn : x1 x2 }. Отношение xy x1 y x2 (знак ? ? понимается как сравнение действительных чисел). Базовое множество (s) (i) (i) (i) состоит из предикатов fi, (x) (s = ) где xi = (0,1 . . . n )2 , i = 1, 2; 1, xi < q ; (i) (2) и переключателей gq (x) = 2, xi = q ; , где q Qn , i = 1, 2. а) Построить 3, xi > q . ИГ, решающий ЗИП для n = 3 и V = {0.001; 0.010; 0.111}. б) Найти его сложность и В-сложность, если на X задана равномерная вероятностная мера P (x = a) = C 2n1 n . в) Найти нижнюю мощностную оценку ЗИП. +2
2

Задача 2.2.17. Задача двоично-рационального интервального поиска. Будем обозначать Q(2) = { 2k : k = 0, 1, . . . , 2n - 1} множество n n


2.2. Информационнографовый подход.

69

Задача 2.2.18. Дано 9 конфет ?Фундук в шоколаде?, причем одна из них,
бракованная, не содержит орешка внутри (т.е. легче остальных). Надо найти эту конфету за два взвешивания на чашечных весах без гирь. a) Сформулировать задачу в виде ЗИП и задать базовое множество. b) Построить ИГ, соответствующий алгоритму взвешивания. c) Построить аналогичный ИГ для 16 конфет. Какова его средняя сложность (бракованная конфета одна, выбирается случайно)?

Задача 2.2.19. На столе в ряд лежат четыре монеты. Среди них обяза-

тельно есть как настоящие, так и фальшивые (которые легче настоящих). Известно, что любая настоящая монета лежит левее любой фальшивой. Надо за одно взвешивание на чашечных весах без гирь определить тип каждой монеты, лежащей на столе. a) Сформулировать задачу в виде ЗИП и указать базовое множество. b) Описать алгоритм решения и построить сответствующий ИГ.

Задача 2.2.20. Имеются 5 запертых замков и 5 ключей к ним. Надо за
a) Сформулировать задачу в виде ЗИП и задать базовое множество. b) Описать схему ИГ наименьшей B-сложности.

наименьшее число проверок определить, какому замку соответствует какой ключ.

Задача 2.2.21.

Известно, что медные монеты4 достоинством в 1, 2, 3, 5 коп. весят соответственно 1, 2, 3, 5 г. Среди четырех медных монет (по одной каждого достоинства) есть одна бракованная, отличающаяся весом от нормальной (причем неизвестно в какую сторону). Надо с помощью взвешиваний на чашечных весах без гирь определить бракованную монету. a) Сформулировать в виде ЗИП и указать соответствующее базовое множество. b) Построить ИГ, решающий эту ЗИП. c) Какова В-сложность полученного графа? Почему не существует ИГ меньшей В-сложности?

(Козлова Е.Г., Сказки и подсказки)

Задача 2.2.22. Лиса Алиса и Кот Базилио фальшивомонетчики. Бази-

лио делает монеты тяжелее настоящих, а Алиса легче. У Буратино есть 15 одинаковых по внешнему виду монет, но какая-то одна фальшивая. Надо за два взвешивания определить, кто сделал фальшивую монету Кот Базилио или Лиса Алиса? a) Сформулировать соответствующую задачу информационного поиска и задать базовое множество. b) Решить задачу и построить соответствующий информационный граф. Какова его В-сложность?

Задача 2.2.23. Из 11 шаров 2 радиоактивны. Про любой набор шаров за

одну проверку можно узнать, имеется ли в нем хотя бы один радиоактивный шар (но нельзя узнать, сколько их). Требуется найти оба радиоактивных шара.
4
образца 1961 года


70

Глава 2. Теория хранения и поиска информации a) Cформулировать соответствующую ЗИП и указать базовое множество. b) Описать схему построения ИГ, обладающего Всложностью TB = 7. c) Доказать, что невозможно построить ИГ, обладающий Всложностью TB 5. d) * Доказать, что невозможно построить ИГ, обладающий В сложностью TB = 6.

Задача 2.2.24. * Дано 4 монеты, одна из них фальшивая, но неизвестно,

тяжелее или легче настоящей. Надо найти фальшивую монету за наименьшее количество взвешиваний. a) Сформулировать задачу в виде ЗИП и указать базовое множество. b) Описать алгоритм решения и построить ИГ В-сложности, равной 2. c) Допустим, надо не только найти фальшивую монету, но и определить, тяжелей или легче она, чем настоящая. Как изменится формулировка ЗИП? d) Доказать, что не существует информационного графа с Всложностью, равной 2, решающего задачу из предыдущего пункта.

Задача 2.2.25. * Дано 12 монет, одна из них фальшивая, но неизвестно,
тяжелее или легче настоящей. Надо найти фальшивую монету не более чем за 3 взвешивания.

a) Сформулировать задачу в виде ЗИП и указать базовое множество. b) Описать алгоритм решения и построить сответствующий ИГ. c) Найти его B-сложность и среднюю сложность при условии, что фальшивая монета может быть легче или тяжелей настоящей с p = 1 . 2

Задача 2.2.26. Задача о поиске идентичных объектов.
Пусть X = Y = {1, . . . , 60}, базовое множество состоит из предикатов 1, x < a fa (x) (a = x) и переключателей ga (x) = 2, x = a . На множестве за 3, x > a 1 просов задана равномерная вероятностная мера: P (x = a) = 60 . a) Построить ИГ, решающий ЗИП X, V , = , где V = {1, 2, 3, 25, 45, 48, 49, 50}. b) Найти его сложность и Всложность. x c) Пусть в базовое множество добавлен переключатель h12 (x) = 12 (через a обозначается a округленное вверх до ближайшего целого). Постройте ИГ меньшей сложности, решающий ту же задачу.

Задача 2.2.27. Задача одномерного интервального поиска. Пусть Sint = Xint , Yint , int тип задачи одномерного интервального поиска, где Yint = [0; 1], Xint = {(u, v ) : 0 u v 1} и (x1 , x2 )int y x1 y x2 . Пусть задана библиотека V = {y1 , y2 , . . . , yk } [0, 1] и на множестве запросов Xint = {(u, v ) : 0 u v 1} задана равномерная вероятностная мера. a) Приведите мощностную нижнюю оценку для ЗИП I = Xint , V , int . b) При каких {y1 , y2 , . . . , yk } оценка, полученная в пункте а) будет максимальна?


2.2. Информационнографовый подход.

71

Задача 2.2.28. Пусть Sdom1 = [0, 1], [0, 1], , P, L одномерная задача о
доминировании. Пусть V = {y1 , y2 , . . . , yk } [0, 1]. L множество измеримых по-Лебегу подмножеств отрезка [0,1], P мера Лебега. Приведите мощностную нижнюю оценку для ЗИП Sdom1 .

Задача 2.2.29. Из пяти монет две фальшивые. Одна из фальшивых монет легче настоящей, а другая на столько же тяжелее настоящей. Надо найти обе фальшивые монеты. а) Сформулировать ЗИП; b) Построить ИГ В-сложности 3, решающий ее. c) Доказать, что невозможно решение с меньшим числом взвешиваний. Задача 2.2.30. Дан массив длины 5, содержащий различные числа. Надо
упорядочить его по возрастанию, если разрешается сравнивать любые два элемента. a) Сформулировать соответствующую задачу ЗИП b) Показать, что существует ИГ Bсложности 7, решающий ее ( ). c) Доказать, что не существует графа B-сложности 6, решающего эту ЗИП. d)* Доказать, что для задачи упорядочивания массива длины N минимальная В-сложность ИГ имеет порядок O(N log N ) (при N ).

надо, достаточно описать схему построения

строить сам граф не

Задача 2.2.31. Для ускоренной проверки образцов крови на наличие
какого-либо вируса медики применяют следующий метод: Пусть есть N = k n образцов крови, каждый из которых содержит некоторый вирус с вероятностью p (которая обычно очень мала). Разобьем образцы на k групп по n образцов в каждой и сольем в одну пробирку по части каждого образца из группы. Если в смеси содержится вирус, то надо проверить каждый образец в группе (а если нет, то в группе нет инфицированных). а) Описать соответствующую информационнографовую модель (сам граф информационного поиска можно не строить). б) Вычислить средную сложность при заданной вероятности p. Как она зависит от n при фиксированном N ? c) Пусть N = 1600, p = 10-4 . При каких n средняя сложность минимальна?


72

Глава 2. Теория хранения и поиска информации

Ответы и указания.

g<,6

<

6

6

f =, f=,11

,2

f=,3

f=

5 =,

f=

13

,7

2

3

f
5

7

11

13

Рис. 2.3: К задаче 2.2.1

2.2.1 a) Граф указан на рис. 2.3. b), c) Сложность и В-сложность равны 4.
^ 2.2.2 a) См. рис. 2.4. b) Tb = 3, T =
1 20

ћ1+

15 20

ћ2+

4 20

ћ3=

43 20

= 2.15.

2.2.3 См. рис. 2.5. 2.2.4 См. рис. 2.6. 2.2.5 а) См. рис. б) T = 2, TB = 3.
^ 2.2.6 а) См. рис. б) T
k

2yi (1 - yi ).
i=1

2.2.7 Решение аналогично задаче 2.2.6.
2 ? 2.2.8 а) См. рис. b) T = 1 + 3 + 22 3

ћ2+

22 3

ћ2 =

31 9

. c) T



24 3

=

64 81

.

^ 2.2.9 a) См. рис. b) TB = 7 (т.к. учитывается время выдачи ответа). T = = 0, 1 ћ 7 + (0, 5 - 0, 1) ћ 6 + (0, 75 - 0, 5) ћ 4 + (0, 9 - 0, 75) ћ 3 + (0, 99 - 0, 9) ћ 3 + + (1 - 0, 99) ћ 3 = 4, 85.

2.2.10 a), b) Решается аналогично задаче 2.2.1. c) См. рис. 2.11. Средняя
2 ^ сложность этого ИГ равна T = 100 ћ 3 + 20 11 9 1 + 100 ћ 1 + 100 ћ 2 + 100 ћ 3 + 100 ћ 1 = 1.9. 1 100

ћ2+

16 100

ћ2+

20 100

ћ2+

20 100

ћ2+

2.2.11 Решается аналогично задаче 2.2.2. 2.2.12 а) См. рис. б) T = 1 +
22 100

ћ2+

23 100

ћ 3 = 2.13, TB = 4.

2.2.13 решается аналогично задаче 2.2.10.c). 2.2.14 Решается аналогично задаче 2.2.2. 2.2.15 Решается аналогично задаче 2.2.2.


2.2. Информационнографовый подход.

73

g11

<
g5

= 11

11

>

11

g18 11

5

18 > = 18

=5

<

<

>

5

18

g3

5

10

17

18

20

3

=3
3

<

2

>
5
Рис. 2.4: К задаче 2.2.2

2.2.16 Не будем приводить сам граф, т.к. он слишком громоздок, опишем
лишь схему его построения.

a) Схема представляет собой ярусное двоичное дерево. На первом ярусе происходит сравнение с 29 = 512, что позволяет определить цифру, стоящую в 9-й позиции двоичного разложения искомого числа. На 2 ярусе происходит сравнение с 28 или 29 + 28 , и т. д. На каждом ярусе определяется один разряд,так что на последнем, 10-м ярусе будет определен младший разряд, т.е. найдено соответствующее число. b) Дерево, содержащее 9 ярусов может иметь не более 512 листьев. c) Последние 4 яруса могут быть заменены на переключатели, что дает В-сложность, равную 7. d) Заметим, что достаточно взять остатки от деления на числа 25, 26 и 27 они попарно взаимно просты. По китайской теореме об остатках любое число от 0 до 25 Ч 26 Ч 27 - 1 = 17 549 может быть восстановлено однозначно по остаткам. Т.е. достаточно рассмотреть ярусный граф, у которого в первом ярусе стоят переключатели h25 , во втором h26 и в третьем h27 . e) Максимальное ветвление равно 30, значит у графа глубины 2 будет не более 302 = 900 листьев. f ) log30 N . g) Выберем взаимно простые числа, не превосходящие 30, так, чтобы их произведение было максимальным: 29, 27, 25, 23, 19, 17, 13,11, 7. Пусть P = 29 ћ 27 ћ 25 ћ 23 ћ 19 ћ 17 ћ 13 ћ 11 ћ 7.

3


74

Глава 2. Теория хранения и поиска информации
(1)

g40 1 2

3

g20 1

(1)

g60 2 3 1 2

(1)

3

f

(2) 19

19 f

(2) 20

20 f

(2) 40

40 К задаче 2.2.3

f

(2) 60

60

По китайской теореме об остатках за 9 проверок можно определить остаток от деления числа N на P . Для того, чтобы определить частное (методом деления пополам) потребуется еще log2 (N/P ) проверок. Итого получаем (воспользовавшись калькулятором, можно найти log2 (P ) 37, 08...) TB log2 N - 28.

2.2.17 Задача решается аналогично задаче 2.2.6. 2.2.18 a) X = Y = {1, 9}, отношение поиска xy (x = y ). Базовое
множество содержит только переключатели, соответствующие взвешиванию конфет с номерами i1 , . . . , ik на левой чаше и j1 , . . . , jk на правой. 1, x {i1 , . . . , ik } gi1 ,...,ik j1 ,...,jk (x) = 2, x {i1 , . . . , ik } {j1 , . . . , jk } . b) См. рис. b) См. 3, x {j1 , . . . , jk } 4 ^ рис. Средняя сложность T = 16 ћ 2 + 12 ћ 3 = 2.75. 16

2.2.19 a) Самая левая фальшивая монета может занимать 2,3, или 4 по-

зицию. Пусть Y = {2, 3, 4}, X = {x = (x1 , x2 , x3 , x4 ) {0, 1}4 : x1 = = 0, x2 x3 , x4 = 1} = {(0, 1, 1, 1); (0, 0, 1, 1); (0, 0, 0, 1)} считаем, что вес фальшивой монеты равен 0, а настоящей 1. Базовое множество состоит из переключателей вида 1, xi1 + . . . + xik < xj1 + . . . + xjk ; gi1 ,...,ik j1 ,...,jk (x) = 2, xi1 + . . . + xik = xj1 + . . . + xjk ; 3, xi1 + . . . + xik > xj1 + . . . + xjk ,

таких, что {i1 , . . . , ik }, {j1 , . . . , jk } {1, 4} и {i1 , . . . , ik } {j1 , . . . , jk } = . b) Граф, решающий задачу указан на рисунке:

2.2.20 a) Будем считать, что соответствие между ключам и замками зада-

ется перестановкой S5 , т.е. i-й замок открывается (i)-м ключом. Тогда X = Y = S5 множество запросов и записей, xy x = y отношение


2.2. Информационнографовый подход.
(1)

75

g

1
g
(2)

2
g
(3)

1

1
f
(2) 1

2

2

3

0.75

f0.6

0.1

0.33

0.6

0.75

0.9

К задаче 2.2.5 поиска. Базовое множество состоит из переключателей (проверяющих, от1, j = x(i) крывает ли i замок j -й ключ) gi,j = где i, j {1, 5}. b) Прове2, j = x(i), ряем 1-й ключ 4 проверки, 2-й 3 проверки, 3-й 2 проверки, 4-й одна. Итого 4+3+2+1=10 проверок.

2.2.21 a) Y = {1, 2, 3, 5} множество записей, X = {+, -} Ч Y = {(, n) :

: = +, n Y } множество запросов (n номер дефектной монеты), (, n)y (n = y ) отношение поиска. Базовое множество состоит из пе1, S mx (s) < S mx (s) реключателей вида gS S (x) = 2, S mx (s) = S mx (s) , где mx (s) 3, S mx (s) > S mx (s) масса монеты достоинства s (при условии, что x = (, n) дефектная) и

f0

f

.9

f1 &f f
0.1

f
(3) 1

f
(2) 1

0.0011

(3)

&f

&f

&f0

(4) 0

(4) 0

(4) 0

(4)

0.0111

0.1100

0.1110
К задаче 2.2.4

g

1

2

5

6

4

1 f
0.33


76

Глава 2. Теория хранения и поиска информации

g0

(1) .33

1
2
(1) .11

1
(1) .75

g0

g0

1

3

1

3

2

2

.22

f

(2) 0.11

f0(1)

f0. 0.11

(2) 22

f 0.22

(2) 0.33

f 0.33

(2) 0.75

f0(1)
0.75
i i i
k k k

.99

S , S непересекающиеся подмножества Y . b) См. рис. с) Сложность полученного графа равна 2, очевидно, что ИГ сложности 1 не может решить указанную задачу (не может быть более 3 листьев, а нужно, как минимум 4).

2.2.22 a) Пусть W = {w = (w1 , . . . , w15 )} веса монет. Не ограничивая
общности, можно считать, что веса нормированы так, чтобы вес настоящих монеты был равен 0, а вес фальшивой +1. Тогда X = W , Y = {A, B }, отношение поиска ((x1 , . . . , x15 )y ) (xi = -1&y = A) (xi = 1&y = = B ) . Базовое множество состоит из переключателей вида

таких, что {i1 , . . . , ik }, {j1 , . . . , jk } {1, 15} и {i1 , . . . , ik } {j1 , . . . , jk } = . b) См. рис. B-сложность равна 2.

2.2.23 a) Множество запросов и записей совпадают X = Y = {(y1 , y2 )

{1, 11}2 | y1 < y2 }. Отношение поиска xy (x = y ), т.е. это задача поиска идентичных объектов. Множество переключателей 1, {y1 , y2 } S = ; gS (y1 , y2 ) = (где S = ); предикатов в базовом множе2, {y1 , y2 } S = , стве нет. b) Поскольку итоговый граф будет слишком громоздкий не будем приводить его здесь, только опишем схему построения. Разобьем шары на 5 групп по два шара и одна оставшийся шар. Проверяем каждую группу из

f
(1) 0.02

f

(2) 33 0.

&f
(2) 0.02

f0

(2) .99

0.02

0.99

К задаче 2.2.6

gi

1

,...,ik j1 ,...,jk

1, xi1 + . . . + x (x) = 2, xi1 + . . . + x 3, xi1 + . . . + x

< xj1 + . . . + xjk ; = xj1 + . . . + xjk ; > xj1 + . . . + xjk ,


2.2. Информационнографовый подход.

77

g

(1)

f
(3) 1

1

3

2

(4)

(4)

0010

f0

0011

1110

f0

двух шаров 5 проверок. Возможны варианты: либо одна, либо две группы радиоактивны. В первом случае проверяем оба шара из группы если радиоактивен только один, то оставшийся шар (11-й) радиоактивен. Во втором случае проверяем по одному шару из каждой радиоактивной группы. Соответствующий ИГ строится следующим образом: первые 5 ярусов строим полное бинарное дерево. Из листьев выбираем 5 таких, где только одна проверка (из 5) положительна и 10 таких, где ровно две проверки положительны. К ним пристраиваем снизу соответствующие проверочные деревья. c) Двоичное дерево с 5 ярусами не может иметь более 25 = 32 2 листьев. А множество записей состоит из C11 = 55 элементов. d) Если в первой проверке участвует k шаров, то множество записей распадается на два подмножества: те записи, где среди этой группы нет радиоактивных 2 2 2 шаров (их C11-k ) и где есть (их C11 - C11-k ). Если можно построить ИГ с 6 ярусами, то оба этих множества должны содержать не более 25 = 32 эле-

f
(2) 0

f
(2) 1

f

f

(4) 1

К задаче 2.2.8

(4) 1

1111


78

Глава 2. Теория хранения и поиска информации

g0 1 g0 1 g0.1 1 2
.5

.75

2 g0.9 1 0.9 1 2 g0.99 2

2 0.75

0.1

0.5

0.99
К задаче 2.2.9

2 2 2 k C11-k C11 - C11-k 1 45 10 2 36 19 3 28 27 ментов. Составим таблицу Видно, что подходит 4 21 34 5 15 40 6 10 45 ... ... ... только k = 3, предположим, что при проверке 3 шаров радиоактивных в группе нет. Тогда оба радиоактивных остались в кучке из 8 шаров. Надо выделить 2 радиоактивных за 5 проверок. Аналогично, пусть в первой проверке участвует m шаров, разобьем множество соответствующих записей 2 2 2 на два подмножества размером C8-m и C8 - C8-k . Составим такую же таб2 2 2 k C8-k C8 - C8-k 1 21 7 2 15 13 лицу Видно, что подходит только k = 2. Предпо3 10 18 4 6 22 ... ... ... ложим, проверено 2 шара и из них нет радиоактивных. Остается 6 шаров. 2 2 2 k C6-k C6 - C6-k 1 10 5 Для них построим такую же таблицу. 2 . Видно, что 6 9 3 3 12 4 1 14 не получается разбить на два подмножества, каждое из которых меньше 8, следовательно, такой ИГ построить нельзя.

2.2.24 а) Пусть заданы веса монет w = (w1 , . . . , w4 ). Нормируем веса монет,

так, чтобы вес настоящих монет был равен 0, а вес фальшивой монеты +1 (в зависимости от того, легче она или тяжелее настоящей). Обозначим


2.2. Информационнографовый подход.

79

h(0

.05)

1 g3

2

3

4

5

6 g90

100

1 g2 123
1 2

2

f=,25

f=,50

1

2

3

3

25

50

90

f

=,95

95 Рис. 2.11: К задаче 2.2.10.c)

1, i = j . Пусть X = S , Y = 0, i = j = V = {1, 4} отношение xi (xi = 0). Базовое множество состоит из 1, iI si < j J sj ; переключателей вида gI J (s) = 2, si = j J sj ; где I , J {1, 4} и iI 3, iI si > j J sj , I J = . Предикатов нет. b) См. рис. c) Тогда X = Y = S и xy x = = y задача поиска идентичных объектов. d) Если взвешивать в начале по одной монете, то средняя ветка должна содержать 4 записи. Если сначала взвешивать по две монеты, то средней ветки не будет, а боковые содержат по 4 записи. В обоих случаях один переключатель не позволяет получить более 3 листьев. S = {(s1 , . . . , s4 ) : j : si = +ij }, где
ij

=

2.2.25 а) Пусть заданы веса монет w = (w1 , . . . , w12 ). Нормируем

веса монет, так, чтобы вес настоящих монет был равен 0, а вес фальшивой монеты +1 (в зависимости от того, легче она или тяжелее настоящей). Обозначим S = {(s1 , . . . , s2 ) : j : si = +ij }, где 1, i = j ij = . Пусть X = Y =V = S , отношение 0, i = j xy (x = y ) т.е. задача поиска идентичных объектов. Заданы пе 1, si1 + . . . + sik < sj1 + . . . + sjk ; реключатели gi1 ,...,ik |j1 ,...,jk (s) = 2, si1 + . . . + sik = sj1 + . . . + sjk ; где 3, si1 + . . . + sik > sj1 + . . . + sjk , {i1 , . . . , ik }, {i1 , . . . , ik } {1, 12} и {i1 , . . . , ik } {i1 , . . . , ik } = . Предикатов нет. b) См. рис. Для краткости, вместо вектора (s1 , ..., s12 ) на рисун-


80

Глава 2. Теория хранения и поиска информации

g

1

2

5

4

3

f1(16)

f69(0)

f

f

f

(6) 91

(5) 22

(8) 77

1

33

58

80

90

К задаче 2.2.12

g123

789

1

3

2

g1

3

g4

6

g7

9

3 2

1

1

1
6 7

3 2

3 2

1

2

3

4

5

8

9

К задаче 2.2.18.b) ке указаны только номер фальшивой монеты и соответствующий знак. c) TB = T = 3.

2.2.26 a),b) Решение аналогично задаче 2.2.1. c) См. рис. 2.20. Его средняя
сложность равна 2
11 30

.

2.2.27 a) Множество запросов, в ответ на которые должно быть включено
k

yi представляет собой прямоугольник 1 x1 yi x2 1 (см.рис. 2.21 ), его площадь равна yi ћ (1 - yi ), а вероятность такого запроса 2yi ћ (1 - yi ).
Следовательно, мощностная нижняя оценка сложности равна 2

yi ћ (1 -
i=1

- yi ). b) Максимума не существует. Точная верхняя грань получается, если 1 устремить все yi 2 , она равна k . 2

2.2.28 Решается аналогично задаче 2.2.27.


2.2. Информационнографовый подход.

81

g1,2

,3,4,512,13,14,15,16

1

3

2 g6,7

g1

5

10,11

g12

16

1

3

2

2

2

1

1

3
g6
7

3

1

g2

4

5

g8

9

g8

9

12

g13

15

16

3 2

3 2

1

1

1

2

3

4

6

78

9 10

1

11

13

1

К задаче 2.2.18.c)

3

3

3

14

15

g1

,42,3

1

2

3

(0, 1, 1, 1)

(0, 0, 1, 1)

(0, 0, 0, 1)
К задаче 2.2.19

2.2.29 a) В качестве X рассмотрим множество векторов {(x1 , . . . , x5 ) : xi =

= 0, 1, -1}, у которых ровно одна компонента равна 1, ровно одна -1, а оставшиеся три нули. В качестве Y выберем множество пар (y+ , y- ), а отношение поиска зададим как (x1 , ..., x5 )(y+ , y- ) (xy+ = 1)&(xy- = = -1). В качестве базового множества рассмотрим переключатели 1, xi1 + . . . + xik > xj1 + . . . + xjk ; gi1 ...ik ;j1 ...jk (x) = 2, xi1 + . . . + xik = xj1 + . . . + xjk ; ? 3, xi1 + . . . + xik < xj1 + . . . + xjk .
b) Поскольку информационный граф довольно громоздок, приведем словесное описание: Первый раз положим на чаши весов первую и вторую монеты, а второй раз третью и четв?ртую. Возможны только два случая. 1) Один раз весы были в равновесии (пусть при первом взвешивании; при этом на чашах настоящие монеты), а другой раз нет. Возьмем настоящую


82

Глава 2. Теория хранения и поиска информации

g1,2

3

1 g2,3

2 g2,3

3 g2,

5

5

35

123

13

123

,2

,1

+,3

+,5

,5

,3

+,1

+,2

К задаче 2.2.21) К задаче 2.2.22)

монету из первого взвешивания и сравним е? с той, что оставалась на столе. Если их веса равны, то последняя монета настоящая, а фальшивые - те, что участвовали во втором взвешивании. Иначе, монета со стола фальшивая, и мы знаем, легче она настоящей или тяжелее, а потому знаем, л?гкая или тяж?лая фальшивая монета участвовала во втором взвешивании. 2) Оба раза весы были не в равновесии. Тогда на весах каждый раз была одна фальшивая монета, а на столе осталась настоящая. Взвесим е? с л?гкой монетой из первого взвешивания. Если веса равны, то в первом взвешивании фальшивой была более тяж?лая, а во втором - более л?гкая. Если же более л?гкая монета из первого взвешивания оказалась легче, то она фальшивая, а из второго взвешивания фальшивая более тяж?лая. c) Граф сложности 2 не может дать более 9 различных ответов, а в данной задаче |Y | = 20.

2.2.30 a) Пусть S5 множество всех перестановок из 5 элементов. Для мас-

сива существует перестановка, которая переставляет его элементы в правильном порядке (т.е. xi < xj (i) < (j )). Например, для массива (10, 1, 3, 2, 8) такой перестановкой будет = (5, 1, 3, 2, 4). Тогда задача упорядочивания массива может быть сформулирована как I = S5 , S5 , = задача поиска идентичных объектов. В качестве базового множества возь1, xi < xj ; мем множество переключателей gij (x) = , где i, j = 1, ..., 5, 2, xi > xj . i = j . b) Решением будет ИГ содержащий 5! = 120 листьев. Опишем алгоритм взвешивания, соответствующий этому графу. Сначала упорядочим x1 и x2 (1-е взвешивание), потом x3 и x4 (2-е взвешивание). Таким образом x1 < x2 и x3 < x4 . Сравним x1 и x3 (3-е взвешивание), упорядочим, так, что x1 < x3 (если надо то x2 и x4 тоже поменяем местами). Потом сравним x3 и x5 (4-е взвешивание). I) Допустим, что x3 < x5 . Тогда сравним x4 и x5 (5-е взвешивание). Если x4 < x5 , то получаем: x1 < x3 < x4 < x5 и x1 < x2 . Для того, чтобы


2.2. Информационнографовый подход.

83

g1

2

1 g1

2 g1

3 g1

3

3

3

123

123

123

1

3



3

4

3



2

1

К задаче 2.2.24 установить позицию x2 достаточно еще 2 взвешиваний. Случай x4 > x5 рассматривается аналогично. II) Допустим, что x3 > x5 . Тогда сравним x2 и x3 (5-е взвешивание). Если x2 < x3 , то получаем в итоге x1 < x2 < x3 < x4 и x5 < x3 , остается два взвешивания, чтобы поместить x5 на нужное место. Если же x2 > x3 , то сравним x2 и x4 (6-е взвешивание) и x1 с x5 (7-е взвешивание). По результатам упорядочиваем массив. c) Граф сложности 6 не может содержать более 26 = 64 концевых вершин. d) Очевидно, что если граф содержит N ! концеn вых вершин, то его глубина не менее log N ! log n N log N . C другой e стороны, можно показать (индукцией по n), что массив размера 2n можно отсортировать за O(n2n ) сравнений.

2.2.31 a) Обозначим EN = {0, 1, . . . , N - 1}. В качестве множества запросов

и множества ответов выберем X = Y = 2EN множество всех подмножеств EN . В качестве отношения возьмем равенство получим задачу поиска идентичных объектов. В качестве базового множества выберем множество предикатов вида fA (B ) (A B = ), где A, B EN . Этот предикат соответствует проверке образцов из множества A и дает положительную реакцию, если хотя бы один содержит вирус. Вероятностная мера на X задана следующим образом: P (A) = p|A| ћ (1 - p)N -|A| . b) Очевидно, для проверки каждой группы нужно вычислить один предикат, т.е. сложность k . Если группа дала положительную реакцию, то надо проверить каждый образец в ней сложность равна n. Вероятность этого равна 1 - (1 - p)n . Таким образом, получаем среднюю сложность S = k + n(1 - (1 - p)n ). c) Зафиксируем N и будем менять n. Получим S (n) = N + n - n ћ (1 - p)n . Найдем производn N ную: S (x) = - x2 + 1 - (1 - p)x (1 + x ln(1 - p)). Поскольку p мало, можно N разложить в ряд Тейлора до 2-го члена: S (x) = - x2 + 2xp + o(p). При? 3 равнивая к нулю главную часть разложения, получим x = N/2p. Итак, наименьшее значение достигается при n =
3

N 2p

. Подставляя N = 1600,

p = 10-4 , получим n = 200. Т.е. надо смешивать по 200 образцов.


84

Глава 2. Теория хранения и поиска информации 3 2 1

+1 -6 +2

g1 3

2

g1,2,5

3,4,6

2

g4

9

3 2 1

+4 -8

1
3 2 1

+3 -5 +4

g3 3

4

g9 3

10

3 2 1

-10 -11 -9

g1,2,3

,4

5,6,7,8

2

g1

,2,3

9,10,11

2

g12

1

3 2 1

+12 -12

1
3 2 1

+9 +11 +10

g9 1

10

g3 3

4

3 2 1

-4 +5 -3

g1,2,5

3,4,6

2

g4

9

3 2 1

+8 -4

1
3 2 1

-2 +6 -1

g1

2

К задаче 2.2.25


2.2. Информационнографовый подход.

85

h12

1 g2

2

3

4

5

1

2

3

f25

f45

f48 f49

f50

1

2

25

45

48

49

50

f3
3 Рис. 2.20: К задаче 2.2.26

x

2

(0, 1)

(yi , 1)

(1, 1)

(0, yi )

A(yi , yi )

O

yi

x1
Рис. 2.21: К задаче 2.2.27


86

Глава 2. Теория хранения и поиска информации


Глава 3

Логический подход
3.1. Вывод из аксиом
Основные обозначения и определения

Существует много различных дедуктивных систем для описания общезначимых формул логики высказываний, отличающихся множеством используемых логических связок и выбором аксиом; приведем здесь одну из простейших таких систем в которой рассматриваются лишь две логические связки ѓ, . Остальные логические связки легко могут быть выражены через них и трактоваться как своего рода "сокращенные обозначения"для соответствующих формул с ѓ и . Аксиомы данной дедуктивной системы задаются при помощи так называемых .

схем аксиом

A1) Если f , g формулы, то формула
(f (g f ))
есть аксиома.

A2) Если f , g , h формулы, то формула
((f (g h)) ((f g ) (f h)))
есть аксиома.

A3) Если f , g формулы, то формула
((ѓf ѓg ) ((ѓf g ) f ))
есть аксиома. В действительности каждая из схем аксиом A1, A2, A3 определяет бесконечное множество аксиом, отличающихся выбором формул f , g , h. в этой дедуктивной системе одно если уже получены общезначимые формулы f и (f g ), то из них выводится общезначимая формула g (согласно классификации предложенной еще Аристотелем, это правило называется modus ponens).

Правило вывода

87


88

Глава 3. Логический подход

Чтобы проиллюстрировать технику, применяемую при изучении дедуктивных систем, приведем схематические наброски доказательств некоторых важных свойств только, что определенной дедуктивной системы. формулы f из списка формул = g1 , . . . , gn будем называть произвольную последовательность формул f1 , f2 , . . . , fm = f , такую, что каждое fi (i = 1, . . . , m) есть либо аксиома, либо элемент списка , либо получено по правилу modus ponens из некоторых fj , fk , при j, k {1, . . . , i - 1}. Если существует вывод f из , то обозначаем это обстоятельство посредством f (в частности, список может быть пуст; те формулы, которые выводимы из пустого , как легко можно видеть, образуют класс всех нашей дедуктивной системы). Следующая лемма есть пример выводимой формулы.

Выводом

выводимых формул
Лемма 3.

Если f формула, то

(f f )

.

Имеет место следующее важное утверждение, известное как теорема дедукции (Эрбран).

Теорема 4 (О дедукции).

из

, f

g

вытекает



(f g )

Если список формул и f , g формулы, то . , то .

В дальнейшем для краткости будем обозначать ее ?ТоД?. Из нее вытекает следующая лемма:

Лемма 4 (Доказательство от противного).
g

формулы. Если ,

ѓf

g , ѓg



f

Пусть список формул и f ,

Очевидно, что любая формула, выведенная из А1, А2, А3 является общезначимой. Оказывается, верно и обратное утверждение:

Теорема 5 (О полноте исчисления высказываний).

Формула исчисления высказываний общезначима тогда и только тогда, когда она выводима в дедуктивной системе со схемами аксиом А1, А2, А3 и правилом вывода modus ponens.
Упражнения.

Задача 3.1.1. Выразить следующие формулы используя только операции
импликации () и отрицания (ѓ). a) b) c) d)

a b; a&b; a (b c); m(a, b, c) = ab ac bc. F , используя теорему

о дедукции:

Задача 3.1.2. Показать выводимость , A1 , A2 , A3

a) = {a b, ѓb}, F = ѓa ( ); b) = {a b, b c}, F = a c (правило силлогизма); c) = {a b, b c, ѓc}, F = ѓa;

reductio ad absurdum

Задача 3.1.3. Построить явный вывод (т.е. не используя ТоД)
{A1 , A2 , A3 , a b, b c} a c.


3.1. Вывод из аксиом

89

Задача 3.1.4. Построить вывод из аксиом и леммы о выводе f f не используя теорему о дедукции. В случае необходимости предварительно привести к виду, содержащему только импликации и отрицания.
a) {A B , ѓA} B (разбор случаев); b) (ѓA A) A (доказательство от противного);

Задача 3.1.5. Доказать, используя ТоД: a (b c)
a) ѓѓB B (снятие двойного отрицания); b) B ѓѓB (навешивание двойного отрицания).

b (a c);

Задача 3.1.6. Доказать, используя используя ТоД и ЛДоП:

Задача 3.1.7. Доказать (используя ТоД и ЛДоП):
a) b) c) d)

ѓa (a b); (ѓb ѓa) (a b); (a b) (ѓb ѓa); (ѓ(a b)) a.

Задача 3.1.8. Доказать используя ТоД и ЛДоП (предварительно привести
к виду, содержащему только импликации и отрицания): a) {a, b} a&b; b) a&b {a, b}.

Задача 3.1.9. Показать выводимость , A1 , A2 , A3 F , используя ТоД и ЛДоП (предварительно преобразовав к виду, содержащему только импликации и отрицания):
a) = {a b, b c}, F = a (b&c); b) = {a b, a b}, F = b; c) = {a b, a}, F = ѓb (разбор взаимоисключающих случаев);

Задача 3.1.10. Доказать, используя ТоД и ЛДоП.
a) a (ѓb ѓ(a b)); b) (a b) ((ѓa b) b).

Задача 3.1.11. Привести формулу a (b (a&b)) к виду, содержащему
только импликации и отрицания и построить вывод, используя ТоД.

Задача 3.1.12. Привести к виду, содержащему только импликации и отрицания и доказать с помощью ТоД и ЛДоП: (a b)&(b c) (a c) (правило силлогизма).

Задача 3.1.13. Доказать выводимость , A1 , A2 , A3

F или показать невозможность такого вывода с помощью теорем о дедукции и о полноте исчисления высказываний.
a) b) c) d)



= = = =

{a {a {a {a



b, b, b, b,

ѓa}, F = ѓb; ѓa ѓb}, F = a b; ѓb ѓa}, F = a b; a b}, F = a;


90 e) = {a b, b a, a b}, F = a&b;

Глава 3. Логический подход

Задача 3.1.14. Проверить выводимость или невыводимость , A1 , A2 , A3
F.
a) b) c) d)



= = = =

{a {a {a {(a

(b c), (a (b c), (a b&c, b c&a, b) c, (b c)

b) c}, F = b c; b) c}, F = a c; c a&b, a b c}, F = a&b&c; a, (c a) b, a b c}, F = a&b&c;

^ схемы аксиом A, т.е. будем считать аксиомами все формулы, которые получаются из F подстановками формул на место пропозициональных переменных.

Задача 3.1.15. Пусть формула F не общезначима. Возьмем ее в качестве

^ a) Доказать, что теория, построенная на основе A1 , A2 , A3 , A будет противоречивой (т.е. возможен вывод формул B и ѓB ). b) Доказать, что в такой теории выводима любая формула.

Задача 3.1.16. Доказать независимость аксиомы A3 от A1 и A2 .
Ответы и указания.

3.1.1 a) a b = (ѓa) b; b) a&b = ѓ(a ѓb); c) a (b c) = ѓ a (ѓb
c) ѓ (ѓb c) a . d) ab ac bc = ((ѓa b) ѓc) ѓ(a ѓb).

3.1.2 a) Заметим, что , ѓѓa

b, ѓb и применим теорему о дедукции, получим, что ѓѓa b, ѓѓa ѓb. Тогда верна следующая цепочка вывода: ѓѓa b (т. о дедукции); ѓѓa ѓb (т. о дедукции); (ѓѓa ѓb) ((ѓѓa b) ѓa) (схема A3 ); (ѓѓa b) ѓa (M.P.); ѓa (M.P.). b) Заметим, что , a c, действительно, a(дано); a b (дано); b (M.P.); b c (дано); c (M.P.). Следовательно, по т. о дедукции a c. c) Получается комбинацией пунктов ?a? и ?b?. Действительно, в пункте ?b? показано, что a b, b c a c. Применяя пункт ?a?, получим, что a , ѓc ѓa. (b c) (a (b c)) (схема A1 , f = (b c), g = a); b c (дано); a (b c) (M.P. 1-2); (a (b c)) ((a b) (a c)) (схема A2 ); (a b) (a c) (M.P. 3-4); a b (дано); a c (M.P. 5-6).

3.1.3 Вывод:
(1) (2) (3) (4) (5) (6) (7)

3.1.4 a) Напомним, что A B = (ѓA) B . Тогда цепочка вывода: (ѓA)

B (дано), ѓA (дано), B (M.P.). b) Верна следующая цепочка вывода: (ѓA ѓA) ((ѓA A) A) (A3 , при f = g = A); ѓA ѓA (лемма); (ѓA A) A) (M.P.). c, то по ТоД b, a (b c) Применим ТоД еще раз, получим требуемое утверждение. a c.

3.1.5 Поскольку a, b, a (b c)


3.1. Вывод из аксиом

91

3.1.6 a) Очевидно, что ѓѓB , ѓB

ѓB , ѓѓB . Применив лемму о доказательстве от противного, получим ѓѓB B . По теореме о дедукции получаем ѓѓB B . b) Воспользуемся пунктом ?a?, применив его к ѓB , получаем ѓѓѓB ѓB , т.е. B , ѓѓѓB B , ѓB . Тогда по лемме о доказательстве от противного B ѓѓB . применив теорему о дедукции, получаем B ѓѓB . a, ѓa. По лемме о доказательстве от противного a, ѓa b. Применяя два раза теорему о дедукции, получим ѓa (a b); b) Рассмотрим систему (ѓb ѓa), ѓb, a. Из нее выводимо a и ѓa, следовательно, по лемме от противного из (ѓb ѓa), a выводимо b. Применим теорему о дедукции, получим (ѓb ѓa) a b. Применяя теорему о дедукции еще раз, получим (ѓb ѓa) (a b). c) Решается аналогично пункту ?b?, с применением формулы a ѓѓa. d) Рассмотрим систему (ѓ(a b)), ѓa. По пункту ?а? и modus ponens выводим a b. Применяя ЛДоП, получим (ѓ(a b)) a, откуда по ТоД (ѓ(a b)) a. a, b, ѓѓ(a ѓb) вывести b и ѓb, следовательно, по лемме о доказательстве от противного a, b ѓ(a ѓb). b) Тот факт, что ѓ(a ѓb) a вытекает из пункта ?d? задачи 3.1.7. Рассмотрим систему = {ѓ(a ѓb), ѓb}. Построим вывод ѓb (a ѓb) ( A1); (a ѓb) (M.P.). Итак, вывели (a ѓb) и ѓ(a ѓb), следовательно, по ЛДОП ѓ(a ѓb) b. = {a, a b, b c, ѓѓ(b ѓc)}. Тогда cи ѓc, следовательно, по ЛДоП a, a b, b ѓ(b ѓc). По ТоД получаем a b, b a ѓ(b ѓc). b) Преобразуем a b = (a b) ѓ(b a). Тогда (a b), (a b) ѓ(b a) ѓ(b a) (M.P.). Воспользуемся пунктом ?d? задачи 3.1.7 (только поменяем a и b местами), получим b. c) Преобразуем a b = (a b) ѓ(b a). Рассмотрим систему 1 = {(a b) ѓ(b a), a, ѓѓb}. Выводим b (M.P.), a (b a) (A1), (b a) (M.P.), b (a b) (A1), a b) (M.P.), ѓ(b a) (M.P.). Итак, мы вывели b a и ѓ(b a), следовательно, по ЛДоП {(a b) ѓ(b a), a} ѓb. ѓѓ(a b) лемму о доказательстве от противного, получим a, ѓb ѓ(a b). Применяя два раза теорему о дедукции, получим a (ѓb ѓ(a b)). b) Рассмотрим систему {(a b), (ѓa b), ѓb}. Как показано в пункте ?c? задачи 3.1.7 (a b) (ѓb ѓa). Применяя M.P., выводим ѓa, применяя еще раз, получим b. Итак, получены b и ѓb, слеодвательно, по ЛДОП {(a b), (ѓa b) b}. Применяя два раза ТоД, получаем требуемое утверждение.
задачей 3.1.8, т.е. a, b требуемую формулу.

3.1.7 a) a, ѓa, ѓb

3.1.8 a) Напомним, что a&b есть сокращение для ѓ(a ѓb). Из системы

3.1.9 a) Преобразуем a (b&c) = a ѓ(b ѓc). Рассмотрим систему:

3.1.10 a) Из системы a, ѓѓ(a b) выводимо b. Применив к системе a, ѓb,

3.1.11 Приведем формулу к виду a (b ѓ(a ѓb)). Воспользуемся
ѓ(a ѓb)). Применяя два раза ТоД, получаем

3.1.12 Приведем к стандартному виду: ѓ (a b) ѓ(b c) (a c).

Воспользуемся пунктом ?b? задачи 3.1.8, получим ѓ (a b) ѓ(b c) {(a b), (b c)}. Применив пункт ?b? задачи 3.1.2, получаем


92

Глава 3. Логический подход

ѓ (a b) ѓ(b c) формулу.

a c. Применив ТоД, получим требуемую

3.1.13 a) Если бы вывод был возможен, то (по т. о дедукции) была бы вы-

водима формула (a b)&(ѓa) ѓb. Эта формула не общезначима (можно взять a = Л, b = И), следовательно, вывод невозможен. b) Поскольку, как легко проверить, формула (a b) ((ѓa ѓb) (a b)) общезначима, то она (по теореме о полноте) выводима, следовательно (a b) может быть получена двукратным применением modus ponens. с,d) Вывод невозможен, доказывается аналогично пункту ?а?. e) Выводимость можно показать аналогично пункту ?b?. аналогично задаче 3.1.13.

3.1.14 a) Выводимо. b) Не выводимо. c) Выводимо. d) Выводимо. Решается 3.1.15 a) Рассмотрим набор x1 , ..., xn , на котором F обращается в Л. Под-

ставим (f f ) вместо тех переменных, которые принимают значение И и ѓ(f f ) вместо остальных. Очевидно, полученная формула будет тождественно ложной F (f1 , ..., fn ) = Л. Следовательно, ѓF (f1 , ..., fn ) = И общезначима. По теореме о полноте она выводима из A1 , A2 , A3 .

3.1.16 Заметим, что только схема A3 содержит отрицания. Можно постро-

ить формальную модель, в которой импликация имеет свое обычное значение, а ѓx = x. Тогда в этой модели схемы A1 и A2 всегда будут выполнены, а A3 нет.

3.2. Исчисление высказываний
Обозначения и определения

Алгоритм Квайна

Прежде всего, опишем , осуществляющий проверку общезначимости формулы f логики высказываний при помощи построения так называемого семантического дерева. Корню этого дерева исходной вершине приписывается формула f . Пусть уже построено некоторое подмножество вершин семантического дерева, каждой из которых сопоставлена некоторая формула. Если каждой концевой вершине данного дерева оказалась сопоставлена константа И, то процесс завершается, и формула f является общезначимой. Если некоторой концевой вершине дерева сопоставлена константа Л, то формула f не общезначима, и процесс также завершается. В противном случае найдется концевая вершина v , которой сопоставлена формула отличная от констант И, Л. Если эта формула g не содержит переменных, то ее можно преобразовать в логическую константу, используя тождества:

алгоритм Квайна

ѓИ = Л; ѓЛ = И; И f = И; Л f = f ; И f = f ; Л f = Л; И f = f ;
Л f = И; f И = И; f Л = ѓf ; И f = f ; Л f = ѓf . Если же она содержит хотя бы одну переменную x, и выполняются следующие действия:


3.2. Исчисление высказываний

93

а) Находятся результаты g1 и g2 подстановки в формулу g вместо переменной x, соответственно констант И и Л. б) Находятся результаты g1 и g2 упрощения формул g1 и g2 при помощи перечисленных выше тождеств, применяемых до тех пор пока это возможно. в) вводятся две новые вершины v1 и v2 семантического дерева, которым приписываются, соответственно, формулы g1 и g2 . К этим вершинам от вершины v проводятся ребра, отмеченные соответственно выражениями x = = И и x = Л. Далее повторяется описанный выше процесс рассмотрения концевых вершин семантического дерева. Выбор конкретной переменной x формулы g , по которой проводится "разбор случаев осуществляется на основании различных эвристических решающих правил. Простейшим таким правилом является выбор переменной, имеющей наибольшее число вхождений в g , для получения наиболее сильного упрощения при переходе к g1 и g2 , другим полезным соображением является такой выбор переменных x, при котором сопоставленные концевым вершинам семантического дерева формулы g оказывались бы представимы, например, как h1 h2 либо h1 h2 , где формулы h1 и h2 не имеют общих переменных. В этом случае вместо построения ветви дерева для h1 h2 (h1 h2 , h1 h2 и т.п.) можно было бы рассмотреть независимо формируемые деревья для h1 , h2 и из анализа их концевых вершин сделать вывод относительно общезначимости g .


94

Глава 3. Логический подход

((x1 (x2 x3 )) ((x1 x2 ) (x1 x3 )))

x

1

=

И

x

1

=

Л

(x2 x3 ) (x2 x3 )

(И (И И)) = И

x

И

2

=

=
Л

x2

x3 x

3

(И И) = И

x

И

3

=

=

x3

Л

(И И) = И

(Л Л) = И

Рис. 3.1: Алгоритм Квайна (ф-ла общезначима).

Пример 1. В качестве примера применения алгоритма Квайна убедимся в общезначимости формулы, полученной из схемы аксиом A2:
((x1 (x2 x3 )) ((x1 x2 ) (x1 x3 )))
Дерево разбора случаев для этой формулы приведено на рисунке 3.1. (3.1)

(x1 x2 x3 ) (x1 x2 x3 )

x

1

=

И

x

1

=

Л

И (x2 x3 )

x2 x3 Л

x

И

2

=

=

x2

Иx

3

(И Л) = Л
Рис. 3.2: Алгоритм Квайна (ф-ла не общезначима).

Пример 2. В качестве примера применения алгоритма Квайна убедимся в не общезначимости формулы
(x1 x2 x3 ) (x1 x2 x3 )
(3.2) Дерево разбора случаев для этой формулы приведено на рисунке 3.2. Заметим, что дерево построено только частично, т.к. получено выражение x = Л

Л


3.2. Исчисление высказываний в одной из концевых вершин.

95

Если x1, . . . , xm различные переменные, m 1, то формулу вида (x . . .x ) назовем дизъюнктом. Логическую константу m 1 Л по определению так же считаем дизъюнктом. Определение 2. Если A1 , . . . , An различные дизъюнкты (n 1), то формула (A1 . . . An) называется конъюнктивной нормальной формой(КНФ).
Определение 1.
1 m

Модифицированный алгоритм Квайна

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

(a b) = (ѓa b); (a b) = (a b ѓa ѓb);
б) отрицания в формуле "опускаются до переменных"при помощи тождеств ѓѓa = a; ѓ(a b) = ѓa ѓb; ѓ(a b) = ѓa ѓb; в) применяются преобразования дистрибутивности:

(a (b c)) = (a b) (a c);
г) устраняются повторные вхождения переменных в дизъюнктивных подформулах, а также константы И, Л (если сама формула не есть И или Л):

a a = a; a ѓa = И; a И = И; a И = a; a Л = Л;
д) устраняются одинаковые дизъюнкты: a a = a. Опишем модифицированный алгоритм Квайна, предназначенный для установления невыполнимости формулы логики высказываний g , преобразованной к виду конъюнктивной нормальной формы. Для доказательства общезначимости некоторой формулы F ее отрицание ѓF преобразуется к виду КНФ. Это удобно делать применяя формулы де Моргана к отрицанию ДНФ исходной формулы. Вершинам семантического дерева в этом случае будут сопоставляться не формулы, а их множества дизъюнктов. Первоначально вводим корень семантического дерева и сопоставляем ему множество дизъюнктов формулы g . Пусть уже построена часть семантического дерева. Если концевой вершине дерева сопоставлено пустое множество дизъюнктов (пустое множество соответствует логической константе И), то формула g выполнима, и алгоритм прекращает работу.


96

Глава 3. Логический подход

(ѓx1 ѓx2 x3 ), (ѓx1 x2 ), (ѓx3 )

x

1

=

И

x

1

=

Л
Л, (ѓx3 )

(ѓx2 x3 ), x2 , (ѓx3 )

x

И

2

=

=

x2

x3 , (ѓx3 )

Л, (ѓx3 )

Л

x

И

3

=

=

x3

Л

Л

Л Рис. 3.3: Модифицированный алгоритм Квайна.

Если каждой концевой вершине семантического дерева соответствует множество дизъюнктов, содержащее дизъюнкт Л, то формула g невыполнима, и алгоритм прекращает работу. Если некоторой концевой вершине v сопоставлено непустое множество дизъюнктов S , не содержащее дизъюнкта Л, то в S входят дизъюнкты с переменными. Выбираем одну из таких переменных x и разбиваем S на три подкласса: S1 все дизъюнкты, в которые x входит без внешнего отрицания, S2 все дизъюнкты, в которые x входит с отрицанием, S3 все дизъюнкты в которых x не встречается. Далее рассматриваем множество дизъюнктов Sx = {d|d ѓx S2 } (если ѓx S2 , то здесь берется d = Л) и множество дизъюнктов и множество дизъюнктов Sѓx = {d|d x S1 } (если x S1 , то здесь берется d = Л). Нетрудно видеть, что невыполнимость конъюнкции дизъюнктов списка S эквивалента одновременной невыполнимости конъюнкций дизъюнктов списков Sx S3 и Sѓx S3 . Поэтому для продолжения построения семантического дерева вводим две новых вершины v1 и v2 , которым сопоставляем, соответственно, множества дизъюнктов Sx S3 и Sѓx S3 , причем проводим к v1 и v2 ребра от v , отмеченные соответственно выражениями x = И и x = Л. Далее повторяется описанный выше процесс рассмотрения концевых вершин семантического дерева. Пример. В качестве примера применения модифицированного алгоритма Квайна обратимся опять к формуле f , заданной выражением (3.1). После устранения логических связок мы получим формулу

g = (ѓ(ѓx1 ѓx2 x3 )) (ѓ(ѓx1 x2 )) ѓx1 x3 .
Далее переходим к рассмотрению формулы ѓg , которая имеет вид: (3.3)

ѓg = (ѓx1 ѓx2 x3 ) (ѓx1 x2 ) x1 (ѓx3 ).


3.2. Исчисление высказываний Семантическое дерево для формулы ѓg приведено на рисунке 3.3.

97

Правило резолюции
Другой алгоритм распознавания невыполнимости конъюнктивной нормальной формы связан с рассмотрением специальной дедуктивной системы, использующей в качестве правила вывода так называемое . В этом случае конъюнктивная нормальная форма снова представляется как множество своих дизъюнктов, эти дизъюнкты и образуют перечень аксиом данной дедуктивной системы. , будучи применено к двум дизъюнктам A B и ѓA C создает в качестве следствия новый дизъюнкт B C (здесь возможны вырожденные случаи отсутствия B либо C , если они оба отсутствуют, то результатом служит дизъюнкт Л). Достаточность применения данного правила вывода для распознавания невыполнимости гарантируется следующим утверждением ([7]).

ции

правило резолю-

Правило резолюции

Конъюнкция конечного семейства дизъюнктов S невыполнима тогда и только тогда, когда за конечное применений правила резолюции из S выводится дизъюнкт Л.
Теорема 6. Пример. В качестве примера применения правила резолюции обратимся опять к формуле ѓg , заданной выражением (3.3). Исходное множество дизъюнктов имеет вид {(ѓx1 ѓx2 x3 ), (ѓx1 x2 ), x1 , (ѓx3 )}. Тогда
ћ {(ѓx1 x2 ), x1 } x2 ; (ѓx2 x3 ); ћ {(ѓx1 ѓx2 x3 ), x1 } ћ {(ѓx2 x3 ), x2 } ћ {x3 , ѓx3 }
Л.

x

3

Следовательно, формула ѓg невыполнима.
Упражнения.

Задача 3.2.1.
Проверить общезначимость с использованием алгоритма Квайна: a) b) c) d)

(x1 (x1 (x1 ( x1

x2 ) x2 ) x2 ) x2 x1

x3

((x1 ((x1 ((x2 x2

x3 ) (x2 x3 )); x3 ) (x2 x3 )); x3 ) (x1 x3 )); x3 ) ( x1 x2 x1 x3 x2 x3 ) .

Задача 3.2.2. Доказать невыполнимость множества дизъюнктов c помощью модифицированного алгоритма Квайна: a) {(ѓx1 ), x2 , (x1 ѓx2 ѓx3 ), (ѓx2 x3 )}; b) {(x1 x2 x3 ), (ѓx1 x2 x3 ), (x1 ѓx2 x3 ), (ѓx1 ѓx2 x3 ), (ѓx3 )}; c) {x1 x3 , x1 ѓx2 ѓx3 x4 , ѓx1 , x1 ѓx3 };

Задача 3.2.3. Проверить общезначимость с использованием алгоритма
Квайна:


98

Глава 3. Логический подход a) (((ѓx2 ѓx3 ) (ѓx2 x2 )) ѓx3 ) x3 ; b) ((((ѓx2 ѓx3 ) (ѓx2 x2 )) ѓx3 ) x3 ) (ѓx3 ); c) x1 ((ѓx4 ѓx1 ) (x1 (x1 ѓx2 ))); d) ѓx1 (((ѓx1 (ѓx2 x3 )) ѓx4 ) x4 ); e) (ѓx1 (((ѓx1 (ѓx2 x3 )) ѓx4 ) x4 )) ((x2 ѓx4 ) (x4 ѓx1 ) (ѓx3 ѓx4 )); f ) ѓx3 (((ѓx4 ѓx2 ) x1 ) (ѓx3 ѓx1 )); g) ((x4 x3 ) ((x4 ѓx3 ) ѓx2 )) x1 ; h) (((x4 x3 ) ((x4 ѓx3 ) ѓx2 )) x1 ) (ѓx1 ѓx2 ); i) (x1 (ѓx2 (((x1 ѓx3 ) x1 ) ѓx1 ))) x3 ; j) ((x1 (ѓx2 (((x1 ѓx3 ) x1 ) ѓx1 ))) x3 ) ((x1 ѓx3 ) (x3 ѓx1 ));

Задача 3.2.4. Привести к КНФ отрицание формулы и применить модифицированный алгоритм Квайна: a) b) c) d) e)

((x1 x2 ) (x2 ѓx1 )); (x1 x3 ) (x1 ѓx3 ) (x2 x3 ) (ѓx1 x2 x3 ); ((x1 x2 ) x1 ) x2 ; (ѓx1 x2 ) (ѓx2 x1 ). (((x3 (ѓx2 ѓx1 )) (x1 x2 )) (x2 x3 )) (ѓx3 );

Задача 3.2.5. Доказать невыполнимость семейства дизъюнктов, используя правило резолюции: a) {x2 x4 , x1 x4 ѓx2 , x2 x3 ѓx1 , x3 ѓx4 , x3 ѓx1 ѓx2 ѓx4 , x1 x2 ѓx4 , x3 x4 , ѓx3 }; b) {x2 x3 ѓx1 , x1 x2 x3 , x3 ѓx2 , x1 x2 ѓx3 , x1 x3 ѓx2 , ѓx1 ѓx3 , x2 ѓx1 ѓx3 , x3 ѓx1 ѓx2 , x1 x3 , ѓx2 }. c) {x2 x3 ѓx1 , x1 x2 , x1 x2 x3 , x2 ѓx1 ѓx3 , x1 ѓx2 ѓx3 , x1 x3 ѓx2 , ѓx1 ѓx2 ѓx3 , x2 ѓx3 , x1 x3 , x1 x2 ѓx3 , x2 x3 , x3 ѓx2 } d) {ѓx1 ѓx3 , x1 x3 , x2 x3 ѓx1 , x2 ѓx1 , x1 x2 ѓx3 , x1 x3 ѓx2 , ѓx2 ѓx3 , x2 ѓx3 , ѓx1 ѓx2 ѓx3 , x1 x2 x3 , x2 x3 , ѓx1 ѓx2 }. e)

{x1 x2 x3 x4 , x1 x2 ѓx3 ѓx4 , ѓx3 ѓx4 , x1 ѓx2 , ѓx1 ѓx3 ѓx4 , x1 x2 ѓx4 , x2 ѓx1 ѓx3 ѓx4 , x2 x4 ѓx3 , ѓx2 ѓx4 , x3 ѓx2 , x2 ѓx3 , x1 ѓx2 ѓx3 ѓx4 , x1 ѓx2 ѓx3 , x2 ѓx4 , x3 ѓx1 ѓx2 ѓx4 , ѓx1 ѓx4 , ѓx2 ѓx3 , x3 ѓx1 }.

Задача 3.2.6. Привести к КНФ отрицание формулы и применить правило
резолюции: a) b) c) d)

(x1 x2 ) ( x1 x2 ) (((ѓx2 x3 ) (ѓx2 ((ѓx3

(x1 x2 ); (ѓx2 ѓx1 ); ѓx1 ) ((ѓx3 ѓx3 ) (ѓx3 (x2 x1 )))) (x2 ѓx3 ); ѓx2 ) x2 )) ((x1 (ѓx3 x3 )) x1 );

чимости формулы a) (ѓp2 ѓp1 ) (p1 p2 ); b) ((p1 p2 ) (p2 p3 ) (p3 p1 )) ((p1 p2 ) (p2 p3 ) (p3 p1 )).

Задача 3.2.7. Привести пример доказательства, основанного на общезна-


3.2. Исчисление высказываний

99

Задача 3.2.8. а) Формула F исчисления высказываний не содержит операций кроме . Доказать, что F общезначима тогда и только тогда, когда каждая переменная входит в F четное число раз. б*) Формула исчисления высказываний G не содержит операций кроме и ѓ. Доказать, что G общезначима тогда и только тогда, когда каждая переменная и знак отрицания входит в G четное число раз. Задача 3.2.9. Записать в виде формулы исчисления высказываний и проверить общезначимость. a)

Если Джонс не встречал этой ночью Смита, то либо Смит был убийцей, либо Джонс лжет. Если Смит не был убийцей, то Джонс не встречал Смита этой ночью и убийство произошло после 2300. Если убийство было после 2300, то либо Смит был убийцей, либо Джонс говорит правду. Следовательно, Смит убийца. b) Если капиталовложения останутся постоянными, то возрастут правительственные расходы или возникнет безработица. Если правительственные расходы не возрастут, то налоги будут снижены. Если налоги будут снижены и капиталовложения останутся постоянными, то безработица не возникнет. Следовательно, правительственные расходы возрастут.
1 2

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

Либо свидетель не был запуган, либо, если Генри покончил жизнь самоубийством, то записка была найдена. Если свидетель был запуган, то Генри не покончил жизнь самоубийством. Если записка была найдена, то Генри покончил жизнь самоубийством. b) Если вечер скучен, то Алиса начинает плакать, или Анатоль рассказывает смешные истории. Если Сильвестр приходит на вечер, то вечер скучен или Алиса начинает плакать. Если Анатоль рассказывает смешные истории, то Алиса не начинает плакать. Сильвестр приходит на вечер тогда и только тогда, когда Анатоль не рассказывает смешные истории. Если Алиса начинает плакать, то Анатоль рассказывает смешные истории. c) Если курс ценных бумаг растет или процентная ставка снижается, то либо падает курс акций, либо налоги не повышаются. Курс акций понижается тогда и только тогда, когда растет курс ценных бумаг и растут налоги. Если процентная ставка снижается, то либо курс акций не понижается, либо курс ценных бумаг не растет. Либо повышаются налоги, либо курс акций понижается и снижается процентная ставка.
a)

Задача 3.2.11. Формула исчисления высказываний не содержит значков

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


100

Глава 3. Логический подход

Задача 3.2.12. Пусть C формула, в которой выделено некоторое вхождение подформулы A, а C формула, полученная из C заменой этого вхождения A на B . Докажите, что если A B общезначима, то и C C тоже общезначима. Задача 3.2.13. Пусть формула A, содержит только знаки , и ѓ и переменные x1 , ... xn , а формула A получена из A заменой xi на ѓxi , на и на . Докажите, что ѓA A общезначима.
B можно составить с помощью операций , , \? Два выражения считаются одинаковыми, если они тождественно равны при любых A и B. b) Тот же вопрос для трех множеств A, B и C ; c) ... для n множеств A1 , . . . , An . B можно составить из переменных и с помощью операций , ? b) Тот же вопрос для трех множеств A, B и C .
Ответы и указания.

Задача 3.2.14.a) Сколько различных выражений для множеств A и

Задача 3.2.15.a) Сколько различных выражений для множеств A и

3.2.1 a) Формула общезначима (см. рис. 3.4). b) Формула общезначима (см.
(x1 x2 ) (x1 x3 x2 x3 )

x

3

=

И

x3

=

Л

(x1 x2 ) (x1 x2 )

(x1 x2 ) (Л Л) = И

x
x2 x
2

1

=

И

x

1

=

Л

(И И) = И

x

И

2

=

=

x2

Л

(И И) = И

(Л Л) = И
Рис. 3.4: К задаче 3.2.1.a.

рис. 3.5). c) Формула не общезначима (см. рис. 3.6). d) Формула общезначима. (см. рис. 3.7).

3.2.2 a) См. рис 3.8 b) См. рис 3.9 c) См. рис 3.10 3.2.3a) Не общезначима.


3.2. Исчисление высказываний b) c) d) e) f) g) h) i) j) Общезначима. Общезначима. Не общезначима. Общезначима. Общезначима. Не общезначима. Общезначима. Не общезначима. Общезначима.

101

3.2.4 a) ((x1 x2 ) (x2 ѓx1 )) = (ѓx1 x2 ) (ѓx1 ѓx2 ) = x1

(ѓx2 ) x2 ; формула невыполнима, следовательно, исходная общезначима. b) (x1 x3 ) (x1 ѓx3 ) (x2 x3 ) (ѓx1 x2 x3 ) = (ѓx1 ѓx3 ) (ѓx1 x3 ) (ѓx2 ѓx3 ) (x1 ѓx2 ѓx3 ); Далее, применяя модифицированный алгоритм Квайна (см. рис 3.11) видим, что исходная формула не общезначима. c) Приведем к ДНФ исходную формулу x1 x2 x1 x2 ). Взяв отрицание, ? ? получим КНФ x1 &x2 &(x1 x2 ). Применяя модифицированный алгоритм ? ? Квайна, получаем, что отрицание выполнимо, следовательно, формула не общезначима. d) Общезначима, решается аналогично пункту ?a?. e) Не общезначима, решается аналогично пункту ?b?. D4 = x3 ѓx4 , D5 = x3 ѓx1 ѓx2 ѓx4 , D6 = x1 x2 ѓx4 , D7 = x3 x4 , D8 = ѓx3 . Тогда D7 , D8 x4 , D4 , x4 x3 , D8 , x3 Л. Остальные пункты делаются аналогично.
взять ее отрицание.

3.2.5 a) Обозначим D1 = x2 x4 , D2 = x1 x4 ѓx2 , D3 = x2 x3 ѓx1 ,

3.2.6 a) Заметим, что удобнее сначала привести формулу к ДНФ, а потом
a) F = (x1 x2 ) (x1 x2 ) = x1 x2 x1 x2 x1 x2 ; КНФ отрица? ? ? ния: F = (x1 x2 )&(x1 x2 )&x1 &x2 . Применим к списку дизъюнктов ? ? ? правило резолюции:

ћ (x1 x2 ), x1 ? ћ x2 , x ?
2

x2 ;

Л.

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

3.2.7 a) Любое доказательство от противного. b) Например (в курсе линейной алгебры) доказательство того, что равносильны утверждения: i) Матрица A обратима; ii) Ее строки (столбцы) линейно независимы; iii) A представима как произведение элементарных матриц. которая тождественно истина в случае, если все переменные сокращаются. b) Заменить F G на F G 1 и ѓF на F 1.

3.2.8 a) Заменить F G на F G 1. Получится линейная функция,

3.2.9 a) Введем обозначения: A

(Джонс встречал этой ночью Смита); B (Смит убийца); C (Джонс лжет); D (убийство произошло после 2300 ). Тогда утверждение запишется в виде:


102

Глава 3. Логический подход

ѓA (B C ) ѓB (ѓA D) D (B ѓC ) B . Несложно проверить, что эта формула общезначима (например, с помощью алгоритма Квайна). b) Введем обозначения: K (капиталовложения постоянны); R (правительственные расходы возрастут); B (возникнет безработица); N (налоги будут снижены). Тогда утверждение запишется в виде ((K (R B ))&(ѓR N )&(N &K ѓB )) R. Несложно проверить, что она не общезначима.

3.2.10 a) Введем обозначения:
A (свидетель был запуган); B (Генри покончил жизнь самоубийством); C (записка была найдена).
Рассмотрим конъюнкцию (ѓA (B C ))&(A ѓB )&(C B ). Она выполнима, например при A = И, B = C = Л. b) Введем обозначения:

A (вечер скучен); B (Алиса начинает плакать); C (Анатоль рассказывает смешные истории); D (приходит Сильвестр).
Рассмотрим конъюнкцию

A (B C ) & D (A B ) & C ѓB & D ѓC & B C .
Она выполнима, например, при A = C = И, B = D = Л. c) Введем обозначения:

A (курс ценных бумаг растет); B (процентная ставка снижается); C (падает курс акций); D (растут налоги).
Рассмотрим конъюнкцию:

(A B ) (C ѓD) & C (A&D) & B (ѓC ѓA) & D (C &B ) .
Она выполнима, например, при A = C = D = И, B = Л.

3.2.11 При подстановке И вместо каждой переменной получаем И, а при
подстановке Л Л.

3.2.12 Зафиксировать предметные переменные и рассмотреть функцию

f (x), которая истина для тех и только тех x, для которых при подстановке A = x в C получается истинная формула.
вил де Моргана.

3.2.13 Доказывается индукцией по глубине формулы и применением пра-


3.2. Исчисление высказываний

103

3.2.14 a) 15; b) 255; с) 2

- 1. Каждое такое выражение соответствует булевской функциии (кроме f (x) 1).

2n

3.2.15 a) 4; b)18. Каждое такое выражение соответствует монотонной булевской функции (кроме констант 0 и 1).


104

Глава 3. Логический подход

(x1 x2 ) (x1 x3 x2 x3 )

x

3

=

И

x3

=

Л

(x1 x2 ) (x1 x2 )

(x1 x2 ) (Л Л) = И

x
x2 x
2

1

=

И

x

1

=

Л

(И И) = И

x

И

2

=

=

x2

Л

(И И) = И

(Л Л) = И
Рис. 3.5: К задаче 3.2.1.b.

(x1 x2 ) ((x2 x3 ) (x1 x3 ))

x

3

=

И

x3

=

Л

(x1 x2 ) (И И) = И

(x1 x2 ) (x2 x1 )

x

1

=

И

x

1

=

Л
Иx

(x2 И) = И

2

И

x
2

=

=

x2

Л

(И И) = И
Рис. 3.6: К задаче 3.2.1.c.

(И Л) = Л


3.2. Исчисление высказываний

105

(x1 x2 x2 x3 x1 x3 ) (x1 x2 x1 x3 x2 x3 )

x

1

=

И

x1

=

Л

(x2 x3 x2 x3 ) (x2 x3 x2 x3 )

x2 x3 x2 x3 = И

x

2

=

Л

x

2

=

Л

( x3 x3 ) = И

И (И x3 x3 ) = И Рис. 3.7: К задаче 3.2.1.d.

{(ѓx1 ), x2 , (x1 ѓx2 ѓx3 ), (ѓx2 x3 )}

x
...Л...

2

=

Л

x2

=

И

{(ѓx1 ), (x1 ѓx3 ), (ѓx3 )}

x
...Л...

3 2

=

И

x

3

=

Л

{x1 , (ѓx1 )}

x

И

1

=

=

x1

Л

...Л...
Рис. 3.8: К задаче 3.2.2.a.

...Л...


106

Глава 3. Логический подход

{(x1 x2 x3 ), (ѓx1 x2 x3 ), (x1 ѓx2 x3 ), (ѓx1 ѓx2 x3 ), (ѓx3 )}

x

1



x1



{(x2 x3 ), (ѓx2 x3 ), (ѓx3 )}

{(x2 x3 ), (ѓx2 x3 ), (ѓx3 )}

x

2

=

И

x

2

=

Л

x

2

=

И

x

2

=

Л

{x3 , (ѓx3 )}

{x3 , (ѓx3 )}

{x3 , (ѓx3 )}

{x3 , (ѓx3 )}









x3

x
3

x
3

x
3

x
3









x3

...Л...

...Л...

...Л...

...Л...

...Л...

...Л...

...Л...

x3

x3

...Л...

Рис. 3.9: К задаче 3.2.2.b.

{x1 x3 , x1 ѓx2 ѓx3 x4 , ѓx1 , x1 ѓx3 }

x
...Л...

1

=

И

x1

=

Л

{x3 , ѓx2 ѓx3 x4 , ѓx3 }

x
...Л...

3

=

И

x

3

=

Л
...Л...

Рис. 3.10: К задаче 3.2.2.c.


3.2. Исчисление высказываний

107

{(ѓx1 ѓx3 ), (ѓx1 x3 ), (ѓx2 ѓx3 ), (x1 ѓx2 ѓx3 )}

x

1



x1



{(ѓx3 ), x3 , (ѓx2 ѓx3 )}

{(ѓx2 ѓx3 ), (ѓx2 ѓx3 )}

x
{(ѓx3 )}
Рис. 3.11: К задаче ??.b.

2

=

И

x

2

=

Л
И


108

Глава 3. Логический подход

3.3. Исчисление предикатов
Обозначения и определения

В случае языка логики предикатов наш алфавит будет состоять из следующих групп символов: 1) счетный список предметных переменных x1 , x2 , . . . ; 2) счетный список предметных констант a1 , a2 , . . . ; 3) счетный список функциональных символов f1 , f2 , . . . ; 4) счетный список предикатных символов P1 , P2 , . . . ; 5) логические константы И, Л; 6) логические связки ѓ, , , , ; 7) кванторы и ; 8) скобки "( ")"и запятая ". Каждый функциональный либо предикатный символ характеризуется своей некоторым натуральным числом. При этом предполагается, что для каждого натурального n имеется бесконечно много как предикатных, так и функциональных символов арности n.

арностью

Правильные выражения языка логики предикатов разбиваются на два непересекающихся множества множество термов и множество формул. Дадим сначала индуктивное определение . Т1) Однобуквенное слово, состоящее из предметной переменной либо предметной константы, есть терм. Т2) Если t1 , . . . , tn термы и g функциональный символ арности n, то слово g (t1 , . . . , tn ) есть терм. Индуктивное определение опирается на уже введенное понятие терма. Ф1) Однобуквенное слово состоящее из логической константы И либо Л, есть формула логики предикатов. Ф2) Если t1 , . . . , tn термы и g предикатный символ арности n, то слово g (t1 , . . . , tn ) есть формула логики предикатов. Ф3) Если f и g формулы логики предикатов, то слова (ѓf ), (f g ), (f g ), (f g ), (f g ) суть формулы логики предикатов (такие формулы будем называть или ). Ф4) Если f формула логики предикатов и x предметная переменная, то слова (xf ) и (xf ) суть формулы логики предикатов.

множества термов

формул логики предикатов

атомарными

атомами

называем четверку (M , F1 , F2 , F3 ), такую что: а) M непустое множество, называемое областью интерпретации; б) F1 функция, сопоставляющая каждой предметной константе некоторый элемент из M ; в) F2 функция, сопоставляющая каждому функциональному символу f арности n некоторую n-местную функцию, определенную на M и принимающую значения из M . г) F3 функция, сопоставляющая каждому предикатному символу P арности n некоторой n-местный предикат определенный на M (функцию со значениями И, Л).

Интерпретацией языка логики предикатов


3.3. Исчисление предикатов

109

Если задана интерпретация I = (M , F1 , F2 , F3 ), то каждый терм t языка логики предикатов определяет в этой интерпретации некоторую функцию (t)I , определенную на M и принимающую значения из M , а каждая формула f предикат (f )I , определенный на М (в вырожденных случаях (t)I может отождествляться с элементом M , а (f )I с логической константой). Здесь используется следующее индуктивное определение: 1) Если x предметная переменная, то (x)I есть тождественная функция от переменной x определенная на M . 2) Если a предметная константа, то (a)I есть элемент F1 (a) из M . 3) Если для термов t1 , . . . , tn уже определены (t1 )I , . . . , (tn )I , f функциональный символ арности n и = F2 (f ) функция от n переменных, отображающая M n в M , то (f (t1 , . . . , tn ))I = ((t1 )I , . . . , (tn )I ) 4) (И)I = И, (Л)I = Л. 5) Если для термов t1 , . . . , tn уже определены (t1 )I , . . . , (tn )I , P предикатный символ арности n и = F3 (P ) предикат от n переменных, отображающий M n в {И, Л}, то (P (t1 , . . . , tn ))I = ((t1 )I , . . . , (tn )I ) 6) Если для f и g уже определены (f )I и (g )I , то (ѓf )I , (f g )I , (f g )I , (f g )I , (f g )I получаются применением истинностных функций для ѓ, , , , к (f )I и (g )I . 7) Если уже определен предикат (f )I = (x1 , . . . , xn ), то (xi f )I = = (x1 , . . . , xi-1 , xi+1 , . . . , xn ) предикат, принимающий значение И на таких наборах 1 , . . . , i-1 , i+1 , . . . , n элементов M , что для каждого i из M значение (1 , . . . , n ) есть И. Аналогично, (xi f )I = = (x1 , . . . , xi-1 , xi+1 , . . . , xn ) предикат,принимающий значение И на таких наборах 1 , . . . , i-1 , i+1 , . . . , n элементов M , что существует i из M , что значение (1 , . . . , n ) есть И. Вхождение переменной x в формулу f логики предикатов, расположенное внутри подформул вида (xg ) либо (xg ), называется , вхождения переменных не являющиеся связанными, называются . Переменная имеющая хотя бы одно свободное вхождение в формулу либо терм f , называется f . Как нетрудно видеть, функция либо предикат (f )I , определенная выше, зависит лишь от свободных переменных f . Формула без свободных переменных называется . В формуле x1 ((x2 P1 (x2 , x1 )) P2 (x2 , x1 )) первое вхождение переменной x2 связанное, а второе свободное, оба вхождения переменной x1 связанные. Тем самым, у этой формулы одна свободная переменная x2 . Формула ((x1 P1 (x1 )) (x2 P2 (x2 ))) пример замкнутой формулы. Терм t называется xi в формуле логики предикатов f , если никакое свободное вхождение xi в f не лежит в области действия никакого квантора Qxj , где Q {, }, xj переменная, входящая в терм t. Например, терм f1 (x1 , x3 ) свободен для x1 в формуле ((x2 P1 (x1 , x2 )) P2 (x1 )), но не свободен для x1 в формуле (x3 (x2 (P1 (x1 , x2 ) P2 (x1 )))). Если f есть формула логики предикатов, x свободная предметная x переменная формулы f и t терм, то через St f обозначим результат подстановки в f терма t вместо всех свободных вхождений переменной x.

связанным свободными замкнутой

свободной переменной

свободным для переменной

Лемма 5 (об интерпретациях). Если f есть формула логики предикатов, x свободная предметная переменная формулы f и t терм, сво-


110

Глава 3. Логический подход

x (St f ) (t)I

бодный для переменной x в f , то для любой интерпретации I формула I определяет предикат, получающийся подстановкой в (f )I функции вместо переменной x.
Доказательство этой леммы может получено индукцией по построению формулы f и рекомендуется в качестве самостоятельного упражнения.

Если формула f определяет в интерпретации I предикат, тождественно равный И, то она называется I , а I в этом случае называется f. Формулу логики предикатов f называем , если она истинна во всех интерпретациях, и , если хотя бы в одной интерпретации она определяет не тождественно ложный предикат. Если формула f1 . . . fn f0 общезначима, то f0 называется формул f1 , . . . , fn , если формула f1 f2 общезначима, то формулы f1 и f2 называются . Формула ((ѓP1 (x1 )) P1 (x1 )) есть пример общезначимой формулы. Формула ((ѓP1 (x1 )) P1 (f1 (x1 ))) выполнима, но не общезначима. Далее, как и в случае логики высказываний, договоримся опускать скобки, подразумевая, что ѓ самая приоритетная операция, и в случае, когда порядок расставления скобок не существенен (например, для ассоциативных операций). Кроме того, договоримся опускать скобки в формулах вида (Q1 (Q2 A)), где Q1 , Q2 любые кванторы. Например, вместо (x1 (x2 (x3 P1 (x1 , x2 , x3 )))) будем писать x1 x2 x3 P1 (x1 , x2 , x3 ).

моделью для

истинной в

выполнимой

общезначимой

ческим следствием

логи-

эквивалентными

Полнота исчисления предикатов

Для указания дедуктивной системы, перечисляющей все общезначимые формулы логики предикатов, воспользуемся имеющимися у нас схемами аксиом А1)А3), в которых теперь f , g , h произвольные формулы логики предикатов, и добавим к ним следующие две схемы аксиом: А4) Если f , g формулы логики предикатов и x предметная переменная, не являющаяся свободной переменной формулы f , то формула (x(f g )) (f (xg )) есть аксиома. А5) Если f есть формула логики предикатов, x предметная переменная и t терм, свободный для переменной x в f , то формула x (xf ) St f есть аксиома. Правилами вывода в этой дедуктивной системе являются уже известное нам правило modus ponens, а также новое правило (известное как ), позволяющее из формулы f выводить формулу (xf ). Как и в случае логики высказываний, ограничиваемся только логическими связками ѓ и , причем из кванторов используем только квантор общности. Легко видеть, что квантор существования может быть выражен через квантор общности и отрицание: формулы x A(x) и ѓ(x (ѓA(x))) эквивалентны. Так как все аксиомы указанной дедуктивной системы общезначимы, а правила вывода сохраняют общезначимость, то все выводимые в ней формулы общезначимы. Обратно, имеет место следующее утверждение.

обобщения

правило

Теорема 7 (Геделя о полноте исчисления предикатов). Каждая общезначимая формула логики предикатов является выводимой в приведенной выше дедуктивной системе.


3.3. Исчисление предикатов

111

Замкнутая формула f вида x1 . . . xng, где g не содержит кванторов, выполнима тогда,...,xтолько тогда, когда каждое кои нечное подмножество множества {Stx ,...,t g : t1, . . . , tn Hf } выполнимо. Лемма 6 (об унифицирующей подстановке). Если f1 , g1 , . . . , fk , gk бескванторные формулы либо термы и существует такая подстановка , что (f1) = (g1), . . . , (fk ) = (gk ), то существует минимальная подстановка 1, обладающая этим свойством, то есть 1 (f1 ) = 1 (g1 ), . . . , 1 (fk ) = 1 (gk ) и для любой подстановки 2 , удовлетворяющей условиям 2(f1) = 2(g1), . . . , 2(fk ) = 2(gk ), выполнено: 2 = 3 1 при подходящей подстановке 3 (здесь умножение подстановок означает их последовательное применение).
Теорема 8 (Эрбрана).
1 1 n n

Предполагаемая здесь процедура автоматического доказательства теорем использует при поиске такого вывода константы Л следующие (как легко видеть, корректные) правила вывода: R0 ( ). Из произвольного дизъюнкта D выводится дизъюнкт D , полученный из D переобозначением без отождествлений переменных, входящих в D. R1 ( ). Если f1 . . . fs и g1 . . . gr дизъюнкты, множества переменных которых не пересекаются, причем fi имеет вид P (t1 , . . . , tk ), а gj вид ѓP (t1 , . . . , tk ) и унифицирующая подстановка для пары (P (t1 , . . . , tk ), P (t1 , . . . , tk )), i {1, . . . , s}, j {1, . . . , r}, то выводится дизъюнкт

переобозначения переменных правило резолюции

(f1 ). . . (fi

-1

) (f

i+1

). . . (fs ) (g1 ). . . (gj

-1

) (gj

+1

). . . (gr )

(если s = r = 1, то выводится константа Л). Дизъюнкт получаемый согласно правилу R1, называется исходных дизъюнктов. R2 ( ). Если f1 . . . fs дизъюнкт и унифицирующая подстановка для (fi , fj ), i = j , i, j {1, . . . , s}, то выводится дизъюнкт (f1 ) . . . (fi-1 ) (fi+1 ) . . . (fs ).

резольвентой

правило склеивания

Если формула F2 невыполнима и ее конъюнктивная нормальная форма имеет вид &m Bi то за конечное число шагов из дизъюнктов i=1 B1 , . . . , Bm при помощи правил вывода R0, R1, R2 может быть выведена логическая константа Л.
Теорема 9.
Приведем пример формализации задачи, описанной на ?естественном? языке:

Все люди смертны. Сократ человек. Следовательно, Сократ смертен.
Обозначим принадлежность к роду людскому предикатом A(x), свойство ?быть смертным? предикатом B (x), а Сократа константой S . Тогда утверждение запишется в виде: (x(A(x) B (x))&A(S )) B (S ). Для доказательства общезначимости докажем невыполнимость отрицания этой формулы: ѓ (x(A(x) B (x))&A(S )) B (S ). Получаем после преобразований к бескванторной форме (ѓA(x) B (x))&A(S )&(ѓB (S )). Применив правило резолюции с подстановкой (x S ) к дизъюнктам (ѓA(x) B (x)) и A(S ), выводим дизъюнкт B (S ). применив правило резолюции повторно, к


112

Глава 3. Логический подход

B (S ) и ѓB (S ), выводим константу Л. Таким образом, отрицание исходной формулы невыполнимо, следовательно, она сама общезначима. Еще один пример:

Некоторые кочаны капусты являются паровозами. Некоторые паровозы играют на рояле. Следовательно, некоторые кочаны капусты играют на рояле.

Обозначим A(x) предикат ?x является кочаном капусты?, B (x) ?x является паровозом? и C (x) ?x играет на рояле?. Тогда первое утверждение в задаче можно записать как3 x(A(x)&B (x)), второе x(B (x)&C (x)). полностью условие запишется в виде:

x(A(x)&B (x)) & x(B (x)&C (x))
Предваренная форма будет

x(A(x)&C (x)) .

x1 x2 x3 ((ѓA(x1 )) (ѓB (x1 )) (ѓB (x2 )) (ѓC (x2 )) (A(x3 )&C (x3 ))) .
Сколемизируем (учитывая, что x3 не зависит от x1 , 2 )

x1 x2 ((ѓA(x1 )) (ѓB (x1 )) (ѓB (x2 )) (ѓC (x2 )) (A(x0 )&C (x0 ))) .
Несложно подобрать модель, в которой она не выполнена: x E2 , A(x) = x B (x) И, C (x) = ѓx, при x1 = Л, x2 = И (надо заметить, что (A(x0 )&C (x0 )) = Л при любом x0 ).
Упражнения.

Задача 3.3.1. Доказать, что формулы не общезначимы, предъявив предикаты и P для которых они ложны: a) x (x) P (x) x(x) xP (x) ; b) x (x)&P (x) x(x) & xP (x) ; c) y xP (x, y ) xy P (x, y ).

Задача 3.3.2. Какие из приведенных ниже формул общезначимы?
a) b) c) d) e)

x x x x x

f (x) f (x) f ( x) f (x) f ( x)



g (x) g ( x) g (x) g ( x) g (x)



xf (x) xf (x) xf (x) xf (x) xf (x)



xg (x) xg (x) xg (x) xg (x) xg (x)

; ; ; ; ;

Задача 3.3.3. Задана область интерпретации N, на ней заданы предика-

. ты A2 (x, y ) (x.y ), A2 (x, y ) (x < y ) и константа ?1?. Записать следую. 1 2 щие утверждения в виде формулы ИП: a) p простое число. b) (a, b) = 1; c) (a, b) = c;
3
Можно было более формально понимать условие и записать

x(A(x) B (x))

.


3.3. Исчисление предикатов

113

d) a является натуральной степенью числа 2 (в решении разрешается использовать константу ?2?). e) a является натуральной степенью некоторого простого числа (т.е. существуют простое p и натуральное k , такие, что a = pk ). Разрешается использовать предикат, полученный в пункте ?a?: A1 (p) p простое . 1

Задача 3.3.4. Задана область интерпретации R, на ней заданы преди2 2 3 каты P1 (x, y ) (x = y ), P2 (x, y ) (x < y ) и P1 (x, y , ) (|x - y | < ). Записать в виде формулы исчисления предикатов следующие утверждения:

a) Функция f стремится к b) Не существует предела c) Функция f непрерывна d) Функция f непрерывна e) * Если f непрерывна на на нем.

данному A при x 0; f (x) при x 0; в точке x0 ; на отрезке [a, b]. отрезке [a, b], то она равномерно непрерывна

Задача 3.3.5. Привести к предваренной нормальной форме:
a) xA2 (x, y ) A1 (x) uA2 (x, u) . 1 1 1 b) x(A1 (x) y z A3 (x, y , z )); 1 1 c) x A1 (x) A2 (x, y ) 1 1



(tA1 (t)) (z A2 (y , z )) ; 1 1

Задача 3.3.6. Привести к Сколемовской форме:
a) xy uv A4 (x, y , u, v ); 1 b) ( xA1 (x)) uy xA3 (u, x, y ); 1 1

Задача 3.3.7. Записать в виде формулы ИП и привести к предваренной
нормальной форме следующие утверждения: a) ?Ты можешь обманывать коекого все время, ты можешь обманывать всех некоторое время, но ты не можешь обманывать всех все время.? b) ?Если всякий разумный философ циник и только женщины являются разумными философами, то тогда, если существуют разумные философы, то некоторые из женщин циники.?

Задача 3.3.8. Пусть заданы предикаты A1 (x) (x N), A2 (m, n) (m < 1 1
< n), A3 (x, y , ) (|x - y | < ), константа 0. 1
a) Записать в виде формулы исчисления предикатов утверждение, что limn an = Q. (можно считать an = a(n) функция, определенная для натуральных аргументов). b) Привести полученную формулу к предваренной нормальной и к сколемовской нормальной форме; c) Записать утверждение о том, что не существует предела последовательности {bn } и привести к сколемовской форме. d) * Записать теорему Вейерштрасса (про существование предела у неубывающей ограниченной последовательности) в виде формулы ИП. Разрешается использовать предикат A2 (x, y ) x y . 2


114

Глава 3. Логический подход

Во всех зоопарках, где есть слоны и носороги, нет жирафов. Во всех зоопарках, где есть носороги и нет жирафов, есть слоны. Наконец, во всех зоопарках, где есть слоны и жирафы, есть и носороги. Может ли существовать такой зоопарк, в котором есть слоны, но нет ни жирафов, ни носорогов?
Задача 3.3.10. Сформулировать в виде формулы ИП. Привести к предваренной НФ и проверить общезначимость: a) Некоторые улитки являются горами. Все горы любят кошек. Следовательно, все улитки любят кошек. b) Все крокодилы могут летать. Все великаны являются крокодилами. Следовательно, все великаны могут летать. c) Две рощи никогда не похожи друг на друга. Сосны и ели выглядят совершенно одинаково. Следовательно, сосны и ели не являются двумя рощами. d) Никто не может стать президентом, если у него красный нос. У всех людей нос красный. Следовательно, никто не может быть президентом e) Все вороны собирают картины. Некоторые собиратели картин сидят в птичьей клетке. Значит, некоторые вороны сидят в птичьей клетке.

Задача 3.3.9. Записать в виде формулы ИП и проверить выполнимость:

Задача 3.3.11. Записать в виде формулы исчисления предикатов и доказать общезначимость, используя правила резолюции и склеивания: a) Всякий парикмахер в деревне бреет тех и только тех, кто не бреется сам. Следовательно в деревне нет ни одного парикмахера. b) Всякий, кто находится в здравом уме, может понимать математику. Ни один из сыновей Гегеля не может понимать математику. Сумасшедшие не допускаются к голосованию. Следовательно ни один из сыновей Гегеля не будет допущен к голосованию. c) Если для любого множества x существует множество y , такое, что мощность y больше, чем мощность x. Если x включено в y , то мощность x не больше мощности y . Всякое множество включено в V . Следовательно V не множество.

Задача 3.3.12. Предикат P (x, y ) удовлетворяет условиям:
ћ (x)P (x, x); ћ Для всех предикатов A(ћ) формула (P (x, y ) (A(x) A(y )) общезначимая.
Доказать, что в любой области интерпретации P есть предикат тождественного равенства, т.е. P (x, y ) (x = y ).

Задача 3.3.13. Запишите аксиомы группы, используя предикаты E 2 (x, y ) (x = y ) и G3 (x, y , z ) (x y = z ). Как записать условие того, что группа Абелева? Задача 3.3.14. Пусть M = N, S 3 , P 3 , 1 , где S 3 и P 3 предикаты, заданные формулами: S 3 (x, y , z ) (x + y = z ) и P 3 (x, y , z ) (x ћ y = z ).


3.3. Исчисление предикатов

115

a) Записать формулу с одной свободной переменной p истинную в M тогда и только тогда, когда p простое число. b) Привести эту формулу к предваренной форме.

Задача 3.3.15. Привести пример формулы ИП, общезначимой в любой

предметной области мощности 2, но не общезначимой в некоторой предметной области большей мощности.

Задача 3.3.16. Предикаты F (x) и G(x) заданы алгебраическими уравнениями F (x) (f (x) = 0), G(x) (g (x) = 0). Выписать алгебраические уравнения, задающие предикаты: a) F (x) G(x); b) F (x)&G(y ); c) Выписать уравнение (не обязательно алгебраическое), задающее предикат ѓF (x). предикаты:

Задача 3.3.17. Пусть Pi (x), i = 1, 2, 3, 4 некоторые многочлены. Заданы
A ( x)
1 1

P1 (x) < 0, P2 (x) < 0 P3 (x) < 0, P4 (x) < 0.
и A1 ( x ) 2

P1 (x) < 0, P (x) < 0 3 P2 (x) < 0, P4 (x) < 0.

Какие из приведенных формул являются общезначимыми: a) b) c) d) e)

xA1 (x) 1 xA1 (x) 1 xA1 (x) 1 xA1 (x) 1 xA1 (x) 1



A1 (x); 2 A1 (x); 2 A1 (x); 2 A1 (x); 2 A1 (x); 2

менные для множеств и операции , , \, неверно, то можно найти контрпример к нему, в котором множества пусты или содержат по одному элементу.
Ответы и указания.

Задача 3.3.18. Докажите, что если какое-то тождество, содержащее пере-

3.3.1a) x E2 , (x) = x, P (x) = x. ? b) Те же, что и в предыдущем пункте. c) x, y E2 , P (x, y ) = x y .
b) c) d) e)

3.3.2a) Да.
Да. Нет. Нет. Нет.


116

Глава 3. Логический подход

3.3.3 a) A2 (1, p)& ѓ xA2 (1, x)&A2 (x, p)&A2 (p, x) . Хотелось бы заме2 2 2 1 тить, что 1 не простое число, поэтому член A2 (1, p) необходим. 2

b) ѓ x A2 (a, x)&A2 (b, x)&A2 (1, x) . 1 1 2 c) A2 (a, c)&A2 (b, c)&ѓ x A2 (a, x)&A2 (b, x)&A2 (c, x) . 1 1 1 1 2 d) A2 (1, c)& x A2 (c, x)&A2 (1, x) A2 (x, 2) . Пользуемся тем, что нату2 2 1 1 ральная степень двойки не имеет нечетных делителей (кроме 1). e) A2 (1, c)& pA1 (p)& x A2 (c, x)&A2 (1, x) A2 (x, p) . 2 1 2 1 1

2 2 3 3 3.3.4 a) P2 (0, ) P2 (0, )& P1 (0, x, ) P1 (A, f (x), ) 2 2 3 3 b) A P2 (0, )&ѓ P2 (0, )& P1 (0, x, ) P1 (A, f (x), ) 2 c) P2 (0, ) 2 3 3 P2 (0, )& P1 (x0 , x, ) P1 (f (x0 ), f (x), )

. . .

d) Тут необходимо учесть, что в концах отрезка непрерывность будет односторонней.
2 2 x0 P2 (x0 , a) P2 (b, x0 ) 2 P2 (0, )



2 2 2 3 3 P2 (0, )& xP2 (x, a)P2 (b, x) P1 (x0 , x, ) P1 (f (x0 ), f (x), )

.

e) Обозначим результат предыдущего пункта C сокращение!).

[a,b]

(f ) (это не предикат, а

C

[a,b]

(f )

2 P2 (0, )

2 2 2 P2 (0, )& x1 x2 P2 (x1 , a) P2 (x2 , a)

2 2 3 3 P2 (b, x1 ) P2 (b, x2 ) P1 (x1 , x2 , ) P1 (f (x1 ), f (x2 ), )

3.3.5 a) xu(A2 (x, y ) ѓA1 (x) ѓA2 (x, u); 1 1 1

b) xy1 z1 y2 z2 A1 (x)&A3 (x, y1 , z1 ) (ѓA1 (x))&(ѓA3 (x, y2 , z2 ) ; 1 1 1 1 c) xtz A1 (x)& ѓA2 (x, y ) ѓA1 (t) A2 (y , z ) . 1 1 1 1

3.3.6 a) xuA4 (x, f (x), u, g (x, u)); 1
b) ux A1 (c0 ) A3 (u, x, f (u)) . 1 1
2 3.3.7 a) Обозначим P1 (x, t) (ты можешь обманывать x в момент t). То-

гда утверждение запишется в виде:

2 2 2 x1 t1 P1 (x1 , t1 ) & t2 x2 P1 (x2 , t2 ) &ѓ x3 t3 P1 (x3 , t3 ) .

Приводя к предваренной нормальной форме, получим:
2 2 2 x1 t1 t2 x2 x3 t3 P1 (x1 , t1 )&P1 (x2 , t2 )&ѓP1 (x3 , t3 ) . 1 1 b) Введем обозначения P1 (x) (x разумный философ), P2 (x) 3 (x циник) и P1 (x) (x женщина). Тогда утверждение можно записать следующим образом: 1 1 1 1 x1 P1 (x) P2 (x) & x2 P3 (x) P1 (x) 1 1 x3 P1 (x3 ) x4 P3 (x4 ) P2 (x4 )

.


3.3. Исчисление предикатов Приведем к нормальной форме:

117

x1 x2 x3 x

4

1 1 1 1 1 1 1 P1 (x1 )&(ѓP2 (x1 )) (ѓP3 (x2 ))&P1 (x2 ) (ѓP1 (x3 )) (ѓP3 (x4 )) P2 (x4 ) .

3.3.8 a) Стандартное определение из учебника мат. анализа выглядит так:
> 0N = N () : n > N (|an - Q| < ).
Заметим, что от N можно не требовать натуральности, а для n она должна быть. Перепишем формулу в виде:

(( > 0) (N (n(n N)&(n > N ) (|an - Q| < )) .
Теперь, подставляя соответствующие предикаты, получим:

(A2 (0, ) N n(A1 (n)&A2 (N , n) A3 (an , Q, )) . 1 1 1 1
b) Заменим импликации:

ѓA2 (0, ) N nѓA1 (n) ѓA2 (N , n) A3 (an , Q, ) . 1 1 1 1
Переносим кванторы в начало:

N n ѓA2 (0, ) ѓA1 (n) ѓA2 (N , n) A3 (an , Q, ) . 1 1 1 1
Сколемизируем:

n ѓA2 (0, ) ѓA1 (n) ѓA2 (N (), n) A3 (an , Q, ) . 1 1 1 1
c) B A2 (0, )& N nA1 (n)&A2 (N , n)&ѓA3 (bn , B , ) . Приведем к предва1 1 1 1 ренной нормальной форме:

B N nA2 (0, )&A1 (n)&A2 (N , n)&ѓA3 (bn , B , ). 1 1 1 1
Сколемизируем:

B N A2 (0, (B ))&A1 (n(B , N ))&A2 (N , n(b, N ))&ѓA3 (bn , B , (B )). 1 1 1 1
d) Запишем теорему Вейерштрасса:

mn(A1 (m)&A1 (n)&A2 (m, n)) A2 (am , an ) & M n(A1 (n) A2 (an , M )) 1 1 2 2 1 1 Q(A2 (0, ) N n(A1 (n)&A2 (N , n) A3 (an , Q, )) 1 1 1 1 .

3.3.9 Пусть x зоопарк, наличие слонов, носорогов и жирафов запишем в виде предикатов A(x), B (x) и C (x), соответственно. Тогда условия задачи можно записать в виде: x((A(x)&B (x)) ѓC (x)), x((B (x)&ѓC (x)) A(x)) и x((A(x)&C (x)) B (x)). а вопрос в виде x(A(x)&ѓB (x)&ѓC (x). Выполнимость очевидна при A(x) = И, B (x) = C (x) = Л

3.3.10 a) Обозначим A1 (x)

(x улитка); A2 (x) (x гора); A3 (x) (x любит кошек). Тогда утвержение запишется в виде: (x(A1 (x)&A2 (x))) & (x(A2 (x) A3 (x))) (x(A1 (x) A3 (x))). Предваренная форма: xy z ((ѓA1 (x)) (ѓA2 (x)) (A2 (y )&ѓA3 (y )) (ѓA1 (z )) A3 (z )).


118

Глава 3. Логический подход

Сколемизируем: xz ((ѓA1 (x)) (ѓA2 (x)) (A2 (y0 )&ѓA3 (y0 )) (ѓA1 (z )) A3 (z )). Формула не общезначима, т.к. легко построить модель, в которой она ложна: например x E2 , A1 (x) = И, A2 (x) = A3 (x) = x. Подставив, получим xz (ѓИ ѓx (y0 &ѓy0 ) ѓИ z ), после упрощения xz (ѓx z ), что ложно при x = И, z = Л. b) Общезначима. c) Общезначима. d) Не общезначима. e) Не общезначима.

3.3.11 a) Обозначим A(x, y ) (x бреет y ), B (x) (x парикмахер ). Тогда утверждение запишется в виде:

(xB (x) (y A(x, y ) ѓA(y , y ))) ѓ (xB (x)) .
Приведем отрицание этого утверждения к предваренной форме, получим:

z xy ѓB (x) (A(x, y )&ѓA(y , y )) (ѓA(x, y )&A(y , y )) &B (z ).
Сколемизируем и запишем в виде КНФ:

xy (ѓB (x) A(x, y ) A(y , y ))&(ѓB (x) ѓA(x, y ) ѓA(y , y ))&(B (z0 )).
Применим подстановку y x и правило резолюции к первым двум дизъюнктам, получим дизъюнкт ѓB (x). Применим к полученному и к третьему дизъюнкту подстановку x z0 и правило резолюции, получим константу Л.

3.3.12 Если x0 = y0 , то можно построить предикат A(x) (x = x0 ). То-

гда A(x0 ) A(y0 ) ложно, следовательно должен быть ложен предикат P (x0 , y0 ). А на одинаковых элементах этот предикат по первому свойству истинен. Значит это предикат равенства.

3.3.13 Значала запишем то, что операция однозначно определена на

элементах группы: xy z G3 (x, y , z ) & z1 z2 G3 (x, y , z1 )&G3 (x, y , z2 ) E 2 (z1 , z2 ) . Запишем определение единичного элемента e группы: xG3 (x, e, x)&G3 (e, x, x). Существование обратного: xx-1 G3 (x, x-1 , e)&G3 (x-1 , x, e). Коммутативность: xy z G3 (x, y , z ) G3 (y , x, z ).

3.3.14 Запишем определение простого числа:
. (p простое) (p > 1)&x(1 < x < p) (p . x). . . Заметим, что отношение делимости a.b можно записывать как xP 3 (x, b, a). . А условие a < b можно записать как xS 3 (x, a, b). В итоге приходим к формуле

x

1

(x2 S 3 (1, x2 , x1 )&(x3 S 3 (x1 , x3 , p)) ѓ(x4 P 3 (x1 , x4 , p))

&(ѓx5 S 3 (1, x5 , p)).

Предваренная форма будет

x1 , x2 , x3 , x4 , x5 (ѓS 3 (1, x2 , x1 )) (ѓS 3 (x1 , x3 , p)) (ѓP 3 (x1 , x4 , p)) &(ѓS 3 (1, x5 , p)).


3.3. Исчисление предикатов

119

3.3.15 x, y , z (P1 (x) P1 (y )) (P2 (y ) P1 (z )) (P3 (z ) P3 (x)). Если

предметная область имеет мощность 2, то, очевидно, что из x, y , z какието два равны друг другу, откуда и вытекает общезначимость указанной формулы. Для мощности большей 2 (например 3) можно предъявить пример. Пусть x = 1, y = 2, z = 3, Pi (x) (x = i). Тогда в каждой скобке первое значение предиката истинно, а второе ложно.

3.3.16a) f (x)g (x) = 0. b) f 2 (x) + g 2 (y ) = 0. f (x) c) f (x) = 1. 3.3.17 a) Не общезначима; b) Не общезначима; c) Общезначима; d) Общезначима; e) Не общезначима.

3.3.18 Пусть тождество имеет вид F1 (A1 , . . . , An ) F2 (A1 , . . . , An ), где F1 ,

F2 формулы алгебры множеств. Сделаем замены: Ai xi , &, , A \ B a&(ѓb). Получатся формулы 1 , 2 исчисления высказываний. Если тождество неверно, то формула 1 (x1 , . . . , xn ) 2 (x1 , . . . , xn ) не общезначима, следовательно, существует набор a1 , ..., an , на котором она , ai = Л принимает значение Л. Тогда рассмотрим A = тождество i {a}, ai = И будет опровергнуто наботом множеств (A , . . . , A ). n 1


120

Глава 3. Логический подход


Литература
[1] Александров П.С., Курс аналитической геометрии и линейной алгебры: Учебник. 2-е изд., стер., СПб.: изд-во ?Лань?, 2009, 512 стр. [2] Алексеев Д.В., Использование метода В.Н. Козлова в образовательном процессе на кафедре МаТИС, Интеллектуальные системы, т. 17, 1-4, с. 16-20 [3] Козлов В.Н., Математическое моделирование зрительного восприятия, Математические вопросы кибернетики, т. 6, 1996, с. 321-338. [4] Козлов В.Н., Элементы математической теории зрительного восприятия, М.: Изд-во ЦПИ при мех.-мат. ф-те МГУ, 2001, 128 стр. [5] Козлов В.Н., Доказательность и эвристика при распознавании визуальных образов, Интеллектуальные системы, т. 14, 1-4, 2010 г., с. 35-52 [6] Kozlov V.N., Image Coding and Recognition and Some Problems of Stereovision, Pattern Recognition and Image Analysis, Vol.7, No. 4, 1997, pp. 448 - 466. [7] Кудрявцев В.Б., Гасанов Э.Э., Подколзин А.С. Введение в теорию интеллектуальных систем. М.: Изд-во ф-та ВМиК МГУ, 2006, 208 с. [8] Логические способы контроля электрических схем // Труды матем. ин-та им. В.А. Стеклова, АН СССР. 1958. Т. 51. С. 270360.

Чегис И.А, Яблонский С.В.

[9]

Яблонский С.В., Чегис И.А.

О тестах для электрических схем // Успехи матем. наук. 1955. Т. 10, вып.4(66). С. 182184.

[10] О математических принципах классификации предметов и явлений // Дискретный анализ. 1966. 7. [11] О сравнении тестовых алгоритмов распознавания // Журнал выч. матем. и матем. физики. 1975. Т. 15, 3. С. 749756. [12] Об одном линейном методе распознавания образов // Комбинаторно-алгебраические методы в прикладной математике (Межвузовский сб.) 1982. [13] О линейном тестовом алгоритме распознавания // ДАН СССР. 1983. Т. 271, 5. 121

Дмитриев А.Н., Журавлев Ю.И., Кренделев Ф.П.

Королева З.Е.

Переяславский В.И. Переяславский В.И.


122

Литература

[14] Гаврилов Г.П., Сапоженко А.А. // Задачи и упражнения по дискретной математике: Учеб. пособие 3-е изд., перераб. М.:ФИЗМАТЛИТ, 2005, 416 с.