Podręcznik systemu sztucznej inteligencji. modele sieci neuronowych. Systemy sztucznej inteligencji. Tutorial Tutorial jako system sztucznej inteligencji

S.G. TOLMACHEV

SZTUCZNA INTELIGENCJA.

MODELE SIECI NEURONOWYCH

Ministerstwo Edukacji i Nauki Federacji Rosyjskiej Bałtycki Państwowy Uniwersytet Techniczny „Voenmeh”

Zakład Przetwarzania Informacji i Systemów Kontroli

S.G. TOLMACHEV

SZTUCZNA INTELIGENCJA.

MODELE SIECI NEURONOWYCH

Instruktaż

Petersburg

UDC 004.8(075.8) Т52

Tołmaczow, S.G.

T52 Systemy sztucznej inteligencji. Modele sieci neuronowych: podręcznik / S.G. Tołmaczow; Bałt. stan technika nie-t. - Petersburg, 2011. 132 s.

ISBN 978-5-85546-633-1

Podano podstawowe informacje o budowie i zasadach działania sztucznych sieci neuronowych. Rozważono funkcjonowanie neuronu formalnego, klasyfikacje sieci neuronowych ze względu na ich architekturę i typy uczenia się, typowe sformułowania różnych problemów sieci neuronowych oraz metody ich rozwiązywania.

Przeznaczony jest dla starszych studentów studiujących w specjalnościach „Systemy i technologie informacyjne” oraz „Automatyczne systemy do przetwarzania i kontroli informacji”.

UKD 004.8(075.8)

Recenzenci: dr tech. nauk prof., kierownik. naukowy pracownik OJSC „Koncern „Granit-Electron”” S.N. Kulki; cand. technika nauk ścisłych, prof., kierownik. kawiarnia I5 BSTU N.N. Smirnowa

Zatwierdzony przez redakcję i radę wydawniczą uczelni

WPROWADZENIE

Jednym z najpotężniejszych narzędzi do tworzenia inteligentnych systemów są sztuczne sieci neuronowe (SSN), które modelują podstawowe mechanizmy przetwarzania informacji tkwiące w ludzkim mózgu. Wiadomo, że mózg działa w zupełnie inny sposób i często wydajniej niż jakikolwiek komputer stworzony przez człowieka. To właśnie ten fakt od wielu lat motywuje naukowców do pracy nad tworzeniem i badaniem sztucznych sieci neuronowych.

Mózg to niezwykle złożony system przetwarzania informacji. Posiada zdolność organizowania swoich elementów strukturalnych, zwanych neuronami, tak aby mogły wykonywać określone zadania (rozpoznawanie wzorców, przetwarzanie sensoryczne, funkcje motoryczne) wielokrotnie szybciej niż dzisiejsze najszybsze komputery. Przykładem takiego zadania jest zwykła wizja. Funkcją systemu wizualnego jest tworzenie reprezentacji świata w taki sposób, aby zapewnić możliwość interakcji z nim. Mózg sekwencyjnie wykonuje zadania rozpoznawania (na przykład rozpoznawanie znajomej twarzy w nieznanym środowisku) i spędza na tym 100-200 ms. Wykonywanie podobnych zadań o mniejszej złożoności na komputerze może zająć kilka godzin.

Aby docenić ogrom wyzwania, jakim jest stworzenie maszyny, która działa tak doskonale, jak nasz mózg, wystarczy pomyśleć o niektórych rutynowych zadaniach, które wykonujemy na co dzień. Załóżmy, że siedzisz przy biurku iw tej chwili do pokoju wchodzi Twój kolega, który wrócił z urlopu. Ma na sobie nową koszulkę, okulary przeciwsłoneczne na opalonej twarzy i wygląda trochę młodziej, bo zgolił brodę. Rozpoznajesz go? Niewątpliwie, skoro przebranie nie jest częścią jego planów. W trakcie rozmowy pyta: „Gdzie jest książka, którą dałem ci do przeczytania?”. Interpretujesz pytanie jako prośbę o zwrot książki. Następnie spójrz na swój stół i

widzisz wśród książek i stosów papierów leżącą na niej książkę, o której mowa, wyciągasz do niej rękę, wyjmujesz ją ze stosu dokumentów i oddajesz koledze. Takie codzienne zadania nie wymagają od nas dużego wysiłku intelektualnego, ale rozwiązanie każdego z nich wymaga wielu precyzyjnie obliczonych kroków. Złożoność rozwiązywania takich problemów można odczuć, próbując zaprogramować system komputerowy do rozpoznawania obiektów po ich wyglądzie lub innych cechach, podejmowania decyzji w zależności od kontekstu itp.

Prostszym przykładem jest sonar nietoperza, który jest aktywnym systemem echolokacji. Oprócz podania informacji o odległości do pożądanego obiektu, lokalizator ten pozwala obliczyć parametry obiektu takie jak prędkość względna, wielkość poszczególnych elementów oraz kierunek ruchu. Aby wydobyć te informacje z otrzymanego sygnału, maleńki mózg nietoperza wykonuje złożone obliczenia neuronowe.

Co pozwala mózgowi człowieka lub nietoperza osiągnąć takie wyniki? Już w momencie narodzin mózg ma doskonałą strukturę, pozwalającą mu na budowanie własnych reguł w oparciu o to, co zwykle nazywa się doświadczeniem. Doświadczenie kumuluje się w czasie, aż do ostatnich dni życia człowieka, przy czym szczególnie duże zmiany zachodzą w pierwszych dwóch latach życia.

Rozwój neuronów związany jest z koncepcją plastyczności mózgu – zdolnością dostosowania układu nerwowego do warunków środowiskowych. Plastyczność odgrywa najważniejszą rolę w działaniu neuronów jako podstawowych jednostek przetwarzających informacje w ludzkim mózgu. Podobnie sztuczne neurony są dostrojone w SSN. Ogólnie rzecz biorąc, SSN to maszyna, która symuluje sposób, w jaki mózg rozwiązuje określony problem. Sieć ta jest realizowana za pomocą elementów elektronicznych (neuroprocesorów) lub modelowana przez program działający na komputerze cyfrowym. Aby osiągnąć wysoką wydajność, SSN wykorzystują wiele połączeń pomiędzy podstawowymi komórkami obliczeń - neuronami. Spośród wielu definicji sieci neuronowych najdokładniejsza jest definicja SSN jako maszyny adaptacyjnej: sztuczna sieć neuronowato jest rozpowszechniane

procesor równoległy składający się z typowych elementów przetwarzających informacje, które gromadzą wiedzę eksperymentalną i dostarczają ją do dalszego przetwarzania. Sieć neuronowa jest podobna do mózgu na dwa sposoby:

1) wiedza wchodzi do sieci neuronowej z otoczenia

I wykorzystywane przez sieć w procesie uczenia się;

2) do gromadzenia wiedzy wykorzystuje się połączenia międzyneuronowe, zwane także wagami synaptycznymi.

Procedura stosowana do przeprowadzenia procesu uczenia się nazywana jest algorytmem uczenia. Jego funkcją jest modyfikowanie wag synaptycznych sieci SSN w określony sposób, tak aby sieć uzyskała niezbędne właściwości.

Modyfikacja wagi to tradycyjny sposób uczenia się SSN. Podejście to jest bliskie teorii adaptacyjnych filtrów liniowych stosowanych w sterowaniu. Jednak dla SSN istnieje również możliwość modyfikacji własnej topologii, polegającej na tym, że w żywym mózgu neurony mogą umrzeć i mogą powstawać nowe połączenia synaptyczne.

W ten sposób SSN realizują swoją moc obliczeniową dzięki dwóm głównym właściwościom: strukturze rozproszonej równolegle oraz zdolności do uczenia się i uogólniania zdobytej wiedzy. Właściwość generalizacji jest rozumiana jako zdolność SSN do generowania poprawnych danych wyjściowych dla sygnałów wejściowych, które nie zostały uwzględnione w procesie uczenia się (uczenia). Te dwie właściwości sprawiają, że SSN jest systemem przetwarzania informacji zdolnym do rozwiązywania złożonych, wielowymiarowych problemów, które są obecnie trudne do rozwiązania.

Należy zauważyć, że w praktyce autonomiczne INS często nie są w stanie dostarczyć gotowych rozwiązań. Muszą być zintegrowane w złożone systemy. Złożone zadanie można podzielić na szereg prostszych zadań, z których część można rozwiązać za pomocą sieci neuronowych.

Obszary zastosowania SSN są bardzo zróżnicowane: rozpoznawanie i analiza tekstu i mowy, wyszukiwanie semantyczne, systemy eksperckie i systemy wspomagania decyzji, przewidywanie cen akcji, systemy bezpieczeństwa. Istnieje kilka przykładów wykorzystania SSN w różnych obszarach.

1. Systemy bezpieczeństwa transportu. Amerykańska firma

Firma Science Application International Corporation wykorzystała ANN w

jego projekt TNA. Opracowane urządzenie jest przeznaczone do wykrywania plastikowych materiałów wybuchowych w zapakowanym bagażu. Bagaż jest bombardowany cząsteczkami wywołującymi promieniowanie wtórne, którego widmo analizowane jest przez sieć neuronową. Urządzenie zapewnia prawdopodobieństwo wykrycia materiałów wybuchowych powyżej 97% i jest w stanie przejrzeć 10 sztuk bagażu na minutę.

2. Pakiety oprogramowania sieci neuronowych na rynkach finansowych. American Chemical Bank wykorzystuje system sieci neuronowej Neural Data do wstępnego przetwarzania transakcji na giełdach walut, odfiltrowując „podejrzane” transakcje. Citibank korzysta z prognoz sieci neuronowych od 1990 roku. Automatyczne transakcje pokazują zwroty, które są wyższe niż w przypadku większości brokerów. Można zauważyć, że przebieg seminarium „Sztuczna inteligencja na temat Wall Street” składają się na kilka obszernych tomów.

3. Monitorowanie i automatyczny nagłówek wiadomości. Lokalizacja

Znajomość tematu wiadomości tekstowych to kolejny przykład wykorzystania SSN. Serwer wiadomości Convectis (produkt Aptex Software Inc.) zapewnia automatyczną kategoryzację wiadomości. Porównując znaczenie słów według kontekstu, Convectis jest w stanie rozpoznawać tematy w czasie rzeczywistym i kategoryzować ogromne strumienie wiadomości tekstowych przesyłanych przez sieci Reuters, NBC, CBS itp. Po przeanalizowaniu wiadomości streszczenie, lista generowane są słowa kluczowe i lista nagłówków, do których należy ta wiadomość.

4. Autopilot bezzałogowych statków powietrznych. Naddźwiękowy samolot rozpoznawczy LoFLYTE (Low-Observable Flight Test Experiment), bezzałogowy samolot odrzutowy o długości 2,5 m, został opracowany dla NASA i Sił Powietrznych USA przez Accurate Automation Corp. w ramach programu wspierania małej innowacyjnej przedsiębiorczości. Jest to eksperymentalne rozwinięcie do badania nowych zasad pilotażu. Obejmuje sieci neuronowe, które umożliwiają autopilotowi naukę poprzez kopiowanie technik pilotażu pilota. Z biegiem czasu sieci neuronowe przyjmują doświadczenie zarządzania, a szybkość przetwarzania informacji pozwala szybko znaleźć wyjście w sytuacjach ekstremalnych i awaryjnych. LoFLYTE jest przeznaczony do lotów naddźwiękowych, gdzie czas reakcji pilota może być niewystarczający, aby odpowiednio reagować na zmiany reżimu lotu.

Obecnie SSN stanowią ważne rozszerzenie koncepcji obliczeń. Umożliwiły już radzenie sobie z wieloma trudnymi problemami i obiecują stworzenie nowych programów i urządzeń zdolnych do rozwiązywania problemów, które do tej pory może zrobić tylko człowiek. Współczesne neurokomputery wykorzystywane są głównie w postaci produktów programowych i dlatego rzadko wykorzystują ich potencjał „równoległości”. Era prawdziwego równoległego neurokomputera rozpocznie się wraz z pojawieniem się na rynku wdrożeń sprzętowych specjalistycznych neurochipów i płyt rozszerzeń przeznaczonych do przetwarzania mowy, wideo, obrazów statycznych i innego rodzaju informacji figuratywnych.

Kolejnym obszarem zastosowania SSN jest ich wykorzystanie

w specjalistyczne oprogramowanie zrobotyzowane środki przeznaczone do przetwarzania informacji, a nie do pracy fizycznej. Inteligentni asystenci powinni ułatwiać użytkownikom interakcję z komputerem. Ich znakiem rozpoznawczym będzie chęć jak najlepszego zrozumienia tego, czego się od nich wymaga, poprzez obserwację i analizę zachowania ich „pana”. Próbuję odkryć

w W tym zachowaniu istnieją pewne wzorce, inteligentni agenci muszą oferować swoje usługi w odpowiednim czasie, aby wykonać określone operacje, takie jak filtrowanie wiadomości, tworzenie kopii zapasowych dokumentów, nad którymi pracuje użytkownik itp. Dlatego SSN, zdolne do uogólniania danych i znajdowania w nich wzorców, są naturalnym składnikiem takich agentów oprogramowania.

1. KOMPUTERY I MÓZG

1.1. neuron biologiczny

