47654 (665873), страница 2

Файл №665873 47654 (Моделі і методи прийняття рішень) 2 страница47654 (665873) страница 22016-07-31СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

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

Модель РАМ – довільний доступ до пам’яті, одна стрічка – для читання, друга – для запису.

РАСП – програма перебуває в регістрах і може сама себе змінювати.

Під складністю алгоритму розуміється часова оцінка його роботи або ємність необхідної пам’яті.

Апріорний аналіз алгоритму – теоретично, тестування – практична перевірка.

Розмірність задачі (вхідних даних) – це число (ціле), яке характеризує розмір вхідних даних задачі (розмірність одномірних, двомірних масивів, ...).

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

Асимптотична часова складність – поведінка часової складності при збільшенні розмірності задачі.

Задачі з великої часової складністю неможливі для реальних комп’ютерів (млрд. років).

При аналізі алгоритмів використовують такі позначення.

Запис f(n)=O(g(n)) означає: функція має порядок g(n) тоді, існують дві додатні константи с i n0, що f(n)<=c[g(n)] для всіх n>n0.

Звичайно f(n)=O(g(n)) визначає час обчислень;

.

Теорема. Якщо

A(n)=amnm + … a1n + a0

є поліномом ступеня m, тоді

A(n)=O(nm).

Нехай є два алгоритми з часовою оцінкою обчислень O(n) і O(n2). Час виконання першого алгоритму - c1n, а другого - c2n2 (с - константи). Тоді при n1/c2 перевагу має перший алгоритм, а при n>c1/c2 – другий.

При великих n значення констант несуттєві.

Найбільш типові часові оцінки алгоритмів: O(1) - константна, O(log n) - логарифмічна, O(n) - лінійна, O(nm) - поліноміальна, O(2n) - експоненційна. Для досить великих n:

O(1) < O(log n) < O(n) < O(n log n) < O(n2) < O(n3) < O(2n)

Ω(g(n)) - мінінімальна часова оцінка.

Задачі класу P I NP

Якщо розмірність задачі n, то P задача може бути розв’язана за поліноміальний час O(nm).

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

Більшість дискретних і комбінаторних задач можна вирішити шляхом перебору. Проте перебірні методи мають експоненційну складність.

Проблема: знайти метод вирішення експоненційних задач за поліноміальний час.

3.1 Планування в просторі станів. Основні поняття теорії графів

Граф – сукупність вершин і дуг. Для комп’ютерного опису графу використовуються: матриця інцидентності, матриця суміжності та списки суміжності.

Поширена структура даних в програмуванні – лінійні списки.

Лінійний список – скінченна послідовність однотипних елементів (певної довжини). Списки бувають однозв’язні (лінійні), двозв’язні (циклічні) і т.п. Лінійний список L, що складається з l1, l2,.. ln елементів , записується у вигляді L=< l1, l2,.. ln >


Рис..1. Графічне зображення списку

Існує два основних методи задання списків: послідовний (масиви) і зв’язний (динамічні змінні).

Стек – список, в якому занесення і видалення елементів можна проводити тільки через один початковий елемент (вершину стеку). Стек працює за принципом: останній зайшов – перший вийшов (Last In First Out - LIFO)

Чергою називають список, в якому всі вставки здійснюються в кінець списку (змінна rear), а всі видалення відбуваються з голови (початку) списку (змінна front).

Черга працює за принципом : перший зайшов – перший вийшов (First In First Out - FIFO).

Поняття граф ввів у 1736 році Ейлер. Граф G містить дві множини G=(V,E), де V - множина вершин (вузлів 1...n), E - множина ребер. Коли пари вершин впорядковані - то граф орієнтований, інакше - неорієнтований. Впорядкована пара позначається , невпорядкована – (i,j). У зважених графах кожне ребро має вагу.

