Metody sztucznej inteligencji (AI) w grach komputerowych. Rozwijanie sztucznej inteligencji na przykładzie prostej gry Algorytm sztucznej inteligencji z treningiem

W tym artykule podzielę się swoim doświadczeniem w rozwijaniu najprostszej sztucznej inteligencji (AI) przy użyciu algorytmu genetycznego, a także opowiem o minimalnym zestawie poleceń wymaganych do wygenerowania dowolnego zachowania.

Efektem pracy było to, że sztuczna inteligencja, nie znając zasad, samodzielnie opanowała grę w kółko i krzyżyk i znalazła słabe strony botów, które grały przeciwko niej. Ale zacząłem od jeszcze prostszego zadania.

Zestaw poleceń

Wszystko zaczęło się od przygotowania zestawu poleceń, jakie mogła posiadać sztuczna inteligencja. Języki wysokiego poziomu zawierają setki różnych operatorów. Aby podkreślić wymagane minimum, zdecydowałem się zwrócić na język asemblera. Okazało się jednak, że zawiera również wiele poleceń.

Potrzebowałem sztucznej inteligencji, aby móc odczytywać i wyprowadzać dane, pracować z pamięcią, wykonywać obliczenia i operacje logiczne, wykonywać przejścia i pętle. Natknąłem się na język Brainfuck, który zawiera tylko 8 poleceń i potrafi wykonać dowolne obliczenia (czyli jest kompletny w Turingu). W zasadzie nadaje się do programowania genetycznego, ale poszedłem dalej.

Zastanawiałem się: jaka jest minimalna liczba poleceń potrzebnych do wdrożenia dowolnego algorytmu? Jak się okazało, był tylko jeden!

Procesor URISC zawiera tylko jedną instrukcję: odejmij i pomiń następną instrukcję, jeśli odejmowanie było większe od odejmowania. To wystarczy, aby zbudować dowolny algorytm.

Oleg Mazonka poszedł jeszcze dalej, opracował polecenie BitBitJump i udowodnił, że jest to Turing kompletny. Instrukcja zawiera trzy adresy, kopiuje jeden bit z pierwszego na drugi adres pamięci i przekazuje sterowanie na trzeci adres.

Zapożyczając pomysły Olega, aby uprościć pracę, opracowałem polecenie SumIfJump. Polecenie zawiera cztery operandy: A, B, C, D i wykonuje następujące działanie: do komórki o adresie B dodaje dane z komórki o adresie A, jeżeli wartość jest większa od podanej*, to przechodzi do adresu C, w przeciwnym razie trafia do adresu D.

Notatka

*W tym przypadku użyto 128 – czyli połowę długości genomu.


Gdy argument A uzyskuje dostęp do komórki pamięci N0, następuje wprowadzenie danych, a gdy argument A uzyskuje dostęp do komórki pamięci N1, następuje wyjście.

Poniżej znajduje się kod SumIfJump w FreePascal (darmowy odpowiednik Delphi).

Procedura RunProg(s: TData); var a, b, c, d: TData; rozpocznij Inc(NStep); jeśli NStep > MaxStep to rozpocznij ProgResult:= "MaxStep"; Wyjście; koniec; a:= s; b:= s + 1; c:= s + 2; d:= s + 3; a:= Prog[a]; b:= Prog[b]; c:= Prog[c]; d:=Prog[d]; jeśli a = 0, rozpocznij ProgResult:= "Input"; Wyjście; koniec; jeśli a = 1, rozpocznij ProgResult:= "Wyjście"; Wyjście; koniec; Prog[b] := Prog[b] + Prog[a]; jeśli Prog[b]< ProgLength div 2 then RunProg(c) else RunProg(d); end;
SumIfJump implementuje samomodyfikujący się kod. Potrafi wykonywać dowolne algorytmy dostępne w konwencjonalnym języku programowania. Kod jest łatwy do zmiany i wytrzyma każdą manipulację.

Proste zadanie

Zatem nasza sztuczna inteligencja ma tylko jedno polecenie. Jak na razie kółko i krzyżyk jest dla niego bardzo trudną grą, więc zacząłem od prostszej gry.

Bot generuje losową liczbę, a sztuczna inteligencja musi odczytać dane i udzielić odpowiedzi. Jeśli liczba jest większa od średniej (zakresu liczb losowych), sztuczna inteligencja powinna wygenerować liczbę mniejszą od średniej i odwrotnie.

Genom naszej AI składa się z 256 komórek o wartościach od 0 do 255. Każda wartość to pamięć, kod i adres. Liczba kroków wykonania kodu jest ograniczona do 256. Operandy odczytywane są jeden po drugim.

Początkowo genom generowany jest na podstawie zestawu liczb losowych, więc sztuczna inteligencja nie wie, w co ma grać. Co więcej, nie wie, że odpowiadając botowi, musi sekwencyjnie wprowadzać i wyprowadzać dane.

Populacja i selekcja

Pierwsza populacja składa się z 256 AI, które rozpoczynają zabawę z botem. Jeśli sztuczna inteligencja wykona prawidłowe działania, na przykład zażąda danych do wprowadzenia, a następnie coś wyprowadzi, wówczas sztuczna inteligencja otrzymuje punkty. Im więcej poprawnych działań, tym więcej punktów.

Każda z 16 AI, które zdobędą najwięcej punktów, wyda na świat 15 potomstwa i nadal uczestniczy w grze. Potomek jest mutantem. Mutacja następuje poprzez zastąpienie jednej losowej komórki w kopii rodzica losową wartością.

Jeżeli w pierwszej populacji nie uzyskano punktów AI, tworzona jest następna populacja. I tak dalej, aż jedna z AI zacznie wykonywać właściwe działania i wydawać „właściwe” potomstwo.

Ewolucja


Pomiędzy znaczącymi wydarzeniami miały miejsce tysiące zmian pokoleniowych. Program był uruchamiany wielowątkowo na procesorze Core i7. Obliczenia zajęły około 15 minut.

  1. Kiedy „lider” AI popełnił przypadkowy błąd i nie zdobył wystarczającej liczby punktów, populacja zaczęła się degradować, ponieważ potomstwo powstało z rodziców „wtórnych”.
  2. Zdarzyło się, że w streamie z outsiderami, którzy liczyli czas, nastąpiła udana mutacja, zapewniająca wybuchowy wzrost zdobytych punktów. Po czym ten przepływ stał się liderem.
  3. Czasami przez długi czas nie następowały żadne udane mutacje, a nawet 500 tysięcy pokoleń nie wystarczało, aby dokonać selekcji.

Wniosek

Na koniec zrobiłem to samo z grą w kółko i krzyżyk. Zastosowana wielkość genomu była taka sama jak w pierwszym przypadku. Liczba kroków została zwiększona do 1024, a wielkość populacji do 64 (w celu szybszego obliczenia). Obliczenia trwały nieco dłużej. Wszystko działo się według mniej więcej tego samego scenariusza.

Początkowo sztuczna inteligencja grała przeciwko „randomizerowi”. Tak nazwałem bota, który chodzi losowo. Dość szybko AI zaczęła go bić, wypełniając jakąś linijkę. Następnie skomplikowałem zadanie, dodając trochę inteligencji do randomizera: zajmij linię, jeśli to możliwe, lub broń. Jednak w tym przypadku sztuczna inteligencja znalazła słabe punkty bota i zaczęła go pokonywać. Być może opowieść o tym to temat na osobny artykuł.

Syn poprosił mnie o napisanie programu, dzięki któremu AI będą grać między sobą, a nie z botem. Były pomysły, żeby zrobić to samo z grą w warcaby czy Go, jednak nie miałem już na to wystarczająco dużo czasu.

Jedyną metodą, jaką stosuję do pozyskiwania nowych osobników, jest mutacja. Można także zastosować zwrotnicę i inwersję. Być może te metody przyspieszą uzyskanie wymaganego rezultatu.

W końcu narodził się pomysł: dać AI możliwość zarządzania wszystkimi procesami na komputerze PC i konkurowania o zasoby komputera. Podłącz swój komputer do Internetu i wykorzystaj pulę starych farm Bitcoin jako moc obliczeniową...

Jak stwierdziła blogerka przeprowadzając podobny eksperyment

Sztuczna inteligencja: zimny, nieczuły i nieuchwytny. Ale tu leży przyszłość, to właśnie ta dziedzina nauki umożliwi wykonanie dużego i znaczącego kroku w kierunku automatyzacji procesów, a co za tym idzie, odciążenia części rutynowych obowiązków od wartościowych specjalistów. A teraz, u zarania jego rozwoju, tylko my decydujemy, co to będzie sztuczna inteligencja po kilku dekadach, ucząc go.

