![]() Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Likes(ellen, tennis).
Likes(john, football). Likes(tom, baseball). Likes(eric, swimming). Likes(mark, tennis). Likes(bill, Activity): - likes(tom, Activity). Предложение состоит из фактов и правил. В логике предиката, которую Пролог использует, отношение получено в простой фразе - факте, который состоит из названия отношения (такое отношение называется предикатом), сопровождаемого конкретным объектом или объектами (заключенных в круглых скобках). Факт, выражающий отношение «likes» в естественном языке: ellen likes tennis - Эллин любит теннис. Вот тот же самый факт, написанный на языке Пролог: likes(ellen, tennis). Последняя строка в Программе является правилом: likes(bill, Activity): - likes(tom, Activity). Это правило соответствует следующему утверждению в естественном языке Bill likes an activity if Tom likes that activity. - Bill любит занятие, если Tom любит это занятие. В этом правиле, головой является likes(bill, Activity), а телом - likes(tom, Activity). Заметьте, что в этом примере нет никакого факта о том, что Билл любит бейсбол (Bill likes baseball). 5. На Прологе, чтобы выяснить, любит ли Билл бейсбол, задайте такой запрос: likes(bill, baseball). При попытке найти решение этого запроса, Пролог будет использовать правило: likes(bill, Activity): - likes(tom, Activity). В результате программный код должен выглядеть следующим образом: PREDICATES nondeterm likes(symbol, symbol)
CLAUSES likes(ellen, tennis). likes(john, football). likes(tom, baseball). likes(eric, swimming). likes(mark, tennis). likes(bill, Activity): - likes(tom, Activity).
GOAL likes(bill, baseball).
6. Чтобы проверить написанную программу нажмите пункт меню Project → Test Goal. Система выдаст ответ в диалоговом окне (рис. 1) - Yes.
Рис. 1. Пример программы на Прологе по определению нравится ли Биллу бейсбол Забиваем Сайты В ТОП КУВАЛДОЙ - Уникальные возможности от SeoHammer
Каждая ссылка анализируется по трем пакетам оценки: SEO, Трафик и SMM.
SeoHammer делает продвижение сайта прозрачным и простым занятием.
Ссылки, вечные ссылки, статьи, упоминания, пресс-релизы - используйте по максимуму потенциал SeoHammer для продвижения вашего сайта.
Что умеет делать SeoHammer
— Продвижение в один клик, интеллектуальный подбор запросов, покупка самых лучших ссылок с высокой степенью качества у лучших бирж ссылок. — Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта. — Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы). — SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание. SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Зарегистрироваться и Начать продвижение
Это результат объединения правила likes(bill, Activity): - likes(tom, Activity). с фактом likes(tom, baseball). 7. Для того чтобы решить, любит ли Бил бейсбол likes(bill, baseball). Исправьте запрос в разделе GOAL likes(bill, baseball) на likes(bill, tennis). Система ответит (рис. 2) - No. Рис. 2. Пример программы на Прологе по определению нравится ли Биллу теннис
Visual Prolog ответил No на последний запрос (" Does Bill likes tennis? "), потому что не было факта, что Bill likes tennis (Билл любит теннис). Объекты Bill и tennis не могут быть выведены, используя имеющиеся правила и факты. Конечно, может быть Билл и обожает теннис в реальной жизни, но Visual Prolog отвечает, основываясь только на факты и правила, которые были заданы в программе. 8. Рассмотрим следующий пример. Имеется база данных, содержащая следующие факты: родитель(илья, марина). родитель(марина, ира). родитель(елена, иван). родитель(николай, ира). родитель(ольга, алексей). родитель(марина, саша). родитель(сергей, иван). Необходимо определить: 1) верно ли, что Марина является родителем Саши; 2) верно ли, что Алексей является родителем Ольги; 3) кто является ребенком Николая; 4) кто родители Ивана; 5) всех родителей и их детей. 9. Для начала опишем разделы доменов и предикатов.
|