Одна из причин, по которой язык Erlang так эффективен для построения сверхнадёжных больших телекоммуникационных систем — принцип “let it crash”. Ошибки и падения неизбежны, и вместо того, чтобы предотвращать их, лучше сделать так, чтобы одни части системы падали, не затрагивая других, и легко перезапускались. За счёт такой терпимости к ошибкам отдельных процессов достигается высокая надёжность системы в целом.
Похожий подход использовали учёные из лаборатории интеллектуальных систем Швейцарского Федерального Технологического Университета, когда создавали прототип летающего робота для работы в трудных и опасных условиях. Вместо того, чтобы городить сложную навигационную систему предотвращения столкновений, они просто защитили несущие роторы углепластиковым каркасом и добавили механизм, который позволяет упавшему и перевернувшемуся роботу взлететь без посторонней помощи.
Источником вдохновения для учёных послужили насекомые, которые без всякого вреда для себя натыкаются на препятствия, падают и взлетают снова. Роботы, устроенные по схожему принципу, будут незаменимы в условиях, когда уверенная навигация и безаварийное пилотирование практически невозможны — при обследовании завалов, тесных и тёмных пещер или шахт. Роботы, построенные по такой схеме, могут быть относительно “тупыми” и “подслеповатыми”, и при этом быть эффективнее своих более интеллектуальных собратьев, особенно с экономической точки зрения, ведь углепластиковый каркас стоит намного дешевле сложной системы сенсоров и навигации.
Автор: ilya42