ПОИСК Статьи Рисунки Таблицы Общая характеристика моделей представления знаний и процедур поиска решений неформализованных задач из "Экспертные системы в химической технологии" Эвристическое программирование — ото из начальных направлений исследований в теории ИИ [1, 2, 10, 14, 18] —это разработка специфических методов и программного обеспечения поиска решений НФЗ, для которых вообще не существует (или они заранее не известны) строгих критериев применимости современных научных методов это исследование и имитация процессов мышления человека с помощью создания эвристических программ, реализующих эвристические приемы и функции, характерные для мыслительной деятельности. К эвристическим приемам мышления относятся правдоподобные рассуждения, выводы по аналогии, интуитивные предположения, ассоциативные рассуждения, иерархически организованный перебор возможных рациональных решений с отсечением заведомо неперспективных, поиск решения с использованием эвристических правил. [c.42] Эвристическое программирование не дает методов постановки научно-технических задач. Предполагается, что задача поставлена, т. е. интуитивные требования заменены четко сформулированными условиями. Предполагается также, что существует тест (проверка), который можно применить к предполагаемому решению некоторой задачи. В случае, когда такое решение действительно является решением, тест должен обнаружить это за конечное число шагов. [c.42] Все научно-технические задачи можно разделить на два класса. К первому А принадлежат задачи, решение которых может быть получено с помощью известных методов и алгоритмов, исключающих полный перебор альтернативных вариантов предполагаемых решений. В этом классе необходимо выделить подкласс задач С А , решение которых трудно или невозможно получить при современном уровне научно-технического прогресса. [c.42] Для решения задач из класса В и подкласса / , наиболее целесообразно применение методов эвристического программирования, основанных на использовании эвристик, помогающих человеку обходиться без полного перебора. [c.43] Цель эвристического программирования состоит в том, чтобы, с одной стороны, интенсифицировать мыслительные процессы творческой человеческой деятельности, а с другой — глубже изучить и познать их сущность. Теория эвристического программирования исходит из предположения, что основу человеческого мышления составляют элементарные информационные процессы (или элементарные информационные модели ), организованные в сложную иерархическую структуру, которая обеспечивает определенный порядок их выполнения на каждом уровне и соподчинение моделей различных уровней между соГ й. В соответствии с этой концепцией в принципе любой вид умственной деятельности человека может быть формализован в виде некотор и динамической модели на ЭВМ, ибо ЭВМ позволяет выполнять простые логические преобразования, определенная последовательность которых дает любые правила перехода от одной элементарной информационной модели к другой. [c.44] Одна из первых работ в области эвристического программирования была посвящена разработке программы Логик-теоретик для доказательства- математических теорем. В программе Логик-теоретик практически реализована возможность автоматизированного доказательства математических теорем символической логики, а именно —теорем по исчислению высказываний. Программа Логик-теоретик на основании правил вывода позволяет получать новые теоремы из исходных аксиом и других теорем. В доказательстве используют три правила вывода подстановку, замену, отделение, а в качестве аксиом — пять истинных высказываний. Построение доказательства начинают от конечного результата по направлению к исходным посылкам. Эта направленность доказательства и вопросы иерархического наследования в доказательстве теорем имеют ряд общих черт с процедурой синтеза структуры ХТС. На каждом этапе из заданного списка аксиом или ранее доказанных теорем выбирается такая, из которой с помощью правил вывода может быть выведена теорема данного этапа. Поэтапная процедура доказательства продолжается до тех пор, пока в списке для вывода не окажутся исходные посылки. В этом случае задача считается решенной. Необходимо, однако, отметить, что в ряде случаев поиск метода доказательства теоремы может оказаться безуспешным. [c.44] Наряду с созданием универсальных эвристических программ широкого назначения типа GPS в последние годы весьма интенсивно разрабатываются и специализированные эвристические программы сравнительно узкого назначения. Одним из весьма интересных и эффективных направлений использования эвристического программирования является решение задач диспетчеризации и составления расписаний для различных промышленных предприятий, предприятий транспорта и связи, учебных заведений. При разработке расписания составителям приходится принимать во внимание множество разнообразных факторов и требований, учет и всесторонняя увязка которых усложняет нахождение наиболее целесообразного варианта, Разработаны эвристические программы, способные составлять расписание подобно человеку, но выполняющие эту работу быстрее и во многих случаях лучше, чем это делают соответствующие специалисты. [c.45] В настоящее время эвристическое программирование успешно применяют для решения различных НФЗ технического и художественного творчества. Эвристические программы используют, например, для управления некоторыми сложными производственными процессами, для конструирования штампов, доказательства математических теорем, оптимального распределения операций между рабочими, обслуживающими сборочный конвейер (или для балансирования сборочного конвейера), для создания музыкальных произведений, игры в шахматы и шашки, разработки методов синтеза ХТС и др. [c.45] В ряде случаев применение эвристического программирования для решения некоторых производственных задач (например, задачи балансирования сборочного конвейера) дает существенный выигрыш по сравнению с использованием методов линейного, целочисленного линейного или динамического программирования, связанных с такими вычислительными трудностями, которые делают нереальным решение этих задач на ЭВМ в практически приемлемые сроки. [c.45] Разработка эвристических программ носит специфический характер, для их создания требуется большая и трудоемкая работа по наблюдению за объектами исследования. В связи с этим особый интерес представляют самообучающиеся эвристические программы, предназначенные для решения широкого класса задач. Специализация программы производится путем ее дообучения на конкретной, интересующей исследователя задаче. В результате обучения в эвристических программах должны формироваться новые факты и эвристики. [c.45] Автоматизированное обучение, используемое в эвристическом программировании, обеспечивает запоминание ЭВМ новых знаний, усвоение практического опыта на основе инструкций, открытие новых фактов и ЭП. Ниже перечислены способы автоматизированного обучения эвристических программ или ЭВМ, которые используют также при автоматизированном обучении человека с помощью ЭС. [c.46] Вернуться к основной статье