Snapsho t s o f m o d e r n m athematics № 8/2021
from Ob e r wo l f a c h
T he Enigma behind the
Good–Tur ing for mula
Fadoua Balabdaoui • Yulia Ku l a g i n a
Finding the total number of species in a population
based on a finite sample is a difficult but practically
important problem. In this snapshot, we will at-
tempt to shed light on how during World War II, two
cryptanalysts, Irving J. Good and Alan M. Turing,
discovered one of the most widely applied formulas in
statistics. The formula estimates the probability of
missing some of the species in a sample drawn from
a heterogeneous population. We will provide some
intuition behind the formula, show its wide range of
applications, and give a few technical details.
1 T h e species r ichness problem
1.1 Mo t i va t i o n a n d ex a m p l e
Say we have a population comprising individuals drawn from K (possibly
infinite) distinct species, among which a lot of species may be rare, and a few
are very common. Our goal is to either estimate the frequencies of the species in
the population based on the number of their occurrences in a finite sample, or
simply to estimate the number of classes K in the population from the sample. 1
1 The term “population frequency” commonly refers to the true (unknown) proportion. It
is usually contrasted with the word “empirical” that the reader will encounter later.
1
We use the word “species” in a broad sense. It may refer to flora and fauna,
to types of errors in a software system, to celestial bodies in the universe, to
word-types in a language, to connected components in a graph, and so on. Many
more applications can be found in [1].
To make the problem clearer, let us look at an example. Imagine you are
traveling through a rainforest and encounter 8 armadillos, 4 pumas, 4 jaguars, 2
tapirs, 1 capybara, and 1 squirrel monkey. How can you estimate the probability
distribution of all the different kinds of animals you may come across during
your whole trip?
1.2 N a ï ve s o l u t i o n s a n d w hy t h ey f a i l
Your intuition would suggest using what is called an “empirical frequency
estimator”. 2 This would assign the probabilities 25 to armadillos, 15 each to
1 1
pumas and jaguars, 10 to tapirs, and 20 each to capybaras and squirrel monkeys.
But then you see a spectacled bear! Clearly, the naïve empirical frequency
estimator does not give a satisfactory result. It has completely failed to account
for the possibility of finding a spectacled bear in the rainforest. It is even more
disappointing when we realise that in this setting, this intuitive estimator is
equivalent to the “maximum likelihood estimator” (MLE). The MLE is known
to have excellent statistical properties. Obviously, in this case, it needs some
improvement to account for all species.
One such simple modification to the MLE suggests adding a constant to
the count of each species, including the ones that have not been observed
in the sample. In general, if a species has occurred r times in the sample,
the modified MLE, or the “add-constant estimator”, would assign to it the
r+c
probability N +Sc+c . Here N is the sample size, S is the number of distinct
species in this sample, and c is a constant we use for the estimation. 3
So, for example, we can look at the add-one estimator, for which c = 1. It
assigns the probabilities 8+1 4+1
27 to the armadillos, 27 each to pumas and jaguars,
2+1 1+1 0+1
27 to tapirs, 27 each to capybaras and squirrel monkeys, and 27 to the
unseen species.
Unfortunately, when the number of species K is large compared to the sample
size, add-constant estimators perform poorly as well. A vivid example of such a
failure can be found in [11], and we reproduce it here.
Say, instead of estimating the distribution of animal species in the rainforest,
you are interested in evaluating the distribution of their DNA sequences. You
2 “Empirical” simply means that the calculation is based on the observations that have
been made.
3 The denominator is chosen such that the obtained estimates are probabilities, that is, they
add up to 1.
2
have observed the DNA sequences of a large number of animals and discovered
that each of the N observed DNA sequences is unique. You would like to make
an inference about the distribution of all possible DNA sequences.
Let Z denote the number of distinct species in the sample (which equals 6
in our example above). Note that in the extreme case we assume that Z = N ,
1+c
hence the add-c estimator would assign probabilities N +N c+c to each observed
c
DNA sequence and N +N c+c to all unobserved sequences.
Now, for a fixed value of c we can see that
N (1 + c) N + Nc
=
N + Nc + c N + Nc + c
approaches the value 1 as N gets bigger and bigger.
In other words, the probability this estimator assigns to all observed sequences
is close to 1, whereas the probability it assigns to all unseen sequences is close
to 0, which (as we know) is not at all representative of the truth.
2 T h e Enigma machine and cr yptanalysis
2.1 Cr y p t a n a l y s i s d u r i n g Wo r l d Wa r I I
During World War II, most of the messages transmitted by the German military
forces were encrypted using a device called the Enigma machine. There were
several versions of the Enigma with different levels of security depending on the
usage (by the Navy, the Air Force, the Secret Service and so on).
Breaking the naval Enigma code was important to the western Allies as
the damage they suffered against the Axis powers at sea greatly exceeded the
damage caused by the air forces and the ground troops [10, 13]. According
to [10], Hitler believed that it would be the German U-boats that would win
the war for him. For this reason the security requirements for the messages
encrypted by the German navy were even higher than those for the army and
the air force.
Meanwhile, at Bletchley Park in England, cryptanalysts were working for the
British Intelligence attempting to break the naval Enigma code. In the course
of this work, two of these cryptanalysts, Irving J. Good (1916-2009) and Alan
M. Turing (1912-1954), faced a unique problem: estimating the distributions
of bigrams and trigrams 4 used by the German navy in the encryption process.
Eventually, Good and Turing came up with a non-trivial solution to the problem
of decrypting previously unseen letter groupings.
Before we go on to discuss their solution, let us try to understand the
procedure used to encrypt the naval messages.
4 Bigrams and trigrams are simply sequences of two and three letters respectively.
3
2.2 T h e E n i g m a m a c h i n e
A typical military Enigma machine was a device resembling a massive typewriter
(see Figure 1). 5 Located at the front of the naval Enigma was a “plugboard”,
consisting of 26 sockets, one for each letter of the alphabet. The plugboard
introduced an extra level of scrambling by allowing for any two letters to be
swapped when connected by a cable, before entering the three rotor wheels, and
once again when exiting and before reaching the lampboard.
F i g u r e 1 : Enigma M3 (isometric view)
To set up the naval Enigma, three rotor wheels had to be chosen out of a
library of eight and placed into the machine in the specified order. The rings
of the wheels were then adjusted to their predetermined positions, ten pairs of
5 For a detailed description of the Enigma design an interested reader is referred to [3].
4
letters were connected on the plugboard, and the rotor wheels were turned to
their starting position.
2.3 Se t t i n g s : t h e d a i l y key
The German U-boats were issued with monthly sheets that contained instruc-
tions for setting up the Enigma machine for each day of the month. The “daily
key”, a set of instructions with four components (wheel order, ring setting,
plugboard pairs, and ground setting) would look something like this:
Date Rotors Ring Settings Plugboard Settings Ground Settings
29 I V II BHN GP XV CK IZ QT XIO
NO JH BW AY TR
The number of different configurations for a naval Enigma machine, in fact,
exceeded 8.9 × 1020 . Without knowing the settings, it would have taken months
to test for each possible combination.
2.4 En i g m a ’s f l aw a n d c o d e b r e a k i n g t e c h n i q u e s
In spite of being a powerful encrypting device, the Enigma had a flaw that
provided vital clues to the codebreakers. This flaw stemmed from what is called
the “reciprocal property” of the machine. What this meant was that in a given
state of the machine, a letter, say, Q, encrypted as A led necessarily to A being
encrypted as Q along with the fact that no letter could be enciphered as itself.
Now, say you want to decipher the message “JXATQBGGYWCRYBGD”.
You know that it is a part of the weather report and thus may contain the
word “WETTERBERICHT” 6 with high probability. You would “slide” the
word “WETTERBERICHT” along the ciphertext to find where it might “fit”
by eliminating all cases with the “collisions”, the instances where the letter in
the code would have to be enciphered as itself:
... J X A T Q B G G Y W C R Y B G D ...
1 W E T T E R B E R I C H T
2 W E T T E R B E R I C H T
3 W E T T E R B E R I C H T
4 W E T T E R B E R I C H T
The only possible fit occurs in the third row. This technique allowed for
eliminating a lot of impossible initial settings and provided the starting point
for breaking the code.
6 Wetterbericht is the German word for weather report.
5
We will continue with this example to describe the idea behind working out
the plugboard combinations. Observe that for T in the third row (the only row
yielding a valid fit), we have the following correspondences: TE, TQ, TB, TG.
The path for, say, TE, through the machine would look like this:
T Plugboard I II III
Reflector
E Plugboard I II III
We can make an intial guess: T is connected with A on the plugboard.
Consider the path:
T Plugboard A Rotors P Plugboard E
From this we can deduce that P should be wired to E on the plugboard.
Suppose that we continue with the other connections and get:
T Plugboard A Rotors K Plugboard Q
T Plugboard A Rotors X Plugboard B
Hence, we can deduce the correspondences KQ and XB. At last:
T Plugboard A Rotors T Plugboard G
It follows that T should be connected with G. But by our initial guess T is
connected with A and cannot be connected with both. Thus the initial guess is
incorrect and we have to make another one and repeat the process.
Technically, we would have to check 26 options. 7 If all the 26 options are
incorrect, then the rotor position must be wrong. Then we choose the next
rotor position and go over all possible combinations again!
Turing made a crucial observation: once a collision has been found (TA and
TG in our example), all intermediate deductions (connections KQ and XB) can
be rejected simultaneously and do not have to be checked again.
This principle combined with the power of electrical circuits underpinned
the idea behind the “anti-Enigma” machine called the Bombe. This machine
could go over all rotor positions in 18 minutes [10], eliminating all impossible
positions and leaving only a few possibilities that could be checked manually.
7 No connection on the plugboard is also an option.
6
2.5 Se n d i n g a n e n c r y p t e d n ava l m e s s a g e
Naval messages were usually transmitted in 4-letter groups. Two additional
4-letter groups, the “indicator groups”, were placed at the beginning and at the
end of each message.
Here is an example to make things clearer:
MMÄ 1416/27/989 38
IJTV USYX DERH RFRS OQRV DTYH QWBV HILS CXHR OPOD
GTQL DDHI KFTG EDZS WXQS EDFR HGYG EDZZ UYQV DTYY
EDGH KIRM SYBK PANX JSTP QXDT ERGP JMSX VFWI FTPZ
ADHK WDLE QPAL ALDH XNDH RYFH IJTV USYX
1231 7640
In this ciphertext, MMÄ is the identifier of the transmitting station, 1416 is
the time at which the transmission began, 27 is the day of the month, 989 is
the serial number of the message, and 38 is the total number of 4-letter groups.
When deciphered, the message reads: “BISMARCK MUST NOW BE AS-
SUMED TO HAVE SUNK. U-BOATS TO SEARCH FOR SURVIVORS IN
SQUARE BE6150 AND TO NORTH WEST OF THIS POSITION.”
One of the factors that made breaking the naval Enigma code so difficult
was that the operator doubly enciphered a trigram of letters with which each
message began and ended (marked in blue) and indicated the “message setting”
(the starting position of the rotors).
Here is the procedure for using a message setting:
1. The operator chose a trigram at random, say, ARQ, from the “K-book” 8
that contained all 263 possible trigrams in random order (after using a
trigram the operator would cross it out in their copy of the K-book to never
use it again, the other operators, however, were not prevented from using
that same trigram).
2. The rotors were then set to the ground setting, the three-letter group, say,
JNY, fixed for the day in the daily key.
3. The operator typed in ARQ to obtain an encryption, say, LVN, which was
the message setting, defining the position to which to set the wheels in order
to encrypt the message itself.
4. The message setting had to be sent to the message recipient so that the
latter could decrypt it using the ground setting and discover the message
setting.
8 Kenngruppenbuch in German.
7
5. Before transmitting it, the sender had to disguise ARQ by choosing another
trigram from the K-book, say, YVT, and writing down the two chosen
trigrams in a shifted pattern, and then filling in the blanks with 2 arbitrary
letters:
. YVT −→ WYVT
ARQ. ARQN
6. Next, the operator consulted the day’s “bigram table”, an essential element
for encrypting a naval message, to replace all occurrences of a given bigram,
say, WA, with its equivalent, given in the table, say, IJ and vice versa. 9
7. After having replaced all vertical pairs WA, YR, VQ, and TN by their
equivalents in the table, say, IJ, TV, US, and YX, the operator placed the
“indicator groups” IJTV USYX both at the beginning and at the end of the
message.
8. The recipient looked up IJ, TV, US, and YX in his copy of the bigram table
to obtain the initial bigrams.
9. Setting the wheels to the ground setting JNY, the trigram ARQ became
the message setting LVN. This yielded the plaintext on setting the wheels
accordingly and typing in the ciphertext.
The British intelligence managed to lay its hands on the K-book, but cap-
turing the bigram tables was almost an impossible task: if a U-boat ever came
under attack, the crew had strict orders to destroy the tables, which were
printed in water-soluble ink [5].
3 The Enigma and the Good–Tur ing for mula
3.1 M o t i va t i o n b e h i n d th e f o r mu l a
Turing’s method for the identification of the message settings relied upon the
assumption that some trigrams were more popular with the German operators
than the others. It was thus necessary to estimate the probabilities with which
the operators used the trigrams.
Most likely, Turing’s hypothesis was correct. In [7], Good points out that,
as discovered from the captures, the trigrams printed at the top of the pages
of the K-book were used more frequently than the others. A lot of letter
groupings appeared only once, some not at all. The cryptanalysts wanted to
learn the rare letter groupings and the groupings that had not yet appeared in
9 There was a set of nine tables that was reissued several times during the war, and the
operators had a calendar with instructions for which of the nine tables to use on a given
day [3].
8
the collection of the intercepted German missives. Assigning a zero probability
to these groupings would imply the assertion that they will not ever be used
by the operators. So, Turing decided to assign those missing trigrams a small
non-zero probability. By estimating the frequency of unseen species in his
sample, he could then estimate the probability of the letter groupings appearing
in a much larger sample of messages as well as in the very next intercepted
Enigma message.
3.2 Ma i n c o n c e p t s a n d n o t a t i o n
The main goal of Good’s work was to construct a good estimate of the total
population frequency of the unobserved species (see [6]) using Turing’s approach.
Let nr be the number of species represented by exactly r individuals in a sample
of size N . Although mainly interested in finding an estimate for the probability
of missing some species in the sample, Good attempted to answer a more general
question: for a fixed integer r ≥ 0, how can one estimate the true probability
qr that an arbitrary species is represented exactly r times in a random sample
of size N ?
The formula, suggested by Turing, and proved by Good in [6], gives the
following estimator for qr :
(r + 1) nr+1
qr ≈ . (1)
N nr
When one compares this estimator with Nr , one can think of (r+1)nnr
r+1
= r∗
as an adjusted value of r.
It is remarkable that this formula estimates the probability of events by
taking into account not only the number of their occurrences in the sample, but
also the information about how many times other, possibly unrelated, events
were seen.
In the coming sections, we will try to throw some light on this important
statistical tool. We assume that the reader is familiar with the expected value
of a discrete random variable, conditional probability and expectation, Bayes’
theorem, and the binomial distribution.
3.3 Th e f o r mu l a d e r i ve d s t e p by s t e p
Let X = (X1 , . . . , XN ) be a sample drawn from an infinitely large population of
individuals. We are interested in estimating the unknown population frequency
for species s, that is, ps = P(X = s), s = 1, . . . , K with K denoting the
unknown number of distinct species in the population. We assume that K is
9
finite. The sample count of the species s in the sample can be defined as
N
1{Xi =s} ,
X
C(s) = (2)
i=1
where 1(A) denotes the indicator function, taking the value 1 if the event A
occurs and 0 if it does not. Note that C(s) = 0 for any unseen species s in the
random sample.
As before, we will denote by nr the number of species which occurred exactly
r times in the sample X. Then,
K
1{C(s)=r} .
X
nr = nr (X) =
s=1
P
Furthermore, we have N = r≥1 rnr . Let qr denote the actual population
frequency of an arbitrary species with sample count r. By definition, qr can
take its values from the finite set {ps : s = 1, . . . , K}.
Now, let us examine the probability distribution of qr . For s = 1, . . . , K,
consider the event {qr = ps }. Assuming for the moment that each of the K
species has a different frequency in the population 10 , define
As ≡ {The selected species is s} and
Br ≡ {The selected species is represented
by exactly r individuals in the sample}.
Then, {qr = ps } ≡ As |Br , where | means that the event on the right has
occurred. The expectation of qr is given by
K K
E[qr ] = ps P(qr = ps ) = ps P(As |Br ).
X X
(3)
s=1 s=1
By the extended Bayes’ theorem, we have
P(Br |As )
P(As |Br ) = P(As ) PK . (4)
k=1 (Br |Ak )P(Ak )
P
Further assuming that all species have the same probability of being selected,
we get P(Ak ) = 1/K for all k = 1, . . . , K. Recalling the definition of C(s) in
Equation 2 and replacing s by k, it is easy to see that Br |Ak ≡ {C(k) = r}.
10 This assumption also appears in the original derivation by Good [6].
10
This alternative representation is very useful since the random variable C(k)
is a binomial random variable with parameters N and pk . This implies that
N r
P(C(k) = r) = p (1 − pk )N −r
r k
for any k = 1, . . . , K. Therefore, we can write Equation 4 as
pr (1 − ps )N −r
P(As |Br ) = PK s .
k=1 prk (1 − pk )N −r
The expected value of qr in Equation 3 now has the equivalent expression
PK r+1
ps (1 − ps )N −r
E[qr ] = Ps=1
K r N −r
, (5)
s=1 ps (1 − ps )
where the summation index k in the denominator has been substituted by s.
Now, using the fact that the expectation of the sum equals the sum of the
expectations, we observe that
K
! K K
N X
E[nr ] = E 1{C(s)=r} = E 1{C(s)=r} =
X X
pr (1 − ps )N −r .
s=1 s=1
r s=1 s
Similarly,
XK
N
E(nr+1 ) = pr+1 (1 − ps )N −r−1 .
r + 1 s=1 s
The trick used by Good [6] is to now imagine that the sample has been
augmented by one individual. This means that N changes into N + 1 and the
previous expectation becomes
K
N + 1 X r+1
E[nr+1 ] = p (1 − ps )N −r .
r + 1 s=1 s
To specify the sample size in the calculation of this expectation, we will
follow the notation of Good [6] and use EN and EN +1 to indicate that the
expectation is evaluated under N and N + 1 respectively. This gives us
N
E [n ]
EN [qr ] = N +1 N +1 r+1
r
r+1
EN [nr ]
N! (r + 1)!(N − r)! EN +1 [nr+1 ]
=
r!(N − r)! (N + 1)! EN [nr ]
r + 1 EN +1 [nr+1 ]
= .
N + 1 EN [nr ]
11
The Good–Turing formula in Equation 1 can now be obtained by replacing
the expectations EN [nr ] and EN +1 [nr+1 ] by their sample-based counterparts
nr and nr+1 , and using the fact that for large N , N1+1 ≈ N1 . From the formula
we can easily conclude that the total probability of the occurrence of all species
which are represented by exactly r individuals in the sample can be estimated
by
r + 1 nr+1 (r + 1)nr+1
pbr = nr = .
N nr N
An interesting and practically important consequence of the formula is that
the total probability of missing out some species belonging to the population in
the sample X can simply be estimated by
n1
pb0 = .
N
This probability, referred to as “noncoverage probability” in [14], is equal to
the fraction of “singletons” in the sample, that is, the species represented by
a single individual. This notion can also be understood in terms of a more
concrete interpretation: pb0 gives an approximation, for large enough N , of the
probability that the (N + 1)-th species has not occurred among the first N
individuals.
3.4 M o r e a p p l i c a t i o n s a n d f u r t h e r r e s e a r c h
The Good–Turing formula produces estimates for the population frequencies
corresponding to the sample frequencies of the observed species as well as an
estimate for the total population frequency of all unseen species. But it does
not specify how the total probability of all unseen species is shared among
them. Nor does it provide an estimate for the number of unseen species in the
population. However, these quantities are often of interest in practice.
Here are some more recent examples:
1. studies of unseen genetic variations with the objective of estimating the
number of unseen variants in the human genome [9], and
2. studies of password use and reuse habits with the objective of estimating how
many different passwords a user types in a day and how many passwords
are shared among different sites [4].
While the first problem admits the direct application of the Good–Turing
frequency estimator, the second requires further refinements. A number of
researchers have used the Good–Turing formula to develop effective techniques
for estimating the total number of species in a population (see, for example,
12
[8]). Inspired by the Good–Turing formula, the very important recent works
by A. Chao [2] and A. Orlitsky [12] explore the problem of estimating species
richness in great depth.
I m a g e credits
Figure 1: Figure 10.1, Chapter 10 in B. J. Copeland, J. Bowen, M. Sprevak,
and R. Wilson, The Turing guide, Oxford University Press, 2017.
R e f e rences
[1] J. Bunge and M. Fitzpatrick, Estimating the number of species: a review,
Journal of the American Statistical Association 88 (1993), no. 421, 364–373.
[2] A. Chao, C.-H. Chiu, R. K. Colwell, L. F. S. Magnago, R. L. Chazdon, and
N. J. Gotelli, Deciphering the enigma of undetected species, phylogenetic,
and functional diversity based on Good–Turing theory, Ecology 98 (2017),
no. 11, 2914–2929.
[3] B. J. Copeland, J. Bowen, M. Sprevak, and R. Wilson, The Turing guide,
Oxford University Press, 2017.
[4] D. Florencio and C. Herley, A large-scale study of web password habits,
Proceedings of the 16th International Conference on World Wide Web,
2007, pp. 657–666.
[5] L. A. Gladwin, Alan Turing, Enigma, and the breaking of German machine-
ciphers in World War II, Prologue: the Journal of the National Archives
29 (1997), no. 3, 202–217.
[6] I. J. Good, The population frequencies of species and the estimation of
population parameters, Biometrika 40 (1953), no. 3-4, 237–264.
[7] I. J. Good, Turing’s anticipation of empirical Bayes in connection with the
cryptanalysis of the naval Enigma, Journal of Statistical Computation and
Simulation 66 (2000), no. 2, 101–111.
[8] I. J. Good and G. H. Toulmin, The number of new species, and the increase
in population coverage, when a sample is increased, Biometrika 43 (1956),
no. 1-2, 45–63.
[9] I. Ionita-Laza, C. Lange, and N. M. Laird, Estimating the number of unseen
variants in the human genome, Proceedings of the National Academy of
Sciences 106 (2009), no. 13, 5008–5013.
13
[10] S. B. McGrayne, The theory that would not die: how Bayes’ rule cracked the
Enigma code, hunted down Russian submarines, and emerged triumphant
from two centuries of controversy, Yale University Press, 2011.
[11] A. Orlitsky, N. P. Santhanam, and J. Zhang, Always Good Turing: asymptot-
ically optimal probability estimation, Science 302 (2003), no. 5644, 427–431.
[12] A. Orlitsky, A. T. Suresh, and Y. Wu, Optimal prediction of the number
of unseen species, Proceedings of the National Academy of Sciences 113
(2016), no. 47, 13283–13288.
[13] A. M. Turing and B. J. Copeland, The essential Turing: seminal writings
in computing, logic, philosophy, artificial intelligence, and artificial life plus
the secrets of Enigma, Oxford University Press (2004).
[14] Z. Zhang, Statistical implications of Turing’s formula, Wiley Online Library,
2017.
14
Fadoua Balabdaoui is a senior scientist at Mathematic a l s u b j e c t s
the Swiss Federal Institute of Technology Probability T h e o r y a n d S t a t i s t i c s
in Zür ich a nd a n a s s o c i ate professor at
the Unive r s i t é Pa r i s - D a uphine. Connection s t o o t h e r f i e l d s
Life Scienc e
Yulia Ku l a g i n a i s a P h D student at the
Swiss Fe d e ra l I ns t i t u t e of Technology in License
Zür ich. Creative Co m m o n s B Y- N C - S A 4 . 0
DOI
10.14760/S N A P - 2 0 2 1 - 0 0 8 - E N
Snapshots of modern mathematics from Oberwolfach provide exciting insights into
current mathematical research. They are written by participants in the scientific
program of the Mathematisches Forschungsinstitut Oberwolfach (MFO). The
snapshot project is designed to promote the understanding and appreciation of
modern mathematics and mathematical research in the interested public worldwide.
All snapshots are published in cooperation with the IMAGINARY platform and
can be found on [Link]/snapshots and on [Link]/snapshots.
ISSN 2626 -1995
Junior E d i t o r s Mathematis c h e s Fo r s c h u n g s i n s t i t u t
Anup An a n d S i n g h a n d Sara Munday Oberwolfac h g G m b H
junior- e d i t o r s @ m f o. d e Schwarzwa l d s t r. 9 – 11
77709 Obe r wo l f a c h
Senior E d i t o r Ger many
Sophia Ja h n s
senior- e d i t o r @ m f o. d e Director
Gerhard Hu i s ke n