Po co uczyć tylko algorytmów wyszukiwania na krótkim wstępnym kursie sztucznej inteligencji?


11

Zrozumiałem, że koncepcja wyszukiwania jest ważna w AI. Na tej stronie internetowej jest pytanie dotyczące tego tematu, ale można również intuicyjnie zrozumieć, dlaczego. Miałem kurs wprowadzający na temat sztucznej inteligencji, który trwał przez pół semestru, więc oczywiście nie było czasu na omówienie wszystkich tematów sztucznej inteligencji, ale spodziewałem się nauczyć trochę teorii sztucznej inteligencji (słyszałem o „agentach”) ”), ale tak naprawdę nauczyłem się kilku algorytmów wyszukiwania, takich jak:

  • BFS
  • Wyszukiwanie według jednolitych kosztów
  • DFS
  • Wyszukiwanie pogłębiające iteracyjnie
  • Wyszukiwanie dwukierunkowe

te algorytmy wyszukiwania są zazwyczaj klasyfikowane jako „ślepe” (lub „niedoinformowane”), ponieważ nie uwzględniają żadnych informacji dotyczących pozostałej ścieżki do celu.

Lub algorytmy takie jak:

  • Wyszukiwanie heurystyczne
  • Najlepsze wyszukiwanie
  • ZA
  • ZA*
  • IDA *

które zwykle należą do kategorii „świadomych” algorytmów wyszukiwania, ponieważ wykorzystują pewne informacje (tj. „heurystykę” lub „oszacowania”) na temat pozostałej ścieżki do celu.

Następnie nauczyliśmy się także „zaawansowanych” algorytmów wyszukiwania (specjalnie stosowanych do problemu TSP). Algorytmy te są albo konstruktywne (np. Najbliższy sąsiad), lokalne algorytmy wyszukiwania (np. 2-opt) lub metaheurystyczne (np. System kolonii mrówek lub symulowane wyżarzanie).

Przebadaliśmy również krótko algorytm min-max zastosowany do gier i „ulepszoną” wersję min-max, tj. Przycinanie alfa-beta.

Po tym kursie miałem wrażenie, że AI polega tylko na wyszukiwaniu, „głupio” lub „inteligentniej”.

Moje pytania to:

  • Dlaczego jeden profesor miałby uczyć algorytmów wyszukiwania tylko na kursie AI? Jakie są zalety / wady? Następne pytanie jest z tym bardzo związane.

  • Co więcej niż „wyszukiwanie” w sztucznej inteligencji, którego można nauczyć się na kursie wprowadzającym? To pytanie może prowadzić do subiektywnych odpowiedzi, ale tak naprawdę pytam w kontekście osoby, która próbuje zrozumieć, czym naprawdę jest AI i jakie tematy ona naprawdę obejmuje. Najwyraźniej i niestety po przeczytaniu wydaje się, że byłoby to nadal subiektywne.

  • Czy są jakieś teorie sztucznej inteligencji, których można nauczyć na tego rodzaju kursach?


