injusticejudge blog

joker theory

Many mahjong variants feature jokers (aka wildcards). For instance, Fuzhou Mahjong is like if riichi mahjong’s dora indicator indicated a joker tile instead. Vietnamese Mahjong has jokers of varying powers (e.g. bamboo joker, dragon joker). There are many other jokers with different kinds of powers, but unfortunately, there is basically no theory (in English) that I can find, so that’s why this post exists. We’ll walk through three topics:

any-tile jokers

Here, an ‘any-tile’ joker means a tile that can stand in for any tile. In principle this allows for some fun things:

We’ll represent any-tile jokers with 2x in this post. You might also see tiles with 皇 or 縂, those are also any-tile jokers.

any-tile joker shapes

Typical efficiency theory emphasizes that shapes like 3p4p are desirable because it waits on many tiles, therefore shapes like 3p2x must be even more so, right?

I think this reasoning reveals itself most spectacularly when you consider single-suit hands like 1s2s3s3s3s4s5s6s7s7s8s9s2x. What is this hand waiting on? If you apply standard wait theory stuff, you could end up with:

so it’s waiting on every tile, surprise (?). If you’ve studied iishanten shapes, you might recognize the first two wait patterns (like 4s2x) as a sticky tile: a single floating tile waiting for any tile in range 2 to create a taatsu, i.e. 2s4s3s4s4s4s4s5s4s6s. Here, the joker tile can attach to any of the single-tile waits (namely 1s4s7s) and turn it into a taatsu in this manner.

Unfortunately, this method is kind of unwieldy in the sense that you have to consider your hand as a massive superposition of all possible joker shapes. In the above example, we had to consider three in order to get all the waits. (I’m sure there was a better way to break that down but I am not doing it.) Anyways there is a theory that avoids this problem entirely that I don’t know the name of, so for the sake of having a name, let’s call it “goal reduction theory”.

goal reduction theory

The above demonstrates that any-tile jokers work globally: unlike regular tiles that only upgrade tiles around them, any-tile jokers upgrade the entire hand. I think the best way to characterize this is to say that a joker tile reduces the goal from “get to tenpai” to “get to iishanten with a floating tile”.

To see what I mean by this, let’s consider tenpai hands. You can recognize a hand is tenpai if you can remove groups until you find one of the following five tenpai waits:

Similarly, you can recognize a hand is iishanten if you can remove groups until you find one of the following iishanten-with-a-floating-tile hands:

with the end result that your final wait becomes any of your iishanten waits. For example, if you’re in floating tile iishanten with 2p2p6p7p3s4s1m, then your wait for getting into tenpai is 5p8p2s5s, and you throw away the 1m afterwards. But if instead of a floating 1m you have a floating any-tile joker 2p2p6p7p3s4s2x, then you’re in tenpai waiting for the same: 5p8p2s5s. This is because your any-tile joker 2x can be used to complete the full hand afterwards. Basically, treat your any-jokers as floating tiles that are completely useless for your hand except for the fact that having them makes your goal easier (tenpai -> iishanten).

This extends naturally to two or more any-tile jokers. With two such jokers, you want 2-shanten with two floating tiles. There are three such 2-shanten structures:

I should emphasize that getting any of these wait tiles here means you win. You have a very wide wait due to the two floating any-tile jokers changing your goal from tenpai to 2-shanten.

Hopefully you can see the pattern: each any-tile joker relaxes the requirement for winning a hand. So the main thrust of goal reduction theory is: with n jokers, your final waits are exactly the waits for a n-shanten hand with n (ignorable joker) floating tiles. In other words, having any-tile jokers reduces the goal of your hand, and thinking this way allows you to entirely skip thinking about your hand as a superposition of many possible joker shapes like 3p2x.

Mathing out shanten with any-tile jokers

To generalize this more, let’s count the distance from having 5 sets. Count:

  • each taatsu 2p3p as contributing dist 1 (you need 1 tile to make it a set)
  • each floating tile 9s as contributing dist 2 (you need 2 tiles to make it a set)
  • each any-tile joker 2x as contributing dist -1 (it fills any taatsu)

