Принцип GIGO

Суть принципа «garbage in — garbage out» была сформулирована еще в 1864 году изобретателем первого программируемого устройства Чарльзом Бэббиджем, но вот современный свой облик идея обрела почти через столетие, когда инструктор IBM из Нью-Йорка Джордж Фьюччел предложил ее своим студентам в качестве своеобразной учебной мантры. Вскоре формулировка «garbage in – garbage out» вошла в лексикон не только программистов и людей, связанных с IT, она стала употребляться в совершенно разных сферах и даже обрела сокращение – GIGO. Акроним был придуман по примеру общеизвестного принципа FIFO: First in – first out (первый пришел – первый ушел).

 «garbage in — garbage out», что в переводе с английского означает «мусор на входе – мусор на выходе»: при неверных входящих данных результат тоже будет неверным, даже если сам алгоритм получения результата работает идеально. Стоит ввести в программу неправильные результаты анализов, скрыть информацию о питании, вредных привычках или наследственности, как диагноз тут же становится, как минимум, неточным, а то и вовсе ошибочным.

Важно знать, что принцип «garbage in – garbage out» работает в детерминированных системах, которыми и являются компьютеры. Здесь не допускаются случайности, а результат полностью определен начальными условиями и алгоритмом работы программы. Таким образом, изменяя начальные данные или условия, мы изменяем и результат, вводя ошибочные данные – получаем ошибочный результат: мусор на входе – мусор на выходе.

Ярким примером работы принципа «garbage in – garbage out» являются исследования известного метеоролога Эдварда Лоренца. В 60-х годах XX века он разрабатывал программу, которая моделировала передвижение воздушных масс в атмосфере планеты. Ученый неоднократно «прогонял» ее, вводя одни и те же начальные данные, дабы убедится в точности результатов и правильности работы программы. Однажды он, чтобы не запускать программу с начала, ввел результаты, полученные после прерванного предыдущего запуска. Таким образом господин Лоренц хотел просто продолжить анализ данных с момента, на котором программа прекратила работу в прошлый раз. Вскоре оказалось, что последние результаты значительно отличались от всех предыдущих, хотя, на первый взгляд, ничего не изменилось: те же данные, те же операции. Как оказалось, дело было в том, что исследователь ввел округленные начальные данные, которые были распечатаны на листе бумаги. Даже самое минимальное отклонение исходных данных сильно отражалось на результате исследования, превращая его в не имеющий смысла мусор.

Другим свидетельством неопровержимости принципа «garbage in – garbage out» стала перепись населения Соединенных Штатов Америки в 1960 году. Тогда после анализа и обработки собранных данных было выявлено, что несколько женщин-подростков в возрасте около 19 лет имели 12 и более детей. Очевидно, что после таких «новостей» данные, собранные служащими, утратили свою ценность, соответственно и полученные результаты сложно было привести в порядок. Все из-за ложных исходных данных, которые по небрежности или ради смеха зафиксировали служащие, проводящие перепись.

В случае анализа данных принцип видоизменяют на «good in - good out». Что означает, если на входе качественные данные, тогда на выходе качественный результат.

 

09.08.2017









 
архив

подписка