понедельник, 26 марта 2012 г.

Эвристическое программирование

...интуиция – деликатное оружие, которым надо уметь 
пользоваться, и помогает этому самая обыкновенная "выучка". 
 А.Н. Колмогоров
Наконец, мы дождались того, что развитие современной вычислительной техники достигло новой фазы – фазы создания ЭВМ пятого поколения, одной из главных особенностей которых является их максимальная приближенность к пользователю.
Этого можно достичь только благодаря повышению "интеллектуального" уровня ЭВМ, что позволит устранить промежуточное звено путем передачи функции программиста самой ЭВМ.
Чем выше "интеллектуальный" уровень ЭВМ, тем шире ее возможности, а значит и круг ее пользователей. Только программа, наделенная элементами интеллекта, способна обобщать большие объемы информации, анализировать ее и приводить к виду, удобному для использования.
Умные(smart) телефоны, умные компьютеры, умные плиты, умные СВЧ, умные чайники,умные машины... Умная техника. Складывается ощущение,что человек на фоне этих умных вещей просто теряется. Человек-- он же не машина,он думает, устает, переживает, чувствует! Неужели "смарты" отодвинут его на второй план?! Не было бы УМНЫХ людей не появились бы УМНЫЕ вещи! 
Не так давно услышала фразу: "Для того чтобы программировать для андроидах используюся в основном эвристические медоты программирования"
А знаете ли вы, что такое  "Эвристическое программирование"? Думаете оно всегда предложит оптимальный алгоритм? Или в каком-нибудь ВУЗе учат этому? Давайте разбираться!
Согласно определению, данного Душковым Б.А., Королевым А.В., Смирновым Б.А. в энциклопедическом словарь: Психология труда, управления, инженерная психология и эргономика, 2005 г.
"ЭВРИСТИЧЕСКОЕ ПРОГРАММИРОВАНИЕ составление программ для ЭВМ или четких правил (рекомендаций), основанных на предварительном изучении вариантов решения задачи. Э. п. имеет смысл только в том случае, когда не существует (или не известен) алгоритм решения задачи. Э. п. используется в решении таких задач, как игра в шахматы, составление сложных расписаний, доказательство некоторых теорем и т. п. Основное положение Э. п.— сложный процесс переработки информации, при решении сложных задач должен быть расчленен на элементарные информационные процессы"
Схема разработки методов эвристического программирования в обобщенном виде может быть представлена в следующей последовательности процедур:
  • изучение содержания соответствующего класса слабоструктурированных задач;
  • изучение приемов решения задач данного класса человеком;
  • выявление закономерностей в решении человеком задач рассматриваемого класса; формализация выявленных закономерностей, приемов и правил и построение на этой основе модели решения задач данного класса;
  • алгоритмическая реализация построенной модели.
На основе анализа принципиальных особенностей мышления человека нетрудно заключить, что методы эвристического программирования вовсе не гарантируют получения строго оптимальных решений. Более того, не исключаются даже случаи, когда полученное на основе эвристической модели Решение будет далеко от оптимального. Единственное, что гарантируют эти методы — это, во-первых, что решение непременно будет найдено, и во-вторых, — что найденное решение будет лучшим среди решений, получаемых без использования эвристик.
Регулярная теория построения эвристических моделей до настоящего времени не разработана в силу огромных трудностей изучения такого феномена, как мышление человека... 

Комментариев нет:

Отправить комментарий