Системы искусственного интеллекта: Рабочая программа, методические указания и задание на контрольную работу [В. Ю. Яньков] (doc) читать онлайн

Книга в формате doc! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]

Министерство образования Российской Федерации
Московская Государственная Технологическая Академия
Кафедра информационных технологий.


Информ-25.03.2102.зчн.плн
Информ-25.03.2102.зчн.скр


СИСТЕМЫ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА

РАБОЧАЯ ПРОГРАММА, МЕТОДИЧЕСКИЕ
УКАЗАНИЯ И ЗАДАНИЕ НА КОНТРОЛЬНУЮ РАБОТУ
для студентов специальности 210.200 “Автоматизация технологических процессов”.
заочной и сокращенной заочной формы обучения






Москва 2003


Системы искусственного
интеллекта
Цель изучения дисциплины
Целью дисциплины «Системы искусственного интеллекта» является изучение методов, компьютерных программ и пакетов для разработки на ЭВМ систем искусственного интеллекта в пищевой промышленности .
Задачи изучения дисциплины
Иметь представление: О математических, логических основах и структуре СИИ, об архитектуре и методах проектирования СИИ, о создании баз знаний и экспертных систем.
Приобрести навыки: составления алгоритмов, элементов баз знаний, и мат. моделей СИИ, их имитационного моделировании на ЭВМ в пакете «МАТКАД»,формализации, постановки и реализации на ЭВМ производственных систем искусственного интеллекта.
Организационно - методические данные.



Часы



Спец
Курс
Всего
в том
числе
зачет
контрольная


аудит.
лекции
лаб. раб.

работа
2102 зфо
5
18
8
8
1
1
2102 сфо
3
12
6
6
1
1


РАБОЧАЯ ПРОГРАММА
Тема 1. Введение.
Что такое искусственный интеллект? Определение, необходимость применения в системах управления, особенности систем искусственного интеллекта (СИИ).
Тема 2.Математический аппарат, используемый в системах искусственного интеллекта.
Среды и агенты. Логика высказываний. Логика предикатов. Вывод в логике предикатов. Нечеткие знания и рассуждения. Планирование действий.
Тема 3.Дедуктивные базы данных.
Реляционные базы данных. Реляционная алгебра. Ее основные соотношения.
Тема 4. Разработка систем искусственного интеллекта. Архитектура систем искусственного интеллекта. Механизм вывода – средство машинного мышления. Прямая цепочка рассуждений. Обратная цепочка рассуждений.
Тема 5.Проектирование систем искусственного интеллекта.
Этапы проектирования. Инструментальные средства для разработки систем искусственного интеллекта.

Тема 6.Реальные системы искусственного интеллекта.
Интеллектуальная система планирования производства. Интеллектуальная система диспетчерского управления производством. Интеллектуальные системы управления и регулирования технологическими процессами. Интеллектуальная система диагностирования состояния технологических объектов.
Тема 7. Программирование задач СИИ в МАТКАДЕ.
Основы программирования в Маткаде. Программирование задач исчисления высказываний. Программирование задач исчисления предикатов.
Программирование баз данных в Маткаде.


Литература.
1. В.В.Девятков. Системы искусственного интеллекта. Москва. Издательство МГТУ им. Н.Е.Баумана.2001
2. Р.Левин, Д. Дранг, Б. Эделсон. Практическое введение в технологию искусственного интеллекта и экспертных систем. Москва, Финансы и статистика, 1998.
3. Р. А. Алиев, Н. М. Абдикеев, М. М. Шахназаров. Производственные системы с искусственным интеллектом. Москва, Радио и связь,1998
МЕТОДИЧЕСКИЕ УКАЗАНИЯ.
Тема 1. Введение.
Что такое искусственный интеллект? Большинство промышленных объектов представляют собой сложные динамические системы, подверженные действию многих внешних и параметрических возмущений. Процессы в этих объектах сравнительно мало изучены и предсказуемы с невысокой вероятностью, что приводит к большим трудностям при их описании. Поэтому для ряда промышленных объектов реализация выгодных технологических режимов классическими средствами и законами регулирования оказалась невозможной.
Развитие вычислительной техники явилось объективной предпосылкой для перехода к качественно новому классу систем – систем искусственного интеллекта (СИИ).
Системы искусственного интеллекта стали важнейшей составной частью в технологии современных производств. Рассмотрим основные соображения в пользу этого.
Главная проблема, стоящая перед предприятием (в смысле управления), - это проблема преодоления сложности. Как изве­стно, сложности управления возникают тогда, когда приходится делать выбор из множества возможных решений. Это может быть инженерный выбор решения (как проектировать данное изделие), выбор расписания (как это изделие производить) и т. д.
Данная проблема обостряется в случае гибких производствен­ных систем. Добавление гибкости приводит к увеличению числа альтернатив и, следовательно, возможных вариантов производст­ва изделий. Уже сегодня составление расписания этапов производства изделий на «жестком» программном обеспечении пред­ставляет большие трудности. Усложнение самих изделий также ведет к усложнению проектирования.
Управление производством требует обработки большого объе­ма информации. Проблема получения информации с объектов, функционирующих в реальном масштабе времени, в настоящее время решена. Но это породило другую проблему: как уменьшить долю информации до того уровня, который действительно необ­ходим для принятия решения индивидуумом? В то же время сле­дует отметить, что потеря информации, поступающей от объек­тов, работающих в реальном масштабе времени, может сущест­венно сказаться на конечном результате.
Нехватка времени на принятие решения — еще одна проблема, которая проявляется ,по мере усложнения производства. Не менее важна и проблема координации. Известно, что проектирование неразрывно связано с производством, распределением и вспомогательными областями. Если проектирование не оптимально по отношению к стадиям производства, складирования, распределе­ния или вспомогательному производству, то это может увеличить цену производства и снизить качество изделий.
И, наконец, очень важный фактор — необходимость сохране­ния и распределения знаний отдельных опытных экспертов, по­лученных ими в процессе многолетней работы и большого практи­ческого опыта. Проблема извлечения знаний и их распределе­ния- сегодня одна из главных проблем производственных ор­ганизаций.
Таким образом, видим, что все перечисленные выше условия реализации идеи автоматизации интеллектуальной деятельности человека в производственных системах управления безусловно выполняются.
Что же такое все – таки такое искусственный интеллект?
Приведем несколько высказываний, встречающихся в зарубежной и отечественной литературе и связанных с определением искусственного интеллекта.
«Автоматизация деятельности, которую мы ассоциируем с человеческим мышлением, такой как принятие решений, решение задач, усвоение знаний» (Р. Беллман, 1978 г.).
«Теория эвристического поиска и вопросы создания решателей задач, относящихся к разряду творческих или интеллектуальных «(Г. С. Поспелов, 1986 г.).
«Система, которая способна находить оригинальные и эффективные ответы, часто неожиданные как для пользователя и конструктора ЭВМ, так и для составителя программ, по которым работает машина» (А. Г. Ивахненко, 1986 г.).
«Область исследования, которая пытается понять и моделировать разумное поведение в терминах вычислительных процессов» (R. J. Schalkoff, 1990 г.).
«Исследование того, как заставить компьютеры делать вещи не хуже людей» (Е. Rich and К. Knigpt, 1991 г.).
Этот список можно продолжить. Если считать, что все эти высказывания или определения относятся к неким системам, обладающим искусственным интеллектом, то можно заметить, что все они так или иначе связывают искусственный интеллект с умением рассуждать и действовать (принимать решения) на основании этих рассуждений.
Тема 2.Математический аппарат, используемый в системах искусственного интеллекта.
Искусственный интеллект занимается созданием интеллектуальных сущностей, объектов, которые принято называть агентами или носителями.
Агент воспринимает внешнюю среду с помощью датчиков x 1,x2 ,….,x m и воздействует на нее посредством исполнительных органов z1,z2,….,zn , подобно тому, как человек воспринимает внешнюю среду или просто среду с помощью органов чувств и воздействует на нее с помощью таких частей тела, как руки, ноги и т.п. В понятия датчиков и исполнительных органов закладывают самый широкий смысл. Например, датчиком может быть некий аналог уха, воспринимающий речевые сообщения, а исполнительным органом — органы речи, позволяющие передавать сообщения на каком-либо языке. Обычно воздействие агента на среду называют реакцией, а восприятие агентом среды - восприятием. Если каждый исполнительный орган z j сопоставить с одноименной выходной переменной zj, принимающей множество значений γj , и каждое такое значение назвать микрореакцией, то реакция будет представлять собой набор значений γ 1, γ2, ….γn . Аналогично, если каждый датчик хi сопоставить с одноименной входной переменной хi , принимающей множество значений αi, называемых микровосприятиями, то восприятие будет представлять собой набор значений α1, α2,… αm . Поведение агента состоит в переработке восприятий в реакции. Эта переработка осуществляется агентом с помощью специального решателя, функционирующего на основе заложенных в него знаний. Не существует какой-либо общепринятой классификации агентов. В зависимости от сложности решаемых задач выделим следующие четыре типа агентов: комбинационные; последовательностные; целенаправленные, целевыбирающие.
Поведение комбинационного агента внешне выглядит достаточно простым. В определенный момент времени t агент получает с датчиков x 1..., х m восприятие α1 ,α2,…., αm, характеризующее состояние среды. На основании только этого восприятия и неизменяемых в процессе всего существования агента знаний, хранящихся в его памяти, он в этот же момент времени с помощью исполнительных органов z 1, z2,…,zn формирует реакцию γ 1, γ2, ….γn . Конечно, при практической реализации агента на формирование реакции по данному восприятию требуется время, но теоретически считается, что все происходит мгновенно в момент времени t, и этот момент времени нас может даже не интересовать. Существенно лишь то, что комбинационный агент не порождает новые знания. Каждый раз, когда надо вырабатывать очередную реакцию по вновь поступившему восприятию, он использует одни и те же знания, хранящиеся в его памяти.
Агентов, которые используют запомненную в предыдущие моменты времени информацию, называют последовательностными.
Поведение целенаправленного агента принципиально отличается от комбинационного и последовательностного, поскольку их поведение основано на восприятиях в настоящий или предыдущий момент времени и использовании правил, учитывающих только эти восприятия или производные от них состояния. Целенаправленный же агент прежде, чем принять решение, на основании известной ему цели (в нашем примере места назначения и времени, к которому он туда должен прибыть) заранее планирует свои реакции. Иными словами, на основании имеющихся у него правил агент заранее до того, как он начнет действовать, пытается построить план, гарантирующий ему достижение цели, или обнаруживает, что такого плана не существует. В случае обнаружения недостижимости цели он может запросить дополнительные правила и продолжить или повторить процесс поиска. План является последовательностью пар восприятие - реакция (или только реакций), называемых также действиями и ведущих к цели. Если план найден, то целенаправленный агент его выполняет и достигает цели.
Таким образом, решатель целенаправленного агента использует не раз и навсегда данное ему множество правил, предписывающих, какие реакции выдавать в ответ на восприятия, а всякий раз для каждой вновь возникающей цели порождает план достижения именно этой цели. Исходными для работы такого решателя могут быть также правила, описывающие не реакции агента на конкретные восприятия, а некие общие законы его поведения в среде, законы поведения самой среды и законы порождения планов достижения целей.
Целевыбирающий агент, помимо возможности построения планов достижения целей, так же, как это делает целенаправленный агент, способен на большее. Во-первых, при наличии одной цели он может выбирать из множества всех конкурирующих планов достижения цели наилучший, иногда и без полного построения всех планов.Во-вторых, при наличии нескольких конкурирующих целей, достижение каждой из которых заранее нельзя оценить с полной уверенностью, он способен определить степень успеха достижения каждой цели в зависимости от ее важности. В- третьих, на основании предшествующего опыта, он может обучаться и корректировать или пополнять свои знания.
Агент всегда функционирует в некоторой среде. От свойств конкретной среды зависит выбор типа агентов и всего, что ему необходимо для успешного функционирования в этой среде.
Рассмотрим в общих чертах свойства сред в виде взаимоисключающих пар. Существуют дискретные и непрерывные среды.
Дискретные среды таковы, что число различных восприятий и реакций, которые требуются агенту при функционировании в среде, конечно.
Непрерывные среды могут порождать бесконечное число восприятий, реакций или того и другого. Примером дискретной среды является, например, среда шахмат, а непрерывной — среда агента-водителя, если для его функционирования требуется восприятие значения, например, скорости со сколь угодно высокой точностью. Если же все параметры среды воспринимаются агентом (как это обычно бывает на практике) с определенной точностью и в заданных пределах, например, скорость с точностью до 1 км/ч в пределах от 1 до 200 км/ч, то такая среда с точки зрения агента также может считаться дискретной.
Различают детерминированные и недетерминированные среды.
В детерминированных средах по любому восприятию агент формирует строго одну реакцию. Недетерминированные же среды таковы, что вследствие каких-либо причин, например недоступности всех необходимых восприятий, агент не в состоянии сформировать единственную реакцию.
Кроме того различают статические и динамические среды.
Среда является статической, если за время, протекающее между получением агентом любого восприятия и выработкой им реакции, в среде ничего не изменяется. В противном случае среда называется динамической. При функционировании агента в статической среде необязательно, чтобы он наблюдал за ней, пока занимается выработкой реакции. Но даже если среда является динамической, на практике чаще всего считается, что для агента неважно, какие изменения в ней происходят, пока он вырабатывает реакцию. Агент игнорирует эти изменения, считая динамическую среду статической.
Предмет искусственного интеллекта- наука о создании агентов, а под СИИ понимается сообщество агентов, способных решать интеллектуальные задачи в средах.
Предполагается, что создание агента любого типа осуществляется человеком, и он всегда способен решать задачи суперагента любого уровня. Процесс создания агента сам по себе неформален и качество описания, выражающееся в степени адекватности поведения получаемого агента задуманному, зависит от учета создателем всех необходимых аспектов его будущего поведения. Иначе говоря, создатель агента должен включить в его описание все правила, необходимые для задуманного поведения. Совокупность всех таких правил называют иногда базой знаний агента.
Эту базу знаний можно представить в некотором формальном языке, в частности, языке логики. В ответ на свое восприятие агент с помощью логических рассуждений на основе знаний, хранящихся в базе знаний, способен вырабатывать реакции. Механизм рассуждений зависит от типа агента и от языка представления базы знаний.