Since the goal is 4 sets and a pair, dist 2 by this definition is the same thing as tenpai (0-shanten). If you sum these all up for the above ‘2-shanten-but-actually-tenpai’ hands, you get:

  • floating tile 2p3p (1) 6p6p (1) 3s4s (1) 8s9s (1) 2x (-1) 2x (-1) = dist 2
  • sticky 2p2p (1) 3s4s (1) 9s (2) 2x (-1) 2x (-1) = dist 2
  • super sticky 4m (2) 9s (2) 2x (-1) 2x (-1) = dist 2

i.e. they are all tenpai. So if you have three or more any-tile jokers, you can generalize to 3-shanten and above by using this to figure out your effective shanten (if you’re a nerd).

other kinds of jokers

Now that we’ve covered any-tile jokers, let’s cover all the other jokers that exist, of which there are a lot:


(image from Chinese Wikipedia)

I’ll try my best to define how all of these are used generally, but first I’ll roughly categorize these jokers into the following buckets:

Let’s start with the some-tile jokers, since they’re the simplest.

some-tile jokers definition

There are quite a few some-tile jokers out there, I’ll list the ones I know in this image.

Every single one of these is a some-tile joker. These joker tiles are not exactly standardized i.e. they depend on the ruleset, but this gives a general overview of what some-tile jokers look like.

Some other some-tile jokers I know of
  • 将 is always a 258 joker
  • 兵 or 卒 is usually a 369 joker
  • 仕 is usually a 147 joker
  • 小 is 123, or 1234 joker if 中 not used
  • 中 is 456
  • 大 is 789, or 6789 joker if 中 not used
  • 單 is 13579 (odd)
  • 雙 is 2468 (even)
  • 質 is 2357 (any prime)
  • 合成 is 4689 (any composite)
  • 非質 is 14689 (any non-prime)
  • 非合成 is 12357 (any non-composite)
  • 因倍 takes on the identity ‘all divisors of the dice roll sum’
  • 馬 is a different joker based on seat:
    • east 一伍九東
    • south 二六中南
    • west 三七發西
    • north 四八白北

Now let’s get into the theory.

some-tile jokers: goal reduction theory

Recall from goal reduction theory that any-tile jokers essentially let you skip one shanten per joker. With suited jokers, it is very much the same thing: let’s say you have a circles joker 4x, then you can skip one shanten, but only in the circles suit.

To show what I mean by this, take the following example hands:

  1. 1m2m3m8m8m1p2p8p9p3s4s5s7z
  2. 1m2m3m8m8m1p2p8p9p3s4s5s4x

Hand 1 is simply 1-shanten, but hand 2 is tenpai. This is because both remaining taatsu are in the circles suit, so the 4x acts identically to an any-tile joker in the sense that we can apply goal reduction: hand 2 is tenpai waiting on 3p7p.

Now let’s swap the 1p2p with 1s2s to get:

  1. 1m2m3m8m8m4p5p1s2s3s4s5s7z
  2. 1m2m3m8m8m4p5p1s2s3s4s5s4x

This swap improves hand 1, since the 1p2p has become a wider 4s5s shape waiting on 3s6s. However, hand 2 can now only wait on 3s6s, since the circles joker no longer fills that wait.

some-tile jokers: strength comparison

So each 4x only applies to reducing the shanten contributed by circles taatsu, got it, does this generalize? The answer is yes: let’s say you have a 147 joker 3x. This reduces shanten contributed by taatsu waiting on 1, 4, or 7, namely 23, 56, 89, 11, 44, and 77. Because of this, 3x is decidedly weaker than 4x for filling taatsu.

What about sticky waits? The classic sticky iishanten with an any-tile joker looks like 1m1m6s2x waiting on 3m4s5s6s7s8s. We can contrast the two jokers here:

  1. 1m1m6s4x is 1-shanten
  2. 1m1m6s3x is tenpai waiting on 3m5s6s8s

Obviously the circles joker 4x is useless here, but the 147 joker 3x (by virtue of filling the wait requested by any possible sticky tile) turns this into tenpai (no matter the identity of the sticky tile 6s). Because of this, 3x is decidedly stronger than 4x when it comes to matching sticky tiles.

In summary, some-tile jokers have strength in two dimensions: completing taatsu and matching sticky tiles. Jokers that span a suit tend to be good at completing taatsu since they complete any taatsu of that suit. Jokers that span numbers are good at matching sticky tiles, because they can do so in any suit.

