Насколько часто ошибается человек?

Насколько часто ошибается человек?

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


Ситуация казалась безвыходной. Однако в середине XX века появились новые независимые проверяльщики: ЭВМ. Разумеется, машина сама может оказаться неисправной, и уж тем более ей не по силам разобраться в философских учениях. Тем не менее, появилась реальная возможность оценить, насколько ошибается человек хотя бы в самых простых расчетах.


Надо сказать, что современное программирование обросло всевозможными надстройками и само стало кастовым учением наподобие философских теорий, в которых невозможно найти ни правых, ни виноватых. Однако несколько десятилетий назад все было иначе, и весьма показательно. А все начиналось с так называемого программирования в истинных адресах. Имелись номера ячеек, были пронумерованы и команды (например, 1 - это сложение, 2 - вычитание и т.п.), поэтому программа представляла последовательность чисел (которые потом набивались в виде дырок на перфоленту или перфокарту).

Казалось бы, чего проще! Во всяком случае, представляется не сложнее, чем перемножить два больших числа столбиком. Но хорошо, если хотя бы одному из сотни обучаемых удавалось сразу написать программу из нескольких десятков строк без ошибок. Подавляющее большинство тратило весь месяц, отведенный на это учебной практикой. Однако, около четверти студентов было не способно исправить свои ошибки ни в какие исторические сроки. Точнее, исправляя одни ошибки, они тут же делали еще больше новых. И это отнюдь не случайные люди, а бывшие отличники в школе, да еще проявившие математическое дарование.

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

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

Существенно и то, что программа должна принимать разные входные данные, а не только одно или два известных числа как в умножении. Поэтому конкретных цифр, которые потом будут крутиться в программе, перед программистом нет. Если программа проработала для одного набора данных, то это еще не значит, что она сработает на любом другом.

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


Расхождение может быть вызвано непредусмотренными в алгоритме случаями, которые по закону подлости возникают в самых неожиданных местах. В частности, очень часто полученное число не вписывается в отведенные ему биты. Но о большинстве ошибок можно сказать только одно: черт попутал. Они вообще не имеют никакого оправдания, просто что-то замкнуло в голове.

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

Объективные средства проверки есть, конечно, не только в математике и программировании. Уж во всяком случае, ими не обделены технические науки. Но только ЭВМ в полной мере и беспристрастно подтвердили то, о чем догадывались и раньше. А именно, что человек - неисправимый путаник. Кто-то делает чуть меньше ошибок, но большинство гонит их беспрерывным потоком.

Ведь если безбожно ошибаются представители точных наук, то безгрешны ли все остальные? Это непросто проверить, но поскольку все мы вышли из одного места, то нетрудно догадаться, что все горазды гнать брак, только не всюду этот брак бросается в глаза. И скорее всего, просчетов больше именно там, где отсутствуют надежные средства контроля, и где люди даже не догадываются о невероятном количестве своих промахов.

Как вообще можно проверить, срабатывает то или иное философское или религиозное учение? Да, собственно, никак. Вот если бы уверовавший добивался всех успехов исключительно медитацией или получал подарки только свыше, тогда другое дело. Но все верующие, в общем, живут обычной жизнью, работают, получают зарплату, хотят в поликлинику, ездят на общественном транспорте и т.п. Даже самые отъявленные ненавистники материализма не забывают регулярно покушать, оправиться, надеть одежду и обувь перед выходом на улицу и т.п. Если у кого-то сломался компьютер или кончился бензин в дороге, то никто не оживляет компьютер пассами рук и не воздевает руки к небу, чтобы оттуда выслали канистру с бензином. Поэтому вмешательство потусторонних сил остается, как правило, за кадром, и оценки их роли сильно расходятся.

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

Потому не случайно в обществе ходит великое множество идей и воззрений. Их авторы, как правило, могут представить в качестве аргументов только свою убежденность. Вообще, человек горд и даже начинает считать себя избранным, если его посетила какая-то неожиданная идея. Есть разные версии об источнике их происхождения: от Бога, из информационного поля, непосредственно из мозга. Приятнее, конечно, считать, что от Бога. Тогда и доказывать ничего не надо, а можно смело нести идею в массы. Дескать, если сразу не поняли, то потом поймут. Ну а если слушатели вообще ничего не поняли и вряд ли уже поймут, то гораздо проще объявить себя непонятым гением или пророком, чем заниматься кропотливым обоснованием.


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

