How to optimise a boolean expression

122 Views Asked by At

I am working on an optimization problem involving Boolean expressions and wanted some help as I have very little knowledge about the topic. The problem statement is as follows:

There are a set of functions, say, f1 to fn outputting either 0 or 1 only and three Boolean operations, AND, OR and NOT, a logical expression involving the functions is expected to be generated as follows:

F1 or F2 and F3 or ………. [ The logical expression need not necessarily include all n variables, n is expected to be ~10].

The logical expression generated is expected to generate a true or false signal, which drives the functioning of a black box. The “success” of the logical expression is measurable by a metric, however, apart from the metric, no other data is readily available from the black box.

Furthermore, the following is expected regarding the nature of the solutions [though not entirely confident]:

  1. Vast majority of the solutions is expected to have a negative metric, optimal solution is to have a positive metric.
  2. Majority of solutions are expected to have a metric close to zero, the metric of the best solution is also anticipated to be close to zero, but marginally positive.
  3. Multiple optimal solutions are anticipated, however variation between the metric for the optimal solutions is not anticipated to be very large.

Is there a way to find an optimal logical rule that gives the “best” measured performance of the black box?