🗊Презентация Введение в Пролог

Нажмите для полного просмотра!
Введение в Пролог, слайд №1Введение в Пролог, слайд №2Введение в Пролог, слайд №3Введение в Пролог, слайд №4Введение в Пролог, слайд №5Введение в Пролог, слайд №6Введение в Пролог, слайд №7Введение в Пролог, слайд №8Введение в Пролог, слайд №9Введение в Пролог, слайд №10Введение в Пролог, слайд №11Введение в Пролог, слайд №12Введение в Пролог, слайд №13Введение в Пролог, слайд №14Введение в Пролог, слайд №15Введение в Пролог, слайд №16Введение в Пролог, слайд №17Введение в Пролог, слайд №18Введение в Пролог, слайд №19Введение в Пролог, слайд №20Введение в Пролог, слайд №21Введение в Пролог, слайд №22Введение в Пролог, слайд №23Введение в Пролог, слайд №24Введение в Пролог, слайд №25Введение в Пролог, слайд №26Введение в Пролог, слайд №27Введение в Пролог, слайд №28Введение в Пролог, слайд №29Введение в Пролог, слайд №30Введение в Пролог, слайд №31Введение в Пролог, слайд №32Введение в Пролог, слайд №33Введение в Пролог, слайд №34Введение в Пролог, слайд №35Введение в Пролог, слайд №36Введение в Пролог, слайд №37Введение в Пролог, слайд №38Введение в Пролог, слайд №39Введение в Пролог, слайд №40Введение в Пролог, слайд №41Введение в Пролог, слайд №42Введение в Пролог, слайд №43Введение в Пролог, слайд №44Введение в Пролог, слайд №45Введение в Пролог, слайд №46Введение в Пролог, слайд №47Введение в Пролог, слайд №48Введение в Пролог, слайд №49Введение в Пролог, слайд №50Введение в Пролог, слайд №51Введение в Пролог, слайд №52Введение в Пролог, слайд №53Введение в Пролог, слайд №54Введение в Пролог, слайд №55Введение в Пролог, слайд №56Введение в Пролог, слайд №57Введение в Пролог, слайд №58Введение в Пролог, слайд №59Введение в Пролог, слайд №60Введение в Пролог, слайд №61Введение в Пролог, слайд №62Введение в Пролог, слайд №63Введение в Пролог, слайд №64Введение в Пролог, слайд №65Введение в Пролог, слайд №66Введение в Пролог, слайд №67

Содержание

Вы можете ознакомиться и скачать презентацию на тему Введение в Пролог. Доклад-сообщение содержит 67 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Введение в Пролог
Описание слайда:
Введение в Пролог

Слайд 2





В октябре 1981 года Японское министерство международной торговли и промышленности объявило о создании исследовательской организации — Института по разработке методов создания компьютеров нового поколения (Institute for New Generation Computer Technology Research Center). 
В октябре 1981 года Японское министерство международной торговли и промышленности объявило о создании исследовательской организации — Института по разработке методов создания компьютеров нового поколения (Institute for New Generation Computer Technology Research Center). 
Целью данного проекта было создание систем обработки информации, базирующихся на знаниях.
 Предполагалось, что эти системы будут обеспечивать простоту управления за счет возможности общения с пользователями при помощи естественного языка. 
Эти системы должны были самообучаться, использовать накапливаемые в памяти знания для решения различного рода задач, предоставлять пользователям экспертные консультации, причем от пользователя не требовалось быть специалистом в информатике.
 Предполагалось, что человек сможет использовать ЭВМ пятого поколения так же легко, как любые бытовые электроприборы типа телевизора, магнитофона и пылесоса. Вскоре вслед за японским стартовали американский и европейский проекты.
Описание слайда:
В октябре 1981 года Японское министерство международной торговли и промышленности объявило о создании исследовательской организации — Института по разработке методов создания компьютеров нового поколения (Institute for New Generation Computer Technology Research Center). В октябре 1981 года Японское министерство международной торговли и промышленности объявило о создании исследовательской организации — Института по разработке методов создания компьютеров нового поколения (Institute for New Generation Computer Technology Research Center). Целью данного проекта было создание систем обработки информации, базирующихся на знаниях. Предполагалось, что эти системы будут обеспечивать простоту управления за счет возможности общения с пользователями при помощи естественного языка. Эти системы должны были самообучаться, использовать накапливаемые в памяти знания для решения различного рода задач, предоставлять пользователям экспертные консультации, причем от пользователя не требовалось быть специалистом в информатике. Предполагалось, что человек сможет использовать ЭВМ пятого поколения так же легко, как любые бытовые электроприборы типа телевизора, магнитофона и пылесоса. Вскоре вслед за японским стартовали американский и европейский проекты.

Слайд 3





