Title: Soft Computing Author: Eva Volná, University of Ostrava, Czech Republic Soft computing ******************* М'які обчислення стали офіційною областю інформатики на початку 1990-х років. Проф. Lotf Aliasker Zadeh визначив м'які обчислення як серію методів і методів, які стосуються реальних ситуацій так само, як і люди. У обчислювальних засобах, м'які обчислення (іноді звані Computational Intelligence CI) використовуються для неточних рішень обчислювальних завдань, таких як розв'язання NP-повних завдань, для яких немає відомого алгоритму, який може обчислити точні рішення в поліноміальний час. М'які обчислення відрізняються від звичайних обчислень тим, що, на відміну від них, він терпимо до неточності, невизначеності, часткової істини та наближення. Модель для м'яких обчислень - це насправді людський розум. М'які обчислення є основою великої кількості методів машинного навчання. Основними компонентами м'яких обчислень є нечітка логіка, еволюційні обчислення та нейронні мережі. Взагалі кажучи, методи м'яких обчислень більше схожі на біологічні процеси, ніж традиційні методи, особливо на основі формальних логічних систем. М'які обчислювальні методи доповнюють один одного. Fuzzy logika Нечітка логіка. Нечітка логіка ґрунтується на теорії нечітких множин, що є узагальненням класичної теорії множин. Класична логіка дозволяє лише висновки, які є або істинними, або помилковими. У нечіткої логіці значення істинності змінних можуть бути будь-якими дійсними числами від 0 до 1 включно. Отже, нечітка функція елемента визначається як крива, яка визначає, як кожна точка у вхідному просторі відображається у значення між 0 і 1. Вхідний простір називається вселенною дискурсу. Всесвіт дискурсу X є безперервним простором і зазвичай поділяється на кілька нечітких множин. Ці нечіткі множини називаються мовними змінними, тому що вони мають назви, які відповідають прикметників, що з'являються на нашому природному мові, таких як "великий", "середній" або "малий". ******************* Створення системи з нечіткою логікою відбувається в чотири кроки: 1. Основа правила: містить набір правил IF-THEN, які містять мовні змінні. Ця основа була розроблена фахівцями в даній області. 2. Fuzzification: Використовується для перетворення входів, тобто точних чисел, до нечітких множин. 3. Перешкоди: визначає відповідний ступінь приналежності поточного входу до нечіткого множини по відношенню до кожного правила в базі правил і визначає, які правила повинні застосовуватися. 4. Defuzzification: Використовується для перетворення отриманого нечіткого набору у реальне значення. ****************** Еволюційні розрахунки. Еволюційні методи належать до сімейства алгоритмів глобальної оптимізації, натхненних біологічною еволюцією. З технічної точки зору, це стохастичні алгоритми оптимізації на основі популяції. У еволюційному розрахунку початкова популяція кандидатських рішень генерується випадковим чином і ітеративно оновлюється. Кожне нове покоління створюється стохастично, видаляючи менш бажані рішення і приймаючи невеликі випадкові зміни. У біологічній термінології популяція підлягає природному відбору (або штучному відбору) і мутації. Як наслідок, населення поступово розвивається, щоб підвищити пристосованість своїх рішень. Еволюційне обчислення дозволяє знайти оптимальне рішення для широкого кола проблем, що робить його популярним інструментом у комп'ютерній науці. Еволюційний розрахунок працює за наступними етапами: 1. Протестуйте кожну хромосому в популяції, щоб побачити, наскільки добре вона має справу з проблемою, і призначте відповідне значення. 2. Виберіть двох осіб з поточного населення. Вибір пропорційний величині фітнесу кожної хромосоми. 3. Застосувати оператор схрещування в залежності від ймовірності операції схрещування. 4. Застосувати оператор мутації в залежності від ймовірності операції мутації Повторіть кроки 2, 3, 4, доки не буде створено нове населення. Штучні нейронні мережі. Штучні нейронні мережі є обчислювальними системами, натхненні біологічними нейронними мережами. Сама нейронна мережа не є алгоритмом, а основою для багатьох різних алгоритмів машинного навчання, які працюють разом і обробляють складні вхідні дані. Ці системи "навчаються" виконувати завдання на основі прикладів, не запрограмованих відповідно до конкретних правил. Штучна нейронна мережа містить вузли, які називаються штучними нейронами, які вільно моделюють нейрони в біологічному мозку. Будь-який зв'язок між нейронами, а також синапсами в біологічному мозку, може передавати сигнал від одного нейрона до іншого. Нейрон, який отримує сигнал, може обробляти його, а потім відправляти його до інших нейронів, з якими вони пов'язані. У загальних реалізаціях сигнал на зв'язках між нейронами є дійсним числом, і вихід з кожного штучного нейрона обчислюється деякою нелінійною функцією з суми її зважених входів. Нейрональні зв'язки мають визначене значення ваги, яке пристосовується до навчання. Нейрони, як правило, розташовані в шарах. Сигнали переходять від першого шару (вхідний шар) до останнього шару (вихідний шар). Первісна мета штучних нейронних мереж полягала в тому, щоб вирішувати проблеми таким же чином, як і їхній людський мозок. Проте з плином часу увага перейшла до вирішення конкретних проблем, що призвело до відходу від біології. Штучні нейронні мережі використовуються для вирішення комп'ютерного зору, розпізнавання мовлення, машинного перекладу, вилучення шуму, ігор та відеоігор, медичної діагностики тощо.