Какие средства необходимы для достижения цели. Цели и средства ее достижения. Процесс достижения цели

Одна из главных задач философии - разработка мировоззрения, соответствующего современному уровню науки, исторической практике и интеллектуальным требованиям человека. В этой функции модифицировано основное назначение специализированного знания: адекватно отражать свой объект, выявлять его существенные элементы, структурные связи, закономерности; накапливать и углублять знания, служить источником достоверной информации. Подобно науке, философия есть сложная динамическая информационная система, созданная для сбора, анализа и переработки информации с целью получения новой информации. Такая информация концентрируется в философских понятиях (категориях), общих принципах и законах, образующих целостную систему. Внутри этой системы выделяются разделы: философская онтология (учение о бытии как таковом), теория познания, диалектика как всеобщий метод, социальная философия, общая этика, теоретическая эстетика, философские проблемы частных наук, философия религии, история философии, «философия философии» (теория философского знания). В нашем учебном пособии содержится информация по важнейшим проблемам лишь четырех философских дисциплин.

2. Методологические функции философии

Со стороны своего метода философия способна выполнять несколько функций по отношению к науке: эвристическую, координирующую, интегрирующую и логико-гносеологическую.

2.1 Эвристическая функция

Существо эвристической функции состоит в содействии приросту научных знаний, в том числе в создании предпосылок для научных открытий. Философский метод, применяемый в единстве с формально-логическим, обеспечивает приращение знаний, конечно, в собственно философской сфере. Результатом этого является экстенсивное и интенсивное изменение системы всеобщих категорий. Новая информация может иметь вид прогноза. Философия не содержит в себе каких-либо запретов на попытки предсказать открытия теоретико-мировоззренческого или общеметодологического характера. Возможно обнаружение новых всеобщих сторон развития, которые будут выражены в формулировании доселе неизвестных основных или неосновных законов диалектики.

Что же касается частных наук, то философский метод, будучи примененным в комплексе с другими методами, способен помогать им в решении сложных теоретических, фундаментальных проблем, «участвовать» в их предвидениях. Важное значение имеет участие философии в создании гипотез и теорий. Нет, наверное, ни одной естественнонаучной теории, формирование которой обошлось бы без использования философских представлений - о причинности, пространстве, времени и др.

Общие философские понятия и принципы проникают в естествознание не только через онтологию, но также через гносеологию и регулятивные принципы частных наук. К последним в сфере физического знания относятся принципы наблюдаемости, простоты и соответствия. Как считает Э. М. Чудинов, гносеологические принципы играют важную роль не только в становлении физических теорий; после того как теория создана, они сохраняют значение регулятивов, определяющих характер ее функционирования.

Сказанное, конечно, не охватывает всех путей, направлений, по которым философия проникает в естественные науки; формы воздействия философии весьма многообразны.

Результаты такого воздействия при внешнем знакомстве с теорией не очевидны, однако специальный анализ показывает, что содержание той или иной теории базируется на философских представлениях. Философские принципы и понятия проникают в саму ткань науки и, участвуя в генезисе научной теории, остаются в ней, функционируют как часть, как внутренний необходимый элемент самой теории. Анализ обнаруживает, например, что:

1) классическая механика построена на логической схеме философского принципа причинности;

2) квантовая механика базируется на общекатегориальной структуре;

3) теория относительности опиралась, как на свой мировоззренческий фундамент, на философские понятия;

4) эволюционная теория в биологии (Ч. Дарвина) имела своим основанием группу мировоззренческих понятий;

Следует обратить внимание на следующий момент: воздействие философии на построение отдельных теорий не интегрально, а фрагментарно, локально. «Проникающей» силой обладают лишь отдельные идеи, понятия (или их группы), отдельные философские принципы. Данное явление объясняется прежде всего наивысшим уровнем обобщенности научного знания, заключенного в научном аспекте философии в отличие от любой части науки, и его приложением не к миру в целом, а лишь к фрагментам материальной действительности и к отдельным сторонам или уровням познавательного отношения.

Фрагментарность воздействия философии на формирование гипотез и теорий в частных науках имеет одним из своих следствий своеобразный характер натуралистского мировоззрения.