Появление таких систем могло бы изменить технологии за счет использования баз знаний и экспертных систем. Основная суть качественного перехода к пятому поколению ЭВМ заключалась в переходе от обработки данных к обработке знаний. Японцы надеялись, что им удастся не подстраивать мышление человека под принципы функционирования компьютеров, а приблизить работу компьютера к тому, как мыслит человек, отойдя при этом от фон неймановской архитектуры компьютеров. В 1991 году предполагалось создать первый прототип компьютеров пятого поколения
Появление таких систем могло бы изменить технологии за счет использования баз знаний и экспертных систем. Основная суть качественного перехода к пятому поколению ЭВМ заключалась в переходе от обработки данных к обработке знаний. Японцы надеялись, что им удастся не подстраивать мышление человека под принципы функционирования компьютеров, а приблизить работу компьютера к тому, как мыслит человек, отойдя при этом от фон неймановской архитектуры компьютеров. В 1991 году предполагалось создать первый прототип компьютеров пятого поколения
Описание слайда:
Появление таких систем могло бы изменить технологии за счет использования баз знаний и экспертных систем. Основная суть качественного перехода к пятому поколению ЭВМ заключалась в переходе от обработки данных к обработке знаний. Японцы надеялись, что им удастся не подстраивать мышление человека под принципы функционирования компьютеров, а приблизить работу компьютера к тому, как мыслит человек, отойдя при этом от фон неймановской архитектуры компьютеров. В 1991 году предполагалось создать первый прототип компьютеров пятого поколения Появление таких систем могло бы изменить технологии за счет использования баз знаний и экспертных систем. Основная суть качественного перехода к пятому поколению ЭВМ заключалась в переходе от обработки данных к обработке знаний. Японцы надеялись, что им удастся не подстраивать мышление человека под принципы функционирования компьютеров, а приблизить работу компьютера к тому, как мыслит человек, отойдя при этом от фон неймановской архитектуры компьютеров. В 1991 году предполагалось создать первый прототип компьютеров пятого поколения

Слайд 4






В качестве основной методологии разработки программных средств для проекта ЭВМ пятого поколения было избрано логическое программирование, ярким представителем которого является язык Пролог. 
В настоящее время Пролог остается наиболее популярным языком искусственного интеллекта в Японии и Европе (в США, традиционно, более распространен другой язык искусственного интеллекта —язык функционального программирования Лисп).
Описание слайда:
В качестве основной методологии разработки программных средств для проекта ЭВМ пятого поколения было избрано логическое программирование, ярким представителем которого является язык Пролог. В настоящее время Пролог остается наиболее популярным языком искусственного интеллекта в Японии и Европе (в США, традиционно, более распространен другой язык искусственного интеллекта —язык функционального программирования Лисп).

Слайд 5






Название языка "Пролог"происходит от слов ЛОГическое ПРОграммирование (PROgrammation en LOGique во французском варианте и PROgramming in LOGic — в английском).
Пролог основывается на таком разделе математической логики, как исчисление предикатов.
Описание слайда:
Название языка "Пролог"происходит от слов ЛОГическое ПРОграммирование (PROgrammation en LOGique во французском варианте и PROgramming in LOGic — в английском). Пролог основывается на таком разделе математической логики, как исчисление предикатов.

Слайд 6





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

Слайд 7





Соответственно и языки программирования делят на императивные и декларативные.
Соответственно и языки программирования делят на императивные и декларативные.
Императивные языки основаны на фон неймановской модели вычислений компьютера. Решая задачу, императивный программист вначале создает модель в некоторой формальной системе, а затем переписывает решение на императивный язык программирования в терминах компьютера. Но, во-первых, для человека рассуждать в терминах компьютера довольно неестественно. Во-вторых, последний этап этой деятельности (переписывание решения на язык программирования) по сути дела не имеет отношения к решению исходной задачи. Очень часто императивные программисты даже разделяют работу в соответствии с двумя описанными выше этапами. Одни люди, постановщики задач, придумывают решение задачи, а другие, кодировщики, переводят это решение на язык программирования.
Описание слайда:
Соответственно и языки программирования делят на императивные и декларативные. Соответственно и языки программирования делят на императивные и декларативные. Императивные языки основаны на фон неймановской модели вычислений компьютера. Решая задачу, императивный программист вначале создает модель в некоторой формальной системе, а затем переписывает решение на императивный язык программирования в терминах компьютера. Но, во-первых, для человека рассуждать в терминах компьютера довольно неестественно. Во-вторых, последний этап этой деятельности (переписывание решения на язык программирования) по сути дела не имеет отношения к решению исходной задачи. Очень часто императивные программисты даже разделяют работу в соответствии с двумя описанными выше этапами. Одни люди, постановщики задач, придумывают решение задачи, а другие, кодировщики, переводят это решение на язык программирования.

Слайд 8






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

Слайд 9





Основные области применения Пролога:

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

Слайд 10






Области, для которых Пролог не предназначен:
 большой объем арифметических вычислений (обработка аудио, видео и т.д.);
 написание драйверов.
Описание слайда:
Области, для которых Пролог не предназначен: большой объем арифметических вычислений (обработка аудио, видео и т.д.); написание драйверов.

Слайд 11





