KONSTRUKCJA I TESTOWANIE AUTOMATÓW ROZMYTYCH ZA POMOCĄ TECHNIK METAHEURYSTYCZNYCH

Podobne dokumenty
Recenzja rozprawy doktorskiej mgr inż. Krzysztofa ZANIEWSKIEGO pt. "Konstrukcja i testowanie automatów rozmytych za pomocą technik metaheurystycznych"

OPINIA. O pracy doktorskiej mgr. inż. Krzysztofa ZANIEWSKIEGO pt. "Konstrukcja i testowanie automatów rozmytych za pomocą technik metaheurystycznych"

Zastosowanie sztucznej inteligencji w testowaniu oprogramowania

6. Zagadnienie parkowania ciężarówki.

SZTUCZNA INTELIGENCJA

7. Zagadnienie parkowania ciężarówki.

Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym, kontynuacja badań

Hybrydowa analiza transformat w rozpoznawaniu wysokości dźwięków w polifonicznych nagraniach instrumentów muzycznych

1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie

Jeśli X jest przestrzenią o nieskończonej liczbie elementów:

ALGORYTM PROJEKTOWANIA ROZMYTYCH SYSTEMÓW EKSPERCKICH TYPU MAMDANI ZADEH OCENIAJĄCYCH EFEKTYWNOŚĆ WYKONANIA ZADANIA BOJOWEGO

Problemy z ograniczeniami

Wstęp do Techniki Cyfrowej... Teoria automatów

Algorytm genetyczny (genetic algorithm)-

Problem eliminacji nieprzystających elementów w zadaniu rozpoznania wzorca Marcin Luckner

Temat: Zastosowanie wyrażeń regularnych do syntezy i analizy automatów skończonych

Aproksymacja funkcji a regresja symboliczna

PROGRAMOWANIE DYNAMICZNE W ROZMYTYM OTOCZENIU DO STEROWANIA STATKIEM

Zastosowanie rozmytych map kognitywnych do badania scenariuszy rozwoju jednostek naukowo-dydaktycznych

Uczenie sieci typu MLP

Zastosowanie sieci neuronowych w problemie klasyfikacji wielokategorialnej. Adam Żychowski

Algorytm grupowania danych typu kwantyzacji wektorów

Algorytmy sztucznej inteligencji

Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym

O dwóch modyfikacjach algorytmu PSO

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

SYNTEZA AUTOMATÓW SKOŃCZONYCH Z WYKORZYSTANIEM METOD KODOWANIA WIELOKROTNEGO

Interwałowe zbiory rozmyte

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy

Plan. Zakres badań teorii optymalizacji. Teoria optymalizacji. Teoria optymalizacji a badania operacyjne. Badania operacyjne i teoria optymalizacji

Systemy uczące się wykład 2

Analiza stanów gry na potrzeby UCT w DVRP

Metody tworzenia efektywnych komitetów klasyfikatorów jednoklasowych Bartosz Krawczyk Katedra Systemów i Sieci Komputerowych Politechnika Wrocławska

KATEDRA INFORMATYKI TECHNICZNEJ. Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych. ćwiczenie 204

Lekcja 5: Sieć Kohonena i sieć ART

Spacery losowe generowanie realizacji procesu losowego

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

Ćwiczenie ZINTEGROWANE SYSTEMY CYFROWE. Pakiet edukacyjny DefSim Personal. Analiza prądowa IDDQ

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta

Summary in Polish. Fatimah Mohammed Furaiji. Application of Multi-Agent Based Simulation in Consumer Behaviour Modeling

Dobór parametrów algorytmu ewolucyjnego

1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN. Agenda

Algorytmy ewolucyjne

Algorytmy ewolucyjne NAZEWNICTWO

Najprostsze modele sieci z rekurencją. sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga;

Temat: ANFIS + TS w zadaniach. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Inteligencja obliczeniowa

8. Neuron z ciągłą funkcją aktywacji.


Kombinacja jądrowych estymatorów gęstości w klasyfikacji - zastosowanie na sztucznym zbiorze danych

Algorytmy sztucznej inteligencji

KARTA PRZEDMIOTU. 17. Efekty kształcenia:

Systemy uczące się Lab 4

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

Wnioskowanie rozmyte. Krzysztof Patan

Rozmyte drzewa decyzyjne. Łukasz Ryniewicz Metody inteligencji obliczeniowej

Seminarium IO. Zastosowanie wielorojowej metody PSO w Dynamic Vehicle Routing Problem. Michał Okulewicz

Algorytmy heurystyczne w UCB dla DVRP

Definicje. Algorytm to:

Definicja 2. Twierdzenie 1. Definicja 3

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

Wykład 8. Testowanie w JEE 5.0 (1) Autor: Zofia Kruczkiewicz. Zofia Kruczkiewicz

Tomasz Pawlak. Zastosowania Metod Inteligencji Obliczeniowej

Wykład VII. Kryptografia Kierunek Informatyka - semestr V. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej

Opis efektów kształcenia dla programu kształcenia (kierunkowe efekty kształcenia) WIEDZA. rozumie cywilizacyjne znaczenie matematyki i jej zastosowań

LEMRG algorytm generowania pokoleń reguł decyzji dla baz danych z dużą liczbą atrybutów

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI

ALGORYTM RANDOM FOREST

INSTYTUT CYBERNETYKI TECHNICZNEJ POLITECHNIKI WROCŁAWSKIEJ ZAKŁAD SZTUCZNEJ INTELIGENCJI I AUTOMATÓW

Temat: Projektowanie sterownika rozmytego. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Sterowniki Programowalne (SP)

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Przeszukiwanie lokalne

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP

Obrona rozprawy doktorskiej Neuro-genetyczny system komputerowy do prognozowania zmiany indeksu giełdowego

Optymalizacja a uczenie się

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

Maciej Piotr Jankowski

Temat: Projektowanie sterownika rozmytego. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Inżynieria Rolnicza 5(114)/2009

LABORATORIUM 7: Problem komiwojażera (TSP) cz. 2

Podstawy Sztucznej Inteligencji (PSZT)

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Weryfikacja hipotez statystycznych, parametryczne testy istotności w populacji

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

Technologie i systemy oparte na logice rozmytej

Temat: Model SUGENO. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Analiza korespondencji

SZTUCZNA INTELIGENCJA

SWB - Projektowanie synchronicznych układów sekwencyjnych - wykład 5 asz 1. Układy kombinacyjne i sekwencyjne - przypomnienie

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

przetworzonego sygnału

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

Optymalizacja. Wybrane algorytmy

Sieci Neuronowe - Rok III - kierunek IS w IFAiIS UJ 2008/2009. Sieci Neuronowe. Wykład 11 Algorytmy genetyczne; Systemy rozmyte

KATEDRA SYSTEMÓW MULTIMEDIALNYCH. Inteligentne systemy decyzyjne. Ćwiczenie nr 12:

Metody Sztucznej Inteligencji II

Algorytmy klasteryzacji jako metoda dyskretyzacji w algorytmach eksploracji danych. Łukasz Przybyłek, Jakub Niwa Studenckie Koło Naukowe BRAINS

Spis treści WSTĘP... 9

Transkrypt:

INSTYTUT BADAŃ SYSTEMOWYCH POLSKIEJ AKADEMII NAUK Streszczenie rozprawy doktorskiej KONSTRUKCJA I TESTOWANIE AUTOMATÓW ROZMYTYCH ZA POMOCĄ TECHNIK METAHEURYSTYCZNYCH Mgr inż. Krzysztof Zaniewski Niestacjonarne studia doktoranckie IBS PAN Techniki Informacyjne Teoria i Zastosowania Promotor: Prof. dr hab. inż. Witold Pedrycz Warszawa 2014 Strona 1

1. Wstęp Automat rozmyty [1][2] jest abstrakcyjnym modelem matematycznym, który można przedstawić w formie grafu skierowanego. Automat rozmyty składa się ze skończonego zbioru stanów, zbioru obiektów wejściowych, zbioru obiektów wyjściowych, z funkcji przejścia pomiędzy stanami, a także z funkcji generującej wyjścia. Automat rozmyty bazuje na regułach logiki rozmytej [3][4]. Automaty skończone [5] i rozmyte zostały wybrane jako modele matematyczne ze względu na ich uniwersalność i szerokie zastosowanie. Automat rozmyty może pełnić funkcje bardzo podobne do sieci neuronowej. Istnieje wiele prac na temat równoważności pomiędzy sieciami neuronowymi a automatami rozmytymi [6][7]. Prowadzone badania na temat równoważności pomiędzy sieciami neuronowymi i automatami rozmytymi pokazują, że automat rozmyty może mieć zastosowanie wszędzie tam, gdzie stosowane są sieci neuronowe. Zakres pracy obejmuje techniki automatycznej konstrukcji i testowania automatów skończonych oraz automatów rozmytych z wykorzystaniem technik metaheurystycznych [8]. Jednym ze sposobów konstrukcji automatu jest zastosowanie technik uczenia nadzorowanego, które umożliwiają stworzenie specyfikacji automatu ze zbioru przykładowych danych wejścia-wyjścia. Automatyczne testowanie polega na wygenerowaniu przypadków testowych, które umożliwią weryfikację, czy zaimplementowany automat spełnia stawiane mu wymagania. W literaturze istnieje duża różnorodność automatów rozmytych i praktycznie w każdej publikacji automat rozmyty definiowany jest w inny sposób. W pracy przedstawiono uogólnioną definicję automatów rozmytych posiadającą rozmyte stany, wejścia i wyjścia. Przedstawiona definicja uporządkowuje wiedzę z dziedziny automatów rozmytych i jest nadrzędna w stosunku do definicji przedstawianych w literaturze, ponieważ inne automaty zarówno skończone, jak i rozmyte, mogą zostać opisane za pomocą przedstawionej definicji. W pracy rozważane jest sformułowanie ziaren informacji [9][10] dla automatu rozmytego, co umożliwia zastosowanie automatu do rzeczywistych problemów. Jak wiadomo w rzeczywistym świecie używamy liczb, natomiast automat rozmyty operuje na abstrakcyjnych symbolach, a dokładniej na poziomie aktywacji symboli wejściowych i wyjściowych. Przedstawiona koncepcja polega na przetworzeniu danych pochodzących ze świata rzeczywistego do świata abstrakcyjnych symboli matematycznych, na których operuje Strona 2

automat rozmyty za pomocą metod grupowania rozmytego [11][12], takich jak algorytm rozmytych C-średnich (Fuzzy C-Means) [13]. W pracy zaproponowano nowy sposób konstrukcji automatu rozmytego i automatu skończonego z wykorzystaniem technik metaheurystycznych. W ramach eksperymentów techniki heurystyczne konstruowały automat na zbiorze sekwencji treningowych, następnie skonstruowane automaty testowane były za pomocą sekwencji spoza zbioru treningowego. Efektywność metod była weryfikowana poprzez określenie błędu generowanego przez automat, czyli różnicy pomiędzy wynikiem oczekiwanym a wynikiem wygenerowanym przez automat rozmyty. Ostatnim elementem eksperymentów było usprawnienie techniki doboru zestawu sekwencji treningowych. Po zastosowaniu nowej strategii doboru zestawu treningowego, wzorowanej na metodzie aktywnego uczenia (ang. active learning) [14] i uczenia on-line (ang. on-line learning) [15], uzyskano automaty generujące wyjścia ze znacznie mniejszym błędem. W przypadku testowania automatów skończonych, rozważanych jako podzbiór automatów rozmytych, skupiono się na metodzie-u [16], ponieważ jak pokazują dotychczasowe badania, generuje ona najkrótsze przypadki testowe. Metoda-U generuje tak zwane unikalne sekwencje wejścia-wyjścia (ang. unique input output sequences UIOs) [17][18]. Generowanie tych sekwencji jest jednak problemem NP-trudnym [19]. W pracy zaprezentowano dwa rozwiązania problemu generowania unikalnych sekwencji wejściawyjścia. Pierwszym jest standardowy algorytm roju cząstek [18][20], Drugim zaprezentowanym rozwiązaniem jest algorytm hybrydowy genetyczno-zachłanny. Skuteczność tego algorytmu została porównana z algorytmami: symulowane wyżarzanie, standardowy algorytm genetyczny, algorytm zachłanny i algorytm losowy. Do tej pory testowanie automatu rozmytego nie było rozważane w literaturze. W niniejszej pracy zaproponowano oryginalne metody testowania automatu rozmytego, wzorując się na technikach wykorzystanych do testowania automatu skończonego metodą-t i metodą-u. Celem pracy jest zaproponowanie: nowego sposobu konstrukcji automatu rozmytego, koncepcji konstrukcji symboli automatu za pomocą metod grupowania rozmytego, uogólnionego modelu automatu rozmytego, techniki testowania automatu rozmytego, Strona 3

efektywnej metody generowania unikalnych sekwencji wejścia-wyjścia do testowania automatu skończonego. Najistotniejszym wkładem prowadzonych badań w dziedzinę teorii automatów jest koncepcja użycia metod grupowania rozmytego w celu konstrukcji symboli wejściowych i wyjściowych automatu oraz zastosowanie technik metaheurystycznych do konstrukcji modelu. Kolejnym istotnym wkładem w teorię automatów jest uogólnione relacyjne ujęcie automatu rozmytego. 2. Automaty rozmyte W niniejszym rozdziale opisano aktualny stan wiedzy dotyczący automatów. Przedstawiono definicje automatu skończonego i automatu rozmytego. Przedstawiono historię powstawania automatów rozmytych oraz inne pokrewne automaty. Zawarto również informacje dotyczące konstrukcji automatów oraz uczenia nadzorowanego. Rozdział zakończono opisując znane w literaturze praktyczne zastosowania automatów rozmytych oraz ograniczenia modelu. Automat skończony Automat skończony (ang. finite automaton lub finite state machine) [5] jest abstrakcyjnym modelem matematycznym opisującym dynamiczne zachowanie systemu. Def. 1: Automat skończony jest strukturą, gdzie : funkcja przejścia;, : funkcja wyjścia; (automat Mealy ego) lub (automat Moore a), : stan początkowy;, : zbiór symboli wejściowych automatu (akcji), : zbiór symboli wyjściowych automatu, S: zbiór stanów automatu. Automat skończony może znajdować się tylko w jednym stanie. Po otrzymaniu symbolu wejściowego automat przechodzi do następnego stanu wynikającego z tabeli przejść i generuje symbol wyjściowy. Istnieją dwa typy automatów skończonych: automat Strona 4

Mealy ego [21] i automat Moore a [22]. Przykładowy automat Mealy ego przedstawiono na Rys. 1. Jeżeli automat znajdujący się w stanie S 1 otrzyma na wejściu sekwencje symboli aa to najpierw przechodzi do stanu S 2, a następnie do stanu S 3 generując na wyjściu ciąg symboli wyjściowych 21. Rys. 1: Przykładowy automat skończony. Automat rozmyty Automat rozmyty został po raz pierwszy zaproponowany w 1967 roku przez Williama Wee w rozprawie doktorskiej [23]. Automat rozmyty oparty jest o reguły logiki rozmytej [3][4] i w przeciwieństwie do automatu skończonego używa rozmytej funkcji przejścia pomiędzy dyskretnym zbiorem stanów [24]. W przypadku automatu skończonego funkcja przejścia może przyjmować wartości zero lub jeden. Natomiast w przypadku automatu rozmytego funkcja przejścia określa stopień przynależności do następnego stanu, ktory może przyjmować wartości w przedziale [0, 1]. Automat rozmyty może znajdować się w więcej niż jednym stanie jednocześnie mając określoną przynależność do każdego ze stanów. Przykładowy automat rozmyty przedstawiono na Rys. 2. Jest to czterostanowy automat rozmyty o stanach S 1, S 2, S 3, S 4, dwóch wejściach: a, b i dwóch wyjściach: x, y. Pod krawędziami podane jest wejście, które aktywuje krawędź, wyjście generowane po aktywacji krawędzi oraz waga przejścia określająca wartość funkcji f. Dla przykładu ze stanu S 1 do S 2 mamy przejście, które generuje wyjście x. Strona 5

Rys. 2: Przykładowy automat rozmyty. 3. Zbiory rozmyte wybrane zagadnienia Celem niniejszego rozdziału jest wprowadzenie do zbiorów rozmytych. Zbiory rozmyte są stosowane w przypadku problemów, gdzie spotykamy się z informacjami mającymi charakter wieloznaczny i nieprecyzyjny. W rzeczywistym świecie napotkano wiele trudnych problemów, które zostały rozwiązane poprzez zastosowanie logiki rozmytej. W rozdziale omówiono pojęcie logiki rozmytej, podstawowe operacje na zbiorach rozmytych i metody grupowania rozmytego. Zbiory rozmyte Teoria zbiorów rozmytych zaproponowana została przez Lotfi Zadeha w 1965 roku [4]. Zbiorem rozmytym A w przestrzeni X nazywamy zbiór par: {( ) }, (1) gdzie funkcja przynależności określająca stopnień przynależności elementu x do zbioru rozmytego A;. Strona 6

Metody grupowania rozmytego Metody grupowania [25] przyporządkowują dane do grup zwanych klastrami w taki sposób, aby podobne dane były w jednej grupie. Grupowanie bazujące na logice dwuwartościowej (ang. hard clustering) [25] przyporządkowuje dane wyłącznie do jednego z klastrów. W rzeczywistym świecie dane rzadko można w pełni przypisać tylko do jednej grupy. Z tego powodu stosowane są reguły grupowania rozmytego (ang. fuzzy clustering) [11][12] bazujące na teorii zbiorów rozmytych. Podczas grupowania rozmytego wyznaczany jest stopień przynależności danych do każdej grupy w przedziale [0, 1]. 4. Algorytmy metaheurystyczne Termin metaheurystyka został zaproponowany przez Freda Glovera w 1986 roku [8]. Metaheurystyki są algorytmami używanymi przeważnie do rozwiązywania trudnych problemów optymalizacyjnych, dla których nie istnieją efektywne algorytmy zapewniające znalezienie rozwiązania. Metaheurystyki mogą zostać użyte do bardzo szerokiego zakresu problemów. Nie gwarantują znalezienia najlepszego rozwiązania, natomiast generują dość dobre wyniki w zadowalającym czasie. Działanie tych algorytmów jest niedeterministyczne, ponieważ są one oparte o generatory liczb pseudolosowych. Przykładami algorytmów metaheurystycznych są: algorytm genetyczny (ang. genetic algorithm) [26], symulowane wyżarzanie (ang. simulated annealing) [27], algorytm roju cząstek (ang particle swarm optimization) [20]. Oprócz podstawowych metaheurystyk istnieją również algorytmy hybrydowe [28] łączące algorytmy metaheurystyczne i algorytmy nienależące do tej grupy algorytmów. 5. Relacyjny opis automatów rozmytych Rozdział przedstawia uogólnione relacyjne ujęcie automatu rozmytego. Zaprezentowana definicja jest nadrzędna w stosunku do definicji przedstawianych do tej pory w literaturze, gdyż inne automaty - zarówno skończone jak i rozmyte - mogą zostać opisane za jej pomocą. W dalszej części rozdziału zaprezentowano przykład automatu opartego o uogólnioną definicję. Na jego podstawie można zaobserwować, w jaki sposób otrzymywane symbole wejściowe wpływają na stan automatu i generowane wyjścia. Rozdział zakończono omówieniem praktycznego podziału na trzy grupy automatów. Strona 7

Definicja automatu W poniższej definicji przedstawiono automat, którego symbole wejściowe i wyjściowe oraz stany mogą zostać aktywowane do pewnego stopnia. Automat może również przyjmować na wejściu i wyjściu więcej niż jeden symbol w jednej chwili czasu. Dla przykładu, jeżeli na wejściu pojawiają się symbole a i b aktywowane odpowiednio ze stopniami przynależności 0.5 i 0.7. Automat wygeneruje na wyjściu symbole x i y aktywowane odpowiednio na poziomach 0.7 i 0.1. Def. 2: Automat rozmyty jest strukturą (I, O, S, R, G), gdzie I: skończony, niepusty zbiór symboli wejściowych;, O: skończony, niepusty zbiór symboli wyjściowych;, S: skończony, niepusty zbiór stanów automatu;, a: liczba symboli wejściowych automatu, o: liczba symboli wyjściowych automatu, n: liczba stanów automatu, R: relacja stanu,, G: relacja wyjścia, (automat Mealy ego) lub (automat Moore a). Przynależność do stanów w następnej dyskretnej chwili czasowej opisana jest następująco: ( ) (2) gdzie - jest symbolem złożenia relacji, x(k): wektor stopni przynależności do symboli wejściowych w K-ej chwili czasu;,, q(k): wektor stopni przynależności automatu do każdego ze stanów w K-ej chwili czasu;,, : iloczyn Kartezjański i. Strona 8

Wektor q(k) określa stopnie przynależności do poszczególnych stanów automatu rozmytego:, natomiast wektor x(k) określa stopnie przynależności do symboli wejściowych automatu w K-ej chwili czasu. Relacja R wiąże stopnie przynależności symboli wejściowych x(k) i stopnie przynależności stanów q(k) ze stopniami przynależności stanów w następnej chwili czasu q(k+1). Złożenie relacji może być zrealizowane za pomocą norm trójkątnych. Uwzględniając, że q i x są wektorami, wzór (2) przyjmuje następującą postać: ( ) (3) gdzie stopnień przynależności do stanu S i w K-ej chwili czasu, stopień przynależności dla obiektu wejściowego I h, wartość z macierzy R, t t-norma, s t-konorma (s-norma). Wektor y(k) określa stopnie przynależności do symboli wyjściowych automatu w K-ej chwili czasu. Poziom aktywacji symboli wyjściowych wyliczany jest analogicznie za pomocą poniższej zależności: ( ) (4) gdzie y(k): wektor stopni przynależności do symboli wyjściowych w K-ej chwili czasu;,. Jeżeli przyjrzymy się bardziej szczegółowo uwzględniając, że x, y i q są wektorami, w przypadku automatu Mealy ego wzór (4) przyjmuje następującą postać: ( ) (5) gdzie Strona 9

stopień przynależności dla obiektu wyjściowego O l w K-ej chwili czasu, wartość z macierzy G. W przypadku automatu Moore a wzór (4) przyjmuje następującą postać: (6) gdzie wartość il-tego elementu macierzy (relacji) G. 6. Budowa koncepcji z wykorzystaniem metod grupowania rozmytego W niniejszym rozdziale przedstawiono zastosowanie metod grupowania rozmytego (ang. fuzzy clustering) [11][12], takich jak algorytm rozmytych C-średnich (ang. Fuzzy C- Means, skrót FCM) [13], do konstrukcji wektorów wejściowych i wyjściowych automatu rozmytego. Omówiona koncepcja stanowi istotny wkład w dziedzinę teorii automatów, ponieważ umożliwia zastosowanie automatu rozmytego do rozwiązania problemów ze świata rzeczywistego. Rozważono również proces degranulacji [9], czyli konwersji danych wyjściowych automatu do danych świata rzeczywistego, co jest konieczne w przypadku systemów decyzyjnych. Na koniec opisano możliwe problemy świata rzeczywistego i sposoby ich przedstawienia w postaci abstrakcyjnych symboli akceptowanych przez automat rozmyty. Konstrukcja symboli automatu rozmytego W przypadku automatu rozmytego operujemy na symbolach. Zgodnie z regułami zbiorów rozmytych symbole mogą zostać aktywowane do pewnego stopnia i tworzą wektor wejściowy x i wyjściowy y. Przypomnijmy, że, natomiast. W przypadku problemów ze świata rzeczywistego używamy liczb, a nie symboli. Dane pochodzące ze świata rzeczywistego są opisane za pomocą wektorów liczb rzeczywistych. Oznacza to, że dane ze świata rzeczywistego opisane są za pomocą wektorów i, gdzie jest wejściowym p-wymiarowym wektorem liczb rzeczywistych, natomiast jest wyjściowym g-wymiarowym wektorem liczb rzeczywistych. Aby automat rozmyty mógł rozwiązywać problemy ze świata rzeczywistego, konieczne jest przedstawienie Strona 10

danych rzeczywistych w postaci wektorów wejściowych i wyjściowych. Innymi słowy musimy dokonać konwersji wektora z postaci do i wektora z postaci do. Rys. 3 przedstawia przykład konwersji jednowymiarowego szeregu czasowego pochodzącego ze świata rzeczywistego (górna części diagramu) do ziaren informacji (dolna część diagramu). W tym przypadku wykorzystane zostały trzy symbole. Wykres w dolnej części rysunku przedstawia wartości przynależności do poszczególnych symboli w kolejnych chwilach czasu. Rys. 3: Przykład przetworzenia rzeczywistych szeregów czasowych (górna części diagramu) do ziaren informacji (dolna część diagramu). Chcąc sformułować ziarna informacji i ich poziomy aktywacji w przestrzeni wejść automatu rozmytego dokonujemy następującego odwzorowania: (7) gdzie wektor rzeczywistych danych wejściowych, symbole wygenerowane przez metodę grupowania rozmytego będące obiektami wejściowymi automatu, Strona 11

czasu. stopnie przynależności do symboli wejściowych automatu w K-ej chwili Powyższa konwersja może zostać wykonana za pomocą metod grupowania rozmytego (w niniejszej pracy użyty został algorytm rozmytych C-średnich). Zadaniem algorytmu rozmytych C-średnich jest wygenerowanie c klastrów i macierzy podziału U. W przypadku generowania symboli wejściowych automatu rozmytego macierz podziału U tworzy wektory wejść automatu rozmytego. Wektor x(k) jest widziany jako wektor przynależności do wygenerowanych prototypów. Poniżej przedstawiono macierz podziału U w przypadku generowania symboli wejściowych automatu, która zamiast zmiennej u składa się z wektorów wejściowych automatu rozmytego x(k): [ ] [ ] (8) gdzie i przynależność do i-tego symbolu wejściowego w K-tej chwili czasu. Analogiczny proces wykorzystywany jest również dla danych wyjściowych automatu. Formułowanie przestrzeni wejść i wyjść automatu rozmytego Mając dane ze świata rzeczywistego, konieczne jest odpowiednie przygotowanie tych danych, aby automat rozmyty mógł rozwiązać konkretny problem. W pracy rozważmy możliwe sposoby reprezentacji przestrzeni wejść i wyjść automatu dla problemów predykcji (Rys. 4) i klasyfikacji: Rys. 4: Prognozowanie wartości amplitudy w przyszłości na podstawie próbek danych z przeszłości. Strona 12

7. Konstrukcja automatów rozmytych W niniejszym rozdziale przedstawiono koncepcję konstrukcji automatu rozmytego za pomocą technik metaheurystycznych. Przeprowadzono eksperymenty konstrukcji automatów, których wyniki poddano szczegółowej analizie. Następnie opisano koncepcję doboru zestawu treningowego podobną do techniki uczenia aktywnego i uczenia on-line. Przedstawioną koncepcję doboru zestawu treningowego wykorzystano w drugim eksperymencie. Opisane koncepcje i eksperymenty mają bardzo istotny wkład w teorię automatów, ponieważ do tej pory nie było w literaturze przykładów zastosowania technik metaheurtystycznych do konstrukcji modelu automatu rozmytego. 7.1 Sformułowanie problemu Mając zbiór sekwencji wejścia-wyjścia, gdzie każdy element ti składa się z sekwencji wejściowej i wyjściowej, konstruujemy automat rozmyty, który po otrzymaniu sekwencji wejściowej odtworzy sekwencję wyjściową z możliwie najmniejszym błędem. W celu oceny skonstruowanego automatu liczymy średni błąd wyjścia (wskaźnik jakości): gdzie wskaźnik jakości, długość sekwencji, wynik wyjściowy wygenerowany przez konstruowany automat, oczekiwany wynik wyjściowy, k numer sekwencji, j numer elementu w sekwencji, i numer wyjścia automatu. (9) W celu konstrukcji automatu wykorzystane są techniki metaheurystyczne, których zadaniem jest wybór optymalnej liczby stanów automatu oraz optymalizacja macierzy relacji R i G. W każdej iteracji algorytm uruchamia sekwencje treningowe na konstruowanym Strona 13

automacie i wylicza wskaźnik jakości automatu za pomocą funkcji (9). Wartości macierzy R i G są korygowane po wyliczeniu wskaźnika jakości. 7.2 Ogólny schemat algorytmu W celu konstrukcji automatu rozmytego zaprojektowano dwuetapowy algorytm metaheurystyczny. Pierwszy etap odpowiada za wybór liczby stanów, natomiast drugi odpowiada za optymalizację automatu o określonej liczbie stanów. Architekturę rozwiązania przedstawiono na Rys. 5. Rys. 5: Architektura dwuetapowego algorytmu do konstrukcji automatu. W pierwszym etapie algorytm wybiera liczbę stanów. Po każdorazowym wybraniu liczby stanów uruchamiany jest algorytm drugiego etapu, optymalizujący macierze R i G. Zasada działania algorytmu drugiego etapu jest podobna do techniki optymalizacji modelu opisanej w [10]. Możliwe są różne kombinacje algorytmów metaheurystycznych użytych w pierwszym i drugim etapie zaproponowanego rozwiązania (Rys. 5). W pracy zastosowano dwie odmiany zaproponowanego algorytmu dwuetapowego: SA-PSO i SA-SA. Algorytm SA-PSO używa symulowanego wyżarzania (SA) [27] w pierwszym etapie i algorytmu roju Strona 14

cząstek (PSO) [20] w drugim etapie. Natomiast SA-SA używa symulowanego wyżarzania zarówno w pierwszym i w drugim etapie. 7.3 Opis i wyniki eksperymentu Celem eksperymentu jest rekonstrukcja funkcjonalności wzorcowego pięciostanowego automatu pełniącego funkcję urządzenia przetwarzającego sygnały. Badany automat wzorcowy traktujemy jak czarną skrzynkę [29], czyli zakładamy, że nie mamy dostępu do informacji na temat jego budowy i struktury. Wysyłamy do automatu sygnały wejściowe i na podstawie otrzymanych wyników na wyjściach konstruujemy sekwencje treningowe i testowe. Sekwencje te zostały użyte w celu konstrukcji i testów nowego automatu. W ramach eksperymentu porównane zostały cztery algorytmy: SA-SA, ulepszona wersja algorytmu SA- SA, SA-PSO oraz algorytm losowy (użyty jako punkt odniesienia). Najlepsze wyniki optymalizacji uzyskaliśmy dla ulepszonego algorytmu symulowanego wyżarzania, następnie minimalnie słabszy był algorytm roju cząstek, na trzecim miejscu była standardowa wersja algorytmu symulowanego wyżarzania, a najsłabsze wyniki generował algorytm losowy (Rys. 6). PSO 0,0034 SA (ulepszony) 0,0024 SA 0,0047 Metoda losowa 0,1260 0 0,02 0,04 0,06 0,08 0,1 0,12 funkcja przystosowania Rys. 6: Wyniki optymalizacji funkcji przystosowania. W celu weryfikacji funkcjonalności skonstruowanego automatu konieczne jest przeprowadzenie testów używając sekwencji niebędących w zbiorze treningowym. Sekwencje Strona 15

przynależność do symbolu wyjściowego z poza zbioru treningowego, użyte do weryfikacji nauczonego automatu, nazywane są sekwencjami testowymi. Porównanie wartości wskaźnika jakości dla sekwencji treningowych (Rys. 6) z wartościami wskaźnika jakości dla sekwencji testowych (Rys. 7) pokazuje, że dla sekwencji testowych wyniki są znacznie słabsze. Analiza wyników pokazuje, że dla większości sekwencji testowych, błąd wyjścia jest w miarę mały. Jednak w przypadku dwóch sekwencji błędy na wyjściach wyróżniają się osiągając wartości 3 i 5 procent (Rys. 8). PSO 0,0129 SA (ulepszony) 0,0128 SA 0,0204 Metoda losowa 0,0920 0 0,02 0,04 0,06 0,08 0,1 0,12 funkcja przystosowania Rys. 7: Wyniki testów skonstruowanych automatów. 1 0,75 0,5 0,25 wynik z automatu wynik wzorcowy 0 1 2 3 4 5 6 7 8 9 10 czas Rys. 8: Najsłabszy wynik uzyskany dla sekwencji testowej. Wykres pokazuje zmianę jednego z sygnałów wyjściowych porównaną z wynikiem idealnym. Strona 16

funkcja przystosowania 7.4 Ulepszona strategia doboru zestawu treningowego Wyniki testów skonstruowanego automatu przedstawione w poprzedniej sekcji pokazały, że w przypadku niektórych sekwencji testowych błąd jest znacznie większy niż dla sekwencji treningowych. Oznacza to, że zestaw treningowy nie został optymalnie dobrany i możemy poprawić wyniki testów. Zaproponowana koncepcja podobna jest do techniki uczenia aktywnego (ang. active learning) [14] i uczenia on-line (ang. on-line learning) [15], jednak cel opisanej koncepcji jest inny niż w przypadku aktywnego uczenia i uczenia on-line. Zaproponowana strategia doboru zestawu treningowego została zastosowana do konstrukcji automatu rozmytego za pomocą ulepszonej wersji algorytmu symulowanego wyżarzania. Wyniki eksperymentów konstrukcji automatu rozmytego pokazują, że zastosowanie ulepszonej strategii generowania zbioru treningowego daje wyraźna poprawę w porównaniu z losowym doborem zestawu treningowego (Rys. 9). Na zestawie testowym uzyskano wskaźnik jakości, co oznacza poprawę o 96%. Oprócz poprawy wyników testów automatu można zaobserwować, że poprawiono również wskaźnik jakości na zestawie treningowym, co oznacza poprawę o 84%. Wyniki testów były bardzo dobre na wszystkich sekwencjach treningowych i testowych. Tylko na pojedynczych sekwencjach widoczne są minimalne błędy (Rys. 10). Są one jednak zdecydowanie mniejsze niż błędy w poprzednim eksperymencie (Rys. 8). 0,012 0,01275 0,01 0,008 0,006 0,004 0,002 0 0,00037 0,00046 nowy eksperyment 0,00236 poprzedni eksperyment trening test Rys. 9: Wyniki eksperymentów po zastosowaniu ulepszonej koncepcji doboru zestawu treningowego porównane z wynikami z poprzedniego eksperymentu. Strona 17

przynależność do symbolu wyjściowego 1 0,75 0,5 0,25 wynik z automatu wynik wzorcowy 0 1 2 3 4 5 6 7 8 9 10 czas Rys. 10: Najsłabszy wynik uzyskany na sekwencji testowej. Wykres pokazuje zmianę jednego z sygnałów wyjściowych porównaną z wynikiem idealnym. 8. Testowanie automatów Na początku niniejszego rozdziału omawiamy techniki testowania automatu skończonego. Następnie szczegółowo przyglądamy się metodzie-u i przedstawiamy wyniki eksperymentów zastosowania algorytmu roju cząstek do generowania przypadków testowych tą metodą. W dalszej części rozdziału przedstawiamy koncepcje algorytmu hybrydowego wykorzystującego algorytm genetyczny i zachłanny w celu generowania przypadków testowych metodą-u. Na koniec uogólniamy nasze ujęcie hybrydowe tak, aby mogło zostać zastosowane do innych problemów optymalizacyjnych. Metody testowania automatu skończonego Testowanie automatu skończonego wymaga porównania specyfikacji automatu z jego implementacją. Istnieją dwa rodzaje błędów [19]: błędy wyjścia i błędy stanu. Podstawową metodą testowania automatu jest metoda-t (ang. T-method: transition tour) [30]. Niestety metoda-t wykrywa jedynie błędy wyjścia. Natomiast błędy stanu mogą zostać wykryte poprzez zastosowanie jednej z następujących metod [30]: Metoda-U (ang. U-method), Metoda-D (ang. D-method) i Metoda-W (ang. W-method). Strona 18

W niniejszej pracy skupiamy się na generowaniu unikanych sekwencji wejścia-wyjścia (Metoda-U), ponieważ potrafią one wykryć błąd stanu i generują najkrótsze przypadki testowe [16]. Techniki metahurystyczne takie jak symulowane wyżarzanie [27], algorytmy genetyczne [26], algorytm roju cząstek [20] i 1+1 [31] były używane i okazały się skuteczne [17][18][31] w porównaniu z algorytmem losowym [32] użytym jako punkt odniesienia. 8.1 Sformułowanie problemu Zadanie generowania najkrótszych unikalnych sekwencji wejścia-wyjścia, definiujemy jako problem optymalizacyjny. Celem optymalizacji jest minimalizacja funkcji składającej się z dwóch kryteriów. Pierwszym kryterium jest unikalność sekwencji, natomiast drugim jest jej długość. Należy pamiętać o tym, że karamy długie i promujemy krótkie sekwencje. Formalnie mówiąc, minimalizowana funkcja opisana jest w następujący sposób:, (10) gdzie optymalizowana funkcja, długość sekwencji, ilość stanów, dla których sekwencja generuje takie samo wyjście, co dla weryfikowanego stanu. Poszukiwanie najkrótszej, unikalnej sekwencji wejścia-wyjścia jest bardzo złożone, ponieważ nie istnieje efektywny algorytm, który gwarantuje rozwiązanie problemu. Problem został zaklasyfikowany do kategorii NP-trudnych [19]. 8.2 Zastosowanie algorytmu roju cząstek Do wyszukiwania unikalnych sekwencji wejścia-wyjścia wykorzystany został standardowy algorytm roju cząstek (ang. particle swarm optimization, w skrócie PSO). Celem eksperymentu jest analiza zaproponowanego rozwiązania w procesie automatycznego generowania unikalnych sekwencji wejścia-wyjścia ze specyfikacji automatu skończonego. W ramach eksperymentu rozpatrzone zostały dwa sposoby kodowania rozwiązania. Strona 19

funkcja przystosowania Funkcja przystosowania Zastosowana funkcja przystosowania posiada wagi unikalności i kary za długie sekwencje. Odpowiadają za to odpowiednio parametry i. Formalnie funkcja przystosowania liczona jest wzorem: ( ) (11) gdzie unikalna sekwencja wejścia-wyjścia dla stanu, Funkcja liczy długość sekwencji. Funkcja wylicza unikalność sekwencji dla stanu. Testy i wyniki badań W ramach eksperymentu algorytm roju cząstek został porównany z losowym generowaniem rozwiązań. Przeprowadzone zostały trzy rodzaje testów dla różnych wartości wag funkcji przystosowania: 1. ( = 1, = 1), 2. ( = 1, = 0.5), 3. ( = 1, = 0). W każdym przypadku wyniki (Rys. 11) pokazują, że algorytm roju cząstek prowadzi do generowania lepszych sekwencji, niż te generowane losowo. 70,00 60,00 74,10 58,04 50,00 40,00 30,00 20,00 10,00 0,00 43,83 36,30 3,24 2,13 w 2 =1,0 w 2 =0,5 w 2 =0,0 Metoda losowa Rój cząstek Rys. 11: Uśrednione wyniki w zależności od wartości wag funkcji przystosowania. Strona 20

8.3 Zastosowanie algorytmu hybrydowego Zaproponowane rozwiązanie jest algorytmem hybrydowym składającym się z algorytmu zachłannego i algorytmu genetycznego (Rys. 12). Algorytm hybrydowy składa się z fazy inicjalizacji, podczas której badana jest architektura automatu oraz dwóch faz optymalizacyjnych. Architektura algorytmu zaprezentowana jest na Rys. 12. Rys. 12: Architektura rozwiązania hybrydowego użyta do generowania unikalnych sekwencji wejścia-wyjścia. Eksperymenty Zestaw testowy składa się z 32 automatów skończonych o różnorodnej topologii. Zastosowana została funkcja przystosowania określona jest wzorem (11) z wagami = 1 i = 1. W ramach eksperymentów porównane zostały następujące algorytmy: algorytm hybrydowy (genetyczny + zachłanny), symulowane wyżarzanie, algorytm genetyczny, algorytm zachłanny i algorytm losowy. Strona 21

Analiza wyników optymalizacji funkcji przystosowania (Rys. 13) pokazuje, że algorytm hybrydowy przewyższa inne rozwiązania. W pracy analizujemy również wartości odchyleń standardowych i na tej podstawie oceniamy jakość rozwiązań. Analiza wyników eksperymentów prowadzi do konkluzji, że ujęcia hybrydowe podobne do zaprezentowanego w niniejszej pracy są znacznie lepszym wyborem, niż uniwersalne metaheurystyki jak algorytm genetyczny czy symulowane wyżarzanie. 500 450 400 350 300 250 200 150 100 50 0 Metoda losowa Symulowane wyżarzanie Algorytm zachłanny Algorytm genetyczny Algorytm hybrydowy Rys. 13: Średnie wartości funkcji przystosowania uzyskane dla różnych metod generowania unikalnych sekwencji wejścia-wyjścia. 9. Koncepcje testowania automatu rozmytego Testowanie automatu rozmytego, podobnie jak w przypadku testowania automatu skończonego, polega na porównaniu specyfikacji automatu z jego implementacją. Jednak problem testowania automatu rozmytego jest znacznie bardziej złożony ze względu na znacznie większą liczbę transformacji pomiędzy stanami i nieskończoną liczbą kombinacji stanów w jakich może znajdować się automat. W rozdziale przedstawiono koncepcje testowania automatów rozmytych wzorując się na technikach testowania automatów skończonych, takich jak metoda-t i metoda-u. W rozdziale zaproponowano pięć technik testowania automatów rozmytych: testowanie losowymi sekwencjami, testowanie na zasadzie metody-t, testowanie każdej krawędzi, testowanie każdego wierzchołka i testowanie na zasadzie metody-u. Testowanie każdej krawędzi i testowanie każdego wierzchołka są Strona 22

ulepszonymi wersjami testowania na zasadzie metody-t. Niniejszy rozdział stanowi istotny wkład w dziedzinę teorii automatów, ponieważ do tej pory w literaturze nie było prac poświęconych testowaniu automatów rozmytych Testowanie losowymi sekwencjami Testowanie składa się z etapu generowania sekwencji testowych oraz z etapu weryfikacji, czy wynik wyjściowy wygenerowany przez automat jest poprawny. Sekwencje testowe konstruujemy w następujący sposób. Generujemy sekwencje wejściowe losowo. Odczytujemy wyjścia z automatu idealnego (specyfikacji) dla każdej sekwencji wejściowej. W ten sposób otrzymujemy zbiór testowych sekwencji wejścia-wyjścia, gdzie każdy element ti składa się z sekwencji wejściowej i wyjściowej. Mając zbiór sekwencji testowych, możemy przejść do etapu weryfikacji czy automat generuje poprawne wyniki wyjściowe. Uruchomiamy sekwencje testowe na automacie i porównujemy otrzymane wyjścia z wyjściami, które otrzymaliśmy na automacie idealnym. Porównanie wyjść może się odbywać na dwa sposoby. Pierwszy polega na wyznaczeniu współczynnika tolerancji błędu i porównaniu, czy błąd nigdzie nie przekracza wyznaczonego współczynnika. Drugi sposób polega na policzeniu wskaźnika jakości automatu za pomocą wzoru (9). 10. Podsumowanie W niniejszej rozprawie przedstawiono nowe koncepcje automatów rozmytych z rozmytymi stanami oraz rozmytymi symbolami wejść i wyjść. Nowością niniejszej koncepcji jest przedstawienie automatu za pomocą opisu relacyjnego, co sprawia, że ujęcie to jest bardziej ogólne, niż przedstawiane do tej pory w literaturze opisy automatów używające funkcji. Kolejnym nowatorskim elementem jest przedstawienie koncepcji zastosowania grupowania rozmytego do konstrukcji symboli wejściowych i wyjściowych automatu. Automat rozmyty jest abstrakcyjnym modelem matematycznym, operującym na abstrakcyjnych symbolach i przynależnościach do tych symboli. Zastosowanie metod grupowania rozmytego umożliwia zastosowanie automatu do rozwiązywania problemów Strona 23

świata rzeczywistego. Metody grupowania rozmytego dokonują konwersji danych wejściowych i wyjściowych pochodzących ze świata rzeczywistego do postaci akceptowanej przez automat rozmyty, czyli wektorów określających przynależności do abstrakcyjnych symboli wejść i wyjść automatu rozmytego. Oryginalnym elementem pracy jest również koncepcja konstrukcji automatu rozmytego za pomocą algorytmów metaheurystycznych. W celu konstrukcji automatu rozmytego zaprojektowano dwuetapowy algorytm metaheurystyczny. Pierwszy etap odpowiada za dobór liczby stanów, natomiast drugi za optymalizację macierzy automatu. W ramach eksperymentów porównano trzy wersje naszego algorytmu z losowym generowaniem rozwiązań. W pierwszym etapie zawsze używano algorytmu symulowanego wyżarzania, natomiast w drugim etapie zastosowano rój cząstek i dwie wersje symulowanego wyżarzania (standardowa i ulepszona). Wyniki eksperymentów pokazały, że najmniejsze wartości funkcji przystosowania uzyskaliśmy dla wersji z ulepszonym algorytmem symulowanego wyżarzania. W drugiej części eksperymentu zaproponowaliśmy strategię doboru zestawu treningowego do konstrukcji automatu. Nasza strategia treningu automatu doprowadziła do zmniejszenia średniego błędu automatu na zestawie testowym. W pracy przedstawiono dwie metody rozwiązania problemu generowania unikalnych sekwencji wejścia-wyjścia. Pierwszą jest algorytm roju cząstek. Natomiast drugą metodą jest ujęcie hybrydowe wykorzystujące efektywny algorytm zachłanny i algorytm genetyczny. Algorytm zachłanny używa dodatkowych informacji o topologii automatu i problemie generowania unikalnych sekwencji wejścia-wyjścia, natomiast algorytm genetyczny generuje ziarno dla naszego algorytmu zachłannego. Wyniki eksperymentów pokazały, że algorytm roju cząstek przewyższał losowe generowanie sekwencji dając lepsze wyniki na każdym z testowanych automatów, niezależnie od użytej wersji funkcji przystosowania. W przypadku ujęcia hybrydowego przeprowadziliśmy serię eksperymentów dającą solidne podstawy do porównania wyników wygenerowanych przez zaproponowane ujęcie hybrydowe, algorytm genetyczny, symulowane wyżarzanie, algorytm zachłanny i losowe generowanie rozwiązań. Szczegółowa analiza pokazuje, że ujęcie hybrydowe przewyższa inne heurystyki w każdym przypadku użytym w serii eksperymentów. W pracy przedstawiono pięć koncepcji testowania automatu rozmytego: testowanie losowymi sekwencjami, testowanie na zasadzie metody-t, testowanie na zasadzie metody-u, testowanie każdego wierzchołka i testowanie każdej krawędzi. Strona 24

Niniejsza praca jest pierwszą wykorzystująca techniki metaheurystyczne w celu konstrukcji modelu automatu rozmytego. Biorąc pod uwagę możliwości modelu, które są porównywalne z sieciami neuronowymi, opublikowanie wyników przeprowadzonych badań daje szansę na rozpoczęcie naukowej dyskusji na temat technik konstrukcji/uczenia automatów rozmytych. Zaproponowana koncepcja wykorzystania metod grupowania rozmytego w celu konstrukcji wektorów wejść i wyjść automatu oraz przedstawiony uogólniony opis automatu za pomocą relacji, może z kolei rozpocząć dyskusję na temat zastosowań praktycznych automatów ze szczególnym uwzględnieniem metod grupowania rozmytego. Literatura [1] W. Pedrycz, Y. Li (2006). The equivalence between fuzzy Mealy and fuzzy Moore machines. Soft Computing - A Fusion of Foundations, Methodologies and Applications, 10 (10), 953-959, Springer-Verlag Berlin, Heidelberg. [2] W. Pedrycz, A. Gacek (2001), Learning of Fuzzy Automata. International Journal of Computational Intelligence and Applications, 1 (1), 19-33. [3] W. Pedrycz, F. Gomide (2007), Fuzzy Systems Engineering: Toward Human- Centric Computing. Wiley-IEEE Press. [4] L. Zadeh (1965), Fuzzy sets. Information and Control, 8, 338 353. [5] Z. Kohavi (1978), Switching and finite automata theory. McGraw Hill, New York. [6] L. Giles, C. Omlin, K. Thornber (1999), Equivalence in Knowledge Representation: Automata, Recurrent Neural Networks and Dynamical Fuzzy Systems. Proceedings of the IEEE, 87 (9), 1923-1940. [7] Q.-E. Wu, G. Cui (2008), Application of Fuzzy Automata to Fuzzy Signal Processing. 2008 International Conference on Computer Science and Software Engineering, 5, 1283-1286, Wuhan, Hubei. [8] F. Glover (1986), Future Paths for Integer Programming and Links to Artificial Intelligence. Computers and Operations Research, 13 (5), 533 549. [9] W. Pedrycz (2013), Granular Computing: Analysis and Design of Intelligent Systems. CRC Press. Strona 25

[10] W. Pedrycz (2010), The design of cognitive maps: A study in synergy of granular computing and evolutionary optimization. Expert Systems with Applications, 37, 7288 7294. [11] W. Pedrycz, J. Valente de Oliveira (2008). A development of fuzzy encoding and decoding through fuzzy clustering. IEEE Transactions on Instrumentation and Measurement, 57 (4), 829 837. [12] R. Nock, F. Nielsen (2006), On Weighting Clustering, IEEE Transactions on Pattern Analysis and Machine Intelligence, 28 (8), 1 13. [13] J. C. Bezdek (1981), Pattern Recognition with Fuzzy Objective Function Algorithms, NY: Plenum Press. [14] B. Settles (2009), Active Learning Literature Survey. Computer Sciences Technical Report 1648. University of Wisconsin Madison. [15] N. Littlestone (1988), Learning Quickly When Irrelevant Attributes Abound: A New Linear-threshold Algorithm. Machine Learning 2, 285-318, Kluwer Academic Publishers. [16] R. Dorofeeva, K. El-Fakih, S. Maag, A. R. Cavalli, N. Yevtushenko (2010), FSMbased conformance testing methods: A survey annotated with experimental evaluation. Information and Software Technology, 52 (12), 1286 1297. [17] Q. Guo, R. M. Hierons, M. Harman, K. Derderian (2005), Constructing Multiple Unique Input/Output Sequences Using Metaheuristic Optimisation Techniques. IEE Proceedings Software, 152 (3) 127-140. [18] K. Zaniewski (2011), Automatyczne generowanie sekwencji Wejścia-wyjścia (UIO) za pomocą algorytmu PSO do testów automatu skończonego. Techniki informacyjne - teoria i zastosowania, Systems Research Institute Polish Academy of Sciences. 1, 190-208. [19] D. Lee, M. Yannakakis (1994), Testing finite state machines: state identification and verification. IEEE Transactions on Computers, 43 (3) 306 320. [20] Y. Shi, R. Eberhart (1998), A modified particle swarm optimizer. Proceedings of IEEE International Conference on Evolutionary Computation, 69 73, Anchorage, AK, USA. [21] G. H. Mealy (1955), A Method to Synthesizing Sequential Circuits. Bell Systems Technical Journal, 34, 1045 1079. [22] E. F. Moore (1956), Gedanken-experiments on Sequential Machines. Automata Studies, Annals of Mathematical Studies, 34, 129 153. Strona 26

[23] W. Wee (1967), On generalization of adaptive algorithm and application of the fuzzy sets concept to pattern classification. rozprawa doktorska, Purdue University. [24] W. G. Wee, K. S. Fu (1969). A Formulation of Fuzzy Automata and Its Application as a Model of Learning Systems. IEEE Transactions on Systems Science and Cybernetics, 5 (3), 215-223. [25] R. Xu, D. Wunsch (2005), Survey of Clustering Algorithms. IEEE Transactions on Neural Networks, 16 (3), 645-678. [26] J. H. Holland (1992), Adaptation in Natural and Artificial Systems. MIT Press Cambridge, MA, USA. [27] S. Kirkpatrick, C. D. Gelatt, M. P. Vecchi (1983), Optimization by Simulated Annealing. Science. 220 (4598) 671 680. [28] E.-G. Talbi (2009), Metaheuristics: from design to implementation. Wiley. [29] E. Cauer, W. Mathis, R. Pauli (2000), Life and Work of Wilhelm Cauer (1900 1945). Proceedings of the Fourteenth International Symposium of Mathematical Theory of Networks and Systems, Perpignan, France. [30] D. Lee, M. Yannakakis (1996), Principles and methods of testing finite state machines, Proceedings of the IEEE. 84 (8) 1090 1123. [31] P. K. Lehre, X. Yao (2007), Runtime analysis of (1+1)-EA on computing unique input output sequences. Proceedings of the IEEE Congress on Evolutionary Computation, 1882 1889, Singapore. [32] X. S. Yang (2011), Random Walks and Levy Flights. Nature-Inspired Metaheuristic Algorithms, 2 nd ed., Luniver Press. Strona 27