Рассмотрение эвристической функции философского метода (диалектики как метода) показывает, что роль философии в развитии частных наук весьма значительна, особенно в отношении формирования гипотез и теорий. Не всегда философия «на виду» и далеко не всегда она в качестве методологии на переднем крае. Конкретная научная задача решается, конечно, конкретным же методом или комплексом таких методов. Философский же метод чаще всего действует «с тыла»: через частнонаучные методы и общенаучные понятия. Тем не менее, без мировоззренческих понятий и принципов невозможно развитие науки (другой вопрос - каковы эти понятия и принципы, как они трактуются и каков характер их воздействия на науку).

Функции философии как науки

2.1. Эвристическая функция

Существо эвристической функции состоит в содействии приросту научных знаний, в том числе в создании предпосылок для научных открытий. Философский метод, применяемый в единстве с формально-логическим, обеспечивает приращение знаний, конечно, в собственно философской сфере. Результатом этого является экстенсивное и интенсивное изменение системы всеобщих категорий. Новая информация может иметь вид прогноза. Философия не содержит в себе каких-либо запретов на попытки предсказать открытия теоретико-мировоззренческого или общеметодологического характера. Возможно обнаружение новых всеобщих сторон развития, которые будут выражены в формулировании доселе неизвестных основных или неосновных законов диалектики.

Что же касается частных наук, то философский метод, будучи примененным в комплексе с другими методами, способен помогать им в решении сложных теоретических, фундаментальных проблем, «участвовать» в их предвидениях. Важное значение имеет участие философии в создании гипотез и теорий. Нет, наверное, ни одной естественнонаучной теории, формирование которой обошлось бы без использования философских представлений -- о причинности, пространстве, времени и др.

Общие философские понятия и принципы проникают в естествознание не только через онтологию, но также через гносеологию и регулятивные принципы частных наук. К последним в сфере физического знания относятся принципы наблюдаемости, простоты и соответствия. Как считает Э. М. Чудинов, гносеологические принципы играют важную роль не только в становлении физических теорий; после того как теория создана, они сохраняют значение регулятивов, определяющих характер ее функционирования.

Сказанное, конечно, не охватывает всех путей, направлений, по которым философия проникает в естественные науки; формы воздействия философии весьма многообразны.

Результаты такого воздействия при внешнем знакомстве с теорией не очевидны, однако специальный анализ показывает, что содержание той или иной теории базируется на философских представлениях. Философские принципы и понятия проникают в саму ткань науки и, участвуя в генезисе научной теории, остаются в ней, функционируют как часть, как внутренний необходимый элемент самой теории. Анализ обнаруживает, например, что:

1) классическая механика построена на логической схеме философского принципа причинности;

2) квантовая механика базируется на общекатегориальной структуре;

3) теория относительности опиралась, как на свой мировоззренческий фундамент, на философские понятия;

4) эволюционная теория в биологии (Ч. Дарвина) имела своим основанием группу мировоззренческих понятий;

Следует обратить внимание на следующий момент: воздействие философии на построение отдельных теорий не интегрально, а фрагментарно, локально. «Проникающей» силой обладают лишь отдельные идеи, понятия (или их группы), отдельные философские принципы. Данное явление объясняется прежде всего наивысшим уровнем обобщенности научного знания, заключенного в научном аспекте философии в отличие от любой части науки, и его приложением не к миру в целом, а лишь к фрагментам материальной действительности и к отдельным сторонам или уровням познавательного отношения.

Фрагментарность воздействия философии на формирование гипотез и теорий в частных науках имеет одним из своих следствий своеобразный характер натуралистского мировоззрения.

Рассмотрение эвристической функции философского метода (диалектики как метода) показывает, что роль философии в развитии частных наук весьма значительна, особенно в отношении формирования гипотез и теорий. Не всегда философия «на виду» и далеко не всегда она в качестве методологии на переднем крае. Конкретная научная задача решается, конечно, конкретным же методом или комплексом таких методов. Философский же метод чаще всего действует «с тыла»: через частнонаучные методы и общенаучные понятия. Тем не менее, без мировоззренческих понятий и принципов невозможно развитие науки (другой вопрос -- каковы эти понятия и принципы, как они трактуются и каков характер их воздействия на науку).

