13 heurystyki

background image

Heurystyki

background image

Heurystyki

Definicja

Przeszukiwanie heurystyczne jest
procesem poszukiwania żądanego
stanu spełniającego zadane warunki
W zadaniach przeszukiwania mianem
“heurystyczne” określa się wszelkie
prawa, kryteria i zasady (również
takie których skuteczność nie jest
całkowicie pewna), które umożliwiają
wybranie najbardziej efektywnych
kierunków działania, jeśli chodzi o
osiągnięcie danego celu.

background image

Heurystyki

Termin: heurystyka

Termin heurystyka jest rozumiany w
zagadnieniach sztucznej inteligencji
następująco.

Jest to praktyczna strategia poprawiająca

efektywność złożonych problemów.

Powinna prowadzić do rozwiązania wzdłuż

najkrótszej i najbardziej prawdopodobnej
drogi omijając mniej obiecujące ścieżki

Podaje proste kryterium wyboru kierunków

postępowania.

Powinna umożliwić uniknięcie badania tzw.

Ślepych uliczek i wcześniejsze wykorzystanie
zdobytych w trakcie badania informacji

background image

Heurystyki

Rozwiązywanie problemu: taktyka postępowania

Precyzyjna definicja problemu.

Punkt startu

Punkt docelowy

Analiza problemu.

Określenie i reprezentacja wiedzy

potrzebnej do rozwiązania problemu

Wybór i zastosowanie najlepszej

techniki rozwiązania problemu.

background image

Heurystyki

Analiza problemu: gra w szachy

Punkt wyjścia:

background image

Heurystyki

Analiza problemu: gra w szachy

Punkt decelowy: definicja
wszystkich sytuacji w których
przeciwnik nie może wykonać
ruchu królem.

background image

Heurystyki

Analiza problemu: gra w szachy

Definicja wszystkich możliwych
ruchów określa wszystkie możliwe
kombinacje posunięć tak aby z
punkty wyjściowego dojść do
któregoś z punktów docelowych.

background image

Heurystyki

Gra w szachy definicja ruchów

background image

Heurystyki

Analiza problemu: gra w szachy

Pionek jest w
Pole(e,2)
i
Pole(e,3) jest
puste
i
Pole(e,4) jest
puste

=
>

Przesuń
pionek z
Pole(e,2) do
Pole(e,4)

background image

Heurystyki

Gra w szachy: problemy

Trudność w zdefiniowaniu wszystkich

reguł. Może to trwać zbyt długo.

Problem uwzględnienia tych reguł

przez program komputerowy (zasoby
efektywność)

background image

Heurystyki

Zbiorniki z wodą: opis problemu

Problem zbiorników z wodą:

Są dwa zbiorniki o pojemności 3 i 4
litrów. Należy tak napełnić zbiorniki
wodą aby w zbiorniku 4 litrowym
znajdowały się dokładnie dwa litry wody.
Można przelewać wodę między
zbiornikami.

background image

Heurystyki

Zbiorniki z wodą: opis problemu

Stany przestrzeni mogą być opisane
jako:
(x,y)

X= 0,1,2,3,4
Y= 0,1,2,3

Punkt wyjścia - (0,0)
Punkt docelowy - (2,0)

background image

Heurystyki

Zbiorniki z wodą: stany przestrzeni

1. Jeśli X<4
2. Jeśli Y<3
3. Jeśli X>0
4. Jeśli Y>0
5. Jeśli X>0
6. Jeśli Y>0
7. Jeśli X+Y>=4 i
Y>0

8. Jeśli X+Y>=3 i
X>0

9. Jeśli X+Y<=4 i
X>0
10. Jeśli X+Y<=3
X>0
11. (0,2)
12. (2,Y)

-> (4,Y)
-> (X,3)
->(X-d,Y)
->(X,Y-d)
->(0,Y)
->(X,0)
->(4,Y-(4-
X))