Впрочем, текст, переполненный историческими или мифологическими сведениями, тоже не плох. История повторяется. Любовь, ненависть, зависть кипят сегодня так же, как и тысячи лет назад. А в прошлом было столько тиранов, деспотов, самодуров, что непременно найдутся похожие на них в нашем времени. Вот и кажется, что в древнем тексте зашифрованы предсказания о сегодняшнем дне. Только сиди и успевай расшифровывать! Главное, не надо тащиться в поле или в горы, не надо копать ямы и дрожать на морозе, вообще ничему не надо учиться, а только сиди в тепле и собирай божественные истины!

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

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

Один ученый из математического института о своем насквозь дырявом алгоритме с гордостью заявил: "а мне алгоритм нравится!". Раз его творение иногда выдает правильный результат, то по мнению автора это оправдывает актуальность разработки. Этот случай скорее анекдотичен для технарей, но для гуманитариев это почти норма. Исследователи часто даже не понимают, что их рассуждения дырявы на каждом шагу. Дескать, есть какие-то ассоциации в последовательности выдвигаемых утверждений, то и этого достаточно. Таким образом автор работает над созданием общего впечатления, настроения у читателя. И часто это удается. Читатель встает радостный и одухотворенный, однако при полном отсутствии почерпнутых полезных сведений.


А ведь многие средства обоснования давно разработаны, причем они не привязаны исключительно к науке. Скажем, не рекомендуется писать рядом два взаимоисключающих утверждения. Например, что Л.Н.Толстой родился в 1828г., и что он же родился в 1728г. Однако же пишут, именно на таком уровне делается немало брака ввиду невероятной склонности человека к ошибкам.

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

Формальные требования к определениям известны с глубокой древности. Правда, одно дело их знать, а другое - учесть по существу в работе над конкретным определением. Поэтому не случайно даже серьезные издания переполнены неуклюжими и бесполезными определениями. Плохо, что редко кто из авторов хотя бы пытается дать определение.

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

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


Если объекты А и Б обладают общим свойством С, и объекты Б и В тоже обладают тем же общим свойством С, то так и тянет вывести отсюда, что объекты А и В также обладают свойством С. Например, если Ваня с Петей являются родственниками, и Петя с Васей родственники, значит, Ваня с Васей - тоже родственники. Или если Ваня похож лицом на Петю, а Петя - на Васю, то Ваня похож на Васю.

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

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

Теперь собственно о том, как в свое время прокололись математики на этой транзитивности. Дело касается непрерывности функции двух переменных f(x,y). Любую функцию двух переменных можно интерпретировать как высоту местности на карте. А непрерывность согласно терминологии, сохранившейся со времен Ньютона и Лейбница до наших дней, понимается так: бесконечно малому изменению аргументов отвечает и бесконечно малое изменение значения функции. Физически это означает, что на местности нет отвесных обрывов. (Есть, правда, и другое, более строгое определение непрерывности.)

Дотошные математики не забыли выделить также понятие непрерывности f(x,y) по одной переменной, когда другая переменная зафиксирована. Это соответствует хождению на местности исключительно по параллелям или только по меридианам. Нетрудно догадаться, что любое передвижение наискосок можно составить сначала из движения по параллели, а потом по меридиану (хотя путь к цели окажется несколько длиннее).


Так вот, с подачи закона транзитивности был сделан вывод, что если значение функции бесконечно мало изменилось при движении по параллели и бесконечно мало изменилось при движении по меридиану, то и общее изменение является бесконечно малым. Т.е. из непрерывности функции по каждой из двух переменных якобы вытекает и непрерывность всей функции (как говорят, непрерывность по совокупности переменных).

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

Сюрпризом оказался тривиальный пример: f(x,y) = xy/(xx+yy), а в точке (0,0) значение фунции полагается нулевым. Эта функция непрерывна по каждой переменной, но не является непрерывной по совокупности, потому что если подходить к точке (0,0) с северо-востока (т.е. по линии x=y), то мы все время будем иметь значение 0.5, тогда как в конечной точке оно сразу оказывается нулевым.

Этот случай показывает, насколько рискованно подменять точные расчеты качественными рассуждениями, какими бы здравыми и логичными они ни казались. Но за неимением лучшего именно на качественном уровне ведется практически 100% рассуждений в общественных науках, не говоря уже о религиозных представлениях. Надо сказать, что религии и не претендуют на точность, хотя вообще отсутствие логики, конечно, не способствовало бы привлечению верующих.

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

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

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

Image