2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2, 3, 4  След.
 
 
Сообщение24.10.2008, 15:39 
Аватара пользователя
Я бы выбрал некую априорную вероятность обнаружения ошибки при однократном тестировании программы. Тогда понятно, что речь идет об испытаниях по схеме Бернулли, и можно задаться вопросом: каково минимальное число испытаний, сделав которые и не получив ошибки, можно с вероятностью, не меньшей, чем р, утверждать, что ошибок нет.

 
 
 
 
Сообщение24.10.2008, 15:42 
Аватара пользователя
Разумная задача по мотивам того, что написано, имела бы следующий вид. Итак, мы провели 100 испытаний и ни разу не вытащили черный шар. Если обозначить неизвестную вероятность извлечения черного шара через $p$, тогда вероятность наблюденного нами события равна $(1-p)^{100}$. Зададимся "надежностью", скажем, 99%; это означает, что если мы наблюдаем один раз некоторое событие, то будем верить в то, что его вероятность не меньше $0.01$.

Составим уравнение $(1-p)^{100}=0.01$

Решая его, получаем $p\approx 0.045$

Таким образом, если $p>0.045$, то вероятность того события, которое мы наблюдали, будет меньше $0.01$

Словами это можно выразить так: с надежностью 99% наш эксперимент показывает, что $p\le 0.045$.

Это все, что можно сказать. Можно ли отсюда говорить, что черных шаров в корзине нет - решать вам. Скажем, если всего в корзине 10 шаров, тогда такой вывод будет достаточно надежным, поскольку минимальное положительное значение $p$ при этом равно $0.1$ (и тогда вероятность не получить ни одного черного шара для 100 извлечений равна примерно $2.6\cdot 10^{-5}$).

Если же всего в корзине 100 шаров, тогда такой вывод заведомо не будет надежным, поскольку минимальное положительное значение $p$ равно $0.01$, что укладывается в наши границы. И действительно, если в корзине 1 черный шар на 99 белых, то вероятность ни разу не вытащить черный шар при 100 испытаниях равна примерно $0.366$. В том, что наблюдается такое событие, нет ничего удивительного.

 
 
 
 
Сообщение24.10.2008, 15:43 
TOTAL, ну Вы зря так. Если Вы и еще 1000 человек считают, что эта задача некорректна, то это не значит, что она некорректна:)

 
 
 
 
Сообщение24.10.2008, 15:45 
Аватара пользователя
Однако пример с тестированием программы мне лично совершенно не нравится, поскольку он совершенно не жизненный. Лучше придумать какую-нибудь другую иллюстрацию.

 
 
 
 
Сообщение24.10.2008, 15:46 
Brukvalub, PAV - спасибо!
Надо подумать над этим, осмыслить....будут еще идеи - делитесь, пожалуйста. Я как придумаю решение тоже выставлю на суд ваш:)

 
 
 
 
Сообщение24.10.2008, 15:48 
Аватара пользователя
А почему сразу не вытащить mn шаров? При возрастании N вероятность того, что число черных шаров равно конкретному значению ( в том числе 0), будет стремиться к 0.
Вернее, я бы сказал так: для любого e > 0, для любых n и m можно указать такое N, что в случае вытаскивания m раз по n белых шаров рассчитанная по любой описанной в учебниках методике вероятность того, что в урне совсем нет черных шаров, меньше е :)
А в случае программы порядок ее тестирования и критерии работоспособности нужно оговаривать с заказчиком еще на этапе технического задания.
Заказчики всегда придираются.

 
 
 
 
Сообщение24.10.2008, 15:49 
Аватара пользователя
Splendid писал(а):
Вот написали вы программку, котороя, допустим считает квадрат числа, протестировали ее 100 раз - считает правильно. Захотели продать ее. А покупатель спрашивает - вы тестировали - да - сколько раз - 100 раз - а почему 100? Какие гарантии, что на 150 она не ошибется? Какова вероятность ошибки в дальнейшем? - вот и что ему ответить?

Вот тут было увлекательное обсуждение данной проблемы.
Если лень читать, то краткое резюме: в некоторых случаях до 100 тестировать достаточно (низкие требования к надёжности), в других не спасёт никакое тестирование (нужно математически доказывать корректность программы). Теорию вероятностей задействовать проблематично.

 
 
 
 
Сообщение24.10.2008, 15:50 
Аватара пользователя
Splendid в сообщении #153043 писал(а):
Заказчики придрались с вопросом - почему 1000 раз?


На месте заказчиков я тоже бы придрался.
Более того, если заказчики что-то смыслят, то никакого "математического обоснования" выбора числа 1000 они не примут. С практической точки зрения все это шаманство.

 
 
 
 
Сообщение24.10.2008, 18:27 
Мне кажется, что и схема Бейеса тут тоже бы подошла (говорю я это условно, так как в исходном задании не хватает данных). То есть применить схему Бейеса к определению вероятности после каждого вынимания набора шаров из корзины

 
 
 
 
Сообщение24.10.2008, 22:45 
Splendid Ваша задача корректна. Только ответ вас, возможно, не порадует - искомая вероятность может быть любой.

Более осмысленными в данной задаче являются вопросы:
- найти оценку для вероятности $p$ обнаружения ошибки при однократном тестировании программы;
- на некотором уровне значимости проверить гипотезу вида $p=0$, $p<0.01$ и т.п.