Рассуждением или умозаключением обычно называют ряд мыслей, изложенных в логически последовательной форме. Агент должен уметь находить интересующие его состояния среды (целевые состояния), если он что-либо знает о других ее состояниях. Определение целевых состояний осуществляется с помощью поиска или рассуждений в пространстве состояний. Рассуждения подобного рода можно формализовать в языке логики высказываний.
Нахождение последовательности действий из начального состояния в целевое называют поиском, выводом или рассуждением. Постановкой задачи называют задание всех состояний и действий, которые можно использовать для решения задачи, начального состояния и целевых состояний, а также всех допустимых переходов между состояниями при выполнении действий.
Элементарным шагом поиска является переход из одного состояния среды в другое и анализ состояния, в которое переход был осуществлен, на принадлежность к числу целевых. Каждый допустимый переход из состояния b j после совершения действия с j в состояние b k можно задавать с помощью правила перехода: « Если среда находится в состоянии bj и совершается действие с j , то она должна перейти в состояние b k ».
Каждый шаг состоит в проверке агентом истинности левой части правила (факта нахождения среды в состоянии b j и допустимости действия с j ) и, в случае ее истинности, признании факта перехода из состояния b j в состояние b k в результате действия с j . Естественно, нам хотелось бы иметь математический аппарат, на основе которого можно осуществлять постановку и поиск решения задачи формально, используя наилучшую стратегию поиска. Логика высказываний — это первый шаг к созданию такого аппарата.
Осуществить постановку задачи формально — значит, имея некий формальный язык, выразить на нем все знания о среде, необходимые для решения задачи. Формальный язык в соответствии с современными представлениями требует рассмотрения двух его неотъемлемых частей: синтаксиса и семантики. Синтаксис языка описывает допустимые в языке предложения, состоящие из цепочек (последовательностей) символов, принадлежащих определенному множеству, называемому алфавитом. Синтаксис языка позволяет отличать предложения, принадлежащие языку, от предложений, ему не принадлежащих. Семантика языка определяет смысл этих предложений, сопоставляя символы языка с объектами реального мира, а предложения — отношения между объектами. Без семантики предложения языка являются ничего не значащими для агента
цепочками символов. Семантика логики высказываний позволяет подразделять все множество допустимых предложений на истинные и ложные. Истинные — это те предложения, которые соответствуют имеющим место фактам или отношениям, а ложные — не имеющим. Решать задачу формально — это значит иметь множество правил и стратегию их использования, которые позволяют осуществить вывод одних синтаксически правильных истинных предложений из других синтаксически правильных истинных или предполагаемых истинными.
Синтаксис логики высказываний прост и имеет прямые синтаксические и семантические аналоги в естественных языках, что чрезвычайно облегчает нам понимание логики высказываний. Символами языка логики высказываний, составляющими ее алфавит, являются логические константы ИСТИНА ( или 1)и ЛОЖЬ( или 0), сокращенно обозначаемые буквами И и Л, логические переменные х, у, z,---, обозначаемые строчными буквами латинского алфавита, логические связки И, ИЛИ, НЕ, ЭКВИВАЛЕНТНО, ВЛЕЧЕТ и круглые скобки. Значениями логических переменных являются логические константы. Предложения языка логики высказываний, называемые также формулами или высказываниями, составляют в соответствии со следующими правилами:
логические константы являются простыми предложениями;
логические переменные также простые предложения;
сложные предложения формируются из простых с помощью связок И, ИЛИ,НЕ, ЭКВИВАЛЕНТНО, ВЛЕЧЕТ;
простые и сложные предложения, заключенные или не заключенные в скобки, являются предложениями языка логики высказываний;
из предложений с помощью связок и скобок можно образовать новые предложения языка логики высказываний;
Формулы логики высказываний, составленные по этим правилам, называют правильно построенными формулами или сокращенно формулами.
Семантику логики высказываний можно пояснить смысловой интерпретацией ее предложений или формул, под которой обычно понимают процесс установления соответствия между логическими переменными и изменяющимися свойствами объектов среды и между значениями переменных (константами) и конкретными значениями свойств объектов.
Иначе говоря, интерпретация определяет семантику формул (предложений, высказываний) путем сопоставления переменных в формулах со свойствами объектов среды, а отношений между этими свойствами — с формулами. Это позволяет по значению формул после подстановки вместо переменных конкретных значений свойств судить о наличии или отсутствии у среды тех или иных совокупных свойств или отношений. Если дана какая-либо формула, то подстановка в формулу констант вместо ее переменных называется конкретизацией. Таким образом конкретизация является результатом интерпретации. Замечательным свойством логики высказываний является то, что семантика ее простейших формул, т.е. их истинностные значения (И или Л) близки к соответствующим высказываниям на естественном языке при любой интерпретации.
Истинностные значения любой формулы, т.е. ее семантику, всегда можно задать таблицей, состоящей из двух частей: в левой части таблицы перечислены все наборы значений аргументов, а в правой соответствующие наборам значения формулы. Задание таких таблиц для связок облегчается тем, что значениями аргументов и формул являются только две величины — И или Л. Такие таблицы в логике высказываний называют таблицами истинности (табл. 1). Таблицы истинности можно построить для любой формулы, поскольку любая формула является композицией формул для связок.
Таблица 1
X
У
Не X
x и y
х или у
х = у
0
0
1
0
0
1
0
1
1
0
1
0
1
0
0
0
1
0
1
1
0
1
1
1

