Ok so I have this problem of a monte carlo generator that uses a
Pythia generator. And the output are histograms.
My question is how on earth do you validate the results? I mean the
inputs are random, the outputs (if you have a large number of them)
should vaguely be similar to each other, But how would you know that
there is a bad apple/result among them? or more importantly how do you
know the results are correct?
Thanks
Chris
PD - 02 Jul 2008 14:40 GMT
> Ok so I have this problem of a monte carlo generator that uses a
> Pythia generator. And the output are histograms.
[quoted text clipped - 6 lines]
> Thanks
> Chris
I get the impression you are using this software without guidance.
PYTHIA is a physics generator out of Lund, and a common appliance in
the CERN Library.
The generator has been tuned to match benchmark experimental data, and
the default configuration files will refer to up-to-date empirical
distribution functions.
However, there is still lots of room for play, and any changes you
make to the configuration files has to be done in a manner appropriate
to the domain you are trying to simulate. For example, if you are
probing a particular root-s range, then parton distribution functions
should be selected for that range.
PD
chutsu - 02 Jul 2008 15:41 GMT
> > Ok so I have this problem of a monte carlo generator that uses a
> > Pythia generator. And the output are histograms.
[quoted text clipped - 23 lines]
>
> PD
Lol.. Ok I guess I have to tell you the whole story.
I'm basically a summer student @ Queen Mary University of London, and
they want me to port Rivet (http://projects.hepforge.org/rivet/) to
BOINC, The executable is called Rivetgun and basically it can use a
number of generators like Pythia to produce Histograms. If you know
how BOINC works you would know that there is a "Validator" to check
the results are valid before checking them into the BOINC server.
So at this point I need to find a way to validate the results sent
back from BOINC clients. I was told(with help from the physics dept)
to use the Kolmogorov-Smirnov Test to check the shape of the different
histograms. Are there any alternative?
Thanks
Chris
Androcles - 02 Jul 2008 15:43 GMT
| Ok so I have this problem of a monte carlo generator that uses a
| Pythia generator. And the output are histograms.
|
| My question is how on earth do you validate the results?
By comparison with a different generator.
Ford is better than Chevy -- according to Ford.
zzbunker@netscape.net - 02 Jul 2008 16:10 GMT
> Ok so I have this problem of a monte carlo generator that uses a
> Pythia generator. And the output are histograms.
[quoted text clipped - 4 lines]
> there is a bad apple/result among them? or more importantly how do you
> know the results are correct?
You don't. Which is why people with greater than zero computatinal
IQs
have telling the physics morons for years that Monte Carlo is the
same thing as taking a
handfull of apple seeds, casting them in the air and also at the
same being idiotic enough
to except them to turn into Isacc Newton in a couple of semesters.
Which is also why the people with non Quantum Null Thought
Intelligences invented
A.I. non zero IQ Adaptive Digital, Laser Optics, Optical
Computers, Post Neanderthal Robots,
GPS, and Cruise Missiles for the Stooges.
> Thanks
> Chris
Puppet_Sock - 02 Jul 2008 16:19 GMT
[snip]
> My question is how on earth do you validate the results?
Validation of a computer program has a particular technical meaning.
It means: Comparison with authoritative data of some kind in order to
evaluate the accuracy of the program, and evaluate it for suitability
in particular applications.
So, you validate by obtaining authoritative data, then comparing.
You use this to judge the applicability of the program to the task
you want to apply it to.
Typical sources of authoritative data include:
- Qualified measurements of physical data.
- Closed form calculations.
- Numerical solutions of known accuracy.
- Other programs that have already been validated.
Validation should be contrasted with verification. Verification of a
program means checking that the program has been properly
implemented according to the specifications. Some common
methods of verification include:
- Unit testing, where sub-portions are run to see if their behaviour
is as specified.
- Source code inspection. This can often have some automated
component using various CASE tools. Or it can involve humans
(usually not the same people who wrote the code) reading the
code and comparing it to the specs.
- Running the code and comparing the results to certain stylized
though possibly physically unrealistic cases.
So, your Monte Carlo code:
Verification might mean you create a (possibly non-physical)
test case where you can easily predict the results that should
be produced. Preferably with the ability to change various
parameters and see that the code behaves correctly for the
full parameter range specified.
Validation would mean you obtain data from a physically
relevant case that is as similar to the intended use of the
code as possible, and where you have good reason to
know the results are accurate and reliable. Then you build
the inputs for this case, run it through your code, and
compare the results.
Socks