Имена конкретных объектов, отношений, свойств образуются по определенным правилам, зависящим от версии языка Пролог, и называются символическими именами.
Имена конкретных объектов, отношений, свойств образуются по определенным правилам, зависящим от версии языка Пролог, и называются символическими именами.
Символическое имя (атом) – это неразрывная цепочка букв, цифр и символа подчеркивания, начинающаяся со строчной латинской (русской) буквы.
Для именования объектов и их свойств могут использоваться строки – последовательности любых символов, заключенные в двойные кавычки.
Например: стол, студент,table_1, «группа 408». 
Для описания в программе некоторого объекта, принадлежащего определенному классу, используется переменная.
Переменная в программе представляется своим именем. Имя переменной в Прологе – это латинских букв или цифр, начинающихся с прописной латинской буквы или символа подчеркивания. Примеры имен переменных: D, X,Y,_P, Leda
Описание слайда:
Имена конкретных объектов, отношений, свойств образуются по определенным правилам, зависящим от версии языка Пролог, и называются символическими именами. Имена конкретных объектов, отношений, свойств образуются по определенным правилам, зависящим от версии языка Пролог, и называются символическими именами. Символическое имя (атом) – это неразрывная цепочка букв, цифр и символа подчеркивания, начинающаяся со строчной латинской (русской) буквы. Для именования объектов и их свойств могут использоваться строки – последовательности любых символов, заключенные в двойные кавычки. Например: стол, студент,table_1, «группа 408». Для описания в программе некоторого объекта, принадлежащего определенному классу, используется переменная. Переменная в программе представляется своим именем. Имя переменной в Прологе – это латинских букв или цифр, начинающихся с прописной латинской буквы или символа подчеркивания. Примеры имен переменных: D, X,Y,_P, Leda

Слайд 12





Чтобы описать отношение, необходимо указать его имя и перечислить либо классы объектов, либо конкретные объекты, связываемые этим отношением
Чтобы описать отношение, необходимо указать его имя и перечислить либо классы объектов, либо конкретные объекты, связываемые этим отношением
<имя отношения> (<имя объекта1>, <имя объекта2>, …,< имя объекта n>)
Для описания отношений в программе на Прологе используются предикаты.
Предикат – это логическая функция от n аргументов, имеющая только два значения «истина» или «ложь»:
<имя предиката  (<аргумент1>, <аргумент2>, …,< аргумент n>)
Описание слайда:
Чтобы описать отношение, необходимо указать его имя и перечислить либо классы объектов, либо конкретные объекты, связываемые этим отношением Чтобы описать отношение, необходимо указать его имя и перечислить либо классы объектов, либо конкретные объекты, связываемые этим отношением <имя отношения> (<имя объекта1>, <имя объекта2>, …,< имя объекта n>) Для описания отношений в программе на Прологе используются предикаты. Предикат – это логическая функция от n аргументов, имеющая только два значения «истина» или «ложь»: <имя предиката (<аргумент1>, <аргумент2>, …,< аргумент n>)

Слайд 13





Знания о предметной области выражаются на языке Пролог в виде предложений, называемых  утверждениями (СLAUSES).
Знания о предметной области выражаются на языке Пролог в виде предложений, называемых  утверждениями (СLAUSES).
<заголовок>.    /*факт*/
или
<заголовок>:-<тело>.   /*правило*/
где заголовок  является предикатом и полностью характеризует описываемое отношение.
Тело утверждения состоит либо из одного предиката либо из списка предикатов, разделенных знаками “,” “;”, “not”, соответствующими логическим  операциям И, ИЛИ, НЕ .
Описание слайда:
Знания о предметной области выражаются на языке Пролог в виде предложений, называемых утверждениями (СLAUSES). Знания о предметной области выражаются на языке Пролог в виде предложений, называемых утверждениями (СLAUSES). <заголовок>. /*факт*/ или <заголовок>:-<тело>. /*правило*/ где заголовок является предикатом и полностью характеризует описываемое отношение. Тело утверждения состоит либо из одного предиката либо из списка предикатов, разделенных знаками “,” “;”, “not”, соответствующими логическим операциям И, ИЛИ, НЕ .

Слайд 14





DOMAINS /*описание типов данных*/
DOMAINS /*описание типов данных*/
  name = string
FACTS    /*описание динамической базы данных*/
закуска (name)
мясо (name)
рыба (name)
десерт (name)
СLAUSES /*утверждения (факты и правила) БЗ*/
закуска («артишоки_в_белом_соусе»).
закуска («трюфели_в_шампанском»).
закуска («салат_с_яйцом»).
мясо («говяжье_жаркое»).
мясо («цыпленок_в_соусе»).
рыба («окунь_во_фритюре»).
рыба(«фаршированный_судак»).
десерт(«грушевое_мороженое»).
Описание слайда:
DOMAINS /*описание типов данных*/ DOMAINS /*описание типов данных*/ name = string FACTS /*описание динамической базы данных*/ закуска (name) мясо (name) рыба (name) десерт (name) СLAUSES /*утверждения (факты и правила) БЗ*/ закуска («артишоки_в_белом_соусе»). закуска («трюфели_в_шампанском»). закуска («салат_с_яйцом»). мясо («говяжье_жаркое»). мясо («цыпленок_в_соусе»). рыба («окунь_во_фритюре»). рыба(«фаршированный_судак»). десерт(«грушевое_мороженое»).

