This is a a Poker game I invented that I tentatively name it “Gotcha”.
Prepare a set of Pokers, and discard the jokers. In this game we treat A as 1, J as 11, Q as 12 and K as 13. The suites do not matter in this game. The goal is to guess the opponents’ card correctly.
[2 player version]
Preparation: Each player is dealt 26 cards. Do not show your cards to your opponent. Arrange them in ascending order according to their face values. Each discards 6 cards of their choice. Do not reveal the discarded card.
(Variation: Each player is dealt 20 cards, arranges in ascending order)
(Variation 2: Each player is dealt 20 cards, arranges in ascending order and discard 5 cards of their choice)
Feel free to modify the rules for preparation to make the game harder/easier.
During the game: Guess your opponent’s card. You only need to name the number on the card. The guess will be like this: the x’s smallest/biggest card is y. If you guess it right, your opponent discard the card, you score according to the rule below and you make a new guess. Otherwise you score nothing and your opponent does not show the card; it will be your opponent’s turn to guess.
Scoring: If you opponent currently has N card and you guess the x’s smallest/biggest card right, the score is 3+min{x,N+1-x}. For example, Alice has 9 cards and Bob guesses the 6th smallest correctly, he scores 7 points.(The ends are easier to guess so the motivation of the scoring is to make sure people challenge themselves and face the uncertainty.)
Endgame: Whoever finishes guessing, the other player has 1 round to guess. The higher score wins.
Bonus: You can shout out “Gotcha” before the guess. If it’s not the leftmost or rightmost card and you get it correct, you score 1 more point; otherwise you lose min{x,N+1-x} scores.
{Multi-player version(3-5 people)}
Preparation: Each player is dealt the same number of cards. Do not show your cards to your opponent. Arrange them in ascending order according to their face values. Each discards 1 card of their choice.
Feel free to modify the rules for preparation to make the game harder/easier.
During the game: same as 2-player version. If you guess one correctly, you can choose to guess another player’s card. When one finishes their guess, the one anticlockwise guesses.
Endgame: When someone has no card at hand, the game immediately stops. The highest score wins.
Bonus: The same as a 2-player game.
The chess inventor is not a chess master. To be honest I don’t know what’s the best strategy to play the game. Have fun!
Today I was scrolling my phone and procrastinating as usual. I watched some tug-of-war videos and was very amazed by how people are addicted to this seemingly childish game (me included).
I wondered, why would they bend their body so low that their bottoms almost touched the ground? Then the boring physicist inside me woke up and said: let’s do a careful analysis of this.
By kindergarten physics(and kindergarten drawing) we know that the forces are balanced, meaning that N=G, F=f, so F_{max}=f{max}=\mu mg. However, we can maximise the force by increasing the pressure exerted on the ground, like this
Some force from the rope helps against the ground, therefore the maximum friction is increased; the same analysis goes on the other side. In conclusion, if you hold your part of the rope higher, it will give you an advantage and your opponents’ disadvantage.
Uhhhhh….. probably?
Of course this doesn’t happen in real life, at lease(hopefully) you have not seen any tug-of-war like this.
This is probably because the frictional constant is quite big and is usually not the key factor. The rubber shoes they put on have a large frictional constant, which has to do with van der Waals force.
That being said, what we should consider is the stability around your feet.
What actually makes you lose is not that you’re sliding on the floor, but you are imbalanced and rotating around your feet. In this aspect, the maximum force is F=mg * l_G / l_F. To lower your centre of gravity is to reduce l_F, therefore it makes sense to lower the body, instead of holding your hands upright to try pulling your opponents up like the way you pull out giant white radishes.
Disclaimer: the blog is motivated from a mathematics point of view. I apologise for my lack of computer graphic knowledge and please point it out if you spot anything suspicious.
I. Rotations and translations
Rotations in real life are everywhere. You may constantly rotate a pen between your fingers. Or a fidget. Or a magical flying saucer. However, in a computer, rotation may not be so easy. You have to calculate each pixel’s location after the rotation and store the data somewhere.
There is a way of doing 90 degrees rotation by iterations of translation.
input(image)
list segments=[image]
while 1
divide each segment image into 4 pieces
translation according to figure 1
subdivide each segment, add to new_segments
It is an exercise for the reader to execute the program in any language they prefer and verify.
But why?
[Proofs alert]
II The power of Coding
Let’s first see how that works in the 1D case.
Claim: For a 1D line, when we perform the following infinite numbers of translations:
It corresponds to a 180 degrees flip.
Proof: Imagine the line is a [0,1] interval. For each iteration of translation, we cut the segment in half and swap the two. For the centre point of the original segment, it stays where it is. These points correspond to values of m/2^n, where m and n are natural numbers. It can be shown that these points are taken care of. The rest are the points that don’t terminate.
We can map each point in the line to an infinitely long list of binary numbers. If the point is on the left-hand side of the segment, the digit is 0. Otherwise, it is 1. For example, 0.3 would correspond to (010011…). In fact, (0.010011…) is the binary representation of 0.3.
What do infinitely many translations correspond to? For the first operation, it flips the first digit; the second operation flips the second one; and so on. We say the new number would be the bit-flip of the original number, and for each digit, the two always add to 1. In binary representation, (0.111111…)_2=1 (By the way, this is an example of Leibniz equality which goes deep into the Category Theory).
For the [0,1] segment, two numbers adding up to 1 means that they are each other’s image after a mirror symmetry, which is the same as a 180 degrees rotation!
Remark. The number of points in [0,1] is the same as the real numbers. The map between the points in [0,1] and an infinitely long series of binary numbers is saying 2^N=R. Cantor’s Theory then easily shows that real numbers are uncountable.
We will use a similar coding system to complete our proof in the 2D case.
proof. denote R as rotation operation for each segment, T as segmentations and translation operation within the new segments. Therefore, we only need to prove T(T(T….)…)=R, i.e. for any x in the square, R(x)=lim_{n->\infty}T^n(x)
For a point x, we have |R(x)-T^n(x)|<1/2^(n-1)(why?), so the Euclidean distance is decreasing to 0.
III Generalisation 1: Other rotation angles?
How far can this method lead us? What rotation angles can we achieve?
The next easiest grid is a triangle lattice, and we can achieve 120 degrees:
Similarly, we can rotate by 60 degrees: a hexagonal shape can be rotated by sub-deviding them into triangles and performing translations.
How about other angles? It seems like we are dealing with fractals, and I have no idea how to deal with them.
IV Generalisation 2: Other dimensions?-A graph theory question
Really, what is a rotation? It corresponds to a mapping between the points. For a rotation of the form 360 degrees *m/n, we can find a finite cycle for certain points. E.g., a process of 90 degrees corresponds to the 4 vertices of the square mapping each other by 1->2->3->4->1. For other rotations, the cycle is infinitely long.
We will study the case of (hyper)cubes in this section. To make it resemble a rotation, we enforce one more condition: every two nodes of the loop must be adjacent to one another(so that the distance would not change). For example, LHS below would not be considered a valid “rotation” translation since 2 and 3 are not adjacent. [Still this is weaker condition than a rotation: the distance between two block may change]
In 1D it is easy: the unique cycle is 1->2->1. Since the length is 2, the rotation group is Z_2 and it corresponds to 180 degrees rotation.
In 2D, we can use brute force and say that the only possible arrangement is the RHS of the above graph.
The three-dimensional case is trickier. Convince yourself(or contact me if I’m wrong) that below is the only legal arrangement.
It is very tempting to conclude that there exists a unique “hyperrotation” from iterative translation in all dimensions, but the 4D case will prove it wrong. There are at least 2 non-isomorphic arrangements.
How many distinct “hyperrotation”? What happens in higher dimensions? What does the limiting process of such translation mean? What happens to other Platonian-like objects? I don’t know.
But I do know that math is a very broad subject and different parts of mathematics are connected elegantly.
Imagine a 2D plane. Instead of the usual Cartesian or polar coordinates, we can use a different point of view: for each point, we can start from the x axis and move in the y direction. Also, we can start from (x,sin x) and move in the y direction. If we regard the first label of the point location as its x axis and the second label as the projected distance to starting point, then the two coordinates are related by (x,y)<->(x,y-sin x). We can see the y axis as a manifold growing out of a point in the base space x. After we construct R^2, the base space becomes arbitrary in a sense: we can use y=sin x instead of y=0 as the starting location.
Similar thing happens in S^2*R: the space is somewhat similar to R^3, but with part of H^3 compactified like the compactification ofthe base space R^2 into S^2. We can see that the base space S^2 can be “wobbled” around the origin, so that for the same point in the space, there are many ways of choosing the base space, hence the coordinates are different.
In a sense, the fixing of the base space is equivalent to declaring a gauge. After this is fixed, attaching a vector space is unique. However, trying to reconstruct our base space is, as we illustrated above, hopeless. In the textbooks, the vector space attached to each point of the base space is called “vertical”, and a base space is called a horizontal section. We see that projection into vertical components are generic but projection into horizontal components are not fixed. Fixing such component locally is called a local trivialisation. In this way you can view the local space as a product space, which is very convenient. When you patch everything together, non-trivial thing may happen as in the mobius strip. Space admits a global trivialisation is a product space, which is topologically unexciting. For spaces with nontrivial topology, we can’t choose a section that doesn’t vanish everywhere, hence patching them together is the best description.
One magic part of principal bundles is that the vertical subspace has a group structure, which means we can connect one point with another using a Lie group element g. This is good. We only need to know the collection of origins of the vertical components growing out of the base space to reconstruct everything. This is a trivialisation of a principal bundle: it is to choose a section!
What happens for composite Lie group? For example, the U(1) gauge theory in curved spacetime? The geometry of space time is diffeomorphism invariant, which means it admits a orthonormal SO(1,3) section. On top of this we have a principal U(1) section. In flat spacetime,
\(D_\mu \psi=(\partial_\mu+A_\mu)\psi\)
Promote the partial differential operator with covariant derivative in curved spacetime. Also, consider a vector V instead of the wavefunction scalar of T(M).
What happens if A is a general Lie group adjoint representation and V is also a fundamental vector of A? Then the connection map(i.e. the linear transformation in the covariant derivative) becomes
Therefore, the connection is actually L(G)*T(M) as expected, as the representation of V and A suggests.
An interesting question would be, can we reinterpret the principle bundle and absorb A into spacetime curvature? The answer is no. since they have different indices. But can we reinterpret L(G)*T(M) into another decomposition and say something meaningful? The easiest direction is to absorb L(G) as T(M’) where M’ is a compactified space, and we can view the base as M*M’. This is Kaluza-Klein compactification, where we write down the GUT naively and says the spacetime is higher-dimensional with some curved dimensions. Can we break T(M) and construct a different base space M’? This is an exercise to the readers.