Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Основы построения САПР и АСТПП

..pdf
Скачиваний:
9
Добавлен:
12.11.2023
Размер:
6.91 Mб
Скачать

2)создание ПО с динамическим распределением ресурсов памяти. Тогда легко удовлетворить требования переноса ПО с больших ЭВМ на мини- и микроЭВМ. При этом изменяются только количественные характеристики САПР;

3)использование для написания ПО языка высокого уровня, транслятор с которого входит в системное обеспечение макси­ мального числа типов ЭВМ. В качестве такого языка может быть выбран ФОРТРАН-66 или ФОРТРАН-77. Программы, на­ писанные с помощью этих языков, уже доказали свою мобиль­ ность;

4) применение макросов — средства для замены одной последовательности символов другой. Компонент программного обеспечения ЭВМ, обеспечивающий функционирование макро­ сов, называется макропроцессором. Макропроцессор просматри­ вает исходный текст программы, написанный, например, на ФОРТРАНе, не заменяя операторов, являющихся обычными операторами языка. Если макропроцессор встречает специаль­ ный оператор, являющийся вызовом макроса, то этот оператор заменяется последовательностью операторов, заранее написан­ иих и помещенных в библиотеку макроопределений. Оператор вызова макроса может иметь параметры, с помощью которых заменяющий текст модифицируется в зависимости от конкрет­ ного замысла программиста. Обработанный макропроцессором текст программы затем транслируется как обычный текст на языке ФОРТРАН. Сам микропроцессор может программиро­ ваться на ФОРТРАНе, и перенос макропроцессора не представ­ ляет труда.

f3.6. ВОПРОСЫ ОСВОЕНИЯ

ИДАЛЬНЕЙШЕГО РАЗВИТИЯ САПР ИЭТ

Вопросы поддержания работоспособности и освоения САПР имеют крайне важное значение для ее эффективного использо­ вания в качестве инструмента проектирования. Поэтому при обучении пользователей САПР необходимо придерживаться определенной методики. Практика создания и использования САПР показывает, что к обучению более восприимчив молодой пользователь. Наибольшие успехи достигаются там, где обу­ чающийся работает в контакте с ЭВМ 3/ч времени обучения. Усваиваемость повышается при освоении САПР, реализованной на интерактивно-графических станциях, поддерживающих ре­ жим диалога. Наиболее удобно обучать пользователей, разбив их на пары. Один выполняет функции оператора, другой — наблюдателя. Через некоторое время они меняются ролями. Наблюдение за оператором — важная часть обучения, так как наблюдающий не отвлекается на нажатие клавиш или манипу­ лирование световым пером, поэтому быстрее и легче разбира­

81

ется в деталях процесса проектирования. Обучение пользовате­

ля проходит

через три фазы.

П е р в а я

ф а з а —детальное ознакомление с правилами

подготовки исходных данных и директивами управления ходом проектирования. Контакт с ЭВМ на этой фазе может прово­ диться в конце периода ознакомления. Требуется несколько выходов на ЭВМ для закрепления навыков подготовки входной информации.

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

ную САПР, или разработчика САПР.

стратегии проектирова­

Т р е т ь я ф а з а — освоение общей

ния и всего маршрута проектирования,

реализованного в дан­

ной САПР.

 

Для успешного проведения некоторых проектных процедур

спомощью САПР достаточно среднетехнического образования

изнаний основ информатики и программирования.

Рассмотрим предполагаемые пути развития трех составляю­ щих САПР: технических средств, системного программного и прикладного программного обеспечений.

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

Второе направление —создание очень малых по габаритам

иочень мощных по ресурсам супермини-ЭВМ, интерактивно­ графических станций. Эти ИГС, приближенные к пользователю

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

Третье направление —объединение ЭВМ этих двух классов в сети локального, регионального и общесоюзного значения. Наличие сетей ЭВМ снимает проблему внедрения САПР, пере­ распределения вычислительных ресурсов, позволяет расширить область применения САПР.

Системное программное обеспечение. Будет происходить пе­ рераспределение функций САПР и операционных систем, т. е. все большее количество функций управления и сопровождения маршрута прохождения проекта будет включаться в ОС. Опе­ рационные системы, в свою очередь, будут специализироваться только на обслуживание САПР или только на обслуживание задач АСУ, АСНИ или АСТПП и т. д. С помощью специализи­ рованных ОС можно создавать заказные САПР, т. е. ОС по

82

определенному закону, введенному заказчиком-пользователем, будет собирать требуемую САПР, например САПР печатных плат, САПР телевизионных конструкций, САПР блоков ЭВМ и др.

Прикладное программное обеспечение. В условиях дальней­ шего совершенствования численных методов решения задач проектирования и технологии производства ИЭТ наиболее перспективное и эффективное направление развития приклад­ ного ПО — аппаратурная реализация проблемно-ориентирован­ ных модулей. При этом, например, программа решения квадрат­ ного уравнения реализуется в виде электрической схемы или, например, программа решения систем алгебраических уравне­ ний реализуется в виде БИС.

