INTELIGENTNE TECHNIKI KOMPUTEROWE wykład 001
Transkrypt
INTELIGENTNE TECHNIKI KOMPUTEROWE wykład 001
www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl ZiIP, ZC6, sem. IX INTELIGENTNE TECHNIKI KOMPUTEROWE prowadzący: dr inż. Witold Beluch (p. 149) wykład 001 konsultacje: wtorek 1145-1315 czwartek 1000-1130 1 www.kwmimkm.polsl.pl wykł wykład: 15h laboratorium: 15h 2 www.kwmimkm.polsl.pl LITERATURA: 1. Arabas J., Wykłady z algorytmów ewolucyjnych, ewolucyjnych, WNT, Warszawa, 2003 2. Michalewicz Z., Algorytmy genetyczne + struktury danych = programy ewolucyjne, ewolucyjne, WNT, Warszawa, 1996 (1992) 3. Goldberg D.E., Algorytmy genetyczne i ich zastosowania, zastosowania, WNT, Warszawa, 2003 (1989) ZAJĘ ZAJĘCIA KOŃ KOŃCZĄ CZĄ SIĘ SIĘ EGZAMINEM 4. Rutkowski L. , Metody i techniki sztucznej inteligencji, inteligencji, PWN, Warszawa, 2006 5. Tadeusiewicz R., Elementarne wprowadzenie do techniki sieci neuronowych z przykładowymi programami, programami, Akad. Akad. Oficyna Wyd. PLJ, Warszawa, 1998 6. Tadeusiewicz R., Sieci neuronowe, neuronowe, Akad. Akad. Oficyna Wyd. RM, Warszawa 1993 OCENA KOŃ KOŃCOWA: 7. Osowski S., Sieci neuronowe w ujęciu algorytmicznym, algorytmicznym, WNT, Warszawa 1996. 65% - OCENA Z EGZAMINU 35% 35% - OCENA Z LABORATORIUM obydwie oceny muszą muszą być być pozytywne! pozytywne! 3 4 www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl SIEĆ: • http://www.fizyka.umk.pl/~norbert http://www.fizyka.umk.pl/~norbert//SemMagInf/ SemMagInf/Wilczewski.pdf - algorytmy ewolucyjne. • http://www.isep.pw.edu.pl fuzzy//podst http://www.isep.pw.edu.pl//ZakladNapedu/dyplomy/ ZakladNapedu/dyplomy/fuzzy awy_FL.htm - trochę na temat logiki rozmytej i zbiorów rozmytych. • http://wazniak.mimuw.edu.pl http://wazniak.mimuw.edu.pl//index.php?title=Sztuczna_intelige ncja - wykład dotyczący sztucznej inteligencji. INTELIGENTNE TECHNIKI OBLICZENIOWE ALGORYTMY EWOLUCYJNE SIECI NEURONOWE SYSTEMY ROZMYTE • http://www.tsp.gatech.edu http://www.tsp.gatech.edu// - problem komiwojażera. • http://www.republika.pl http://www.republika.pl//edward_ch/ edward_ch/ - sztuczne sieci neuronowe. (Soft computing) • … 5 I jeszcze parę innych rzeczy... 6 1 Powiązania: www.kwmimkm.polsl.pl LUDZKA INTELIGENCJA www.kwmimkm.polsl.pl FORMY INTELIGENCJI: AE budowa baz reguł eguł i f. przynależ przynależnoś ności SR AE wagi i topologia SN SN dobó dobór parametró parametrów AE SR dobó dobór parametró parametrów AE SR dobó dobór parametró parametrów SN SN zdolność zdolność uczenia się się SR – Praktyczna: Praktyczna: umiejętność rozwiązywania konkretnych zagadnień. – Abstrakcyjna: Abstrakcyjna: zdolność operowania symbolami i pojęciami. – Społeczna: Społeczna: umiejętność zachowania się w grupie. CECHY INTELIGENCJI: 1. AE 2. SN 3. SR • Dopasowanie działania do okoliczności. • Świadomość działania. • Znajomość własnych ograniczeń. 7 8 www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl INTELIGENCJA OBLICZENIOWA (Computational Intelligence, Intelligence, CI) Soft Computing Logika rozmyta • Rozwiązywanie obliczeniowo problemów, które nie są efektywnie algorytmizowalne. algorytmizowalne. Wizualizacja Drążenie danych • Korzysta z metod matematycznych oraz inspiracji: biologicznych, biocybernetycznych, psychologicznych, statystycznych, logicznych, informatycznych, inżynierskich i innych. Systemy ekspertowe Sieci neuronowe Algorytmy ewolucyjne CI - numeryczne Dane + Wiedza AI - symboliczne Metody statystyczne Optymalizacja, badania operacyjne Rachunek prawdopodobieństwa Uczenie maszynowe Rozpoznawanie wzorców 9 10 www.kwmimkm.polsl.pl Cechy inteligentnego systemu: www.kwmimkm.polsl.pl SZTUCZNA INTELIGENCJA (Artificial Intelligence, Intelligence, AI – część CI) • zdolność do przyswajania nowej wiedzy; wiedzy; John McCarthy (1955): • samoadaptacja (krótki okres wiarygodności informacji); • akceptacja danych niepełnych i nie w pełni spójnych logicznie; „Konstruowanie maszyn, o których działaniu dałoby się powiedzieć, że są podobne do ludzkich przejawów inteligencji”. TEST TURINGA (1950): • kreatywność (np. opracowywanie reguł czy wniosków nie wynikających bezpośrednio z materiału faktograficznego). Maszyna jest inteligentna, jeżeli znajdujący się w innym pomieszczeniu obserwator nie zdoła odróżnić jej odpowiedzi od odpowiedzi człowieka. Dla sztucznych systemów uczących się uczenie to: Proces zmiany zachodzącej w systemie na podstawie doświadczeń, która prowadzi do poprawy jego jakości działania (sprawności rozwiązywania stojących przed systemem zadań). 11 12 2 www.kwmimkm.polsl.pl TEST TURINGA www.kwmimkm.polsl.pl TEST TURINGA - wizje • Sędzia - człowiek - prowadzi rozmowę w języku naturalnym z pozostałymi stronami. • Turing oczekiwał, że maszyny w końcu będą w stanie przejść ten test. • Ocenił, że około roku 2000 maszyny z pamięcią o pojemności 109 bitów (około 119 MB) będą w stanie oszukać 30% ludzkich sędziów w czasie pięciominutowego testu. • Przepowiedział również, że ludzie przestaną uważać zdanie "myśląca maszyna" za wewnętrznie sprzeczne. • Jeśli sędzia nie jest w stanie wiarygodnie określić, czy któraś ze stron jest maszyną czy człowiekiem, wtedy mówi się, że maszyna przeszła test. • Zakłada się, że zarówno człowiek jak maszyna próbują przejść test jako człowiek. 13 14 www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl TEST TURINGA – spory: TEST TURINGA – spory: • Maszyna, która przejdzie test Turinga może być w stanie symulować ludzkie zachowanie konwersacyjne, co nie musi świadczyć o inteligencji (może używać sprytnie wymyślonych reguł). • Ale: Ale: inteligencję innych ludzi oceniamy zazwyczaj wyłącznie na podstawie tego co i jak mówią. • I jeszcze: jeszcze: niekiedy by zaliczyć test maszyna musiałaby symulować brak posiadanej wiedzy czy umiejętności. • Maszyna może być inteligentna bez ludzkiej umiejętności gawędzenia. JAK DOTĄD ŻADEN KOMPUTER NIE ZALICZYŁ TESTU TURINGA... • Wielu ludzi mogłoby nie być w stanie zaliczyć takiego testu. Najbliżej – ALICE: Artificial Linguistic Internet Computer Entity Entity (Zawody o nagrodę Loebnera) Loebnera 15 www.kwmimkm.polsl.pl http://www.loebner.net/Prizef/loebner-prize.html 17 16 www.kwmimkm.polsl.pl Nagroda Loebnera - nagroda ufundowana przez Hugha Loebnera w 1990 roku, dla programisty, który zdoła napisać program, który skutecznie przejdzie przejdzie Test Turinga. Turinga. Nagroda ta obejmuje przyznanie złotego medalu (całego z 1818-to karatowego złota) oraz 100 000 USD dla programisty, który przedstawi program, który zdoła skutecznie skutecznie zmylić wszystkich sędziów (testerów) programu. Oprócz tego nagroda ta obejmuje też przyznanie przyznanie pozłacanego, brązowego medalu oraz nagrody pieniężnej 2 000 USD temu programiście, który który w danym roku dostarczy program, który co prawda nie przejdzie w pełni testu Turinga, Turinga, ale będzie zdaniem sędziów najskuteczniej udawał ludzką konwersację. Zawody o nagrodę Loebnera odbywają się co roku, w The Cambridge Center of Behavioral Studies. Sędziowie są dorocznie losowani spośród pracowników tego instytutu. instytutu. Programiści muszą dostarczyć program, który działa pod Linuksem, Linuksem, MS Windows lub na Macintoshach lub alternatywnie dostarczyć swój własny komputer z programem, przy czym komputer musi się dać podłączyć do standardowego terminala DEC 100. Dostarczone programy programy mają generować na tym terminalu ekran, na którym od góry do dołu pojawia się tekst konwersacji konwersacji pisany standardową czcionką i nie formatowany w żaden szczególny sposób. Sędziowie mają przez jeden dzień wolny dostęp do dwukrotnie większej liczby terminali niż liczba dostarczonych dostarczonych programów. Co drugi terterminal jest obsługiwany przez prosty program komunikacyjny, który generuje generuje na ekranie taki sam tekst jak testowane programy, ale jest obsługiwany przez człowieka człowieka - wylosowanego spośród studentów instytutu i zaakceptowanego przez autorów programów. Do Do co drugiego terminala jest natomiast przyłączony testowany program. Sędziowie po całym dniu "konwersowania" ze wszystkiwszystkimi terminalami, decydują które z terminali obsługiwał człowiek a które które program, oraz który z terminali obsługiwanych ich zdaniem przez programy zachowywał się się "najbardziej po ludzku". Sędziowie mają prawa zadawać terminalom dowolne pytania, oprócz takich, które w oczywisty sposób zdemaskowałyby programy, jak "jaki jest numer twojego buta", buta", albo "jak ma na imię twoja dziewczyna". Złoty medal i główną nagrodę dostaje ew. ten program program który zdoła zmylić popo-nad 50% sędziów, zaś gdy żaden program nie uzyska tego wyniku, brązowy brązowy medal i 2 000 USD dostaje ten program, który zdaniem największej liczby sędziów zachowywał się "najbardziej po ludzku". 18 3 www.kwmimkm.polsl.pl ELIZA: www.kwmimkm.polsl.pl ELIZA - przykłady: • Pierwszy program naśladujący zwykłą konwersację (1966). • Analizuje wzorce w zdaniach, zdaniach, któ które otrzymuje, otrzymuje, a nastę następnie buduje pytania przez przestawienie słów oraz podmianę podmianę słów kluczowych. kluczowych. (C - człowiek, E - ELIZA) • Efekt Elizy - zjawisko przypisywania przez ludzi znaczenia i sensu znakom, słowom i zdaniom, które takiego sensu same z siebie nie mają. C: Czy jesteś człowiekiem? E: Być człowiekiem... czy to coś znaczy... (Np: interpretowanie przypadkowych wzorów tworzonych przez chmury chmury na niebie jako obrazy, które przedstawiają jakieś konkretne kształty). kształty). C: Co myślisz o mojej matce? E: Nie znam twojej matki, opowiedz mi o niej coś więcej. 19 www.kwmimkm.polsl.pl ZAGADNIENIA AI 20 Włodzisław Duch: www.kwmimkm.polsl.pl http://www.phys.uni.torun.pl /~duch/ http://www.phys.uni.torun.pl/~duch/ serdecznie polecam... • Sformułowanie „mocne”: „mocne”: Konstruowanie systemów inteligentnych, którym można by przypisać zdolność do myślenia w sposób w pewnym stopniu dający się porównywać z myśleniem ludzkim. ludzkim. • AI uważana jest za część informatyki. • AI zaliczana jest do nauk kognitywnych. • Sformułowanie „słabe”: „słabe”: Stworzenie maszyn (algorytmów) przejawiających tylko wąski aspekt inteligencji (grających w szachy, rozpoznających obrazy czy tworzących streszczenia tekstu). 21 (wybrane) DEFINICJE AI: www.kwmimkm.polsl.pl 22 NIEKTÓRE ZASTOSOWANIA www.kwmimkm.polsl.pl • Technologie oparte na logice rozmytej - powszechnie • Dziedzina nauki zajmująca się rozwiązywaniem zagadnień efektywnie niealgorytmizowalnych w oparciu o modelowanie wiedzy. stosowane do np: np: sterowania przebiegiem procesów technologicznych w fabrykach w warunkach "braku wszystkich danych". • Nauka mająca za zadanie nauczyć maszyny zachowań podobnych do ludzkich. • Systemy ekspertowe - rozbudowane bazy danych z wszczepioną "sztuczną inteligencją" umożliwiającą zadawanie im pytań w języku naturalnym i uzysuzys-kiwanie w tym samym języku odpowiedzi. Systemy takie stosowane są już w farmacji i medycynie. • Nauka o maszynach realizujących zadania, które wymagają inteligencji wówczas, gdy są wykonywane przez człowieka. • Nauka o komputerowych modelach wiedzy umożliwiających rozumienie, wnioskowanie i działanie. • Rozpoznawanie mowy - stosowane obecnie powszechnie na skalę komercyjną. 23 24 4 NIEKTÓRE ZASTOSOWANIA www.kwmimkm.polsl.pl NIEKTÓRE ZASTOSOWANIA www.kwmimkm.polsl.pl • Maszynowe tłumaczenie tekstów - systemy takie są wciąż • Rozpoznawanie ręcznego pisma - stosowane masowo np: np: • Sztuczne sieci neuronowe - stosowane z powodzeniem w wielu zastosowaniach łącznie z programowaniem "inteligentnych przeciwników" w grach komputerowych. • Deep Blue - program, który wygrał w szachy z Gary Kasparowem. Kasparowem. bardzo ułomne, jednak robią postępy i zaczynają się nadawać do tłumaczenia np. tekstów technicznych. do automatycznego sortowania listów, oraz w elektronicznych notatnikach. • Sztuczna twórczość - istnieją programy automatycznie generujące krótkie formy poetyckie, komponujące, aranżujące i interpretujące utwory muzyczne, które są w stanie zmylić nawet profesjonalnych artystów. • Rozpoznawanie optyczne - stosowane są już programy rozpoznające osoby na podstawie zdjęcia twarzy lub rozpoznające automatycznie zadane obiekty na zdjęciach satelitarnych. 25 HISTORIA 26 www.kwmimkm.polsl.pl • Era prehistoryczna: do ok. 1960 (pojawienie się powszechnie dostępnych komputerów). • • Era romantyczna: 19601960-1965 (przewidywano, że AI osiągnie swoje cele w ciągu 10 lat – spore początkowe sukcesy). Programów skutecznie wygrywających w niektórych grach (go, brydż sportowy, polskie warcaby). • Programu, który skutecznie by potrafił naśladować ludzką konwersację (obecnie najskuteczniejszym w teście Turinga jest cały czas rozwijany programprogram-projekt ALICE). • Okres ciemności: 19651965-1970 (niewiele nowego, spadek entuzjazmu i pojawienie się głosów krytycznych). • Renesans: 19701970-1975 (pierwsze użyteczne systemy doradcze). • Okres partnerstwa: 19751975-1980 (wprowadzenie do badań nad AI metod z nauk poznawczych, nauk o mózgu, itd). itd). • Okres komercjalizacji: 19801980-1990 „inteligentny” – slogan reklamowy. www.kwmimkm.polsl.pl CZEGO NIE UDAŁO SIĘ DOTĄD OSIĄGNĄĆ (mimo wielu wysiłków...): • Programu, który potrafiłby skutecznie generować zysk, grając na giełdzie (nie da się nawet odpowiedzieć na pytanie, czy jest możliwe zarabianie na giełdzie). • Programu skutecznie tłumaczącego teksty literackie i mowę. mowę. 27 www.kwmimkm.polsl.pl 28 OPTYMALIZACJA: www.kwmimkm.polsl.pl „działanie, mające na celu zwiększenie efektywefektyw-ności aż do ALGORYTMY GENETYCZNE I EWOLUCYJNE osiągnięcia pewnego optimum”. • CEL GŁÓWNY: ULEPSZENIE. ULEPSZENIE. • CEL DRUGORZĘDNY: OSIĄGNIĘCIE OPTIMUM. OPTIMUM. 29 30 5 www.kwmimkm.polsl.pl METODY OPTYMALIZACJI ANALITYCZNE PRZEGLĄDOWE www.kwmimkm.polsl.pl ZALETY METOD ANALITYCZNYCH ANALITYCZNYCH:: LOSOWE • mają mają solidne podstawy matematyczne; matematyczne; • są szeroko stosowane. stosowane. (enumeracyjne) pośrednie bezpośrednie GŁÓWNA WADA METOD ANALITYCZNYCH: MAŁA ODPORNOŚĆ: ODPORNOŚĆ: Metody analityczne bezpoś bezpośrednie: • Poruszanie oruszanie się się po wykresie funkcji w kierunku wyznaczonym przez lokalny gradient (wspinaczka po najbardziej stromym zboczu z moż możliwych). Metody analityczne poś pośrednie: • Poszukiwanie Poszukiwanie ekstremó ekstremów lokalnych poprzez rozwią rozwiązanie ukł układu adu równań wnań (zwykle nieliniowych), otrzymanych poprzez przyró przyrównanie gradientu funkcji celu do zera. • Dla funkcji gł gładkich, okreś określonych na obszarze otwartym, poszukiwanie ekstremum moż można ograniczyć ograniczyć do zbioru punktó punktów, w któ których nachylenie stycznej do wykresu jest ró równe zero w każ każdym kierunku. kierunku. 31 32 www.kwmimkm.polsl.pl Funkcja trudna do optymalizacji metodami analitycznymi: analitycznymi: www.kwmimkm.polsl.pl Czasem maksimum globalne nie jest pożądane: f ( x1 , x2 ) = 21.5 ⋅ sin(4π x1 ) + x2 ⋅ sin(20π x2 ) x1∈[-3.0, 12.1]; x 2 ∈[ 4.1, 5.8]; Preferowane są czasem rozwiązania, których otoczenie przyjmuje wartości bliskie temu ekstremum a nie te, dla których niewielkie oddalenie się od ekstremum powoduje gwałtowny spadek wartości funkcji. f Funkcja niemoż niemożliwa do optymalizacji metodami analitycznymi: analitycznymi: f(x) Np: w przypadku inwestycji kapitałowych, by nie ryzykować straty z powodu niezbyt precyzyjnie zdefiniowanej funkcji, bądź nieznacznej zmiany jakiegoś parametru funkcji. 33 34 www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl x METODY LOSOWE: METODY ENUMERACYJNE: • W swej najprostszej postaci: bada się losowo całą przestrzeń • Sprowadzają Sprowadzają się się do przeszukiwania wszystkich punktó punktów zadania nie korzystając z innych informacji. przestrzeni w poszukiwaniu optimum. • Poszukiwanie takie jest zwykle bardzo czasochłonne (zwykle jednak mniej niż metody enumeracyjne). enumeracyjne). • Algorytm niezwykle prosty lecz skuteczny jedynie w przypadku skoń skończonych, mał małych przestrzeni. przestrzeni. • Zwykle sprawdzenie wszystkich moż możliwoś liwości jest niemoż niemożliwe w rozsą rozsądnym czasie (tzw. przekleń przekleństwo wymiaru). wymiaru). Algorytmy genetyczne i ewolucyjne ró również wnież zawiezawierają rają element losowoś losowości (algorytm zrandomizowany). zrandomizowany). 35 36 6 www.kwmimkm.polsl.pl EFEKTYWNOŚĆ 1 ideał... Metoda odporna Metody analityczne: ☺ „Ścisłe” Ścisłe” rozwiązanie ☺ Wysoka szybkość działania Funkcja celu musi być ciągła. Duże ryzyko zbiegnięcia się algorytmu do optimum lokalnego. Wybór punktu startowego wpływa na zbieżność metody. Metoda wyspecjalizowana (analityczna) Metoda enumeracyjna, AG: błądzenie przypadkowe 0 kombinatoryczny dyskretny www.kwmimkm.polsl.pl METODY ANALITYCZNE kontra AG jednomodalny 37 ☺ Jedyną Jedyną informacją informacją potrzebną potrzebną do dział działania jest wartość wartość f. celu ☺ Praca na populacji dopuszczalnych rozwiązań ☺ Przeszukiwanie wielokierunkowe Stosunkowo wolne Trudności z precyzyjnym znalezieniem optimum 38 www.kwmimkm.polsl.pl www.kwmimkm.polsl.pl wielomodalny PROBLEM RODZAJE ZADAŃ ZADAŃ OPTYMALIZACJI 2. Zadania dyskretne (wartoś wartości zm. zm. należą należą do zbioru dyskretnego – (w zależ zależnoś ności od przestrzeni poszukiwań poszukiwań U) skoń skończonego lub przeliczalnego). przeliczalnego). 3. Zadania kombinatoryczne (każ każda ze zmiennych przyjmuje wartość wartość logiczną logiczną). Optymalizacja parametryczna (punkt x∈U jest wektorem zm. zm. niezależ niezależnych): nych): 4. Zadania mieszane. mieszane. 1. Zadania cią przestrzeń poszukiwań poszukiwań jest iloczynem kartezjań kartezjańskim ciągłe (przestrzeń Stopień Stopień skomplikowania zadania zależ zależy od: - postaci funkcji celu; - kształ kształtu obszaru dopuszczalnego. zbioru liczb rzeczywistych U=Rn ). - wypukł zbiór dopuszczalny i f. celu są wypukł wypukłe); wypukłe (zbió - optymalizacji globalnej (zb. zb. dopuszczalny lub f. celu jest niewypukł niewypukła). Jeś Jeśli funkcja celu i zbió zbiór dopuszczalny są wypukł wypukłe, to istnieje dokł dokładnie jedno minimum funkcji. funkcji. 39 40 www.kwmimkm.polsl.pl OGRANICZENIA FUNKCJI CELU MINIMA LOKALNE www.kwmimkm.polsl.pl (za: J.Arabas) f(x) x2 minimum funkcji bez ograniczeń obszar dopuszczalny MINIMA LOKALNE kostkowe wypukły obszar dop. dop. MINIMUM GLOBALNE minima funkcji z ograniczeniami 0 x funkcja z min. lokalnymi niewypukły obszar dop. dop. niespójny obszar dop. dop. 0 x1 min. lokalne wynikające z niewyniewypukłości zb. zb. ograniczającego (za: J.Arabas) J.Arabas) 41 42 7