От Василий Фофанов
К Ktulu
Дата 28.06.2011 22:58:58
Рубрики Танки;

Re: Не совсем...

>Если в программе используется генератор случайных чисел для принятия рещения в определённых случаях, то
>непредсказуемы так же, как и у человека.

Во-первых вы хотели сказать, генератор ПСЕВДОслучайных чисел? ;) Со всеми вытекающими относительно предсказуемости :) Или генератор еще и будет запитан на случайный физический процесс типа радиоактивного распада? ;)

Во-вторых, и в главных, само по себе решение о рандомизации принимаемого решения в программе тоже встретится не по чистой случайности а потому что это предусмотрено будет спецификацией. Соответственно к теме отношение это не имеет. Если спецификация будет гласить "при обнаружении незнакомого дорожного знака выбрать случайный знак из ПДД, действовать в соответствии с ним" - ну что ж, если такая спецификация будет - программа ее отработает. И это будет тем не менее предсказуемо вполне :)

От Ktulu
К Василий Фофанов (28.06.2011 22:58:58)
Дата 29.06.2011 09:44:12

Re: Не совсем...

>>Если в программе используется генератор случайных чисел для принятия рещения в определённых случаях, то
>>непредсказуемы так же, как и у человека.
>
>Во-первых вы хотели сказать, генератор ПСЕВДОслучайных чисел? ;) Со всеми вытекающими относительно предсказуемости :) Или генератор еще и будет запитан на случайный физический процесс типа радиоактивного распада? ;)

Нет, я хотел сказать именно случайных. Современные чипсеты часто содержат аппаратную поддержку для
генераторов случайных чисел, а современные операционные системы способны использовать такую информацию
как разница во времени между прерываниями или операциями ввода-вывода в качестве источника случайных
чисел весьма хорошего качества.

Генераторы псевдослучайных чисел в настоящее время используются только в математических методах типа Монте-Карло,
а в криптографии для генерации ключей и подобных целей уже давно используются генераторы именно случайных чисел.

>Во-вторых, и в главных, само по себе решение о рандомизации принимаемого решения в программе тоже встретится не по чистой случайности а потому что это предусмотрено будет спецификацией. Соответственно к теме отношение это не имеет. Если спецификация будет гласить "при обнаружении незнакомого дорожного знака выбрать случайный знак из ПДД, действовать в соответствии с ним" - ну что ж, если такая спецификация будет - программа ее отработает. И это будет тем не менее предсказуемо вполне :)

Как уже отмечено в ветке, при сколько-нибудь значительной сложности программы все варианты её поведения уже
не могут быть понятны и предсказуемы отдельному человеку. Даже без генераторов случайных чисел.

--
Алексей

От Василий Фофанов
К Ktulu (29.06.2011 09:44:12)
Дата 29.06.2011 13:31:25

Re: Не совсем...

>Как уже отмечено в ветке, при сколько-нибудь значительной сложности программы все варианты её поведения уже
>не могут быть понятны и предсказуемы отдельному человеку. Даже без генераторов случайных чисел.

Это ересь.

От Иван Уфимцев
К Василий Фофанов (29.06.2011 13:31:25)
Дата 01.07.2011 12:23:06

Ну, можете предать анафеме. Правда, это будет взаимно.

Доброго времени суток, Василий Фофанов.

> Это ересь.

Это то хуже чем факт: это так оно и есть на самом деле.

Причин две. Как уже упоминалось.

Первая -- уже описана: неизвестный "отдельному человеку"(тм) алгоритм поведения.
Вторая -- разные (для "отделдьного человека" и противоестественного интеллекта) наборы исходных данных.

Как вариант: известный, но непросчитываемый с должной скоростью.

--
CU, IVan.


От bedal
К Иван Уфимцев (01.07.2011 12:23:06)
Дата 01.07.2011 13:36:00

Да всё нормально. Просто надо учитывать

что разговор зашёл о случайном, непредсказуемом, поведении в рамках _правильных_ решений. То есть речь не о сбоях и ошибках.

Мы с уважаемым Василием Фофановым это в личке прекрасно утрясли - давайте и здесь закроем тему, ибо всем всё и так ясно.

От bedal
К Василий Фофанов (29.06.2011 13:31:25)
Дата 29.06.2011 16:24:11

Поспорим?

Для начала опровергните примеры, которые я приводил:
https://vif2ne.org/nvk/forum/0/co/2211826.htm