Рассматривая различные классы САПР и тенденции их развития, сформулируем требования к перспективной САПР: 1) обеспечение автоматической генерации информации о проек­ те, пригодной для разных устройств проектирования; 2) воз­ можность использования языков высочайшего уровня, близких к естественному языку общения; 3) адаптация интерактивных систем взаимодействия разработчик — ЭВМ к нуждам пользо­ вателя; 4) возможность доступа к информации при одновре­ менной защите файлов от разрушения; 5) наличие автоматизи­ рованных банков данных; 6) простота обслуживания системным специалистом; 7) быстрота настройки на требуемый проект.

9 3.7. ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ И ЭКСПЕРТНЫЕ СИСТЕМЫ

Искусственный интеллект (ИИ) является результатом и продолжением работ в областях построения искусственного моз­ га, кибернетических машин и представления знаний. Основопо­ лагающие работы в указанных областях принадлежат Винеру (основатель кибернетики), Шеннону, Тьюрингу и др.

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

Построение кибернетических машин шло более успешно. Была уже создана теория вычислительных систем, началось применение ЭВМ для решения практических задач. Характер­ ная черта кибернетических машин (или специальных техниче­ ских систем, или программно-реализованных на ЭВМ)— само­ обучение, т. е. свойство накапливать знания. Примерами данно­ го типа машин могут служить «мышь Шеннона», «машины

83

Тьюринга» и машинные шахматы. Широкое практическое при­ менение кибернетические машины нашли в построении совре­ менных вычислительных систем, в частности реализованных на БИС.

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

Рис. 3.18. Области исследования искусственного интеллекта

ских задач, требуют мышления, т. е. интеллекта. Почти все автоматизированные системы (АСУ, АСУТП, САПР, АСТПП и др.) обладают в некотором смысле искусственным интеллек­ том. Поэтому работа по построению таких систем находится в области задач по созданию искусственного интеллекта.

Задачи искусственного интеллекта. Выделим четыре основ­

ные

области

исследования

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

(рис. 3.18).

о б л а с т ь и с с л е д о в а н и й касается исследо­

П е р в а я

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

84

методы и приемы искусственного интеллекта. Наибольший практический прогресс систем искусственного интеллекта дан­ ного направления был достигнут в обработке языков програм­ мирования, общения. Например, система кодирования в декоди­ рования сообщений между центром управления и ракетой, или система перевода газеты «Правда» на английский язык.

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

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

решения которых могут

привлекаться методы искусственного

интеллекта.

и с с л е д о в а ни й включает все иссле­

Т р е т ь я о б л а с т ь

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

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

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

85

Существующие компиляторы уже осуществляют в некотором смысле автоматическое программирование. Они воспринимают полное описание того, что программа должна делать во входном коде, и пишут программу, которая это делает в объектном коде.

Программа, записанная на любом из языков программирова­ ния, называется исходным модулем или исходной программой.

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

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

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

Задачи экспертных систем. Любое действие в поведении ра­ зумного человека осуществляется им после некоторого размыш­ ления и принятия решения. Этот процесс называется «проведе­ нием экспертизы». Чаще всего в этом случае участвует один эксперт — сам человек. Чем важнее и сложнее принимаемое ре­ шение, тем большее количество экспертов привлекается. Напри­ мер, педагогический совет в школе и техникуме, совет директо­ ров, Совет Министров СССР и т. д.

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

86

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

Данный этап длительной и дорогостоящий из-за высоких требований к эксперту. Идеальный эксперт должен обладать следующими способностями: решать творческие задачи, метод решения которых полностью или частично неизвестен; видеть или создавать неочевидные проблемы; делать заключения об исследуемом объекте без осознания пути движения мысли к это­ му заключению; предсказывать или предчувствовать будущие состояния исследуемого объекта; противопоставлять предубеж­ дениям и массовым мнениям свое собственное; видеть проблему с различных точек зрения. Подобрать группу равноценных экс­ пертов, обладающих всеми этими способностями, технически сложно.

Для упрощения процесса применения экспертных оценок и удешевления данной процедуры были созданы автоматизирован­ ные экспертные системы (ЭС). Основой ЭС является обширный запас знаний о конкретной проблемной области. В большинстве случаев эти знания организуются как некоторая совокупность правил, позволяющих делать заключение на основе исходных данных или предположений. Такой подход к созданию систем из­ меняет соотношение ДАННЫЕ+АЛГОРИТМ = ПРОГРАММА на ЗНАНИЯ + ВЫВОД = СИСТЕМА.

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

Общая структура ЭС показана на рис. 3.19. Экспертная си­ стема состоит из четырех основные компонентов: модуля усвое­ ния знаний; базы знаний; машины логического вывода; человекомашинного интерфейса или системы объяснений. Такая структу­ ра ЭС обусловлена организацией программ, которая отлична от организации обычных пакетов программ. С традиционных пози­ ций программа представляет собой процедуру и данные, а экс­

пертные системы являются

системами,

направляемыми базами

данных.

з н а н и й ,