For jokers that match honor tiles, this difference is erased (no honor sequences) so there is no difference between the ‘sticky’ tile 7z and the taatsu 7z7z. Honor jokers are obviously worse than suit/number jokers, but like honor tiles themselves, they are usually better value since sets of honor tiles tend to be better for scoring reasons.

There are some-tile jokers beyond suit jokers and number jokers, but I don’t think there’s any usable theory for them. Skill issue on my part tbh. You will have to go to another blog that talks about joker theory.

completion jokers definition

Other jokers do not evaluate to a fixed set of tiles like some-tile jokers do. Instead, their value comes from being able to complete a set in hand. Let’s call them completion jokers.

Possibly the easiest example of this is 5x which fills any kanchan (closed wait) such as 3p5p. When you lay out your winning hand, the 5x must appear as being in the middle of the sequence 3p5x5p.

All completion jokers I know of:
  • 上: complete any sequence
  • 碰: complete any triplet or quad (not concealed)
  • 卡 or 卡隆: can be used to complete a kanchan (e.g. the 5 in 456)
  • 偏 or 偏章: can be used to complete a penchan (e.g. the 3 in 123)
  • 雀頭: can be used to complete a pair
  • 兩頭: can be used to complete a ryanmen
  • 龍: completes any 123/456/789 (dragon)
  • 蛇: completes any sequence that is not 123/456/789
  • 断缺: completes any set that isn’t honors or includes 5 (so 234, 768, 222…888 minus 555)
  • 么圍: completes any set containing a 1 or 9 (namely 111, 123, 789, 999, 11, 99)
  • 三圍: completes any set containing a 3
  • 五圍: completes any set containing a 5
  • 七圍: completes any set containing a 7
  • 老少: complete any 123 789 yaku
  • 步高: complete any shifted sequence yaku (e.g. 234 345 456)
  • 般高: complete any linked sequence yaku (e.g. 234 456 768)
  • 相逢: complete any shifted triplet yaku (e.g. 222 333 444)

completion jokers as introducing new sets

Completion jokers can be thought of as loosening the requirements for what constitutes a ‘set’. Standard mahjong rules stipulate that there are sequences, and that there are triplets, and all theory is derived from this (45 ryanmen, 12 penchan, 24 kanchan, 3444 ryantan, etc.) A completion joker adds another kind of valid ‘set’ depending on the joker, and this creates new shapes.

For 5x in particular, it essentially upgrades any floating tile like 3m to wait on 1m5m. Thus having 5x on hand as a floating tile adds a new set to the game alongside sequences and triplets: the humble kanchan 1p3p! Just like how fancy shapes like 3444 ryantan are derived from sequences and triplets, we can derive some fancy shapes for kanchans as well, from the familar 3555 (waiting on 145), to the four-sided 3456 (waiting on 1458).

So every different completion joker adds a whole new dimension of theory, and that is why I will not be expanding on the topic further in this post. I do think their strength outrivals that of some-tile jokers, especially in the hands of a player who has studied the theory behind that specific joker (= possibly no one, based on the zero literature I have found on the subject).

variable jokers definition

Lastly, variable jokers are jokers whose identity can vary based on the game state. One possibly-familiar example is shiro pocchi, which acts as a white dragon in all cases, except it can complete any riichi hand when drawn in riichi. So its joker-ness is conditional on whether you draw it in riichi.

Another easy example of a variable joker is the 聚 joker. This tile takes on the value of any tile that you already have a copy of, so its identity is dependent on what’s in your final winning hand.

Some other variable jokers I know of
  • 生死: any tile with 0 or 4 copies publicly seen
  • 現: any tile for which 1-3 copies are publicly seen (opposite of 生死)
  • 獨: any tile not in hand
  • 聚: any tile with another copy in hand (opposite of 獨)
  • 限五: any tile in a suit you have 5 or less tiles of
  • 七起: any tile in a suit you have 7 or more tiles of
  • 熊: copies lowest tile in hand
  • 牛: copies highest tile in hand
  • 確單: any tile of a suit of which you have an odd number of tiles (incl. this joker)
  • 確雙: any tile of a suit of which you have an even number of tiles (incl. this joker)

Unfortunately I have no idea how to strategize with these especially since I’ve never played with them! If you have any ideas, ping me on Discord in the main mahjong server (I’m @m.arv, note I don’t check friend requests.)

« shouhai theory