Story of two bits
Check out type-config wiki for a more detailed technical breakdown.
Among countless other complex things, let's discuss a simple case: the relation between two binary bits.
#State and combination
#bit | #State | #Combination of state |
---|---|---|
1 | 2 | 3(2^2-1) |
2 | 4(2^2) | 15(2^4-1) |
A bit by itself as commonly defined can either be 0
or 1
. Cardinality of state is 2.
Two bits together can be: 00
, 01
, 10
, 11
. Cardinality of state is 2^2 = 4
.
Combinations of state are combinations with all different sample number. Cardinality of single bit is C(2,2)+C(2,1)
, or 2^2-C(2,0)
. Cardinality of 2 bits is C(4,4)+C(4,3)+C(4,2)+C(4,1)
or 2^4-C(4,0)
.
Math works aside, things are clearly getting more complex when it goes either vertically (number of bits) or horizontally (composition of primitives).
#Combination pattern
How would you give names to that 3 combinations?
#1. 1
or 0
A bit with result.
#1. 1
0
A bit with possibilities
#More combination pattern
How would you give stories to that 15 combinations?
Here is my try:
#1. 11 10 01 00
Roommates
a
: independentb
: independent
They have their own lifes... It won't change a thing if they split.
#2. 11
or 10
or 01
or 00
Commited couple
a
: fixedb
: fixed
They accepted the offer...
#3. 11 10
or 11 01
or 10 00
or 01 00
Not yet committed
a
: independentb
: fixed
Still waiting for an anwser...
#4. 10 01
or 11 00
Someone needs a life
a
: independentb
: dependent ona
a
- !
a
It is not yet clear who is that someone tho...
#5. 11 10 00
or 11 01 00
or 11 10 01
or 10 01 00
Too much conditions
a
: independentb
:- independent if
a
is .. - dependent if
a
is ..
- independent if
While still negotiating, it is likely to break.
#My TL;DR
- Adding verticals/dimensions/... is exponential;
- Patterns: no such thing as unique;
- "Dependency management is hard";
- Generalization without specialization is false: if you read type-config wiki, there are just too many missing details and reasoning process here;