-3
$\begingroup$

For some reason, I need to have a program that will make a small no. of mistakes every now and then, and I should not know what mistakes it has made and when.

I do not need it to make multiple mistakes in one set(run of the algorithm), but rather I plan on making (say) 10,000 runs of the program, and I need it to make mistakes 200 times ..

Very importantly, I must be sanguine that there are no more than (1/5)n mistakes, where n is the total no. of results generated using the program.

The results that I am talking about here can be anything that is quantifiable and verifiable, like eg. an array of values.

Doing something like this:

for(int i=0; i<10000; i++)    //one fifth of the times put garbage in the array using random function!!    for (int j=0; j<5; j++)       array[j]=j; 

is too simplistic and not real enough.

So I thought may be I must look for a mathematical function that can do this for me. Any ideas ?

P.S. I am a noob at math (struggled with engineering college math). So please elaborate your answer. Dont say something like "Use XXX'YYY theorem .." I might not understand! Also, plese attach proper taf to this question. I could not thing of any ..

  • 0
    @RYUZ$A$KI I just did the merge. It should prop$a$gate across all SE sites in your network. The login credentials lists now $b$oth the ones you used for RYUZ$A$KI a$n$d drunkMonk, so it *should* work. If it somehow *doesn't*, please send an e-mail to team@stackexchange.com linking to this discussion here.2012-01-13

1 Answers 1

1

Sometimes a programming language will allow picking a (pseudo-)random item from a list. If you can the following pseudocode seems to do what you want:

  1. BigList is the complete list of the number of runs, say 10000.

  2. For $i$ = $1$ to $200$.

  3. Pick $n$ from BigList. (This uses the item picking function)

  4. Replace BigList with BigList $\smallsetminus \{ n \} $. (Delete $n$ from BigList)

  5. End For (At the end of the for loop we now know which runs should have an error.

  6. Do $i$ = $1$ to $10000$.

  7. If $i$ is still in BigList do the right thing, else do the wrong thing.

  8. End Do.