Форум сайта python.su
294
py.user.nextА почему он должен быть неправомерен. Нарисуй треугольник и подвигай по нему фишку и посмотри.
Осталось доказать, что ряд
1/2 + 1/4 + 1/8 + … + 1/(2^n), где n->+inf
правомерен.
py.user.nextа о чем это еще может говорить? смотри 1/2**(n-1) это вероятность того что треугольник будет обойден именно на n-ном ходу. Не раньше не позже. а именно на этом конкретном ходу. Соотвевенно вероятность , например, того что фишка обойдет за 10 ходов равна вероятности того что она это сделает или на 2-м ходу или на 3-м или на 4-м …… или на 10-м . просумировав эти вероятности ты получишь вероятность того что фишка за 10 ходов обойдет треугольник..
Можно ли складывать эти вероятности? Складывать-то можно, но говорит ли это об обходе многоугольника?
[code python][/code]
Офлайн
857
Похоже, что тут событием считается проход до какой-то вершины. Ну типа прошёл до пятой вершины в 10-угольнике - это одно событие. И вот вероятности таких событий и складываются. При сложении вероятностей событий используется правило сложения вероятностей несовместных событий P(A+B) = P(A) + P(B). Но при этом для сложения вероятностей совместных событий используется правило P(A+B) = P(A) + P(B) - P(A*B). Поэтому что-то тут не совпадает.
Что не совпадает. Например, мы имеем 1/2 + 1/4. Но если произошло событие, вероятность которого 1/4, то во время этого исхода то событие, вероятность которого равна в данном случае 1/2, тоже произошло. Значит, они совместные. И мы не можем просто взять и применить теорему о сумме несовместных событий для совместных событий.
Есть вот сумма событий (это такое определение), а есть сумма вероятностей событий (это теорема, связанная с определением). Это разные вещи. Поэтому сумма событий одна (определение одно), а теорем о сумме событий несколько (как минимум две - для совместных событий и для несовместных событий). Поэтому нельзя их смешивать и путать между собой.
У нас здесь как бы два уровня событий. Одни события происходят на элементарном уровне (один сдвиг фишки), а другие события происходят уровнем выше (один проход до вершины). И мы не можем между ними гулять, применяя одни выводы про события одного уровня к событиям другого уровня.
Так что откуда там эта сумма вероятностей, из которой образуется ряд, пока неясно.
Офлайн
294
py.user.nextЕще раз повторяю, чтобы обойти весь n -угольник за k ходов нужно чтобы фишка обошла его или на первом ходу или на втором, или на третьем ….. или на k-м. Поскольку фишка движется до первого успеха то эти события несовместимы.У нас не может фишка закончить обход одновременно и на 3-й, и на 5-й ход. Следовательно для вычисления вероятности их нужно суммировать.
При сложении вероятностей событий используется правило сложения вероятностей несовместных событий P(A+B) = P(A) + P(B). Но при этом для сложения вероятностей совместных событий используется правило P(A+B) = P(A) + P(B) - P(A*B). Поэтому что-то тут не совпадает.
py.user.next
У нас здесь как бы два уровня событий. Одни события происходят на элементарном уровне (один сдвиг фишки), а другие события происходят уровнем выше (один проход до вершины). И мы не можем между ними гулять, применяя одни выводы про события одного уровня к событиям другого уровня.
-P[k](1)=P[k-1](2)*1/2:(1-P[k-1](1)) #1/2 тут собственно шанс выпадения орла или решки
-Р[k](2)= тут пока формула не идеть... делаем по остаточному принципу 1-P[k](1)-P[k](3)
-Р[k](3)=P[k-1](3):(1-P[k-1](1))
[code python][/code]
Отредактировано PEHDOM (Июнь 3, 2019 18:15:09)
Офлайн
857
Я вот думаю: что является элементарными и равновозможными событиями в этой задаче? Ведь из этого множества элементарных событий мы и должны выбрать множество благоприятных событий.
Ну например:
Если мы подбрасываем один раз шестигранный кубик, а нам нужно найти вероятность выпадения чётного числа, то мы берём все элементарные события, из них выбираем благоприятные события и потом делим благоприятные события на все события. Итого, событий возможных всего 6, так как всего шесть граней, а выпадет одна из них. Чётных чисел на кубике всего три - 2, 4, 6. Чётные числа все входят во множество всех возможных исходов. И мы просто делим 3 события на 6 событий. И получаем вероятность 3/6 или 1/2. Тут всё просто, это берётся напрямую из классического определения вероятности.
Так вот, надо как-то задачу разобрать на базовые элементы. Что занимает какую роль, шаги фишки, вершины, обход всех вершин, переход с вершины на вершину, переход в одну сторону или другую сторону. Думаю, это ключ к разгадке. Иначе так можно до бесконечности что-то вычислять и доказывать и всё будет правильно смотреться, но только не будет решением.
Офлайн
294
Эта задача по сути банальная доска Гальтона,
https://ru.wikipedia.org/wiki/%D0%94%D0%BE%D1%81%D0%BA%D0%B0_%D0%93%D0%B0%D0%BB%D1%8C%D1%82%D0%BE%D0%BD%D0%B0
свернутая в цилиндр(доска а не задача) и имеющая бесконечную высоту.
Изза того что она свернута в цилиндр там вероятности чуть побольше, потому что фишка может добраться до произвольной вершины большим числом способов. Но в общем принцип один и тот же.
А теперь посчитай вероятность шарика во время падения фишки побывать во всех столбиках(вершинах) при условии что падать количество ходов беконечно.
Многоуголник будет обойден тогда и только тогда когда фишка побывает в каждой вершине хотябы раз за время падения обхода.
Вероятность побывать в любой вершине хотябы раз будет равна 1 при количестве ходов стремящемся к бесконечности, и соотвевенно вероятность обхода фишкой всех вершин будет равна произведению вероятностей побывать в каждой вершине хотябы раз, тоесть тоже равна 1.
Можно даже забить нафик на то что у нас цилиндр, и воспользоваться формулой вычисления вероятности шарика оказаться в k-м столбике из класической доски Гальтона, если не для вычислений точных значений, то для принципиального доказательства того что фишка не может не обойти многоугольник.
[code python][/code]
Отредактировано PEHDOM (Июнь 4, 2019 13:34:42)
Офлайн
186
Вот решение этой простенькой задачки.
def shagomer(n): """ Возвращает среднее количество шагов за которое можно обойти n-угольник """ res = 1 for x in range(n): res *= 2 return res
Офлайн
857
PEHDOM
Эта задача по сути банальная доска Гальтона,
PEHDOMБлин, в общем мы и задачу решили уже десять раз
Но в общем принцип один и тот же.

