Search: Home | Atlas | Guides | Tests | Research | Techs | Skills | Index | Recent Changes | Preferences | Login

Users > MarvL > Thistles

This page supports a collaborative research effort to clarify Thistle Cultivation. Our intention is to extend and formalize the research that was conducted at Tale 1 Thistles. When this effort is complete, we intend to archive the current tale3/Guides/Thistles page and substitute this material.

Thistles

Thistles are produced in a Thistle Garden, and they are used to feed Sheep and Silkworms. Raw Silk, from the silkworms, is subsequently used to make Silk Cloth which is a valuable luxury item.

Thistle Gardens Modern Sheep Farm Silkworm Farm

Vitamins

Seven vitamins are defined:

Vitamins can have concentrations that range from 0-99, but the requirements are specified as A+B-C~N+, for example, without indicating the unrestrained vitamins. The vitamin levels shown on the Thistle Garden control widget appear to be real numbers that are truncated, not rounded, and those numerical vitamin levels are further evaluated and inventoried as only one of three states for each vitamin, - < 21, ~, 79 < +.

There are 3 possible states for each of 7 different vitamins, and therefore 3*7=21 distinct states for any particular thistle if we ignore combinations. For Modern Sheep Farms the required thistle must have ~ or + values for two specified vitamins. If we pretend that all of the vitamin states are equally probable, and it's actually pretty easy to force a couple of vitamins above 21, the odds that a thistle which has the first vitamin also has the second vitamin is 4/21 * 2/18 = 2%. If you have 50 varieties of thistle you'll probably have what you need to feed the sheep. Sheep are easy to feed.

Silkworms are more difficult. Four of the vitamins must have a particular state. As each of the seven vitamins can be in one of three different states, the number of possible thistle specifications for feeding the silkworms is somewhat less than 3^7=2187, because -~+ are exclusive states and only 4 of the 7 Vitamins are restrained. Your odds that a particular thistle will have everything that you need should be 4/21 * 3/18 * 2/15 * 1/12 = 0.035%. If you had a random assortment of thistles you'd need 2835 different varieties on hand, so it's not practical to warehouse thistles nor to list every possible recipe, especially so when environmental conditions may allow various recipes to reach a given target state. We will therefore emphasize:

Nutrients

Five nutrients are defined:

Sunshine

As you can well imagine, the amount of sunlight is an important factor that influences which conversions are available, and also the rate of conversion in some cases. Controlling the amount of Sunlight isn't tricky, you just have to grow thistles at the appropriate time of day for what you want to accomplish.

The available sunshine is a tinkered sinusoidal, with an amplitude of 1.3, a cropped period of 26.6 hours, and some clamping. The available sunshine when the canopy is closed is always 1/3 of the available sunshine when the canopy is open.

It doesn't seem to matter exactly how you managed to catch the right amount of available sunshine. Opening the canopy at 6:00am or 6:00pm is the same 20% as closing the canopy at 7:20am or 4:40pm.

Conversions

We'll be using an analytical technique known as a Hidden Markov Model. It's an essential method for discerning the Thistle conversions, as many of them are not directly visible.

WARNING: These conversions were applicable during Tale 1 Thistles. The conversions have definitely changed for Tale 3; how much they've changed is a part of what we're testing.

The conversion relationships are what makes Thistle Cultivation an interesting puzzle. Some observations:

There are 20 known conversions, with some multiples for the same pairs, but only 80% of them are available on any given game day. The weather changes at midnight.

The puzzle then, is to solve a maze with several interesting wrinkles.

The solution is not to traverse the maze, but rather to obtain the desired quantity of vitamins at four different nodes.

Research Objectives

Determine (verify) all possible conversions

Thistle cultivation hasn't really been examined since Tale 1, and the current science if pretty iffy.

We're using Hypersnap to record and print the data from each test.

The data tables indicate the Game Date (different days can provide different results), followed by Step, Ingredients, and Vitamins arranged exactly as they are presented on the screen.

The sort order for the significant states is in descending binary order from 11111 to 00000, with 1 for any value > 0 and 0 for 0. Dung and Urine are treated as available or not available, regardless of their actual values, but within each binary category of tests the other ingredients are further sorted in descending order by their actual values.

The descending sort order is

  1. Category (binary DUHOS)
  2. H20
  3. Oxygen
  4. Sunshine
  5. Game Date
  6. Iteration
The attached Thistles.xls spreadsheet has a Ctl+i macro that accomplishes this sort.

It's very important to recognize which vitamins are dynamic, and which vitamins are static. If you take a look at the associated spreadsheet, we're tracking the difference between the indicated state and the subsequent state. In other words, the Thistles.xls spreadsheet allows us to discern how each state should behave, regardless of how we got to that state, by using autofiltering to select states that may be due to the same conversion.

We'll use the convention of showing -nn (a negative value) to indicate that a particular value has stabilized, while nn (a positive value) indicates that the value will be different on the next step. Although the vitamin values are never actually negative, the convenient use of a negative for static values allows us to use basic auto-filtering tools to exclude the variables that are not effected by the current conversions (or are perhaps in equilibrium).

Initialization Tests

Our first set of tests will treat Dung, Urine, H2O, and Oxygen as binary values. We'll either maximize a value (99) or let it decrement to its minimum value (0). Those values will be clamped until the conversion rates stabilize, whereupon we'll snapshot the test results and leave the thistle garden to complete it's cycle.

As each test starts with all ingredients at 50%, five steps are sufficient to zero out any undesired ingredients (but you'll very likely still have some stray vitamins). We'll therefore snapshot the initialization tests at step 6 and then move on to other tests rather than waiting for the predictable conversions to reach a maximum value.

Part of the initialization test regime will be to determine just how sensitive the various conversions are to Available Sunshine, and to define equivalent ranges. Take a close look at the test series for 0,99,99,99,S. We'll initially track Available Sunshine in the following ranges:

  1. Full Sunshine = 99
  2. High Sunshine 33 > + < 99 (This could be ugly. We may need a Medium Sunshine range as well.).
  3. Shaded Sunshine = 33
  4. Low Sunshine 0 > - < 33 and the level will be considered as equivalent whether due to time-of-day or canopy condition. (This could also be ugly.)
  5. Darkness with Sunshine = 0

To reiterate, for this set of initialization tests Dung, Urine, H2O, and Oxygen will be either minimized or maximized, while Sunshine will be categorized as 0%, 1%-32%, 33%, 34%-98%, or 99%. We'll only worry about five different sunlight conditions unless test results suggest that other breakpoints are significant.

The initialization test set therefore has 2*2*2*2*2=32 + 2*2*2*2*3=48 = 80 differentiated states. If multiple values are shown for a particular state it's because the weather changed, and the date with the highest number of active conversions will be bolded.

Do please note that only the tests for Iteration 6 are initialization tests. Initialization tests should be entirely reproducible. At iteration 0, immediately clamp any ingredient value that shows as 99 and keep it at 99, while letting the rest of of the values drift down to 0. If you get different tests results, it's because different conversions were available on that day.

Where an iteration other than 6 is indicated, the ingredient data serves primarily as an index to the one or more vitamin conversions are of interest. It is likely that getting to the indicated state required multiple strategies or intermediate ingredient values, and without going back to the original recipe (Thank God for Hypersnap!) it's not likely that you would accidently get the exact same results.

If you take a look at the attached Thistles.xls spreadsheet, we're also tracking the rate of change for each of the vitamins. How much of each vitamin has accumulated is nice to know, and it's actually the ultimate objective, but for research purposes the critical datum is the Rate of Change, and thereby the discernment of the relevant conversion pairs and conditions.

GameDate I Nit Pot H2O Oxy Sun Asc Bio Car Fol Nia Pry Thi Ambient Conditions
For This Conversion
3 Peret III-19 6 99 99 99 99 33 19 0 19 0 0 0 0 Car U O99
3 Peret II-26 6 99 99 99 99 5 0 15 19 0 0 0 0 Car U O99
3 Peret III-28 6 99 99 99 99 0 0 15 19 0 39 0 0 Car U O99
Nia H99
3 Peret III-19 6 99 99 99 0 99 0 0 0 0 8 -3 0 Nia H99
3 Peret III-19 6 99 99 99 0 33 19 0 0 0 0 0 0 Nia H99
3 Peret II-26 6 99 99 99 0 2 0 12 0 0 0 0 0
3 Peret III-28 6 99 99 99 0 0 0 15 0 0 33 0 0 Nia H99
3 Peret III-19 6 99 99 0 99 99 0 26 0 0 0 -6 0
3 Peret III-19 6 99 99 0 99 33 0 9 19 0 0 -3 0 Car U O99
3 Peret II-26 6 99 99 0 99 0 0 24 19 0 0 -3 0
3 Peret III-19 6 99 99 0 0 99 0 0 0 0 0 13 0 Pry H=00
3 Peret III-19 6 99 99 0 0 33 0 0 0 0 0 13 0 Pry H=00
3 Peret IV-1 6 99 99 0 0 0 0 15 0 0 0 13 0 Pry H=00
3 Peret III-19 6 99 0 99 99 99 0 23 0 0 0 -3 0
3 Peret III-19 6 99 0 99 99 33 19 0 0 0 0 0 0 Asc H99S>32
3 Peret III-22 6 99 0 99 99 13 0 -5 -3 0 0 0 0
3 Peret III-19 6 99 0 99 20 33 19 0 -6 0 0 0 0 Asc H99S>32
3 Peret II-26 6 99 0 99 89 0 0 -5 -3 0 0 0 0
3 Peret III-19 6 99 0 99 0 99 0 0 0 0 8 -3 0 Nia H99
3 Peret III-22 6 99 0 99 0 42 0 0 0 0 0 0 0
3 Peret III-22 6 99 0 99 0 17 0 -5 0 0 0 0 0
3 Peret II-26 6 99 0 99 0 0 0 -5 0 0 0 0 0
3 Peret III-19 6 99 0 0 99 99 0 16 0 0 0 -3 0
3 Peret III-22 6 99 0 0 99 54 0 -6 0 0 0 13 0 Pry H=00
3 Peret III-19 6 99 0 0 99 33 0 9 -6 0 0 -3 0
3 Peret III-22 6 99 0 0 99 19 0 -5 -3 0 0 13 0 Pry H=00
3 Peret IV-1 6 99 0 0 99 0 0 14 -3 0 0 -3 0
3 Peret III-19 6 99 0 0 0 99 0 0 0 0 0 13 0 Pry H=00
3 Peret III-22 6 99 0 0 0 63 0 0 0 0 0 13 0 Pry H=00
3 Peret III-19 6 99 0 0 0 33 0 0 0 0 0 13 0 Pry H=00
3 Peret III-22 6 99 0 0 0 22 0 0 0 0 0 13 0 Pry H=00
3 Peret IV-1 6 99 0 0 0 0 0 -5 0 0 0 13 0 Pry H=00
3 Peret II-23 6 0 99 99 99 96 0 0 0 0 20 -8 0 Nia H99
3 Peret III-22 6 0 99 99 99 68 0 0 19 0 0 0 0 Car U O99
3 Peret IV-1 6 0 99 99 99 61 -6 16 0 0 0 -3 0
3 Peret IV-1 6 0 99 99 99 55 -6 16 0 0 0 -3 0
3 Peret IV-1 6 0 99 99 99 48 -6 19 0 0 0 0 0
3 Peret IV-1 6 0 99 99 99 42 -6 0 19 0 0 0 0 Car U O99
3 Peret II-23 6 0 99 99 99 33 0 0 19 0 0 0 0 Car U O99
3 Peret IV-1 6 0 99 99 99 31 -6 0 19 0 0 0 0 Car U O99
3 Peret IV-1 6 0 99 99 99 25 -6 0 19 0 0 0 0 Car U O99
3 Peret III-22 6 0 99 99 99 23 0 0 19 0 0 0 0 Car U O99
3 Peret IV-1 6 0 99 99 99 19 0 2 19 0 -13 0 0 Car U O99
3 Peret IV-1 6 0 99 99 99 19 0 15 19 0 -13 0 0 Car U O99
3 Peret IV-1 6 0 99 99 99 17 0 15 19 0 -13 0 0 Car U O99
3 Peret IV-1 6 0 99 99 99 15 0 15 19 0 -13 0 0 Car U O99
3 Peret IV-1 6 0 99 99 99 13 0 15 19 0 -13 0 0 Car U O99
3 Peret IV-1 6 0 99 99 99 12 0 15 19 0 -13 0 0 Car U O99
3 Peret IV-1 6 0 99 99 99 9 0 15 19 0 -13 0 0 Car U O99
3 Peret IV-1 6 0 99 99 99 7 0 15 19 0 -13 0 0 Car U O99
3 Peret IV-1 6 0 99 99 99 5 0 15 19 0 -13 0 0 Car U O99
3 Peret IV-1 6 0 99 99 99 3 0 15 19 0 -13 0 0 Car U O99
3 Peret IV-1 6 0 99 99 99 2 0 15 19 0 -13 0 0 Car U O99
3 Peret IV-1 6 0 99 99 99 1 0 15 19 0 -13 0 0 Car U O99
3 Peret IV-1 7 0 79 89 89 61 -6 -19 0 0 0 -3 0
3 Peret IV-1 6 0 99 99 99 0 0 15 19 0 -13 0 0 Car U O99
3 Peret II-26 6 0 99 99 99 0 0 15 19 0 0 0 0 Car U O99
3 Peret II-23 6 0 99 99 0 99 0 0 0 -2 10 -5 0 Nia H99
3 Peret III-22 6 0 99 99 0 73 25 0 0 -2 0 0 0 Asc H99S>32
3 Peret II-23 8 0 99 99 0 33 0 0 0 0 0 0 0
3 Peret III-22 8 0 99 99 0 25 0 0 0 0 0 0 0
3 Peret IV-1 6 0 99 99 0 0 0 15 0 0 -13 0 0
3 Peret II-26 6 0 99 99 0 0 0 15 0 0 0 0 0
3 Peret III-22 6 0 99 0 99 99 0 0 19 0 0 33 0 Car U O99
Pry H=00
3 Peret II-23 6 0 99 0 99 99 0 0 0 0 0 53 0 Pry H=00
3 Peret II-23 6 0 99 0 99 33 0 0 19 0 0 -3 0 Car U O99
3 Peret III-22 6 0 99 0 99 32 0 0 19 0 0 -3 0 Car U O99
3 Peret IV-1 6 0 99 0 99 0 0 18 19 0 0 0 0 Car U O99
3 Peret II-23 6 0 99 0 0 99 0 30 0 -2 0 -13 0 Bio H=00 O=00 S>94
3 Peret III-22 6 0 99 0 0 95 0 60 0 60 0 -3 30 Fol O=00 S>84
Thi H=00 O=00 S>94
3 Peret II-23 6 0 99 0 0 33 0 0 0 -2 0 -3 0
3 Peret III-22 6 0 99 0 0 31 0 0 0 0 0 -3 0
3 Peret IV-1 6 0 99 0 0 0 0 15 0 0 0 -3 0
3 Peret II-23 6 0 0 99 99 99 0 0 0 0 -5 0 0
3 Peret III-22 6 0 0 99 99 89 0 0 -6 0 -2 0 0
3 Peret II-23 6 0 0 99 99 33 0 0 -6 0 0 0 0
3 Peret III-22 6 0 0 99 99 28 0 0 -6 0 0 0 0
3 Peret II-26 6 0 0 99 99 0 0 -5 -3 0 0 0 0
3 Peret II-23 6 0 0 99 0 99 0 0 0 0 -5 0 0
3 Peret III-22 6 0 0 99 0 84 30 0 0 50 20 0 -20 Asc H99S>32
Fol O00S>84
Nia H99
3 Peret II-23 6 0 0 99 0 33 0 0 0 0 0 0 0
3 Peret III-22 6 0 0 99 0 27 0 0 0 0 0 0 0
3 Peret II-26 6 0 0 99 0 0 0 -5 0 0 0 0 0
3 Peret II-23 6 0 0 0 99 99 0 0 0 0 0 -14 0
3 Peret III-22 6 0 0 0 99 79 0 0 -6 0 0 -8 0
3 Peret II-23 6 0 0 0 99 33 0 0 -6 0 0 -3 0
3 Peret III-22 6 0 0 0 99 25 0 0 -6 0 0 -3 0
3 Peret II-26 6 0 0 0 99 0 0 -8 -3 0 0 0 0
3 Peret II-23 6 0 0 0 0 99 0 0 0 0 0 -13 0
3 Peret III-22 6 0 0 0 0 72 0 -20 0 0 0 -3 0
3 Peret II-23 6 0 0 0 0 33 0 0 0 0 0 -3 0
3 Peret III-22 6 0 0 0 0 23 0 0 0 0 0 -3 0
3 Peret II-26 6 0 0 0 0 0 0 -5 0 0 0 -3 0

Vitamin Tests

A rigourous, but boring, approach would be to hold all but one variable constant, and then increment the target variable both up and down, and record what happened. Fortunately it's not possible to peg any of the intermediate values.

So ....

It's more fun anyway to chase how to force a particular vitamin to increase or decrease, and then watch for the shift points when things happen, and perhaps revisit the test later on with an alternate strategy. The data in the next table is taken from the same worksheet as the above data, and it's indexed the same way, but now we're showing the Rate of Change for each vitamin, and only including dynamic states or, in some cases, the adjacent states to show a boundary condition.

We've also added an artifical E = Environmental input, to account for self-starting conversions, thereby allowing H2O, Oxygen, and Sunshine to be treated as conditionals rather than also showing them as inputs.

You need to understand how we're using the following data, in order to understand the organization of the table. We're using the Excel Autofilter capability to isolate all conditions that can cause a particular Vitamin to increase or decrease, and then we're trying to discern the (one or more sets of) ambient conditions that are required for that particular conversion.

Some of the conversion are reversible, while other conversions create loops in the state diagram. This series of tests focuses on recipe driven changes. These testa general require an initial setup period to convert the directly controllable ingredients into vitamin levels that are sufficient to support a mid-recipe change in strategy, plus enough additional steps to delineate the behavior of any state loop.

The objective in this portion of the research is to isolate a set of 20 or so rules that are common to all states, and to plug those ambient requirement rules into the state diagram, thereby creating a state diagram for Tale 3.

Step Nit Pot H2O Oxy Sun Asc Bio Car Fol Nia Pry Thi Comment

Calibration Recipes

Only about 80% of the available conversions are active on any given day (weather matters), and even the active conversions depend on the amount of sunlight that is available. The following recipes will allow you to reliably determine which of the possible conversions are currently available.

Step Nit Pot H2O Oxy Sun Asc Bio Car Fol Nia Pry Thi Comment

Modern Sheep Pen Recipes

Step Nit Pot H2O Oxy Sun Asc Bio Car Fol Nia Pry Thi Comment

Silkworm Recipes

Step Nit Pot H2O Oxy Sun Asc Bio Car Fol Nia Pry Thi Comment

NameCreatorDateSizeDescription
Modern_Sheep_Farm.pngMarvLApril 27, 2007 7:37 am163775Modern Sheep Farm
Silkworm_Farm.pngMarvLApril 27, 2007 7:38 am76633Silkworms
Sunshine.pngMarvLMay 8, 2007 12:14 am34597Clamped during midday
Thistle_Control.pngMarvLApril 27, 2007 9:06 am153588PopUp Controller
Thistle_Garden.pngMarvLApril 27, 2007 7:39 am130045
Thistles.jpgMarvLApril 27, 2007 12:35 am147279State Diagram with H2O and Sun
Thistles.xlsMarvLMay 11, 2007 6:29 am108032Revision 2007E09, which includes all of the binary categories
Thistles_State_Diagram.jpgMarvLApril 27, 2007 12:44 am140040Urine, H2O, and Sunshine

Home | Atlas | Guides | Tests | Research | Techs | Skills | Index | Recent Changes | Preferences | Login
You must log in to edit pages. | View other revisions
Last edited May 11, 2007 11:55 pm by MarvL (diff)
Search: