УДК 004.9
О.Ю. ПШЕНИЧНИЙ
ВИЯВЛЕННЯ ЗАЛЕЖНОСТЕЙ ДАНИХ
Анотація. У статті описується розроблений алгоритм пошуку залежностей у підмножинах об ’єктів досліджуваного набору даних. Даний алгоритм дозволяє ефективно виявляти асоціативні залежності за заданими критеріями якості. Застосування розробленого методу виявлення залежностей в даних можливе в багатьох предметних галузях та дозволяє виявити нові закономірності в даних, що покращує роботу фахівців та якість прийнятих ними рішень.
Ключові слова: залежність даних, набір даних, алгоритм, аналіз даних.
Аннотация. В статье описан разработанный алгоритм поиска зависимостей в подмножествах объектов исследуемого набора данных. Данный алгоритм позволяет эффективно выявлять ассоциативные зависимости в данных по заданным критериям качества. Использование разработанного метода поиска зависимостей в данных возможно в многих предметных областях и позволяет выявить новые закономерности в данных, что улучшает работу специалистов и качество принятых ими решений.
Ключевые слова: зависимость данных, набор данных, алгоритм, анализ данных.
Abstract. The worked out algorithm of data search dependencies in the object subsets of investigated dataset is described in the article. This algorithm allows effectively reveal associative dependencies based on specified quality criteria. Application of developed data dependency detection method is possible in many specializations and allows finding new data patterns which improves work and decisions quality of specialists.
Keywords: data dependency, dataset, algorithm, data analysis.
1. Вступ
Аналіз результатів будь-яких досліджень чи спостережень є невід’ємною частиною процесу дослідження предметної області. Напрям аналізу інформації швидко зростає і поширюється на нові й нові галузі науки і техніки. Водночас з галузевим поширенням методи аналізу даних застосовуються до все більших наборів даних. Це потребує розробки нових підходів та алгоритмів у даній галузі. Хоча на сьогодні наявні потужні методи та засоби аналізу даних у деяких вузьких галузях, наприклад, CLASSIFI (Department of Pathology, UT Southwestern Medical Center) [1], BiNGO (Department of Plant Systems Biology, VIB/Ghent University) [2] та EASE (National Institute of Allergy and Infectious Diseases) [3], проте більшість зібраної інформації не аналізується належним чином перш за все через недостатні обчислювальні потужності для наявних алгоритмів і відсутність ефективніших методів аналізу цих даних. Внаслідок цього багато залежностей предметних областей залишаються невідомими експертам та аналітикам і це не дозволяє приймати правильні рішення у проблемних ситуаціях, що приносить великі збитки як економічні, так і екологічні, медичні та ін. Тому розробка алгоритму, застосовного до широкого спектра схем даних, є надзвичайно актуальною задачею.
Метою даного дослідження є розробка ефективного алгоритму аналізу широкого спектра даних, що дозволить фахівцям предметних областей краще зрозуміти залежності в цих галузях та приймати правильні рішення у проблемних ситуаціях.
2. Основна частина
Аналіз великих обсягів даних потребує виявлення груп атрибутів, що утворюють функціональні залежності. Проте в реальних умовах значно частіше зустрічаються набори даних, в
© Пшеничний О.Ю., 2012
ISSN 1028-9763. Математичні машини і системи, 2012, № 1
яких важливі залежності визначені тільки на деякій підмножині значень групи ключових атрибутів. Називатимемо такі залежності частковими функціональними залежностями (ЧФЗ).
Тобто, часткова функціональна залежність - це ФЗ в деякій селекції основного відношення.
7р : К = {аі}, аі є А, Б = |ау}, а^ є А, Яс Я: К ® ЩЯ'. (1)
Багато залежностей також мають не чітко детермінований характер. Називатимемо їх імовірнісними продукційними залежностями (ІПЗ).
Імовірнісна продукційна залежність - це продукційне правило в селекції основного відношення, яке справджується для значущої кількості об’єктів цієї селекції. Поріг значущості повинен визначатись експертним шляхом або виходячи з розрахунків імовірності помилкового виділення цієї залежності.
¥г : К = {аг.},аі є А,Б = {а]},аі є А,:Р(кє К ® Кє Б) = р. (2)
Тут к та К - кортежі значень деяких груп атрибутів К та Б відповідно.
Основним показником достовірності такої залежності є відношення кількості об’єктів, для яких має місце така ФЗ, до кількості об’єктів у селекції:
Р (7 )=^кєК лКєБ (Я )1
Р(Р' )= Кк (Я)| . <3)
Позначатимемо ІЗ ¥1 з використанням цієї величини як імовірність виконання про-дукційного правила:
Р (к є К ® К є Б ) = р . (4)
При потребі неважко розширити поняття до імовірності виконання довільних про-дукційних правил. Але пошук складних продукційних правил у великих наборах даних є дуже складною і обчислювально важкою операцією, тому вони використовуються рідко.
Введення поняття імовірнісних залежностей, на перший погляд, надлишкове, оскільки з множини об’ єктів, на яких визначена така залежність, завжди можна вибрати підм-ножину, на якій визначена чітка часткова функціональна залежність. Але за умови, що значення групи ключових атрибутів такої залежності мають змістовне сортування у предметній області, опис залежностей може бути здійснений значно простіше та інформативніше. Для наочності розглянемо приклад:
Приклад 1.
Таблиця 1. Залежність типу вагона, в З табл. 1 можна зробити висно-
якому їде людина, від дальності поїздки вок.
Такі ЧФЗ:
і ®(Т,Ь)|1..9},
Ь ® Т\{3},
т ® Ь{3},
(Ь,Т)® і||(1,2),(2;2)}.
Розглядаються тільки максимально розширені ЧФ, тобто, наприклад, залежність І ® (Т, Ь){і,2,3} не береться
і - номер опитаного Ь - дальність поїздки, х100км Т - клас вагона
1 1 3
2 1 2
3 1 3
4 3 1
5 2 1
6 1 3
7 2 1
8 2 2
9 3 1
до уваги, оскільки перша ЧФ з вищенаведених повністю визначає її.
Ці залежності справджуються для всіх об’єктів, які мають вказану комбінацію визначальних атрибутів залежності, але інформативність таких залежностей часто мала через надмірний детермінізм - будь-який виняток зруйнує залежність і будь-який випадковий шум даних може утворити нову залежність.
Розглянемо деякі ІПЗ з попереднього прикладу:
Р(і = 1 ®(Т; Ь) = (1;3)) = 1,
Р(Ь = 1 ® Т = 3) = 0,75,
Р(Ь є {2,3}® Т є {1,2}) = 1,
Р(Ь є {2,3}® Т = 1) = 0,8,
Р(Т = 3 ® Ь = 1) = 1,
Р(Т = 1 ® Ь = 3) = 0,5.
Такі дані значно інформативніші і корисніші для аналізу. Вони захищені від шуму та випадкових помилок і навіть дозволяють виявити ці помилки. Тому пошук саме таких залежностей і є завданням сучасного аналізу даних. Задачу пошуку мінімального покриття часто використовують в аналізі даних [4].
Ще одним важливим параметром ІПЗ є її достовірність - імовірність відхилення величини Р(7і) не більше, ніж на задане значення д :
Р(|Р(77 )-д|< Р* (7)), (5)
де Р* (71) - справжнє значення виконання залежності 71.
Обчислення Р* (71) напряму в більшості випадків неможливе, оскільки відсутня інформація про всі можливі комбінації значень атрибутів об’єктів відношення. Але можна оцінити достовірність залежності, виходячи з кількості об’єктів, для яких залежність виконується, комбінацій задіяних атрибутів та інших параметрів.
Легко зауважити, що ЧФ є лише частковим випадком ІПЗ при Р(71 ) = 1. Тому завдання пошуку залежностей у даних можна звести до пошуку ІПЗ.
У даній роботі пропонується метод виявлення ІПЗ в наборах даних, опираючись на задані параметри імовірності виконання та достовірності цих залежностей.
Розглянемо для початку пошук простих залежностей типу
Р (* = * ® і = *1 )^ Р0, (6)
де р0 - порогове значення імовірності виконання шуканих залежностей, *, і - деякі атрибути відношення, в якому здійснюється пошук залежностей.
Для обчислення необхідних імовірностей та пошуку таких ІПЗ необхідно перебрати всі пари атрибутів (*; і), * є А, і є А і для кожної комбінації здійснити прохід по об’єктах
відношення, заповнюючи для кожного значення атрибута * кількість його повторень в
об’ єктах та словник відповідних значень атрибута і із вказанням кількості повторів. Після таких операцій усі залежності виду (6) при р0 = 0 будуть збережені в описаній структурі даних. Відбір потрібних ІПЗ з цієї структури для довільного р0 є тривіальною задачею фільтрації. Складність описанного алгоритму - о(т2 • п), де т - кількість атрибутів відношення, п - кількість об’єктів у відношенні.
Хоча складність вищеописаного алгоритму і залежить не лінійно від кількості атрибутів відношення, проте переважно навіть дуже складні дані мають не більше декількох сотень атрибутів. Окрім того, алгоритм має добрі дані розпаралелювання, тобто, його можна елементарно модифікувати для виконання на багатопроцесорних машинах, кластерах чи грідах.
Розширимо задачу (6) до пошуку залежностей виду
(7)
Маючи дані про залежності виду (6), можна розв’язати дану задачу, аналізуючи лише підгрупу залежностей виду (6), що має спільну частину 5 = 51. Це легко довести, виходячи з визначення ІПЗ та формули (3): будь-який об’єкт, для якого діє залежність Р(5 = 52 ® q є 0)> р, не виконує залежність (7) і, відповідно, не змінює значення Р(5 = 51 ® і є Т). З іншої сторони, додавання чи вилучення об’єкта зі значенням 5 = 51 неодмінно впливає на імовірність Р(5 = 51 ® і є Т), якщо це значення більше нуля. Отже, при пошуку залежностей виду (7) необхідно і достатньо розглянути всі залежності виду (6), у яких умовна частина предиката співпадає з шуканою залежністю.
Щодо імовірності виконання залежності (7) на заданому наборі даних, то з (3) випливає, що
= Р ( 5 = 51 ® І = І1) + Р ( 5 = 51 ® І = І2 ) .
аіє{і1,і2}( Я, а=і1 (я ) + а= і2 ( Я )|
а5=51 ( Я ) а5=51 ( Я )
(8)
Тобто, об’єднання залежностей виду (6) у залежності від виду (7) збільшить імовірність виконання нової залежності. Для більш загального випадку об’єднання двох залежностей виду (7) формула обчислення імовірності виконання агрегатив-ної залежності буде трохи складнішою, оскільки множини значень результуючої частини предиката можуть перекриватись (рис. 1).
Відповідно, виразимо з (3) імовірність виконання такої ІПЗ:
а
іє Т иТ2
Р ( 5 = 5, ® і є Тій Т2 ) =
11 1 2) ^ ( Я )|
ОєТ ( Я )1 + кєТ2 ( Я )|-кєТ ПТ2 ( Я )|
^ ( Я )|
Використовуючи зворотне перетворення формули (3), легко помітити, що
аієТ (я)
а
=, ( Я )
= Р ( 5 = 51 ® і є Т1) , = Р ( 5 = 51 ® і є Т2 ) ,
2
= P (^ = s1 ® t є T1 n T2),
і утворене відношення можна переписати простіше:
P (s = s1 ® t є T ^ T2 ) = P (s = s1 ® t є T) + P (s = s1 ® t єT2) - P (s = s1 ® t є T1 n T2). (9)
Враховуючи обчислені значення імовірностей всіх атомарних залежностей (6), кон’юнкція та диз’юнкція довільних множин значень атрибута T не потребує нових складних обчислень для знаходження імовірності виконання об’єднаної залежності.
Ще одним варіантом об’єднання ІПЗ виду (6) є залежності
P (s є S ® t = t1 )> p0. (10)
Обчислення імовірності такої агрегативної залежності трохи складніше, ніж у попередньому випадку і неможливе, якщо спиратись тільки на значення P(s = si ® t = tj). Для цього потрібно залишати імовірності залежностей виду (6) у вигляді звичайних дробів -відношення кількості об’єктів, для яких залежність виконується до загальної кількості об’єктів, відібраних умовною частиною предиката ІПЗ, як і було запропоновано в алгоритмі пошуку ІПЗ виду (6). Тоді, виходячи з формули (3),
L |s = st A t = t11
P(sє {s>t = t1 )= г vi------------і—. (11)
L Is = sil
i
І знову ж, використовуючи вищеописану структуру даних, ця формула обчислюється без додаткових проходів по таблиці.
Розглянемо тепер загальний вигляд шуканих залежностей:
P (s є S ® t є T )> p0. (12)
Обчислення імовірності виконання такої залежності ґрунтується на попередніх міркуваннях та можливості розкладу такої залежності на складові ІПЗ типу (11):
L Is=s-A t=ti
p (s є s ®t є t)=l P (s є S ®t=ti )=L - x-n . (13)
tiЄT tiЄT L |s = s-
j
Позначення, що використовувались до цих пір у статті, досить громіздкі, тому введемо алгебру залежностей, визначену над четвірками
(S;T;|sє S atє T|;|sє S |) = F{, (14)
операціями об’єднання (+) та розщеплення (-) залежностей. Для додаткового спрощення позначень введемо операцію проекції трійки ¥1 на її атрибути (назвемо їх відповідно Pr (Predicate), PrS, PrT (дочірні атрибути предиката s є S ® t є T - множини S та T), PN(Probability nominator), PD (Probability Denominator) і позначатимемо операцію квадратними дужками, наприклад, F1 [Pr ], Fi [Pr S ]).
Для типів ІПЗ, описаних формулами (6), (7), (10), (12), введемо позначення відповідно FA, FB, FC, Fd . Тоді операції об’єднання та розщеплення над залежностями цих типів будуть визначені таким чином:
рв + рА =
Еа, якщо ЕА [ Рг 5 ] = ЕА [ Рг 5] л ЕА [ Рг Т ] = ^ [ Рг Т ],
^ = ( Еа [ Рг 5]; Еа [ Рг Т] и Е2А [ Рг Т]; ЕА [ РЖ ] + Е2а [ РЖ ]; ЕА [ РТ ]), якщо ЕА [ Рг 5] = Е2а [ Рг 5] л ЕА [ Рг Т] * ЕА [ Рг Т],
Ес = ( еа [Рг 5 ] и ЕА [ Рг 5]; Еа [ Рг Т ]; ЕА [ РЖ ] + Е2а [ РЖ ]; ЕА [ РТ ] + Е2а [ РТ ]),
якщо ЕА [Рг 5] * Е2а [Рг 5] л ЕА [РгТ] = Е2а [РгТ],
Е° = (еа [Рг5] и ЕА [Рг5];ЕА [РгТ] и Е2а [РгТ];ЕА [РЖ] + Е2а [РЖ];Еа [РТ] + Е2а [РТ]), якщо (ЕА [ Рг 5] * Е2а [ Рг 5]) л (ЕА [ Рг Т] * Е2а [ Рг Т]),
Ев, якщоЕв [Рг5] = Еа [Рг 5] л Еа [РгТ] є Ев [РгТ],
еа = (Ев [Рг5];Ев [РгТ] и Еа [РгТ]; Ев [РЖ] + Еа [РЖ];Ев [РТ]),
якщоЕв [Рг5] = Еа [Рг 5] л Еа [РгТ] ї Ев [РгТ], (16 )
Е° = (Ев [Рг5] и Еа [Рг5];Ев [РгТ] иЕа [РгТ];Ев [РЖ]+Еа [РЖ];Ев [РТ] + Еа [РТ]), якщо Ев [Рг5]* Еа [Рг 5],
рС + ЕА:
рС, якщо рА [ Рг £ ]є рС [ Рг £]л рС [ Рг Т ] = рА [ Рг Т ],
^С = (рС [Рг £] и рА [Рг £]; рС [Рг Т]; рС [РЖ] + рА [РЖ]; рС [РТ] + рА [РТ]), якщо рА [Рг £] ї РС [Рг £] л рС [Рг Т] = РА [Рг Т],
Е° = (рС [Рг £]; рС [Рг Т] и рА [Рг Т]; рС [РЖ] + рА [РЖ]; рС [РТ]), якщо (РА [Рг £] є РС [Рг £]) л(рС [Рг Т] * РА [Рг Т]), р» =( рС [ Рг £ ]и рА [ Рг £ ]; рС [ Рг Т ]и рА [ Рг Т ]; рС [ РЖ ] + рА [ РЖ ]; р С [ РТ ]+ рА [ РТ ]), якщо (рА [ Рг £ ] ї рС [ Рг £]) л( р С [ Рг Т ] * рА [ Рг Т ]),
(17)
ро + рА =
(18)
р», якщо (рА [Рг £] є ро [Рг £]) л (рА [Рг Т] є ро [Рг Т]), р» = (р» [Рг £]; р» [Рг Т] и рА [Рг Т]; ро [РЖ] + рА [РЖ]; ро [РТ]), якщо (рА [Рг £] є ро [Рг £]) л (рА [Рг Т] ї ро [Рг Т]), р2° = (ро [Рг £] и рА [Рг £]; ро [Рг Т] и рА [Рг Т]; ро [РЖ] + рА [РЖ]; ро [РТ] + рА [РТ]),
якщо (рА [ Рг £ ]ї ро [Рг £]).
Залежності типів рв, рС , ро можна представити у вигляді суми ІПЗ типу рА, виразивши їх параметри зворотними перетвореннями формул (15)-(18). Тому наводити формули обчислення сум рв + рС, ро + ро та ін. тут немає сенсу.
Використовуючи (15)-(18), можна елементарно довести, що операція об’єднання залежностей має властивості комутативності та асоціативності на множині ІПЗ.
Використовуючи (3) та (15)—(18), визначимо операцію розщеплення ІПЗ як обернену до операції об’єднання:
р1 + р2 = р3 ^ р3 - р2 = р1. (19)
Таким чином, операції розширення та звуження множин значень умови та результату продукційного правила ІПЗ дозволяють гнучко модифікувати ці залежності без потреби проведення додаткових складних обчислень. Необхідно тільки провести попередній аналіз простих залежностей виду (6) вищеописаним алгоритмом.
(21)
Наведені операції та алгоритм дозволяють виявити область визначення ІПЗ та знайти залежності за заданою імовірністю виконання. Недоліком залишається знаходження залежностей тільки виду (12) (вони включають (6), (7) та (10)), тобто ІПЗ, що мають лише один атрибут в умовній частині предиката та один - у результуючій. Тобто, неможливий пошук залежностей
Р (є £1 л ¿2 є £2 л ••• л ї1 є £1 ® є Т1 л ^2 є Т2 л ••■ л є Тк )> Ро . (20)
Для забезпечення пошуку таких ІПЗ введемо дві нові операції: введення нового атрибуту в умовну частину предиката залежності та введення нового атрибуту в результуючу частину предиката. Позначимо їх в та © відповідно.
Для залежностей (20) розширимо поняття операцій р1 [Рг], р1 [Рг £]. Вони повертають множину значень кортежу атрибутів умови та результуючої частини предиката відповідно. Ця множина значень є декартовим добутком множин допустимих значень окремих атрибутів кортежу:
р1 [Рг £] = £1 х £2 х... х £, рі [ Рг Т ] = Тх х Т; х — х Тк.
Операції з ІПЗ тепер визначимо як р ©( * є X ) = р'=( р, [Рг £ ]; р [Рг Т ] х X; (аыг> №,, (Я))
; \°кєРі [Рг £ ]л^єр, [РгТ ] (Я )|), (22)
р, в ( Г є X ) = Г, = ( р, [Рг £ ] х X; р, [Рг Т]; \а„Х (аа„ЛГ, £]
(Я))|; |°ХєX (&кер,[Рг £]лйє р, [РгТ] (Я))|) (23)
Тут <тРг (Я) - операція селекції по предикату Рг над відношенням Я.
Поки не вдалось розробити ефективний метод обчислення множин
&хє X (&ке р, [Рг £ ] ( Я )) та &хє X (&ке р, [Рг £ ]лйє р, [РгТ ] ( Я )) по наявних &ке р, [рг £ ] ( Я ) та
&кєр[Рг£]лле р,[РгТ] (Я) (їх можна зберігати для кожної аналізованої залежності в ході обчислень для спрощення побудови мультиатрибутних залежностей). Єдиним виходом залишається пряме виконання вказаних операцій селекції.
Отже, алгоритм пошуку ІПЗ розширюється додатковим кроком - пошуком мультиатрибутних залежностей. Для цього залежності з кроку 1 алгоритму аналізуються на наявність кореляцій з іншими атрибутами відношення. Повний перебір можливих розширень
ІПЗ до мультиатрибутних буде мати складність О (г2 • т • її), де 2 - кількість знайдених
ІПЗ, т - кількість атрибутів відношення, її - середній розмір множини кортежів відношення Я, на яких визначена ІПЗ.
Для оптимізації цього процесу можна перебирати пари залежностей виду (6) -
(; рг ) , які мають значне перекриття множин значень результуючої частини предиката:
[ргТ]пр [ргТ] > _ (24)
[ Рг Т ]и р2А [ Рг Т ]“ . ( )
Значення с визначається експертним шляхом, залежно від структури даних та типів залежностей, які слід шукати.
Пари залежностей, що задовольняють умову (24), комбінуються операціями об’єднання (якщо умовні частини предиката мають однакові атрибути) чи додавання атрибуту в умову предиката (якщо умовні частини предиката мають різні атрибути), а утворені залежності додаються у множину ІПЗ для подальшого агрегування.
Використання умови (24) дозволяє значно скоротити перебір можливих мультиат-рибутних залежностей і забезпечити складність виконання другого кроку алгоритму
O (z2 • log (sz) + z* • sz), де z* - кількість пар ІПЗ, що задовольняють умову (24). Обчислення формули (24) може бути виконано з використанням структури даних binomial heap або Fibonacci heap зі складністю O (log (sz)). Таким чином, якщо кількість початкових залежностей не надто велика (порядку декількох тисяч), досягається прийнятний час аналізу мультиатрибутних залежностей на сучасних обчислювальних системах. Контролювати кількість одноатрибутних залежностей можна вибором порогового значення імовірності р0, а перебір мультиатрибутних залежностей - зміною константи c з умови (24).
Таким чином, описаний у даній статті алгоритм дозволяє проводити ефективний аналіз однотипних даних на наявність мультиатрибутних ІПЗ та ЧФ, сумарна складність
якого O (т2 • n + z2 • log (sz) + z* • sz). При розумному виборі значень р0 та c на сучасних
обчислювальних центрах він дає змогу аналізувати набори даних з тисячами атрибутів та мільйонами кортежів відношення.
Розглянемо продовження прикладу 1 для демонстрації пошуку мультиатрибутних
залежностей. Виберемо значення c = 0,7. Розглянемо одноатрибутні ІЗ
2
P(L = 1 ® Тє {2,3}) = 1 та P (і є {1,2,3} ® Т = 3) = —; за формулою (24) обчислюємо їх перекриття:
Ff [Pr Т]о FA [Pr Т] = 3 ^ c
FA [Pr Т]и F2a [Pr Т] 4 c .
Отже, обчислюємо мультиатрибутну залежність, утворену додаванням атрибуту і на множині значень {1.2,3} в залежність P (L = 1 ® Т є{2,3}) = 1:
P (L = 1 а і є {1,2,3}® Т є {2,3}):
(SL=1 (R ))| 3 = 1
3 .
є {1,2,3} ^ і=1лТє{2,3} '
Таким чином, утворилась нова мультиатрибутна ІПЗ.
3. Висновки
Описаний у даній статті алгоритм дозволяє проводити аналіз великих обсягів даних, які можуть бути представлені у вигляді відношення (на сучасних обчислювальних центрах за кілька годин можна провести аналіз відношення з тисячами атрибутів та мільйонами записів). Алгоритм достатньо легко можна модифікувати для паралельного виконання на декількох обчислювальних машинах, що при потребі дозволить зменшити час аналізу до хвилин.
Система аналізу даних, яка використовуватиме вищеописаний алгоритм, дозволить значно розширити межі застосування методів аналізу даних у напрямку розміру аналізованих відношень, що, у свою чергу, дозволить застосовувати їх до предметних галузей, в яких накопичуються надзвичайно великі архівні бази даних, та виявити нові важливі залежності в цих галузях.
Основним недоліком розробленого алгоритму є те, що він не використовує вже наявних знань про специфіку предметної галузі і дозволяє виявити далеко не всі типи можливих залежностей (його завданням є пошук імовірнісних продукційних залежностей). Ще одним недоліком є недостатня ефективність пошуку мультиатрибутних залежностей і для
оптимізації цього процесу доводиться вводити додатковий коефіцієнт, на якому базується евристичний алгоритм пошуку таких залежностей.
І все ж, не зважаючи на описані недоліки, алгоритм дозволяє виявляти дуже широкий клас залежностей у даних і може бути застосований у найрізноманітніших галузях науки і техніки.
СПИСОК ЛІТЕРАТУРИ
1. Головний сайт департаменту патології, UT Southwestern Medical Center [Електронний ресурс]. -Режим доступу: http://pathcuric 1 .swmed.edu/pathdb/classifi.html.
2. Опис утиліти BiNGO, сайт університету Гент [Електронний ресурс]. - Режим доступу http://www.psb.ugent.be/cbd/papers/BiNGO/Home.html.
3. Офіційний сайт National Institute of Allergy and Infectious Diseases (NIAID), NIH [Електронний ресурс]. - Режим доступу http://david.abcc.ncifcrf.gov/content.isp?fíle=/ease/ease 1 .htm&type=1.
4. Мейер Д. Теория реляционных баз данных / Мейер Д.; пер. с англ. - М.: Мир, 1987. - 610 с.
Стаття надійшла до редакції 14.07.2011