RodegastДа наверняка там подколка какая-то. Нужно просто что-то знать и получится короткое решение в коде. Типа задачи о рюкзаке или обедающих философах. Если не знаешь эти задачи и их способ решения, долго будешь париться над решением, хотя выглядит всё просто на первый взгляд.
Вот решение этой простенькой задачки.
Отредактировано py.user.next (Июнь 4, 2019 15:50:35)
Офлайн
294
Rodegastм-м-м нет, там не все так просто, для 1-угольника у тебя выходит 1 ход, хотя должно быть 0, для двухугольников у тебя 2, а должно быть 1, для теугольника 3 а по твоим расчетам 4, для квадрата у тебя 8, а долно быть 6…
Вот решение этой простенькой задачки.
def average_num_turns(n): """ Возвращает среднее количество шагов за которое можно обойти n-угольник """ return(sum(x for x in range(n)))
py.user.nextпростое решение в коде есть, см. выше.. Но вот как нему прийти с помощью математики.?
Нужно просто что-то знать и получится короткое решение в коде.
[code python][/code]
Отредактировано PEHDOM (Июнь 4, 2019 20:53:45)
Офлайн
186
> для 1-угольника у тебя выходит 1 ход, хотя должно быть 0, для двухугольников у тебя 2
Твои рассуждения противоречат условию задачи.
> , для теугольника 3 а по твоим расчетам 4, для квадрата у тебя 8, а долно быть 6… 
Вот я даже изображение многоугольника сделал. Теперь допустим что я хочу переместиться с вершины “А” на вершину “Б”, как в этом случае ты определишь среднее количество шагов?
Офлайн
294
Rodegastпочему? вот условия:
Твои рассуждения противоречат условию задачи.
maybelllесли у нас всего один угол, то фишка и так уже стоит на нем, поэтому ей не нужно делать ни одного хода.
В одной из вершин правильного п-угольника располагается фишка. На каждом шаге фишку перемещают в одну из соседних вершин с одина- ковыми вероятностями. Найдите среднее количество шагов, за которые фишка обойдет все вершины п-угольника.
RodegastВ среднем это будет 2 хода. Она туда миожет переместиться и за 1 ход, и за 3, и за 5 и за хрен знает сколько, но в среднем будет два. НО нужно ли нам это?
Вот я даже изображение многоугольника сделал. Теперь допустим что я хочу переместиться с вершины “А” на вершину “Б”, как в этом случае ты определишь среднее количество шагов?
[code python][/code]
Отредактировано PEHDOM (Июнь 4, 2019 22:40:42)
Офлайн