Ступенем вершини називається число суміжних вершин. В орієнтованому графі виділяють півстепінь входу (число вхідних ребер) та півстепінь виходу (число вихідних ребер).

Шляхом називається послідовність вершин між двома вершинами p і q.

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


а) б)

Рис.2. Зображення орієнтованого (а) і неорієнтованого (б) графів.

3.2 Способи задання графів

Існує послідовний і зв’язний спосіб задання графів.

Послідовна форма використовує квадратну таблицю (Graf(n,n), n - вершин), яку називають матрицею суміжності. Якщо є зв’язок між вершинами, то Graf(I,j)=1, інакше Graf(I,j)=0.

а) б)

Рис.3. Матриці суміжності графів з рис.2.: а – неорієнтованого, б – орієнтованого

Матриця інцидентності відображає зв’язок n вершин за допомогою m дуг, розмір матриці інцидентності (n*m), але вона менш зручна, ніж матриця суміжності.

Інша форма задання графу – список зв’язності. Граф з n вершинами буде задаватися списками – по одному для кожної вершини. Список для вершини і містить вершини, суміжні з і.

3.3 Дерева

Дерево – це орієнтований ациклічний граф, для якого виконуються такі умови:

1) існує одна вершина, в яка не входить жодне ребро (корінь);

2) у будь-яку вершину, крім кореня, входить лише одне ребро;

3) з кореня можна знайти унікальний шлях до кожної вершини дерева.

Орієнтований граф з кількох вершин – ліс. Бінарне дерево – кожна вершина має два нащадки. При пошуку певного вузла у дереві використовують пряме і зворотне проходження вузлів.

Способи зберігання дерев

Послідовне зберігання ділиться на рівневі і діжкове.

Рівневе: для кожного рівня дерева послідовно вказаються його вузли.

Дужкове: дужками вказуються нащадки даного вузла.

Зв’язне зберігання – списки, кожен список містить вказівними на нащадків.

Пошук у глибину і ширину

Пошук в глибину – послідовно відвідуються всі нові вершини –нащадки (якщо вершина була відвідана, то вона перестає бути новою).

Пошук у ширину – перевіряються суміжні вершини одного рівня, потім – перехід на нижчий рівень.

Остові дерева

Довільне дерево неорієнтованого графу G= називається остовим.

Ейлерові шляхи

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

Задача про Кенігсбергські мости.

Теорема. У графі існує ейлерів шлях тільки тоді, коли граф зв’язний і містить не більше двох вершин непарного ступеня.

Знаходження найкоротших шляхів у графі

Потрібно знайти мінімальний шлях (контур) у навантаженому графі, де d(u,v) - відстань між вершинами u і v, якщо не існує шляху, то d(u,v)= .

4. Загальна схема алгоритму Харта, Нельсона і Рафаеля

Узагальненням алгоритмів пошуку найкоротшого шляху на графах є алгоритм Харта, Нельсона і Рафаеля.

Введемо такі позначення:

s - початкова вершина;

q - цільова вершина;

c(i,j) - довжина ребра між вершинами і та j;

d(i, j) - довжина найкоротшого шляху між і-ю та j-ю вершинами;

g(n) - довжина найкоротшого шляху між від початкової вершини до n-ї;

h(n) - довжина найкоротшого шляху між від n-ї вершини до цільової;

f(n) - довжина найкоротшого шляху між від початкової вершини до цільової, які проходять через вершину n, при цьому f(n)=g(n)+h(n);

g*(n) – оцінка довжини найкоротшого шляху між від початкової вершини до n-ї;

h*(n) – евристична функція, яка задає оцінку довжини найкоротшого шляху між від n-ї вершини до цільової;

f*(n)=g*(n)+h*(n) - оцінка f(n);

L(n) - множина всіх наступників вершини n.

Введемо робочі множини: OPEN I CLOSE.