Układ nerwowy człowieka można uprościć jako strukturę trójstopniową. Centrum tego układu stanowi mózg, który składa się z sieci neuronów (ryc. 1.1). Otrzymuje informacje, analizuje je i podejmuje właściwe decyzje. Receptory przetwarzają sygnały z otoczenia i narządów wewnętrznych na impulsy elektryczne, które są odbierane przez sieć neuronową (mózg). Receptory zapewniają połączenie naszego mózgu ze światem zewnętrznym, realizując dopływ do niego informacji wzrokowych, słuchowych, smakowych, węchowych i dotykowych. ef-

Fektory przekształcają impulsy elektryczne generowane przez mózg na sygnały wyjściowe, które kontrolują mięśnie, narządy wewnętrzne i ściany naczyń. W ten sposób mózg kontroluje pracę serca, oddychanie, ciśnienie krwi, temperaturę, utrzymuje pożądaną zawartość tlenu we krwi itp. Neurony pośrednie przetwarzają informacje otrzymane od neuronów czuciowych i przekazują je do neuronów efektorowych.

Ryż. 1.1. Uproszczony schemat układu nerwowego

Należy zauważyć, że mózg zbudowany jest z dwóch rodzajów komórek: komórek glejowych i neuronów. I chociaż rola komórek glejowych wydaje się być dość znacząca, większość naukowców uważa, że ​​głównym sposobem zrozumienia działania mózgu jest badanie neuronów połączonych w jedną połączoną sieć. Takie podejście jest wykorzystywane w budowie sztucznych sieci neuronowych (SSN).

Należy zauważyć, że istnieją inne opinie. Niektórzy badacze uważają, że główne procesy zachodzą nie w sieci neuronowej, ale w samych komórkach, czyli w ich cytoszkielecie, w tzw. mikrotubulach. Zgodnie z tym punktem widzenia, zarówno pamięć, jak i świadomość są determinowane przez zmiany białek w strukturach wewnątrzkomórkowych i związane z nimi efekty kwantowe.

Liczbę neuronów w mózgu szacuje się na 1010...1011. W neuronie biologicznym można wyróżnić następujące jednostki strukturalne (ryc. 1.2):

ciało komórkowe (soma);

dendryty to wiele rozgałęzionych krótkich (nie więcej niż 1 mm) włókien nerwowych, które zbierają informacje z innych neuronów;

Akson jest jedynym cienkim, długim (czasem ponad metrowym) włóknem nerwowym. Akson przewodzi impuls i przenosi uderzenie na inne neurony lub włókna mięśniowe. Na swoim końcu akson również rozgałęzia się i tworzy kontakty z dendrytami innych neuronów;

Ten samouczek zawiera podstawy programowania w języku Prolog, rozwiązywanie problemów metodą przeszukiwania, metody probabilistyczne, podstawy sieci neuronowych, a także zasady reprezentacji wiedzy za pomocą sieci semantycznych. Każdy z rozdziałów podręcznika zawiera prace praktyczne i laboratoryjne. Załączniki zawierają krótkie opisy środowiska SWI-Prolog, programu sieci neuronowych

Ten samouczek zawiera podstawy programowania w języku Prolog, rozwiązywanie problemów metodą przeszukiwania, metody probabilistyczne, podstawy sieci neuronowych, a także zasady reprezentacji wiedzy za pomocą sieci semantycznych. Każdy z rozdziałów podręcznika zawiera prace praktyczne i laboratoryjne. Załączniki zawierają krótkie opisy środowiska SWI-Prolog, programu modelowania sieci neuronowych NeuroGenetic Optimizer oraz programu wizualizacji wiedzy semantycznej.Odpowiada aktualnym wymogom Federalnego Standardu Edukacyjnego dla Szkolnictwa Wyższego.Dla studentów uczelni wyższych studiujących w obszary inżynieryjne i techniczne.


Książka " Systemy sztucznej inteligencji. Instruktaż» autorka Bessmertny Igor Aleksandrovich została oceniona przez odwiedzających KnigoGuide, a jej ocena czytelników wyniosła 0,00 na 10.
Do bezpłatnego przeglądania udostępniane są: adnotacje, publikacje, recenzje, a także pliki do pobrania.

Poradnik wprowadza czytelników w historię sztucznej inteligencji, modeli reprezentacji wiedzy, systemów ekspertowych i sieci neuronowych. Opisano główne kierunki i metody stosowane w analizie, rozwoju i wdrażaniu inteligentnych systemów. Uwzględniono modele reprezentacji wiedzy i metody pracy z nimi, metody rozwoju i tworzenia systemów ekspertowych. Książka pomoże czytelnikowi opanować umiejętności logicznego projektowania domenowych baz danych oraz programowania w języku ProLog.
Dla studentów i nauczycieli uczelni pedagogicznych, nauczycieli szkół ponadgimnazjalnych, gimnazjów, liceów.

Pojęcie sztucznej inteligencji.
System sztucznej inteligencji (AI) to system oprogramowania, który symuluje proces ludzkiego myślenia na komputerze. Aby stworzyć taki system, konieczne jest przestudiowanie samego procesu myślenia osoby, która rozwiązuje określone problemy lub podejmuje decyzje w określonym obszarze, podkreślenie głównych etapów tego procesu i opracowanie narzędzi programowych, które odtwarzają je na komputerze. Stąd metody AI obejmują proste strukturalne podejście do tworzenia złożonych systemów podejmowania decyzji dotyczących oprogramowania.

Sztuczna inteligencja to gałąź informatyki, której celem jest rozwój narzędzi sprzętowych i programowych, które pozwalają użytkownikowi niebędącemu programistą ustalać i rozwiązywać swoje tradycyjnie uważane zadania intelektualne, komunikując się z komputerem w ograniczonym podzbiorze języka naturalnego.