являющихся самым доро­

М о д у л ь у с в о е н и я

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

Б а з а з н а н и й (БЗ) содержит факты (или утверждения) и правила. Факты представляют собой краткосрочную информа­ цию, так как они могут изменяться. Правила — более долговре­

87

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

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

ет, какие факты считаются справедливыми

в настоящее

время,

важна форма представления этой информации.

 

 

 

 

Процедура — это знания, которые собираются заранее путем

 

опроса

специалистов

в

 

данной

предметной об­

 

ласти и составляют яд­

 

ро

базы знаний. Про­

 

цедуры

используются

 

также в блоке рассуж­

 

дения

системы,

позво­

 

ляя

выводить

следст­

 

вия. Процедурные зна­

 

ния дают

возможность

 

генерировать факты.

 

 

Управление — зна­

 

ния, необходимые для

 

выработки

определен­

 

ной стратегии и перехо­

 

да

от одной стратегии

 

поиска ответа к другой.

 

Знания

об управле­

 

нии не воплощены в ка­

 

кую-то

программу,

а

 

представляют

собой

 

данные для интерпрета­

 

тора высокого уровня,

Рис, 3.19. Структура экспертной системы

а именно машины логи­

 

ческого вывода.

 

 

М а ш и н а л о г и ч е с к о г о в ы в о д а

в действительности

является программой или комплексом

программ, обеспечиваю­

щим выбор последовательности «рассуждений» для достижения цели, т. е. заключения по частной проблеме. Известно несколько схем логического вывода: прямая цепочка рассуждений, обрат­ ная цепочка рассуждений и схема, сочетающая достоинства двух предыдущих подходов. Прямая цепочка подразумевает рассуждения, идущие от имеющихся данных к определенному умозаключению, гипотезе. Обратная цепочка подразумевает рассуждения, необходимые для получения данных, подтвержда­ ющих или опровергающих поставленные ранее гипотезы. Харак­ терная особенность используемых данных — ненадежность, не­ определенность, расплывчатость нечеткость.

88

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

Пользователь

Пользователь

Рис. 3.20. Структура взаимодействия учителя, ученика и пользователя

Рассмотрим работу ЭС (рис. 3.20). Существует три режима взаимодействия пользователя с ЭС, когда пользователь выступа­ ет в качестве: 1) потребителя, если ему необходимо получить решение поставленных задач; 2) учителя, если он «обучает» ЭС, 3) ученика, если он знакомится с предметом на основе общения с базой знаний.

Основной задачей экспертных систем является помощь специалистам за счет использования знаний о проблемной области, полученных из самых раз­ нообразных источников: книг, статей, экспертов (Э) и т. д. Таким образом, в ЭС хранится коллективный опыт, накопленный в данной проблемной обла­

сти, например в телевизионной технике. Экспертные системы

выступают в

качестве консультантов, когда специалист обращается

к ним

за помощью.

Задача экспертной системы — объяснить пользователю

непонятное для него

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

вкоторых пока невысок уровень формализации накопленных знаний. Именно

вэтих областях опыт специалиста, слагающийся из знаний, почерпнутых во

89

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

Экспертная система и информационное обеспечение. Основ­ ное назначение эксперта —дать вполне надежные выводы по не­ полной информации и при отсутствии строгих правил (примером которых могут служить точные науки) ее описания. Несмотря на субъективный характер знаний эксперта, они очень ценны, по­ скольку содержат все, что хотя бы частично осознанно, но еще не сформулировано в строгой форме. Специфическая особен­ ность ЭС, отличающая ее принципиально от других программных систем, состоит в том, что экспертная система в качестве интел­ лектуальной основы должна хранить сведения, недостаточно формализованные, имеющие отпечаток субъективности в выра­ жении и интуитивности в приемах использования знаний отдель­ ных экспертов. В этом отличие экспертных систем прежде всего от подсистем обработки данных в информационном обеспечении САПР, хотя цели обоих видов систем совпадают. В подсистеме САПР обработки данных основные алгоритмы обработки бази­ руются на классическом математическом аппарате и их програм­ мная реализация не вызывает сложностей, а представление фраг­ ментарных, не «систематизированных по форме выражения» знаний эксперта, требует не только и не столько труда про­ граммиста, сколько больших усилий специалиста по формализа­ ции знаний.

Экспертная система и лингвистическое обеспечение. Эксперт­ ная система имеет дело с декларативными знаниями. Деклара­ ция, конечно, не создает полноты знания. В тех случаях, когда надо решить конкретную задачу, выбирают процедурные знания (вычислительные методы).

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

Процедурные языки позволяют программировать лишь с помощью ин­ струкций и данных, к которым применяется инструкция. В результате тексты носят инструктивный характер: «Делай так или иначе в зависимости от про­ верки условий».

П е р в ы м п о д х о д о м в логическом программировании не­ процедурного типа было создание языка ПРОЛОГ. Основная идея этого языка состоит в записи условий задачи, а не процесса решения. Решение получается путем логического вывода цели из посылок, определенных условиями задачи.