Загальна схема пошуку найкоротшого шляху:

  1. Сформувати шраф пошуку G, який спочатку складається з початкової вершини s. Занести s до OPEN. Прокласти g*(s)=g(s)=0.

  2. Сформувати множину CLOSE, яка спочатку буде порожня.

  3. Якщо множина OPEN порожня, то вихід – потрібного шляху не існує;

  4. Взяти з множини OPEN перший елемент m (відповідно до порядку, встановленого кроком 9), вилучити m з OPEN та занести її до CLOSE.

  5. Якщо m - цільова вершина, то успіх. Відновити шлях від s до m на основі відновлюючи вказівників, що встановлені на кроках 6-8 і завершити алгоритм.

  6. Розкрити вершину m, отримати множину наступників L(m). Додати до графу G всі вершини, які належать L(m), але не належать G, разом з відповідними дугами. Додати ці вершини до OPEN. Для кожної вершини обчислити оцінки f*(k)=g*(k)+h*(k), поклавши g*(k)=g*(m)+c(m,k), встановити з k до m відновлюючий вказівник;

  7. Для кожної вершини n з тих, які потрапили до L(m), але вже належали OPEN або CLOSE, переобчислити оцінки g*(n)=min((g*(m)+c(m,n), g*(n)). Якщо оцінка зменшилася, то перевстановити з неї відновлюючий вказівник до m.

  8. Для всіх вершин з L(m), які до цього знаходилися в CLOSE, перевстановити відновлюючи вказівними для кожного з наступників цих вершин у напрямі найкоротшого шляху.

  9. Перевпорядкувати множину OPEN за зростанням значень f*.

  10. Повернутися на крок 3.

Якщо евристична функція не використовується, тобто h*(n)=0 і f*(n)=g*(n), то отримується алгоритм Дейкстри.

Якщо взяти g*(n)=0, утворюється алгоритм Дорана і Мічі.

4.1 Планування в просторі задач. І-АБО граф

Планування в просторі задач полягає в розбитті задачі на підзадачі, поки під задача не зведеться до елементарної (для якої існує готовий алгоритм розв’язку).

Для планування в просторі задач втрадиційно використовують І-АБО графи.

І-АБО графом називають орієнтований граф, вершини якого відповідають задачам, а дуги – відношенням між задачами (І - АБО).

І-АБО графи фактично є фрагментами мереж виведення продукційних систем. Розглянемо продукцій ну систему

A → C

B → C

D, C → G

Для такої системи існує І-АБО граф


Рис.15.1. І-АБО граф

Вершина C пов’язана з вершинами A i B відношенням АБО (достатньо виконання однієї підзадачі), а вершина G пов’язана з вершинами D i C відношенням І (необхідне виконання всіх підзадач).

4.2 Метод „Поділяй і пануй”

Нехай потрібно вирішити задачу для елементів масиву початкових даних від p до q.

Метод „поділяй і пануй”, або поділ на підзадачі, можна записати у вигляді рекурсивної процедури SubTask.

Булeва функція Small(p, q) визначає, чи не зведена під задача до елементарної. Якщо задача елементарна, то знаходиться її розв’язок за допомогою функції G(p,q).

Якщо задача не елементарна, то вона ділиться на дві частини функцією Divide(p,q). Процедура Combine рекурсивно викликає на виконання процедуру SubTask, але для меншої розмірності вхідних даних. Процес рекурсивно продовжується до тих пір, поки всі задачі не будуть зведені до елементарних.

procedure SubTask(p, q:integer);

Var m:integer;

Begin

if Small(p, q) then G(p,q);

else

begin

m:=Divide(p,q); { p <= m < q }

Combine (SubTask(p,m), SubTask(m+1,q));

end;

End;

Характеристики

Тип файла
Документ
Размер
644,55 Kb
Тип материала
Учебное заведение
Неизвестно

Список файлов реферата

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6639
Авторов
на СтудИзбе
293
Средний доход
с одного платного файла
Обучение Подробнее