Мировоззренческая функция философии

Мировоззренческая функция философии состоит в том, что, давая людям общий, целостный взгляд на мир, философия позволяет человеку определить свое место и роль в этом мире, делает его сознательным участником этого процесса...

Предмет и функции философии

философия мировоззренческий методологический Выполнение философией своего назначения предполагает реализацию ею целого ряда взаимосвязанных функций, через которые реализуется ее назначение...

Принцип детерминизма. Основные положения и проблемы

Ещё одно отличие квантовой механики от классической физики, которое помогает понять природу принципа неопределённости, состоит в понятии мгновенного состояния физической системы...

Мировоззрение - это совокупность идей о наиболее общих закономерностях и о наиболее общих проблемах жизни . Эту совокупность идей можно называть также мировоззренческой информацией. Мировоззренческая информация отвечает на вопросы...

Роль религии в развитии общества

Культура делиться на материальную и духовную. Культуротранслирующая функция религии раскрывает отношение религии к духовной культуре...

Роль религии в развитии общества

Политика - это, во-первых, отношения между партиями, классами, национальностями, народами, государствами, и это, во-вторых, отношение отдельных людей к партиям, классам, национальностям, народам, государствам...

Роль религии в развитии общества

Положительное значение нравственной функции религии состоит в пропаганде и выработке позитивных нравственных норм. «Минус» этой функции состоит в одновременной пропаганде некоторых негативных нравственных норм...

Философия информации и сложных систем

В основе более широкого подхода к определению понятия информации лежит представление о тесной связи информации и разнообразия. Данная точка зрения является в настоящее время наиболее широко распространенной и аргументированной [А6]...

Функции философии как науки

На первом месте среди функций философии в соответствии с приоритетной значимостью проблемы человека среди всех остальных проблем философии стоит гуманистическая функция. Нет на свете, наверное, ни одного человека...

Функции философии как науки

Следующей мировоззренческой функцией философии является социально-аксиологическая функция. Она расчленяется на ряд подфункций, среди которых важнейшими являются конструктивно-ценностная, интерпретаторская и критическая подфункции...

Функции философии как науки

Одной из функций философии является культурно-воспитательная функция. Знание философии, в том числе требований к познанию, способствует формированию у человека важных качеств культурной личности: ориентации на истину, правду, доброту...

Функции философии как науки

Одна из главных задач философии -- разработка мировоззрения, соответствующего современному уровню науки, исторической практике и интеллектуальным требованиям человека...

Функции философии как науки

Координирующая функция философии. Существо этой функции состоит в координировании методов в процессе научного исследования. На первый взгляд она кажется излишней: если метод содержателен, обусловлен природой объекта...

Функции философии как науки

Термин «интеграция» (от латинского integratio -- восстановление, восполнение) означает объединение в целое каких-либо частей. Он применяется во многих науках и практике...

Функции философии как науки

Эта функция заключается в разработке самого философского метода, его нормативных принципов, а также в логико-гносеологическом обосновании тех или иных понятийных и теоретических структур научного знания. Выработка информации...

Эвристический поиск на И-ИЛИ графах

Поиск в глубину на И-ИЛИ графе

Как по И-ИЛИ графу построить решающее дерево? Это дело системы (стратегии) управления. На И-ИЛИ графах возможны все виды поиска, которые мы изучили: поиск в глубину, поиск в ширину, эвристический поиск.

Поиск в глубину на И-ИЛИ графах является процедурным механизмом Prolog-системы. Вначале системе адресуется запрос, или главная цель.

Для ее решения нужно решить все подцели в теле правила, с которым запрос сопоставился. Это вершина типа «И».

Если к цели могут быть применены альтернативные правила, то это вершина типа «ИЛИ».

Цель, которая сопоставилась с фактом базы данных, - терминальная вершина.

Рассмотрим поиск в глубину на модельном И-ИЛИ графе (рис. 19):

Рисунок 19. Модельный «И-ИЛИ граф»

Поиск в глубину из вершины X:

Если Х-целевая вершина, то задача решена.

Если Х-вершина типа «ИЛИ», то нужно пробовать решать одну за другой задачи-преемники, пока не будет найдена задача, имеющая решение.

