justify"> Висновок
Теорія графів застосовується в багатьох областях людської діяльності для формалізації інформації та виявлення прихованих закономірностей. На прикладі задачі про відшукання оптимального каркаса можна бачити, що теоретико-графові алгоритми легко і у вигляді, зручному для сприйняття, переводяться на декларативні мови, при цьому ефективність реалізації лише в деяких випадках поступається реалізаціям на імперативних мовах програмування. Також можна відзначити, що всі інструкції програми спрямовані виключно на вирішення завдання, відсутні операції приведення типів, присвоювання і т.п., що значно скорочує кількість можливих помилок. Т.ч., декларативні мови програмування є потужним і зручним інструментом вирішення завдань. br/>
Список літератури
1 Душкін Р.В. Функціональне програмування мовою Haskell. М.: ДМК Пресс, 2007. - 608 с., Іл. p align="justify"> Стерлінг Л., Шапіро Е. Мистецтво програмування мовою Пролог: Пер. з англ.-М.: Світ, 1990. -235 С., Іл. p align="justify"> Абельсон Х., Сассман Дж. Структура та інтерпретація комп'ютерних програм - М.: Добросвет, КДУ, 2006. - 608 с.: Іл. p align="justify"> Іван Братко. Алгоритми штучного інтелекту на мові PROLOG, 3-е видання. : Пер. з англ. - М.: Видавничий дім «³льямсВ», 2004. - 640 с.: Іл. Парал. тит. Англ. p align="justify"> Касьянов В.М., Євстигнєєв В.А. Графи в програмуванні: обробка, візуалізація та застосування. - Спб.: БХВ-Петербург, 2003. - 1104 с.: Іл. p align="justify"> Крістофідес Н. Теорія графів. Алгоритмічний підхід. М. ДМК Пресс, 2003. - 356 с., Іл. br/>
Додаток
elem (X, [X | _]). (X, [_ | HS]): - elem (X, HS).
(graph ([V | VS], E), [V], [], XS): - markerVx (VS, V, E, XS).
([], _, _, []). ([H | T], S, E, [X | XS]): - elem (edge ​​(H, S, W), E), X = mark (H, S, W), markerVx (T, S, E, XS). ([H | T], S, E, [mark (H, S, 99999) | XS]): - not (elem (edge ​​(H, S, W), E)), markerVx (T, S, E, XS).
([], M, par (X, Y)): - M = mark (X, Y, _). ([H | T], mark (X, Y, M), XS): - H = mark (X1, Y1, Z1), Z1
(X, Res): - primeMin (X, mark (0, 0, 99999), Res).
(graph (V, E), T, S, _, S): - length (V, L1), length (T, L2), L1 is L2. (graph (V, E ), T, S, MN, Res):-primeMinimum (MN, par (X, Y)), remark (MN, E, X, D), primeSearch (graph (V, E), [X | T], [edge (X, Y) | S], D, Res).
([], _, _, []). ([H | HS], E, X, TH): - H = mark (X, _, _), remark (HS, E, X, TH). ([H | T], E, X, [NH | TH]): - H = mark (X1, X2, W), elem (edge ​​(X1, X, W1), E) , W1
[0...