Научная статья на тему 'Пошук оптимальних шляхів у дереві рішень'

Пошук оптимальних шляхів у дереві рішень Текст научной статьи по специальности «Математика»

CC BY
232
58
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по математике, автор научной работы — Панченко М. В.

Предлагается методика прогнозирования развития нестабильных процессов с помощью метода дерева решений на основе экспертной информации относительно развития отдельных параметров, которые влияют на результат прогноза. Описываются методы поиска оптимальных путей в дереве

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The methodic of prediction of the unstable processes with the help of the method of the tree of decisions on the base expert information concerning development of the separate parameters, which influence on the result of prediction is proposed. The methods of searching optimal ways in the tree of decisions are described

Текст научной работы на тему «Пошук оптимальних шляхів у дереві рішень»

УДК 004.896 М.В. ПАНЧЕНКО

ПОШУК ОПТИМАЛЬНИХ ШЛЯХІВ У ДЕРЕВІ РІШЕНЬ

1. Вступ

Розвиток сучасного виробництва, науки і всього суспільства загалом можна охарактеризувати як нелінійний та стрибкоподібний. Це обумовлено широким впровадженням сучасних технологій, “технологізацією” виробництва і, як наслідок, підвищенням продуктивності праці, темпів глобалізації світової економіки. Наслідком цього є виникнення нових ризиків та нестабільних умов для роботи великих компаній, що пов'язано з неможливістю передбачити зміни на ринках праці, ресурсів та товарів. Тому в сучасних умовах дедалі актуальнішим стає нове завдання - репрезентувати майбутнє, яке не може інтерпретуватися як звичайне продовження минулого у зв'язку з тим, що це майбутнє набуває істотно відмінних форм і структур.

Універсальних та досконалих підходів для розв'язання цієї проблеми на сьогодні не існує. Є лише спроби будувати можливі сценарії розвитку тих чи інших явищ у майбутньому. Для цього використовуються різноманітні методи якісного характеру, які базуються на використанні експертної інформації. При їх використанні постає проблема інтерпретації нечіткої експертної інформації. Також при обробці великого об'єму експертної інформації виникає проблема великої розмірності.

Разом з тим аналіз сучасного стану досліджень в галузі створення систем прогнозування нестабільних процесів свідчить про наявність таких проблем:

- жоден з існуючих якісних методів сам не може бути застосований для розв'язання наближених до реальності задач;

- проблема обробки нечітких даних при використанні різноманітних ієрархічних та сітьових структур для зберігання експертної інформації;

- недостатня дослідженість проблеми великої розмірності, яка виникає при значному обсязі експертних даних.

Метою роботи є розробка інструментарію для створення проблемно-орієнтованих систем підтримки прийняття рішень, які можуть бути ефективно застосовані для прогнозування поведінки нестабільних процесів.

У роботі [1] дан опис інструментальної системи розробки програмних систем підтримки прийняття рішень, орієнтованої на дослідження нестабільних процесів, які складно прогнозувати за допомогою звичайних методів математичної статистики та регресійного аналізу [3]. В основі системи лежить метод дерева рішення, що є одним з “найадекватніших” методів представлення експертної інформації [2]. Основні недоліки цього методу - “прокляття розмірності”, яке посилюється у випадку задання інцедентностей у “нечіткій” формі (тобто експерт оцінює можливість переходу з вершини до вершини у дереві рішення за допомогою функції належності або вектора).

У даній роботі описуються та досліджуються математичні засоби (методи і алгоритми), які дозволяють, з одного боку, позбутися “прокляття розмірності”, а, з іншого, - розв'язувати конкретні

практичні задачі. В основі алгоритмів, які пропонуються, лежать методи послідовного аналізу варіантів та вектора спаду [9].

2. Методи пошуку у дереві з чітко заданими дугами

Для представлення зібраної експертної інформації використовується метод дерева рішень. Такий вибір зумовлений можливістю більшої деталізації предметної області, що дозволяє підбирати групи більш вузькоспеціалізованих та кваліфікованих експертів. Аналіз зібраної інформації полягає у знаходженні оптимальних шляхів у побудованому дереві.

Якщо необхідно знайти шляхи у дереві рішень, що з'єднують певні вершини з найменшою вагою, то використовується метод послідовного аналізу варіантів на основі методу Дейкстри [8]. Він застосовується для пошуку найкоротшого шляху із вершини 5 у вершину і.

Крок 1. Перед початком виконання алгоритму всі вершини та дуги не пофарбовані. Кожній вершині при виконанні алгоритму присвоюється число d(х), що дорівнює довжині найкоротшого шляху з 5 в х, який включає тільки пофарбовані вершини.

d(5) = 0 та d(х) = ¥ для всіх х Ф 5. Пофарбувати вершину 5 та покласти у = 5 (у - остання із пофарбованих вершин).

Крок 2. Для кожної непофарбованої вершини х перерахувати величину d(х) таким чином:

d(х) = шіп^(х), d(у) + а(у, х) } .

Якщо d(х) = ¥ для всіх непофарбованих вершин х, закінчити процедуру алгоритму: у вихідному графі відсутні шляхи з вершини 5 у непофарбовані вершини. Інакше пофарбувати ту з вершин х, для якої величина d(х) є найменшою. Крім того, пофарбувати дугу , яка веде в обрану на даному кроці вершину х . Покласти у = х .

Крок 3. Якщо у = і, завершити процедуру: найкоротший шлях із 5 в і знайдено (це єдиний шлях із 5 в і, що складається з пофарбованих дуг). Інакше перейти до кроку 2.

Для знаходження шляхів з найбільшою вагою застосовується метод, розроблений на основі алгоритму Форда [7] (алгоритму пошуку найкоротших шляхів у графі з від'ємними дугами).

Алгоритм пошуку найдовшого (наймовірнішого) шляху. Потрібно знайти найдовший шлях з вершини 5 у вершину і.

Крок 1. Фарбуємо вершину в. Покладемо d(5) = 0,d(х) = -¥,у = 5 .

Крок 2. Для всіх вершин (включаючи і непофарбовані) перераховуємо

d ( х) = шах^ (х), d (у) + а( у, х)}.

Якщо d(х) = -¥ для всіх непофарбованих вершин х та вершина і не пофарбована, закінчити процедуру алгоритму: у вихідному графі відсутні шляхи з вершини 5 у непофарбовані вершини. Інакше пофарбувати ту з непофарбованих вершин х, для якої величина d(х) є найбільшою. Крім того, пофарбувати дугу , яка веде в обрану на даному кроці вершину х . Покласти

у = х . Якщо Щ(х) для пофарбованої вершини х збільшується, то розфарбовуємо її та відповідну

дугу.

Крок 3. Якщо для всіх непофарбованих вершин ё(х) = —¥ та вершина і пофарбована, то найдовший шлях знайдено, закінчити роботу алгоритму.

Твердження 1. Час роботи даного алгоритму в найгіршому випадку становить 0(1,5#3) , де

N - кількість вершин у дереві.

Доведення. Спочатку проаналізуємо обчислювальну складність алгоритму Дейкстри. На першій ітерації цього алгоритму повинні бути проглянутими (N-1) непофарбовані вершини. Так як перегляд вершин відбувається за допомогою рівняння ё(х) = шіп(<і(х),ё(у) + а(у, х)} , то на першій ітерації виконуються (# — 1) операція додавання та (# — 1) операція порівняння, а також проводиться вибір найменшого з (# — 1) чисел (тобто виконується ще (# — 1) операцій порівняння). Отже, перша ітерація включає 3 • (# — 1) операцій. Аналогічно можна показати, що друга ітерація включає 3 • (# — 2) операцій, третя - 3 • (# — 3) і т.д. Загальна кількість операцій в алгоритмі Дейкстри визначається співвідношенням

N

2 3*( N — і) = 3# *( N — 1) / 2.

і=1

Окрім указаних операцій, на кожній ітерації алгоритму необхідно також виконувати операції по знаходженню пофарбованих та непофарбованих вершин. Отже, час роботи алгоритму Дейкстри

в найгіршому випадку 0(1,5N2). Тоді можна зробити висновок, що час роботи алгоритму

знаходження найдовшого шляху в найгіршому випадку 0(1,5N3). Дійсно, в алгоритмі Дейкстри кожна вершина фарбується лише один раз, а в алгоритмі знаходження найдовшого шляху вона може фарбуватися до ^ — 1) разів.

3. Методи пошуку у дереві з нечітко заданими дугами

У випадку задання дуг графа нечітко, тобто за допомогою векторів чисел ё(х) = (йк(х)),к = 1,п ,

застосовуються такі методи знаходження наймовірніших шляхів:

Метод згорток. Головна ідея цього методу полягає у заміні векторних оцінок числовими за допомогою різних згорток [5]. Наприклад, це може бути звичайне середнє значення елементів вектора чи згортка такого вигляду:

аі = 2 а і * иі , (*>

і

де и}- - вага відповідного елемента вектора, або значення, обчислене за методом Ходжа -Лемана,

аі = /5 * шіп аі + (1 — Ь) * 2 аі * Рі ,

і

де а, - елементи вектора; р, - їх ваги; /є (0;1) - коефіцієнт “колективної 1 п

обережності”; / = — 2 к\ .

п і=і

Після цього застосовується вищезгаданий метод пошуку найдовшого шляху. Треба зазначити, що вказані згортки є адитивними. Це означає, що якщо один з векторів є більший за інший (тобто кожен його елемент більший за відповідний елемент іншого вектора), то після згортки він отримує більшу оцінку, що дозволяє уникнути ситуації, коли після застосування згортки та методу пошуку найдовшого шляху буде знайдений шлях, який насправді (без застосування згортки) не є наймовірнішим (тобто існує шлях ймовірніший за нього). Сформулюємо та доведемо це твердження при застосуванні якої-небудь згортки (наприклад, Ходжа-Лемана та згортки (*)).

Твердження 2. Якщо аі > Ьі, то аі > Ь, де а = (а1.ап}), Ь = (Ь1.ЬІ}) , та

а = р * тіп аг] + (1 -/) * 2 а, * Р, , Ь = р * тіп Ьі + (1 -/) * 2 Ьі * Рі ,

І І

де а і - елементи вектора; рі - їх ваги; / є (0;1) - коефіцієнт “колективної обережності”;

1п

/=12 К. пі-1

Доведення. Так як аі > Ьі, то "і, І: а .. > Ьі}. Звідси випливає, що при 0 </< 1

і і ^ і} і} і

/*тіп а І} > /*тіп Ь І} та (1 - /) *2а *р, >(1 -/)* 2 Ьу * р} . Тоді очевидно, що аі > Ьі.

}}

Також для згортки (*) сформулюємо і доведемо теорему.

Теорема. Не існує шляху ліпшого за шлях, який був знайдений у дереві за допомогою методу згорток із застосуванням алгоритму знаходження найдовшого шляху.

Тобто, якщо був знайдений шлях а = (а1,...,ак) , довжина якого а = (а1,...,агп), де

к т

аі = 2ау , то не існує шляху Ь = (Ь1,...,Ьт) з довжиною Ь = (Ь1,...,Ьп) , де Ьі = 2Ь, , для якого

І=1 І=1

___ ____ т к

Ь > а , тобто "і = 1, п Ь > аі і, відповідно, "і = 1,п :2Ь і > 2

І =1 І=1

Доведення. Нехай такий шлях знайдено. Отже,

т

ЗЬ : Ь = (і,,...,Ьт),* = *1), Ь = Іі та Ь > а . Тобто для якого

і=;

____ т £

" =;1 :І Ьіі > І а. п

і=; і=;

Була застосована згортка аі = І аі * иі . Це означає, що у шляху а = (а;,...,ак) кожна

І

1 к 1

дуга отримала оцінку аі = І а^ * пі і весь шлях в цілому має довжину а = 11 а ^ * пі .

і=; і=; і=;

Відповідно і у шляху Ь = Ьт) кожна дуга отримала оцінку Ьх = 2Ь- *п- , і весь шлях має

*1

У

у=1

к п

довжину Ъ = 22 Ъу * и у . Відомо, що після виконання згортки та застосування алгоритму

і=1 у=1

знаходження найдовшого шляху був знайдений шлях а = (а1,...,ак), довшого за який не існує.

п т

Тобто а"> Ь . Це означає, що 22ач *п- - Ь *п- або 2п-2 а- > 2п- 2Ь-.

і=1 -=1 і=1 -=1 - =1 і=1 -=1 і =1

п к т

Перетворюємо цю нерівність таким чином: 2п- (2а- - 2Ь-) > 0. Враховуючи нерівність (**),

-=1 і=1 і =1

к т

отримуємо 2 а-- 2Ь- <0 . Враховуючи те, що V/ = 1, п : п- > 0, отримуємо явну суперечність.

=1 =1

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

____ т к

Отже, —і ЭЪ = (Ъ,,..., Ът): " = 1,п :2 Ъу > 2 а у . Теорему доведено.

У=1 У=1

Якщо потрібно працювати безпосередньо з нечіткими оцінками дуг дерева, то доцільно застосовувати такий метод:

Модифікований алгоритм пошуку найдовшого шляху. Треба знайти найдовший шлях з вершини 5 у вершину і. Дуги графа задані нечітко за допомогою векторів.

Крок 1. (5) = (0,...,0) та (х) = (¥,..., ¥) для всіх х ф 5 , і = 0 .

Крок 2. Для кожної непофарбованої вершини х наступним чином перерахувати величину

ё г (х) :

ёі (х) = тах{ё; (х), ёг (у) + а(у, х)} .

Очевидно, що ці вектори можуть бути незрівнянними. Тоді

ёг (х) = ёг (х) та ё1+1 (х) = ёг (у) + а(у, х) , і = і + 2 .

Тобто в цю вершину є два можливі шляхи. Якщо ж вектори є зрівнянними, то

ёі (х) = тах{ё (х), ёі (у) + а(у, х)} та і = і +1.

Отже, маємо для вершин хі такі характеристики:

ё(хі) = (ё 1 (хіX.- ёк (хг)) -ёі (хі) - довжина одного з можливих шляхів до вершини хі.

Після цього вибираємо домінуючі вершини хі, де і є А, А - деяка множина, для якої

виконується —$ху., у ї А—Эк : ёк (х}.) > ёр (хі )"р , та фарбуємо їх. Якщо для пофарбованої

вершини ё(х) збільшилось, то розфарбовуємо її та відповідну дугу.

к

к

п

тп

п

Крок 3. Якщо всі вершини, для яких d(x) >-¥ пофарбовані, та після виконання кроку 2 жодне d(x) не збільшилось, завершити процедуру: найкоротші шляхи із 5 в t знайдено. Інакше перейти до кроку 2.

В найкращому випадку, коли всі шляхи у дереві будуть зрівнянними, цей алгоритм працює зі швидкістю алгоритму Дейкстри.

Твердження 3. Час роботи модифікованого алгоритму знаходження найдовшого шляху в

найгіршому випадку становить O(l,5 * N3 * n) , де N - кількість вершин у дереві, а n - кількість елементів у векторах, якими задаються переходи у дереві.

Доведення. На кожному кроці цього алгоритму повинні бути проглянутими (N -1) вершини. Так як перегляд вершин відбувається за допомогою рівня d(x) = max{d(x),d(y) + a(y, x)} , то на кожній ітерації виконуються (N -1) операція додавання та (N -1) операція порівняння, а також проводиться вибір найбільшого з (N -1) векторів (тобто виконується ще (N -1) операцій порівняння). Отже, кожна ітерація містить 3 • (N -1) операцій. Оскільки дії виконуються над векторами, то операції порівняння, додавання та ін. вимагатимуть ще n підоперацій, де n -кількість елементів вектора. Кожна вершина може бути пофарбована не більше, ніж (N -1) раз. Загальна кількість операцій в алгоритмі Дейкстри визначається співвідношенням 3(N -1) * (N -1) * (N -1) * n . Тому час роботи модифікованого алгоритму знаходження

найдовшого шляху в найгіршому випадку становить 0(1,5 * N3 * n) .

“Матричний" метод. Він використовується в тому випадку, коли дерево розбивається на певні рівні. Причому кожна вершина дерева посилається тільки на вершину нижчого рівня. Кожен

рівень дерева задається матрицею Ak = {a. }к = {al,..., a"1. }к , де a. - це імовірність, з якою можливий перехід з i-ї вершини к -го рівня до J -ї вершини к +1 рівня. Причому, якщо у к -ї

матриці було і стовпчиків, то у к +1 матриці буде і рядків.

До кожної матриці дописуємо один рядок та стовпчик. Якщо перша матриця має лише один рядок, то в останній стовпчик записується одиничний вектор. Якщо ж вона має декілька рядків, то в

останній стовпчик записується вектор (vl,...,v ), де vi = (1,....,1), c - кількість вершин на

c c

першому рівні (тобто всі вершини першого рівня рівнозначні). Елемент останнього рядка

n

al+1 і = (2 a]. * aj.m+l) , де І та m -розмірність матриці.

j =1

Таким чином, у останньому стовпчику останньої матриці ми отримаємо ваги вершин найнижчого рівня у дереві. Використовуючи отриману інформацію про ваги вершин у дереві, можна визначити наймовірніші шляхи у дереві.

Доведення. Очевидно, що кількість кроків у алгоритмі дорівнює сумі кількості рядків у всіх матрицях, тобто кількості вершин у дереві. На кожному кроці для знаходження ваг вершин нижчого рівня проглядаються всі елементи поточного рядка, які є векторами довжиною n . Тобто на кожному

кроці переглядаються всі дуги, які ведуть з поточної вершини до вершин нижчого рівня. Це означає, що ми перебираємо всі дуги у дереві. Отже, час роботи “матричного” алгоритму становить г • п . В

найгіршому випадку, коли кількість дуг у дереві максимальна і становить N2, час роботи цього

алгоритму буде N2 * п.

4. Наближені методи пошуку у дереві

Час роботи алгоритму пошуку найдовшого шляху досить великий. Наприклад, при розмірності матриці інцедентності 100X100 і заданні лише тих її елементів, які знаходяться над головною діагоналлю (тобто нема зворотніх зв'язків у дереві), алгоритм виконуватиме приблизно 1600000 операцій (що обумовлено необхідністю знаходження не тільки довжини найдовшого шляху, але й визначенням вершин, які входитимуть у цей шлях). Це означає, що при застосуванні комп'ютера з процесором Репйит600 програма, яка втілюватиме даний алгоритм і розроблена за допомогою С++ВиіМег 5.0, буде працювати приблизно одну хвилину. Отже, необхідно запропонувати наближені методи розв'язку задачі, які вимагатимуть меншого часу для виконання. Наприклад, модифікацію відомого методу вектора спаду [6].

Треба знайти найдовший шлях з вершини а,, у вершину а{. Відомий деякий початковий

шлях а = (а,а{) , який з'єднує ці вершини. Визначаємо певний окіл г (глибину пошуку).

Крок 1. у = , .

Крок 2. За допомогою описаних методів знаходимо найдовший шлях з ау в ау+г.

Замінюємо відповідний сегмент у шляху а: у = у +1 .

Крок 3. Якщо у + г < і, то перейти до кроку 2. Якщо ж у + г > і, то знаходимо найдовший шлях з у в і. Замінюємо відповідний сегмент у шляху а. Закінчуємо роботу алгоритму.

Таким чином, покращуючи початковий шлях а, ми знаходимо оптимальний (локально оптимальний) шлях. Він не обов'язково буде найдовшим (глобально оптимальним), але у випадку великої кількості даних та обмеженого часу цей метод доцільно застосовувати.

Твердження 5. Час роботи модифікованого алгоритму вектора спаду в найгіршому випадку

становить О (Я3 * (К - Я)), де Я - глибина пошуку; К - довжина початкового шляху.

Доведення. На кожному кроці алгоритму ми знаходимо за допомогою методу пошуку найдовшого шляху найдовший шлях з вершини а- у вершину а;+Я. Як вже було доведено, це

вимагатиме О(Я3) часу (в загальному випадку, час пошуку найдовшого шляху з а1 в ап та з а- в

а-+Я при - = 1, п , звичайно, однаковий. Але коли граф є деревом, то завжди існує можливість так перенумерувати його вершини, що в матриці інцедентності ненульовими будуть лише елементи над головною діагоналлю. Тоді легко змінити алгоритм так, що час пошуку найдовшого шляху з а- в

а-+Я буде О(Я3) в найгіршому випадку. Для цього потрібно переглядати не всі вершини, а тільки з

а- по а-+Я , де - = 1, п). Таких кроків буде К - Я , бо для останніх Я вершин початкового шляху обчислень не проводиться. Отже, час роботи модифікованого алгоритму вектора спаду в найгіршому випадку становить О(Я3 * (К - Я)).

Також у випадку великої кількості інформації можливе розбиття дерева на піддерева іншими методами, в кожному з яких за допомогою вищезгаданих алгоритмів будуть знаходитися наймовірніші шляхи. Після цього процедура “склейки” будує глобальний наймовірніший шлях.

Декомпозиційний метод. Застосовується, якщо можливе розбиття дерева на певні рівні. Вершини кожного з цих рівнів посилаються лише одна на одну та на верхні вершини наступного рівня.

Потрібно знайти найдовший шлях з вершини , у вершину і.

Крок 1. у = , . Визначаємо рівні, до яких належать вершини , та і. Знаходимо найдовші шляхи з вершини , до всіх найнижчих вершин її рівня (тобто до вершин, які посилаються лише на вершини наступного рівня) у = , .

Крок 2. у = у +1 . Знаходимо найдовші шляхи з верхніх вершин (вершин, на які посилаються нижні вершини вищого рівня) поточного рівня до нижніх. Виділяємо пару вершин, з'єднаних найдовшим шляхом.

Крок 3. Якщо поточний рівень містить вершину і і вона відноситься до верхніх вершин, то перейти до кроку 4. Якщо поточний рівень містить вершину і і вона не відноситься до верхніх вершин, то знайти найдовші шляхи з верхніх вершин поточного рівня у вершину і. Знайти ту з верхніх вершин, шлях з якої до і найдовший. Перейти до кроку 4. Якщо поточний рівень не містить вершину і, то перейти до кроку 2.

Крок 4. “Склеюємо” шляхи сусідніх рівнів таким чином: спочатку намагаємося знайти найдовший шлях з останньої вершини шляху верхнього рівня до першої вершини шляху нижчого рівня. Якщо ці вершини взагалі неможливо з'єднати, то відкидаємо останню вершину шляху з вищого рівня і знаходимо найдовший шлях з останньої вершини вищого рівня до першої вершини нижчого рівня. Якщо ж і ці вершини неможливо з'єднати, то відкидаємо першу вершину шляху нижчого рівня, і т.д.

В найгіршому випадку доведеться шукати найдовший шлях між першою вершиною вищого рівня та останньою вершиною нижчого рівня. Включаємо знайдені вершини у загальний шлях. Якщо ж з'єднати таким чином вершини двох рівнів не вдалося, то в даному дереві неможливо з'єднати вершини , та і.

Продовжуючи дану процедуру, ми з'єднаємо вершини , і і.

Очевидно, що знайдений шлях може не бути глобально оптимальним. Але такий підхід дозволяє обробляти за короткий час великі об'єми даних.

Нехай а’ = (а\),і = 1,п,у = 1,тг - і-ий рівень дерева, а\ - вершини цього рівня. На

кожному рівні тг вершин. Ъ = (Ъ),к = 1,ч' - “верхні” вершини цього рівня, Є = (є’),’ = 1,н’ -

“нижні” вершини цього рівня. Тоді обробка декомпозиційним алгоритмом цього рівня вимагатиме

часу ч' * нг * (тг )3 (тут (тг )3 - це час пошуку найдовшого шляху иг від верхньої вершини до

нижньої в найгіршому випадку). Процедура “склеювання” шляхів і -го та і +1 -го рівнів в найгіршому випадку займає

(т1 + т1+1 )3 * (т1 + т1+1) * 3 .

В цій формулі (тг + тг+1)3 - це час пошуку найдовшого шляху між будь-якими двома вершинами рівнів і та і +1.

Спочатку відкидається остання вершина шляху и1. Шукається найдовший шлях, який з'єднує останню вершину шляху и1 та першу вершину шляху иг+1. Якщо ці вершини можливо

з'єднати, то знаходження відповідного шляху в найгіршому випадку займатиме (тг + тг+1)3. Якщо ж такого шляху не існує, то на з'ясування цього в найгіршому випадку піде час (тг + тг+1 )3.

Якщо шлях не був знайдений, вилучаємо першу вершину шляху иг+1 та знаходимо найдовший шлях з останньої вершини шляху и1 до першої вершини шляху иг+1. Навіть якщо такого шляху не існує, в найгіршому випадку на з'ясування цього піде (тг + тг+1)3 часу.

Аналогічна ситуація виникає і коли вилучається остання вершина шляху и1 та перша вершина шляху иг+1. Отже, маємо три ситуації, при розгляді кожної в найгіршому випадку вимагається (тг + тг+1)3. Очевидно, що в найгіршому випадку доведеться таким чином перебрати всі елементи двох шляхів і в результаті з'єднати першу вершину шляху и1 та останню вершину

шляху иг+1 . Тому у формулі (*) другим додатком є (тг + тг+1) * 3 .

Отже, загалом можна сформулювати таке твердження:

Твердження 6. Час роботи декомпозиційного алгоритму в найгіршому випадку становить

П П—1

2 ч' *н' * (тг )3 + ^(тг + тг+1)3 * (тг + т1+1) * 3

і=1 і=1

або

П —1

2(дг *н1 * (тг )3 + (тг + тг+1)3 * (тг + т1 +1) *3) + цп *нП * (тП)3.

=1

Алгоритм послідовного аналізу варіантів. Необхідно знайти найдовший шлях з вершини в у вершину і

Крок 1. у = 5 . Визначаємо рівні, до яких належать вершини 5 та ’.

Крок 2. Знаходимо найдовші шляхи із вершини 5 до всіх найнижчих вершин її рівня (тобто до вершин, які посилаються лише на вершини наступного рівня). у = 5 .

Крок 3. Якщо поточний рівень містить вершину ’ і вона відноситься до верхніх вершин, то перейти до кроку 4. Якщо поточний рівень містить вершину ’ і вона не відноситься до верхніх вершин, то знайти найдовші шляхи з верхніх вершин поточного рівня у вершину ’. Знайти ту з верхніх вершин, шлях з якої до ’ найдовший. Перейти до кроку 4. Якщо поточний рівень не містить вершину ’, то перейти до кроку 2.

Крок 4. “Склеюємо” шляхи сусідніх рівнів і и і +1 таким чином: задаються коефіцієнти иі та

кі. Для шляху g, яким буде проходити через вершини цих двох рівнів, повинно виконуватися g > иі (/і + /і+1), де /і, /і+1 - найдовші шляхи рівнів і та і +1. Так само задається глибина пошуку ’. Знаходимо найдовший шлях з останньої вершини шляху верхнього рівня до першої вершини шляху нижнього рівня. Якщо g > иі (/і + /і+1), то процедуру склейки завершено. Інакше

відкидаємо вершини із шляхів поточних рівнів (дозволяється відкидати не більш, ніж кі вершин) та повторюємо процедуру “склейки”. Якщо не вдалося з'єднати два рівні, то понижуємо значення иі і повторюємо все з початку.

5. Висновки

Пропонується методика прогнозування розвитку нестабільних процесів на основі використання експертної інформації відносно характеру розвитку окремих параметрів, що впливають на результати прогнозу. Пошук наймовірніших шляхів у дереві рішень здійснюється за допомогою оригінальних методів. Основна їх наукова новизна така:

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

- вперше розроблено метод, який дозволяє знаходити наймовірніші шляхи у дереві рішень із чітко заданими дугами;

- вперше запропоновано метод, що дозволяє знаходити наймовірніші шляхи у дереві рішень, побудованому на основі нечіткої експертної інформації;

- вперше розроблено методи пошуку оптимальних шляхів у дереві рішень, які дозволяють знаходити локальні розв'язки та вирішують проблему великої розмірності, що виникає при значному обсязі даних.

Подальші дослідження у цьому напрямку полягають у розробці більш досконалих методів збору експертної інформації та наближених методів пошуку оптимальних шляхів у дереві рішень, які не будуть вимагати задання початкового шляху або розбиття дерева на певні рівні (адже при розв'язанні практичних задач це не завжди можливо здійснити) .

СПИСОК ЛІТЕРАТУРИ

1. Волошин О.Ф., Панченко М.В. Використання експертного оцінювання для якісного прогнозування на основі багатопараметричних залежностей// Математичні машини і системи. - 2002. - № 2. - С. 83 - 90.

2. Згуровський М. Хто бачить майбутнє, той перемагає// Дзеркало тижня. - 2001. - № 25. - С. 14.

3. Тэрано Т., Асаи К., Сугэно М. Прикладные нечеткие системы. - М.: Мир, 1993. - 287 с.

4. Волошин А.Ф. Метод локализации области оптимума в задачах математического программирования // Доклады АН СССР. Серия: кибернетика и теория регулирования. - Т. 293. - 1989. - № 3. - С. 549 - 553.

5. Макаров В. И. и др. Основы принятия решений и теории выбора. - М.: Наука, 1983. - 352 с.

6. Волошин О.Ф., Гнатієнко Г.М. Побудова колективного ранжування за мірою рангів об'єктів // Вісник Київського

університету. Серія: кібернетика. -2001. - № 4. - С.140 - 147.

7. Волошин А.Ф., Гнатиенко Г.М. Построение компромиссной ранжировки в задачах группового выбора // Труды Всесоюзной конференции “Проблемы теоретической кибернетики”. - Волгоград. - 1990. - С.15 -18.

8. Майника Э. Алгоритмы оптимизации на сетях и графах. - М.: Мир, 1981. - 476 с.

9. Сергиенко И.В. Математические модели и методы решения задач дискретной оптимизации. - Киев: Наукова думка, 1985.

- 384 с.

i Надоели баннеры? Вы всегда можете отключить рекламу.