Я новичок в теме пропозициональной логики и логических выражений. Вот почему мне нужна помощь. Вот моя проблема:
В автомобильной промышленности у вас есть тысячи различных вариантов компонентов, доступных на выбор при покупке автомобиля. Не все компоненты комбинируемы, поэтому для каждого автомобиля существует множество правил, которые выражаются в логике высказываний. В моем случае каждая машина имеет от 2000 до 4000 правил.
Они выглядят так:
- A → B ∨ C ∨ D
- C → ¬F
- F ∧ G → D
- ...
где «∧» = «и» / «∨» = «или» / «¬» = «не» / «→» = «импликация».
Переменные A, B, C, ... связаны с компонентами в спецификации. Имеющиеся у меня данные состоят из пар компонентов со связанными переменными.
Пример:
- Компонент_1, Компонент_2: (А) ∧ (В)
- Компонент_1, Компонент_3: (А) ∧ (С ∨ F)
- Компонент_3, Компонент_5: (B ∨ G)
- ...
Теперь мой вопрос, как решить эту проблему. В частности, я хотел бы знать, возможна ли каждая комбинация компонентов в соответствии с приведенными выше правилами.
- Какой инструмент, программное обеспечение и алгоритм могут решить такие проблемы?
- Есть наглядный пример?
- Как я могу автоматизировать это, чтобы проверять каждую комбинацию в моем списке?
- Вообще, что мне поискать в гугле, чтобы углубить свои знания в этой теме?
Спасибо большое за помощь! Олаф