Spróbujmy dowiedzieć się, co istnieje Metody i algorytmy uczenia maszynowego sztucznej inteligencji.

Tradycyjnie wokół tego, co nowe i nieznane, pojawia się wiele kontrowersji. I choć o AI napisano już wiele, to nie jest ona do końca rozumiana przez ludzi. To tu pojawiają się twierdzenia typu: „On zabierze ludziom setki stanowisk pracy!”, „Będzie buntował się przeciwko narodowi!”, „Tak, sami kopiemy sobie grób!”, „Prędzej czy później nas nie będzie”. w stanie go kontrolować!” i tak dalej. Wiele osób wyobraża sobie sztuczną inteligencję jako superinteligencję, która, ponieważ zaprzecza ich własnym wyjaśnieniom, z pewnością stanowi dla nich zagrożenie. I oczywiście nikt nie chce tego słyszeć, że teraz, wykraczając poza granice programu wyznaczonego przez osobę, w tej chwili jest to technicznie niemożliwe.

Ale czego nadal można go nauczyć i jak to się dzieje?

Metody uczenia maszynowego sztucznej inteligencji:

  1. Uczenie się indukcyjne

Pozyskiwanie danych empirycznych, identyfikacja wzorców, identyfikacja algorytmów działania w każdej podobnej sytuacji;

  1. Uczenie się dedukcyjne

Formalizacja danych pozyskiwanych przez osobę na różne sposoby i wprowadzanie ich bezpośrednio do bazy danych;

Podstawowe algorytmy podejmowania decyzji dla sztucznej inteligencji:

Naiwny klasyfikator Bayesa

Jedna z najprostszych metod klasyfikacji.

Metodę tę wykorzystuje się w technologii skanowania i rozpoznawania twarzy/siatkówki oka/odcisków palców, przy dzieleniu treści w aktualnościach według tematów, a także przy dzieleniu listów w wiadomościach e-mail na kategorie (w szczególności dział spamu);

Metodę zespołową można z grubsza nazwać pochodną opisanego powyżej naiwnego klasyfikatora Bayesa, gdyż opiera się ona na uśrednianiu bayesowskim. Inaczej mówiąc, metoda ta identyfikuje przecięcie prawdopodobieństw wyniku, uśrednia tę wartość, eliminuje rozrzut wartości, jednocześnie kontrolując poszukiwanie rozwiązania problemu w zadanych warunkach.

Jest to metoda zespołowa, która może pozwolić na znalezienie bardzo optymalnego rozwiązania problemu, na które zostanie wydane mniej zasobów, a wynik będzie maksymalnie spełniał warunki problemu.

Nie wchodząc w istotę samej metody i wyjaśniając, jak konstruować hiperpłaszczyznę i pracować z nią, SVM można opisać jako algorytmy do analizy klasyfikacji i regresji.

Podobną technologię wykorzystuje się w rozpoznawaniu określonych właściwości obiektu ze zdjęcia (kolor włosów, płeć, kolor ubioru), a także w genetyce – w splicingu DNA (oddzielenie określonych sekwencji nukleotydowych od RNA i ich połączenie podczas przetwarzania RNA).

Drzewo decyzyjne

Sposób (model) podejmowania decyzji, z którego korzysta każdy z nas na co dzień. Dlatego to już stało się memem

Ale żarty na bok, taki model zwykle zawiera takie elementy, jak: problem, metody rozwiązania, konsekwencje każdej metody, prawdopodobieństwo wystąpienia konsekwencji, koszty zasobów i wynik końcowy. Większość najprostszych technologii wykorzystujących sztuczną inteligencję działa w oparciu o ten model.

Regresja logiczna

Metoda, która może przybliżyć nas do potężnej sztucznej inteligencji, zdolnej do podejmowania samodzielnych decyzji w niektórych sytuacjach. Regresja logiczna to metoda przewidywania wystąpienia zdarzenia przy założeniu kilku zmiennych.


Podobny algorytm stosowany jest w meteorologii i sejsmologii, pożyczkach, marketingu i innych obszarach.

Chciałbym osobno podkreślić tę metodę, ponieważ w istocie nie jest to sposób na rozwiązanie samego problemu - raczej sposób na określenie błędów każdego rozwiązania.

Opisane powyżej algorytmy stosuje się do metody uczenia nadzorowanego, czyli takiej, w której do konkretnego zbioru danych można przypisać konkretną etykietę (właściwość), ale w przypadku braku tej etykiety należy przewidzieć jej przypisanie w innych podobnych sytuacjach .

Rozwiązaliśmy to podstawowe algorytmy uczenia maszynowego sztucznej inteligencji najczęściej stosowane w praktyce. Warto wziąć pod uwagę, że zastosowanie sztucznej inteligencji w życiu codziennym i rozwiązywaniu codziennych problemów, w których najczęściej rozwiązanie problemu jest całkowicie jasne i konieczna jest jedynie automatyzacja tego procesu, może wiązać się z wykorzystaniem podobnych algorytmów. Problem, którego rozwiązanie musi być rozwinięciem nowatorskim, albo rozwiązanie będzie zależeć od dużej liczby zmiennych (czyli głównie różnych dziedzin nauk ścisłych), wymaga bardziej złożonych algorytmów rozwiązania, o których możesz się dowiedzieć, jeśli śledź nasze wiadomości.

Sztuczna inteligencja (AI)(Język angielski) Sztuczna inteligencja (AI) to nauka i rozwój inteligentnych maszyn i systemów, zwłaszcza inteligentnych programów komputerowych, mających na celu zrozumienie ludzkiej inteligencji. Jednakże stosowane metody niekoniecznie są biologicznie wiarygodne. Problem w tym, że nie wiadomo, które procedury obliczeniowe chcemy nazwać inteligentnymi. A skoro rozumiemy tylko niektóre mechanizmy inteligencji, to przez inteligencję w tej nauce rozumiemy tylko obliczeniową część zdolności do osiągania celów w świecie.

U wielu ludzi, zwierząt i niektórych maszyn istnieją różne typy i stopnie inteligencji, inteligentne systemy informacyjne oraz różne modele systemów ekspertowych o różnych bazach wiedzy. Jednocześnie, jak widzimy, ta definicja inteligencji nie ma związku z rozumieniem ludzkiej inteligencji – to są różne rzeczy. Co więcej, nauka ta modeluje ludzką inteligencję, ponieważ z jednej strony można dowiedzieć się czegoś o tym, jak zmusić maszyny do rozwiązywania problemów, obserwując innych ludzi, a z drugiej strony większość osób zajmujących się sztuczną inteligencją bada problemy, które ludzkość musi rozwiązać w sensie przemysłowym i technologicznym. Dlatego badacze sztucznej inteligencji mogą swobodnie stosować techniki, których nie obserwuje się u ludzi, jeśli jest to konieczne do rozwiązania konkretnych problemów.

W tym właśnie znaczeniu termin ten wprowadził J. McCarthy w 1956 roku na konferencji na Uniwersytecie Dartmouth i do chwili obecnej, pomimo krytyki ze strony tych, którzy uważają, że inteligencja jest jedynie zjawiskiem biologicznym, w środowisku naukowym termin ten zachował swoją pierwotne znaczenie, pomimo oczywistych sprzeczności z punktu widzenia ludzkiej inteligencji.

W filozofii kwestia natury i statusu ludzkiego intelektu nie została rozstrzygnięta. Nie ma też dokładnego kryterium osiągnięcia przez komputery „inteligencji”, chociaż u zarania sztucznej inteligencji proponowano szereg hipotez, na przykład test Turinga czy hipotezę Newella-Simona. Dlatego pomimo wielu podejść zarówno do zrozumienia problemów AI, jak i tworzenia inteligentnych systemów informatycznych, można wyróżnić dwa główne podejścia do rozwoju AI:

· malejąco (angielski) Odgórna sztuczna inteligencja), semiotyczny - tworzenie systemów ekspertowych, baz wiedzy i systemów wnioskowania logicznego, które symulują procesy umysłowe wysokiego poziomu: myślenie, rozumowanie, mowę, emocje, kreatywność itp.;

· rosnąco Oddolna sztuczna inteligencja), biologiczne – badanie sieci neuronowych i obliczeń ewolucyjnych modelujących inteligentne zachowanie w oparciu o mniejsze „nieinteligentne” elementy.

To drugie podejście, ściśle rzecz biorąc, nie odnosi się do nauki o sztucznej inteligencji w sensie nadanym przez J. McCarthy'ego, łączy je jedynie wspólny cel ostateczny.

