51430

Родственные отношения

Лабораторная работа

Информатика, кибернетика и программирование

Составить родословную своей семьи, использовав 10-12 отношений родитель. Определить предикат пол для каждого члена семьи. Определить предикаты мать, отец, дядя, тетя, кузен, дед, внук. Определить рекурсивный предикат предок.

Русский

2014-02-11

119.5 KB

7 чел.

Московский государственный технический университет им. Н.Э. Баумана

Калужский филиал

Отчет по лабораторной работе №4

«Родственные отношения»

Выполнил: студентка группы ЭВМ-81

Щукина А.К.

Проверил: Смирнов С.Г.

Калуга, 2013

Условие варианта

1. Составить родословную своей семьи, использовав 10-12 отношений родитель. Определить предикат пол  для каждого члена семьи.

2. Определить предикаты  мать, отец, дядя, тетя, кузен, дед, внук.

3. Определить рекурсивный предикат  предок.

4. Оттранслируйте следующие утверждения в правила на Прологе:

        а) всякий, кто имеет ребенка - счастлив;

        б) всякий  Х, имеющий ребенка, у которого есть сестра, имеет двух детей.

5. Определить предикат  найти_тетю(Х) , выдающий информацию о наличии  (отсутствии) тети у личности  Х. Определить предикаты о наличии прочих родственников у личности  Х.

6. Определить предикат, дающий список всех родственников личности  Х. Переменную  Х ввести.

Родословная

Листинг программы

predicates

male(symbol)

female(symbol)

parent(symbol, symbol)

father(symbol, symbol)

mother(symbol, symbol)

son(symbol, symbol)

daughter(symbol, symbol)

uncle(symbol, symbol)

aunt(symbol, symbol)

cousin(symbol, symbol)

grandfa(symbol, symbol)

grandma(symbol, symbol)

grandson(symbol, symbol)

granddaughter(symbol, symbol)

brother(symbol, symbol)

sister(symbol, symbol)

happy(symbol)

two_child(symbol)

find_father(symbol)

find_mother(symbol)

find_son(symbol)

find_daughter(symbol)

find_uncle(symbol)

find_aunt(symbol)

find_cousin(symbol)

find_grandfa(symbol)

find_grandma(symbol)

find_grandson(symbol)

find_granddaughter(symbol)

find_brother(symbol)

find_sister(symbol)

all_family(symbol)

clauses

female("Mariya").

female("Alla").

female("Anastasiya").

female("Anna").

female("Luba").

female("Marina").

male("Nikolay").

male("Ivan").

male("Dmitriy").

male("Victor").

male("Fedor").

male("Sergey").

male("Vladimir").

male("Andrey").

 

parent("Nikolay", "Anastasiya").

parent("Nikolay", "Anna").

parent("Mariya", "Anastasiya").

parent("Mariya", "Anna").

 

parent("Ivan", "Victor").

parent("Ivan", "Fedor").

parent("Alla", "Victor").

parent("Alla", "Fedor").

 

parent("Dmitriy", "Marina").

parent("Anastasiya", "Marina").

 

parent("Victor", "Sergey").

parent("Luba", "Sergey").

 

parent("Sergey", "Vladimir").

parent("Sergey", "Andrey").

parent("Marina", "Vladimir").

parent("Marina", "Andrey").

father(P,C):- male(P), parent(P,C).

mother(P,C):- female(P), parent(P,C).

son(C,P):- male(C), parent(P,C).

daughter(C,P):- female(C), parent(P,C).

sister(S,BS):- female(S), parent(P,S), parent(P,BS), male(P), S<>BS.

brother(B,BS):- male(B), parent(P,B), parent(P,BS), male(P), B<>BS.

uncle(U,C):- male(U), parent(P,C), parent(P1,P), parent(P1,U), male(P1), U<>P.

aunt(A,C):- female(A), parent(P,C), parent(P1,P), parent(P1,A), male(P1), A<>P.

