Forums before death by AOL, social media and spammers... "We can't have nice things"
|    sci.math.symbolic    |    Symbolic algebra discussion    |    10,432 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 10,265 of 10,432    |
|    Jeff Barnett to Nasser M. Abbasi    |
|    Re: Symbolic-Numeric Integration    |
|    03 Sep 22 23:32:36    |
      From: jbb@notatt.com              On 9/3/2022 10:43 PM, Nasser M. Abbasi wrote:       > On 9/3/2022 11:25 PM, Jeff Barnett wrote:       >       >>>       >>> Random.seed!(12) #must do this in order to reproduce same result       >>>       >>> Then now same antiderivative is generated each time. So now I can add       >>> Julia integrator to CAS integration tests.       >>       >       >       >> That doesn't seem correct to me since users will get whatever first seed       >> the system generates (unless they choose their own as you are). The       >> chances that they will choose 12 as you have is small. I would either       >> give the system a fail because it is unreliable on that problem or I       >> would test it for, say, a 100 or so seeds and give the number (a       >> percent) that it gets correct. The fact that you had to search for a       >> seed that led to correct behavior voids the system's ability for that       >> example. It might be that you could find a seed for each problem in the       >> test suite that leads to correct behavior for the problem. But that       >> doesn't make the system perfect.       >>       >> Basically when you are testing a system that uses a "probabilistic"       >> approach, you need to develop scoring methods that account for that fact.       >       >       > But I have documented that this result is based on using seed `12`.       > Any other value could very well generate new result.       >       > So if someone wants to obtain the same result as I have obtained,       > they have to use same seed.              I've snipped everything below since I wasn't clear and I think there is       a misunderstanding. I assumed, tacitly, that people look at the results       of running test suites "to understand how well they can expect them to       work" they do not look at the results to learn how to solve exactly the       problems in that suite. What about a similar problem which is properly       solved with initial seed 32457689912 but fails with 12? They look at       your work to learn which systems are trustworthy and worth the price.              A zillion years ago I wrote a program to form fault trees from systems       where some of the components had circular dependencies. That fault tree       then was reduced to minimal fault sets. This gibberish meant find sets       of components such that if all failed, the system failed and that no       subset of fault set led to system failure. This is yet another       processing of and or expressions to get in a particular form and, of       course, this is one of those BP complete problems. The algorithm I       developed order all the variables and did some magic that allowed the       output tree to share, multiple times, most of its nodes dramatically       saving space. The exact amount of space but more importantly, the       runtime depended on the variable order chosen. There was no way to       guarantee a polynomial run time since it was an NP complete problem. For       engineering work I would try an ordering and after a while I'd start it       with another and I usually found solutions in very good time. The       problem was that one day it solved a problem in few seconds and the next       day it might run for hours and not terminate. Most of the work I did was       trying to develop heuristics to find good orders that led to good       performance. However, those heuristics often depended on what order they       examined parameters.              The problem with a test suite for the above is the users didn't care       about all these internal machinations; they just wanted to know if the       system would work. I could have published test cases and a good ordering       heuristic for each one but that would be useless information to an       engineer that was trying to do a reliability forecast. The work was for       the design of ultra performance aircraft and was to evaluate the       reliability of the plane and its safety and effectiveness. The joke in       all of this was that their current methods for dealing with circular       dependency were not correct; what I mean is you have in effect several       boolean equations in many variables and you substitute one of the       equations into another and an inconsistency pops out.              Let me finish by repeating a line from above: "What about a similar       problem which is properly solved with initial seed 32457689912 but fails       with 12?" Test suites must tell someone how well things work; They are       not to teach hacking.       --       Jeff Barnett              --- SoupGate-Win32 v1.05        * Origin: you cannot sedate... all the things you hate (1:229/2)    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca