Методология автоматизации работ технологической подготовки производства

Технологии искусственного интеллекта

Показывать лекцию целиком

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

2.1. Структура интеллектуальной системы

Согласно определению Д.А. Поспелова, "Система называется интеллектуальной, если в ней реализованы следующие основные функции:

  • накапливать знания об окружающем систему мире, классифицировать и оценивать их с точки зрения прагматической полезности и непротиворечивости, инициировать процессы получения новых знаний, осуществлять соотнесение новых знаний с ранее хранимыми;
  • пополнять поступившие знания с помощью логического вывода, отражающего закономерности в окружающем систему мире в накопленных ею ранее знаниях, получать обобщенные знания на основе более частных знаний и логически планировать свою деятельность;
  • общаться с человеком на языке, максимально приближенном к естественному человеческому языку;
  • получать информацию от каналов, аналогичных тем, которые использует человек при восприятии окружающего мира;
  • уметь формировать для себя или по просьбе человека (пользователя) объяснение собственной деятельности;
  • оказывать пользователю помощь за счет тех знаний, которые хранятся в памяти, и тех логических средств рассуждений, которые присущи системе".
  • Перечисленные функции можно назвать функциями представления и обработки знаний, рассуждения и общения. Наряду с обязательными компонентами, в зависимости от решаемых задач и области применения в конкретной системе, эти функции могут быть реализованы в различной степени, что определяет индивидуальность архитектуры. На рис. 2.1 в наиболее общем виде представлена структура интеллектуальной системы в виде совокупности блоков и связей между ними.

    База знаний представляет собой совокупность сред, хранящих знания различных типов. Рассмотрим кратко их назначение.

    База фактов (данных) хранит конкретные данные, а база правил - элементарные выражения, называемые в теории искусственного интеллекта продукциями.

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

    База закономерностей включает различные сведения, относящиеся к особенностям той среды, в которой действует система.

    База метазнаний ( база знаний о себе) содержит описание самой системы и способов ее функционирования: сведения о том, как внутри системы представляются единицы информации различного типа, как взаимодействуют различные компоненты системы, как было получено решение задачи.

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

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

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

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

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

    (рис 2.1) Общая структура интеллектуальной системы

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

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

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

    2.2. Разновидности интеллектуальных систем

    В зависимости от набора компонентов, реализующих рассмотренные функции, можно выделить следующие основные разновидности интеллектуальных систем:

  • интеллектуальные информационно-поисковые системы;
  • экспертные системы (ЭС);
  • расчетно-логические системы;
  • гибридные экспертные системы.
  • Интеллектуальные информационно-поисковые системы являются системами взаимодействия с проблемно-ориентированными (фактографическими) базами данных на естественном, точнее, ограниченном как грамматически, так и лексически (профессиональной лексикой) естественном языке (языке деловой прозы). Для них характерно использование (помимо базы знаний, реализующей семантическую модель представления знаний о проблемной области) лингвистического процессора.

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

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

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

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

    Важное место в теории искусственного интеллекта (ИИ) занимает проблема представления знаний. В настоящее время выделяют следующие основные типы моделей представления знаний:

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

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

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

  • набора фреймов, составляющих библиотеку внутри представляемых знаний;
  • механизмов их преобразования, связывания и т. д. Существует два типа фреймов:
  • образец (прототип) - интенсиональное описание некоторого множества экземпляров;
  • экземпляр (пример) - экстенсиональное представление фрейм -образца.
  • В общем виде фрейм может быть представлен следующим кортежем:

    <ИФ, (ИС, ЗС, ПП),..., (ИС, ЗС, ПП)>,

    где ИФ - имя фрейма ; ИС - имя слота ; ЗС - значение слота ; ПП - имя присоединенной процедуры (необязательный параметр).

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

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

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

    Формально продукция определяется следующим образом:

  • (i); Q;P;С; QA В; N,
  • где (i) - имя продукции (правила); Q - сфера применения правила; Р - предусловие (например, приоритетность); С - предикат (отношение); А - > В - ядро; N - постусловия (изменения, вносимые в систему правил). Практически продукции строятся по схеме: "ЕСЛИ" (причина или, иначе, посылка), "ТО" (следствие или, иначе, цель правила).

    Полученные в результате срабатывания продукций новые знания могут использоваться в следующих целях:

  • понимание и интерпретация фактов и правил с применением продукций, фреймов, семантических цепей;
  • решение задач с помощью моделирования;
  • идентификация источника данных, причин несовпадений новых знаний со старыми, получение метазнаний;
  • составление вопросов к системе;
  • усвоение новых знаний, устранение противоречий, систематизация избыточных данных.
  • Процесс рассмотрения компьютером набора правил (выполнение программы) называют консультацией.Ее наиболее удобная для пользователя форма - дружественный диалог с компьютером. Интерфейс может быть в форме меню, на языке команд и на естественном языке.

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

    При прямом поиске пользователь может задавать две группы вопросов, на которые компьютер дает объяснения:

  • как получено решение. При этом компьютер должен выдать на экран трассу в виде ссылок на использованные правила;
  • почему компьютер задал какой-то вопрос. При этом на экран выдается своеобразная трасса, которую компьютер хотел бы использовать для вывода после получения ответа на задаваемый вопрос. Вопрос " почему" может быть задан как в процессе консультации, так и после выполнения программы.
  • Специфичен алгоритм поиска, реализуемый логическими языками: он является фактически последовательным перебором по дереву сверху вниз - слева направо.

    2.3. Машинный интеллект

    Под понятием " машинный интеллект " подразумевают совокупность аппаратных и программных средств ЭВМ, с помощью которых обеспечивается такое общение человека с машиной ( интерфейс ), которое по своему уровню приближается к общению между собой специалистов, решающих совместную задачу.

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

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

    Оба этих способа обработки информации можно реализовать на любой из ЭВМ, но степень развития ее машинного интеллекта зависит от соотношения между этими способами. Чем более сложные действия может выполнять машина без их детализации со стороны пользователя (в виде последовательностей программных указаний), т. е. чем больше знает машина, как делать (что делать - задает пользователь), тем более высоким является ее интеллект. Следовательно, пользователю на ней легче работать, и вычислительный процесс становится более эффективным.

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

    Исходные программы в соответствии с современной технологией решения задач на машинах пишутся, как правило, на языках высокого уровня, а не на внутренних языках конкретных машин. Поэтому необходим перевод этих программ на внутренние языки машин, осуществляемый с помощью специальных программ - .Но чем более развит внутренний язык в смысле содержания в нем конструкций языков высокого уровня и средств реализации трансляторов, тем проще процесс трансляции и тем ближе полученная в результате рабочая программа окажется к исходной. Особенно это проявляется в том случае, когда исходная программа написана на языке высокого уровня, выражения которого реализованы во внутреннем языке ЭВМ.

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

    Уровень машинного интеллекта отражается и на том, как внутри ЭВМ организован процесс поиска решения задачи.

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

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

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

    Машинный интеллект, развиваясь, постепенно приближает ЭВМ к настоящим системам искусственного интеллекта.

    2.4. Интеллектуальные системы автоматизированного проектирования

    Классические САПР используются в тех случаях, когда при проектировании изделий данного класса накоплен достаточный опыт (рис. 2.2). Интеллектуальные САПР необходимы проектировщикам тогда, когда отсутствуют достаточно проработанные методики проектирования или изделие принципиально новое и требует значительных затрат творческого труда (рис. 2.3).

    Как и всякая другая система искусственного интеллекта, ИСАПР имеет в своем составе базу знаний, в которой хранится вся необходимая для ее работы информация о предметной области,в которой решается задача проектирования. В этой базе знаний собраны и тот опыт, который накоплен проектировщиками, и экспертная информация о возможных путях поискового конструирования - она опирается на методы моделирования рассуждений,типичные для специалистов, которые работают в данной области.

    Общая схема ИСАПР может быть такой, как она показана на рис. 2.3. Когда на вход системы поступает задание на проектирование, которое в ИСАПР может формулироваться на естественном профессиональном языке, оно с помощью естественно-языкового интерфейса и других диалоговых средств понимается системой, уточняется у пользователя и переводится в специальное внутреннее представление. После этого делается попытка свести процесс проектирования к стандартным процедурам, реализуемым в классических САПР. Если эта попытка оказывается безуспешной, то логический блок передает задачу на вход экспертной системы,ориентированной на решение задачи проектирования в данной предметной области. Взаимодействуя с базой знаний и САПР, экспертная система ищет решение задачи. В рамках современных ИСАПР интегрируются различные процедуры, задачи, этапы и уровни проектирования, обеспечивается непрерывный сквозной цикл а втоматизированного проектирования, нач иная от этапа подготовки технического задания и выработки технического предложения и кончая созданием рабочего и технического проектов. Автоматизируются не только рутинные, но и эвристические, и творческие задачи, в частности, процедуры поискового конструирования, структурного синтеза и оптимизации. ИСАПР помогает поддерживать и интенсифицировать творческую активность разработчиков, повышает качество и производительность труда проектировщиков различных категорий, помогая сохранять и тиражировать уникальный проектный (экспертный) опыт и строить интеллектуальный интерфейс между проектировщиком и системой. Человек начинает доверять результатам машинной обработки информации. В результате повышается качество проектируемых объектов, так как увеличивается число просматриваемых вариантов и глубина проработки каждого из них. Сокращаются и сроки проектирования, так как шире используются средства моделирования, ускоряются проектные расчеты и графические работы.

    (рис 2.2) Типовая схема САПР(рис 2.3) Интеллектуальная автоматизированная информационная система

    В процессе работы ИСАПР решаются все основные задачи технического проектирования.

  • Составляется обоснованное техническое задание - это внешнее проектирование.
  • Анализируется техническое задание - это внутреннее проектирование.
  • Проводится концептуальный анализ: выбирается конструктивно-компоновочная схема, анализируется стоимость проекта.
  • Проводятся структурный синтез и оптимизация.
  • Ведется поисковое конструирование (изобретательство).
  • Проект планируется.
  • Конструкции перепроектируются и дорабатываются.
  • Повышается эффективность и качество инженерного анализа благодаря планированию вычислений и обучению пользователя владению пакетом прикладных программ.Проводится имитационное моделирование,выбираются численные методы расчета; результаты контролируются.
  • Проверяется соответствие отраслевым стандартам.
  • Готовятся рабочие чертежи и документация. Каждая из этих задач требует сложного программного и информационного обеспечения. Поэтому ИСАПР - это дорогостоящие и сложные системы, но без них вряд ли возможно создавать такие сложнейшие технические изделия, как современные самолеты или подводные лодки, атомные электростанции или космические корабли.
  • 2.5. Эвристика

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

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

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

    Между навыками и эвристиками нет строгой границы. Говорят, что навык - это еще не сформулированная на уровне словесного описания эвристика.Например, лишь в результате довольно кропотливого психологического эксперимента удалось описать правило для правильного забивания гвоздей. В этом правиле фиксируется и положение глаз (смотреть, оказывается, надо не на шляпку забиваемого гвоздя, а чуть дальше нее, и это "чуть дальше" связано с длиной ручки молотка), и положение руки, держащей молоток. Правило стало эвристикой.Но можно считать (и именно это происходит при профессиональном обучении), что навыки - это эвристики, которые стали автоматическими, вытесненными из сферы сознания. Иначе плотник, каждый раз забивая гвоздь, вспоминал бы эвристику этой операции.

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

    Итак, специфические для человека правила и приемы называются эвристиками,а методы решения задач, опирающиеся на них, - эвристическими методами.

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

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

    Эвристические методы широко применяются в системах искусственного интеллекта ,при управлении сложными системами, в игровых программах и т. п.

    Контрольные вопросы

  • Какие основные функции должна выполнять интеллектуальная система?
  • Поясните структуру интеллектуальной системы.
  • Перечислите и поясните разновидности интеллектуальных систем.
  • Что называют фреймом?
  • Что называют слотом?
  • Что представляют собой продукционные модели?
  • Что называют консультацией?
  • Что понимают под " машинным интеллектом "?
  • Что значит слово "интерфейс"?
  • Что является основой машинного интеллекта?
  • Назовите способы обработки информации.
  • Что представляет собой транслятор?
  • Назовите основные черты машинного интеллекта.
  • Что представляют собой интеллектуальные системы автоматизированного проектирования?
  • Назовите состав интеллектуальной САПР (ИСАПР).
  • Какие задачи технического проектирования решаются в ИСАПР?
  • Что называют эвристикой?
  • Что называют машинным интеллектом "?
  • Что значит слово "интерфейс"?
  • Что является основой машинного интеллекта?
  • Назовите способы обработки информации.
  • Что представляет собой транслятор?
  • Назовите основные черты машинного интеллекта.
  • Что представляют собой интеллектуальные системы автоматизированного проектирования?
  • Назовите состав интеллектуальной САПР (ИСАПР).
  • Какие задачи технического проектирования решаются в ИСАПР?
  • Что называют эвристикой?
  • Вернуться к учебному плану