Если Х-вершина типа «И», то нужно решить все ее задачи-преемники.

Если применение этих правил не приводит к решению, то решения нет.

Задание . Написать программу, реализующую поиск в глубину на модельном И-ИЛИ графе (рис. 19). Какова ее вычислительная сложность?

Припишем дугам И-ИЛИ графа стоимости.

Положим стоимость решающего дерева равной стоимости входящих в него дуг.

Цель оптимизации - поиск дерева решения минимальной стоимости.

Определим стоимость вершины как стоимость минимального решающего дерева с корнем в этой вершине.

Определим эвристическую функцию на вершинах И-ИЛИ графа. Эвристическая оценка листов равна непосредственно значению эвристики h(u) на вершине u. Внутренние вершины имеют преемников. Они будут оцениваться с помощью возвращенной эвристической оценки - оценки стоимости минимального решающего дерева с корнем в u.

Оценка для ИЛИ-вершины (рис. 20).

Рисунок 20. Возвращенная эвристика «ИЛИ»-вершины

Оценка для И-вершины (рис. 21).

Рисунок 21. Возвращенная эвристика «И»-вершины

3) - оценка для листа

В нашем дереве поиска у каждой вершины только один отец. Пусть u 0 - отец, u - сын (рис.22).

Рисунок 22. f-оценка сына u 1 с отцом u 0

f-оценка вершины u складывается как стоимость дуги, входящей в u от родительской вершины, плюс ее возвращенная эвристическая оценка . Начальная вершина не имеет родителя, поэтому будем считать, что в нее входит фиктивная дуга стоимости 0.

1.8.2. АО*-алгоритм эвристического поиска на И-ИЛИ графе

Каждый преемник ИЛИ-вершины соответствует альтернативному дереву - кандидату в решение. АО*-алгоритм на каждом шаге будет расширять дерево с минимальной f-оценкой, вычисленной следующим образом:



- для И-вершины;

Для ИЛИ-вершины.

Рассмотрим эвристический поиск на примере модельного И-ИЛИ графа (рис. 23) с эвристиками всех вершин тождественно равными 0 (h(u)≡0 для всех u).

Рисунок 23. Модельный граф с эвристиками всех вершин тождественно равными нулю

Начнем поиск из начальной вершины а.

f(a) = 0 + h(a) = 0 (рис. 24):

Рисунок 24. Трассировка алгоритма. Шаг 1

f(b) = 1 + h(b) =1;

f(c) = 3 + h(c) = 3;

f(a) = 0 + min{f(b),f(c)} = min{1,3} = 1.

Рисунок 25. Трассировка алгоритма. Шаг 2

Дерево с корнем в b является минимальным, поэтому оно расширяется (рис. 26), его оценка пересчитывается и пересчитывается оценка вершины а:

f(d) = 1 + h(d) =1;

f(e) = 1 + h(e) =1;

f(b) = 1 + f(d) + f(e) =3.

Рисунок 26. Трассировка алгоритма. Шаг 3

f(b) ≤ f(c), поэтому продолжаем расширять дерево с корнем в b. При попытке расширить d обнаруживаем что d - целевая вершина, для e находим преемника h (рис. 27):

f(h) = 6 + h(h) =6;

f(e) = 1 + h(h) =1 + 6 =7;

f(b) = 1 + f(d) + f(e) = 1 + 1 + 7 = 9

Рисунок 27. Трассировка алгоритма. Шаг 4

Поиск не успел понять, что h - целевая вершина; стоимость дерева с корнем в b равна 9, поэтому происходит переключение на дерево с корнем в с, причем рост дерева с корнем в с ограничивается величиной 9: f(c) ≤ 9 (рис. 28):

f(f) = 2 + h(f) =2;

f(g) = 1 + h(g) =1;

f(c) = 3 + f(f) +f(g) = 3 + 2 + 1 =6;

Рисунок 28. Трассировка алгоритма. Шаг 5

f(b) ≤ 9, поэтому продолжаем расширять дерево с корнем в с (рис. 29). Обнаруживаем, что g - целевая вершина и для f находим двух преемников:

f(h) = 2 + h(h) = 2;