Формулы, истинные на всех наборах значений своих аргументов, называют общезначимыми формулами. Проверку формулы на общезначимость можно осуществить с помощью таблицы истинности: если формула истинна во всех строках таблицы истинности, которая содержит все возможные наборы аргументов формулы, то эта формула общезначима.
ǽ В логике высказываний известно много общезначимых формул, называемых обычно законами логики высказываний. Наиболее известными являются следующие законы:
коммутативные
а 1 & а 2 = а 2 & а 1 ,
а 1 a 2 =а 2 a 1 ;
дистрибутивные
а 1 &(а 2 +a 3) = (а 1 & a 2)+(a1 & a3),
a1 +(a 2 & a3) = (a1 +a 2)&(a 1 +a 3);
ассоциативные
a1 & (a2 &a 3) = (a1 &a 2)& a3,
a1 +(a2 +а 3) = a1 +a 2)+a 3;
законы Де Моргана.
Логика предикатов первого порядка является существенно более выразительной, чем логика высказываний,.
Требуется слишком много формул логики высказываний для описания даже простых сред.
Логика предикатов существенно более выразительна, чем логика высказываний, и позволяет представлять знания о среде гораздо более компактно. Выразительность логики предикатов является следствием ее основополагающей идеи, заключающейся во взаимно-однозначном сопоставлении каждого уникального (не совпадающего ни с каким другим) объекта среды с индивидуальной объектной константой, обозначаемой именем (названием) объекта, а класс однотипных по каким-либо свойствам объектов, — с объектной переменной, значением которой являются объектные константы. Объектные константы и переменные в литературе часто называют индивидными, или предметными.
Предикатом называют высказывательную функцию, определенную на множестве наборов значений объектных переменных. Эта функция может принимать только два значения: Истина (И) и Ложь (Л), называемые истинностными значениями. Отношения объектов среды представляются на языке логики предикатов, как и на языке логики высказываний, в виде определенных предложений (высказываний, формул логики предикатов), использующих объектные переменные и объектные константы, а также ряд других конструкций, включая уже известные связки и скобки. Рассмотрим подробнее язык логики предикатов.
Объектные переменные или просто переменные обозначаются строкой символов, начинающейся со строчной буквы и записываемой курсивом. Областью значений каждой переменной является множество констант, в общем случае даже бесконечное. Как эта область значений очерчивается, будет ясно из дальнейшего.
Для того чтобы задать такие отношения между объектами, когда в точности дин объект соответствует множеству других объектов, используют функции. Например, если объектами являются двоичные цифры 0 и 1 и десятичные цифры О, 1, ..., 9, то любому набору из трех двоичных цифр, представляющему двоичное число, можно однозначно сопоставить десятичную цифру. Если двоичные цифры сопоставить с переменными х, у, z, а десятичные с переменной q, то рассмотренное отношение между двоичными и десятичными цифрами южно представить в виде функции преобразование_2_в_10(х, у, z). Выражение преобразование_2_в_10 называют функциональным символом. Так при х =1, 1 = 0, z = 1 с помощью функции преобразование_2_в_10 (х, у, z) получим значение функции, равное q = 5. Следует заметить, что функция в логике предикатов не предполагает обязательного наличия какого-либо алгоритма вычисления значения функции по ее аргументам. Она лишь задает с помощью констант и переменных определенное отношение между объектами, соответствующими ее аргументам, и каким-то одним объектом.
Каждая объектная константа, называемая в дальнейшем, если это не вызывает путаницы, просто константой, взаимно однозначно сопоставляется в процессе интерпретации с каким-либо одним объектом среды. Константа обозначается строкой символов, начинающейся с прописной буквы, и, чаще всего, эта строка символов совпадает с именем или наименованием объекта и записывается курсивом, например, Владимир, Чудовище, Кот и т. д.
Константы, переменные и функции являются термами. Выбор констант, переменных и функций для данной среды полностью является прерогативой того, кто использует логику предикатов. Предположим, например, что наша среда имеет такие объекты, как крылья и птицы, и нам известно, что "птицы имеют крылья". Спрашивается, как выразить это знание? Введем константы, обозначающие конкретный вид птиц, например, Воробей, Синица, Соловей, и константу Крылья, обозначающую объект крылья. Введем также переменную :, обозначающую все объекты, которые являются птицами; функциональный символ имеет_крылья ставит во взаимно-однозначное соответствие любой птице объект крылья. Тогда функция имеет_крылья (х) задает отношение между объектом крылья и птицей х.
Если, например, х = Воробей, то имеет_крылья (Воробей) = Крылья. Но это нe единственная возможность выразить отношения между птицами и крыльями. Функция может не содержать аргументов, т.е. иметь только один функциональный символ. Термы, не содержащие аргументов, т.е. константы, переменные и функции без аргументов, называют элементарными термами.
С помощью предикатов задаются отношения между объектами. Такие отношения задаются выражением, начинающимся, как и в случае с функцией, строкой символов, записанных курсивом, первая буква которой строчная. Эта строка символов называется предикатным символом. За ним в скобках следует упорядоченный набор переменных или констант, соответствующих объектам, находящимся в поименованном отношении. Так, например, если два человека Владимир и Марина являются братом и сестрой, то это отношение родства может быть выражено с помощью конструкции брат_и_сестра (Владимир, Марина), где брат_и_сестра является предикатным символом, а (Владимир, Марина) - упорядоченным набором объектных констант. Конструкция 6рат_и_сестра (Владимир, Марина) является предикатом, способным принимать одно из двух значений Истина или Ложь. В случае истинного значения предиката будем говорить также, что отношение, задаваемое предикатом, имеет место, а в случае ложного — не имеет места.
Отношение между птицами и крыльями, выраженное выше с помощью функции, может быть выражено и с помощью предиката крылья (х), который истинен, если это отношение выполняется. Это может быть, например, когда х = Воробей, т.е. когда истинен предикат крылья (Воробей).
Выражение предикатный_символ (терм, терм, ..., терм) называют атомом. Атом представляет предикат. Особо выделяется атом, предикатным символом которого является знак равенства, а аргументами два терма. Этот атом можно было бы представить как равны (терм, терм) или = (терм, терм), но, как правило, его записывают в обычной инфиксной форме терм = терм. Этот атом истинен, когда значения обоих термов совпадают. Атомы без знака отрицания или со знаком отрицания называют литералами.
Когда мы имеем дело с объектами, то возникает естественная потребность выразить какие-либо общие свойства целого множества объектов. Кванторы как раз служат этим целям. Таких кванторов в логике предикатов всего два.
Квантор общности . Формула

означает: для всех i, j пересечение xn и x0 принадлежит множеству z.
Здесь хn, х0, z -предикатные символы, вид которых для удобства сохранен тем же, что и в логических переменных, а i, j - числовые объектные переменные, соответствующие координатам ячеек
Смысл квантора общности совпадает с выражением естественного языка "Для всех...".
Квантор существования .
Квантор общности позволяет формулировать высказывания о свойствах целого множества объектов. В то же время часто возникает необходимость высказываться о свойствах отдельных объектов из какой-либо их совокупности. Для этого используют квантор существования
Квантор существования произносится на естественном языке как "Существует...".
Взаимосвязь между кванторами. Считают, что квантор связывает переменные, которые записываются за знаком квантора в скобках. Поэтому их называют связанными. Переменные же, которые ни один квантор не связывает, называют свободными. Взаимосвязь между кванторами существования и общности можно легко выразить с помощью связки —, и она основана на следующем соображении: если какая-либо совокупность переменных связана квантором общности таким образом, что все объекты, которым соответствуют эти переменные, не обладают каким-то общим свойством, то не существует объекта (а следовательно, и соответствующей ему переменной), который обладал бы этим свойством.
обозначая через Р(х) любую формулу, переменная х которой связана кванторами, получаем следующие законы, характеризующие взаимосвязь между кванторами:

Атом особого типа терм = терм, называемый равенством,и являющийся одновременно предикатным символом, свидетельствует о том, что формула терм = терм истинна только в том случае, если оба терма соответствуют одному и тому же объекту.
Тема 3.Дедуктивные базы данных.
Современный компьютеризованный мир трудно представить без баз данных, хранящих огромные массивы информации, называемой данными. Эти базы данных постоянно обновляются. К ним непрерывно поступают запросы на поиск информации по определенным признакам и отношениям между данными. Теоретическим и практическим вопросам баз данных посвящено много работ. Базы данных различаются по структуре хранящихся в них данных и бывают иерархическими, сетевыми (графовыми), объектно-ориентированными и реляционными. После появления реляционных баз данных стали публиковаться и теоретические работы, предлагающие строить теорию реляционных баз данных на основе какой-либо формальной системы или исчисления. Запросы к реляционным базам данных или поиск в базах данных в этом случае предлагалось осуществлять как вывод в некотором исчислении. В настоящее время интерес к этому направлению развития баз данных стал особенно ощутим в связи с бурным развитием сетевых технологий и необходимостью работать с распределенными данными различного типа.
Распространенной точкой зрения на реализацию дедуктивной базы данных является подход, основанный на определенном расширении системы управления данными в реляционной базе. Рассмотрим суть этого подхода.
Реляционные базы данных
Данные в реляционных базах хранятся в виде таблиц, задающих определенные отношения между этими данными. Каждому столбцу таблицы взаимно однозначно соответствует атрибут (имя столбца) аi , а атрибуту -множество значений переменных {xi1, хi2, ..., xi n} = Хi Переменные одного и того же множества Xi принимают значения из одного универсума. Множество значений d. = {σ I 1, σ I 2,….., σ i 3} переменных {xi1, хi2, ..., xi называют доменом.
Под схемой отношений подразумевают выражение α (a1 (X1),….am(Xm)), в котором α является именем схемы отношений, а i(Хi) — термы базы, i = 1,..., m. Схему отношений,
Тема 4. Разработка систем искусственного интеллекта. Архитектура систем искусственного интеллекта. Механизм вывода – средство машинного мышления. Прямая цепочка рассуждений. Обратная цепочка рассуждений.
Тема 5.Проектирование систем искусственного интеллекта.
Этапы проектирования. Инструментальные средства для разработки систем искусственного интеллекта.
Тема 6.Реальные системы искусственного интеллекта.
Интеллектуальная система планирования производства. Интеллектуальная система диспетчерского управления производством. Интеллектуальные системы управления и регулирования технологическими процессами. Интеллектуальная система диагностирования состояния технологических объектов.
Тема 7. Программирование задач СИИ в МАТКАДЕ.
В МАТКАДЕ имеется встроенный язык программирования .Это язык более высокого уровня, чем Бейсик и Паскаль, он позволяет производить ОБЪЕКТНО -ОРИЕНТИРОВАННЫЕ программы.
При программировании в МАТКАДЕ в программе участвуют ЛОКАЛЬНЫЕ ПЕРЕМЕННЫЕ, действие которых распространяется только на программу, а не на весь документ в целом, частью которого является программа. Переменные , действующие во всем документе называются ГЛОБАЛЬНЫМИ.
Для составления программ необходимо прежде всего вызвать ПАНЕЛЬ ПРОГРАММИРОВАНИЯ.
Для этого следует на математической панели кнопку с изображением стрелок , прямоугольника и ромба между кнопками интегрирования и греческого алфавита.
Появится новая панель - ПАНЕЛЬ ПРОГРАММИРОВАНИЯ, состоящая из кнопок :
Кнопка ADD LINE- ДОБАВЬ СТРОКУ .При ее нажатии возникает вертикальная линия, объединяющая два оператора в блок с одним входом и одним выходом. Для объединения большего числа операторов кнопку следует нажимать несколько раз.
Кнопка - это оператор присвоения, например A B . Локальной
Переменной А присваивается значение В.
Кнопка IF аналогична оператору условного перехода в языках Бейсик и Паскаль, например, выражение C D if A >B означает , что , если А>B, то С присваивается значение D.
Если в зависимости от условия следует выполнить несколько операторов, то Запись будет иметь вид: if A>B
E F
F G
Кнопка OTHERWISE дает возможность сделать выбор ( аналог ELSE в Бейсике и Паскале).

C D if A>B Если A>B, то С присваивается значение D, в
противном случае E присваивается значение F.
E F otherwise
Кнопка FOR вводит в программу цикл с параметром ( когда заранее известно, сколько циклов необходимо выполнить).Количество циклов задается несколькими способами:
FOR A  5,4.7,8.9,7.3*10-5
FOR I  1..10
FOR A  V (V- вектор)
Кнопка WHILE - образует заголовок цикла с предусловием. Такой цикл используется, если мы заранее не знаем, сколько циклов нам необходимо сделать для решения задачи.( Аналогичные операторы имеются в Бейсике - оператор WHILE - WEND и в Паскале - оператор WHILE - DO.
В МАТКАДЕ набирается : WHILE < логическое условие>
< операторы, которые должны выполняться>.
Ниже приводятся элементы программ в МАТКАДЕ. Студент должен набрать их и прогнать.
ПРИМЕР 1. Задано значение Х. В зависимости от этого значения z принимает значение 0 или 3.
При изменении Х меняется Z/

ПРИМЕР 2. Задано значение Х. Значение У по-прежнему зависит от Х, но вариантов здесь уже три.

ПРИМЕР 3. Задано найти сумму первых десяти натуральных чисел. До начала следует присвоить сумме S нулевое значение. Так как число циклов известно, используем оператор FOR.

В процессе решения примера
1. измените наибольшее значение Х до 100 ,
2. Суммируйте квадраты Х
ПРИМЕР 4. Сумма составляется в зависимости от величины Х

ПРИМЕР 5. Применение оператора WHILE. Суммировать натуральный ряд следует до тех пор, пока сумма не превысит число 30. Здесь используются две линии ADD LINE. Прежде всего устанавливаются начальные значения S и Х. Затем пишется оператор WHILE и во втором цикле - само накапливание. Нижняя буква S показывает, по какой переменной производится операция.
Порядок вычислений следующий:
1.Устанавливаются начальные значения S и X.
2.Осуществляется проверка условия. Так как оно выполняется, производится операция
S=S + X = 0+1.
3. Проверяется условие S<30
4. Производится вычисление S.
И так далее. То есть проверка производится ДО вычислений. Поэтому результат превышает заданный. Проверка то проводилась ДО вычисления, тогда было s<30, а после вычисления стало S>30 на очередной Х.
Оператор WHILE проверяет условие ( S<=30) ДО ОЧЕРЕДНОГО ЦИКЛА.

После решения заданного примера измените предельное значение S на 15,20, 50.
Составить программы для решения следующих задач:
Упражнение 1. Найти сумму 25 натуральных чисел
S=1+2+3+4+.......+25
Упражнение 2. Найти сумму 25 членов числового ряда
S=1-2+4-8+16-32+..........
ПОДСКАЗКА. Здесь, если U n >0 , то Un+1= U n*(-2). В противном случае Un+1= abs (U n)*2
Упражнение 3. Суммировать 25 членов ряда
S= (3+4)/2 +(6+3)/4 +(12+2)/6 + (24+1)/8 + ............
ПОДСКАЗКА. Здесь следует представить общий член ряда в виде (a+ b )/c и определить закономерности изменения каждой составляющей.
Упражнение 4. Как известно, индийский владетель расплатился с изобретателем шахмат следующим образом: на первую клетку шахматного поля было положено одно зерно, на вторую - два, на третью -четыре (22 ), на четвертую - восемь (23 ) и т.д. На последнюю, 64-ую клетку было положено 263 зерен. Сколько зерна получил изобретатель шахмат, если одно зерно весит 0,3 г.?
Упражнение 5. Задан вектор v( 1,67,5,8,3). Найти его максимальную компоненту.
Все вышеприведенные задачи имели в ответе скаляр. МАТКАД позволяет получать ответ в виде вектора и матрицы. В упражнении 6 ответы получаются в виде вектора.

Упражнение 6. Составить циклическую программу заполнения вектора числами :
А) v=(1,2,3)
Б)v=(3,2,1)
В) v=( 1.4.9)
Ниже приведено решение варианта А.
ORIGIN:=1 означает, что счет начинается с 1, а не с 0.
Здесь проведено различие между ГЛОБАЛЬНЫМИ и ЛОКАЛЬНЫМИ переменными.
Программа в МАТКАДЕ является обычно частью большой задачи, переменные
которой называются ГЛОБАЛЬНЫМИ.
Переменные внутри программы называются ЛОКАЛЬНЫМИ. Иногда они могут
совпадать.
В данной задаче VEKTOR - глобальная , а V, I - локальные переменные.
В программе приведена связь между ними.Определено начальное значение вектора V.
Слово VEKTOR в нижней части программы определяет, по какой переменной
происходит вычисление.
.


