Главная  Карта сайта  Об авторе  Контакты  Нормативно-правовая основа деятельности кафедры

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

Исследование операций

  Модели теории графов и сетевого моделирования  
  Элементы теории графов  
  Матрицы инцедентности ориентированного графа  
  Природа потоков в сетях и принцип их сохранения  
  Теорема о максимальном потоке и минимальном разрезе  
  Методы решения сетевых задач  
  Метод ветвей и границ  
  Методы сетевого планирования  
  Преимущества СПУ  
  Подготовка задач к решению  
  Правила построения сетевых моделей  
  Параметры сетевых моделей и методы их расчета  
  Анализ сетевых моделей  
  Методы и модели линейного программирования  
  Общая задача линейного программирования  

Структуры и алгоритмы компьютерной обработки данных

  Виды структур данных  
  Развитие концепции структуризации в программировании  
  Понятие типа данных  
  Порядковые типы  
  Абстрактные типы  
  Идентификация объектов  
  Именование  
  Организация адресного пространства оперативной памяти MS DOS  
  Понятие указателя  
  Действия над указателями  
  Связывание идентификатора объекта с его элементом хранения  
  Понятие “времени жизни” объекта  
  Классы памяти  
  Поиск в списке узла по заданному условию  
  Совместимость типов. Приведение и преобразование типов  

Теория оптимального управления
экономическими системами

  Корпоративные информационные системы  
  Стандарты корпоративных систем  
  Программные продукты управления предприятием  
  Информатизация банковской деятельности  
  Современные технологии проектирования управления  
  Понятие Workflow и Workflow Management  
  Модель Workflow Management с точки зрения коалиции WfMC  
  Основные аспекты технологии Workflow Management  
  Организационно-функциональный модуль  
  Хранилища данных и аналитические системы  
  Виртуальное Хранилище Данных  
  Этапы ETL-процесса  
  Очистка данных  
  Аналитические системы  

 
тендеры

 

 

 
 
 

Факты, правила, вопросы

