^{1}

^{2}

^{3}

^{3}

^{1}

^{2}

^{3}

Optimization problems pervade essentially every scientific discipline and industry. A common form requires identifying a solution satisfying the maximum number among a set of many conflicting constraints. Often, these problems are particularly difficult to solve, requiring resources that grow exponentially with the size of the problem. Over the past decades, research has focused on developing heuristic approaches that attempt to find an approximation to the solution. However, despite numerous research efforts, in many cases even approximations to the optimal solution are hard to find, as the computational time for further refining a candidate solution also grows exponentially with input size. In this paper, we show a

In real-life applications, it is common to encounter problems where one needs to find the best solution within a vast set of possible solutions. These

It is typical to write the Boolean formulas as

A simple example of a CNF formula

A Max-SAT problem whose CNF representation has exactly

Max-E

It has further been shown, using probabilistically checkable proofs [

Despite these difficulties, it is often necessary to solve or approximate optimization problems such as these as quickly as possible, and the quality of the approximation can have direct outcomes on the cost to businesses, the speed of our internet connections, or the efficiency of our shipping, to name a few important cases. In what follows, we outline a novel approach to generating approximations to Max-E

In this work, we consider a radically different

Time nonlocality allows us to build logic gates that

We first construct the Boolean circuit that represents the problem at hand (e.g., the Max-E

We replace the traditional (unidirectional) Boolean gates of this Boolean circuit with SOLGs.

We feed the appropriate terminals with the required output of the problem (e.g., the logical 1 if we are interested in checking its satisfiability).

Finally, the electronic circuit built out of these SOLGs can be described by

Example of the mapping between a Boolean satisfiability formula in conjunctive normal form and a Boolean circuit made of multiterminal OR and NOT gates. Each clause of the SAT formula is mapped into an OR with as many terminals as the literals in the clause (the satisfiability of this multiterminal OR requires that at least one terminal has a truth value of 1). The global optimum of the SAT formula, that is, the maximum number of satisfied clauses, corresponds to the maximum number of OR gates with output one. This Boolean circuit is then transformed into a self-organizing logic circuit by substituting each standard Boolean gate with a self-organizing logic gate [

The procedure of how we transform a combinatorial optimization problem into an electronic circuit as well as a sketch of its numerical solution is discussed further in the appendix (see also [

This radical change of perspective manifests its power already in comparing simulations of DMMs with those performed by the winners of the 2016 Max-SAT competition [

Since a direct comparison is difficult across hardware and implementations (our solver is written in MATLAB which is notoriously inefficient compared with the compiled languages of the competition solvers). Nevertheless, these tests already provide strong indication of the advantages of our approach using digital memcomputing machines over traditional combinatorial optimization.

However, in order to form a direct comparison and more clearly show the

Random 3-SAT instances may be generated by selecting 3 variables out of

However, the difficulty of computing approximations for these instances varies widely. This can be partially attributed to the fluctuations in variable occurrences and their negations [

Each XORSAT clause may be converted to a block of four SAT clauses, for example,

A basic understanding of this difficulty can be obtained by considering that changing a variable assignment affects positively (namely, contributes a true literal to) the same number of clauses as those affected negatively (where the literal is false), because of the balanced occurences of the variables. Therefore, for any combinatorial approach, when a certain amount of satisfied clauses is reached, any further improvement requires many

While more difficult, these instances also display some variation in resolution time. In order to obtain instances of more predictable difficulty, we impose a further constraint requiring all variables to appear the same number of times (or as near as possible while remaining consistent with the number of clauses

In the following, we will call “random-Max-E3SAT” a Max-E3SAT completely generated at random. This will be used as an “easy” problem to test the performance of all solvers. We refer to “hyper-Max-E3SAT” as the Max-E3SAT generated from a random Max-E3XOR and finally to “delta-Max-E3SAT” as a problem generated by the Max-E3XOR with

As it is evident in Figure

Simulation time comparison between incomplete solvers CCLS and DeciLS against our solver, Falcon, for the balanced and constrained delta-Max-E3SAT. A threshold of

The optimum for all problems can be estimated using an ensemble of small instances for which it is easier to find a fairly good approximation. For example, instances of about 300 variables and density (clauses/variables) of

In order to prove the superior efficiency of our noncombinatorial approach for this class of hard problems, we have evaluated their scaling properties up to

The hard inapproximability limit and its exponential nature for both the combinatorial heuristics CCLS and DeciLS is clearly visible in Figure

The exponential blowup of CCLS and DeciLS is already evident for small instances of the problem, while our noncombinatorial approach performs

To better highlight the

Comparison between the incomplete solver CCLS versus our noncombinatorial solver, Falcon, for (a) random-Max-E3SAT, (b) hyper-Max-E3SAT, and (c) delta-Max-E3SAT. In these plots, the percentage of unsatisfied clauses versus the time normalized with respect to the number of variables is shown to highlight the linear scaling of our solver. All calculations have been performed on a single thread of an Intel Xeon E5-2680 v3 with 128 Gb DRAM shared on 24 threads.

Regarding

Comparison between the CCLS solver versus our solver, Falcon, for (a) random-Max-E3SAT, (b) hyper-Max-E3SAT, and (c) delta-Max-E3SAT. In these plots, the percentage of unsatisfied clauses versus the number of variables is shown. Different curves are for different simulation time-outs (in seconds) following the relation

In conclusion, we have shown empirical evidence that a

The noncombinatorial approach we discuss here is based on the concept of universal memcomputing machines (UMMs) [

A possible, practical realization of DMMs is self-organizing logic circuits (SOLCs) composed of SOLGs [

We can use SOLCs to solve combinatorial problems by expressing them in Boolean format and then mapping the latter onto logic circuits. As a relevant example for this work, we can take the Max-SAT problem written in CNF. When we transform the SAT into a Boolean circuit, we have multiterminal OR gates connected together in order to represent a logic formula (see Figure

We have previously shown [

One of the key components of SOLGs is the

The nonquantum electronic nature of SOLCs can be fully described by a system of

We have discussed in [

We can finally summarize the power of these machines with the following hierarchical picture. DMMs use the

In addition, the nonlinearity of the dynamical system equations induces a transient instantonic phase with

In fact, as briefly discussed in the main text, the particular realization of DMMs we have presented in this work (similar to the ones in [

Percentage of unsatisfied clauses versus the machine time (i.e., simulated time steps) is shown to highlight the linear scaling of our solver, Falcon, for (a) random-Max-E3SAT, (b) hyper-Max-E3SAT, and (c) delta-Max-E3SAT. All calculations have been performed on a single thread of an Intel Xeon E5-2680 v3 with 128 Gb DRAM shared on 24 threads.

In order to simulate the system, we have employed a time step size-controlled forward-integration scheme for the differential equations that describe it [

The approximations to an optimization problem found by DMMs are very close to the global minimum of the problem, and this is guaranteed by the topology of the connectivity. This is clearly demonstrated in Figure

In contrast, our noncombinatorial approach directly reaches the global minimum in all cases. Interestingly, our solver shows slightly better performances for the delta-Max-E3SAT (the most difficult of the three cases) as can be seen by taking a closer look at Figure

As mentioned in the main text, there are two main (combinatorial) approaches to solve or approximate the Max-SAT problem. The first is based on the exhaustive exploration of the solution space and leads to the so-called “complete” solvers [

Incomplete solvers [

The quintessential incomplete solver is WalkSAT [

We compared our solver, Falcon, with two of the best solvers from the 2016 Max-SAT competition, CCLS [

In order to more efficiently map a large number of maximization problems into Max-SAT, it is sometimes useful to consider a variant:

Because of the presence of hard clauses, the weighted partial Max-SAT is, in general, harder than the Max-SAT for all kind of solvers. In fact, this is one of the main reasons heuristics are often unable to find even approximations to those problems (see, e.g., Figures

Including weights and hard clauses in self-organizing logic circuits (SOLCs) is simple. Recalling that each OR gate representing a clause has attached at each terminal a dynamic correction module that injects a large current when the gate is in an inconsistent configuration, we can tune the maximum current allowed for each correction module in the following way. We set the maximum current injected by the dynamic correction modules connected to the SO-OR gates proportionally to the weights of the clauses. For the hard clauses, we can set the maximum current injected by the dynamic correction modules connected to the hard SO-OR gates, larger than the sum of all maximum currents injected by the dynamic correction modules connected to all soft SO-OR gates connected to that hard SO-OR gate. This will guarantee that the hard clauses will have always the priority on the soft clauses.

We have tested SOLCs on problems taken from the 2016 Max-SAT competition and compared them against the results of the winners of each category of that competition. Even if the comparison is not completely fair because our code is written in MATLAB while the other codes are written in compiled languages, and the benchmark is not the same because we ran on different processors (we ran all our simulations on an Intel Xeon E5-2680 v3 but used the same number of threads allowed in the Max-SAT competition), the results are still interesting.

In Figures

Results from the 2016 Max-SAT competition for the random Max-2SAT problem compared with our memcomputing solver, Falcon.

Results from the 2016 Max-SAT competition for the Max-CUT problem compared with our memcomputing solver, Falcon.

Of more interest are the results of Figures

Results from the 2016 Max-SAT competition for the forced random binary problem compared with our memcomputing solver, Falcon.

Results from the 2016 Max-SAT competition for the Max Clique problem compared with our memcomputing solver, Falcon.

All calculations reported here have been performed by one of us (Pietro Cicotti) on a single processor of the Comet cluster of the San Diego Supercomputer Center, which is an NSF resource funded under award number 1341698. Apart from the instances freely available from the 2016 Max-SAT competition [

Fabio L. Traversa and Massimiliano Di Ventra are the cofounders of MemComputing Inc. This company is commercializing the software used in the simulations of this work.

The authors sincerely thank Dr. Shaowei Cai for providing the authors with the binary compiled codes CCLS and DeciLS. The authors also thank Haik Manukian and Robert Sinkovits for helpful discussions. Massimiliano Di Ventra and Fabio L. Traversa acknowledge partial support from the Center for Memory Recording Research at UCSD. Massimiliano Di Ventra and Forrest Sheldon acknowledge partial support from the MemComputing Inc.