Общее понятие о системах искуственного интелекта
Теоретическая часть
Искусственный интеллект - это возможность решения задач, которые до сих пор не удавалось решить человеку, машинным способом с помощью программных средств.
Основной проблемой искусственного интеллекта является разработка методов представления и обработки знаний.
К программам искусственного интеллекта относятся:
· игровые программы (стохастические, компьютерные игры);
· естественно-языковые программы - машинный перевод, генерация текстов, обработка речи;
· распознающие программы - распознавание почерков, изображений, карт;
· программы создания и анализа графики, живописи, музыкальных произведений.
Выделяются следующие направления искусственного интеллекта:
· экспертные системы;
· нейронные сети;
· естественно-языковые системы;
· эволюционные методы и генетические алгоритмы;
· нечеткие множества;
· системы извлечения знаний.
Экспертные системы ориентированы на решение конкретных задач.
Экспертные системы впервые появились в области медицины. Возникла идея интеграции знаний экспертов в области медицины или ее отдельных разделов в некоторую электронную форму, которая позволила бы начинающему врачу иметь своеобразного электронного советника при принятии решений по тому или иному врачебному случаю. Выбор области медицины объясняется слишком большой ценой ошибок, которые касаются жизни и здоровья людей. Постепенно от области медицины эта технология распространилась и на другие сферы деятельности человека, например, производство. Технология использования экспертных систем предполагает первоначальное "обучение" системы, т.е. заполнение ее конкретными знаниями из той или иной проблемной области, а потом уже эксплуатацию наполненной знаниями экспертной системы для решения прикладных задач. Эта идеология проявила себя в проекте ЭВМ пятого поколения в части привлечения конечного пользователя к решению своих задач и связана с проблемой автоформализации знаний.
Нейронные сети реализуют нейросетевые алгоритмы.
Делятся на:
Ø сети общего назначения, которые поддерживают около 30 нейросетевых алгоритмов и настраиваются на решение конкретных задач;
Ø объектно-ориентированные - используемые для распознания символов, управления производством, предсказание ситуаций на валютных рынках ит.п.
Ø гибридные - используюемые вместе с определенным программным обеспечением (Excel, Access, Lotus).
Естественно-языковые (ЕЯ) системы (Естественно-языковый интерфейс был наиболее привлекателен для общения с ЭВМ с момента ее появления. Это позволило бы исключить необходимость обучения конечного пользователя языку команд или другим приемам формулировки своих заданий для решения на компьютере, поскольку естественный язык является наиболее приемлемым средством общения для человека. Поэтому работы по созданию такого рода интерфейса начались с середины 20-го века. Однако, несмотря на весь энтузиазм исследователей и проектировщиков, эта задача не решена и по сей день из-за огромных сложностей, связанных с пониманием предложений естественного языка и связного текста в целом. Некоторые программные продукты, которые появлялись на рынке, носили скорее экспериментальный характер, имели множество ограничений и не решали задачу кардинально. Тем не менее, несмотря на кажущийся застой в этой сфере, данная проблема остается актуальной и по сей день и вошла в состав проблематики, связанной с проектом ЭВМ пятого поколения.) делятся на:
Ø программные продукты естественного языкового интерфейса в БД (представление естественно-языковых запросов в SQL-запросы);
Ø естественно-языковой поиск в текстах, содержательное сканирование текстов (используется в поисковых системах Internet, например, Google);
Ø масштабируемые средства распознания речи (портативные синхронные переводчики);
Ø средства голосового ввода команд и управления (безлюдные производства);
Ø компоненты речевой обработки, как сервисные средства программного обеспечения (ОС Windows XP).
Нечёткие множества - реализуют логические отношения между данными. Эти программные продукты используются для управления экономическими объектами, построения экспертных систем и систем поддержки принятия решений.
Генетические алгоритмы - это методы анализа данных, которые невозможно проанализировать стандартными методами. Как правило, используются для обработки больших объёмов информации, построения прогнозных моделей. Используются в научных целях при имитационном моделировании.
Системы извлечения знаний - используются для обработки данных из информационных хранилищ.
Извлечение знаний представляет собой коммуникационный процесс. в котором могут принимать участие эксперт, инженер по знаниям (или, иначе, инженер-когнитолог или просто когнитолог) и программная система. В дальнейшем будем предполагать, что эксперт не является специалистом в области разработки СОЗ и инженер-когнитолог не является экспертом в проблемной области. В действительности возможны ситуации, когда один и тот же человек одновременно совмещает качества эксперта и инженера-когнитолога, но это должно рассматриваться скорее как исключение из правила, а не типичный случай.
Эксперт может быть определен как человек, обладающий исключительными познаниями и практическими навыками (умениями) решения определенного круга проблем в рассматриваемой предметной области В литературе отмечаются следующие необходимые и желательные качества экспертов: эффективность, производительность, понимание, способность обучаться и самообучаться, трактовка противоречий? знание ограничений, способность к объяснениям.
Вербализация является основной функцией, выполняемой экспертом в процессе извлечения знаний, и может рассматриваться как отображение внутреннего, когнитивного уровня знаний эксперта на внешний, лингвистический уровень в рамках следующей трехуровневой модели приобретения знаний.
На когнитивном уровне знания эксперта о проблемной области выражены на языке внутренних, когнитивных структур. На вопрос о том, как жменно представлены знания на когнитивном уровне, как происходит их пополнение и как они «работают» при решении экспертом проблем, Ш настоящее время не существует удовлетворительных ответов, поскольку механизмы и закономерности работы человеческого мозга пока недостаточно изучены .
На следующем, лингвистическом уровне знания и умения эксперта представлены в виде знаковых структур, выраженных в рамках лингвистических примитивов его профессионального языка, и включают в себя нредставления как конкретных элементов реального мира, так и абстрактные понятия и обобщающие категории, описывающие классы сущностей, ©вязей, процессов и т. д.
Если два первых уровня относились к человеку, то третий относится к компьютеру, т. е. к операционализации уже полученных от человека знаний. На этом операциональном уровне знания и умения эксперта, а также знания, полученные из других источников информации, выражаются в рамках некоторого выбранного или сформированного операционального способа представления, реализованного при помощи программных средств.
Выделяют три возможных роли, выполняемые экспертом при вербализации: эксперт как информатор; эксперт как решатель проблем; эксперт как учитель. В первом случае эксперт выполняет функции справочника — отвечает на поставленные вопросы. Вторая роль связана с решением экспертом реальных или модельных задач. Выступая в роли учителя, эксперт эксплицирует не только знания, но и их организацию.
Инженер-когнитолог — относительно новая специальность, появившаяся в результате естественного разделения труда разработчиков СОЗ (выделяют также программистов и менеджеров проекта) и во многом похожая на деятельность системного аналитика (консультанта по принятию решений, постановщика задач) при разработке традиционных программных систем.
Можно выделить две наиболее существенные отличительные черты специальности инженера-копштолога .
Во-первых, инженер-когнитолог должен знать принципы и методы искусственного интеллекта, принятия решений и когнитивной психологии, применяемые при построении СОЗ. Это в первую очередь относится к знанию существующего арсенала методов и программных средств извлечения знаний, способов представления знаний, механизмов логического вывода и программно-инструментальных средств разработки СОЗ, хотя детальное знание последнего пункта в большей степени относится к компетенции программистов.
Вторая существенная отличительная черта профессии инженера-ког-нитолога связана с объемом и типом получаемой информации. Системного аналитика главным образом интересует постановка задачи, требования пользователей и ограничения, предъявляемые к разрабатываемой системе с тем, чтобы в последующем были созданы или подобраны подходящие алгоритмы решения выделенных задач и реализованы в виде традиционной программной системы.
Инженер-когнитолог, помимо такой «постановочной» информации, должен выявить разнообразные знания и умения эксперта, дозволяющие ему решать идентифицированные проблемы. Следовательно, инженер-когнитолог должен обладать знаниями психолога, умением вести беседу с экспертом, знать возможности и ограничения человеческой системы переработки информации. Полученная от эксперта информация должна быть систематизирована и документирована для того, чтобы программисты могли в дальнейшем использовать ее при реализации системы, решающей проблемы так же, как это делает эксперт.
Выделим следующие основные взаимосвязанные функции, выполняв» мые инженером-когиитологом при извлечении знаний: управление, переработка и хранение полученной информации.
Управление процессом извлечения знаний необходимо для выполни ния целенаправленного отбора адекватной информации, т. е. для выяв*ления только тех знаний, которые необходимы для построения СОЗ, и с такой степенью полноты и детальности, которые достаточны для обеспечения необходимого качества работы системы. Управление реализуется в форме последовательности содержательных сообщений (вопросов, заданий), поступающих к эксперту от ицженера-когнитолога в процессе шх коммуникации.
Функция переработки включает в себя всевозможные способы и процедуры анализа поступающей от эксперта и синтеза новой информации, среди которых необходимо отметить следующие: идентификация и кон* струироваиие терминов и понятий; выяснение и фиксация их смыслового содержания; выявление и установление различных видов отношений меж* ду лексическими элементами, например таких, как синонимия, омонимия, обобщение/конкретизация, часть/целое и т. д.; различные видыпроверок информации на полноту и непротиворечивость; формирование моделей экспертизы и т. д.
Функция хранения заключается в запоминании, выборке и документировании полученной от эксперта и синтезированной информации.
Программные средства, рассматриваемые как партнер, участвующий в процессе извлечения знаний, в настоящее время не могут полностью заменить инженера-когнитолога на всем цикле разработки и используются для поддержки его деятельности, позволяя в различной степени автоматизировать функции хранения и анализа информации и, реже, функцию управления.
Программные средства, используемые при извлечении знаний, могуя быть разбиты на три категории: вспомогательные программы, системн -извлечения знаний и системы приобретения знаний. К группе вспомогательных программ, используемых при извлечении экспертных знаний, могут 5ыть отнесены различные текстовые процессоры, системы управления базами данных, программы анализа данных, обеспечивающие раз личные виды переработки и хранения информации.
Системы извлечения знаний характеризуются тем, что их основной функцией является управление процессом извлечения знаний. Системы приобретения знаний обеспечивают выполнение более широкого набора функций. Их обобщенная архитектура включает: блок извлечения знаний; средства автоматизированного анализа текстов; обучающие алгоритмы; системы представления и управления данными и знаниями; подсистемы выбора операционального формализма представления знаний и инструментальных средств разработки; блок компиляции и преобразования информации в различные представления; подсистему генерации отчетов и .документации.
Можно выделить три возможных режима взаимодействия участников процесса извлеч >ния знаний, отражающих ётенень его автоматизации: ручной, нолуавт >матизированный и полностью автоматизированный ре шимы. В ручном режиме функции управления, переработки и хранения шнформации полностью выполняет инженер-когнитолог.
В полуавтоматизированном режиме некоторые из этих функций выполняет программная система, пользователем которой, как правило, является инженер-когнитолог. В третьем, полностью автоматизированном режиме все функции инжеиера-когнитолога в течение некоторого периода времени выполняет программная система, которая ведет непосредственный диалог с экспертом» В этом случае предъявляются повышенные требования к организации дружественного человеко-машинного интерфейса,-
В реальных ситуациях при разработке конкретных СОЗ извлечение знаний в разные моменты времени может выполняться в разных режимах. При этом отмечается определенная закономерность, связывающая этапы разработки СОЗ, на которых выполняется извлечение знаний, и доминирующий режим взаимодействия участников работы. В настоящее время на ранних этапах разработки преобладает рутинный режим, на заключительном этапе полностью автоматизированный режим оказывается предпочительней.
Практическая чаcть
Моделирование таблиц умножения и сложения
Прогнозирование выборов призидента страны
Прогноз абсолютных победителей мира по легкой атлетике – бег на 100 метров(список кандидатов показан в таблице1.)
Имя спортсмена | возраст | рост | вес | Мускулатура | Страна | Стартовая реакция | Раса | Начало спортивной карьеры |
Д. Гетмен | ||||||||
У.Болт | ||||||||
Н. Картер | ||||||||
К. Лемер | ||||||||
Й.Блейк | ||||||||
Т.Гэй | ||||||||
К.Коллинз |
Проектирование сети
Обучение сети
Рисунок 2
Данные для обучения
Имя спортсмена | возраст | рост | вес | Мускулатура | Страна | Стартовая реакция | Раса | Начало спортивной карьеры |
Д. Гетмен | ||||||||
У.Болт | ||||||||
Н. Картер | ||||||||
К. Лемер | ||||||||
Й.Блейк | ||||||||
Т.Гэй | ||||||||
К.Коллинз | ||||||||
Д. Гетмен | ||||||||
У.Болт | ||||||||
Н. Картер | ||||||||
К. Лемер | ||||||||
Й.Блейк | ||||||||
Т.Гэй | ||||||||
К.Коллинз | ||||||||
Д. Гетмен | ||||||||
У.Болт | ||||||||
Н. Картер | ||||||||
К. Лемер | ||||||||
Й.Блейк | ||||||||
Т.Гэй | ||||||||
К.Коллинз | ||||||||
Д. Гетмен | ||||||||
У.Болт | ||||||||
Н. Картер | ||||||||
К. Лемер | ||||||||
Й.Блейк | ||||||||
Т.Гэй | ||||||||
К.Коллинз | ||||||||
Д. Гетмен | ||||||||
У.Болт | ||||||||
Н. Картер | ||||||||
К. Лемер | ||||||||
Й.Блейк | ||||||||
Т.Гэй | ||||||||
К.Коллинз | ||||||||
Д. Гетмен | ||||||||
У.Болт | ||||||||
Н. Картер | ||||||||
К. Лемер | ||||||||
Й.Блейк | ||||||||
Т.Гэй | ||||||||
К.Коллинз |
Проверка обучения
Рисунок 3
Составление прогноза
Рисунок 4
По прогнозу чемпионата мира по легкой атлетике в беге на 100 метров «золото» возьмет Усейн Болт