Historia sztucznej inteligencji jako nowego kierunku naukowego rozpoczyna się w połowie XX wieku. Do tego czasu powstało już wiele przesłanek do jego powstania: wśród filozofów od dawna toczyły się debaty na temat natury człowieka i procesu rozumienia świata, neurofizjolodzy i psychologowie opracowali szereg teorii dotyczących pracy ludzkiego mózgu i myślenia, ekonomiści i matematycy zadawali pytania dotyczące optymalnych obliczeń i przedstawiania wiedzy o świecie w sformalizowanej formie; wreszcie narodził się fundament matematycznej teorii obliczeń – teoria algorytmów i powstały pierwsze komputery.

Możliwości nowych maszyn pod względem szybkości obliczeniowej okazały się większe od ludzkich, dlatego środowisko naukowe postawił pytanie: jakie są granice możliwości komputerów i czy maszyny osiągną poziom rozwoju człowieka? W 1950 roku jeden z pionierów informatyki, angielski naukowiec Alan Turing, w artykule „Can a Machine Think?” udziela odpowiedzi na podobne pytania i opisuje procedurę, dzięki której możliwe będzie określenie momentu, w którym maszyna zrównuje się pod względem inteligencji z człowiekiem, co nazywa się testem Turinga.

Test Turinga to test empiryczny zaproponowany przez Alana Turinga w jego artykule z 1950 r. „Computing Machines and Minds” opublikowanym w czasopiśmie filozoficznym Umysł" Celem tego testu jest określenie możliwości sztucznego myślenia zbliżonego do ludzkiego. Standardowa interpretacja tego testu jest następująca: „Osoba wchodzi w interakcję z jednym komputerem i jedną osobą. Na podstawie odpowiedzi na pytania musi określić z kim rozmawia: z osobą czy programem komputerowym. Celem programu komputerowego jest wprowadzenie człowieka w błąd w celu dokonania błędnego wyboru. Wszyscy uczestnicy testu nie mogą się widzieć.

Istnieją trzy podejścia do definiowania sztucznej inteligencji:

1) Logiczne podejście w kierunku tworzenia systemów sztucznej inteligencji ma na celu tworzenie systemów ekspertowych z logicznymi modelami baz wiedzy wykorzystującymi język predykatów. System programowania językowego i logicznego Prolog został przyjęty jako model szkoleniowy dla systemów sztucznej inteligencji w latach 80-tych. Bazy wiedzy napisane w języku Prolog reprezentują zbiory faktów i reguł wnioskowania logicznego zapisane w języku logicznym. Logiczny model baz wiedzy pozwala na zapisywanie w języku Prologu nie tylko konkretnych informacji i danych w postaci faktów, ale także informacji uogólnionych z wykorzystaniem reguł i procedur wnioskowania logicznego, w tym logicznych reguł definiowania pojęć wyrażających określoną wiedzę jako konkretną i uogólnione informacje. Ogólnie rzecz ujmując, badania nad problematyką sztucznej inteligencji w informatyce w ramach logicznego podejścia do projektowania baz wiedzy i systemów ekspertowych mają na celu tworzenie, rozwój i działanie inteligentnych systemów informatycznych, włączając w to problematykę nauczania studentów i dzieci w wieku szkolnym, a także szkolenie użytkowników i twórców takich inteligentnych systemów informatycznych.

2) Podejście agentowe rozwija się od początku lat 90-tych. Według tego podejścia inteligencja to część obliczeniowa (planowanie) zdolności do osiągnięcia celów postawionych inteligentnej maszynie. Taka maszyna sama w sobie będzie inteligentnym agentem, postrzegającym otaczający go świat za pomocą czujników i potrafiącym oddziaływać na obiekty w otoczeniu za pomocą aktuatorów. Podejście to koncentruje się na tych metodach i algorytmach, które pomogą inteligentnemu agentowi przetrwać w środowisku podczas wykonywania swojego zadania. Dlatego algorytmy wyszukiwania i podejmowania decyzji są tutaj badane znacznie dokładniej.

3) Intuicyjne podejście zakłada, że ​​sztuczna inteligencja będzie w stanie wykazywać zachowanie nie różniące się od ludzi i to w normalnych sytuacjach. Pomysł ten jest uogólnieniem podejścia do testu Turinga, które stwierdza, że ​​maszyna stanie się inteligentna, gdy będzie w stanie prowadzić rozmowę ze zwykłym człowiekiem, a on nie będzie w stanie zrozumieć, że rozmawia z maszyną (tzw. rozmowa prowadzona jest korespondencyjnie).

W definicji wyróżniono następujące obszary badań z zakresu AI:

- Symboliczne modelowanie procesów myślowych.

Analizując historię sztucznej inteligencji, możemy wyróżnić tak szeroki obszar, jak modelowanie rozumowania. Przez wiele lat rozwój AI jako nauki podążał właśnie tą drogą, a obecnie jest to jeden z najbardziej rozwiniętych obszarów współczesnej AI. Rozumowanie modelujące polega na tworzeniu systemów symbolicznych, których wejście stanowi pewien problem, a wynik wymaga jego rozwiązania. Z reguły proponowany problem został już sformalizowany, czyli przetłumaczony na formę matematyczną, ale albo nie posiada algorytmu rozwiązania, albo jest zbyt skomplikowany, czasochłonny itp. Do tego obszaru zalicza się: dowód twierdzeń, decyzję tworzenie i teoria gier, planowanie i kierowanie, prognozowanie.

- Praca z językami naturalnymi.

Ważnym obszarem jest przetwarzanie języka naturalnego, które polega na badaniu możliwości rozumienia, przetwarzania i generowania tekstów w „ludzkim” języku. W szczególności nie rozwiązano jeszcze problemu maszynowego tłumaczenia tekstów z jednego języka na inny. We współczesnym świecie rozwój metod wyszukiwania informacji odgrywa ważną rolę. Ze swej natury oryginalny test Turinga jest powiązany z tym kierunkiem.

- Gromadzenie i wykorzystanie wiedzy.

Według wielu naukowców ważną właściwością inteligencji jest zdolność uczenia się. Tym samym na pierwszy plan wysuwa się inżynieria wiedzy, łącząca zadania pozyskiwania wiedzy z prostych informacji, jej systematyzacji i wykorzystania. Postępy w tej dziedzinie wpływają na niemal każdy inny obszar badań nad sztuczną inteligencją. Tutaj również nie można pominąć dwóch ważnych podobszarów. Pierwszy z nich – uczenie maszynowe – dotyczy procesu samodzielnego zdobywania wiedzy przez inteligentny system w procesie jego działania. Drugie wiąże się z tworzeniem systemów ekspertowych – programów wykorzystujących specjalistyczne bazy wiedzy w celu uzyskania rzetelnych wniosków na temat dowolnego problemu.

Dziedzina uczenia maszynowego obejmuje dużą klasę problemów związanych z rozpoznawaniem wzorców. Na przykład jest to rozpoznawanie znaków, tekst pisany odręcznie, mowa, analiza tekstu. Wiele problemów można skutecznie rozwiązać za pomocą modelowania biologicznego. Modelowanie biologiczne

Istnieją duże i ciekawe osiągnięcia w dziedzinie modelowania układów biologicznych. Ściśle mówiąc, może to obejmować kilka niezależnych kierunków. Sieci neuronowe służą do rozwiązywania niejasnych i złożonych problemów, takich jak rozpoznawanie kształtów geometrycznych lub grupowanie obiektów. Podejście genetyczne opiera się na założeniu, że algorytm może stać się bardziej wydajny, jeśli zapożyczy lepsze cechy od innych algorytmów („rodziców”). Stosunkowo nowe podejście, w którym zadaniem jest stworzenie autonomicznego programu – agenta wchodzącego w interakcję ze środowiskiem zewnętrznym, nazywane jest podejściem agentowym. Na szczególną uwagę zasługuje widzenie komputerowe, które również kojarzone jest z robotyką.

- Robotyka.

Generalnie robotyka i sztuczna inteligencja są często ze sobą kojarzone. Integrację tych dwóch nauk, tworzenie inteligentnych robotów, można uznać za kolejny obszar AI.

- Kreatywność maszyn.

Natura ludzkiej kreatywności jest jeszcze mniej zbadana niż natura inteligencji. Niemniej jednak obszar ten istnieje i stawiane są tu problemy komputerowego pisania muzyki, dzieł literackich (często poezji lub baśni) oraz twórczości artystycznej. Tworzenie realistycznych obrazów jest szeroko stosowane w branży filmowej i gier. Dodanie tej funkcji do dowolnego inteligentnego systemu pozwala bardzo wyraźnie pokazać, co dokładnie system postrzega i jak to rozumie. Dodając szum zamiast brakujących informacji lub filtrując szum wiedzą dostępną w systemie, z wiedzy abstrakcyjnej powstają konkretne, łatwo dostrzegalne dla człowieka obrazy, jest to szczególnie przydatne w przypadku wiedzy intuicyjnej i o małej wartości, której weryfikacja w forma formalna wymaga znacznego wysiłku umysłowego.

- Inne obszary badań.

Zastosowań sztucznej inteligencji jest wiele, a każde z nich wyznacza niemal niezależny kierunek. Przykłady obejmują inteligencję programistyczną w grach komputerowych, sterowanie nieliniowe i inteligentne systemy bezpieczeństwa informacji.

Podejścia do tworzenia inteligentnych systemów. Podejście symboliczne pozwala operować słabo sformalizowanymi reprezentacjami i ich znaczeniami. Wydajność i ogólna skuteczność zależą od umiejętności wyróżnienia tylko niezbędnych informacji. Szeroki zakres klas problemów skutecznie rozwiązywanych przez ludzki umysł wymaga niesamowitej elastyczności metod abstrakcji. Niedostępne w żadnym podejściu inżynierskim, które badacz początkowo wybierze w oparciu o celowo błędne kryterium, ze względu na jego zdolność do szybkiego zapewnienia skutecznego rozwiązania jakiegoś problemu, który jest mu najbliższy. Czyli dla jednego modelu abstrakcji i konstrukcji bytów już zaimplementowanych w postaci reguł. Powoduje to znaczne wydatkowanie zasobów na zadania inne niż podstawowe, czyli w przypadku większości zadań system powraca od inteligencji do brutalnej siły, a z projektu znika sama istota inteligencji.

Jest to szczególnie trudne bez logiki symbolicznej, gdy zadaniem jest opracowanie reguł, ponieważ ich elementy składowe, nie będąc pełnoprawnymi jednostkami wiedzy, nie są logiczne. Większość badań kończy się na niemożliwości przynajmniej zidentyfikowania nowych trudności, które pojawiły się przy użyciu wybranych na poprzednich etapach systemów symbolicznych. Co więcej, rozwiązuj je, a zwłaszcza trenuj komputer, aby je rozwiązywał, lub przynajmniej identyfikuj i wychodź z takich sytuacji.

Historycznie rzecz biorąc, podejście symboliczne było pierwszym w epoce maszyn cyfrowych, ponieważ dopiero po stworzeniu Lisp, pierwszego symbolicznego języka obliczeniowego, jego autor nabrał pewności co do możliwości praktycznego rozpoczęcia wdrażania tych środków inteligencji. Inteligencja jako taka, bez żadnych zastrzeżeń i konwencji.

Powszechnie praktykowane jest tworzenie hybrydowych inteligentnych systemów, w których wykorzystuje się kilka modeli jednocześnie. Eksperckie reguły wnioskowania mogą być generowane przez sieci neuronowe, a reguły generatywne są uzyskiwane za pomocą uczenia statystycznego.

Rozwój teorii zbiorów rozmytych. Rozwój teorii zbiorów rozmytych rozpoczął się od artykułu „Zbiory rozmyte” opublikowanego przez amerykańskiego profesora Lotfiego Zadeha, który jako pierwszy wprowadził pojęcie zbioru rozmytego, zaproponował ideę i pierwszą koncepcję teorii, która umożliwiła rozmyte zbiory opisywać rzeczywiste systemy. Najważniejszym kierunkiem teorii zbiorów rozmytych jest logika rozmyta, wykorzystywana do sterowania systemami, a także w eksperymentach nad tworzeniem ich modeli.

Lata 60. rozpoczęły okres szybkiego rozwoju komputerów i technologii cyfrowych opartych na logice binarnej. Uważano wówczas, że zastosowanie tej logiki pozwoli rozwiązać wiele problemów naukowych i technicznych. Z tego powodu pojawienie się logiki rozmytej pozostało prawie niezauważone, pomimo całej jej rewolucyjnej natury pojęciowej. Jednak znaczenie logiki rozmytej zostało docenione przez wielu przedstawicieli środowiska naukowego i zostało opracowane oraz praktyczne wdrożenie w różnych zastosowaniach przemysłowych. Po pewnym czasie zainteresowanie nią zaczęło wzrastać ze strony szkół naukowych zrzeszających zwolenników technologii opartych na logice binarnej. Stało się tak dlatego, że odkryto całkiem sporo problemów praktycznych, których nie dało się rozwiązać przy pomocy tradycyjnych modeli i metod matematycznych, pomimo znacznie zwiększonych dostępnych prędkości obliczeniowych. Potrzebna była nowa metodologia, której charakterystyczne cechy znalazła logika rozmyta.

Podobnie jak robotyka, logika rozmyta spotkała się z dużym zainteresowaniem nie w swoim kraju pochodzenia, czyli w Stanach Zjednoczonych, ale poza jej granicami, w konsekwencji czego pierwszym doświadczeniem przemysłowego zastosowania logiki rozmytej – do sterowania instalacjami kotłowymi elektrowni – było związany z Europą. Wszelkie próby zastosowania tradycyjnych, czasem bardzo skomplikowanych metod sterowania kotłem parowym kończyły się niepowodzeniem – ten nieliniowy układ okazał się niezwykle skomplikowany. Dopiero zastosowanie logiki rozmytej umożliwiło syntezę sterownika spełniającego wszystkie wymagania. W 1976 roku za podstawę systemu automatycznego sterowania piecem obrotowym do produkcji cementu wykorzystano logikę rozmytą. Jednak pierwsze praktyczne wyniki stosowania logiki rozmytej, uzyskane w Europie i Ameryce, nie spowodowały znaczącego wzrostu zainteresowania nią. Podobnie jak to było z robotyką, krajem, który jako pierwszy rozpoczął powszechne wdrażanie logiki rozmytej, zdając sobie sprawę z jej ogromnego potencjału, była Japonia.

Spośród stosowanych systemów rozmytych stworzonych w Japonii najbardziej znany jest system sterowania pociągiem metra opracowany przez firmę Hitachi w Sendai. Projekt realizowany był przy udziale doświadczonego kierowcy, którego wiedza i doświadczenie stanowiły podstawę opracowanego modelu sterowania. System automatycznie zmniejszał prędkość pociągu w miarę zbliżania się do stacji, zapewniając zatrzymanie się w żądanym miejscu. Kolejną zaletą pociągu był wysoki komfort, wynikający z płynnego przyspieszania i zwalniania. W porównaniu z tradycyjnymi systemami sterowania istniało wiele innych zalet.

Szybki rozwój logiki rozmytej w Japonii doprowadził do jej praktycznych zastosowań nie tylko w przemyśle, ale także w produkcji dóbr konsumpcyjnych. Przykładem może być kamera wideo wyposażona w podsystem rozmytej stabilizacji obrazu, który wykorzystano do kompensacji wahań obrazu spowodowanych brakiem doświadczenia operatora. Problem ten był zbyt złożony, aby można go było rozwiązać tradycyjnymi metodami, gdyż konieczne było odróżnienie przypadkowych wahań obrazu od celowego ruchu fotografowanych obiektów (na przykład ruchu ludzi).

Innym przykładem jest pralka automatyczna, którą obsługuje się za naciśnięciem przycisku (Zimmerman 1994). Ta „uczciwość” wzbudziła zainteresowanie i spotkała się z aprobatą. Zastosowanie metod fuzzy logic umożliwiło optymalizację procesu prania, zapewniając automatyczne rozpoznawanie rodzaju, objętości i stopnia zabrudzenia odzieży, nie mówiąc już o tym, że ograniczenie mechanizmu sterującego maszyną do jednego przycisku znacznie ułatwiło pranie uchwyt.

Wynalazki logiki rozmytej zostały wdrożone przez japońskie firmy w wielu innych urządzeniach, w tym w kuchenkach mikrofalowych (Sanyo), układach przeciwblokujących i automatycznych skrzyniach biegów (Nissan), zintegrowanym systemie kontroli dynamiki pojazdu (INVEC) oraz sterownikach dysków twardych w komputerach. skrócenie czasu dostępu do informacji.

Oprócz zastosowań wymienionych powyżej, od początku lat 90-tych. Następuje intensywny rozwój metod rozmytych w szeregu obszarów zastosowań, także tych niezwiązanych z technologią:

Elektroniczny system kontroli rozrusznika serca;

System sterowania pojazdem silnikowym;

Systemy chłodzenia;

Klimatyzatory i urządzenia wentylacyjne;

