Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск людей с самым большим количеством общих 
:(
    Опции темы
seltsam
Дата 30.11.2015, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 30.11.2015

Репутация: нет
Всего: нет



Доброго времени суток, Уважаемые! 
Есть вот такая задача: в пролог-программе заданы отношения likes(Person, Thing) (Person — человек которому нравится вещь Thing). Определить предикат mostResembling(Person1, Person2) для нахождения людей с самым большим количеством общих предпочтений.
Использую SWI-Prolog.
Написала вот такой код
Код

likes(tom,book).
likes(pam,fish).
likes(ann, apple).
likes(ann, cat).
likes(ann, flower).
likes(bob, apple).
likes(bob, cat).
likes(bob, flower).
likes(pem, apple).
likes(pem, cat).
likes(pem, phone).
:-dynamic likesInfo/2.
changeDB(X,Y) :-
        (retract(likesInfo(X, C));  C = 0),
        C1 is C + 1,
        assertz(likesInfo(X, C1)).        
existBetter(X):-
        likesInfo(X,C), likesInfo(X1,C1), C1 > C.
mostResembling(L):-
        forall(likes(X, Y),  changeDB(X,Y)),
        findall(X, (likesInfo(X,  _), not(existBetter(X))), L),
        retractall(likesInfo(_,_)).

Но в данный момент у меня находит список людей просто с самым большим количеством предпочтений. А вот как сравнивать сами преподчтения и выбирать самое большое количество никак не пойму. Помогит пожалуйста! Заранее благодарю!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума Prolog
Void
  • Пожалуйста, создавайте темы с содержательными названиями.
  • Уважаемые учащиеся, здесь всегда рады помочь Вам, но не делать за Вас вашу работу. У вас гораздо больше шансов получить помощь, если Вы приложите усилия и поделитесь с нами проблемами и результатами. В противном случае добро пожаловать в раздел Центр Помощи.
  • Получив ответ на интересующий Вас вопрос, не забудьте пометить его как решённый.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Prolog | Следующая тема »


 




[ Время генерации скрипта: 0.1001 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.