->(X-(3-
Y),3)

->(X+Y,0)
->(0,X+Y)
->(2,0)
->(0,Y)

Napełnij poj. 4 L
Napełnijpoj 3L
Wylej trochę wody z
poj 4L
Wylej troche wody z
poj 3L
Opróżnij poj. 4L
Opróżnij poj. 3L
Przelej wodę z poj. 3L
do poj 4L dopóki nie
będzie pełen
Przelej wodę z poj 4L
do poj 3L dopóki nie
będzie pełen
Przelej wodę z 3L do
4L
Przelej wodę z 4L do
3L
Przelej 2L z 3L do 4L
Wylej 2L z poj. 4L

background image

Heurystyki

Zbiorniki z wodą: opis problemu

Woda w poj.
4L

0

0

3

3

4

0

2

Woda w poj.
3L

0

3

0

3

2

2

0

Reguła

2

9

2

7

5

9 lub
11

background image

Heurystyki

Strategie przeszukiwania przestrzeni rozwiazań

Postęp

Systematyczność

Wymagania:

background image

Heurystyki

Strategie przeszukiwania: klasyfikacja

Strategie ślepe

Strategia wszerz

Strategia w głąb

Strategia z powracaniem

Strategie heurystyczne

Strategia zachłanna (hill-climbing)

Strategia najpierw najlepszy (best-first)

Strategia A

*

background image

Heurystyki

Strategie przeszukiwania: strategia wszerz

Strategia wszerz (breadh-first),
zakłada badanie kolejno poziomów
grafu o jednakowej głębokości,
przyznając wyższy priorytet węzłom o
mniejszej głębokości.

background image

Heurystyki

Strategie przeszukiwania: strategia wszerz

W pamięci przechowywane są

wszystkie węzły o danej głebokości
przed wygenerowaniem
jakiegokolwiek węzła o głębokości o
jeden większej

W strategii tej występują duże

wymagania dotyczace pamięci

background image

Heurystyki

Strategie przeszukiwania: strategia wszerz

(0,0
)

(4,0
)

(0,3
)

(4,3
)

(0,0
)

(1,3
)

(4,3
)

(0,0
)

(3,0
)

background image

Heurystyki

Strategie przeszukiwania: strategia w głąb

Strategia w głąb (depth-first)- droga w
grafie jest wyznaczana dopóty dopóki
jej ostatni element nie zostanie
określony jako węzeł celu lub końcowy.
Przeszukiwanie jest zawsze
prowadzone od ostatniego
sprawdzanego węzła, którego nie
wszystkie gałęzie były jeszcze
rozwijane.

background image

Heurystyki

Strategie przeszukiwania: strategia w głąb

(0,0
)

(4,0
)

(4,3
)

(0,0
)

(1,3
)

(0,3
)

(4,3
)

(0,0
)

(3,0
)

background image

Heurystyki

Strategie przeszukiwania: strategia w głąb

W przypadku grafów o dużej

głębokości może być nieskuteczna

Jest często uzupełniana

mechanizmem kontroli głębokości

Jest właściwa dla tych problemów

dla których ocena właściwości
węzłów zależy ścisle od oceny
właściwości ich rodziców

W pamięci są przechowywane

tylko węzły z aktualnie badanej
ścieżki grafu

Oszacowane koszty tej strategii

nie są zazwyczaj osiągane w
rzeczywistości

background image

Heurystyki

Strategie przeszukiwania: strategia z powracaniem

Strategia z powracaniem (backtracking)
jest modyfikacją algorytmu
przeszukiawania w głąb. Różnica polega
na tym że ekspansja danego węzła jest
zastąpiona jego rozszerzaniem
(generowaniem tylko jednego potomka).

background image

Heurystyki

Strategie przeszukiwania: strategia z powracaniem

Oszczędność pamięci

Gwarancja że po zakończeniu

wszystkie wygenerowane węzły będą
przetestowane

Oszczędność pamięci odbywa się

kosztem dodatkowych obliczeń

background image

Heurystyki

Strategie przeszukiwania: strategia zachłanna

(Hill-climbing)

1

Sprawdź punkt wyjściowy. Jeśli punkt

wyjściowy jest punktem docelowym zakończ. W
przeciwnym przypadku potraktuj punkt wyjściowy
jako bieżący

2

Wykonuj “w pętli” następujące operacje dopóki

nie znajdziesz rozwiązania, lub nie będzie więcej
operacji do przetwarzania

a

Wybierz nowy operator wynikajacy z stanu bieżącego

b

Analizuj operator

i

Jeśli jest to punkt docelowy to zakończ działanie

i

Jeśli nie jest to punkt docelowy ale jest lepszy niż stan bieżący

to zamień operator na stan bieżący

i

Jeśli operator nie jest lepszy niż stan bieżący to kontynuuj

“pętlę”

background image

Heurystyki

Strategie przeszukiwania: strategia najpierw najlepszy

Strategia najpierw najlepszy
wykorzystuje peweną funkcję
heurystyczną , która wyraża ocenę
węzła ze względu na następujące
kryteria:

Zbieżności czyli osiągnięcia celu

Najmniejszej złożoności obliczeniowej

procesu przeszukiwania

background image

Heurystyki

Strategie przeszukiwania: strategia najpierw najlepszy

1

Dodaj stan poczatkowy do zbioru stanów roboczych

R

2

Dopóki nie znaleziono rozwiązania lub zbiór R jest

pusty wykonuj:

a

Wybierz najlepszy stan ze zbioru R

b

Generuj jego węzły potomne

c

Dla każdego z węzłów potomnych wykonuj:

i

Jeżli nie był jeszcze generowany dodaj go do zbioru R i zapamiętaj

jego rodzica

i

Jeśli był już generowany. Sprawdź czy nowa ścieżka jest lepsza od

poprzedniej. Jeśli tak to sprawdzany węzeł zastępuje rodzica.

background image

Heurystyki

Strategie przeszukiwania: algorytm A

*

Algorytm polega na wyznaczeniu
najtańszej drogi w grafie

F(w) = h(w) + g(w)

gdzie
f(w) - koszt drogi
h(w) - koszt drogi łączącej węzęł w
z węzłem celu
g(w) - koszt drogi łączącej węzeł w
węzłem początkowym

background image

Heurystyki

Strategie przeszukiwania: algorytm A

*

Algorytm A

*

zakłada istnienie funkcji

heurystycznej pozwalającej okreslić
odłegłośc węzła w od stanu docelowego

background image

Heurystyki

Pojedynek Kasparow - Big Blue

1997 Gari Kasparow przegrywa
pojedynek szachowy z komputerem IBM
Big Blue.

background image

Heurystyki

Historia komputerowych systemów szachowych

1949 - opracowanie podstaw teoretycznych

automatu szachowego, Alan Turing, David
Champernown

1949 - Claude Shanon - konstrukcja maszyny

“Caissac” do rozwiązywania “końcówek
szachowych”

MADM (Manchaster Automatic Digital Machine)-

program zdolny do rozegrania całej partii. Autor -
Alan Turing

1956 - Maniac I - potrafił grać na podstawowym

poziomie

Lata 60-te - szachowe programy komputerowe

reprezentują poziom początkujących graczy

1967 - pierwszy pojedynek szachowy programów

komputerowych, pomiędzy USA i ZSRR - wynik
2.5:0.5

background image

Heurystyki

Historia komputerowych systemów szachowych

Początek lat 70-tych - problemem szachów

komputerowych zaczęło się interesować
amerykańskie towarzystwo ACM (Association for
Computing Machines)

1974 - mistrzostwa świata w kategorii szachów

komputerowych, wygrał program opracowany w
ZSRR przy udziale Michaiła Botwinnika (mistrza
świata z lat 1948, 1951, 1954, 1958, 1961)