Urządzenia do spalania odpadów;

Piec do topienia szkła;

System monitorowania ciśnienia krwi;

Diagnostyka nowotworów;

Diagnoza aktualnego stanu układu sercowo-naczyniowego;

System sterowania dźwigami i mostami;

Przetwarzanie obrazu;

Szybka ładowarka;

Rozpoznawanie słów;

Zarządzanie bioprocesorem;

Sterowanie silnikiem elektrycznym;

Sprzęt spawalniczy i procesy spawalnicze;

Systemy kontroli ruchu;

Badania biomedyczne;

Stacje uzdatniania wody.

W tej chwili przy tworzeniu sztucznej inteligencji (w pierwotnym znaczeniu tego słowa systemy ekspertowe i programy szachowe nie mają tutaj miejsca) następuje intensywne wcieranie w bazy wiedzy wszystkich dziedzin tematycznych, które mają przynajmniej pewien związek z sztuczną inteligencją . Prawie wszystkie podejścia zostały przetestowane, ale żadna grupa badawcza nie zajęła się pojawieniem się sztucznej inteligencji.

Badania nad sztuczną inteligencją dołączyły do ​​ogólnego nurtu technologii osobliwości (przeskok gatunków, wykładniczy rozwój człowieka), takich jak informatyka, systemy ekspertowe, nanotechnologia, bioelektronika molekularna, biologia teoretyczna, teoria(e) kwantowe, nootropiki, ekstrofile itp. zobacz codzienny strumień Wiadomości Kurzweila, MIT.

Wyniki rozwoju w dziedzinie sztucznej inteligencji weszły do ​​szkolnictwa wyższego i średniego w Rosji w postaci podręczników do informatyki, gdzie obecnie badane są zagadnienia pracy i tworzenia baz wiedzy, systemów ekspertowych opartych na komputerach osobistych opartych na krajowych systemach programowania logicznego, a także studiowanie podstawowych zagadnień matematyki i informatyki na przykładach pracy z modelami baz wiedzy i systemów ekspertowych w szkołach i na uczelniach.

Opracowano następujące systemy sztucznej inteligencji:

1. Deep Blue - pokonał mistrza świata w szachach. (Mecz Kasparowa z superkomputerami nie przyniósł satysfakcji ani informatykom, ani szachistom, a system nie został rozpoznany przez Kasparowa, chociaż oryginalne kompaktowe programy szachowe są integralnym elementem szachowej kreatywności. Następnie w latach pojawiła się linia superkomputerów IBM brute force projektuje BluGene (modelowanie molekularne) i modelowanie układu komórek piramidalnych w szwajcarskim Blue Brain Center. Ta historia jest przykładem zawiłego i tajnego związku między sztuczną inteligencją, biznesem i narodowymi celami strategicznymi.)

2. Mycyna była jednym z pierwszych systemów eksperckich, który potrafił diagnozować niewielki zestaw chorób, często tak dokładnie, jak lekarze.

3. 20q to projekt oparty na pomysłach AI, oparty na klasycznej grze „20 pytań”. Dużą popularność zyskał po pojawieniu się w Internecie na stronie 20q.net.

4. Rozpoznawanie mowy. Systemy takie jak ViaVoice są w stanie służyć konsumentom.

5. Roboty rywalizują w uproszczonej formie piłki nożnej w corocznym turnieju RoboCup.

Banki wykorzystują systemy sztucznej inteligencji (AI) w działalności ubezpieczeniowej (matematyka aktuarialna) podczas gry na giełdzie i zarządzania nieruchomościami. W sierpniu 2001 r. roboty pokonały ludzi w zaimprowizowanym konkursie handlowym (BBC News, 2001). Metody rozpoznawania wzorców (w tym zarówno bardziej złożone i wyspecjalizowane, jak i sieci neuronowe) znajdują szerokie zastosowanie w rozpoznawaniu optycznym i akustycznym (w tym tekstu i mowy), diagnostyce medycznej, filtrach antyspamowych, w systemach obrony powietrznej (identyfikacja celów), a także w celu zapewnienia szeregu innych zadań związanych z bezpieczeństwem narodowym.

Twórcy gier komputerowych zmuszeni są do stosowania sztucznej inteligencji o różnym stopniu zaawansowania. Standardowe zadania AI w grach to odnajdywanie ścieżki w przestrzeni dwuwymiarowej lub trójwymiarowej, symulowanie zachowania jednostki bojowej, obliczanie prawidłowej strategii ekonomicznej i tak dalej.

Sztuczna inteligencja jest ściśle powiązana z transhumanizmem. Razem z neurofizjologią, epistemologią i psychologią poznawczą tworzy bardziej ogólną naukę zwaną naukami kognitywnymi. Filozofia odgrywa szczególną rolę w sztucznej inteligencji. Również epistemologia – nauka o wiedzy w ramach filozofii – jest ściśle powiązana z problematyką sztucznej inteligencji. Filozofowie pracujący nad tym tematem zmagają się z pytaniami podobnymi do tych, przed którymi stoją inżynierowie sztucznej inteligencji, dotyczącymi tego, jak najlepiej reprezentować i wykorzystywać wiedzę i informacje. Tworzenie wiedzy z danych jest jednym z podstawowych problemów eksploracji danych. Istnieją różne podejścia do rozwiązania tego problemu, w tym oparte na technologii sieci neuronowych, wykorzystujące procedury werbalizacji sieci neuronowej.

W informatyce problemy sztucznej inteligencji rozpatrywane są z perspektywy projektowania systemów ekspertowych i baz wiedzy. Bazy wiedzy rozumiane są jako zbiór danych i reguł wnioskowania, które umożliwiają logiczne wnioskowanie i sensowne przetwarzanie informacji. Ogólnie rzecz biorąc, badania nad problematyką sztucznej inteligencji w informatyce mają na celu tworzenie, rozwój i działanie inteligentnych systemów informatycznych, z uwzględnieniem zagadnień szkolenia użytkowników i twórców takich systemów.

Nauka o „tworzeniu sztucznej inteligencji” nie mogła nie przyciągnąć uwagi filozofów. Wraz z pojawieniem się pierwszych inteligentnych systemów postawiono fundamentalne pytania dotyczące człowieka i wiedzy, a częściowo także porządku świata. Z jednej strony są one nierozerwalnie związane z tą nauką, z drugiej zaś wprowadzają w nią pewien chaos. Filozoficzne problemy tworzenia sztucznej inteligencji można podzielić na dwie grupy, mówiąc relatywnie, „przed i po rozwoju AI”. Pierwsza grupa odpowiada na pytanie: „Co to jest sztuczna inteligencja, czy można ją stworzyć i jeśli to możliwe, jak to zrobić?” Druga grupa (etyka sztucznej inteligencji) zadaje pytanie: „Jakie są konsekwencje stworzenia AI dla ludzkości?”

Zagadnienia tworzenia sztucznej inteligencji. Widoczne są dwa kierunki rozwoju AI: pierwszy – w rozwiązywaniu problemów związanych z przybliżaniem wyspecjalizowanych systemów AI do możliwości człowieka i ich integracją, co realizuje natura ludzka, drugi – w tworzeniu Sztucznej Inteligencji, która reprezentuje integracja już stworzonych systemów AI w jeden system zdolny do rozwiązywania problemów ludzkości.

Wśród badaczy AI nadal nie ma dominującego punktu widzenia na kryteria inteligencji, systematyzacji celów i zadań do rozwiązania, nie ma nawet ścisłej definicji nauki. Istnieją różne punkty widzenia na temat tego, co uważa się za inteligencję. Podejście analityczne polega na analizie wyższej aktywności nerwowej człowieka do najniższego, niepodzielnego poziomu (funkcja wyższej aktywności nerwowej, elementarna reakcja na zewnętrzne czynniki drażniące (bodźce), podrażnienie synaps zbioru neuronów połączonych funkcją) i późniejsze odtworzenie tych funkcji.

Niektórzy eksperci mylą zdolność racjonalnego, umotywowanego wyboru w warunkach braku informacji z inteligencją. Oznacza to, że za program intelektualny uważa się po prostu program działania, który może wybierać spośród pewnego zestawu alternatyw, na przykład, dokąd się udać w przypadku „pojedziesz w lewo…”, „pojedziesz w prawo”. ...”, „pojedziesz prosto…”.

Najbardziej gorącą debatą w filozofii sztucznej inteligencji jest kwestia możliwości myślenia stworzonego przez ludzkie ręce. Pytanie „Czy maszyna może myśleć?”, które skłoniło badaczy do stworzenia nauki polegającej na symulowaniu ludzkiego umysłu, zostało postawione przez Alana Turinga w 1950 roku. Dwa główne punkty widzenia na tę kwestię nazywane są hipotezami silnej i słabej sztucznej inteligencji.