SPIS TREŚCI
Rozdział 1. Sztuczna inteligencja
1.1. Wprowadzenie do systemów sztucznej inteligencji
1.1.1. Pojęcie sztucznej inteligencji
1.1.2. Sztuczna inteligencja w Rosji
1.1.3. Struktura funkcjonalna systemu sztucznej inteligencji
1.2. Kierunki rozwoju sztucznej inteligencji
1.3. Dane i wiedza. Reprezentacja wiedzy w inteligentnych systemach
1.3.1. Dane i wiedza. Podstawowe definicje
1.3.2. Modele reprezentacji wiedzy
1.4. Systemy eksperckie
1.4.1. Struktura systemu ekspertowego
1.4.2. Rozwój i wykorzystanie systemów eksperckich
1.4.3. Klasyfikacja systemów ekspertowych
1.4.4. Reprezentacja wiedzy w systemach ekspertowych
1.4.5. Narzędzia do budowy systemów eksperckich
1.4.6. Technologia rozwoju systemów eksperckich
Pytania kontrolne i zadania do rozdziału 1
Literatura do rozdziału 1
Rozdział 2 Programowanie logiczne
2.1. Metodologie programowania
2.1.1. Metodologia programowania imperatywnego
2.1.2. Metodyka programowania obiektowego
2.1.3. Metodyka programowania funkcjonalnego
2.1.4. Metodyka programowania logicznego
2.1.5. Metodyka programowania z ograniczeniami
2.1.6. Metodologia programowania sieci neuronowych
2.2. Krótkie wprowadzenie do rachunku predykatów i dowodzenia twierdzeń
2.3. Proces wnioskowania w Prologu
2.4. Struktura programu w Prologu
2.4.1. Korzystanie z obiektów złożonych
2.4.2. Korzystanie z domen alternatywnych
2.5. Organizowanie powtórek w Prologu
2.5.1. Metoda wycofania po awarii
2.5.2. Metoda cięcia i cofania
2.5.3. prosta rekurencja
2.5.4. Metoda uogólnionej reguły rekurencji (GRR)
2.6. Listy w Prologu
2.6.1. Operacje na listach
2.7. Struny w Prologu
2.7.1. Operacje na strunach
2.8. Pliki w Prologu
2.8.1. Predykaty Prologu do pracy z plikami
2.8.2. Opis domeny pliku
2.8.3. Zapisz do pliku
2.8.4. Czytanie z pliku
2.8.5. Modyfikowanie istniejącego pliku
2.8.6. Dołączanie na końcu istniejącego pliku
2.9. Tworzenie dynamicznych baz danych w Prologu
2.9.1. Bazy danych w Prologu
2.9.2. Dynamiczne predykaty baz danych w Prologu
2.10. Tworzenie systemów eksperckich
2.10.1. Struktura systemu ekspertowego
2.10.2. Reprezentacja wiedzy
2.10.3. Metody wyjściowe
2.10.4. System interfejsu użytkownika
2.10.5. System ekspercki oparty na regułach
Pytania kontrolne i zadania do rozdziału 2
Literatura do rozdziału 2
Rozdział 3 Sieci neuronowe
3.1. Wprowadzenie do sieci neuronowych
3.2. Model sztucznego neuronu
3.3. Zastosowanie sieci neuronowych
3.4. Trening sieci neuronowych
Pytania kontrolne i zadania do rozdziału 3
Literatura do rozdziału 3.


Pobierz bezpłatnie e-booka w wygodnym formacie, obejrzyj i przeczytaj:
Pobierz książkę Podstawy sztucznej inteligencji, Borovskaya E.V., Davydova N.A., 2016 - fileskachat.com, szybkie i bezpłatne pobieranie.

1

Instruktaż « DBMS: Język SQL w przykładach i zadaniach autorstwa Astakhova I.F., Todstobrova AP, Melnikova VM, Fertikova V.V., opublikowany przez FIZMATLIT w 2007 r. i certyfikowany przez Ministerstwo Edukacji i Nauki, zawiera wybór przykładów i ćwiczeń o różnym stopniu złożoności do prowadzić zajęcia praktyczne i laboratoryjne z nauki podstaw języka SQL w ramach szkolenia dedykowanego systemom informatycznym z bazami danych w kierunku szkolenia oraz specjalności „Matematyka Stosowana i Informatyka”. Systemy informatyczne wykorzystujące bazy danych to obecnie jeden z najważniejszych obszarów współczesnej techniki komputerowej. Z tym obszarem związana jest duża część współczesnego rynku oprogramowania. Biorąc pod uwagę miejsce, jakie zajmuje język SQL w nowoczesnych technologiach informatycznych, jego znajomość jest niezbędna dla każdego specjalisty zajmującego się tą dziedziną. Dlatego jego praktyczne opracowanie jest integralną częścią szkoleń mających na celu poznanie systemów informatycznych z bazami danych. Obecnie takie przedmioty znajdują się w programach nauczania wielu specjalności uniwersyteckich. Niewątpliwie, aby zapewnić studentom możliwość zdobycia stabilnych umiejętności w zakresie języka SQL, odpowiednie szkolenie, oprócz teoretycznej znajomości podstaw języka, musi koniecznie zawierać odpowiednio dużą ilość zajęć laboratoryjnych z jego praktycznego wykorzystania . Proponowany podręcznik ma na celu przede wszystkim wsparcie metodyczne właśnie tego rodzaju zajęć. W tym zakresie koncentruje się na doborze praktycznych przykładów, zadań i ćwiczeń o różnym stopniu złożoności w kompilowaniu zapytań SQL, które umożliwiają prowadzenie praktycznych zajęć z nauki języków w trakcie semestru akademickiego.

Podręcznik „Systemy sztucznej inteligencji. Kurs praktyczny” Astakhova I.F., Chulyukov V.A., Potapov A.S., Milovskoy L.S., Kashirina I.L., Bogdanova M.V., Prosvetova Yu.V. LABORATORIUM WIEDZY i FIZMATLIT w 2008 r. przygotowywał wykłady i ćwiczenia laboratoryjne w dyscyplinach „Banki danych i systemy ekspertowe”, „Bazy danych i systemy ekspertowe”, „Systemy sztucznej inteligencji”, „Inteligentne systemy informacyjne”. Książka ta poświęcona jest kierunkowi informatyki, w którym w ostatnich latach jest bardzo mało krajowej literatury edukacyjnej dla szkół wyższych. Książki tłumaczone bardziej przypominają publikacje naukowe niż podręczniki. Niezbędne było wymyślenie wielu przykładów, zadań laboratoryjnych, które uczniowie wykonaliby na komputerze oraz zdobycie wiedzy, umiejętności i zdolności (w zakresie kompetencyjnego podejścia do edukacji).

Główną zaletą i istotną różnicą tego podręcznika od podobnych publikacji jest obecność w nim ok. 100 przykładów, 235 ćwiczeń, 79 pytań do powtórzenia omawianego materiału, 11 prac laboratoryjnych, w których bada się 6 różnych produktów programowych.

Link bibliograficzny

Astakhova I.F., Tolstobrov A.P., Chulyukov V.A., Potapov A.S. TUTORIALE "DBMS: JĘZYK SQL W PRZYKŁADACH I ZADANIACH", "SZTUCZNA INTELIGENCJA. KURS PRAKTYCZNY” // Współczesne problemy nauki i edukacji. - 2009r. - nr 1;
URL: http://science-education.ru/ru/article/view?id=901 (data dostępu: 17.09.2019). Zwracamy uwagę na czasopisma wydawane przez wydawnictwo „Akademia Historii Naturalnej”

FEDERALNA AGENCJA EDUKACJI