cousin(C,UA):- male(C), parent(P,C), parent(P1,P), parent(P1,UA), male(P1), P<>UA;

      female(C), parent(P,C), parent(P1,P), parent(P1,UA), male(P1), P<>UA.

grandfa(GF,C):- male(GF), parent(P,C), parent(GF,P).

grandma(GM,C):- female(GM), parent(P,C), parent(GM,P).

grandson(GS,GFM):- male(GS), parent(P,GS), parent(GFM,P).

granddaughter(GD,GFM):- female(GD), parent(P,GD), parent(GFM,P).

%sister(X,Y):- female(X), parent(Z,X), parent(Z,Y), male(Z), X<>Y.

 

happy(X):- parent(X,Y).

two_child(X):- parent(X,S), sister(S,Y).

 

find_father(X):- father(Y,X), write(X, " has father ", Y), nl;

     write(X, " hasn't father"), nl.

find_mother(X):- mother(Y,X), write(X, " has mother ", Y), nl;

     write(X, " hasn't mother"), nl.

find_son(X):- son(X,Y), write(X, " has son ", Y), nl;

     write(X, " hasn't son"), nl.

find_daughter(X):- daughter(X,Y), write(X, " has daughter ", Y), nl;

       write(X, " hasn't daughter"), nl.

find_uncle(X):- uncle(Y,X), write(X, " has uncle ", Y), nl;

    write(X, " hasn't uncle"), nl.

find_aunt(X):- aunt(Y,X), write(X, " has aunt ", Y), nl;

      write(X, " hasn't aunt"), nl.

find_cousin(X):- cousin(Y,X), write(X, " has cousin ", Y), nl;

     write(X, " hasn't cousin"), nl.

find_grandfa(X):- grandfa(Y,X), write(X, " has grandfa ", Y), nl;

      write(X, " hasn't grandfa"), nl.

find_grandma(X):- grandma(Y,X), write(X, " has grandma ", Y), nl;

      write(X, " hasn't grandma"), nl.

find_grandson(X):- grandson(Y,X), write(X, " has grandson ", Y), nl;

       write(X, " hasn't grandson"), nl.

find_granddaughter(X):- granddaughter(Y,X), write(X, " has granddaughter ", Y), nl;

         write(X, " hasn't granddaughter"), nl.

find_brother(X):- brother(Y,X), write(X, " has brother ", Y), nl;

      write(X, " hasn't brother"), nl.

find_sister(X):- sister(Y,X), write(X, " has sister ", Y), nl;

     write(X, " hasn't sister"), nl.

     

all_family(X):- write("FAMILY OF ", X), nl,

    father(F,X), write("Father: ", F), nl, not(father(F,X));

    mother(M,X), write("Mother: ", M), nl, not(mother(M,X));

    son(S,X), write("Son: ", S), nl, not(son(S,X));

    daughter(D,X), write("Daughter: ", D), nl, not(daughter(D,X));

    uncle(U,X), write("Uncle: ", U), nl,not(uncle(U,X));

    aunt(A,X), write("Aunt: ", A), nl, not(aunt(A,X));

    cousin(C,X), write("Cousin: ", C), nl, not(cousin(C,X));

    grandfa(GF,X), write("Grandfa: ", GF), nl, not(grandfa(GF,X));

    grandma(GM,X), write("Grandma: ", GM), nl, not(grandma(GM,X));

    grandson(GS,X), write("Grandson: ", GS), nl, not(grandson(GS,X));

    granddaughter(GD,X), write("Granddaughter: ", GD), nl, not(granddaughter(GD,X));

    brother(B,X), write("Brother: ", B), nl, not(brother(B,X));

    sister(S1,X), write("Sister: ", S1), nl, not(sister(S1,X)).

Результаты выполнения лабораторной

Рис.1


 

А также другие работы, которые могут Вас заинтересовать

31795. Метод имитационного моделирования управленческого решения 35 KB
  Метод имитационного моделирования управленческого решения. Имитационное моделирование это частный случай математического моделирования. Применение имитационного моделирования К имитационному моделированию прибегают когда: дорого или невозможно экспериментировать на реальном объекте; невозможно построить аналитическую модель: в системе есть время причинные связи последствие нелинейности стохастические случайные переменные; необходимо сымитировать поведение системы во времени. Цель имитационного моделирования состоит в воспроизведении...
