Тема 15. Алгебра логики – преобразование логических выражений

15.03 Неравенства

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела алгебра логики – преобразование логических выражений
Решаем задачу:

Ошибка.
Попробуйте повторить позже

Задача 1#51791

На числовой прямой задан отрезок A  . Известно, что формула

((x ∈ A ) → (x2 ≤ 100))∧ ((y2 ≤ 25) → (y ∈ A))

тождественно истинна при любых вещественных x  и y  . Какую наименьшую длину может иметь отрезок A  ?

Показать ответ и решение

Аналитическое решение

Упростим выражение, раскрыв импликацию:

((x∈∕A )∨(x2 ≤ 100))∧ ((y2 > 25)∨ (y ∈ A))

Нарисуем полученные неравенства на числовых осях:

PIC

Красным на этом рисунке выделены области, которые перекрываются известной частью выражения, а синей те части, которые необходимо перекрыть отрезком A  . Так как (x ∕∈ A)  и (y ∈ A)  , то наименьший отрезок, которым может быть A  это [-5; 5]. Так как если сделать его еще меньше, то будут точки на оси y  для которых выражение не будет являться истиной. Длина этого отрезка – 10.

Идея программного решения:

Перебираем все возможные отрезки A = [a,b]  на числовой прямой с шагом дискретизации (например, 0.25), чтобы учитывать вещественные значения. Для каждого отрезка проверяем тождественную истинность формулы для всех выбранных точек x  и y  :

            2           2
((x ∈ A ) → (x ≤ 100))∧ ((y ≤ 25) → (y ∈ A )).

- Если формула не выполняется для какой-либо пары (x,y)  , отрезок отбрасываем. - Если формула выполняется для всех перебранных точек, отрезок считается подходящим, и мы обновляем минимум длины b− a  .

После перебора всех вариантов отрезков минимальная найденная длина будет наименьшей возможной длиной отрезка A  , при которой формула тождественно истинна.

Решение программой:

minLen = 10**10  # Наименьшая длина отрезка A

# Перебор целых значений для a и b с шагом 0.25 (умножаем на 4)
for a in range(-30, 30):
    for b in range(a, 30):
        ok = 1  # Флаг, показывает, что отрезок подходит

        # Перебор x с шагом 0.25
        for x in range(-30*4, 30*4 + 1):
            x /= 4
            # Перебор y с шагом 0.25
            for y in range(-30*4, 30*4 + 1):
                y /= 4
                # Проверяем тождественную истинность формулы для текущих x, y
                F = ((a <= x <= b) <= (x**2 <= 100)) and ((y**2 <= 25) <= (a <= y <= b))
                if F == 0:  # Если формула не выполняется
                    ok = 0  # Отрезок не подходит
                    break  # Прерываем перебор y
            # Если формула не выполняется, прерываем перебор x
            if ok == 0:
                break
        # Если отрезок подошёл для всех x и y
        if ok == 1:
            # Обновляем минимальную длину
            minLen = min(minLen, (b - a))
# Выводим наименьшую возможную длину отрезка A
print(minLen)

Ответ: 10

Специальные программы

Все специальные программы

Программа
лояльности v2.0

Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!

Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение

Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты

Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей

Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ

Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!

cyberpunkMouse
cyberpunkMouse
Рулетка
Вы можете получить скидку в рулетке!