Список форумов Проектирование информационных систем Проектирование системы Интеллектуальные компьютерные системы

Интеллектуальные компьютерные системы

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

Сообщения: 54

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

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

Термин искусственнный интеллект (artificial intelligence) предложен в США в 1956 г. Как отрасль науки искусственный интеллект сразу же разделился на два основных направления: нейрокибернетику и кибернетику "черного ящика". Сейчас наметилась тенденция к объединению этих частей вновь в единое целое.

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

Первые нейросети были созданы в конце 50-х гг. американскими учеными. Это были попытки создать системы, моделирующее человеческий глаз и его взаимодействие с мозгом. Устройство умело различать буквы алфавита, но было чувствительно к их написанию. Постепенно в 70-80 гг. количество работ по этому направлению искусственного интеллекта стало снижаться. Авторы объясняли неудачи малой памятью и низким быстродействием существовавших в то время компьютеров.

В середине 80-х гг. в Японии в рамках проекта разработки компьютера V поколения, основанного на знаниях, был создан компьютер VI поколения или нейрокомпьютер. К этому времени ограничения по памяти и быстродействию были практически сняты. Появились транспьютеры - параллельные компьютеры с большим количеством процессоров. Они стали основой нейрокомпьютеров, моделирующих структуру мозга человека. Основная область применения нейрокомпьютеров - распознавание образов.

В настоящее время используются три подхода к созданию нейросетей:

- аппаратный - создание специальных компьютеров, плат расширения, наборов микросхем;

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

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

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

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

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

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

В России в 60-80 гг. получает развитие новая наука - ситуационное управление (соответствует представлению знаний в западной терминологии). Разработаны специальные модели представления ситуаций - представления знаний. Функционирует ассоциация искусственного интеллекта. Уровень теоретических исследований по искусственному интеллекту в России не ниже мирового при прогрессирующем отставании в технологии.

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

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

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

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

Распознавание образов - традиционное направление искусственного интеллекта. Каждому объекту ставится в соответствие матрица (таблица) признаков, по которой происходит его распознавание. Это направление близко к машинному обучению, тесно связано с нейрокибернетикой.

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

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

Специальное программное обеспечение - разработка специальных языков для решения невычислительных задач. Эти языки ориентированы на символьную обработку информации - LISP, PROLOG, SMALLTALK и др. Помимо этого создаются пакеты прикладных программ, ориентированные на типовую разработку интеллектуальных систем, или программные инструментарии искусственного интеллекта, например KEE, ARTS. Популярно создание так называемых пустых экспертных систем, или "оболочек", - EXSYS, M1 и др., в которых можно наполнять базы знаний, создавая различные системы.

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

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

Знания - это выявленные закономерности предметной области (принципы, связи, законы).

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

Знания могут быть классифицированы по следующим категориям:

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

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

Современные экспертные системы работают в основном с поверхностными знаниями.

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

Существует множество моделей (или языков) представления знаний для различных предметных областей. Большинство из них может быть сведено к следующим классам:

- продукционные модели;

- семантические сети;

- фреймы;

- формальные логические модели.

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

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

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

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

Семантическая сеть содержит вершины (узлы) - понятия и дуги - отношения между ними. Понятия - это обычно абстрактные или конкретные объекты, а отношения - связи типа: "это" (is), "имеет частью" (has part), "принадлежит" и т.д.

Проблема поиска решения в базе знаний типа семантической сети сводится к задаче поиска фрагмента сети.

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

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

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

Модель фрейма достаточно универсальна.

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

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

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

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

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

Обобщенная структура экспертной системы, основные понятия и определения.

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

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

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

База знаний (БЗ) - ядро ЭС, совокупность знаний предметной области, записанная на машинный носитель в форме, понятной эксперту и пользователю (обычно на некотором языке, приближенном к естественному). Параллельно такому "человеческому" представлению существует БЗ во внутреннем "машинном" представлении.

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

Подсистема объяснений - программа, позволяющая пользователю получать ответы на вопросы: "Как была получена рекомендация?" и "Почему система приняла такое решение?".

Интеллектуальный редактор БЗ - программа, предоставляющая инженеру по знаниям возможность создавать БЗ в диалоговом режиме.

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

Экспертные системы классифицируют по различным критериям.

Классификация ЭС по решаемой задаче.

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

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

Мониторинг - непрерывная интерпретация данных в реальном масштабе времени и сигнализация о выходе тех или иных параметров за допустимые пределы.

Проектирование - подготовка документов на создание объектов, процессов с заранее определенными свойствами.

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

Планирование - нахождение планов действий применительно к моделям поведения реальных объектов.

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

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

Классификация ЭС по связи с реальным временем.

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

Квазидинамические ЭС интерпретируют ситуацию, которая меняется с некоторым фиксированным интервалом времени.

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

Классификация по степени интеграции с другими программами.

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

Гибридные ЭС представляют программный комплекс, агрегирующий стандартные пакеты прикладных программ (например, математическую статистику, СУБД и др.) и средства манипулирования знаниями.

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

Инструментальные средства построения экспертных систем.

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

Языки искусственного интеллекта - прежде всего Лисп (LISP) и Пролог (Prolog). Универсальность этих языков меньшая, чем традиционных языков. Это компенсируется большими возможностями по работе с символьными и логическими данными, что крайне важно для задач искусственного интеллекта.

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

"Оболочки" (shells) - "пустые" версии существующих экспертных систем, т.е. готовые экспертные системы без базы знаний. Достоинство оболочек в том, что они вообще не требуют программистов для создания готовой экспертной системы. Требуется только специалист(ы) в предметной области для заполнения базы знаний. Однако, если некоторая предметная область плохо укладывается в модель, используемую в оболочке, заполнить базу знаний в этом случае весьма непросто.

Вернуться в Проектирование системы

cron

Информационные системы для АТП


Яндекс.Метрика