31796. Методы моделирования знаний при принятии управленческого решения 34.5 KB
  Методы моделирования знаний при принятии управленческого решения. Проблема моделирования знаний решается в разделе информатики который носит название Искусственный интеллект. Основой любой системы искусственного интеллекта является модель знаний и созданная на ее основе база знаний. Всякая конкретная база знаний содержит модель определенной предметной области.
31797. Место принятия решений в цикле управления. Сущность и классификация управленческих решений 37 KB
  Сущность и классификация управленческих решений. Одной из важнейших задач теории принятия решений ТПР явл достижение большей убедительности выводов и рекомендаций ЛПР и обоснованности выбора лучшего решения. Предметом РУР: не ответ на какое решение принять в той или иной ситуации а ответ на как организовать процесс разработки и принятия решений какие методы при этом использовать.
31798. Концепции и принципы принятия управленческих решений 34.5 KB
  Методология ТПР базируется на совокупности концепции принципов ТПР Концепции Принципы Системы Цели Рацть Множть альтер Наилучш реш Измерение Система необходимо рассм организационную среду как систему Рациональности принятие решения наилучшего варианта среди др принято считать логически не противоречивую полную и количественно подтвержденную систему докв. Наилучшего решения необходимо выбрать...
31799. Модель проблемной ситуации и принятие решений 30 KB
  situtio положение 1 соотношение обстоятельств и условий в крых разворачивается деятельность человека или группы содержащее противоречие и не имеющее однозначного решения; 2 психол. Начальным звеном разрешения возникшего противоречия является заданный человеком самому себе вопрос о причинах возникшей трудности. Проблемная ситуация предполагает неудовлетворенность лица принимающего решения целеустремленное состояние и необходимость действий для устранения проблемы. Свва проблем: 1ее нужно решать 2неповторимость ситуации выбора...
31800. Характеристика процесса разработки решений в сложных ситуациях 31.5 KB
  Характеристика процесса разработки решений в сложных ситуациях. В состав второго блока этапов разработки управленческого решения входят: генерирование альтернативных вариантов решений; отбор основных вариантов управленческих воздействий; разработка сценариев развития ситуации; экспертная оценка основных вариантов управляющих воздействий. Разработка решений это не есть однократный волевой акт осуществляемый ЛПР. Под сложными ситуациями разработки решений мы понимаем такие проблемные ситуации которые отличаются от несложных обыденных...
31801. Методы и технологии разработки управленческих решений в условиях определенности 30 KB
  2 Лексикографическая задача 3 Метод последовательных уступок Суть метода последовательных уступок Процедура решения многокритериальной задачи методом последовательных уступок заключается в том что все частные критерии располагают и нумеруют в порядке их относительной важности; максимизируют первый наиболее важный критерий; затем назначают величину допустимого снижения значения этого критерия и максимизируют второй по важности частный критерий при условии что значение первого критерия не должно отличаться от максимального более чем на...
31802. Понятие риска, составляющие и источники рисков в управлении 26 KB
  Понятие риска составляющие и источники рисков в управлении. Риск [греч. Риск предполагает неуверенность либо невозможность получения достоверного знания о благоприятном исходе в заданных внешних обстоятельствах; Риск в узком смысле измеряемая или рассчитываемая вероятность неблагоприятного исхода что подразумевает наличие статистических данных. Риск принято рассматривать как историческую и экономическую категории.
31803. Стратегии управления риском 24.5 KB
  При принятии страт решений необходимо проводить анализ рисков: 1Качественный анализ определение факторов риска и обстоятельств приводящих к рискованным ситуациям. 2Количественный анализ позволяет вычислить величину отдельных рисков и риска проекта в целом. Способы измерения риска: 1Стаитстическая оценка 2Экспертаная 3Оценка на основе моделей принятия решений.избежание риска.