Implications of and comments on, trade code distribution

EDG said:
captainjack23 said:
EDG said:
But yes, I am aware of all this, and I think so far that I have made it pretty explicit that I've been assuming that pop 0 really does mean "no people"

which isn't actually what the MGT rules say.

Where does it say otherwise?

Here:
Code:
Population
The Population characteristic measures, obviously, the planet's population. The Population digit can be viewed as the
number of zeroes following a one, so a population of 6 indicates a population in the millions (1,000,000). Population is
generated as a 2d6-2 throw.
Digit Population Range Description
0 Few 0+ A tiny farmstead or a single family

So, no, regardless of the logic, it doesn't say empty. Regardless of what we think of the logic behind it.

That said, do pass on what Gar answers; it's the sure way to get an absolute answer on this.
 
EDG said:
captainjack23 said:
We are here to playtest MGT, so I felt we needed to get an idea of what they looked like, before we considered changing them..daft or not.

OK... I don't need statistics to tell me that the MGT definitions are wrong. A world cannot be "Lo" with no people on it. It can't be "Ni" with no people on it. It can't be "Lt" with no people to have any technology. It can't be "In" with atm 8. So I corrected those.

It doesn't invalidate anything to change that, and it means I don't waste time testing a system that has broken codes and that produces obviously nonsensical results. And until and unless Gar comes on here and says "EDG's implementations are incorrect, they're actually supposed to be like X" then I'll continue to test using my corrected MGT codes. And if he does do that then I'll change the code to whatever he says to change it to.

And that's fine. You do your version, I'll do mine. Your way is valid for your purpose. I would point out that you started pointing out the discrepancies, not me; all I've tried to be clear about is that we cannot compare our results too closely. I never said that your results were invalid. EVER. Treat it as apples and oranges, and as long as we clearly label what the numbers are for Gar and the readers, who can choose which one they want...in fact, I'm going to use both, to look at how your minimual change version impacts the OTU vs what is in the rules as currently written.
So, to avoid this turing into either a stat circlejerk, or argument about frequentist vs bayesian approaches (which it is, believe it or not), or who has a bigger thingie, I'm moving the actual discussion of the table to another thread. I would welcome you to do the same, I'd rather not move your results without your pernmission. If we need to argue methods, lets do it here, and not drown out the playtest.
 
Well put it this way... I'm figuring the stats out my way, and making all the assumptions as explicit as I can. I am making a few assumptions about the MGT and CT methods - but for CT they're assumptions that as far as I know pretty much everyone makes in practice, and the assumptions for MGT are largely based on the CT ones. But I have to make those assumptions to get meaningful results because if I don't the results are obviously nonsensical and useless.

If you want to figure out the stats another way then go right ahead. Personally I prefer to automatically generate a huge amount of results and derive stats from that than just do it all theoretically - it's all to easy to miss subtleties in the theory that arise from combinations that you didn't expect. I'm pretty sure that the code implements the rolls and DMs correctly now, so if you're doing your stuff right and modelling exactly what I'm modelling then then we should agree.

But if you're not doing that, then let's make sure that everybody reading this is absolutely clear on the fact that the results that you get from your theory and the results that I get from my actual rolls aren't really comparable because they're based on different assumptions. I don't want people to walk away thinking that my results are "wrong" or that your results are "wrong" just because they don't agree. Assuming that nobody's made any coding/calculation errors, they're just different, not incorrect (you know this and I know this, but I want to be sure that everyone else knows it too ;) ).
 
EDG said:
Well put it this way... I'm figuring the stats out my way, and making all the assumptions as explicit as I can. I am making a few assumptions about the MGT and CT methods - but for CT they're assumptions that as far as I know pretty much everyone makes in practice, and the assumptions for MGT are largely based on the CT ones. But I have to make those assumptions to get meaningful results because if I don't the results are obviously nonsensical and useless.

If you want to figure out the stats another way then go right ahead. Personally I prefer to automatically generate a huge amount of results and derive stats from that than just do it all theoretically - it's all to easy to miss subtleties in the theory that arise from combinations that you didn't expect. I'm pretty sure that the code implements the rolls and DMs correctly now, so if you're doing your stuff right and modelling exactly what I'm modelling then then we should agree.

But if you're not doing that, then let's make sure that everybody reading this is absolutely clear on the fact that the results that you get from your theory and the results that I get from my actual rolls aren't really comparable because they're based on different assumptions. I don't want people to walk away thinking that my results are "wrong" or that your results are "wrong" just because they don't agree. Assuming that nobody's made any coding/calculation errors, they're just different, not incorrect (you know this and I know this, but I want to be sure that everyone else knows it too ;) ).

Exactly my point, which I've tried to make clear to you and the readers. Thank you for supporting and reiterating it.
However, I would appreciate it if you stop referring to my results as theory, Okay ? Its disingenuous and borders on misleading.

I'm counting the actual combinations that the dice provide - all of them ;you're running a simulation and back inferring to the original probabilites. Your code isn't the issue. An estimate from a sample will always have error, unless it is the whole population. Thats why you use an average -it minimises the error term, but it doesn't eliminate it. WHICH IS FINE. error term is not perjorative, its a mathmatical variable....and a certainty.

Is knowing 1+1 =2 theory ? No. Okay ? a dice has six sides, you can ararange any number of them in a discreet set of ways. And then count em.
That aint theory, bub, it's math - as real a problem as counting a bag of pebbles. It isn't theory predicting what is in the bag, it's what you get when you pour em out and count em. Empirical, ya see ? Your approach is to infer how many pebbles there are using smaller bags and estimates of the pebbles size. Empirical, too, and neccessary with very big bags of (say) very small pebbles, but, irony or ironies, statistical.

Do they not use theory in planetology ? Oh say to predict the liklihood of a size 5 planet having an atmosphere ? You're the planetologist, you tell me....and unless the answer is "we get drunk and make it up ", the answer is YES, you do use theory. So please kindly stop referring to math as a theory, unless you really want to get into non-linear multidementional maths. REAL theoretical stuff.

That said, to get a more accurate measurement here I really should do three runs (at least) and take the average again, but I won't have the time to do that til Thursday night

Its up to you - but the minimum number of iterations for a reliable average is 25.
 
I think we're nitpicking on terminology.

I'm calling what you're doing theory because I'm under the (possibly mistaken) impression that you're saying "this is the probability of this result on 2d6, that's the probability with these modifiers etc", and then multiplying all that together in an appropriate way to get a result for the final probability of something happening.

I'm calling what I'm doing "practical" or "empirical" because I'm actually rolling the dice (or simulating rolling the dice) and coming up with results and then analysing the distribution.

It's like you saying "in theory 70% of stars in the universe should be red dwarfs because of these physics equations" and then me saying "well, I'm going to take my perfect telescope that sees everything and count up all the stars I can see and tell you whether or not 70% of them really are red dwarfs". The former is a theoretical approach, the latter is a practical approach, but they should get the same results.

See? Either way, it's not meant as a disparagement when I say you're doing "theory".

Its up to you - but the minimum number of iterations for a reliable average is 25.

Great, but that's simply not practical (at least not unless I code something to do that for me) An average of three gives a better result than just one, so that's what I'd like to do, and if that doesn't make the result fully "reliable" then I sure as hell can live with it because I'm really not interesting in spending every night for the next two weeks working on coding for a playtest.

I mean, I'm sure 34,000 worlds is going to give us more accurate probabilities than 3,400, but I don't think it's going to change the final outcome by more than a few tenths of a percent for each category at most. It's diminishing returns - an asymptotic trend towards perfection - it's just not worth spending the extra effort to get it within a hair's breadth of the real probabilities. (and another advantage is that my approach has the advantage of actually producing UWPs for people to look at as well).

I just really don't think we have to be that rigorous with the statistical analysis here. If we get within a few tenths of a percent of the right answer then that's fine by me.
 
EDG said:
I think we're nitpicking on terminology.

I'm calling what you're doing theory because I'm under the (possibly mistaken) impression that you're saying "this is the probability of this result on 2d6, that's the probability with these modifiers etc", and then multiplying all that together in an appropriate way to get a result for the final probability of something happening.

I'm calling what I'm doing "practical" or "empirical" because I'm actually rolling the dice (or simulating rolling the dice) and coming up with results and then analysing the distribution.

It's like you saying "in theory 70% of stars in the universe should be red dwarfs because of these physics equations" and then me saying "well, I'm going to take my perfect telescope that sees everything and count up all the stars I can see and tell you whether or not 70% of them really are red dwarfs". The former is a theoretical approach, the latter is a practical approach, but they should get the same results.

See?

No, actually, I'm nitpicking. It's a technical distinction that matters to me, and meaningfully so. I take your word on planetology, so.....if you're gonna play in my sandbox, please just humor me, okay ? Just a polite request, not a demand.

I'm not saying anything about your rigorousness; if you have inferred that, please accept my assurance that that is not my goal, my intent, or indeed, my interest. I'm complaining about your termininology that you use to describe my work. It misrepresents it, and poorly. I'm sure that isn't your intent either. But, please....okay ?

Its up to you - but the minimum number of iterations for a reliable average is 25.

Great, but that's simply not practical (at least not unless I code something to do that for me) An average of three gives a better result than just one, so that's what I'd like to do, and if that doesn't make the result fully "reliable" then I sure as hell can live with it because I'm really not interesting in spending every night for the next two weeks working on coding for a playtest.

I mean, I'm sure 34,000 worlds is going to give us more accurate probabilities than 3,400, but I don't think it's going to change the final outcome by more than a few tenths of a percent for each category at most. It's diminishing returns - an asymptotic trend towards perfection - it's just not worth spending the extra effort to get it within a hair's breadth of the real probabilities. (and another advantage is that my approach has the advantage of actually producing UWPs for people to look at as well).

I just really don't think we have to be that rigorous with the statistical analysis here. If we get within a few tenths of a percent of the right answer then that's fine by me.


Well, yes. Again, I say nothing about rigor, just the comparison of our results. Simply stated, your approach indicates only that only that you shouldn't be suprised at different results between us - fact is 3400 is a big number, but there are (mumble mumble, carry the two) 11*11*13*11*13*13*15*18 = 789,535,890 possible unique variations for the uWp. Your sample is in fact a .000406% sample ...and that doesn't take into account that since you're creating random uWps, you'll have repeats. Smaller % sample = increased error factor, although the absolute size mitigates somewhat. 3400 subjects would be a reasonable sample of the the USA (and then some)....but it would have error margins.


And yes, that was me just showing off. Again. I'm not imputing your aproach, just commenting on why our outcomes are somewhat different in an absolute sense. The fact is, I suspect (based on years of experience with megasize datasets and analysis) we are statistically identical where we used the same criterea.

Okay, nuff for now.
 
Yeah, but in practice you really don't need to generate nearly 790 million or so UWPs to get a reasonably accurate idea of the distribution. We're only after accuracy to the first order here, not absolute perfection. A few thousand UWPs (representing about ten times as many individual dice rolls) results is more than enough to get a useful idea of the distribution.

Though you can demonstrate that for yourself really - try doing the equivalent of generating 3400 UWPs instead of 790 million and see how different the distributions are. Sure, the 3400 UWP run will be lower resolution but I think the results should all be within the same order of magnitude (i.e. one isn't likely to show a 5% result while the other shows a 25% result for the same thing).
 
EDG said:
Yeah, but in practice you really don't need to generate nearly 790 million or so UWPs to get a reasonably accurate idea of the distribution. We're only after accuracy to the first order here, not absolute perfection. A few thousand UWPs (representing about ten times as many individual dice rolls) results is more than enough to get a useful idea of the distribution.

Though you can demonstrate that for yourself really - try doing the equivalent of generating 3400 UWPs instead of 790 million and see how different the distributions are. Sure, the 3400 UWP run will be lower resolution but I think the results should all be within the same order of magnitude (i.e. one isn't likely to show a 5% result while the other shows a 25% result for the same thing).

Your results are good enough ! I never said otherwise. In fact, I said exactly that.
I fear I have been too verbose on the matter, and am driving you to skim. Honest to god, I did not suggest you run 7 million uWps, or that you ouight to have. I just wanted to give a helpful and hopefully educational ust an educational comment about why our results differ; as you've said yourself you're "crap at stats"; just trying to help.


All I’m pointing out is that MY results and YOUR results are guaranteed to differ. A difference which you pointed out, so I thought it would be helpful to give you some input on WHY.
Again, I don't need to teach you about planets, and you don’t need to teach me about what constitutes a valid sample or what is appropriate error factors or how one should do stats. It isn't repeat isn’t an issue right now.
NEITHER one of us has enough of a basic education in the others field to make meaningful statements about how it works. In fact, as it just seems to generate more verbiage and or argument and or insecurity than I want to deal with, I’ll even stop saying anything about this particular issue any more. If you don’t get my point, I ‘ll have to live with that. I get yours: your results are good enough.

Later thought:

If you have the code to generate the uWps, and assign the trade codes, and, I assume count them, , why NOT run a much vaster number and just output the final counts ? You already have more than enough uWps so,why print more ? The only issue then would be actual processing time. I mean, it wouldn't hard to do in Perl, and I'm hardly an expert.


EDITS for spelling
 
SableWyvern said:
Also: skyscrapers/arcologies stretching up into vacuum, anti-grav cities floating amonst the clouds or on the oceans, submarine and sub-surface cities. I really like the idea of skyscrapers complete with their own private highports at the top - essentially space elevators, I suppose.

In any case, at higher tech levels, there are plenty of ways to deal with high populations.

anselyn said:
But not at low ...

The Empire State Building (NYC) dates from the 1930's, so the 'Hong Kong' solution requires only TL 5. Serious designs for Orbital stations date back to 1959, so an orbital city MIGHT BE possible at TL 6.

How often are POP C worlds of TL 0-4 generated?
How great of a problem is this?

For that matter, Native Americans built cities in cliffs at TL 0 and Iraq (I think) has ancient cities carved below ground. The mantle is a mile thick, that's a lot of room for caves and tunnels.

Just some 'low tech' suggestions.
 
captainjack23 said:
I may have some dead time on my hands today. Lets see if I can automate the whole thing in SAS, just for S&G.

Yes indeed. Some time indeed. The code is starting to be done..fun really.

If anyone feels like editing the traveller parts of the code , I'd be delerious. Since I don;t expect anyone to be a SAS programmer (its fairly archane..ooooh spooooky code)mainly look at the modifiers and exclusions. I'll cut out the incomprehensible bits.

This rolls the BASIC Plaetary stats, plus Starport and Tech.
Code:
  %MACRO PLANGEN;
   %do i=1 %to 500;
     DATA NEW ;
      PLANET = &i;
      SIZ = <this part is  the random number generator bit, ignore it> -2 ;
      ATM =<this part is  the random number generator bit, ignore it> -7+ SIZ;
           IF SIZ =0 THEN ATM =(ATM-4);
           IF ATM <0  THEN ATM =0;
           IF ATM >12 THEN  ATM =10;
      HYD =<this part is  the random number generator bit, ignore it> -7+ SIZ;
           IF ATM =0 THEN HYD =(HYD-4);
           IF HYD <0  THEN HYD =0;
           IF HYD >10 THEN  HYD =10;
      POP =<this part is  the random number generator bit, ignore it>-2;
      GOV =<this part is  the random number generator bit, ignore it> -7+ POP;
           IF POP =0  THEN GOV=0;
           IF GOV <0  THEN GOV =0;
           IF GOV >13 THEN  GOV =13;
       LAW =<this part is  the random number generator bit, ignore it> -7+ GOV;
           IF POP =0 THEN LAW =0;
           IF LAW <0  THEN LAW =0;
           IF LAW >10 THEN  LAW =10;
       SPT  =  <this part is  the random number generator bit, ignore it>;<-this is the raw roll for the starport>
           IF POP >6 THEN SPT =(SPT +1);
           IF POP <4 THEN SPT =(SPT -1); 
       TLv  = <this part is  the random number generator bit, ignore it>
           IF          SPT >10 THEN TLv =TLv+6 ;<-this is the raw roll for the starport>
           IF     8<   SPT < 11 THEN TLv =TLv+4;<-this is the raw roll for the starport>
           IF     6<   SPT < 9 THEN TLv =TLv+2;<-this is the raw roll for the starport>
           IF          SPT < 3 THEN TLv =TLv-4;<-this is the raw roll for the starport>
           IF          SIZ <2  THEN TLv =TLv+2;
           IF      1<  SIZ <5  THEN TLv =TLv+1;
           IF      4>  ATM <9  THEN TLv =TLv+1;
           IF          HYD =9  THEN TLv =TLv+1;
           IF          HYD =10 THEN TLv =TLv+2;
           IF      0<  POP <5  THEN TLv =TLv+1;
           IF          GOV = 0 THEN TLv =TLv+1;
           IF          GOV = 4 THEN TLv =TLv+1;
           IF          GOV = 13 THEN TLv =TLv-2;
           IF          POP = 0 THEN TLv=0;
           IF          TLv<0   THEN TLv=0;
       RUN;
     DATA NEW2 ;
         SET NEW2 NEW; RUN;
    %END;

 %MEND;

Again, I'm not expecting anyone to actually proof it, but if I do post results, we'll have access to the code in case any wierd bits show up.

The Rules used are pure 3.2.
 
Okay, heres one of the other key bits for perusal....the code to categorize all the trade codes.

Again, my goal here is slavish use of the 3.2.1 rules (3.2 pus explicit clarifications from Gar). Departures from the rules are errors, so if you note any, feel free to trumpet my foolish mistakes to the list...;) Hell, I'll want to know, fer sure.

What the heck. On the off chance there are any SQL or SAS coders out there, I'll be taking comments and suggestions on the actual code, too.

Code:
  %MACRO ASSIGNTRADECODESANDSUCH;
    Proc sql;
       UPDATE      NEW2
       SET Ag =1 WHERE SIZ in (4,5,6,7,8,9) AND ATM in (4,5,6,7,8)
                 AND HYD IN (5,6,7) AND POP>0;
       UPDATE      NEW2
       SET AS =1 WHERE SIZ = 0 AND ATM =0
                 AND HYD IN (5,6,7) AND POP>0;
       UPDATE      NEW2
       SET Ba =1 WHERE SIZ in (4,5,6,7,8,9) AND ATM in (4,5,6,7,8)
                 AND HYD = 0        AND POP>0;
       UPDATE      NEW2
       SET De =1 WHERE  ATM >1
                 AND HYD =0         AND POP>0;
       UPDATE      NEW2
       SET Fl =1 WHERE ATM >9
                 AND HYD >1         AND POP>0;
       UPDATE      NEW2
       SET Ga =1 WHERE SIZ >5  AND ATM in (4,5,6,7,8,9)
                 AND HYD IN (4,5,6,7,8,9) AND POP>0;
       UPDATE      NEW2
       SET Hi =1 WHERE  POP>8;
       UPDATE      NEW2
       SET Ht =1 WHERE TLv>11 AND POP>0;
       UPDATE      NEW2
       SET Ic =1 WHERE ATM in (0,1)
                 AND HYD >1         AND POP>0;
       UPDATE      NEW2
       SET In =1 WHERE ATM in (0,1,2,4,7,9)
                 AND POP>9;
       UPDATE      NEW2
       SET Lo =1 WHERE 0< POP<4;
       UPDATE      NEW2
       SET Lt =1 WHERE TLv<6  AND POP>0;
       UPDATE      NEW2
       SET Na =1 WHERE ATM in (0,1,2,3)     AND HYD in (0,1,2,3)
                  AND POP>5;
       UPDATE      NEW2
       SET Ni =1 WHERE POP in (1,2,3,4,5,6)  AND POP>0;
       UPDATE      NEW2
       SET Po =1 WHERE ATM in (2,3,4,5)
                 AND HYD <4         AND POP>0;
       UPDATE      NEW2
       SET Ri =1 WHERE  ATM in (6,8) AND POP in(4,5,6,7,8,9)
                 AND GOV IN (4,5,6,7,8,9) ;
       UPDATE      NEW2
       SET Va =1 WHERE ATM =0  AND POP>0;
       UPDATE      NEW2
       SET Wa =1 WHERE HYD =10        AND POP>0;
     QUIT;
   %MEND;
 
In case it matters, heres the SAS code for the random number simulation of the dice roller code...

(( 1+ INT(MOD( UNIFORM(-12)*10, 6 )) ) +
( 1+ INT(MOD( UNIFORM(-12)*10, 6 )) )

This creates two pseudo d6 rolls and adds em. From there, just subtract add, etc. as needed.

This is the Pseudo 1d6 roll part
( 1+ INT(MOD( UNIFORM(-12)*10, 6 )) )

Pretty much any dice can be simulated by changing the terminal 6 in the above code to what you want: 12,20,4, 9 (yes, I'm looking at you EDG.)..;)
 
If it's any consolation I did stomp some more bugs in my code (mostly on the EDG worldgen side of things annoyingly - the hydro was screwy so that explained why there were so many low hyd worlds there) - I think the new runs are going to be accurate now.
 
EDG said:
If it's any consolation I did stomp some more bugs in my code (mostly on the EDG worldgen side of things annoyingly - the hydro was screwy so that explained why there were so many low hyd worlds there) - I think the new runs are going to be accurate now.

At the moment, it seems like the bugs have gotten out of the code and are crawling around on the walls.....perhaps it's time for bed ?

Yes, it is. The Govt is done with me for now.....so says mr happy stapler.

Gibber gibber,tweet tweet.
 
anselyn said:
Settembrini said:
For example, a Pop Zero World has a population of 0-9! Don´t forget that
POP = n*10^k
where n is the Pop multiplier from the expanded UWP (not in MGT as far as I know, so it defaults to 1)
and k is the UWP Pop digit.

10^0 = 1
On population, do we really think that population C is viable on any world? A quick calculation suggest to me that's the same order of magnitude as having the population density of Hong Kong or Singapore over every square kilometer of the Earth.

How do understand that for, say, a size 5 world that 50% water covered (or alternatively a desert) and TL 6 - or at that point are we happy to invent the rationale?

Alternative, cap population at B?

Population C might be perfectly acceptable to an alien species of hive-mind, underground dwelling, 1-foot-long creatures. Don't get all humanocentric in your assumptions. There is NOTHING in Traveller that says the population is human.
 
Rikki Tikki Traveller said:
Don't get all humanocentric in your assumptions. There is NOTHING in Traveller that says the population is human.

Other than Character Generation, several Alien Modules, and such specifiying that, in the OTU, presume humans unless noted otherwise, with remark codes like: D:3 A:1 V:5, etc...

It's implicit that imperial worlds in the imperium are human dominated.

In TTA, the Dandies are mentioned as not being part of the listed government nor population on their homeworld, but the Human Settlers are! (The humans outnumber them more than 10:1...)
 
TL is about what the planet produces, generally. Not what the people there use for certain tasks, wherever that stuff comes from.

Also, as noted above, unique uses of Low Tech solutions.

Explaining weird TL (UWP combinations in general) is an integral part of Traveller.

Low TL on Vacc worlds is even cited as an example in the LBBs of how to roll with and get inspired by UWPs.
 
While the OTU might be implicitly human, the OGL doesn't have to be.

I once ran a Traveller game where after several wonderful adventures the 'human' characters discovered a habitable planet that had evidence of a nuclear war and after some exploration discovered that it was earth, where human life had been destroyed a million years ago BEFORE INTERSTELLAR TRAVEL OR CONTACT...

At that point, I told them they were all fuzzy aliens who thought of themselves as "human".

Well I had fun with it...
 
Rikki Tikki Traveller said:
While the OTU might be implicitly human, the OGL doesn't have to be.

I once ran a Traveller game where after several wonderful adventures the 'human' characters discovered a habitable planet that had evidence of a nuclear war and after some exploration discovered that it was earth, where human life had been destroyed a million years ago BEFORE INTERSTELLAR TRAVEL OR CONTACT...

At that point, I told them they were all fuzzy aliens who thought of themselves as "human".

Well I had fun with it...

How very very twighlight-zoneish of you ...I like it !
 
Back
Top