Gibt es einen effizienten Algorithmus, um die Wahrscheinlichkeit zu bestimmen, dass eine große zufällig ausgewählte Ganzzahl nicht von irgendeiner Ganzzahl einiger Set teilab ist?

cs.stackexchange https://cs.stackexchange.com/questions/124708

Frage

Angesichts eines Satzes von 10 Ganzzahlen $ a= A_1, A_2, \ CDOTs A_ {10} $ , gibt es einen effizienten Algorithmus, der mir sagen kann, was die Wahrscheinlichkeit istEine zufällig ausgewählte Ganzzahl zwischen $ 1 $ und $ 10 ^ {10} $ ist nicht von einem Mitglied dieses Satzes teilbar.

Ich verstehe, dass das Inclusion-Ausschluss-Prinzip verwendet werden kann, um dieses Problem zu lösen, aber ich kann nicht herausfinden, wie er es implementieren soll, so dass er effizient funktioniert.

note : Wenn ich "effizient" sage, meine polynome Zeit, aber ich bin mir nicht ganz sicher, was als Polynom-Zeit qualifiziert ist, dass dieser Fall ist, da beide Variablen behoben sind.

War es hilfreich?

Lösung

let $ \ mathbf x $ Seien Sie eine Zufallszahl im Bereich $ 1, \ ldots, n $ , und lassen Sie $ e_i $ das Ereignis an, das $ \ Mathbf x $ von $ a_i $ . Sie sind an der Wahrscheinlichkeit interessiert, dass keiner der Ereignisse $ E_1, \ LDOs, E_M $ passiert (in Ihrem Fall, $ m= 10 $ ). Mit dem Inclusion-Ausschluss-Prinzip verringert dies die Berechnung der Wahrscheinlichkeit der Ereignisse des Formulars $ E_ {i_1} \ Land \ CDs \ Land E_ {i_k} $ , Das heißt, $ \ mathbf x $ ist von allen $ A_ {i_1}, \ ldots, a_ {i_k} teilbar $ . Da ein $ \ mathbf x $ von einem Bündel von Zahlen teilbar ist, ist es von ihrem LCM teilbar, genügt es, um die Wahrscheinlichkeit zu ermitteln, dass $ \ mathbf x $ ist mit $ A $ teilbar.

Unter $ 1, \ ldots, n $ , die von $ A $ sind $$ a, 2a, 3a, \ ldots, \ lfloor n / a \ rfloor a, $$ Insgesamt $ \ lfloor n / a \ rfloor $ Zahlen. Daher ist die Wahrscheinlichkeit, dass $ \ mathbf x $ von $ A $ teilbar ist, ist genau $$ \ frac {lfloor n / a \ rfloor} {n}. $$

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit cs.stackexchange
scroll top