В логическом программировании существует три вида утверждений:  факты, правила и вопросы. Самая простая программа на Прологе является  множеством фактов. Факт — это предикатная структура, заканчивающаяся точкой, которая записывается следующим образом:
<имя предиката>(<терм1>,<терм2>,…,<термn>).
Факт представляет собой утверждение о том, что соблюдается некоторое отношение. Факты являются простейшим видом утверждений в логических программах и с их помощью можно выражать произвольные отношения между объектами.
Например,   student(‘Иванов’).
Этот факт означает то, что Иванов является студентом.
Другой пример —
student(‘Иванов’,’МГИУ’).
Этот факт определяет отношение между термами, первым из которых является  фамилия студента, а вторым место его учебы. 
Одноместные предикаты определяют свойства объектов, а nместные  предикаты определяют отношения между объектами. Совокупность наборов значений переменных, при которых предикат p(x1,x2,…,xn) имеет значение “истина” называется nместным отношением. Реляционной схемой (схемой отношения) предиката называется описание роли каждого аргумента предиката.
Например, parent(<имя родителя>,<имя ребенка>)  схема предиката parent;  person(<имя>,<пол>,<возраст>)  схема предиката person.
Совокупность фактов в Прологпрограмме является аналогом реляционной базы данных, а вопросы к программе подобны запросам к базе данных.
Синтаксические правила записи фактов в программе следующие:
• Имя предиката в утверждении-факте есть символьный атом.
• После имени предиката записывается список аргументов в круглых скобках. Между именем предиката и открывающей скобкой ‘(‘ не должно быть пробела.
• Возможны нуль—местные предикаты в фактах, т.е. предикаты, не  имеющие аргументов.
• В качестве аргументов в списке могут быть как переменные, так и константы.
• В конце факта обязательна точка.
Переменные в фактах неявно связываются квантором всеобщности.
Это означает, что факт
p(T1,T2,…Tn).
где Ti –переменные следует понимать так
(T1) (T2)… (Tn) p(T1,T2,…Tn) —истина.
Факты, содержащие переменные, называются универсальными. Примерами универсальных фактов являются следующие утверждения:
plus(X,0,X). 
что означает, сумма любого числа Х с нулем равна X.
proiz(X,0,0).
что означает, произведение  любого числа Х с нулем равна 0.
horizontal(p(X1,Y),p(X2,Y)).
что означает, отрезок прямой, начало и конец которого точки p(X1,Y) и p(X2,Y), соответственно, параллелен оси Х.
 В рассмотренном в § 1 примере, фактами являются

родитель( пам, боб).
родитель( том, боб).
родитель( том, лиз).
родитель( боб, энн).
родитель( боб, пат).
родитель(пат; джим).

Кроме фактов, логические программы могут содержать правила, условные предложения языка Пролог. Правила  это  средство определения новых утверждений, используя уже существующие в Прологпрограмме утверждения (факты и правила).
С  точки зрения синтаксиса языка Пролог правило это утверждение вида
A:B1,B2,…Bn.  (n0),
где A  заголовок правила, а конъюнкция предикатов B1,B2,…Bn
называется телом правила.
В правилах, так же как и в фактах, переменные неявно связаны  квантором всеобщности. Например, утверждение «Точка с координатами (X,Y) принадлежит окружности с радиусом, равным 2, и  с  центром в точке начала координат, если  » на Прологе будет записано следующим образом:
circle(X,Y):X^2+Y^2=4.
что означает: для любых X и Y, таких, что X^2+Y^2=4, точка (X,Y) принадлежит окружности с радиусом, равным 2, и  с  центром в точке начала координат (здесь знак ^ означает возведение в степень).
В Прологпрограмме может быть записано произвольное число фактов и правил. Набор правил, заголовки которых имеют одно и то же имя и арность, описывает одно и то же отношение и называется процедурой.
Пример программы «родственные отношения»:

parent(pam,bob).
parent(tom,bob).
parent(tom,liz).
parent(bob,ann).
parent(bob,pat).
parent(pat,jim).

Расширим эту программу фактами, определяемыми схемой отношения person.

person(pam,’ж’).
person(tom,’м’).
person(bob,’м’).
person(liz,’ж’).
person(ann,’ж’).
person(pat,’ж’).
person(jim,’м’).

Обратите внимание, что аргумент, выражающий пол персоны, мы записали русскими буквами, заключенными в апострофы. Теперь, например, первый из добавленных фактов означает, что персона pam является женщиной. Пролог – программу, содержащую 13 вышеперечисленных фактов, можно теперь расширять с помощью правил. Определим правила, описывающие отношения «X является матерью Y», «X является отцом Y». Первое правило можно записать следующим образом:
 mother(X,Y):-parent(X,Y),person(X,’ж’).
Это правило можно сформулировать следующим образом: «X является матерью Y, если X является родителем Y и X – женщина». Мы конечно же могли определить отношение «мать» для каждой персоны, например, факт mother(pam,bob). означает, что pam является матерью bob. Однако правило, введенное ранее, позволяет определять понятие «мать» для любых персон.
Аналогично, правило
 father(X,Y):-parent(X,Y),person(X,’м’).
определяет отношение «X является отцом Y».
Вопрос (целевое утверждение)  это средство извлечения информации из логической программы. С помощью вопроса выясняется, истинно ли  некоторое утверждение или нет. С точки зрения логики поиск ответа на вопрос состоит в определении того, является ли утверждение (вопрос) логическим следствием программы или нет.
Вопрос, включающий в себя конъюнкцию предикатов p1,p2,…,pn , называется конъюнктивным вопросом. Каждый предикат pi называется целью. Конъюнктивный вопрос  это конъюнкция целей. Вопросы, состоящие из одной цели, называются простыми вопросами. Вопрос, не содержащий переменных, называется основным вопросом, а вопрос, включающий переменные, называется неосновным. 
Переменные в вопросах неявно связаны квантором существования.
Это означает, что вопрос
?p(X1,X2,…Xn).
где X1,X2,…Xnпеременные, предполагает утвердительный ответ,  если существует такой набор термов  t1,t2,…tn, что подстановка {X1=t1,X2=t2,…Xn=tn}  в предикат p дает результат “истина”. Если существует, хотя бы одна такая подстановка, то вопрос
?p(X1,X2,…Xn).
выводим из логической программы, т.е. является логическим следствием программы.
Конъюнктивные вопросы могут содержать общие переменные. Переменные называются общими, если они входят в две или более цели конъюнктивного запроса. Зададим теперь возможные вопросы к расширенной программе «родственные отношения - 1». Программа и возможные вопросы приведены на рисунке 1 и рисунке 2 соответственно.

 

Рисунок 1 - Пролог-программа «родственные отношения-1»

Рисунок 2- Варианты вопросов к программе «родственные отношения - 1»

Когда мы задаем вопрос ?- mother(X,bob), Пролог-программа найдя соответствующий факт, в качестве побочного эффекта конкретизирует переменную X значением атома pam, что означает ответ «pam является матерью bob». Причем, программа после ввода символа «;» показывает, что больше положительных ответов на данный вопрос нет. Однако когда мы задали Пролог – программе вопрос «кто является сестрой ann», последняя сначала ответила ann, а только потом правильно с нашей точки зрения – pat. С декларативной точки зрения первый ответ также является верным, так как при составлении правила с заголовком sister (сестра) мы не указали системе, что персона не является сестрой сама себе. Данное утверждение можно указать, добавив отношение для переменных X и Y – X=Y («персоны X и Y различны). Записанное отношение будет рассмотрено подробнее далее. Здесь же на рисунке 3 приведем фрагмент «правильного» правила определения предиката sister.


Рисунок 3  - «Правильное» правило для sister.

Логические  переменные служат для обозначения неопределенных объектов. Областью действия переменной является одно утверждение (факт или правило).
Подстановкой  называется конечное (возможно, пустое) множество пар вида Xi = ti, где Xiпеременная, а tiтерм, не содержащий переменную Xi. Результат применения подстановки  к утверждению A обозначается A и получается путем замены каждого вхождения в A каждой переменной Xi  на соответствующий терм ti.
Утверждение B является примером утверждения A, если найдется такая подстановка , что B=A. Например, факт summa(1,2,3), которое означает, что 1+2=3, является примером утверждения summa(X,Y,3) при применении подстановки ={X=1,Y=2}.
Утверждение С называется общим примером утверждений A и B, если найдутся такие подстановки 1 и 2, что C=A1 и C=B2, т.е. C является примером  A и B одновременно. Например, факт summa(1,2,3) является общим примером утверждений summa(X,2,Z) и summa(1,Y,Z) при применении подстановок 1={X=1,Z=3} и 2={Y=2,Z=3}.



Поступайте к нам!
Уважаемые абитуриенты! Мы рады приветствовать Вас на нашем сайте и сегодня сообщаем Вам о том, что Вы всё ещё можете подавать заявления и поступать в ВФ МГИУ. Напоминаем, что на некоторые специальности Вы можете поступить по результатам ЕГЭ. Помните, у нас Вы сможете получить прекрасное образование по следующим направлениям: "Прикладная информатика в экономике", "Бухгалтерский учёт, анализ и аудит", Автомобиле- и тракторостроение", "Менеджмент организации"!
подробнее   >>>
 


все новости...

{LTS}

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

 
     
   
 

В помощь дипломнику

  Демин Л. М. Пояснительная записка дипломного проекта  
  Широков Л. А. Дипломное проектирование  
  Общие правила оформления  
  Правила оформления приложения  
  Литература, рекомендуемая дипломнику  
  Выбор и формулировка темы дипломного проектирования  
  ОСТ 4.071.030  
  Общие положения для Объяснительной записки  
  Состав выпускной квалификационной работы  

Статьи и публикации

  КОМТЕЛ - 2010  
  Олимпиада по информатике в Смоленске  
  Кураторство  
  График контроля выполнения дипломных проектов и готовности к государственному экзамену студентов специальности 080801  
  График проведения консультаций - осений семестр 2009  
  План проведения дня открытых дверей  
  Олимпиада по информатике в Смоленске  
  Результаты внутренней олимпиады по информатике  
  График проведения контрольных точек дипломного проектирования специальности 080801 «Прикладная информатика в экономике»  

Нормативно-правовая основа деятельности кафедры

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


Рассылки Subscribe.Ru
Современное образование
Подписаться письмом


тендеры