Termin „silna sztuczna inteligencja” został wprowadzony przez Johna Searle’a i jego słowami charakteryzuje to podejście: „Taki program nie będzie jedynie modelem umysłu; ona, w dosłownym tego słowa znaczeniu, sama będzie umysłem, w tym samym sensie, w jakim ludzki umysł jest umysłem. Z kolei zwolennicy słabej sztucznej inteligencji wolą postrzegać programy jedynie jako narzędzia, które pozwalają im rozwiązać pewne problemy, które nie wymagają pełnego zakresu zdolności poznawczych człowieka.

Eksperyment myślowy Johna Searle’a „Chinese Room” dowodzi, że zdanie testu Turinga nie jest warunkiem posiadania przez maszynę prawdziwego procesu myślowego. Myślenie to proces przetwarzania informacji zapisanych w pamięci: analiza, synteza i samoprogramowanie. Podobne stanowisko zajmuje Roger Penrose, który w swojej książce „The King's New Mind” argumentuje za niemożnością uzyskania procesu myślenia w oparciu o systemy formalne.


6. Urządzenia liczące i mikroprocesory.

Mikroprocesor (MP) to urządzenie odbierające, przetwarzające i wysyłające informacje. Strukturalnie MP zawiera jeden lub więcej układów scalonych i wykonuje działania określone przez program przechowywany w pamięci (ryc. 6.1).

Rysunek 6.1– Wygląd posła

Wczesne procesory zostały stworzone jako unikalne komponenty jedynych w swoim rodzaju systemów komputerowych. Później producenci komputerów przeszli od kosztownych metod opracowywania procesorów przeznaczonych do uruchamiania jednego lub kilku wysoce wyspecjalizowanych programów na rzecz masowej produkcji typowych klas wielofunkcyjnych urządzeń procesorowych. Trend standaryzacji komponentów komputerowych narodził się w dobie szybkiego rozwoju elementów półprzewodnikowych, komputerów typu mainframe i minikomputerów, a wraz z pojawieniem się układów scalonych stał się jeszcze bardziej popularny. Stworzenie mikroukładów umożliwiło dalsze zwiększenie złożoności procesorów przy jednoczesnym zmniejszeniu ich rozmiaru fizycznego.

Standaryzacja i miniaturyzacja procesorów doprowadziła do głębokiej penetracji opartych na nich urządzeń cyfrowych do codziennego życia człowieka. Nowoczesne procesory można znaleźć nie tylko w zaawansowanych technologicznie urządzeniach, takich jak komputery, ale także w samochodach, kalkulatorach, telefonach komórkowych, a nawet zabawkach dla dzieci. Najczęściej są one reprezentowane przez mikrokontrolery, w których oprócz urządzenia obliczeniowego na chipie znajdują się dodatkowe komponenty (pamięć programów i danych, interfejsy, porty wejścia/wyjścia, timery itp.). Możliwości obliczeniowe mikrokontrolera są porównywalne z procesorami komputerów osobistych dziesięć lat temu, a często nawet znacznie przewyższają ich wydajność.

System mikroprocesorowy (MPS) to system obliczeniowy, oprzyrządowania lub sterowania, w którym głównym urządzeniem przetwarzającym informacje jest MP. Układ mikroprocesorowy zbudowany jest z zestawu mikroprocesorowych LSI (rys. 6.2).

Rysunek 6.2– Przykład układu mikroprocesorowego

Generator zegara ustala przedział czasu, będący jednostką miary (kwantową) czasu trwania wykonania polecenia. Im wyższa częstotliwość, tym szybszy, przy założeniu niezmienionych warunków, MPS. MP, RAM i ROM są integralnymi częściami systemu. Interfejsy wejściowe i wyjściowe - urządzenia służące do łączenia MPS z blokami wejściowymi i wyjściowymi. Przyrządy pomiarowe charakteryzują się urządzeniami wejściowymi w postaci pilota przyciskowego i przetwornikami pomiarowymi (przetworniki ADC, czujniki, cyfrowe jednostki wejściowe informacji). Urządzenia wyjściowe to zazwyczaj wyświetlacze cyfrowe, ekran graficzny (wyświetlacz) i urządzenia zewnętrzne służące do komunikacji z systemem pomiarowym. Wszystkie bloki MPS są połączone magistralami cyfrowej transmisji informacji. MPS wykorzystuje zasadę komunikacji szkieletowej, w której bloki wymieniają informacje za pośrednictwem pojedynczej magistrali danych. Liczba linii w magistrali danych zwykle odpowiada pojemności MPS (liczbie bitów w słowie danych). Szyna adresowa służy do wskazania kierunku przesyłania danych - przesyła adres komórki pamięci lub bloku I/O, która aktualnie odbiera lub przesyła informację. Szyna sterująca służy do przesyłania sygnałów synchronizujących całą pracę MPS.

Konstrukcja IPS opiera się na trzech zasadach:

linia główna;

Modułowość;

Sterowanie mikroprogramem.

Zasada trunkingu – określa charakter połączeń pomiędzy blokami funkcjonalnymi MPS – wszystkie bloki podłączone są do jednej magistrali systemowej.

Zasada modułowości polega na tym, że system budowany jest w oparciu o ograniczoną liczbę typów kompletnych strukturalnie i funkcjonalnie modułów.

Zasady trunkingu i modułowości umożliwiają zwiększenie możliwości kontrolnych i obliczeniowych MP poprzez podłączenie innych modułów do magistrali systemowej.

Zasadą sterowania mikroprogramowego jest możliwość wykonywania elementarnych operacji – mikropoleceń (przesunięć, przekazów informacji, operacji logicznych), za pomocą których tworzony jest język technologiczny, czyli zestaw poleceń najlepiej odpowiadający celowi systemu.

Ze względu na swój cel parlamentarzyści dzielą się na uniwersalnych i wyspecjalizowanych.

Mikroprocesory uniwersalne to mikroprocesory ogólnego przeznaczenia, które rozwiązują szeroką gamę problemów obliczeniowych, przetwarzania i sterowania. Przykładem zastosowania uniwersalnych MP są komputery zbudowane na platformach IBM i Macintosh.

Specjalistyczne mikroprocesory są przeznaczone do rozwiązywania problemów tylko określonej klasy. Do wyspecjalizowanych MP zalicza się: sygnalizację, multimedia i transputery.

Procesory sygnałowe (DSP) są przeznaczone do cyfrowego przetwarzania sygnałów w czasie rzeczywistym (na przykład filtrowania sygnału, obliczania splotu, obliczania funkcji korelacji, ograniczania i kondycjonowania sygnału, wykonywania przedniej i odwrotnej transformaty Fouriera). (Rysunek 6.3) Do procesorów sygnałowych zaliczają się procesory firmy Texas Instruments — TMS320C80, Analog Devices — — ADSP2106x, Motorola — DSP560xx i DSP9600x.

Rysunek 6.3– Przykład wewnętrznej struktury DSP

Procesory multimedialne i multimedialne przeznaczone są do przetwarzania sygnałów audio, informacji graficznych, obrazów wideo, a także do rozwiązywania szeregu problemów w komputerach multimedialnych, konsolach do gier i sprzęcie AGD. Do procesorów tych zaliczają się procesory firm MicroUnity – Mediaprocessor, Philips – Trimedia, Cromatic Research – Mpact Media Engine, Nvidia – NV1, Cyrix – MediaGX.

Transputery przeznaczone są do organizowania masowo równoległych obliczeń i pracy w systemach wieloprocesorowych. Charakteryzują się obecnością pamięci wewnętrznej i wbudowanym interfejsem międzyprocesorowym, czyli kanałami komunikacyjnymi z innymi MP LSI.

Ze względu na rodzaj architektury, czyli zasadę konstrukcji, rozróżnia się parlamentarzystów o architekturze von Neumanna i parlamentarzystów o architekturze Harvardu.

Pojęcie architektury mikroprocesora definiuje jego części składowe, a także połączenia i interakcje między nimi.

Architektura obejmuje:

schemat blokowy MP;

Model oprogramowania MP (opis funkcji rejestru);

Informacje o organizacji pamięci (pojemność i metody adresowania pamięci);

Opis organizacji procedur wejścia/wyjścia.

Architektura Fonneumanna (ryc. 6.4, a) została zaproponowana w 1945 roku przez amerykańskiego matematyka Joe von Neumanna. Jego osobliwością jest to, że program i dane znajdują się w pamięci współdzielonej, do której dostęp można uzyskać za pośrednictwem jednej magistrali danych i poleceń.