То, как обосновать "1000 испытаний" вам предложил Brukvalub. Для этого надо задатся таким уровнем значимости, чтобы гипотеза (скажем, $p=0$) отвергалась при количестве успешных испытаний, меньшем 1000, и не отвергалась - при 1000 и больше.
Хотя, по большому счету, это вуалирование нашего незнания (так не было понятно откуда берется число 1000, теперь не будет понятно откуда взялся выбранный уровень значимости :) ).

 
 
 
 
Сообщение25.10.2008, 09:28 
То есть давайте попробую без умных слов растолковать, о чем говорят любители статистики. Они говорят о том, что
    Если программа правильно работает с вероятностью $p$, и при этом в $N$ испытаниях она не ошиблась, то произошло событие, имеющее вероятность $p^N$. А если она просто работает правильно, то это же событие будет иметь вероятность $1$. Вывод: Чтобы доказать заказчику, что программа правильно работает с вероятностью хотя бы $p$, нужно провести на глазах у заказчика подряд $N$ случайных испытаний, на которых она сработает правильно, где $N$ настолько велико, чтобы заказчик не мог поверить, что событие, имеющее вероятность $p^N$, может произойти.
О.

 
 
 
 
Сообщение25.10.2008, 13:05 
AD писал(а):
То есть давайте попробую без умных слов растолковать, о чем говорят любители статистики. Они говорят о том, что
    Если программа правильно работает с вероятностью $p$, и при этом в $N$ испытаниях она не ошиблась, то произошло событие, имеющее вероятность $p^N$. А если она просто работает правильно, то это же событие будет иметь вероятность $1$. Вывод: Чтобы доказать заказчику, что программа правильно работает с вероятностью хотя бы $p$, нужно провести на глазах у заказчика подряд $N$ случайных испытаний, на которых она сработает правильно, где $N$ настолько велико, чтобы заказчик не мог поверить, что событие, имеющее вероятность $p^N$, может произойти.
О.

Однажды был спор по поводу корректности задачи: "Вероятности выпадения орла и решки в одном испытании равны, Выполнено 99 испытаний - выпали только орлы. Какова вероятность выпадения орла в сотом испытании?" По первому условию Р=1/2, по второму Р=100/100. Однако большинство спорящих выбирали ответ 1/2, утверждая, что это - единственно правильный ответ.
Обсуждаемая в этой теме задача: "Выполнено 99 испытаний - выпали только орлы, выпадение решки было возможно, но она не выпала. Какова вероятность того, что в сотом испытании опять выпадет орел?" Автор темы пока уверена, что существует к такой задаче единственно правильный ответ.Ответ Р=99/99 устраивает ее клиента (клиента 100% гарантия устраивает всегда). Ответ Р=99/100 был бы более честным, но он не устраивает клиента. Хотя в торговле обычно назначают не процент надежности, а срок гарантии.

 
 
 
 
Сообщение25.10.2008, 14:37 
Архипов писал(а):
Однажды был спор по поводу корректности задачи: "Вероятности выпадения орла и решки в одном испытании равны, Выполнено 99 испытаний - выпали только орлы. Какова вероятность выпадения орла в сотом испытании?" По первому условию Р=1/2, по второму Р=100/100.
А если так?

Вероятности выпадения орла и решки в одном испытании равны, Выполнено одно испытание - выпал только орел. Какова вероятность выпадения орла во втором испытании?

 
 
 
 
Сообщение25.10.2008, 22:10 
tolstopuz в сообщении #153245 писал(а):
А если так?
Вероятности выпадения орла и решки в одном испытании равны, Выполнено одно испытание - выпал только орел. Какова вероятность выпадения орла во втором испытании?

Пока нет причин беспокоиться. Ответ: так как события одинаково возможны и их всего 2, то ответ - 1/2. Причем ответ выведен только из первого условия. Второе условие мы просто игнорируем. Тогда зачем оно содержится в задаче?

Автор темы задала задачу, подобную такой : " Бросили монету 100 раз и 100 раз выпал орел. Какова вероятность того, что в 101ом броске выпадет решка?" Не будем же мы утверждать, что она равна 1/2 ? Формально вероятность решки равна 0, так как известно только то, что у монеты есть вторая сторона. В этой задаче содержится условие, которое мы в предыдущей задаче игнорировали.

 
 
 
 
Сообщение26.10.2008, 07:31 
Аватара пользователя
Splendid писал(а):
Хорошо, а если так задачу поставить:

Есть урна с белыми и, возможно, с черными шарами. Достается по n шаров за один раз. Сколько надо провести испытаний, чтобы с вероятностью ошибки не более 1% можно было бы утверждать, что вероятность успеха стремится к нулю (вытащить черный шар - успех)?

Как такую задачу решить?


Пусть в урне лежат шары, занумерованные числами $x^2-x+41$ с целыми $x$. Шары с простыми номерами белые, а с составными - чёрные. Ваш заказчик не имеет ни малейшего понятия о простых и составных числах, но белый цвет легко отличает от чёрного. Он не знает, есть ли чёрные шары в урне. Вы написали заказчику программу вычисления цвета вынимаемого шара и протестировали её 40 раз на числах $x=0,1,  \dots , 40$ и сдаёте заказчику, считая этого количества испытаний вполне достаточным. Только мне не совсем ясно, какой ответ Вы даёте заказчику. А что если он захочет, чтобы Вы протестировали в диапазоне $0\leqslant x \leqslant 2398$?

 
 
 [ Сообщений: 54 ]  На страницу Пред.  1, 2, 3, 4  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group