Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Voprosy_I_S.doc
Скачиваний:
2
Добавлен:
29.07.2019
Размер:
512.51 Кб
Скачать

[]Задачи обобщения

Так же как и в случае экспериментов по различению, что математически может быть сформулированно как кластеризация, при обобщении понятий можно исследовать спонтанное обобщение, при котором критерии подобия не вводятся извне или не навязываются экспериментатором.

При этом в эксперименте по «чистому обобщению» от модели мозга или перцептрона требуется перейти от избирательной реакции на один стимул (допустим, квадрат, находящийся в левой части сетчатки) к подобному ему стимулу, который не активизирует ни одного из тех же сенсорных окончаний (квадрат в правой части сетчатки). К обобщению более слабого вида относится, например, требование, чтобы реакции системы распространялись на элементы класса подобных стимулов, которые не обязательно отделены от уже показанного ранее (или услышанного, или воспринятого на ощупь) стимула.

[]Задачи поиска правил ассоциации

Исходная информация представляется в виде признаковых описаний. Задача состоит в том, чтобы найти такие наборы признаков, и такие значения этих признаков, которые особенно часто (неслучайно часто) встречаются в признаковых описаниях объектов.

[]Задачи сокращения размерности

Исходная информация представляется в виде признаковых описаний, причём число признаков может быть достаточно большим. Задача состоит в том, чтобы представить эти данные в пространстве меньшей размерности, по возможности, минимизировав потери информации.

Методы решения

  • Метод главных компонент

  • Метод независимых компонент

  • Многомерное шкалирование

[]Задачи визуализации данных

Некоторые методы кластеризации и снижения размерности строят представления выборки в пространстве размерности два. Это позволяет отображать многомерные данные в виде плоских графиков и анализировать их визуально, что способствует лучшему пониманию данных и самой сути решаемой задачи.

Методы решения

  • Дендрограмма

  • Самоорганизующаяся карта Кохонена

  • Generative topographic map

  • Карта сходства

[]Некоторые приложения

  • Социологические исследования: формирование представительных подвыборок при организации социологических опросов.

  • Маркетинговые исследования: разбиение множества всех клиентов на кластеры для выявления типичных предпочтений.

  • Анализ рыночных корзин: выявление сочетаний товаров, часто встречающихся вместе в покупках клиентов.

Нейромережі, класифікація. (7)

Штучні нейронні мережі (ШНМ) — математичні моделі, а також їхня програмна та апаратна реалізація, побудовані за принципом функціонування біологічних нейронних мереж — мереж нервових клітин живого організму. Системи, архітектура і принцип дії базується на аналогії з мозком живих істот. Ключовим елементом цих систем виступає штучний нейрон як імітаційна модель нервової клітини мозку — біологічного нейрона. Даний термін виник при вивченні процесів, які відбуваються в мозку, та при спробі змоделювати ці процеси. Першою такою спробою були нейронні мережі Маккалока і Піттса. Як наслідок, після розробки алгоритмів навчання, отримані моделі стали використовуватися в практичних цілях: в задачах прогнозування, для розпізнавання образів, в задачах керування та інші.

ШНМ представляють собою систему з'єднаних і взаємодіючих між собою простих процесорів(штучних нейронів). Такі процесори зазвичай достатньо прості, особливо в порівнянні з процесорами, що використовуються в персональних комп'ютерах. Кожен процесор схожої мережі має справу тільки з сигналами, які він періодично отримує, і сигналами, які він періодично посилає іншим процесорам. І тим не менш, будучи з'єднаними в досить велику мережу з керованою взаємодією, такі локально прості процесори разом здатні виконувати достатньо складні завдання. З точки зору машинного навчання, нейронна мережа являє собою окремий випадок методів розпізнавання образів, дискримінантного аналізу, методів кластеризації тощо З математичної точки зору, навчання нейронних мереж — це багатопараметрична задача нелінійної оптимізації. З точки зору кібернетики, нейронна мережа використовується в задачах адаптивного управління і як алгоритми для робототехніки. З точки зору розвитку обчислювальної техніки та програмування, нейронна мережа — спосіб вирішення проблеми ефективного паралелізму. Нейронні мережі не програмуються в звичайному розумінні цього слова, вони навчаються. Можливість навчання — одна з головних переваг нейронних мереж перед традиційними алгоритмами. Технічно навчання полягає в знаходженні коефіцієнтів зв'язків між нейронами. У процесі навчання нейронна мережа здатна виявляти складні залежності між вхідними даними і вихідними, а також виконувати узагальнення. Це означає, що у разі успішного навчання мережа зможе повернути вірний результат на підставі даних, які були відсутні в навчальній вибірці, а також неповних та / або «зашумленних», частково перекручених даних.