PAŃSTWOWA INSTYTUCJA EDUKACYJNA

WYŻSZE WYKSZTAŁCENIE ZAWODOWE

„Wołgogradzka politechnika”

INSTYTUT TECHNOLOGICZNY KAMYSSZYŃSKIEGO (ODDZIAŁ)

SEI HPE „Wołgogradzki Państwowy Uniwersytet Techniczny”

PRAKTYCZNY KURS Z DYSCYPLINY „SYSTEMY SZTUCZNEJ INTELIGENCJI”

Edukacyjne wydanie elektroniczne

Wołgograd

NL - język naturalny

AI - sztuczna inteligencja

LP - logika predykatów

decydent - decydent

MT - maszyna Turinga

PGA - prosty algorytm genetyczny

PPF to dobrze uformowana formuła

PRO - prymitywny operator rekurencyjny

PRF - prymitywna funkcja rekurencyjna

RF - funkcja rekurencyjna

SNI - system sztucznej inteligencji

FP - funkcja fitness

TF - funkcja celu

ES - system ekspercki

WPROWADZENIE

Początkowo sztuczna inteligencja była uważana za naukę o tworzeniu myślących maszyn. Ten obszar został uznany za świętego Graala informatyki. Z biegiem czasu sztuczna inteligencja przekształciła się w bardziej pragmatyczną dyscyplinę. Obszar ten nadal obejmuje badanie mechanizmów myślenia. W ramach sztucznej inteligencji rozważane są różne strategie komputerowego rozwiązywania złożonych problemów praktycznych. Ponadto dzisiaj stało się jasne, że sam intelekt jest zbyt złożonym bytem, ​​którego nie da się opisać w ramach jednej teorii. Różne teorie opisują to na różnych poziomach abstrakcji. Uczenie się na najniższym poziomie zapewniają sieci neuronowe, które rozpoznają maszyny, algorytmy genetyczne i inne formy obliczeń, które modelują zdolność adaptacji, postrzegania i interakcji ze światem fizycznym. Twórcy systemów eksperckich, inteligentnych agentów, modeli stochastycznych i systemów rozumienia języka naturalnego pracują na wyższym poziomie abstrakcji. Poziom ten uwzględnia rolę procesów społecznych w tworzeniu, przekazywaniu i wydobywaniu wiedzy. Najwyższy poziom abstrakcji obejmuje podejścia logiczne, w tym modele dedukcyjne, abdukcyjne, systemy podtrzymywania prawdy oraz inne formy i metody rozumowania.


Podręcznik ten przedstawia podstawy niektórych teorii niskiego poziomu z praktycznymi zadaniami do badania algorytmów w oparciu o zapisy tych teorii. W szczególności rozważa się podstawy teorii rozpoznawania wzorców w celu zbadania liniowych funkcji dyskryminacyjnych i funkcji podobieństwa; teoria sztucznych sieci neuronowych z sformułowaniem problemu badania właściwości sztucznych sieci neuronowych na problem rozpoznawania wzorców; algorytmy genetyczne ze sformułowaniem problemu badania ich właściwości przy poszukiwaniu ekstremów funkcji. Do realizacji zadań badawczych niezbędna jest umiejętność programowania w dowolnym języku programowania, najlepiej obiektowym.

1.1. Początki teorii sztucznej inteligencji

1.1.1. Pojęcie sztucznej inteligencji

Termin inteligencja(inteligencja) pochodzi od łacińskiego intellectus, co oznacza umysł, rozum, umysł, zdolności umysłowe człowieka. Odpowiednio sztuczna inteligencja(AI, w angielskim odpowiedniku: sztuczna inteligencja, AI) jest właściwością automatycznych systemów do przejmowania poszczególnych funkcji ludzkiej inteligencji.

Każda sztuczna inteligencja to model podejmowania decyzji realizowany przez naturalną inteligencję człowieka. Sztuczną inteligencję można porównywać z naturalną, pod warunkiem, że jakość generowanych rozwiązań nie jest gorsza od przeciętnej naturalnej inteligencji.

1.1.2. Sztuczna inteligencja w pętli automatyzacji

W takich systemach wprowadza się pętlę sterowania podejmujący decyzję(LPR).

Decydent ma własny system preferencji odnośnie kryterium zarządzania obiektem, a nawet celu istnienia obiektu. Decydent najczęściej nie zgadza się, przynajmniej częściowo, z reżimami oferowanymi przez tradycyjny ACS. Decydent kontroluje z reguły główne parametry systemu, podczas gdy reszta jest kontrolowana przez lokalne systemy sterowania. Pojawia się problem automatyzacji działań decydentów w pętli sterowania.

AI to kierunek badawczy, który tworzy modele i odpowiadające im narzędzia programowe, które umożliwiają wykorzystanie komputerów do rozwiązywania problemów o twórczym, nieobliczeniowym charakterze, które w procesie rozwiązywania wymagają odwołania się do semantyki (problem znaczenia).

AI to system oprogramowania, który symuluje ludzkie myślenie na komputerze. Aby stworzyć taki system, konieczne jest przestudiowanie procesu myślenia decydenta, podkreślenie głównych etapów tego procesu, opracowanie oprogramowania, które odtworzy te kroki na komputerze.

1.1.3. Pojęcie zadania i aktywności intelektualnej

Cechą inteligencji człowieka jest umiejętność rozwiązywania problemów intelektualnych poprzez przyswajanie, zapamiętywanie i celowe przekształcanie wiedzy w procesie uczenia się z doświadczenia i adaptacji do różnych okoliczności.

Zadania intelektualne- problemy, formalny podział procesu poszukiwania rozwiązania na odrębne, elementarne kroki często okazuje się bardzo trudny, nawet jeśli samo ich rozwiązanie nie jest trudne.

Aktywność mózgu ukierunkowaną na rozwiązywanie problemów intelektualnych nazwiemy myśleniem lub aktywnością intelektualną.

Aktywność intelektualna implikuje umiejętność wnioskowania, generowania, projektowania rozwiązania, które nie jest jednoznacznie i gotowe w systemie. Wyprowadzanie rozwiązań jest możliwe tylko wtedy, gdy w systemie istnieje wewnętrzna reprezentacja wiedzy ( modele świata zewnętrznego) - sformalizowana reprezentacja wiedzy o świecie zewnętrznym (zautomatyzowany obszar przedmiotowy).

1.1.4. Pierwsze kroki w historii sztucznej inteligencji

Pierwsze programy realizujące cechy aktywności intelektualnej:

1. Tłumaczenie maszynowe (1947). W ZSRR od 1955 roku praca w dziedzinie tłumaczenia maszynowego związana jest z m.in. Zadanie tłumaczenia maszynowego wymagało oddzielenia wiedzy od kodu. Pojawienie się języka pośredniczącego oznaczało pierwszą próbę stworzenia języka dla wewnętrznej reprezentacji wiedzy.

