In the comparison between human and computational intelligence, often times the comparison is not straightforward because humans can possess domain knowledge inaccessible to the program they are competing with. To provide a level playing field, it is helpful to have humans and computers compete in a domain where both start with equal domain knowledge, and the domain is well understood.
One such domain is boolean formulae. These formulae are sets of boolean variables that are combined with the AND and OR logical operators. These formulae are well understood, and can be selected so the human and algorithm have no special advantage over the other in terms of domain knowledge, or even the algorithm has an advantage in order to make the success of the human even more significant.
The reason why the domain of boolean formulae is a good domain for comparing human and computational intelligence is because there are many problems dealing with these formulae that are NP complete and harder. Two such examples are:
If humans can outperform computers when faced with an NP complete problem, then insofar as NP is not the same as P, we can determine that humans at least outperform deterministic Turing machines, and human intelligence must be on the level of nondeterministic Turing machines.
However, the problem with this domain as far as humans are concerned is that truth tables are hard to visually process. We want to come up with a test that humans don’t need a PhD to understand. Something visual is idea, as it can be addressed by a human with any level of expertise. In this paper, I present a 2D visualization of boolean formulae that allow humans to visually understand truth tables of up to 12 boolean variables.
I begin by explaining how to represent bitstrings (series of 1s and 0s) with a boolean formulae, which is another way to say we are representing truth tables, since a truth table can be represented by a bitstring.
All bitstrings can be expressed as logic expressions with binary variables. For example, with four logic variables ,,, and we can describe all bitstrings of length 16 with logic expressions.
To generate a bitstring from a particular logic expression, we evaluate the expression for all variable assignments, and order the results lexicographically.
Here is an example with 2 variables, and , and the logic expression .
| x1 | x2 | |
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
The lexicographic order of the assignments is: 0 0, 0 1, 1 0, 1 1.
So, the bitstring is: 1, 0, 1, 1.
The generating function is denoted . If we apply to a logic expression, then it generates the corresponding bitstring. From our previous example, .
A four variable example,
Next, I talk about how to generate a boolean formula randomly. This is important, because we need a problem domain that is larger than can fit within a physical computer. With 12 boolean variables, there are possible unique formulae, which is more than can fit within the physical universe. That being said, we will only deal with a subset of these formulae, since most are random, and are not useful for the sort of puzzle that can distinguish whether human intelligence transcends computational intelligence.
A DNF formula is an OR of AND terms, such as to represent .
The puzzles are generated by randomly sampling a DNF formula from formulae with a set number of variables , terms , and maximum term size . The random sampling of DNF formulae is close to uniform, with the exception that false terms are filtered out. Here is how it works.
Then, a bitstring is generated from using , as explained in ?? . A set of bits are removed to be guessed. Noise is added by randomly flipping a certain number of bits .
To make the prediction process visual for the human, the bitstring generated by is displayed as a 2D image.
The logic variables are split into two groups, and each group’s binary values are converted into integers to form the coordinates.
For instance, with four variables we have two groups for the and coordinates. I.e. and . If we assign the variables as: , we see that and groups can represent binary numbers. I.e. and . These binary numbers are then converted to integers, and .
Each point in the boolean space described by the four variables has an assignment of 0 or 1 from . Converting the boolean space to a 2D graph as previously described, and using assignments to fill in the graph where 0 is black and 1 is white, turns the truth table into an image.
As an example, set . The logic table and coordinates are the following.
| x | y | |||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 1 | 0 | 0 | 0 | 0 |
| 0 | 1 | 2 | 0 | 0 | 0 | 1 |
| 1 | 1 | 3 | 0 | 0 | 0 | 1 |
| 0 | 0 | 0 | 1 | 0 | 1 | 1 |
| 1 | 0 | 1 | 1 | 0 | 1 | 1 |
| 0 | 1 | 2 | 1 | 0 | 1 | 1 |
| 1 | 1 | 3 | 1 | 0 | 1 | 1 |
| 0 | 0 | 0 | 0 | 1 | 2 | 0 |
| 1 | 0 | 1 | 0 | 1 | 2 | 0 |
| 0 | 1 | 2 | 0 | 1 | 2 | 1 |
| 1 | 1 | 3 | 0 | 1 | 2 | 1 |
| 0 | 0 | 0 | 1 | 1 | 3 | 1 |
| 1 | 0 | 1 | 1 | 1 | 3 | 1 |
| 0 | 1 | 2 | 1 | 1 | 3 | 1 |
| 1 | 1 | 3 | 1 | 1 | 3 | 1 |
Figure 1a and Figure 1b are a realization of this logic table converted into a 2D image. In the left pane, one bit has been removed and replaced with blue, and this is the bit to be guessed. The right pane shows the answer.
Figure 2a and Figure 2b are another puzzle of the same size, but this time with one bit of noise addded. The generation function for this puzzle is .
Figure 3a, Figure 3b, Figure 4a, and Figure 4b show the prediction puzzles generated by more complex DNF formulae, with and without noise added.