Prawdopodobnie powinieneś zmienić swoje twierdzenie, że wymienione algorytmy wyszukiwania nazywane są „ślepymi” - ponieważ to źle. „ślepy” jest zwykle używany jako synonim bycia „niedoinformowanym”. Jednak wyszukiwanie A *, IDA * i wyszukiwanie heurystyczne są z definicji „świadomymi” algorytmami wyszukiwania (ponieważ opierają się na heurystyce ”, więc nie są ślepe. Ponadto, czy jesteś pewien, że„ algorytm A ”istnieje? Znam tylko A * i nie mogłem znaleźć żadnej wzmianki o tym algortihmie w sieci. Gdyby rzeczywiście istniał, link byłby miły (może w komentarzach).
Prof.Chaos

@ Prof.Chaos Algorytm A jest A *, jeśli nie wiesz, że heurystyka jest optymalna. Rzeczywiście * w A * powinno wywoływać coś w naszych głowach. Jeśli chodzi o argument „ślepy”, prawdopodobnie niesprawiedliwe jest uznawanie A * za ślepe jak BFS lub DFS, więc zgadzam się z tobą.
nbro

Odpowiedzi:


8

Istnieje wiele nieporozumień na temat sztucznej inteligencji, w szczególności pomysł, że chodzi o to, aby komputery „myślały” jak ludzie, symulując mózg, roboty science fiction przejmujące świat, wszystkie filozoficzne dyskusje wokół mózgu jako maszyny itp. Praktyka / rzeczywistość AI to „używanie komputera do rozwiązywania problemów”, co w zasadzie oznacza, że ​​bierzesz jakikolwiek problem, reprezentujesz go jako problem komputerowy, a następnie projektujesz algorytm do rozwiązania problemu komputerowego, który prowadzi do rozwiązania pierwotnego problemu. Te algorytmy wyszukiwania są algorytmami ogólnego przeznaczenia dla problemów obliczeniowych ogólnego przeznaczenia, tzn. Każdy problem rzeczywisty może być reprezentowany przez ten problem obliczeniowy ogólnego zastosowania, a następnie algorytmy te można wykorzystać do ich rozwiązania.

Pamiętaj, że chodzi o rozwiązywanie problemów i problemy z obliczeniami ogólnego przeznaczenia, które mogą reprezentować każdy problem w świecie rzeczywistym.


6

Sprowadza się to do tego, że większość problemów z AI można scharakteryzować jako problemy z wyszukiwaniem. Przejrzyjmy tylko kilka przykładów:

  • Rozpoznawanie obiektów i budowanie sceny (np. Proces pobierania audiowizualnego otoczenia i rozumienia go w 3D i kontekście) można traktować jako wyszukiwanie znanych obiektów na wejściu.
  • Rozwiązywanie problemów matematycznych można traktować jako poszukiwanie rozwiązania.
  • Granie w grę wideo można traktować jako poszukiwanie prawidłowej odpowiedzi na dany gamestate.

Nawet podstawowe chatboty można scharakteryzować jako znalezienie „poprawnej” odpowiedzi na dane wyrażenie wejściowe w celu naśladowania ludzkiego języka!

Z powodu tego uogólnienia wyszukiwania algorytmy wyszukiwania były jednymi z pierwszych algorytmów uważanych za „sztuczną inteligencję” i często stanowią podstawę wielu kursów nauczania sztucznej inteligencji. Oprócz tego algorytmy wyszukiwania są intuicyjne i niematematyczne, co czyni dostęp do nieco przerażającego pola sztucznej inteligencji. Może to zabrzmieć jak hiperbola, ale gwarantuję, że gdyby twój wykładowca otworzył Manifold Learning Techniques, połowa twojej klasy rzuciłaby się do drzwi, zanim wspomniałaby o „wartości własnej macierzy kowariancji”.

Teraz algorytmy wyszukiwania nie są jedynym sposobem rozwiązania tych problemów. Polecam każdemu ćwiczącemu AI znajomość pojęcia nauki danych i algorytmów uczenia maszynowego. ML jest często związany z algorytmami wyszukiwania, ale stosowane przez nich techniki mogą się znacznie różnić od iteracyjnego budowania klasyfikatora / regresji (np. C4.5 buduje drzewo decyzyjne), metaheurystyki, jak zauważyłeś, oraz klasyfikatorów / regresji, które są generowane statycznie z analiza danych treningowych (np. Naive Bayesian jest dosłownie klasyfikatorem zbudowanym na podstawie bayesowskiej analizy danych, zakładając, że pola wejściowe są niezależne - to jest „naiwność”, od której pochodzi nazwa). Często algorytmy ML są opracowywane w grupach badawczych AI i czasami mogą być zaprojektowane dla konkretnych problemów zamiast być ogólnymi algorytmami postaci.


4

Dlaczego jeden profesor miałby uczyć algorytmów wyszukiwania tylko na kursie AI? Jakie są zalety / wady?

Moja odpowiedź na to pytanie jest taka, że ​​istnieje wiele problemów, w których można znaleźć rozwiązanie za pomocą wyszukiwania. Weź przykład Kółko i krzyżyk. Jeśli projektujesz do tego inteligentny odtwarzacz komputerowy, wówczas utworzysz przestrzeń poszukiwań, a następnie wyszukasz najbardziej optymalny ruch, który można wykonać, aby zakończyć grę. W tych scenariuszach musisz znać optymalne strategie wyszukiwania. Weźmy inny przykład, załóżmy, że jeśli prowadzisz samochód i chcesz dostać się do domu nieznanej osoby. Jest daleko od twojego miejsca i decydujesz się na GPS. Twój GPS użyje algorytmów wyszukiwania, aby znaleźć najbardziej optymalną trasę, którą możesz dotrzeć do celu (oczywiście będzie wiele czynników, które należy wziąć pod uwagę, takich jak ruch drogowy itp., Ale to jest podstawowy pomysł).

Wady dotyczą tylko przetwarzania i przechowywania. W przypadku wolnych algorytmów marnujesz dużo czasu procesora i pamięci, ale w przypadku dobrych i wydajnych algorytmów możesz zachować dużo miejsca, a także bardzo szybko wykonać swoje zadanie. Oczywiście sama nauka o wyszukiwaniu nie jest sztuczną inteligencją. Jest o wiele więcej.

Co więcej niż „wyszukiwanie” w sztucznej inteligencji, którego można nauczyć się na kursie wprowadzającym?

W AI jest wiele rzeczy innych niż wyszukiwanie. Na przykład techniki uczenia się (nadzorowane, nienadzorowane, wzmocnione), planowanie, kiedy chce się zaprojektować system, który wykona określone działania niezależnie i inteligentnie, reprezentacja wiedzy (znana i nieznana) oraz wnioskowanie w agentach, które obejmuje logikę zdań i pierwszego rzędu logika itp.

Czy są jakieś teorie dotyczące sztucznej inteligencji, których można by nauczyć w ten sposób?

Niektórych tematów można nauczyć, takich jak różne typy agentów (prosty refleks, model, cel, narzędzie i uczący się), różne typy środowisk, w których działają agenci, ocena agentów. Mogą istnieć dodatkowe tematy wprowadzające, takie jak przetwarzanie języka naturalnego, systemy eksperckie itp.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.