ЗАДАНИЕ НА КОНТРОЛЬНУЮ РАБОТУ.
Вариант 0
1. Используя аксиомы, доказать ограничение целостности студенческой базы: "Стипендия каждого студента не может уменьшаться в течение всего срока его учебы".
2. Агент играет роль швейцара в отеле. В его обязанности входит открыть двери отеля перед клиентом; помочь ему донести багаж до стойки администратора, если у клиента есть багаж; открывать двери автомобиля, подъехавшего к отелю, если он в это время свободен от других обязанностей, т.е. цель швейцара — обслужить всех клиентов. Сформулируйте постановку задачи для среды клиента в пространстве состояний, если начальным состоянием среды является состояние, в котором одновременно к дверям отеля подошел клиент без багажа и подъехал автомобиль.
Вариант 1
1. Используя индукционные аксиомы второго порядка, опишите свойства следующего множества:
Множество N натуральных чисел, такое, что 0 . Если , то $(х), где s(x) — натуральное число, получающееся из числа х на следующем шаге с помощью некоторого преобразования.
2. Представьте на языке логики предикатов следующие предложения русского языка:
не все студенты любят математику и физику;
Вариант 2
1. Используя индукционные аксиомы второго порядка, опишите свойства следующего множества:
Множество D потомков Адама и Евы, таких, что Если х е D .
2. Представьте на языке логики предикатов следующее предложение русского языка:
Только один студент любит историю;
Вариант 3
1. Используя индукционные аксиомы второго порядка, опишите свойства следующего множества.
Минимальное множество формул логики высказываний L, такое, что любая переменная х логики высказываний принадлежит множеству L. Если формулы , то формулы также принадлежат множеству L;
2. Представьте на языке логики предикатов следующее предложение русского языка:
Только один студент любит как историю, так и электронику;
Вариант 4
1. Используя индукционные аксиомы второго порядка, опишите свойства следующего множества.
Множество всех состояний инициального детерминированного автомата, находящихся в отношении эквивалентности R.
2. Представьте на языке логики предикатов следующее предложение русского языка:
Отставание по истории легче устранить, чем отставание по электронике;
Вариант 5
1. Какое-либо подмножество Т множества всех состояний инициального детерминированного автомата, находящихся в отношении эквивалентности R, является примером так называемого транзитивного замыкания. Используя двойную индукционную аксиому второго порядка, опишите свойства множества Т.
2. Представьте на языке логики предикатов следующее предложение русского языка:
Любой охотник, не употребляющий дичь в пищу, вызывает удивление;
Вариант 6
1. Пусть r (s, s') -- атом, истинный, когда состояния s, s' инициального детерминированного автомата находятся в отношении эквивалентности R, t(s, s') -атом, истинный, когдасостояния s, s' принадлежат транзитивному замыканию Т. Показать, что следующее определение транзитивного замыкания на языке логики предикатов первого порядка ошибочно:

2. Представьте на языке логики предикатов следующее предложение русского языка:
Известны женщины, которые любят мужчин, не являющихся охотниками;
Вариант 7
1. Используя таблицы истинности, докажите общезначимость следующего закона логики высказываний:

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

2. Представьте на языке логики предикатов следующее предложение русского языка:
Живет в городе охотник, который знаком со всеми мужчинами-охотниками этого города;
Вариант 9
1. Предполагая, что некоторая среда может быть описана с использованием только четырех логических переменных х, у, z, u, определите сколько моделей может иметь среда для следующих формул:

2. Запишите следующие условные предложения русского языка в виде правил логики предикатов:
а) если вы любите детективы, то сегодня вечером можете посмотреть прекрасный фильм из этой серии;
б) по утрам подают кофе и бутерброды с ветчиной;
в) может быть, я заскочу к вам вечером, если успею;

СОСТАВИТЕЛЬ: В. Ю. Яньков профессор , к . т . н.
Рецензент А. А. Попов И.О. профессора, к. т. н.
Корректура авторская.
С Методическая разработка является собственностью кафедры информационных технологий МГЗИПП и перепечатке не подлежит.