Architekturę Harvarda po raz pierwszy zaimplementowano w 1944 roku w komputerze przekaźnikowym na Uniwersytecie Harvarda (USA). Cechą tej architektury jest to, że pamięć danych i pamięć programu są oddzielone i mają oddzielne magistrale danych i magistrale poleceń (ryc. 6.4, b), co umożliwia zwiększenie wydajności systemu MP.

Rysunek 6.4. Główne typy architektury: (a - von Neumann; 6 - Harvard)

Ze względu na rodzaj systemu instrukcji rozróżnia się procesory CISC (Complete Order Set Computing) z pełnym zestawem instrukcji (typowymi przedstawicielami CISC są rodzina mikroprocesorów Intel x86) i Procesory RISC(Przetwarzanie o zmniejszonym zestawie instrukcji) ze zredukowanym zestawem instrukcji (charakteryzującym się obecnością instrukcji o stałej długości, dużą liczbą rejestrów, operacjami między rejestrami i brakiem adresowania pośredniego).

Mikrokontroler jednoukładowy (MCU) to układ przeznaczony do sterowania urządzeniami elektronicznymi (rysunek 5). Typowy mikrokontroler łączy w sobie funkcje procesora i urządzeń peryferyjnych i może zawierać pamięć RAM i ROM. Zasadniczo jest to komputer jednoukładowy, który może wykonywać proste zadania. Zastosowanie pojedynczego chipa zamiast całego zestawu znacznie zmniejsza rozmiar, pobór mocy i koszt urządzeń opartych na mikrokontrolerach.

Rysunek 6.5– przykłady konstrukcji mikrokontrolerów

Mikrokontrolery są podstawą budowy systemów wbudowanych, można je znaleźć w wielu nowoczesnych urządzeniach, takich jak telefony, pralki itp. Większość procesorów produkowanych na świecie to mikrokontrolery.

Dziś 8-bitowe mikrokontrolery kompatybilne z i8051 firmy Intel, mikrokontrolery PIC firmy Microchip Technology i AVR firmy Atmel, szesnastobitowe MSP430 firmy TI, a także ARM, którego architektura jest rozwijana przez ARM i sprzedaje licencje innym firmom ich produkcja, cieszą się popularnością wśród deweloperów.

Projektując mikrokontrolery, należy zachować równowagę między rozmiarem i kosztem z jednej strony, a elastycznością i wydajnością z drugiej. W przypadku różnych zastosowań optymalna równowaga tych i innych parametrów może się znacznie różnić. Dlatego istnieje ogromna liczba typów mikrokontrolerów, różniących się architekturą modułu procesora, wielkością i rodzajem wbudowanej pamięci, zestawem urządzeń peryferyjnych, rodzajem obudowy itp.

Częściowa lista urządzeń peryferyjnych, które mogą być obecne w mikrokontrolerach, obejmuje:

Uniwersalne porty cyfrowe, które można skonfigurować jako wejście lub wyjście;

Różne interfejsy I/O, takie jak UART, I²C, SPI, CAN, USB, IEEE 1394, Ethernet;

Przetworniki analogowo-cyfrowe i cyfrowo-analogowe;

komparatory;

Modulatory szerokości impulsu;

Timery, wbudowany generator zegara i timer watchdog;

Bezszczotkowe sterowniki silników;

Kontrolery wyświetlaczy i klawiatur;

Odbiorniki i nadajniki częstotliwości radiowych;

Tablice wbudowanej pamięci flash.

Sztuczna inteligencja to technologia, którą z pewnością zabierzemy ze sobą w przyszłość.

Opowiemy Ci, jak to działa i jakie fajne zastosowania znaleźliśmy.

😎 Dział Technologia ukazuje się co tydzień przy wsparciu re:Store.

Czym jest sztuczna inteligencja

Sztuczna inteligencja (AI) to technologia tworzenia inteligentnych programów i maszyn, które potrafią rozwiązywać twórcze problemy i generować nowe informacje w oparciu o istniejące informacje. W rzeczywistości sztuczna inteligencja ma na celu symulowanie działalności człowieka, która jest uważana za intelektualną.

Tradycyjnie wierzono, że kreatywność jest cechą charakterystyczną człowieka. Ale stworzenie sztucznej inteligencji zmieniło zwykły porządek rzeczy

Robot, który po prostu mechanicznie rąbie drewno, nie jest wyposażony w sztuczną inteligencję. Robot, który sam nauczył się rąbać drewno, patrząc na przykład człowieka lub kłody i jej części, i za każdym razem robi to lepiej, ma sztuczną inteligencję.

Jeśli program po prostu pobiera wartości z bazy danych według określonych zasad, to nie jest wyposażony w sztuczną inteligencję. Jeśli system po przeszkoleniu tworzy programy, metody i dokumenty rozwiązujące określone problemy, to ma AI.

Jak stworzyć system sztucznej inteligencji

W sensie globalnym musimy naśladować model ludzkiego myślenia. Ale w rzeczywistości konieczne jest stworzenie czarnej skrzynki – systemu, który w odpowiedzi na zestaw wartości wejściowych generuje wartości wyjściowe podobne do wyników ludzkich. A nas w zasadzie nie obchodzi, co dzieje się „w jej głowie” (między wejściem a wyjściem).

Systemy sztucznej inteligencji tworzone są w celu rozwiązywania określonej klasy problemów

Podstawą sztucznej inteligencji jest uczenie się, wyobraźnia, percepcja i pamięć

Pierwszą rzeczą, którą trzeba zrobić, aby stworzyć sztuczną inteligencję, jest opracowanie funkcji realizujących percepcję informacji, dzięki czemu można „zasilić” dane do systemu. Następnie - funkcje realizujące umiejętność uczenia się. Oraz przechowywanie danych, aby system mógł gdzieś przechowywać informacje, które otrzymuje w procesie uczenia się.

Następnie tworzone są funkcje wyobraźni. Mogą symulować sytuacje, korzystając z istniejących danych i dodawać do pamięci nowe informacje (dane i reguły).

Uczenie się może mieć charakter indukcyjny lub dedukcyjny. W wersji indukcyjnej system otrzymuje pary danych wejściowych i wyjściowych, pytania i odpowiedzi itp. System musi znaleźć powiązania między danymi, a następnie korzystając z tych wzorców znaleźć dane wyjściowe z danych wejściowych.

Podejście dedukcyjne (witaj, Sherlocku Holmesie!) wykorzystuje doświadczenie ekspertów. Jest ona przekazywana do systemu jako baza wiedzy. Istnieją nie tylko zbiory danych, ale także gotowe reguły, które pomagają znaleźć rozwiązanie warunku.

Nowoczesne systemy sztucznej inteligencji wykorzystują oba podejścia. Ponadto systemy są zwykle już przeszkolone, ale nadal się uczą w trakcie pracy. Dzieje się tak, aby program na początku wykazywał przyzwoity poziom umiejętności, ale w przyszłości stał się jeszcze lepszy. Wziąłem pod uwagę na przykład Twoje życzenia i preferencje, zmiany sytuacji itp.

W systemie sztucznej inteligencji można nawet ustawić prawdopodobieństwo nieprzewidywalności. Dzięki temu stanie się bardziej ludzki.

Dlaczego sztuczna inteligencja pokonuje człowieka

Przede wszystkim dlatego, że ma mniejsze prawdopodobieństwo błędu.

  • Sztuczna inteligencja nie może zapomnieć – ma pamięć absolutną.
  • Nie może przypadkowo zignorować czynników i zależności – każde działanie AI ma jasne uzasadnienie.
  • AI nie waha się, ale ocenia prawdopodobieństwa i skłania się ku temu większemu. Dlatego potrafi uzasadnić każdy swój krok.
  • AI też nie ma emocji. Oznacza to, że nie mają one wpływu na podejmowanie decyzji.
  • Sztuczna inteligencja nie poprzestaje na ocenie skutków bieżącego kroku, ale myśli kilka kroków do przodu.
  • Ma wystarczające zasoby, aby rozważyć wszystkie możliwe scenariusze.

Ciekawe zastosowania sztucznej inteligencji

Ogólnie rzecz biorąc, sztuczna inteligencja może zrobić wszystko. Najważniejsze jest prawidłowe sformułowanie problemu i dostarczenie mu danych wyjściowych. Ponadto sztuczna inteligencja może wyciągać nieoczekiwane wnioski i szukać wzorców tam, gdzie pozornie ich nie ma.

Odpowiedź na każde pytanie