Слайд 15


Введение в Пролог, слайд №15
Описание слайда:

Слайд 16






Программа начинает выполняться, если в неё ввести те вопросы, ответы на которые хочет получить пользователь. Для этого предназначен раздел GOAL (Цель).
В нем записываются необходимые вопросы – третий тип утверждений в программе на Прологе
GOAL
рыба (*окунь_во_фритюре*).
yes
Описание слайда:
Программа начинает выполняться, если в неё ввести те вопросы, ответы на которые хочет получить пользователь. Для этого предназначен раздел GOAL (Цель). В нем записываются необходимые вопросы – третий тип утверждений в программе на Прологе GOAL рыба (*окунь_во_фритюре*). yes

Слайд 17






GOAL
закуска (Х).
Х= артишоки_в_белом_соусе
Х= трюфели_в_шампанском
Х= салат_с_тунцом
Описание слайда:
GOAL закуска (Х). Х= артишоки_в_белом_соусе Х= трюфели_в_шампанском Х= салат_с_тунцом

Слайд 18






PREDICATES /*Определение предиката блюдо*/
блюдо (name)
СLAUSES 
блюдо(Y):-мясо(Y)
блюдо(Y):-рыба (Y)
Описание слайда:
PREDICATES /*Определение предиката блюдо*/ блюдо (name) СLAUSES блюдо(Y):-мясо(Y) блюдо(Y):-рыба (Y)

Слайд 19






GOAL
блюдо(Y).
Y= говяжье_жаркое
Y= цыпленок_в_соусе
Y= окунь_во_фритюре
Y= фаршированный_судак
Описание слайда:
GOAL блюдо(Y). Y= говяжье_жаркое Y= цыпленок_в_соусе Y= окунь_во_фритюре Y= фаршированный_судак

Слайд 20






/*Определение отношения «обед»*/
обед (X,Y,Z):- закуска (X), блюдо(Y), десерт(Z).
обед (X,Y, Z).
 программа выдаст список всех возможных комбинаций из трех блюд:
X = артишоки_в_белом_соусе, Y = говяжье_жаркое, Z= грушевое_мороженое  …
GOAL
обед (X,Y, Z), рыба (Y).
Описание слайда:
/*Определение отношения «обед»*/ обед (X,Y,Z):- закуска (X), блюдо(Y), десерт(Z). обед (X,Y, Z). программа выдаст список всех возможных комбинаций из трех блюд: X = артишоки_в_белом_соусе, Y = говяжье_жаркое, Z= грушевое_мороженое … GOAL обед (X,Y, Z), рыба (Y).

Слайд 21


Введение в Пролог, слайд №21
Описание слайда:

Слайд 22





Примеры правил:
любит (X, «баскетбол»):- любит (X, «бег»).
можно купить (X) :-есть в магазине(X,V),V<3000.
cтарше (P1,P2) :-возраст (P1,V1), возраст (P2, V2), V1> V2.
Описание слайда:
Примеры правил: любит (X, «баскетбол»):- любит (X, «бег»). можно купить (X) :-есть в магазине(X,V),V<3000. cтарше (P1,P2) :-возраст (P1,V1), возраст (P2, V2), V1> V2.

Слайд 23





