Биологически вдохновленное программное обеспечение
Мне интересно, кто-нибудь знает какие-либо программные методы, использующие преимущества биологии? Например, в мире робототехники есть тонны, но как насчет программного обеспечения?
6 ответов
Многие понятия, изначально наблюдаемые в биологии, были использованы в программном обеспечении. Например, Генетический алгоритм (GA).
Искусственная жизнь (AL) раскрывает / использует несколько принципов биологии, таких как устойчивость к несовершенным фрагментам кода, адресация по содержанию, несовершенное воспроизведение (в некоторых реализациях, также сексуальное, то есть мультиоргинистическое, воспроизводство) и нецелевое управление функция полезности. Интересным результатом AL является самопроизвольное образование макро-феноменов, наблюдаемых в таких областях, как экология или эпидемиология (области, в значительной степени подверженные влиянию биологии), таких как появление паразитов и даже организмов, использующих в своих интересах паразитов, или тонких хищников. отношения с добычей.
Возможно, можно сказать, что программное обеспечение прошло "полный круг" в некоторых экспериментах по вычислительной технике, в которых участвуют реальные (на основе углерода) молекулы ДНК (или РНК)! Оригинальный эксперимент в этой области (ссылка на PDF) проф. Олдермана (из известности RSA), который закодировал различные элементы задачи, связанной с графами (гамильтонов граф), с различными молекулами ДНК и позволил массивной параллельной вычислительной мощности био- химия сделает все остальное и решит проблему!
Назад в цифровой мир, но с сильным вдохновением от биологии и действительно от анатомии коры головного мозга, а также от многих теоретических и клинических наблюдений в области нейробиологии, у нас есть нейронные сети (NN). В области NN, возможно, заслуживающей особого внимания, находится модель иерархической временной памяти Numenta, которая, хотя и очень слабо воспроизводит [понимание, которое мы имеем] о неокортексе, вводит идею о том, что тот же алгоритм применяется в во всех областях и на всех уровнях когнитивного процесса, приводимого в движение мозгом, идея, в значительной степени поддерживаемая биологическими, анатомическими и другими формами доказательств.
Если ваш вопрос означает "были ли использованы биологические идеи для оптимизации программного обеспечения?" тогда Генетическое программирование ( http://en.wikipedia.org/wiki/Genetic_programming) является одним из примеров. Из статьи Википедии:
В искусственном интеллекте генетическое программирование (ГП) - это методология, основанная на алгоритмах эволюции, вдохновленная биологической эволюцией для поиска компьютерных программ, которые выполняют задание, определяемое пользователем. Это специализация генетических алгоритмов (ГА), где каждый человек является компьютерной программой. Следовательно, это техника машинного обучения, используемая для оптимизации совокупности компьютерных программ в соответствии со средой соответствия, определяемой способностью программы выполнять заданную вычислительную задачу.
Если ваш вопрос означает "какие программные технологии были вдохновлены биологией?" затем посмотрите более широко http://en.wikipedia.org/wiki/Bio-inspired_computing. Я ожидаю, что несколько других методов, таких как муравьиные рои ( http://en.wikipedia.org/wiki/Ant_colony_optimization) и нейронные сети ( http://en.wikipedia.org/wiki/Neural_network_software) также могут быть использованы.
Оптимизация колоний муравьев, метод поиска / оптимизации и искусственная жизнь, такая как игра жизни Конвея
Большинство ответов пока говорят об искусственном интеллекте. Название вашего вопроса намекает на программное обеспечение, которое скрывается, чтобы не быть обнаруженным.
У нас есть вирусы.
У нас есть охотники за вирусами...
Я сам, я даже спрятал некоторые ошибки в моих собственных программах...:(
Искусственные нейронные сети являются еще одним классическим примером. Программным приложением, как правило, является распознавание образов и прогнозирование поведения сложных систем.
Алан Кей (пионер объектных технологий) подробно рассказал о влиянии биологии на парадигму ООП. У него есть ряд идей о том, как объекты похожи на "ячейки" и что ООП масштабируется аналогично тому, как ячейки могут масштабироваться для создания массивных архитектур...
Вы можете следить за этим в его речи наградой Тьюринга: http://video.google.com/videoplay?docid=-2950949730059754521 - Перейти к отметке 30:55