2. Zautomatyzowane odwoływanie się i wyszukiwanie informacji (1957, USA). Idea wyodrębnienia systemu powiązań-relacji pomiędzy poszczególnymi faktami, zawarta w koncepcji tezaurusa.

3. Dowód twierdzeń (1956, USA). Pojawienie się programu do dowodzenia twierdzeń logicznych zdaniowych: „Teoretyk logiki”. W 1965 r. pojawiła się metoda rozdzielczości (J. Robinson, USA), w 1967 r. metoda odwrócona (ZSRR). Metody realizują ideę używania heurystyczny– eksperymentalne zasady ograniczania wyliczenia opcji przy wyprowadzaniu rozwiązania.

4. Rozpoznawanie wzorców (początek lat 60.). Idee teorii rozpoznawania związane z nauką znajdowania reguły decyzyjnej na zbiorze pozytywnych i negatywnych przykładów.

W 1956 K. Shannon, M. Minsky i J. McCarthy zorganizowali w Dartmouth (USA) konferencję podsumowującą praktyczne doświadczenia związane z opracowywaniem programów intelektualnych.

1.1.5. Stworzenie podstawy teoretycznej

W 1969 roku w Waszyngtonie odbyła się Pierwsza Międzynarodowa Konferencja na temat Sztucznej Inteligencji (IJCAI). W 1976 roku zaczęło ukazywać się międzynarodowe czasopismo „Sztuczna inteligencja”. W latach 70. ukształtowały się główne teoretyczne kierunki badań w dziedzinie inteligentnych systemów:

Reprezentacja wiedzy, formalizacja wiedzy o środowisku zewnętrznym, tworzenie wewnętrznego modelu świata zewnętrznego;

− komunikacja, tworzenie języków interakcji pomiędzy systemem a użytkownikiem;

− rozumowanie i planowanie, podejmowanie decyzji w sytuacjach alternatywnych;

− percepcja (widzenie maszynowe), pozyskiwanie danych ze środowiska zewnętrznego;

− szkolenia, wydobywanie wiedzy z doświadczeń funkcjonowania systemu;

- aktywność, aktywne zachowanie systemu w oparciu o własne cele funkcjonowania.

1.1.6. Filozoficzne problemy teorii sztucznej inteligencji

W tym podrozdziale wymieniono główne pytania i uwagi na ich temat dotyczące często i szeroko dyskutowanych problemów w teorii sztucznej inteligencji.

Czy można odtworzyć inteligencję? Teoretycznie możliwa jest samoreprodukcja. Podstawową możliwość automatyzacji rozwiązywania problemów intelektualnych za pomocą komputera zapewnia własność uniwersalności algorytmicznej. Nie należy jednak myśleć, że komputery i roboty mogą w zasadzie rozwiązywać wszelkie problemy. Istnieją problemy nierozwiązywalne algorytmicznie.

Jaki jest cel tworzenia sztucznej inteligencji? Załóżmy, że człowiekowi udało się stworzyć intelekt, który przewyższa jego własny intelekt (jeśli nie jakościowo, to ilościowo). Co się teraz stanie z ludzkością? Jaką rolę będzie odgrywać dana osoba? Dlaczego jest teraz potrzebny? I ogólnie, czy w zasadzie konieczne jest tworzenie AI? Najwyraźniej najbardziej akceptowalną odpowiedzią na te pytania jest pojęcie „wzmacniacza inteligencji”.

Czy tworzenie sztucznej inteligencji jest bezpieczne? Posiadając inteligencję i możliwości komunikacyjne wielokrotnie większe niż ludzkie, technologia stanie się potężną, niezależną siłą zdolną do przeciwdziałania swojemu stwórcy.

1.1.7. Obszary zastosowania

1. Przetwarzanie języków naturalnych, rozpoznawanie obrazów, mowy, sygnałów, a także tworzenie modeli inteligentnych interfejsów, prognozowanie finansowe, ekstrakcja danych, diagnostyka systemu, monitorowanie aktywności sieci, szyfrowanie danych (kierunek - sieci neuronowe).

2. Nanotechnologie, problemy samoorganizacji, samokonfiguracji i samonaprawiania systemów składających się z wielu jednocześnie działających węzłów, systemów wieloagentowych i robotyki (kierunek - obliczenia ewolucyjne).

3. Hybrydowe systemy sterowania, przetwarzanie obrazów, narzędzia do wyszukiwania, indeksowania i analizy znaczenia obrazów, rozpoznawanie i klasyfikowanie obrazów (kierunek - logika rozmyta).

4. Diagnostyka medyczna, szkolenia, doradztwo, automatyczne programowanie, sprawdzanie i analiza jakości programów, projektowanie bardzo dużych układów scalonych, diagnostyka techniczna i opracowywanie zaleceń naprawy sprzętu, planowanie w różnych obszarach tematycznych oraz analiza danych (kierunek - systemy ekspertowe (ES )).

5. Problemy transportowe, obliczenia rozproszone, optymalne ładowanie zasobów (kierunek - metody redukcji wyliczeń).

6. Tworzenie dużych systemów projektowania oprogramowania, generowanie kodu, weryfikacja, testowanie, ocena jakości, identyfikacja możliwości ponownego wykorzystania, rozwiązywanie problemów na systemach równoległych (kierunek - inżynieria intelektualna).

7. Tworzenie w pełni zautomatyzowanych cyberfabryk.

8. Gry, społeczne zachowania ludzkich emocji, twórczość.

9. Technologia wojskowa.

1.2. Architektura systemów sztucznej inteligencji

1.2.1. Elementy architektury AIS

Architektura systemu sztucznej inteligencji(SII) - organizacja struktury, w ramach której podejmowane są decyzje i wiedza jest stosowana w określonym obszarze. Najbardziej ogólny schemat SII pokazano na ryc. 1. W tej formie nie ma ani jednego prawdziwego AIS, może brakować niektórych bloków. W SII zawsze są tylko dwa bloki: baza wiedzy i silnik wnioskowania.

Rozważ główne typy AIS w zautomatyzowanych systemach przetwarzania i kontroli informacji:

− kontrola procesu SII;

− IIS do diagnozowania;

− AIS do planowania i dyspozytorni;

− inteligentne roboty.

https://pandia.ru/text/78/057/images/image005_133.gif" width="357" height="360 src=">

Ryż. 1. Uogólniony schemat SII

1.2.2. Kontrola procesu ISIS

Architekturę sterowania procesem ISIS przedstawiono na rys.1. 2.

Cechy tego systemu:

− wykorzystanie informacji technologicznych do sterowania (pomierzone cechy produktu o parametrach i konstrukcji sprzętu);


− mechanizm wnioskowania służy do modyfikacji danych oraz opracowania zaleceń i decyzji kontrolnych;

− konieczność pracy w czasie rzeczywistym;

− konieczność wdrożenia rozumowania temporalnego (z uwzględnieniem zmieniających się warunków).

Praca systemu zorganizowana jest na trzech poziomach:

- baza wiedzy (KB) zawiera zasady rozwiązywania problemów, procedury rozwiązywania problemów, dane o obszarze problemowym, czyli na poziomie baz wiedzy uporządkowana jest sama technologia i cała strategia zarządzania procesem;

− pamięć robocza zawiera informacje o określonych charakterystykach oraz dane o rozpatrywanym procesie (DB);

− mechanizm wnioskowania (w systemie konwencjonalnym jest to regulator) zawiera ogólny mechanizm kontroli osiągnięcia celu końcowego (rozwiązanie dopuszczalne).

Ważnym elementem są bloki komunikacji procesu technologicznego z bazą danych i bazą wiedzy (bloki „Analiza danych” i „Dane procesowe”). Zapewniają użytkownikowi wyższy poziom dostępu do informacji produkcyjnych o procesie technologicznym z obiektów niższego poziomu, czyli utrzymują na bieżąco zawartość bazy danych i bazy wiedzy poprzez aktualizację. Bloki zapewniają również funkcje monitorowania, aby zapobiec krytycznym sytuacjom.

Uzasadnienie i wyjaśnienie równowagi i adekwatności reakcji systemu na rozwój sytuacji produkcyjnej zapewniają bloki „Interfejs dialogowy” i „Dane kontrolne”.

https://pandia.ru/text/78/057/images/image007_118.gif" width="357" height="149 src=">

Ryż. 2. Struktura sterowania procesem FIS

1.2.3. AIS do diagnozowania

Ten system w zasadzie nie różni się od poprzedniego systemu. A ponieważ oznaki różnych wad mogą w dużej mierze się pokrywać, a ich przejawy mogą być niespójne, to w tych systemach istnieją bardziej szczegółowe elementy uzasadnienia i wyjaśnienia diagnozy. Dlatego bardzo często w takich systemach wprowadza się ocenę decyzji pod kątem subiektywnego prawdopodobieństwa.

1.2.4. AIS linii zrobotyzowanych i elastycznych systemów produkcyjnych

Cechą takich systemów jest obecność modelu świata. System robotyczny działa we własnych, specyficznych warunkach i w zasadzie możliwy jest szczegółowy opis tego środowiska. Ten matematyczny model środowiska nazywa się model świata zewnętrznego. Jest to główna zawartość KB robota AI, a druga część KB to wiedza o celach systemu (rys. 3).

https://pandia.ru/text/78/057/images/image009_112.gif" width="294" height="100 src=">

Ryż. 3. AIS linii zrobotyzowanych i elastycznych systemów produkcyjnych

System percepcji stanu środowiska obejmuje:

− czujniki bezpośrednio połączone ze środowiskiem zewnętrznym;

− podsystem przetwarzania wstępnego;

− blok segmentacji cech;

− symboliczny opis stanu środowiska;

− semantyczny opis stanu środowiska;

− blok tworzenia modelu stanu środowiska.

Mechanizm wnioskowania lub system planowania zachowań determinuje działania robota w środowisku zewnętrznym w wyniku bieżącej sytuacji i zgodnie z celem globalnym. Składać się z:

− systemy wnioskowania decyzji;

− blok planowania ruchu elementów wykonawczych.

System realizacji działań obejmuje:

− podsystem sterowania napędem;

− napęd;

− urządzenia wykonawcze.

1.2.5. Planowanie i wysyłka AIS

Cel: rozwiązanie problemów zarządzania operacyjnego, porównanie wyników monitoringu funkcjonowania obiektu pod kątem zaplanowanych celów, a także monitoringu (rys. 4).

Monitorowanie– ciągła lub okresowa interpretacja sygnałów i wydawanie komunikatów w sytuacjach wymagających interwencji.

Cechą tych systemów jest działanie w czasie rzeczywistym, komunikacja z rozproszoną bazą danych zintegrowanego systemu sterowania. Taki system jest konieczny, ponieważ dane IS są częścią systemów sterowania.

https://pandia.ru/text/78/057/images/image011_89.gif" width="365" height="167 src=">

Ryż. 4. Planowanie i wysyłanie AIS

1.3. Problem reprezentacji wiedzy w AIS

1.3.1. Wiedza i dane

Problem reprezentacji wiedzy pojawił się jako jeden z problemów AI. Wiąże się to z tworzeniem praktycznie użytecznych systemów, przede wszystkim ES, wykorzystywanych w medycynie, geologii i chemii. Stworzenie takich systemów wymaga intensywnych wysiłków zmierzających do sformalizowania wiedzy zgromadzonej w odpowiedniej nauce.

Termin „reprezentacja wiedzy” wiąże się z pewnym etapem rozwoju oprogramowania komputerowego. O ile w pierwszym etapie dominowały programy, a dane odgrywały rolę pomocniczą, swego rodzaju „pokarmem” dla „głodnych” programów, to w kolejnych etapach rola danych systematycznie wzrastała. Ich struktura stała się bardziej skomplikowana: od słowa maszynowego znajdującego się w jednej komórce pamięci komputera nastąpiło przejście do wektorów, tablic, plików, list. Ukoronowaniem tego rozwoju były abstrakcyjne typy danych – klasy. Konsekwentny rozwój struktur danych doprowadził do ich jakościowej zmiany i przejścia od reprezentacji danych do reprezentacji wiedzy.

Zdobywanie wiedzy

Poziom reprezentacji wiedzy różni się od poziomu reprezentacji danych nie tylko bardziej złożoną strukturą, ale także istotnymi cechami: interpretowalnością, obecnością sklasyfikowanych relacji, obecnością relacje sytuacyjne(jednoczesność, bycie w tym samym punkcie w przestrzeni itp., relacje te determinują sytuacyjną zgodność pewnej wiedzy przechowywanej w pamięci). Ponadto poziom wiedzy charakteryzują takie cechy jak obecność specjalnych procedur uogólniania, uzupełnianie wiedzy dostępnej w systemie oraz szereg innych procedur.

Prezentacja danych ma charakter pasywny: książka, tabela, pamięć wypełniona informacjami. Teoria AI podkreśla aktywny aspekt reprezentacji wiedzy: Zdobywanie wiedzy powinna stać się aktywnym działaniem, które pozwala nie tylko zapamiętywać, ale także stosować spostrzeganą (nabytą, przyswojoną) wiedzę do rozumowania na niej opartego.

