Основные понятия математической логики
Скачать 2.35 Mb.
|
Ещё пример задания:Р-27. Известно, что для некоторого отрезка А формула( (x A) (x2 64) ) ( (x2 25) (x A) )тождественно истинна (то есть принимает значение 1 при всех вещественных значениях переменной x). Какую наименьшую длину может иметь отрезок A?Решение: заметим, что здесь два условия объединяются с помощью логической операции «И»: (x A) (x2 64) (x2 25) (x A) рассмотрим первое условие; чтобы импликация была истинна, при истинной левой части (посылке) вторая часть (следствие) тоже должна быть истинна это значит, что если x принадлежит отрезку A, должно выполняться условие x2 64, то есть | x| 8, поэтому отрезок A должен целиком содержаться внутри отрезка [–8; 8] теперь рассмотрим второе условие: если x2 25, то есть если | x| 5, то такой x должен принадлежать отрезку A это значит, что весь отрезок [–5; 5] должен находиться внутри A, длина этого отрезка – 10. Ответ: 10. Ещё пример задания:Р-26 (демо-2018). Для какого наибольшего целого числа А формула( (x 9) (xx A) ) ( (yy A) (y 9) )тождественно истинна (то есть принимает значение 1 при любых целых неотрицательных значениях переменных x и y)?Решение: заметим, что здесь два условия, которые объединяются с помощью логической операции «И»: (x 9) (xx A) (yy A) (y 9) необходимо, чтобы оба условия были выполнены одновременно; к счастью, первое зависит только от переменной x, а второе – только от переменной y, поэтому их можно рассматривать отдельно: каждое из них задает некоторое ограничение на значение A рассмотрим первое условие: (x 9) (xx A). Для того чтобы импликация была истинной, нужно не допустить варианта 1 0, то есть при истинной левой части правая часть тоже должна быть истинной. это значит, что для всех 0 x 9 мы должны обеспечить xx A, то есть выбрать Axx для все допустимых значений x. Очевидно, что для этого необходимо и достаточно выбрать A99= 81. Таким образом, мы определили минимальное допустимое значение A = 81. теперь рассмотрим второе условие: (yy A) (y 9). Чтобы оно было истинно, нужно не допустить варианта 1 0. Выбором A мы можем влиять на левую часть, но не на правую. «Угрозу» представляет вариант, когда правая часть ложна, то есть y> 9. В этом случае нам нужно сделать левую часть ложной, то есть обеспечить выполнение условия yy> A. для выбора максимального A возьмем минимальное значение y, для которого y> 9. Это даёт условие 1010> A, откуда следует A < 100 таким образом, максимально допустимое значение A равно 99. Ответ: 99. Решение (через отрезки, А.Н. Евтеев, Тульская обл.): Если заменить неравенства буквами, то формула в общем виде будет выглядеть так: ( P Q ) (R S)=1 Перейдём от импликаций в скобках к логическому сложению, получим: (¬P +Q ) (¬R + S)=1 Поскольку между скобками мы имеем логическое умножение, истинное лишь при истинности обоих сомножителей, можем перейти к системе: ¬P +Q =1 ¬R + S=1 Вернёмся от букв к исходным неравенствам, учитывая инверсию: (x> 9) + (xx A)=1 (yy> A) + (y 9) =1 Перейдём к числовой прямой. Чтобы формула была истинной, каждая записанная выше сумма должна закрывать всю ось. Для первого выражения это будет выглядеть так: Интервал от 10 и далее закрывает неравенство x > 9, а интервал от 0 до 9 включительно закрывает неравенство xxA. И поскольку х на этом интервале не превышает 9, выражение xxA будет истинным уже при А=81 Аналогично для второй суммы: Интервал от 0 до 9 включительно закрывает неравенство y 9, а интервал от 10 и далее закроет неравенство yy > A. И поскольку значения у начнутся здесь с 10, а yy =100, то выражение гарантированно будет истинным, если А будет меньше 100, то есть, не будет превышать 99. Ответ: 99. Решение (графическое, О.В. Алимова): Перейдем к системе и избавимся от импликации ( x > 9) + (xx A) =1 (yy > A) + (y 9) = 1 Так как уравнения независимы, то можно рассматривать их отдельно. Согласно условию нас будет интересовать только I четверть. Построим множества, удовлетворяющие первому уравнению. дизъюнкция – объединение множеств от y в первом уравнении ничего не зависит, то есть, если для какого-то x неравенство выполнилось, то оно будет выполняться для этого x при любом y, следовательно можем рассматривать области плоскости, а не только отрезки/интервалы на оси OX для точек правой границы левого прямоугольника условие x2 ≤A выполняется для точек левой границы правого прямоугольника условие x > 9 не выполняется При увеличении значения А, ширина левого прямоугольника будет увеличиваться, и при А = 81, объединение прямоугольников закроет все значения х. Это наименьшее возможное значение А. При дальнейшем увеличении А, будет расти область пересечения прямоугольников, но все значения х, будут входить в объединение прямоугольников. Рассмотрим второе уравнение. Множества удовлетворяющие этому уравнению будут выглядеть так: Пока верхний и нижний прямоугольник пересекаются, можем увеличивать А. Значение А можно увеличивать и дальше, пока в область объединения прямоугольников не перестанет попадать целое значение y. А это произойдет при А=100, для у=10 неравенство y2 > A перестанет выполняться. Наибольшее значение А=99. Ответ: 99. Замечания. В зависимости от строгости(не строгости) неравенств в исходном уравнении, будут включатся или исключатся точки, лежащие на границе соответствующей области. Так значение А для уравнения (x < 9) (xxA) = 1 будет 64, для уравнения (x < 9) (xx < A) = 1 будет 65, а для уравнения (x 9) (xx < A) = 1 будет 82. Аналогично, во втором уравнении, могут получиться числа 100, 81, 80. Решение (М.В. Кузнецова): Заметим, что данная формула содержит конъюнкцию двух импликаций. Конъюнкция истинна только, если оба операнда равны 1, т.е. обе импликации должны быть равны 1, для этого надо исключить ситуации 1 0 , переведя их к истинным импликациям 1 1 или 0 0. Дальнейшие рассуждения оформим в таблице.
Пояснения * При переписывании формулы в неравенствах с «А» меняем местами левую и правую часть, т.е. «А» пишем слева. ** Помечаем символом «+» элементы формулы, содержащие «A», изменяя значения которых должны исключить неблагоприятные ситуации. Ответ: 99. Решение (программа на Python, А. Носкин): Программа на Python, перебор вариантов: a = [] # список для хранения значений А for A in range(1,200): k = 1 # флаг for x in range(1,100): for y in range(1,100): if (((x<=9)<=(x*x<=A))and((y*y<=A)<=(y<=9)))==False: k = 0 # появился Х или Y, при котором ЛОЖЬ break if k == 1: # все числа Х и Y перебрали a.append( A ) print( max(a) ) Ответ: 99. |