This article will define effective dimension for subsets of Cantor space 2ω; closely related definitions exist for subsets of Euclidean space Rn. We will move freely between considering a set X of natural numbers, the infinite sequence
given by the characteristic function of X, and the real number with binary expansion 0.X.
A martingale on Cantor space 2ω is a function d: 2ω → R≥ 0 from Cantor space to nonnegative reals which satisfies the fairness condition:

A martingale is thought of as a betting strategy, and the function
gives the capital of the better after seeing a sequence σ of 0s and 1s. The fairness condition then says that the capital after a sequence σ is the average of the capital after seeing σ0 and σ1; in other words the martingale gives a betting scheme for a bookie with 2:1 odds offered on either of two "equally likely" options, hence the name fair.
(Note that this is subtly different from the probability theory notion of martingale.[1] That definition of martingale has a similar fairness condition, which also states that the expected value after some observation is the same as the value before the observation, given the prior history of observations. The difference is that in probability theory, the prior history of observations just refers to the capital history, whereas here the history refers to the exact sequence of 0s and 1s in the string.)
A supermartingale on Cantor space is a function d as above which satisfies a modified fairness condition:

A supermartingale is a betting strategy where the expected capital after a bet is no more than the capital before a bet, in contrast to a martingale where the two are always equal. This allows more flexibility, and is very similar in the non-effective case, since whenever a supermartingale d is given, there is a modified function d' which wins at least as much money as d and which is actually a martingale. However it is useful to allow the additional flexibility once one starts talking about actually giving algorithms to determine the betting strategy, as some algorithms lend themselves more naturally to producing supermartingales than martingales.
An s-gale is a function d as above of the form

for e some martingale.
An s-supergale is a function d as above of the form

for e some supermartingale.
An s-(super)gale is a betting strategy where some amount of capital is lost to inflation at each step. Note that s-gales and s-supergales are examples of supermartingales, and the 1-gales and 1-supergales are precisely the martingales and supermartingales.
Collectively, these objects are known as "gales".
A gale d succeeds on a subset X of the natural numbers if
where
denotes the n-digit string consisting of the first n digits of X.
A gale d succeeds strongly on X if
.
All of these notions of various gales have no effective content, but one must necessarily restrict oneself to a small class of gales, since some gale can be found which succeeds on any given set. After all, if one knows a sequence of coin flips in advance, it is easy to make money by simply betting on the known outcomes of each flip. A standard way of doing this is to require the gales to be either computable or close to computable:
A gale d is called constructive, c.e., or lower semi-computable if the numbers
are uniformly left-c.e. reals (i.e. can uniformly be written as the limit of an increasing computable sequence of rationals).
The effective Hausdorff dimension of a set of natural numbers X is
.[2]
The effective packing dimension of X is
.[3]
Kolmogorov complexity can be thought of as a lower bound on the algorithmic compressibility of a finite sequence (of characters or binary digits). It assigns to each such sequence w a natural number K(w) that, intuitively, measures the minimum length of a computer program (written in some fixed programming language) that takes no input and will output w when run.
The effective Hausdorff dimension of a set of natural numbers X is
.[4][5][6][7]
The effective packing dimension of a set X is
.[3][4][5]
From this one can see that both the effective Hausdorff dimension and the effective packing dimension of a set are between 0 and 1, with the effective packing dimension always at least as large as the effective Hausdorff dimension. Every random sequence will have effective Hausdorff and packing dimensions equal to 1, although there are also nonrandom sequences with effective Hausdorff and packing dimensions of 1.