Zespół naukowców pod kierownictwem Davida Ferrucciego opracował superkomputer o nazwie Watson z systemem odpowiadania na pytania. System, nazwany na cześć pierwszego prezesa IBM, Thomasa Watsona, potrafi rozumieć pytania w języku naturalnym i przeszukiwać bazę danych w poszukiwaniu odpowiedzi.

Watson integruje 90 serwerów IBM p750, każdy z czterema ośmiordzeniowymi procesorami o architekturze POWER7. Całkowita ilość systemowej pamięci RAM przekracza 15 TB.

Do osiągnięć Watsona należy zwycięstwo w „Jeopardy!” (Amerykańska „Gra własna”). Pokonał dwóch najlepszych zawodników: zdobywcę największych wygranych Brada Ruttera oraz rekordzistę najdłuższej passy bez porażki Kena Jenningsa.

Nagroda Watsona: 1 milion dolarów. To prawda, że ​​​​tylko w 2014 roku zainwestowano w to 1 miliard.

Ponadto Watson zajmuje się diagnostyką nowotworów, pomaga specjalistom finansowym i wykorzystuje się do analizy big data.

Rozpoznawanie twarzy

W iPhonie X rozpoznawanie twarzy rozwijane jest przy użyciu sieci neuronowych, czyli wersji systemu sztucznej inteligencji. Algorytmy sieci neuronowej zaimplementowane są na poziomie procesora A11 Bionic, dzięki czemu efektywnie współpracuje on z technologiami uczenia maszynowego.

Sieci neuronowe wykonują do 60 miliardów operacji na sekundę. To wystarczy, aby przeanalizować aż 40 tysięcy kluczowych punktów na twarzy i zapewnić niezwykle dokładną identyfikację właściciela w ułamku sekundy.

Nawet jeśli zapuścisz brodę lub założysz okulary, iPhone X Cię rozpozna. Po prostu nie bierze pod uwagę włosów i akcesoriów, ale analizuje obszar od skroni do skroni i od każdej skroni do wgłębienia pod dolną wargą.

Oszczędzanie energii

I znowu jabłko. iPhone X ma wbudowany inteligentny system monitorujący aktywność zainstalowanych aplikacji oraz czujnik ruchu, który pozwala zrozumieć Twoją codzienną rutynę.

Następnie na przykład iPhone X zaoferuje aktualizację w najdogodniejszym momencie. Wyłapie moment, kiedy masz stabilny Internet, a nie skaczący sygnał z masztów mobilnych, a Ty nie wykonujesz pilnych i ważnych zadań.

AI rozdziela także zadania pomiędzy rdzenie procesorów. W ten sposób zapewnia wystarczającą moc przy minimalnym zużyciu energii.

Tworzenie obrazów

Kreatywność, wcześniej dostępna tylko dla ludzi, jest teraz otwarta na sztuczną inteligencję. Tym samym system, stworzony przez badaczy z Rutgers University w New Jersey i laboratorium AI w Los Angeles, zaprezentował swój własny styl artystyczny.

A system sztucznej inteligencji Microsoftu potrafi rysować obrazy na podstawie ich opisu tekstowego. Na przykład, jeśli poprosisz sztuczną inteligencję o narysowanie „żółtego ptaka z czarnymi skrzydłami i krótkim dziobem”, będzie to wyglądać mniej więcej tak:

Takie ptaki mogą nie istnieć w prawdziwym świecie - tak je przedstawia nasz komputer.

Bardziej rozpowszechnionym przykładem jest aplikacja Prisma, która tworzy obrazy ze zdjęć:

Pisanie muzyki


W sierpniu sztuczna inteligencja Amper skomponowała, wyprodukowała i wykonała muzykę do albumu „I AM AI” (ang. I am Artificial Intelligence) wspólnie z piosenkarką Taryn Southern.

Amper został opracowany przez zespół profesjonalnych muzyków i ekspertów technologicznych. Zauważają, że sztuczna inteligencja ma pomagać ludziom w przyspieszaniu procesu twórczego.

AI może napisać muzykę w kilka sekund

Amper niezależnie stworzył struktury akordów i instrumenty w utworze „Break Free”. Ludzie tylko nieznacznie dostosowali styl i ogólny rytm.

Innym przykładem jest płyta muzyczna w duchu „Civil Defense”, do której teksty napisała AI. Eksperyment przeprowadzili pracownicy Yandexu Ivan Yamshchikov i Aleksiej Tichonow. Album 404 grupy „Neural Defense” został opublikowany w sieci. Okazało się w duchu Letowa:

Następnie programiści poszli dalej i zmusili sztuczną inteligencję do pisania poezji w duchu Kurta Cobaina. Muzyk Rob Carroll napisał muzykę do czterech najlepszych tekstów, a utwory zostały połączone w album Neurona. Nakręcili nawet teledysk do jednej piosenki – choć bez udziału AI:

Tworzenie tekstów

Pisarze i dziennikarze również mogą wkrótce zostać zastąpieni przez sztuczną inteligencję. Przykładowo do systemu Deweya wprowadzono książki z biblioteki Projektu Gutenberg, następnie dodano teksty naukowe z Google Scholar, uszeregowując je według popularności i tytułów, a także sprzedaży na Amazonie. Ponadto ustalili kryteria napisania nowej książki.

Serwis prosił ludzi o podejmowanie decyzji w trudnych sytuacjach: na przykład stawiał ich w sytuacji kierowcy, który może potrącić troje dorosłych lub dwójkę dzieci. W ten sposób Moral Machine został przeszkolony do podejmowania trudnych decyzji, które naruszają prawo robotyki, mówiące, że robot nie może skrzywdzić człowieka.

Do czego doprowadzi naśladowanie ludzi przez roboty z AI? Futuryści wierzą, że pewnego dnia staną się pełnoprawnymi członkami społeczeństwa. Przykładowo robot Sophia z hongkońskiej firmy Hanson Robotics otrzymał już obywatelstwo Arabii Saudyjskiej (podczas gdy zwykłe kobiety w tym kraju nie mają takiego prawa!).

Kiedy felietonista „New York Timesa”, Andrew Ross, zapytał Sophię, czy roboty są inteligentne i samoświadome, odpowiedziała pytaniem:

Pozwól, że w odpowiedzi zapytam: skąd wiesz, że jesteś człowiekiem?

Ponadto Sofia stwierdziła:

Chcę wykorzystać moją sztuczną inteligencję, aby pomóc ludziom żyć lepiej, na przykład projektować inteligentniejsze domy, budować miasta przyszłości. Chcę być empatycznym robotem. Jeśli będziesz mnie dobrze traktował, ja będę dobrze traktował ciebie.

A wcześniej przyznała, że ​​nienawidzi ludzkości, a nawet zgodziła się niszczyć ludzi...

Zastępowanie twarzy w filmach

Filmy Deepfake zaczęły masowo rozprzestrzeniać się w Internecie. Algorytmy sztucznej inteligencji zastąpiły twarze aktorów w filmach dla dorosłych twarzami gwiazd.

Działa to w ten sposób: sieć neuronowa analizuje fragmenty twarzy w oryginalnym filmie. Potem porównuje je ze zdjęciami z Google i filmami z YouTube, nakłada potrzebne fragmenty i… Twoja ulubiona aktorka trafia do filmu, którego lepiej nie oglądać w pracy.

PornHub zakazał już publikowania takich filmów

Deepfakes okazały się niebezpieczną rzeczą. Abstrakcyjna aktorka to jedno, a film przedstawiający Ciebie, Twoją żonę, siostrę, koleżankę, który równie dobrze mógłby zostać wykorzystany do szantażu, to drugie.

Handel giełdowy

Zespół naukowców z Uniwersytetu Erlangen-Norymberga w Niemczech opracował serię algorytmów, które wykorzystują historyczne dane rynkowe do replikowania inwestycji w czasie rzeczywistym. Jeden model zapewniał 73% zwrotu z inwestycji rocznie w latach 1992–2015, co można porównać z rzeczywistym zwrotem rynkowym wynoszącym 9% rocznie.

Kiedy rynek zatrząsł się w latach 2000 i 2008, zwroty osiągnęły rekordową wysokość odpowiednio 545% i 681%.

W 2004 roku Goldman Sachs uruchomił platformę transakcyjną Kensho opartą na sztucznej inteligencji. Oparte na sztucznej inteligencji systemy do handlu na giełdach pojawiają się także na rynkach kryptowalut – Mirocana itp. Są lepsi od traderów na żywo, ponieważ są pozbawieni emocji i polegają na jasnej analizie i rygorystycznych zasadach.

Czy AI zastąpi Ciebie i mnie?