Класифікація за типом вхідної інформації:

  • Аналогові нейронні мережі (використовують інформацію у формі дійсних чисел);

  • Двійкові нейронні мережі (оперують з інформацією, представленою в двійковому вигляді).

Класифікація за характером навчання:

  • Навчання з учителем — відомі вихідні результати нейронної мережі;

  • Навчання без вчителя — нейронна мережа опрацьовує тільки вхідні дані та самостійно формує вихідні результати. Такі мережі називають самоорганізаційними;

  • Навчання з підкріпленням — система призначення штрафів і заохочень від середовища.

Класифікація за характером налаштування синапсів:

  • Мережі з фіксованими зв'язками (вагові коефіцієнти нейронної мережі вибираються відразу, виходячи з умов завдання, при цьому: dW / dt = 0 , де W — вагові коефіцієнти мережі);

  • Мережі з динамічними зв'язками (для них в процесі навчання відбувається налаштування синаптичних зв'язків, тобто dW / dt ≠ 0, де W — вагові коефіцієнти мережі).

Складові нейромережі «Персептрон». (8)

Перцептро́н, або персептро́н — математична та комп'ютерна модель сприйняття інформації мозком ( кібернетична модель мозку), запропонована Френком Розенблатом в 1957 році і реалізована у вигляді електронної машини «Марк-1». У 1960 році перцептрон став однією з перших моделей нейромереж , а «Марк-1» — першим у світі нейрокомп'ютером. Не зважаючи на свою простоту, перцептрон здатний навчатися і вирішувати досить складні завдання.

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

  • З одним прихованим шаром;

  • З пороговою передавальною функцією;

  • З прямим розповсюдженням сигналу.

Опис на основі сигналів:

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

  • Простим S-елементом (сенсорним) є чутливий елемент, який від дії будь-якого з видів енергії (наприклад, світла, звуку, тиску, тепла тощо) виробляє сигнал. Якщо вхідний сигнал перевищує певний поріг θ, на виході елемента отримуємо 1, в іншому випадку — 0.

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

  • Простим R-елементом (реагує, то є чинним) називається елемент, який видає сигнал 1, якщо сума його вхідних сигналів є строго позитивною, і сигнал −1, якщо сума його вхідних сигналів є строго негативною. Якщо сума вхідних сигналів дорівнює нулю, вихід вважається або рівним нулю, або невизначеним.

Якщо на виході будь-якого елемента ми отримуємо 1, то говорять, що елемент активний або збуджений.

Всі розглянуті елементи називаються простими, тому що вони реалізують стрибкоподібні функції.

У результаті Розенблат ввів такі визначення:

  • Перцептрон представляє собою мережу, що складається з S-, A- та R-елементів, зі змінною матрицею взаємодії W (елементи якої wij — вагові коефіцієнти), що визначається послідовністю минулих станів активності мережі.

  • Перцептроном з послідовними зв'язками називається система, в якій всі зв'язки, що починаються від елементів з логічною відстанню d від найближчого S-елементу, закінчуються на елементах з логічною відстанню d+1 від найближчого S-елементу.

  • Елементарним перцептроном називається простий перцептрон, у якоговсі елементи — прості.

Додатково можна вказати на такі концепції, запропоновані в книзі, і пізніше розвинуті в рамках теорії нейронних мереж:

  • Перцептрон з перехресними зв'язками — це система, в якій існують зв'язки між елементами одного типу (S, A або R), що знаходяться на однаковій відстані від S-елементів, причому всі інші зв'язки — послідовного типу.

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

  • Перцептрон зі змінними S-A зв'язками — це система, в якій знято обмеження на фіксованість зв'язків від S-елементів до A-елементів. Доведено, що шляхом оптимізації S-A зв'язків можна досягти значного поліпшення характеристик перцептрона.

  • Перцептрони, обмежені за діаметром — кожна фігура X, розпізнана приватними предикатами, не перевищує за діаметром деяку фіксовану величину.

  • Перцептрони обмеженого порядку — кожен приватний предикат залежить від обмеженої кількості точок з X.

  • Перцептрони Гамба — кожен приватний предикат повинен бути лінійною пороговою функцією, тобто міні-перцептроном.

  • Випадкові перцептрони — перцептрони обмеженого порядку, коли приватні предикати представляють собою випадково вибрані булеві функції.

  • Обмежені перцептрони — множина приватних предикатів нескінченна, а множина можливих значень коефіцієнтів ai скінченна.

Історична класифікація перцептронів:

Перцептрон з одним прихованим шаром

Це класичний перцептрон, якій присвячена більша частина книги Розенблата, і що розглядається в цій статті: у нього є по одному шару S-, A-і R-елементів.

Одношаровий перцептрон

Це модель, у якій вхідні елементи безпосередньо з'єднані з вихідними за допомогою системи ваг. Чи є найпростішою мережею прямого розповсюдження — лінійним класифікатором, і окремим випадком класичного перцептрона, в якому кожен S-елемент однозначно відповідає одному A-елементу, S-A зв'язку мають вагу 1 і всі A-елементи мають поріг θ = 1. Одношарові перцептрони фактично є формальними нейронами, тобто пороговими елементами Мак-Каллока — Піттса. Вони мають безліч обмежень, зокрема, вони не можуть ідентифікувати ситуацію, коли на їхні входи подані різні сигнали.

Багатошаровий перцептрон (за Розенблатом)

Це перцептрон, в якому присутні додаткові шари A-елементів.

Багатошаровий перцептрон (за Румельхартом)

Це перцептрон, в якому присутні додаткові шари A-елементів, причому, навчання такої мережі проводиться за методом зворотнього поширення помилки, причому навчаються всі шари перцептрону (у тому числі S-A). Цей перцептрон є частковим випадком багатошарового перцептрону Розенблата.

Моделі нейромереж, без персептрона. (9)

Моделі нейромереж. Як моделюеться. (10)

Методи оптимізації нейронних мереж. (11)

Методи навчання нейромереж. (12)

Кохонена мережі. (13)

нейронні мережі з прямим та зворотнім розповсюдженням сигналу.(14)

Етапи програмування нейромережі. (створення). (15)

Навчання з учителем.(нейромережі) (16)

Вимоги до навчальної вибірки. (17)

Використання нейронної мережі.(18)

Мережі Петрі. (19)

Мережа Петрі — математична абстракція для представлення дискретних розподілених систем. Графічно представляється у вигляді дводольного орієнтованого мультиграфу з маркерами («фішками») (маркований орієнтований граф), який має дві групи вершин: позиції та переходи. Позиції можуть бути пустими або маркованими та визначають <стан> мережі. Переходи визначають дії. Орієнтовані ребра графу задають зв'язки між позиціями та переходами. Процес функціонування мережі Петрі полягає в послідовному «виконанні» переходів, та відповідному перерахункові кількості «фішок» у позиціях. Дуги можуть бути кратними, коли два вузли з'єднані більше ніж однією дугою однакового напрямку. Альтернативно, для відображення кратності дуг може використовуватися функція «ваги» дуг.

Мережа Петрі задається у вигляді маркованого дводольного орієнтованого графу. Розрізняють два види вершин:

  • Позиції. P — множина позицій,

  • Переходи. T — множина переходів.

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

Кожна мережа Петрі є графом, який має у своєму розпорядженні дві різні групи вершин: вузли та переходи. Між вузлами та переходами можуть міститися орієнтовані ребра (дуги), але два вузли або два переходи не можуть з’єднуватися ребрами. Між кожною парою вузол/перехід може існувати максимально одне ребро від вузла до переходу (ребро входу) і максимально одне ребро від переходу до вузла (ребро виходу). Вузли можуть бути вільними або зайнятими міткою (маркованими); переходи не можуть бути маркованими. Вузли, що є стартовими пунктами одного ребра до одного переходу t , називаються далі вхідними вузлами переходу t. Вузли, що є кінцевими пунктами ребра від переходу t, називаються відповідно вихідними вузлами переходу t.

Основні принципи нечіткої логіки.(20)

Во всех предметных областях, где ИИС будут эффективным

средством построения информационных систем нового поколе-

ния, существуют плохо (некорректно) поставленные задачи. К

ним относятся проблемы, строгое описание которых либо невоз-

можно, либо чересчур сложно. Точные знания об этих проблемах

или вообще нельзя получить, или нельзя получить сразу, и при-

ходится последовательно приближаться к более или менее пол-

ному набору знаний. Т.е. знания чаще всего нечетки.

Практически во всех системах искусственного интеллекта знания накапливаются фрагментарно, и нельзя априори определить цепочку логических вы-

водов, в которых они будут использоваться. Последовательность

действий при поиске решения заранее не может быть определена,

и необходимо методом проб и ошибок выбрать некую цепочку

выводов, а в случае неуспеха организовать перебор с возвратами

для поиска другой цепочки и т.д.

Многозначность. О многозначности знаний говорят тогда,

когда один и тот же элемент знаний (понятие, символ, звук, изо-

бражение и т.п.) может быть интерпретирован по-разному.

Ненадежными являются те знания, представить которые

двумя значениями - истина или ложь - невозможно или трудно.

Неполнота знаний. Полностью описать окружающий мир

чрезвычайно сложно. Содержимое базы знаний по любой пред-

метной области является неполным, поскольку можно (хотя и

трудно) перечислить все верные знания в данной области, но не-

возможно перечислить и разумно определить неверные знания.

Поэтому целесообразно в БЗ определять только заведомо верные

знания, а любые утверждения, которые не определены относить к

ложным. Это называется гипотезой закрытого мира.

Теорія наближеного обчислення. (21)

Різновиди логіки які використовувалися як базиси чіткої логіки.(22)

поняття генетичних алгоритмів. (23)

Генетичний алгоритм (англ. genetic algorithm) — це еволюційний алгоритм пошуку, що використовується для вирішення задач оптимізації і моделювання шляхом послідовного підбору, комбінування і варіації шуканих параметрів з використанням механізмів, що нагадують біологічну еволюцію.

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

Схема генетичного алгоритму:

  • Генерація випадкового початкового стану

Перше покоління створюється з довільно вибраних рішень (хромосом). Це відрізняється від стандартних методів, коли початковий стан завжди одне й те саме.

  • Обчислення коефіцієнта пристасованності (fitness)

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

  • Відтворення

Хромосоми, що мають високий рівень пристасованності (fitness), потрапляють до нащадків (які потім можуть мутувати) з більшою ймовірністю. Нащадок, результат злиття 'батька' і 'матері', є комбінацією їх ген. Цей процес називається 'кроссіннговер' (crossing over).

  • Наступне покоління

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

Принципи пошуку аналогій. Квадрат Лейбніца.(24)

Міркування за індукцією , парадокс Хенпеля. (25)

Парадо́кс во́ронов (англ. Raven paradox), известный также как парадокс Гемпеля (нем. Hempels paradox) или во́роны Гемпеля — логический парадокс, сформулированный немецким математиком Карлом Густавом Гемпелем в 1940-х годах, для иллюстрации того, что индуктивная логика иногда входит в противоречие с интуицией.

Гемпель описал этот парадокс следующим образом. Предположим, что существует теория, согласно которой все вороны чёрные. Согласно формальной логике, эта теория эквивалентна теории, что все предметы, не являющиеся чёрными, не являются воронами. Если человек увидит много чёрных воронов, то его уверенность в том, что эта теория верна, увеличится. Если же он увидит много красных яблок, то это увеличит его уверенность в том, что все не чёрные предметы не являются воронами, и, согласно вышесказанному, должно также увеличить и его уверенность в том, что все вороны чёрные.

Однако этот вывод противоречит интуитивному восприятию ситуации человеком — в реальной жизни так не происходит. Наблюдение красных яблок увеличит уверенность наблюдателя в том, что все не чёрные предметы не являются воронами, но при этом не увеличит его уверенность в том, что все вороны чёрные.

Наиболее распространённый метод разрешения этого парадокса состоит в применении теоремы Байеса, которая соотносит условную и предельную вероятность стохастических событий.

Принцип индукции утверждает, что:

Наблюдение явления Х, которое соответствует теории Т, увеличивает вероятность того, что теория Т истинна.

Логіка предикатів. (26)

Предикатом називають функціональне висловлювання, а висловлювання - предикатною константою. Логіка предикатів - це розширення логіки висловлювань за рахунок використання предикатів в ролі логічних функцій. Ці функції дещо відмінні від функцій Буля. Булеві функції однорідні, тобто, і область значень і область зміни аргументів або істинні, або хибні. Для предикатів область зміни логічна, а область значень - предметна.

Операції над предикатами. Предикат - це функціональне висловлювання, що приймає значення {0;1}, тому над предикатами визначені всі булеві операції: ,

У Логіці Предикатів — на додаток до засобів логіки висловів вводяться логічні оператори " («для всіх») і $ («для деяких» або«існує»), звані кванторами спільності і існування відповідно. Для виявлення субъектно-предикативної структури висловів вводиться нескінченний перелік індивідних змінних: х, у, z ..., х1, у1, zl ..., щопредставляють різні об'єкти, і нескінченний перелік предикативних змінних: Р, Q, R ..., Р1, Q1, Л1 ..., представляючої властивості і відношення об'єктів.Індивідні змінні приймають значення в довільній (непорожній)області; разом з цими змінними можуть вводитися індивідні константи, або імена власні. Запис ("х) Р (х) означає «Всякий х володіє властивістю Р»;($х)Р(х) - «Деякі х володіють властивістю Р»; ($x)Q(xy) - «Існує х, що знаходиться відносно Q з у» і так дальше. Індивідна змінна, що входить в область дії квантора по цій перемінній, називається зв'язаною; змінна,що не є зв'язаною, називається вільною

Основні принципи побудови експертних систем.(27)

Экспертная система – используется для решения трудно формализованных задач (не числовая форма, неоднозначность данных, цель нельзя выразить с помощью одной функции, нет алгоритма решения)

- идентификация предметной области – формируются требования к системе

- концептуализация – строим модель

- формализация знаний – определяем тип знаний и строим базу знаний, т.е. структура БЗ

- реализация - программный код

- тестирование и экспертиза

різновиди експертних систем. (28)

Синентичні фреймові мережі. (29)

Семантика – это наука устанавливающая смысл знаков и символов

Семантическая сеть – это граф вершина, которого понятие, а дуги показывают отношение между понятиями

Вывод на семантической сети – это поиск фрагмента сети соответствующего некоторым шаблонам, а шаблон – это запрос в БЗ.

Основные отношения:

1. класс – элемент класса (AKO - отношение между надмножеством и подмножеством), одно является олицетворением другого

2. свойство – значение свойства (HasPart - описывающее части/целые объекты)

3. пример элемента класса (ISA - свойства объекта наследуются от множества)

Другие типы отношений:

- часть – целое (крыша часть сооружения)

- функциональные связи

- количественные отношения

- пространственные отношения

- логические отношения

Классификация семантических сетей:

1. по количеству отношений используемых в сети:

- однородные – только один тип связи

- неоднородные – больше двух типов связи

2. по количеству связей

- бинарные – связывает только два понятия

- N-арные – несколько понятий

3. по представлению описываемого объекта

- экстенсиональные – представляют знания о конкретности объекта

- интенсиональные – содержат знания о классе объекта

Принципы построения сетей:

1. описываются отношения в системе, которые могут быть между понятиями

2. введения понятий с двух до бесконечности

3. понятия связываются между собой описанными ранее отношениями

Система, используемая семантические сети работает в двух режимах (либо один, либо другой):

- режим вывода на сети

- режим пополнения сети

Достоинства: считается, что функционирует долговременная память человека

Недостатки: сложная процедура вывода на сети

Фреймовые модели представления знаний

Фрейм – это агрегат, который представляет наиболее полное формирование описания понятия, это разновидность семантических сетей, только вместо вершин выступают фреймы

Имя слота

Значение

Тип

Умолчание

Демон

Слуга


Имя фрейма

Слот 1

. . .

Слот N

Демон – это имя процедуры, которая автоматически запускается при любом обращении к слоту

Слуга – имя процедуры, которое запускается только при некоторых условиях

Фреймы имеют способность наследовать значения характеристик своих «родителей» , находящихся на более высоком уровне иерархий.

Два типа фреймов:

1 фреймы – прототипы – хранятся в базе знаний

2. фреймы – экземпляры – представляют собой запрос пользователя к системе.

Достоинства: Фреймы одна из наиболее используемых моделей знаний, используется любой язык программирования

Недостатки: относительна высокая сложность, что проявляется в снижении скорости работы механизма вывода

Властивості знань, неоднорідність знань, області та рівні знань.(30)

Звязки між інформаційними одиницями.(31)

Методи пошуку рішення в мовах визначеності.(32)

Методи пошуку рішення в мовах часткової визначеності.(33)

Методи пошуку рішення в мовах не визначеності. (34)

Мережа Хемінга. (35)

Мережа Хемінга (Hamming) є розширенням мережі Хопфілда. Ця мережа була розроблена Річардом Ліппманом (Richard Lippman) у середині 80-х рр. Мережа Хемінга реалізує класифікатор, що базується на найменшій похибці для векторів двійкових входів, де похибка визначається відстанню Хемінга. Відстань Хемінга визначається як число бітів, які відрізняються між двома відповідними вхідними векторами фіксованої довжини. Один вхідний вектор є незашумленим прикладом образу, інший є спотвореним образом. Вектор виходів навчальної множини є вектором класів, до яких належать образи. У режимі навчання вхідні вектори розподіляються до категорій для яких відстань між зразковими вхідними векторами та біжучим вхідним вектором є мінімальною.

Ер системи. (36)

Формальні граматики і мови.(37)

Розпізнавання мови.(38)

Синтез мови за текстом.(39)

Поняття про евристичний пошук.(40)

«Жадібні» алгоритми, поняття. (41)

Жа́дібний алгори́тм — простий і прямолінійний евристичний алгоритм, який приймає найкраще рішення, виходячи з наявних на поточному етапі даних, не турбуючись про можливі наслідки, сподіваючись врешті-решт отримати оптимальне рішення. Легкий в реалізації і часто дуже ефективний за часом виконання. Багато задач не можуть бути розв'язані з його допомогою.

Наприклад, використання жадібної стратегії для задачі комівояжера породжує наступний алгоритм: «На кожному етапі вибирати найближче з невідвіданих міст».

Специфіка:

Зазвичай, жадібний алгоритм базується на п'яти принципах:

  1. Набір можливих варіантів, з яких робиться вибір;

  2. Функція вибору, за допомогою якої знаходиться найкращий варіант;

  3. Функція придатності, яка визначає придатність отриманого набору;

  4. Функція цілі, оцінює цінність рішення, не виражена явно;

  5. Функція розв'язку, яка вказує на те, що знайдене кінцеве рішення.

Критерії застосування

Жадібний алгоритм добре розв'язує деякі задачі, а інші — ні. Більшість задач, для яких він спрацьовує добре, мають дві властивості: по-перше, до них можливо застосувати Принцип жадібного вибору, по-друге, вони мають властивість Оптимальної підструктури.

Принцип жадібного вибору

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

Властивість оптимальної підструктури

«Задача має оптимальну підструктуру, якщо оптимальне рішення задачі містить оптимальне рішення для підзадач»[1]. Інакше кажучи, задача має оптимальну підструктуру, якщо кожен наступний крок веде до оптимального розв'язку. Прикладом 'неоптимальної підструктури' може бути ситуація в шахах, коли взяття ферзя (хороший наступний крок) веде до програшу партії в цілому.

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

Алгоритм Харта, Нільсона, Рафаеля.(42)

Поиск A* (произносится «А звезда» или «А стар», от англ. A star) — в информатике и математике, алгоритм поиска по первому наилучшему совпадению на графе, который находит маршрут с наименьшей стоимостью от одной вершины (начальной) к другой (целевой, конечной).

Этот алгоритм был впервые описан в 1968 году Питером Хартом, Нильсом Нильсоном и Бертрамом Рафаэлем. Это по сути было расширение алгоритма Эдсгера Дейкстры, созданного в 1959 году. Он достигал более высокой производительности (по времени) с помощью эвристики. В их работе он упоминается как «алгоритм A». Но так как он вычисляет лучший маршрут для заданной эвристики, он был назван A*.

A* пошагово просматривает все пути, ведущие от начальной вершины в конечную, пока не найдёт минимальный. Как и все информированные алгоритмы поиска, он просматривает сначала те маршруты, которые «кажутся» ведущими к цели. От жадного алгоритма (который тоже является алгоритмом поиска по первому лучшему совпадению) его отличает то, что при выборе вершины он учитывает, помимо прочего, весь пройденный до неё путь (составляющая g(x) — это стоимость пути от начальной вершины, а не от предыдущей, как в жадном алгоритме). В начале работы просматриваются узлы, смежные с начальным; выбирается тот из них, который имеет минимальное значение f(x), после чего этот узел раскрывается. На каждом этапе алгоритм оперирует с множеством путей из начальной точки до всех ещё не раскрытых (листовых) вершин графа («множеством частных решений»), которое размещается в очереди с приоритетом. Приоритет пути определяется по значению f(x) = g(x) + h(x). Алгоритм продолжает свою работу до тех пор, пока значение f(x) целевой вершины не окажется меньшим, чем любое значение в очереди (либо пока всё дерево не будет просмотрено). Из множественных решений выбирается решение с наименьшей стоимостью.

Чем меньше эвристика h(x), тем больше приоритет (поэтому для реализации очереди можно использовать сортирующие деревья).

Код MatLab

function A*(start,goal)

% множество уже пройденных вершин

var closed := the empty set

% множество частных решений

var q := make_queue(path(start))

while q is not empty

var p := remove_first(q)

var x := the last node of p

if x in closed

continue

if x = goal

return p

add x to closed

% добавляем смежные вершины

foreach y in successors(x)

enqueue(q, p, y)

return failure

Представлення генетичної інформації.(43)

Генетичні оператори, мутації.(44)

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

В классическом генетическом алгоритме применяются два основных генетических оператора: оператор скрещивания (crossover) и оператор мутации (mutation). Однако следует отметить, что оператор мутации играет явно второстепенную роль по сравнению с оператором скрещивания. Это означает, что скрещивание в классическом генетическом алгоритме производится практически всегда, тогда как мутация - достаточно редко. Вероятность скрещивания, как правило, достаточно велика (обычно 0,5 ≤ рс ≤ 1), тогда как вероятность мутации устанавливается весьма малой (чаще всего 0 ≤ рm ≤ 0,1). Это следует из аналогии с миром живых организмов, где мутации происходят чрезвычайно редко.

В генетическом алгоритме мутация хромосом может выполняться на популяции родителей перед скрещиванием либо на популяции потомков, образованных в результате скрещивания.

Оператор скрещивания.

На первом этапе скрещивания выбираются пары хромосом из родительской популяции (родительского пула). Это временная популяция, состоящая из хромосом, отобранных в результате селекции и предназначенных для дальнейших преобразований операторами скрещивания и мутации с целью формирования новой популяции потомков. На данном этапе хромосомы из родительской популяции объединяются в пары. Это производится случайным способом в соответствии с вероятностью скрещивания рс. Далее для каждой пары отобранных таким образом родителей разыгрывается позиция гена (локус) в хромосоме, определяющая так называемую точку скрещивания. Если хромосома каждого из родителей состоит из L генов, то очевидно, что точка скрещивания lk представляет собой натуральное число, меньшее L. Поэтому фиксация точки скре­щивания сводится к случайному выбору числа из интервала [1, L - 1]. В результате скрещивания пары родительских хромосом получается следующая пара потомков:

1) Потомок, хромосома которого на позициях от 1 до lk состоит из генов первого родителя, а на позициях от k + 1 до L - из генов второго родителя;

2) Потомок, хромосома которого на позициях от 1 до k состоит из генов второго родителя, а на позициях от lk + 1 до L - из генов пер­вого родителя.

Как бы то нибыло, с уверенностью можно сказать лишь одно - опыты показывают необходимость присутствия обоих механизмов в алгоритме. При этом В большенстве экспериментов оператор мутации применяется к потомку с заданной вероятностью, причем величина вероятности выбирается давольно малой - порядка 0,01.

Необходимо также сказать, что в основном все операторы мутации сводятся к инвертированию одного или нескольких ген потомка. Это справедливо только для бинарного кодирования хромосом. В случае других способов кодирования мутация гена требует либо случайного выбора из заданного множества вариантов (случай алфавитного кодирования) либо специальных алгоритмов.

Оператор мутации с вероятностью рт изменяет значение гена в хромосоме на любое другое возможное значение. Например, если в хромосоме [100110101010] мутации подвергается ген на позиции 7, то его значение, равное 1, изменяется на 0. что приводит к образованию хромосомы [100110001010]. Как уже упоминалось выше, вероятность мутации обычно очень мала, и именно от нее зависит, будет данный ген мутировать или нет. Вероятность рт мутации может эмулироваться, например, случайным выбором числа из интервала [0, 1] для каждого гена и отбором для выполнения этой операции тех генов, для которых разыгранное число оказывается меньшим или равным значению рт.

Одноточечная мутация

В этом варианте оператора мутации в потомке случайно выбирается один ген и мутируется. П

Плотность мутации

Стратегия мутации с использованием понятия "плотности" заключается в мутировании каждого гена потомка с заданной вероятностью. Таким образом, кроме вероятности применения мутации к самому потомку используется еще вероятность применения мутации к каждому его гену, величину которой выбирают с таким расчетом, чтобы в среднем мутировало от 1 до 10 процентов ген.

Инцест

как механизм самоадаптации оператора мутации. Она заключается в том, что "плотность мутации" (вероятность мутации каждого гена) определяется для каждого потомка на основании генетической близости его родителей. Например, это может быть отношение числа совпадающих ген родителей к общему числу ген хромосомы. Это приводит к очень интересному эффекту - при высоком разнообразии генофонда пополяции (первые шаги ГА) последствия мутации будут минимальными, что позволяет репродукции работать без стороннего вмешательства. В случае же понижения разнообразия, что возникает в основном при застревании алгоритма в локальном оптимуме, последствия мутации становятся более ощутимыми, а при полном схождении популяции алгоритм просто становится стахостическим, что увеличивает вероятность выхода популяции из локального оптимума. ПОЗИЦИОНИРОВАНИЕ

Фитнес-функция

Тут нужно обратить внимание что фитнес-функция это пожалуй наиболее важная (или одна из) деталь ГА. Здесь нужно выделить 3 главных момента:

Функция оценки должны быть адекватна задаче. фитнесс функция всегда должна стремиться удовлетворить условие, что для всех решений X выполняется F(X1) Фитнес-функция должна иметь рельеф. Мало того, рельеф должен быть разнообразным. Это означает, что ГА имеет мало шансов на успех, если на поверхности фитнес-функции есть огромные "плоские" участки - это приводит к тому, что многие (или, что хуже, все) решения в популяции при различии в генотипе не будут отличаться фенотипом, тоесть, не смотря на то что решения различаются, они имеют одинаковую оценку, а значит алгоритм не имеет возможности выбрать лучшее решение, выбрать направление дальнейшего развития. Эта проблема еще упоминается как "проблема поля для гольфа", где всё пространство абсолютно одинаково, за исключением лишь одной точки, которая и является оптимальным решением - в этом случае алгоритм просто остановится или будет блуждать абсолютно случайно.

Фитнес-функция должна требовать минимум ресурсов. Т.к. это наиболее часто используемая деталь алгоритма, она имеет существенное влияние на его скорость работы.

Переважне правило розмноження найсильніших.(45)

способи представлення генетичної інфомарції.(46)

Генетичний алгоритм.(47)

Классический генетический алгоритм.

Основной (классический) генетический алгоритм (также называемый элементарным или простым генетическим алгоритмом) состоит из следующих шагов:

1) Инициализация, или выбор исходной популяции хромосом;

2) Оценка приспособленности хромосом в популяции;

3) Проверка условия остановки алгоритма;

4) Селекция хромосом;

5) Применение генетических операторов;

6) Формирование новой популяции;

7) Выбор “наилучшей” хромосомы.

Инициализация, т.е. формирование исходной популяции, заключается в случайном выборе заданного количества хромосом (особей), представляемых двоичными последовательностями фиксированной длины

Оценивание приспособленности хромосом в популяции состоит в расчете функции приспособленности для каждой хромосомы этой популяции. Чем больше значение этой функции, тем выше «качество» хромосомы.

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

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

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

Формирование новой популяции.

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

Выбор “наилучшей” хромосомы.

Если условие остановки алгоритма выполнено, то следует вывести результат работы, т.е. представить искомое решение задачи. Лучшим решением считается хромосома с наибольшим значением функции приспособленности.

Умови створення початкової популяції.(48)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]