Ещё более мощная форма избыточности – разнообразие конструкции. В компьютерных аппаратных средствах это означает использование нескольких компьютеров с различной конструкцией, все работающие параллельно. Сейчас избыточность может корректировать не только отказы в отдельно взятой единице аппаратных средств, но и ошибки её конструкции.
Многое сделано над проблемой написания больших программ, свободных от ошибок; многие люди считают, что такие программы невозможно разработать и отладить. Но исследователи в УКЛА Компьютер Сайенс Департмент показали, что разнообразие конструкции можно также использовать в программном обеспечении: несколько программистов могут работать над той же самой проблемой независимо, тогда все их программы можно запускать параллельно и выбирать ответ голосованием. Это умножает затраты на написание и работу программ, но это делает получающиеся в результате системы программного обеспечения устойчивыми к ошибкам, которые появляются в некоторых из их частей.
Мы можем использовать избыточность, чтобы контролировать репликаторы. Также как машины ремонта, которые сравнивают множество нитей ДНК будут способны скорректировать мутации в генах клетки, также репликаторы, которые сравнивают множество копий своих инструкций (или которые используют другие эффективные системы исправления ошибок) будут способны сопротивляться мутациям в этих «генах». Избыточность может снова принести экспоненциальный рост безопасности.
Мы можем строить системы, которые крайне надёжны, но это повлечёт издержки. Избыточность делает системы более тяжёлыми, громоздкими, более дорогими и менее эффективными. Нанотехнология, однако, сразу сделает большую часть вещей намного более лёгкими, дешёвыми и более эффективными. Это сделает избыточность и надёжность более практичными.
Сегодня, мы редко хотим платить за самую безопасную из возможных систем; мы терпим с большей или меньшей охотой отказы и редко рассматриваем реальные пределы надёжности. Это создаёт предвзятые суждения о том, что мы можем достичь. Психологический фактор также искажает наше чувство, насколько надёжными можно сделать вещи: отказы застревают у нас в уме, но каждодневный успех привлекает мало внимания. СМИ усиливает эту тенденцию, сообщая о самых драматических отказах со всего мира, при этом игнорируя бесконечные и скучные удачи. Ещё хуже, что компоненты избыточных систем могут отказывать видимым образом, вызывая тревогу: представьте, как СМИ сообщили бы о порвавшемся канате моста, даже если бы мост был бы супер-безопасной пятнадцати-канатной моделью, описанной выше. И поскольку каждый дополнительный избыточный компонент добавляет шанс отказа системы, надёжность системы может казаться хуже даже когда она почти совершенна.
Если отложить в сторону то, что кажется, избыточные системы сделанные из избыточных, безупречных компонентов могут часто быть сделаны почти идеально надёжными. Избыточные системы, распределённые на достаточно широкие расстояния выдержат даже пули и бомбы.
Но что можно сказать об ошибках конструкции? Наличие десятка избыточных частей не даст никакой пользы, если они делят общую критическую ошибку в конструкции. Разнообразие конструкции – один ответ; хорошее тестирование – другой. Мы можем надёжно разрабатывать хорошие конструкции не будучи хорошими в надёжности конструкторами: нам только нужно уметь хорошо тестировать, исправлять ошибки и быть терпеливыми. Природа разработала работающие молекулярные машины целиком через безголовую починку и тестирование. Имея разум, мы можем делать не хуже или лучше.
Мы найдём несложным разработать надёжные технические средства, если мы сможем разработать надёжные автоматические системы разработки. Но это ставит более широкий вопрос о разработке систем искусственного интеллекта, которым можно доверять. У нас будет мало проблем в создании систем ИИ с надёжной аппаратной базой, но как насчёт их программных средств?
Подобно сегодняшним системам ИИ и человеческому разуму, продвинуты системы ИИ будут синергетическими комбинациями большого количества простых частей. Каждая часть будет более специализирована и менее интеллектуальна, чем система в целом. Некоторые части будут искать структуры в картинках, звуках и других данных, и подсказывать, что они могут обозначать. Другие части будут сравнивать и оценивать подсказки этих частей. Также как распознаватель структур в человеческой зрительной системе страдает от ошибок и зрительных иллюзий, также страдают и распознаватели в системах ИИ. (действительно, некоторые продвинутые системы машинного зрения уже страдают от знакомых зрительных иллюзий.) И также как другие части человеческого разума могут часто идентифицировать и компенсировать иллюзии, также будут способны и другие части систем ИИ.
Читать дальше