Lata 80-te podejście techniczne

Początek lat 80-tych - komputer przewidujący do

4 ruchów do przodu (firma Bell)

Połowa lat 80-tych program Cray Blitz pracujący

na superkomputerze Cray mógł analizować 100
000 pozycji na sekundę.

background image

Heurystyki

Historia komputerowych systemów szachowych

1985 - Chińczyk Feng-Hsiung Hsu - opracował

specjalizowany układ scalony wielkiej integracji
(VLSI), mogący generować 2 mln ruchów
szachowych w ciągu sekundy

1987 - powstaje komputer ChipTest - potrafi

analizować 50 000 na sekundę (pracował na
stacji roboczej SUN 3/160)

1989 - prace badawcze w laboratorium IBM nad

zbudowaniem komputera , który pokona mistrza
świata. Powstaje Deep Thought II (2 mln pozycji na
sekundę)

Deep Blue - komputer przygotowany do

pokonania mistrza świata

background image

Heurystyki

Charakterystyka Deep Blue

256 specjalizowanych układow VLSI

Komputer IBM RS/6000 SP2, 32 procesory

Każdy z 32 węzłów systemu wykorzystywał kartę

microchannel wyposażoną w 8 dedykowanych
procesorów szachowych

Waga systemu 1.5 tony

background image

Heurystyki

1996 - pojedynek o mistrzostwo świata

Kasparow - Big Blue

Pojedynek składał się z trzech partii

I partia wygrywa Deep Blue

II partia wygrywa Kasparow

III ,IV partia remis

V i VI partia wygrywa Kasparow

background image

Heurystyki

1997 - pojedynek o mistrzostwo świata

Kasparow - Big Blue

6 partii

2 godziny dla kazdego z graczy na pierwsze 40

ruchów

30 minut ostateczny czas na wszystkie kolejne

ruchy

Deep Blue obsługiwany przez operatora

wskazanego przez IBM

Ewentualny czas awarii miał byc odliczany od

czasu ruchu komputera

background image

Heurystyki

1997 - pojedynek o mistrzostwo świata

Kasparow - Big Blue

1

- wygrywa Kasparow

2

- wygrywa Deep Blue

3

Remis

4

Remis

5

Remis

6

Kasparow poddaje się po 19 posunięciu

background image

Heurystyki

Technika gry Deep Blue

Początkowo - system ekspercki ktory

korzystając ze zgromadzonych zasobów wiedzy
szachowej miał wyliczać najlepszą odpowiedź na
ruch przeciwnika

Wykorzystanie złożonej funkcji oceny pozycji

na szachownicy. Funkcja oceny analizowała cztery
podstawowe wartości

Materialna (pion -1, skoczek i goniec - 3, wieża 5,

królowa 9

Pozycja na szachownicy (zliczanie bezpiecznych pól)

Bezpieczeństwo króla

Tempo gry

background image

Heurystyki

Blue Gene następca Big Blue

Masowe przetwarzanie równoległe

Wydajność ponad 1 petaflopa (kwadrylion

operacji na sekundę)

Przeznaczenie modelowanie występujace w

organizmach żywych (procesy zwijania białek)


Document Outline


Wyszukiwarka

Podobne podstrony:
13 ZMIANY WSTECZNE (2)id 14517 ppt
13 zakrzepowo zatorowa
Zatrucia 13
pz wyklad 13
13 ALUid 14602 ppt
pz wyklad 13
ZARZ SRODOWISKIEM wyklad 13
Biotechnologia zamkniete użycie (2012 13)
Prezentacja 13 Dojrzewanie 2
SEM odcinek szyjny kregoslupa gr 13 pdg 1
w 13 III rok VI sem
Wykład 13 UKS
fundusze 7 13
13 ZACHOWANIA ZDROWOTNE gr wtorek 17;00

więcej podobnych podstron