Multi-Pattern DMT Framework

The multi-pattern DMT framework is used to construct traits and relationships between traits based on Bitcoin block data, through the use of pattern sets. The framework was developed for use in Natcats.

Pattern Sets

Individual pattern search functions are grouped into pattern sets. Pattern sets are used to construct relationships between traits. Three types of pattern sets are demonstrated in Natcats: exclusive, nested, and intersectional.

Exclusive Pattern Sets

Exclusive pattern sets can be used to establish relationships in which traits cannot coexist with other traits in the set. In the example given below, each pattern search function is tied to the values of 3rd digit of the "blk" string. No two functions can be true simultaneously. Together, these patterns form a pattern set that controls "left ear color", as variations of this trait should not occur together.

Pattern FunctionTraitRarityExample Block

digit 3 = 0

Left ear color: indigo

800 (9.9%)

123025

digit 3 = 1

Left ear color: lilac

800 (9.9%)

624122

digit 3 = 2

Left ear color: yellow

800 (9.9%)

43292

digit 3 = 3

Left ear color: blue

816 (10.1%)

42342

digit 3 = 4

Left ear color: brown

800 (9.9%)

42442

...

Nested Pattern Sets

Nested pattern sets can be used to establish dependencies between traits, or variations of a trait.

In the example below, the pattern "contains 420" will only ever occur when the pattern “contains 4 and 0" occurs also. This relationship is therefore considered nested, and allows for the trait “catnip” (c420) to be treated as a child of the parent trait “cigarette” (c4&0).

Pattern FunctionTraitFrequencyExample Block

contains "4" and "0"

Cigarette

1446 (17.9%)

42340

contains "420"

+ Catnip

38 (0.5%)

124203

Intersectional Pattern Sets Pattern sets containing patterns that will occur together sometimes, but not always, can be considered intersectional. These pattern sets can be used when a variety of trait combinations is desired.

In the example below, the trait "pearls" is applied when “multiple of 13” is true, and the trait "spikes collar" is applied when “multiple of 69” is true. These traits can be found separately and together. An example of the latter is on block 123786, which is a multiple of both 13 and 69.

Trait combinations on block numbers such as 123786 are less likely to occur than each trait independently, and may be considered more desirable for this reason.

Pattern FunctionTraitFrequencyExample Block

is multiple of 13

Pearls

620 (7.7%)

43420

is multiple of 69

Spikes collar

116 (1.4%)

124062

-

both traits

7 (<0.1%)

123786

Last updated