QUOTE(torpedo @ Aug 16 2005, 10:55)
Приведи на этих же 50 и 40 примеры:
- метода Монте-Карло
- нечеткой логики
- другого простого аналитического метода
Я потом скажу как МК кости кидает

При Монте-Карло, например, реализация случайного явления получается из серии, так называемых, единичных жребиев(при этом можно использовать чёткие мат. формулы). Результат жребия, естественно, влияет на последующую цепочку жребиев. Каждый жребий может быть разыгран по-разному.
Как один из вариантов - есть число RankValue(например, 0.5) Генерим какое-то число RandomNumber. если оно больше RankValue, то событие произошло, если меньше, то нет. Это самый простой вариант.
Кстати, кости тоже по-разному можно "кинуть". Но в любом случае в чистом виде стандартными рендом-функциями (например, rand() из stdlib.h) для определения того же RandomNumber пользоваться нельзя.
С конкретным примером. В нашем случае много факторов. предположим остальные равны или исключены - оставляем только силу. Только как пример: генерим число, если оно больше 5/9, то событие(выиграл единоборство игрок с силой 40) произошло, если меньше, то нет. Тут нужно и продумать какое будет RankValue. Повторю, что это пример только одного жребия для определения какое из двух событий произошло, при том, что другие факторы исключили.
Методом Монте-Карло можно решать такие задачи:
1) произошло ли конкретное событие(да/нет);
2) есть система событий - A, B, C, D, E ... Определяем какое из этих событий произошло;
3) нахождение величины, которую приняла случайная величина;
4) Есть система случайных величин. Решение задачи нахождения значений, которые приняла эта система.
Большинство простых аналитических методов предполагает марковский характер процесса.
О нечёткой логике долго... Там нет понятия вероятности - есть возможность, причём сумма возможномтей не равна единице.