КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Subset(A,B), not(equal(A,B))
Equal(A,B):– subset(A,B), subset(B,A). Subseti(A,B):- intersection(A,B,A). Subsetu(A,B):- union(A,B,B). Subset([H|T],S):– member(H,S), subset(T,S). Subset([],_).
Це відношення можна також визначити через уже визначені предикати union і intersection. З математики відомо, що A ⊆ B«AÈB=B. Тобто, одна множина є підмножиною іншої тоді й тільки тоді, коли їх об'єднання співпадає із другою множиною. Або, аналогічно, A ⊆ B«AÇB=А. Тобто одна множина є підмножиною іншої тоді й тільки тоді, коли їхній перетин збігається з першою множиною. Обидва ці математичні співвідношення на Прологу мають вигляд:
Перевірка на прикладах показує, що предикати subset, subsetu, subseti дають однакові рішення. Збіг двох множин: дві множини A і B називаються рівними, якщо одночасно виконано A⊆B і B⊆A, тобто множина A утримується в множині B і множина B утримується в множині A. Інакше кажучи, дві множини рівні, якщо всі елементи першої належать другій множині, і навпаки. Звідси випливає, що ці множини є тотожніми, складаються з тих самих елементів.
Можна переконатись, що множина [1,2,3] і множина [3,4,5] не тотожні, а множини [1,2,3] і [2,1,3] збігаються. Якщо множина A є підмножиною множини B, причому в множині В є елементи, що не належать множині А, то говорять, що А — власна підмножина множини В. Позначається цей факт як AÌB. Відповідний предикат може бути визначений з використанням предикатів subset та equal.
prop_subset(A,B):-
Наприклад, множина [1,3] є власною підмножиною множини [1,2,3], на відміну від множин [1,4] і [2,1,3]. Симетрична різниця двох множин є множина, чиї елементи або належать першій і не належать другій множині, або належать другій і не належать першій множині. Симетрична різниця множин A і B позначається через AΔB та у теорії множин визначається таким чином: AΔB={x|(xÎA & xÏB) або (xÎB & xÏA)}. На відміну від звичайної різниці, симетрична різниця не залежить від порядку її аргументів - якщо аргументи поміняти місцями, результат залишиться незмінним (AΔB=BΔA), тобто вона коммутативна.
Так, при A={1,2,3,4}, B={3,4,5}, AΔB=BΔA={1,2,5}. Скористаємося тим, що симетричну різницю можна виразити через уже реалізовані операції: AΔB=(A\B)È(B\A), що читається, як симетрична різниця двох множин є різниця між першою і другою множинами, об'єднана з різницею між другою й першою множинами:
sim_minus(A,B,SM):- minus(A,B,A_B),
Дата добавления: 2014-01-11; Просмотров: 532; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |