Wpis z mikrobloga

via Wykop Mobilny (Android)
  • 0
Załóżmy że mamy milion pudełek do których dostęp broni kod złożony z czterocyfrowej kombinacji i po jednej próbie pudełko zostaje zniszczone. Która metoda jest skuteczniejsza? Próbowanie jednej kombinacji cały czas czy losowe wciskanie cyfr?
#matematyka #programowanie
  • 8
via Wykop Mobilny (Android)
  • 2
@Itslilianka:
1000000 pudełek i 10000 kodów

Jeśli każdy z kodów jest przypisany do 100 pudełek, to używając tej samej kombinacji do wszystkich, otworzysz 100 pudełek.

W każdym innym przypadku liczba otwartych pudełek to zmienna losowa i zależy od szczęścia, aczkolwiek 100 nadal jest najbardziej prawdopodobnym wynikiem.
@Itslilianka:
Masz 9999 kodów, milion pudełek.
Pudełka podzieliłbym na na części po 9999 pudełek. Sprawdziłbym pierwszą część 9999 pudełek z 9999 kodami(od 0000 do 9999). Zapisałbym jakie się otworzyły jakimi kodami.
Sprawdziłbym kolejną część 9999 pudełek. Zapisałbym jakie się otworzyły jakimi kodami.

Pomiędzy tymi krokami próbowałbym jakiejś optymalizacji tak aby używać większej liczby działających kodów. Bo być może generator liczb pseudolosowych użyty do generowania kodów chętniej generuje określone numery.
A jeśli
via Wykop Mobilny (Android)
  • 0
@tos-1_buratino: znaczy inaczej. Czy jeśli będę używał kodu 0000 i sprobuje otworzyć 10000 pudełek to czy będę miał większą szansę na otwarcie niż będę używał randomowego kodu? Załóżmy że szyfry były dobierane całkowicie losowo a nie pseudolosowo. Wydaje mi się że będzie równa szansa. Mam 1/10000 szansę na otwarcie bez względu czy będę używał jednego kodubcxy losowego ale jakoś coś podpowiada mi że jeden kod daje większą szansę
@Itslilianka:
Jeśli to naprawdę liczby losowe to dużo nie da się wymyślić. Ja bym wygenerował rozkład Gaussa od 0000 do 9999 ze szczytem gdzieś w okolicach 5000 i losowałbym tylko liczby z tych okolic.

Mógłbym jeszcze np. używać jednej wylosowanej liczby do czasu aż trafię i potem losować następną bo prawdopodobieństwo, że trafię jedną za drugą tą samą jest małe. Ale to mikrooptymalizacja.