1.3.2. Idea samorozwijających się maszyn

Badania w dziedzinie AI powstały pod wpływem idei cybernetyki – przede wszystkim idei wspólności procesów kontroli i przesyłania informacji w organizmach żywych, społeczeństwie i technologii, w szczególności w komputerach.

Filozoficzna akceptowalność problemu AI w jego tradycyjnej formie wynikała z podstawowego przekonania, że ​​porządek i połączenie idei jest tym samym, co porządek i połączenie rzeczy. Tak więc stworzenie w komputerze struktury odtwarzającej „świat idei” oznaczało po prostu stworzenie struktury izomorficznej ze strukturą świata materialnego, czyli zbudowanie „elektronicznego modelu świata”. Model ten uznano za model komputerowy - model ludzkiej wiedzy o świecie. Proces ludzkiego myślenia interpretowano w komputerze jako maszynowe poszukiwanie takich przekształceń modelu, które miały doprowadzić komputerowy model do pewnego stanu końcowego. AIS musiał wiedzieć, jak przeprowadzić transformację stanu modelu prowadzącą do z góry określonego celu - stanu o określonych właściwościach. Początkowo panowało powszechne przekonanie o fundamentalnej zdolności komputera do samodzielnego studiowania zapisanego w nim modelu, czyli samodzielnego uczenia się strategii osiągnięcia wyznaczonego celu.

Ta hipotetyczna zdolność została zinterpretowana jako możliwość kreatywności maszyny, jako podstawa do stworzenia przyszłych „myślących maszyn”. I choć w faktycznie opracowanych systemach osiągnięcie celu odbywało się na podstawie ludzkich doświadczeń za pomocą algorytmów opartych na teoretycznej analizie stworzonych modeli i wyników przeprowadzonych na nich eksperymentów, to idee budowania samo- systemy uczenia się wydawały się wielu najbardziej obiecujące. Dopiero w latach 80. uświadomiono sobie wagę problemu wykorzystania ludzkiej wiedzy o rzeczywistości w systemach intelektualnych, co doprowadziło do poważnego rozwoju baz wiedzy i metod wydobywania osobistej wiedzy ekspertów.

1.3.3. Refleksja jako składnik aktywności intelektualnej

Wraz z rozwojem tego kierunku zrodziła się idea kontroli odruchowej. Do tego momentu w cybernetyce sterowanie traktowano jako przekazywanie do obiektu sygnałów, które bezpośrednio wpływają na jego zachowanie, a skuteczność sterowania osiągano za pomocą sprzężenia zwrotnego – uzyskiwania informacji o reakcjach kontrolowanego obiektu. zwrotny to samo kontrola- następuje przekaz informacji, który wpływa na obraz świata obiektu. W ten sposób informacja zwrotna okazuje się zbędna - stan podmiotu jest znany przesyłającej informacji, czyli obiektowi.

Tradycyjny AIS opiera się na ideologii zachowań zorientowanych na cel, takich jak gra w szachy, w której celem obu partnerów jest mat za cenę jakiegokolwiek poświęcenia. To nie przypadek, że programy szachowe okazały się tak ważne dla rozwoju metod AI.

Analiza funkcjonowania własnego modelu lub modelu „całej otaczającej rzeczywistości” (w ramach postawionego zadania), kontrola nad jego stanem, prognozowanie stanu to nic innego jak realizacja refleksji. Odbicie to pewien metapoziom. Za pomocą wysokopoziomowych języków programowania, takich jak Prolog, który pozwala na formułowanie celów i budowanie logicznych wniosków o osiągalności tych celów, zadanie wdrożenia refleksji można już częściowo rozwiązać. Za ich pomocą można zbudować rodzaj nadbudowy, rodzaj metapoziomu, który pozwala ocenić zachowanie poprzedniego. Jednak rozważając termin „głębokie odbicie” lub „odbicie wielopoziomowe”, pojawia się problem budowania modeli przez sam system. Tutaj na ratunek przychodzą abstrakcyjne typy danych. Pozwalają operować strukturami danych o dowolnej skończonej złożoności. Możemy zatem założyć, że systemy sztucznej inteligencji mogą zawierać model odbicia.

Nie można więc uznać systemu intelektualnego za kompletny bez umiejętności oceny, „zrozumienia” swoich działań, czyli refleksji. Co więcej, refleksję należy uznać za jedno z głównych narzędzi konstruowania zachowania systemów. W języku matematyki refleksja jest warunkiem koniecznym istnienia systemu intelektualnego.

1.3.4. Języki reprezentacji wiedzy

W pewnym sensie każdy program komputerowy zawiera wiedzę. Program sortowania bąbelkowego zawiera wiedzę programisty na temat porządkowania elementów listy. Zrozumienie istoty programu komputerowego, który rozwiązuje problem sortowania list, wcale nie jest łatwe. Zawiera wiedzę programisty o sposobie rozwiązania problemu, ale oprócz tej wiedzy zawiera inne:

− jak manipulować konstrukcjami języka używanego języka programowania;

− jak osiągnąć wysoką wydajność programu;

- jak dobrać odpowiednie metody rozwiązywania poszczególnych problemów przetwarzania danych, które jednak odgrywają ważną rolę w osiągnięciu efektu końcowego oraz jak zorganizować kontrolę procesu.

Języki reprezentacji wiedzy są językami wysokiego poziomu specjalnie zaprojektowanymi do jawnego kodowania fragmentów ludzkiej wiedzy, takich jak reguły wpływu i zestaw właściwości typowych obiektów, a wysoki poziom języka przejawia się w tym, że szczegóły techniczne reprezentacji wiedzy mechanizmy są w miarę możliwości ukryte przed użytkownikiem. W przeciwieństwie do bardziej konwencjonalnych języków programowania, języki reprezentacji wiedzy są wyjątkowo ekonomiczne pod względem rozmiaru kodu. Wynika to w dużej mierze z faktu, że tłumacz języka zajmuje się wieloma drobiazgami.

Pomimo zauważonych zalet takich języków nie należy zapominać o istnieniu pewnych problemów w ich stosowaniu.

Przejście od opisywania wiedzy na dany obszar we wszelkim zrozumiałym „ludzkim” języku do przedstawiania jej w postaci pewnego rodzaju formalizmu postrzeganego przez komputer wymaga pewnej umiejętności, gdyż nie da się (przynajmniej dzisiaj) opisać, jak mechanicznie dokonać takiej transformacji. Ponieważ możliwości wnioskowania, które program może zaimplementować, są bezpośrednio związane z wyborem sposobu reprezentacji wiedzy, to właśnie reprezentacja wiedzy, a nie jej wydobywanie, jest wąskim gardłem w praktyce projektowania ES.