Эвристический алгоритм

Эвристический алгоритм

Эвристический алгоритм (эвристика) — алгоритм решения задачи, не имеющий строгого обоснования, но, тем не менее, дающий приемлемое решение задачи в большинстве практически значимых случаев.

Содержание

Определение

Эвристический алгоритм — это алгоритм решения задачи, правильность которого для всех возможных случаев не доказана, но про который известно, что он даёт достаточно хорошее решение в большинстве случаев. В действительности может быть даже известно (то есть доказано) то, что эвристический алгоритм формально неверен. Его всё равно можно применять, если при этом он даёт неверный результат только в отдельных, достаточно редких и хорошо выделяемых случаях, или же даёт неточный, но всё же приемлемый результат.

Проще говоря, эвристика — это не полностью математически обоснованный (или даже «не совсем корректный»), но при этом практически полезный алгоритм.

Важно понимать, что эвристика, в отличие от корректного алгоритма решения задачи, обладает следующими особенностями:

  • Она не гарантирует нахождение лучшего решения.
  • Она не гарантирует нахождение решения, даже если оно заведомо существует (возможен «пропуск цели»).
  • Она может дать неверное решение в некоторых случаях.

Применение

Эвристические алгоритмы широко применяются для решения задач высокой вычислительной сложности (задачи, принадлежащие классу NP), то есть вместо полного перебора вариантов, занимающего существенное время, а иногда технически невозможного, применяется значительно более быстрый, но недостаточно обоснованный теоретически, алгоритм. В областях искусственного интеллекта, таких, как распознавание образов, эвристические алгоритмы широко применяются также и по причине отсутствия общего решения поставленной задачи. Различные эвристические подходы применяются в антивирусных программах, компьютерных играх и т. д. Например, программы, играющие в шахматы, проводят середину игры, основываясь, преимущественно, на эвристических алгоритмах (в дебюте может использоваться база данных, в эндшпиле — таблицы Налимова, но в миттельшпиле часто количество возможных ходов исключает полный перебор, а точных алгоритмов правильной игры не существует).

По утверждению Judea Pearl, эвристические методы основаны на интеллектуальном поиске стратегий компьютерного решения проблемы с использованием нескольких альтернативных подходов[1].

Возможность (допустимость) использования эвристик для решения каждой конкретной задачи определяется соотношением затраты на решение задачи точным и эвристическим методом, ценой ошибки и статистическими параметрами эвристики. Кроме того, важным является наличие или отсутствие на выходе «фильтра здравого смысла» — оценки результата человеком.

Пример оценки эвристического решения

Рассмотрим умозрительный пример. Допустим, что имеется известный, но чрезвычайно сложный точный алгоритм решения задачи, и эвристика, которая требует в 1000 раз меньше затрат и чаще всего даёт приемлемое решение (пусть в 95 % случаев). Для простоты примем, что цена точного решения постоянна, как и цена ошибки.

Тогда в среднем решение эвристическим методом будет стоить (T/1000 + 0.05*E), где T — цена точного решения, а E — цена ошибки. Средняя разница в цене решения точным и эвристическим методом (T - T/1000 - 0,05*E) = (19,98 * T - E)/20 = 0,999*T - E/20 , то есть эвристика в среднем оказывается выгоднее точного решения, если только цена ошибки не превышает двадцатикратную (!) цену точного решения.

Если же на выходе результат решения критически оценивается человеком, то ситуация становится ещё лучше: когда ошибка, выданная эвристикой, оказывается достаточно мала, чтобы человек её не заметил, цена этой ошибки обычно гораздо ниже, а серьёзные ошибки будут отсеяны «фильтром здравого смысла», следовательно, не нанесут существенного вреда.

См. также

Примечания

  1. Pearl Judea Heuristics. — Addison-Wesley Pub. — ISBN 0201055945

Литература

  • С.Гудман, С.Хидетниеми, Введение в разработку и анализ алгоритмов, М.:"Мир", 1981.
  • А. В. Ахо, Д. Э. Хопкрофт, Д. Д. Ульман, Структуры данных и алгоритмы, М.,СПб.,Киев: «Вильямс», 2001.



Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Полезное


Смотреть что такое "Эвристический алгоритм" в других словарях:

  • Алгоритм поиска A* — Алгоритмы поиска на графах A* B* Алгоритм Беллмана Форда Двунаправленный поиск Алгоритм Дейкстры Алгоритм Джонсона Поиск в ширину Поиск в глубину Поиск с ограничением глубины Поиск по первому наилучшему совпадению Алгоритм Флойда Уоршелла Поиск… …   Википедия

  • Генетический алгоритм — (англ. genetic algorithm)  это эвристический алгоритм поиска, используемый для решения задач оптимизации и моделирования путём случайного подбора, комбинирования и вариации искомых параметров с использованием механизмов, напоминающих… …   Википедия

  • Приближенный алгоритм поиска p-медиан — Связать? Эвристический метод для нахождения p медианы состоит в следующем: случайным образом выбираются вершин, они образуют начальное множество …   Википедия

  • Гиперэвристика — (гиперэвристический алгоритм) эвристический метод поиска, направленный на автоматизацию процесса выбора, комбинирования, обобщения или адаптации нескольких более простых эвристик (или их частей) для эффективного решения вычислительной задачи.… …   Википедия

  • Поиск подстроки — Поиск информации  одно из основных использований компьютера. Одна из простейших задач поиска информации  поиск точно заданной подстроки в строке. Тем не менее, эта задача чрезвычайно важна  она применяется в текстовых редакторах,… …   Википедия

  • А* — Алгоритмы поиска на графах A* B* Поиск в ширину Поиск в глубину Алгоритм Дейкстры Двунаправленный поиск Поиск с ограничением глубины Поиск по первому наилучшему совпадению Поиск A* (произносится «А звездочка») в информатике и математике, алгоритм …   Википедия

  • Эвристика — Для улучшения этой статьи желательно?: Проставив сноски, внести более точные указания на источники. Эвристика (от др. греч …   Википедия

  • ЭВРИСТИЧЕСКИЕ МЕТОДЫ   — –  последовательность  предписаний  или процедур обработки информации, выполняемая с целью поиска более рациональных и новых конструктивных решений.  Эвристические методы обычно противопоставляют формальным методам решения, опирающимся на точные… …   Философия науки и техники: тематический словарь

  • Задача о восьми ферзях — Задача о восьми ферзях. Одно из решений: a7, b4, c2, d8, e6, f1, g3, h5:(87) Задача о восьми ферзях  широко известная задача по расстановке фигур на шахматной доске. Исходная формулировка: «Расставить на стандартной 64 клеточной …   Википедия

  • Эвристическое сканирование — Стиль этой статьи неэнциклопедичен или нарушает нормы русского языка. Статью следует исправить согласно стилистическим правилам Википедии …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»