Варианты студентов
Нравится(Х, "пироженое»):-любит (Х, «сладкое)
Выше (Х1,Х2):-рост(Х1,У1), рост (Х2,У2),У1>У2
Нужно закупать(х):-есть на складе(х),х<10
Уложился в норматив(х,у):-время(х,у),у<12
Может(х,”скачатьфильм”):-Есть(x,”интернет”)
ПерекинутьФайл(х1,х2):-ЕмкостьНосителя(х1,у1),РазмерФайла(х2,у2),У1>У2
Описание слайда:
Варианты студентов Нравится(Х, "пироженое»):-любит (Х, «сладкое) Выше (Х1,Х2):-рост(Х1,У1), рост (Х2,У2),У1>У2 Нужно закупать(х):-есть на складе(х),х<10 Уложился в норматив(х,у):-время(х,у),у<12 Может(х,”скачатьфильм”):-Есть(x,”интернет”) ПерекинутьФайл(х1,х2):-ЕмкостьНосителя(х1,у1),РазмерФайла(х2,у2),У1>У2

Слайд 24





Варианты студентов
Нравится(Х, “Mercedes”):-нравится(Х,” немецкий автопром”)
Опытнее(Х1,Х2):-стаж(Х1,V1), стаж(X2, V2), V1>V2
Описание слайда:
Варианты студентов Нравится(Х, “Mercedes”):-нравится(Х,” немецкий автопром”) Опытнее(Х1,Х2):-стаж(Х1,V1), стаж(X2, V2), V1>V2

Слайд 25






DOMAINS /*описание типов данных*/
  kol_vo = integer
FACTS    /*описание динамической базы данных*/
калории (name, kol_vo )
СLAUSES /*утверждения (факты и правила) БЗ*/
калории(«артишоки_в_белом_соусе»,     150).
калории («трюфели_в_шампанском»,      212 ).
калории («салат_с_яйцом»,         202).
калории («говяжье_жаркое»,      532).
калории («цыпленок_в_соусе»,  400).
калории («окунь_во_фритюре»,   270).
калории(«фаршированный_судак»,   254).
калории(«грушевое_мороженое»,   223).
калории («земляника _со_сливками»,  289).
Описание слайда:
DOMAINS /*описание типов данных*/ kol_vo = integer FACTS /*описание динамической базы данных*/ калории (name, kol_vo ) СLAUSES /*утверждения (факты и правила) БЗ*/ калории(«артишоки_в_белом_соусе», 150). калории («трюфели_в_шампанском», 212 ). калории («салат_с_яйцом», 202). калории («говяжье_жаркое», 532). калории («цыпленок_в_соусе», 400). калории («окунь_во_фритюре», 270). калории(«фаршированный_судак», 254). калории(«грушевое_мороженое», 223). калории («земляника _со_сливками», 289).

Слайд 26





GOAL
GOAL
Описание слайда:
GOAL GOAL

Слайд 27





PREDICATES /*Определение предикатов*/
PREDICATES /*Определение предикатов*/
СLAUSES /*утверждения (факты и правила) БЗ*/
GOAL
Описание слайда:
PREDICATES /*Определение предикатов*/ PREDICATES /*Определение предикатов*/ СLAUSES /*утверждения (факты и правила) БЗ*/ GOAL

Слайд 28





Структура раздела утверждений программы
Определение отношения 2
Описание слайда:
Структура раздела утверждений программы Определение отношения 2

Слайд 29






symbol – символическое имя
string - строка
char - отдельный символ, заключенный в апострофы
Integer    целое число в диапазоне от -32768 до 32767
byte - целое число в диапазоне от 0 до 255 
word целое число в диапазоне от 0 до 65535
real- любое число
Описание слайда:
symbol – символическое имя string - строка char - отдельный символ, заключенный в апострофы Integer целое число в диапазоне от -32768 до 32767 byte - целое число в диапазоне от 0 до 255 word целое число в диапазоне от 0 до 65535 real- любое число

Слайд 30





Пять основных операций  определяют  реляционную алгебру:
Объединение
Симметрическая разность
Декартово произведение
Проекция
Выборка
Описание слайда:
Пять основных операций определяют реляционную алгебру: Объединение Симметрическая разность Декартово произведение Проекция Выборка

Слайд 31





Объединение

r_unon_s(X1,X2,…, Xn) :- r(X1,X2,…, Xn).
r_unon_s(X1,X2,…, Xn) :- s(X1,X2,…, Xn).
Пример:
блюдо(Y):-мясо(Y).
блюдо(Y):-рыба (Y).
Описание слайда:
Объединение r_unon_s(X1,X2,…, Xn) :- r(X1,X2,…, Xn). r_unon_s(X1,X2,…, Xn) :- s(X1,X2,…, Xn). Пример: блюдо(Y):-мясо(Y). блюдо(Y):-рыба (Y).

Слайд 32






Симметрическая разность

r_diff_s( X1,X2,…, Xn) :- r(X1,X2,…, Xn), not s(X1,X2,…, Xn). 
r_diff_s(X1,X2,…, Xn) :- s(X1,X2,…, Xn), not r(X1,X2,…, Xn). 
Пример:
футболист_либо_волейболист(X) :- футболист(X), not волейболист(X).
футболист_либо_волейболист() :- волейболист(X), not футболист(X)
Описание слайда:
Симметрическая разность r_diff_s( X1,X2,…, Xn) :- r(X1,X2,…, Xn), not s(X1,X2,…, Xn). r_diff_s(X1,X2,…, Xn) :- s(X1,X2,…, Xn), not r(X1,X2,…, Xn). Пример: футболист_либо_волейболист(X) :- футболист(X), not волейболист(X). футболист_либо_волейболист() :- волейболист(X), not футболист(X)

Слайд 33






Декартово произведение

r_x_s(X1,X2,…,Xn, Y1,Y2,…,Yn):- r(X1,X2,…Xn), s(Y1,Y2,…,Yn). 
Пример:
/*Определение отношения «обед»*/
обед (X,Y,Z):- закуска (X), блюдо(Y), десерт(Z).
Описание слайда:
Декартово произведение r_x_s(X1,X2,…,Xn, Y1,Y2,…,Yn):- r(X1,X2,…Xn), s(Y1,Y2,…,Yn). Пример: /*Определение отношения «обед»*/ обед (X,Y,Z):- закуска (X), блюдо(Y), десерт(Z).

Слайд 34






Проекция

r7(X1, X3):- r(X1,X2, …, Xn).
Пример:
аптека( 6, «Цвиллинга, 6», «264-67-66»).
телефон_аптеки(NomApt,TelApt):- аптека(NomApt, _, TelApt).
Описание слайда:
Проекция r7(X1, X3):- r(X1,X2, …, Xn). Пример: аптека( 6, «Цвиллинга, 6», «264-67-66»). телефон_аптеки(NomApt,TelApt):- аптека(NomApt, _, TelApt).

Слайд 35






Выборка
rv(X1,  X3):- r(X1,X2,X3), X2>X1
Пример:
аптека( 6, «Цвиллинга, 6», «264-67-66»).
телефон_аптеки(NomApt,TelApt):- аптека(NomApt, _, TelApt), NomApt <8.
сбалансированный_обед (X,Y,Z):-обед (X,Y, Z), значение (X,Y,Z,V),V<800.
Описание слайда:
Выборка rv(X1, X3):- r(X1,X2,X3), X2>X1 Пример: аптека( 6, «Цвиллинга, 6», «264-67-66»). телефон_аптеки(NomApt,TelApt):- аптека(NomApt, _, TelApt), NomApt <8. сбалансированный_обед (X,Y,Z):-обед (X,Y, Z), значение (X,Y,Z,V),V<800.

Слайд 36


Введение в Пролог, слайд №36
Описание слайда:

Слайд 37






name, child, grandchild – string
Parent(name, child)
 nondetermed Grandparent(name, grandchild)
Parent(Pam,Bob)
Parent(Tom,Bob)
Parent(Tom,Liz)
Parent(Bob,Ann)
Parent(Bob,Pat)
Parent(Pat,Jim)
Grandparent(Pam, Ann)
Grandparent(Tom, Ann)
Grandparent(Bob, Jim)
Grandparent(Pam, Pat)
Grandparent(Tom,Pat
)
Описание слайда:
name, child, grandchild – string Parent(name, child) nondetermed Grandparent(name, grandchild) Parent(Pam,Bob) Parent(Tom,Bob) Parent(Tom,Liz) Parent(Bob,Ann) Parent(Bob,Pat) Parent(Pat,Jim) Grandparent(Pam, Ann) Grandparent(Tom, Ann) Grandparent(Bob, Jim) Grandparent(Pam, Pat) Grandparent(Tom,Pat )

Слайд 38


Введение в Пролог, слайд №38
Описание слайда:

Слайд 39


Введение в Пролог, слайд №39
Описание слайда:

Слайд 40


Введение в Пролог, слайд №40
Описание слайда:

Слайд 41


Введение в Пролог, слайд №41
Описание слайда:

Слайд 42


Введение в Пролог, слайд №42
Описание слайда:

Слайд 43


Введение в Пролог, слайд №43
Описание слайда:

Слайд 44


Введение в Пролог, слайд №44
Описание слайда:

Слайд 45


Введение в Пролог, слайд №45
Описание слайда:

Слайд 46


Введение в Пролог, слайд №46
Описание слайда:

Слайд 47


Введение в Пролог, слайд №47
Описание слайда:

Слайд 48


Введение в Пролог, слайд №48
Описание слайда:

Слайд 49





Рассмотрим следующие предложения на естественном языке:

«Маше нравятся цветы»
«Аня любит сына»
Сын Ани любит Машу
«Оля любит всех, кого любит Аня»
«Нам нравится всё, что нравится человеку, которого мы любим»
Как можно записать эти предложения в виде фактов ?
Описание слайда:
Рассмотрим следующие предложения на естественном языке: «Маше нравятся цветы» «Аня любит сына» Сын Ани любит Машу «Оля любит всех, кого любит Аня» «Нам нравится всё, что нравится человеку, которого мы любим» Как можно записать эти предложения в виде фактов ?

Слайд 50






нравится (маша, цветы)
любит (аня, сын(аня))
любит (сын(аня), маша)
Описание слайда:
нравится (маша, цветы) любит (аня, сын(аня)) любит (сын(аня), маша)

Слайд 51






Четвертое предложение задает правило:
«Для любого Х, если любит (аня, Х), то из этого следует, что любит (оля, Х)»
Запишем это правило в виде импликации:
любит (оля, Х)   любит (аня, Х),
Описание слайда:
Четвертое предложение задает правило: «Для любого Х, если любит (аня, Х), то из этого следует, что любит (оля, Х)» Запишем это правило в виде импликации: любит (оля, Х)  любит (аня, Х),

Слайд 52






Антон, Миша и Женя – члены альпинклуба. Каждый член альпинклуба или горнолыжник, или скалолаз или и то, и другое. Никто из скалолазов не любит дождь. Все горнолыжники любят снег. Миша любит всё, что не любит Антон, и не любит всё, что любит Антон. Антон любит снег и дождь. Есть ли член альпинклуба, который является скалолазом и не является горнолыжником? И Кто он?
Описание слайда:
Антон, Миша и Женя – члены альпинклуба. Каждый член альпинклуба или горнолыжник, или скалолаз или и то, и другое. Никто из скалолазов не любит дождь. Все горнолыжники любят снег. Миша любит всё, что не любит Антон, и не любит всё, что любит Антон. Антон любит снег и дождь. Есть ли член альпинклуба, который является скалолазом и не является горнолыжником? И Кто он?

Слайд 53





Вариант Ивана Пименова
DOMAINS
Name string
PREDICATES
Горнолыжник (Name)
Скалолаз (Name)
Любит_дождь (Name)
Любит_снег (Name)
FACTS
горнолыжник (Name):-любит_снег (Name)
скалолаз (Name):- not любит_дождь (Name)
CLAUSES
Любит_снег(Антон)
Любит_дождь(Антон)
Любит_снег(Миша):- not Любит_снег(Антон)
Любит_дождь(Миша):- not Любит_дождь(Антон)
Not Любит_снег(Миша):- Любит_снег(Антон)
Not Любит_дождь(Миша):- Любит_дождь(Антон)
GOAL
? Скалолаз(Name), not горнолыжник(name)
Описание слайда:
Вариант Ивана Пименова DOMAINS Name string PREDICATES Горнолыжник (Name) Скалолаз (Name) Любит_дождь (Name) Любит_снег (Name) FACTS горнолыжник (Name):-любит_снег (Name) скалолаз (Name):- not любит_дождь (Name) CLAUSES Любит_снег(Антон) Любит_дождь(Антон) Любит_снег(Миша):- not Любит_снег(Антон) Любит_дождь(Миша):- not Любит_дождь(Антон) Not Любит_снег(Миша):- Любит_снег(Антон) Not Любит_дождь(Миша):- Любит_дождь(Антон) GOAL ? Скалолаз(Name), not горнолыжник(name)

Слайд 54





DOMAINS /*задание областей данных*/
DOMAINS /*задание областей данных*/
  Name = anton;misha;jenia /*Область Name     это или anton или misha или jenia */
   Weather = rain;snow /*Определение области Weather */
   Spec = skalolaz;gornolysnik /*Определение области Spec */
Описание слайда:
DOMAINS /*задание областей данных*/ DOMAINS /*задание областей данных*/ Name = anton;misha;jenia /*Область Name это или anton или misha или jenia */ Weather = rain;snow /*Определение области Weather */ Spec = skalolaz;gornolysnik /*Определение области Spec */

Слайд 55





PREDICATES /*Определение предикатов*/
PREDICATES /*Определение предикатов*/
   club (Name) /* Name является членом клуба*/
    nlike (Name, Weater) /* Name не нравится Weater */
    like (Name, Weater) /* Name нравится Weater */
    is (Name, Spec) /* Name по специализации Spec */
    question /*Теорема, которую нужно доказать*/
Описание слайда:
PREDICATES /*Определение предикатов*/ PREDICATES /*Определение предикатов*/ club (Name) /* Name является членом клуба*/ nlike (Name, Weater) /* Name не нравится Weater */ like (Name, Weater) /* Name нравится Weater */ is (Name, Spec) /* Name по специализации Spec */ question /*Теорема, которую нужно доказать*/

Слайд 56





Факты и правила
CLAUSES
   club(anton). club(misha). club(jenia).
   like(anton, snow). like(anton, rain). 
    like(misha,X) :- not(like(anton,X)).
    nlike(X,Y):-not(like(X,Y)).
    nlike(misha,Y):-like(anton,Y).
  is (X, gornolysnik):- club(X), like(X,snow).
  is (X, skalolaz):-club(X), not(like(X,rain)).
Описание слайда:
Факты и правила CLAUSES club(anton). club(misha). club(jenia). like(anton, snow). like(anton, rain). like(misha,X) :- not(like(anton,X)). nlike(X,Y):-not(like(X,Y)). nlike(misha,Y):-like(anton,Y). is (X, gornolysnik):- club(X), like(X,snow). is (X, skalolaz):-club(X), not(like(X,rain)).

Слайд 57





Выясняем имя того, кто является скалолазом и не является горнолыжником. Предикат неудачи – fail , заставляет перейти к следующему определению question
question:-
   readchar(),
   nl, is(Name, skalolas),not(is(Name,gornolysnik)),
   cursor(10,20), write(“Скалолаз,но не горнолыжник),
   wrute (Name), readchar(),nl,fail.
Описание слайда:
Выясняем имя того, кто является скалолазом и не является горнолыжником. Предикат неудачи – fail , заставляет перейти к следующему определению question question:- readchar(), nl, is(Name, skalolas),not(is(Name,gornolysnik)), cursor(10,20), write(“Скалолаз,но не горнолыжник), wrute (Name), readchar(),nl,fail.

Слайд 58





Выясняем имя того, кто является  и 
скалолазом и горнолыжником. 
question:-
   nl, is(Name, skalolas),is(Name,gornolysnik),
   cursor(12,20), write(“Скалолаз и горнолыжник: “),
   wrute (Name), readchar(),nl,fail.
Какая специализация у Антона
question:-
   nl, is(anton, Spec),
   cursor(14,20), write(“anton -“, Spec),
   readchar(),nl,fail.
Описание слайда:
Выясняем имя того, кто является и скалолазом и горнолыжником. question:- nl, is(Name, skalolas),is(Name,gornolysnik), cursor(12,20), write(“Скалолаз и горнолыжник: “), wrute (Name), readchar(),nl,fail. Какая специализация у Антона question:- nl, is(anton, Spec), cursor(14,20), write(“anton -“, Spec), readchar(),nl,fail.

Слайд 59






question:-
   nl, is(Name, gornolysnik),
   not (is(Name,skalolas)),
   cursor(16,20), write(“Не скалолаз, но горнолыжник: “),
   wrute (Name), readchar(),nl,fail.
GOAL 
 question.
Описание слайда:
question:- nl, is(Name, gornolysnik), not (is(Name,skalolas)), cursor(16,20), write(“Не скалолаз, но горнолыжник: “), wrute (Name), readchar(),nl,fail. GOAL question.

Слайд 60





Король думает, что королева думает, что она не в своем уме. 
В своем ли уме король?
DOMAINS /*Описание областей данных*/
  Name = KL; KWA
    Swoystwo = wume;newume
 /* Swoystwo может принимать значение wume или newume* /
  Mysly = imeet_mesto(Swoystwo, Swoystwo)
  /* Mysly - это то, о чем можно думать*/
Описание слайда:
Король думает, что королева думает, что она не в своем уме. В своем ли уме король? DOMAINS /*Описание областей данных*/ Name = KL; KWA Swoystwo = wume;newume /* Swoystwo может принимать значение wume или newume* / Mysly = imeet_mesto(Swoystwo, Swoystwo) /* Mysly - это то, о чем можно думать*/

Слайд 61





PREDICATES  /*Описание предикатов*/
PREDICATES  /*Описание предикатов*/
   mojetbyt (Swoystwo)   /* mojetbyt  - cвойство, принимающее значение из области Swoystwo */
   imeet_mesto(Swoystwo, Swoystwo)
   dumaet (Swoystwo, Mysly)
   wopros
Описание слайда:
PREDICATES /*Описание предикатов*/ PREDICATES /*Описание предикатов*/ mojetbyt (Swoystwo) /* mojetbyt - cвойство, принимающее значение из области Swoystwo */ imeet_mesto(Swoystwo, Swoystwo) dumaet (Swoystwo, Mysly) wopros

Слайд 62





CLAUSES  /*Описание  предметной области*/
CLAUSES  /*Описание  предметной области*/
 mojetbyt (wume). mojetbyt (newume).
/*можно быть или « в своем уме» 
или «не в своем уме»*/
Описание слайда:
CLAUSES /*Описание предметной области*/ CLAUSES /*Описание предметной области*/ mojetbyt (wume). mojetbyt (newume). /*можно быть или « в своем уме» или «не в своем уме»*/

Слайд 63





dumaet (wume, imeet_mesto(X,Y)):-  						            imeet_mesto(X,Y).
dumaet (wume, imeet_mesto(X,Y)):-  						            imeet_mesto(X,Y).
/*»в своем уме» думает то, что есть на самом деле*/
Описание слайда:
dumaet (wume, imeet_mesto(X,Y)):- imeet_mesto(X,Y). dumaet (wume, imeet_mesto(X,Y)):- imeet_mesto(X,Y). /*»в своем уме» думает то, что есть на самом деле*/

Слайд 64






 dumaet(newume, imeet_mesto(X,Y)):-not imeet_mesto(X,Y)).
/*» не в своем уме» думает то, чего нет на самом деле*/
Описание слайда:
dumaet(newume, imeet_mesto(X,Y)):-not imeet_mesto(X,Y)). /*» не в своем уме» думает то, чего нет на самом деле*/

Слайд 65






 imeet_mesto(X,Y). /*на самом деле, есть то, что есть*/
Описание слайда:
imeet_mesto(X,Y). /*на самом деле, есть то, что есть*/

Слайд 66






 wopros:- mojetbyt(KL), mojetbyt(KWA),
  dumaet (KL, dumaet(KWA, imeet_mesto(KWA, newume))),
  nl, write («Королева -», KWA, «король - », KL), nl, fail.
Описание слайда:
wopros:- mojetbyt(KL), mojetbyt(KWA), dumaet (KL, dumaet(KWA, imeet_mesto(KWA, newume))), nl, write («Королева -», KWA, «король - », KL), nl, fail.

Слайд 67





GOAL /*Запрос или теорема, которую нужно доказать*/
GOAL /*Запрос или теорема, которую нужно доказать*/
wopros
Описание слайда:
GOAL /*Запрос или теорема, которую нужно доказать*/ GOAL /*Запрос или теорема, которую нужно доказать*/ wopros



Похожие презентации
Mypresentation.ru
Загрузить презентацию