Как оптимизировать логическое выражение - PullRequest
0 голосов
/ 02 июня 2019

Суть проблемы заключается в следующем:

Существует набор функций, скажем, от f1 до fn, выводящих только 0 или 1, и три логических операции, И, ИЛИ и НЕ, ожидается, что логическое выражение, включающее функции, будет сгенерировано следующим образом:

F1 или F2 и F3 или ………. [Логическое выражение не обязательно должно включать все n переменных].

Ожидается, что сгенерированное логическое выражение сгенерирует сигнал истины или ложи, который управляет функционированием черного ящика. «Успех» логического выражения измерим с помощью метрики, однако, кроме метрики, из черного ящика нет других доступных данных.

Есть ли способ найти оптимальное логическое правило, которое дает «наилучшую» измеренную производительность черного ящика?

Я пробовал перебор, но я не думаю, что это лучший способ решить эту проблему. Во-первых, каждая оценка производительности черного ящика по отношению к логическому выражению занимает около 2-5 секунд, «дай» или «дай».

В отношении характера решений ожидается следующее [хотя и не совсем уверенное в них]:

  1. Ожидается, что подавляющее большинство решений будет иметь отрицательный Метрика, оптимальное решение - иметь положительную метрику.

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

  3. Ожидается несколько оптимальных решений, однако возможны различия между метрикой для оптимальных решений не ожидается быть очень большим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...