This article needs additional citations for verification .(January 2013) |
Booleo (stylized bOOleO) is a strategy card game using boolean logic gates. It was developed by Jonathan Brandt and Chris Kampf with Sean P. Dennis in 2008, and it was first published by Tessera Games LLC in 2009. [1]
The deck consists of 64 cards:
Starting with a line of Initial Binary cards laid perpendicular to two facing players, the object of the game is to be the first to complete a logical pyramid whose final output corresponds to the input from the sequence of Initial Binary cards facing that player.
The game is played in "draw one play one” format. The pyramid consists of decreasing rows of gate cards, where the outputs of any contiguous pair of cards comprise the input values to a single card in the following row. The pyramid, therefore, has Initial Binary values as its base and tapers to a single card closest to the player. By tracing the "flow" of values through any series of gate, every card placed in the pyramid must make "logical sense", i.e. the inputs and output value of every gate card must conform to the rule of that gate card.
The NOT cards are played against any of the Initial Binary cards in play, causing that card to be rotated 180 degrees, "flipping" the value of that card from 0 to 1 or vice versa.
By changing the value of any the sequence of Initial Binary cards, any and all gate cards which "flow" from it must be re-evaluated to ensure its placement makes "logical sense". If it does not, that gate card is removed from the player's pyramid.
Since both players' pyramids share the Initial Binary cards as a base, "flipping" an Initial Binary has an effect on both players' pyramids (by playing a NOT card). A principal strategy during game play is to invalidate gate cards in the opponent's logic pyramid while rendering as little damage to one's own pyramid in the process. However, an opponent may cancel the effects that a NOT card would have on the Initial Binary sequence, by interrupting their opponent with a NOT card of their own.
Some logic gates are more robust than others to a change to their inputs. Therefore, not all logic gate cards have the same strategic value.
The standard edition of the game does not contain NAND, NOR, or XNOR gates, but these are found in the compatible upgrade (which is also a standalone game with identical premise). [2]
The number of cards in Booleo will comfortably support a match between two players whose logic pyramids are six cards wide at their base. By combining decks, it is possible to construct larger pyramids or to have matches among more than two players. For example:
Tessera Games also published bOOleO-N Edition, which is identical to Booleo with the exception that it uses the inverse set of logic gates: NAND , NOR , and XNOR . bOOleO-N Edition may be played on its own, or it may be combined with Booleo.
A logic gate is an idealized or physical device that performs a Boolean function, a logical operation performed on one or more binary inputs that produces a single binary output.
In digital logic, an inverter or NOT gate is a logic gate which implements logical negation. It outputs a bit opposite of the bit that is put into it. The bits are typically implemented as two differing voltage levels.
An adder, or summer, is a digital circuit that performs addition of numbers. In many computers and other kinds of processors adders are used in the arithmetic logic units (ALUs). They are also used in other parts of the processor, where they are used to calculate addresses, table indices, increment and decrement operators and similar operations.
In logic, a truth function is a function that accepts truth values as input and produces a unique truth value as output. In other words: the input and output of a truth function are all truth values; a truth function will always output exactly one truth value, and inputting the same truth value(s) will always output the same truth value. The typical example is in propositional logic, wherein a compound statement is constructed using individual statements connected by logical connectives; if the truth value of the compound statement is entirely determined by the truth value(s) of the constituent statement(s), the compound statement is called a truth function, and any logical connectives used are said to be truth functional.
In mathematics, a Boolean function is a function whose arguments and result assume values from a two-element set. Alternative names are switching function, used especially in older computer science literature, and truth function, used in logic. Boolean functions are the subject of Boolean algebra and switching theory.
In Boolean algebra, any Boolean function can be expressed in the canonical disjunctive normal form (CDNF) or minterm canonical form, and its dual, the canonical conjunctive normal form (CCNF) or maxterm canonical form. Other canonical forms include the complete sum of prime implicants or Blake canonical form, and the algebraic normal form.
The AND gate is a basic digital logic gate that implements logical conjunction (∧) from mathematical logic – AND gate behaves according to the truth table. A HIGH output (1) results only if all the inputs to the AND gate are HIGH (1). If not all inputs to the AND gate are HIGH, LOW output results. The function can be extended to any number of inputs.
The OR gate is a digital logic gate that implements logical disjunction. The OR gate outputs "true" if any of its inputs are "true"; otherwise it outputs "false". The input and output states are normally represented by different voltage levels.
Logical equality is a logical operator that corresponds to equality in Boolean algebra and to the logical biconditional in propositional calculus. It gives the functional value true if both functional arguments have the same logical value, and false if they are different.
XOR gate is a digital logic gate that gives a true output when the number of true inputs is odd. An XOR gate implements an exclusive or from mathematical logic; that is, a true output results if one, and only one, of the inputs to the gate is true. If both inputs are false (0/LOW) or both are true, a false output results. XOR represents the inequality function, i.e., the output is true if the inputs are not alike otherwise the output is false. A way to remember XOR is "must have one or the other but not both".
The NAND Boolean function has the property of functional completeness. This means that any Boolean expression can be re-expressed by an equivalent expression utilizing only NAND operations. For example, the function NOT(x) may be equivalently expressed as NAND(x,x). In the field of digital electronic circuits, this implies that it is possible to implement any Boolean function using just NAND gates.
The XNOR gate is a digital logic gate whose function is the logical complement of the Exclusive OR (XOR) gate. It is equivalent to the logical connective from mathematical logic, also known as the material biconditional. The two-input version implements logical equality, behaving according to the truth table to the right, and hence the gate is sometimes called an "equivalence gate". A high output (1) results if both of the inputs to the gate are the same. If one but not both inputs are high (1), a low output (0) results.
The NOR gate is a digital logic gate that implements logical NOR - it behaves according to the truth table to the right. A HIGH output (1) results if both the inputs to the gate are LOW (0); if one or both input is HIGH (1), a LOW output (0) results. NOR is the result of the negation of the OR operator. It can also in some senses be seen as the inverse of an AND gate. NOR is a functionally complete operation—NOR gates can be combined to generate any other logical function. It shares this property with the NAND gate. By contrast, the OR operator is monotonic as it can only change LOW to HIGH but not vice versa.
A NOR gate or a NOT OR gate is a logic gate which gives a positive output only when both inputs are negative.
In logic, a functionally complete set of logical connectives or Boolean operators is one which can be used to express all possible truth tables by combining members of the set into a Boolean expression. A well-known complete set of connectives is { AND, NOT }. Each of the singleton sets { NAND } and { NOR } is functionally complete. However, the set { AND, OR } is incomplete, due to its inability to express NOT.
A truth table is a mathematical table used in logic—specifically in connection with Boolean algebra, boolean functions, and propositional calculus—which sets out the functional values of logical expressions on each of their functional arguments, that is, for each combination of values taken by their logical variables. In particular, truth tables can be used to show whether a propositional expression is true for all legitimate input values, that is, logically valid.
In theoretical computer science, the circuit satisfiability problem is the decision problem of determining whether a given Boolean circuit has an assignment of its inputs that makes the output true. In other words, it asks whether the inputs to a given Boolean circuit can be consistently set to 1 or 0 such that the circuit outputs 1. If that is the case, the circuit is called satisfiable. Otherwise, the circuit is called unsatisfiable. In the figure to the right, the left circuit can be satisfied by setting both inputs to be 1, but the right circuit is unsatisfiable.
The IMPLY gate is a digital logic gate that implements a logical conditional.
In mathematics and mathematical logic, Boolean algebra is a branch of algebra. It differs from elementary algebra in two ways. First, the values of the variables are the truth values true and false, usually denoted 1 and 0, whereas in elementary algebra the values of the variables are numbers. Second, Boolean algebra uses logical operators such as conjunction (and) denoted as ∧, disjunction (or) denoted as ∨, and the negation (not) denoted as ¬. Elementary algebra, on the other hand, uses arithmetic operators such as addition, multiplication, subtraction, and division. Boolean algebra is therefore a formal way of describing logical operations, in the same way that elementary algebra describes numerical operations.
The NIMPLY gate is a digital logic gate that implements a material nonimplication.