f(i) = 3 + h(i) = 3;

f(f) = 2 +min {2,3} = 4;

f(c) = 3 + f(f) + f(g) = 8

f(a) = 0 + f(c) = 8.

Рисунок 29. Трассировка алгоритма. Шаг 6

Штриховой линией обведено активное дерево поиска. Заметим, что вершина h включена в разные деревья поиска и имеет разные f оценки: 6 и 2. f(c)≤8≤9, поэтому продолжаем расширять дерево с корнем в c. При попытке расширить h обнаруживаем целевую вершину и получаем дерево решения. Так как все h(u) ≡ 0, то оценка вершины а - f(a) есть стоимость дерева решения.

1.8.3. Некоторые свойства АО*-алгоритма

Обозначим стоимость минимального дерева решения, связывающего вершину u с терминальными вершинами.

Если для всех u, то эвристический поиск построит минимальное дерево решения. Это условие для эвристики h можно заменить другим - условием монотонности эвристики h.

Пусть у вершины u имеется несколько связок, одна связка состоит из k потомков u 1 ,…, u k . Если для каждой связки имеет место неравенство

где с(u,u i) - стоимость дуги от вершины u до потомка u i , h(u i) - эвристика вершины u i , и для каждой терминальной вершины t h(t)≡0. Это условие аналогично условию монотонности для обычного графа пространства состояний:

Т.е. эвристики вершин не меняются резко и согласованы со стоимостью дуг.

Со стороны своего метода философия способна выполнять несколько функций по отношению к науке: эвристическую, координирующую, интегрирующую и логико-гносеологическую.

Эвристическая функция

Существо эвристической функции состоит в содействии приросту научных знаний, в том числе в создании предпосылок для научных открытий. Философский метод, применяемый в единстве с формально-логическим, обеспечивает приращение знаний, конечно, в собственно философской сфере. Результатом этого является экстенсивное и интенсивное изменение системы всеобщих категорий. Новая информация может иметь вид прогноза. Философия не содержит в себе каких-либо запретов на попытки предсказать открытия теоретико-мировоззренческого или общеметодологического характера. Возможно обнаружение новых всеобщих сторон развития, которые будут выражены в формулировании доселе неизвестных основных или неосновных законов диалектики.

Что же касается частных наук, то философский метод, будучи примененным в комплексе с другими методами, способен помогать им в решении сложных теоретических, фундаментальных проблем, «участвовать» в их предвидениях. Важное значение имеет участие философии в создании гипотез и теорий. Нет, наверное, ни одной естественнонаучной теории, формирование которой обошлось бы без использования философских представлений -- о причинности, пространстве, времени и др.

Результаты такого воздействия при внешнем знакомстве с теорией не очевидны, однако специальный анализ показывает, что содержание той или иной теории базируется на философских представлениях. Философские принципы и понятия проникают в саму ткань науки и, участвуя в генезисе научной теории, остаются в ней, функционируют как часть, как внутренний необходимый элемент самой теории. Анализ обнаруживает, например, что:

  • 1) классическая механика построена на логической схеме философского принципа причинности;
  • 2) квантовая механика базируется на общекатегориальной структуре;
  • 3) теория относительности опиралась, как на свой мировоззренческий фундамент, на философские понятия;
  • 4) эволюционная теория в биологии (Ч. Дарвина) имела своим основанием группу мировоззренческих понятий;

Следует обратить внимание на следующий момент: воздействие философии на построение отдельных теорий не интегрально, а фрагментарно, локально. «Проникающей» силой обладают лишь отдельные идеи, понятия (или их группы), отдельные философские принципы. Данное явление объясняется прежде всего наивысшим уровнем обобщенности научного знания, заключенного в научном аспекте философии в отличие от любой части науки, и его приложением не к миру в целом, а лишь к фрагментам материальной действительности и к отдельным сторонам или уровням познавательного отношения.

