IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

> Гамильтонов цикл на Prolog, Гамильтонов цикл на Prolog
kosyak
сообщение 30.10.2008 12:13
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 100
Пол: Мужской

Репутация: -  0  +


Доброго всем времени суток. Помогите разобраться с задачей: "определение цикла Гамильтона в заданном графе". Язык prolog. Какой может быть алгоритм, где можно об этом попонятней почитать? Может есть уже готовая))) На pascalе бы быстро все сделал, а вот с логическим программированием пока проблемы.

Заранее огромное спасибо.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
kosyak
сообщение 2.11.2008 14:51
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 100
Пол: Мужской

Репутация: -  0  +


Вот описал часть программы:

Код

domains
  VMas=integer*
  R=Rebro(integer,integer)
  RMas=R*
predicates
  path(integer,integer,VMas,RMas,VMas)
  path1(integer,VMas,VMas,RMas,VMas)
  smezh(integer,integer,VMas,RMas)
  prinad(R,RMas)
clauses
  
  path(A,X,VM,RM,P):-
    path1(A,[Z],VM,RM,P).
    
  path1(A,[A|P1],_,_,[A|P1]).
    
  path1(A,[Y|P1],VM,RM,P):-
    smezh(X,Y,VM,RM),
    prinad(X,P1),
    path1(A,[X,Y|P1],VM,RM,P).
    
  smezh(X,Y,VM,RM):-
    prinad(Rebro(X,Y),RM);
    prinad(Rebro(Y,X),RM).
    
  prinad(X, [X|_]).
  prinad(X, [_|L]):-prinad(X,L).


Подчеркивает prinad(Rebro(X,Y),RM); пишет: "423 ',' or ')' expected"

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.06.2025 0:06
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"