От Василий Фофанов
К bedal (29.06.2011 16:24:11)
Дата 29.06.2011 17:02:53

Давайте еще про теорию эволюции поспорим

>Для начала опровергните примеры, которые я приводил:
https://vif2ne.org/nvk/forum/0/co/2211826.htm

Всех программистов, у которых программы начинают "вести себя" надо увольнять нах. А лучше и не нанимать. Дело надо уметь делать а не прикрывать собственную безграмотность и профнепригодность мистикой и шаманством. Алес.

> Банальный пример поведения Бурана при посадке, которое, несмотря на полную объяснимость постфактум и несложную, по нынешним понятиям, программу - очень сильно озадачило встречающих.

Значит говно встречающие. Что не особенно удивляет вобщем.

От Лейтенант
К Василий Фофанов (29.06.2011 17:02:53)
Дата 29.06.2011 23:21:46

Re: Давайте еще...

>Всех программистов, у которых программы начинают "вести себя" надо увольнять нах. А лучше и не нанимать.

С одной стороны да, но с другой стороны тогда прийдется уволить (не нанимать) всех програмистов.

>Дело надо уметь делать

"Ты же коммунист, Петка!" и пулемет застрочил вновь ...

> а не прикрывать собственную безграмотность и профнепригодность мистикой и шаманством. Алес.

Мистики и шаманства в этом никакой нет, просто когда программа содержит милллион операторов ветвления и написана несколькими деястками людей, то никто не в стояннии быть в курсе целиком и уж тем более в реальном времни прокручивать ее в голове. В частности в программе такого размера всегда есть ошибки (обычно много). Есть такое понятие в проектировании - предел сложности.






>> Банальный пример поведения Бурана при посадке, которое, несмотря на полную объяснимость постфактум и несложную, по нынешним понятиям, программу - очень сильно озадачило встречающих.
>
>Значит говно встречающие. Что не особенно удивляет вобщем.

От Hokum
К Лейтенант (29.06.2011 23:21:46)
Дата 30.06.2011 06:22:52

Re: Давайте еще...

>Всех программистов, у которых программы начинают "вести себя" надо увольнять нах. А лучше и не нанимать.
>С одной стороны да, но с другой стороны тогда прийдется уволить (не нанимать) всех програмистов.

Увольнять надо не программистов, а руководитей групп и менеджеров проекта, которые не в состоянии построить и отладить процесс разработки, не зависящий от причуд конкретного программиста. В серьезных конторах Quality Assurance заворачивает прекрасно работающий код на доработку, если имена переменных или формат комментариев не соответствуют корпоративному стандарту. А в очень серьезных - регулярно меняют разработчиков того или иного модуля - просто передают по кругу, типа "первый барак меняется со вторым". Да, это дольше и дороже, зато дает возможность заменить любого из программистов в любой момент, не срывая при этом сроки.

>Мистики и шаманства в этом никакой нет, просто когда программа содержит милллион операторов ветвления и написана несколькими деястками людей, то никто не в стояннии быть в курсе целиком и уж тем более в реальном времни прокручивать ее в голове.

А в этом случае программа делится на блоки и модули с хорошо документированными интерфейсами между ними. И тестируется по кускам, а потом в сборе (Unit testing / Integration testing). Если этого нет - архитектора системы гнать той же метлой, что и менеджеров проекта.

От bedal
К Hokum (30.06.2011 06:22:52)
Дата 30.06.2011 08:44:14

известно всё это, но

если программа обрабатывает множество факторов, то вполне обычна ситуация, когда человек, автор, обратную задачу решить не может.
Утрируя, если банальная программа расчёта программы выдала вам на 432 рубля меньше, чем в прошлом месяце - _автор_ программы без дополнительного исследования _данных_ не скажет - почему.
Если же говорить о программах с физическими моделями - то такое будет сплошь и рядом. Это НЕ означает неправильной работы, и все расписанные ужасы про то, как QA всё отловит - не в тему.

Напомнаю, что подветка образовалась из простого моего утверждения, что для случайного поведения (в пространстве правильных решений) никакие генераторы случайных чисел и не нужны. Анализ постфактум исключаем, обсуждается реальное время - так что никакого урона детерминизму ЭВМ не наносится :-)

От bedal
К bedal (30.06.2011 08:44:14)
Дата 30.06.2011 08:44:51

впрочем, непотема же всё это давно... завяжем? (-)