Философский метод способен оказывать положительное воздействие на научную работу не только отдельными своими понятиями или категориальными блоками, но и принципами. Приведем один исторический факт, связанный с применением в естествознании философского принципа -- принципа восхождения от абстрактного к конкретному (этот принцип диалектики как логики был разработан Гегелем и Марксом). До 60-х годов XIX столетия органическая химия почти не знала тех веществ, которые должны были составить основу всей ее системы; в химии не была еще обнаружена исходная «клеточка», которая позволила бы показать, как последовательно превращаются соответствующие углеводороды в более сложные органические соединения. Из-за такого пробела вся система органической химии строилась неверно; часто переходы в ней были искусственными, натянутыми, отсутствовало необходимое внутреннее единство. Овладение приемами диалектической логики, правильное применение законов и принципов диалектического мышления к органической химии дали возможность немецкому химику-органику К. Шорлеммеру установить начальный пункт образования и усложнения всех органических соединений (им оказались парафины), вскрыть объективную диалектику взаимных превращений органических веществ и на этой основе построить строго научную систему органической химии.

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

Информи́рованный по́иск (также эвристический поиск , англ. informed search, heuristic search ) - стратегия поиска решений в пространстве состояний , в которой используются знания, относящиеся к конкретной задаче. Информированные методы обычно обеспечивают более эффективный поиск по сравнению с неинформированными методами .

Информация о конкретной задаче формулируется в виде эвристической функции . Эвристическая функция на каждом шаге перебора оценивает альтернативы на основании дополнительной информации с целью принятия решения о том, в каком направлении следует продолжать перебор .

Эвристические функции [ | код ]

В контексте поиска в пространстве состояний, эвристическая функция (англ. heuristic function ) h (n ) определена на узлах дерева перебора следующим образом:

h (n ) = оценка стоимости наименее дорогостоящего пути от узла n до целевого узла.

Если n - целевой узел, то h (n ) = 0.

Узел для развёртывания выбирается на основе функции оценки (англ. evaluation function )

f (n ) = оценка стоимости наименее дорогостоящего пути решения, проходящего через узел n , f (n ) = g (n ) + h (n ),

где функция g (n ) определяет стоимость уже пройденного пути от начального узла до узла n .

Значения функций вдоль оптимального решения
f1(n) = g(n) + h1(n) - недопустимая эвристика
f2(n) = g(n) + h2(n) - допустимая, но не преемственная
f3(n) = g(n) + h3(n) - преемственная эвристика

Если эвристическая функция h (n ) никогда не переоценивает фактическую минимальную стоимость достижения цели (то есть является нижней оценкой фактической стоимости), то такая функция называется допустимой (англ. admissible ).

Если эвристическая функция h (n ) удовлетворяет условию

h (a ) ≤ cost (a , b ) + h (b ),

где b - потомок a , то такая функция называется преемственной (англ. consistent ).

Если f (n ) = g (n ) + h (n ) - функция оценки, h (n ) - преемственная функция, то функция f (n ) является монотонно неубывающей вдоль любого исследуемого пути. Поэтому преемственные функции также называются монотонными (англ. monotonic ).

Любая преемственная функция является допустимой, но не любая допустимая функция является преемственной.

Если h 1 (n ), h 2 (n ) - допустимые эвристические функции, и для любого узла n верно неравенство h 1 (n ) ≥ h 2 (n ), то h 1 является более информированной эвристикой, или доминирует над h 2 .

Если для задачи существуют допустимые эвристики h 1 и h 2 , то эвристика h (n ) = max(h 1 , h 2) является допустимой и доминирует над каждой из исходных эвристик .

Сравнение эвристических функций [ | код ]

При сравнении допустимых эвристик имеют значение степень информированности и пространственная и временная сложность вычисления каждой из эвристик. Более информированные эвристики позволяют сократить количество развёртываемых узлов, хотя платой за это могут быть затраты времени на вычисление эвристики для каждого узла.

Эффективный коэффициент ветвления (англ. effective branching factor ) - среднее число преемников узла в дереве перебора после применения эвристических методов отсечения . По эффективному коэффициенту ветвления можно судить о качестве используемой эвристической функции.

Идеальная эвристическая функция (например, таблица поиска ) всегда возвращает точные значения длины кратчайшего решения, поэтому дерево перебора содержит только оптимальные решения. Эффективный коэффициент ветвления идеальной эвристической функции близок к 1 .

Примеры задач поиска [ | код ]

