2011-12-21 11 views

Odpowiedz

7

Nie jestem zachwycony z wierszami, że Russell i Norvig narysować, ale: Generalnie, gdy używasz technik sztucznej inteligencji w celu rozwiązania problemu, będziesz miał zaprogramowany model sytuacji. Atomic/factored/structured to jakościowa miara tego, ile "wewnętrznej struktury" mają te modele, od najmniej do większości.

Modele atomowe nie mają struktury wewnętrznej; państwo albo ma, albo nie pasuje do tego, czego szukasz. Na przykład w układaniu płytek z układaniem płytek masz właściwe wyrównanie płytek, albo nie.

Modele fakultatywne mają bardziej wewnętrzną strukturę, chociaż dokładnie to, co będzie zależeć od problemu. Zwykle analizujesz zmienne lub dane o wydajności, które Cię interesują; w przesuwanej układance może to być prosta heurystyka, jak "liczba płytek nie na miejscu" lub "suma odległości manhattenów".

Modele strukturalne mają jeszcze więcej; ponownie, dokładnie to, co zależy od problemu, ale często są to relacje między składnikami modelu a samymi składnikami modelu lub komponentami środowiska.

Jest to bardzo proste, zwłaszcza gdy patrzy się na bardzo proste problemy, takie jak przesuwane kafelki, nieświadomie wykonuje całą trudną inteligencję samodzielnie, na pierwszy rzut oka i zapomina, że ​​model nie ma pełnego wglądu. Na przykład, jeśli miałbyś stworzyć program do wyszukiwania wykresów na przesuwanej łamigłówce, prawdopodobnie zrobiłbyś silnik, który wziąłby jako wejście stan łamigłówki i akcję, i wygenerował z tego nowy stan układanki. Stany puzzli są wciąż atomowe, ale programistaużywa znacznie bardziej szczegółowego modelu, aby połączyć te wejścia i wyjścia razem.

+0

Piszą w tajemniczy sposób. Tak więc model atomowy jest strukturą środowiskową, w której brakuje poziomu szczegółów, których agent może wymagać. tzn. nie można odróżnić jazdy z jednego miasta na inne czynniki, takie jak wskaźnik paliwa w samochodzie i przyspieszeniomierz, definiując definicję problemu z powodu niejasności, czy jest to prawidłowe? W związku z tym reprezentacja czynników udostępnia agentom te szczegóły. Czy model strukturalny definiuje relacje między działaniami a stanami w środowisku? – Hmm

+1

To jest szorstka łatka w niezbyt mocnej książce, według mnie. Jest to problem z kurczakiem i jajkiem, ponieważ prawdopodobnie nie można docenić ich struktury, dopóki nie zostanie zastosowana; ale po prostu widząc, że to zastosowało, struktura może ci się nie przydarzyć. Robią więc, co mogą - wskazują na to wcześniej, podają przykłady, a następnie wyczerpująco traktują przykłady w kolejnych rozdziałach. – Novak

1

Podoba mi się wyjaśnienie podane przez Novak. Moje 2 centy mają na celu wyjaśnienie różnicy między factored a o strukturze. Oto wyciąg z definicji:

  • Reprezentacja atomowa to taka, w której każdy stan jest traktowany jako czarna ramka.
  • Faktyczna reprezentacja to taka, w której stany są zdefiniowane przez zestaw funkcji.
  • Strukturalne przedstawienie to takie, w którym państwa są wyrażane w postaci obiektów i relacji między nimi. Taka wiedza o związkach zwana faktami.

Przykłady:

atomicState == goal: Y/N // Is goal reached? 

Jest tylko pytanie możemy zadać do czarnej skrzynki.

factoredState{18} == goal{42}: N // Is goal reached? 
diff(goal{42}, factoredState{18}) = 24 // How much is difference? 
// some other questions. the more features => more type of questions 

Najprostszy stan faktoryczny musi mieć co najmniej jedną cechę (pewnego rodzaju), dzięki czemu możemy zadawać więcej pytań. Normalnie określa ona różnicę ilościową między stanami. Przykład ma jedną cechę typu integer.

[email protected]{John(Math=A-), Marry(Music=A+), Job1(doMath)..} == goal{50% ready for jobs} 

Kluczowy tutaj - ustrukturyzowana reprezentacja, pozwala na wyższy poziom formalnego logicznego rozumowania przy wyszukiwaniu. Zobacz First-Order Logic @berkley dla informacji wprowadzających.

Temat ten łatwo wprawia w zakłopotanie praktyka (szczególnie początkującego), ale ma sens w porównywaniu różnych algorytmów wyszukiwania celów. Taka "światowa" klasyfikacja reprezentacji stanów logicznie rozdziela algorytmy na różne klasy. Bardzo przydatne jest rysowanie linii w badaniach akademickich i porównywanie jabłek z jabłkami, gdy rozważa się je akademickim.