powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Оптимизация логических выражений
14 сообщений из 14, страница 1 из 1
Оптимизация логических выражений
    #39294503
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть выражние записанное в строке:

Код: plaintext
((((РР && (YY || SS)) && DD) && LL) && AA)

нужно его упростить до:

Код: plaintext
(РР && (YY || SS) && DD && LL && AA)

Как такое делается?
...
Рейтинг: 0 / 0
Оптимизация логических выражений
    #39294517
Алиса С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Оптимизация логических выражений
    #39294534
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, я знаю как это называется.
Тут вопрос скорее практический. С какой стороны подойти? А может проекты какие-то, где это уже было реализовано.
...
Рейтинг: 0 / 0
Оптимизация логических выражений
    #39294545
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вариант: переводить в обратную польскую запись , а вместо расчета генерить строку с формулой, скобки ставить только для подстрок имеющих операции с меньшим приоритетом.
...
Рейтинг: 0 / 0
Оптимизация логических выражений
    #39294561
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Оптимизация логических выражений
    #39294625
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett,

Под "упростить" понимается только удаление лишних скобок или минимизаций булевой функции?
...
Рейтинг: 0 / 0
Оптимизация логических выражений
    #39294633
Алиса С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hett,

В статье есть формулы. По ним и упрощать. Или вы хотите научить упрощать компьютер?
...
Рейтинг: 0 / 0
Оптимизация логических выражений
    #39294665
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett
Код: plaintext
(РР && (YY || SS) && DD && LL && AA)

Как такое делается?

Смотри. Упрощать здесь особо нечего. Пускай так и будет. Первый пункт
переходит ко второму на основе убирания скобок в соотвествтии с приоритетами.
Это к лог-выражениям не имеет никакого отношения. Это общие знания.

Далее. Если у тебя есть сведения о взаимо зависимостях между
предикатами PP,YY,SS,DD,LL,AA то ты должен их предоставить.

Например PP=F(YY,SS). И на основании этих сведений мы можем предложить
улучшения.

Или. Если функции PP=F1(...), YY=F2(....) и каждая из функций обладает
сложностью в вычислениях то можно провести оптимизацию
базирующуюся на скорости. Тоесть маскимально быстро вычислить
результат меняя порядок булевых функций.
...
Рейтинг: 0 / 0
Оптимизация логических выражений
    #39294767
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftHett,

Под "упростить" понимается только удаление лишних скобок или минимизаций булевой функции?

Именно. Упростить для восприятия человеком.
...
Рейтинг: 0 / 0
Оптимизация логических выражений
    #39294776
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettmiksoftHett,

Под "упростить" понимается только удаление лишних скобок или минимизаций булевой функции?

Именно. Упростить для восприятия человеком.
Тут все сложно, надо искать золотую середину "понимания", т.к. если убрать все скобки, то будет
Код: sql
1.
YY && РР && DD && LL && AA || SS && РР && DD && LL && AA


ХЗ понятнее ли это будет человеку.
...
Рейтинг: 0 / 0
Оптимизация логических выражений
    #39294815
L1G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett, всё просто: сначала конвертируете в постфиксную (RPN), а потом - обратно
в стандартной реализации первой конверсии порядок аргументов точно сохраняется, а судя по
http://scanftree.com/Data_Structure/prefix-postfix-infix-online-converter
- и при обратной тоже
на той страничке и алгоритмы где-то рядом есть
только вот я не понял, почему у вас самые внешние скобки не убираются
...
Рейтинг: 0 / 0
Оптимизация логических выражений
    #39294821
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett почитай

https://ru.wikipedia.org/wiki/Законы_де_Моргана

+ законы поглощения, коммутативности, ассоциативности e.t.c.
...
Рейтинг: 0 / 0
Оптимизация логических выражений
    #39294861
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett,
есть много способов.

алгебраически, по таблице истинности,
...
Рейтинг: 0 / 0
Оптимизация логических выражений
    #39294931
scf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett,

https://ru.wikipedia.org/wiki/Карта_Карно
Странно, что никто не вспомнил.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Оптимизация логических выражений
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]