В качестве моделей для испытания алгоритмов поиска и эвристических функций часто используются перестановочные головоломки - Пятнашки 3×3 , 4×4 , 5×5 , 6×6 , кубик Рубика , Ханойская башня с четырьмя стержнями .

В головоломке «Пятнашки» может быть применена эвристика h m , основанная на манхэттенском расстоянии . Более конкретно, для каждой плитки подсчитывается манхэттенское расстояние между её текущим положением и её положением в начальном состоянии; полученные величины суммируются.

Можно показать, что эта эвристика является допустимой и преемственной: за один ход её значение не может измениться более чем на ±1.

Конструирование эвристических функций [ | код ]

Ослабленная задача [ | код ]

Эвристическая функция h m , использующаяся для решения головоломки «Пятнашки», представляет собой нижнюю оценку длины оптимального решения. Помимо этого, h m (n ) - это точное значение длины оптимального решения упрощённой версии головоломки, в которой плитки можно передвигать в занятые позиции. В исходной головоломке присутствует ограничение «в одной клетке не должны находиться две и более плитки», которого нет в упрощённой версии. Задача с меньшим количеством ограничений на возможные действия называется ослабленной задачей (англ. relaxed problem ); стоимость решения ослабленной задачи является допустимой эвристикой для первоначальной задачи , так как любое решение первоначальной задачи является также решением ослабленной задачи.

Подзадача [ | код ]

Допустимая эвристика может быть основана на стоимости решения подзадачи (англ. subproblem ) исходной задачи. Любое решение основной задачи одновременно является решением каждой из её подзадач .

Подзадачей задачи решения головоломки «Пятнашки» может быть задача перемещения на свои места плиток 1, 2, 3 и 4. Стоимость решения этой подзадачи является допустимой эвристикой для исходной задачи.

Базы данных с шаблонами [ | код ]

Пример шаблона для головоломки «Пятнашки» изображён на рисунке справа: в определение подзадачи входят позиции семи фишек, находящихся в первом столбце и в первой строке. Количество конфигураций этого шаблона равно 16 ! 8 ! = 518918400 {\displaystyle {\dfrac {16!}{8!}}=518918400} . Для каждой из конфигураций база данных содержит минимальное количество ходов, необходимое для перевода этой конфигурации в целевую конфигурацию подзадачи, показанную на рисунке. Построение базы данных осуществляется методом обратного поиска в ширину .

Алгоритмы поиска [ | код ]

[ | код ]

Поиск по первому наилучшему совпадению (англ. best-first search ) представляет собой подход, в котором узел для развёртывания выбирается на основе оценочной функции f (n ). Для развёртывания выбирается узел с наименьшей оценкой.

Поиск A* [ | код ]

Поиск A* - наиболее известная разновидность поиска по первому наилучшему совпадению. В нём применяется оценка f (n ) стоимости наименее дорогостоящего пути решения, проходящего через узел n :

f (n ) = g (n ) + h (n ), где g (n ) - стоимость пути от начального узла до узла n , h (n ) - оценка стоимости пути от узла n до цели.

Если h (n ) никогда не переоценивает стоимость достижения цели (то есть является допустимой), то поиск A* является оптимальным.

IDA* [ | код ]

Алгоритм A* с итеративным углублением (iterative deepening A*, IDA* ) - применение идеи итеративного углубления в контексте эвристического поиска.

node текущий узел g стоимость начала решения root..node f оценка стоимости минимального пути через node h (node ) эвристическая оценка стоимости остатка пути node..goal cost (node , succ ) функция стоимости пути is_goal (node ) функция проверки цели successors (node ) функция развёртывания узла node procedure ida_star (root , cost (), is_goal (), h ()) bound := h (root ) loop t := search (root , 0, bound ) if t = FOUND then return FOUND if t = ∞ then return NOT_FOUND bound := t end loop end procedure function search (node , g , bound ) f := g + h (node ) if f > bound then return f if is_goal (node ) then return FOUND min := ∞ for succ in successors (node ) do t := search (succ , g + cost (node , succ ), bound ) if t = FOUND then return FOUND if t < min then min := t end for return min end function

MA* [ | код ]

SMA* [ | код ]

SMA* (англ.)