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 ICPBunny.

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 ICPBunny: exclusive, nested, and intersectional.

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 "tail holding", as variations of this trait should not occur together.

Pattern Function

Tail Trait

Rarity

Example Block

digit 3 = 0

🌸 Cherry Blossom

800 (9.9%)

123025

digit 3 = 1

🌼 Blossom

800 (9.9%)

624122

digit 3 = 2

🌹 Rose

800 (9.9%)

43292

digit 3 = 3

🎀 Ribbon

804 (10.0%)

42342

digit 3 = 4

🌶️ Hot Pepper

816 (10.1%)

42442

...

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 “Golden Necklace with 🩸 pendant” (c420) to be treated as a child of the parent trait “cigarette” (c4&0).

Pattern Function

Trait

Frequency

Example Block

contains "4" and "0"

🚬 Cigarette

1446 (17.9%)

42340

contains "420"

Pendant🩸 + Golden Necklace

8 (0.09%)

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 "Nose" is applied when “multiple of 13” is true, and the trait "Clown Nose 🔴 " is applied when “multiple of 69” is true.

Pattern Function

Trait

Frequency

Example Block

is multiple of 13

Blue Nose

622 (7.71%)

10010

is multiple of 69

🔴 Clown Nose

118 (1.46%)

10005

-

both traits

7 (<0.1%)

10764

DO NOT USE THE ABOVE EXAMPLE FOR MINTING

Last updated