Heurystyka (logika)
Heurystyka to praktyczny sposób na rozwiązanie problemu. Jest lepszy niż przypadek, ale nie zawsze się sprawdza. Człowiek rozwija heurystykę, wykorzystując inteligencję, doświadczenie i zdrowy rozsądek. Metoda prób i błędów jest najprostszą heurystyką, ale jedną z najsłabszych. Zasada kciuka i "wykształcone przypuszczenia" to inne nazwy prostych heurystyk. Ponieważ heurystyka nie daje pewności uzyskania wyniku, zawsze istnieją wyjątki.
Czasami heurystyki są dość niejasne: "spójrz zanim skoczysz" jest wskazówką dotyczącą zachowania, ale "pomyśl o konsekwencjach" jest nieco bardziej przejrzyste. Czasami heurystyka to cały zestaw etapów. Kiedy lekarze badają pacjenta, przechodzą przez cały zestaw testów i obserwacji. Być może nie dowiedzą się, co jest nie tak, ale dają sobie największe szanse na sukces. Nazywa się to diagnozą.
W informatyce, "heurystyka" jest rodzajem algorytmu. Algorytmy są pisane w celu uzyskania dobrego rozwiązania problemu. Algorytm heurystyczny może zwykle znaleźć całkiem dobre rozwiązania, ale nie ma gwarancji ani dowodu, że rozwiązania te są poprawne. Kolejnym czynnikiem jest czas potrzebny do uruchomienia algorytmu.
Tło
Heurystyka to sztuka znajdowania odpowiedniego rozwiązania problemu, przy wykorzystaniu ograniczonej wiedzy i niewielkiej ilości czasu. Bardziej formalnie, heurystyki są oparte na doświadczeniu; mogą one przyspieszyć poszukiwanie rozwiązania przy użyciu prostych reguł. Pełne poszukiwanie może trwać zbyt długo lub może być zbyt trudne do wykonania.
W bardziej precyzyjnym ujęciu, heurystyka to strategia wykorzystująca łatwo dostępne, choć luźno stosowane, informacje do sterowania rozwiązywaniem problemów u ludzi i maszyn.
Heurystyki mogą być stosowane w niektórych dziedzinach nauki, ale nie w innych: W ekonomii rozwiązanie, które jest o jeden procent błędne, jest często do przyjęcia; teleskop, który ma błąd jednego stopnia, jest prawdopodobnie bezużyteczny, jeśli jest skierowany na odległy obiekt. Ten sam teleskop skierowany na okno po drugiej stronie ulicy prawdopodobnie będzie tolerował ten błąd; brak jednego stopnia nie będzie miał dużego wpływu na niewielką odległość.
Heurystyka może być używana do szacowania odpowiedzi, która następnie staje się bardziej zrozumiała dzięki dokładnemu rozwiązaniu w bardzo małej skali, być może w celu zaoszczędzenia czasu, pieniędzy lub pracy przy projekcie - na przykład heurystyczne przypuszczenie, jak duży ciężar ma przenieść most, może być użyte do określenia, czy most powinien być wykonany z drewna, kamienia czy stali, a odpowiednie ilości potrzebnego materiału mogą być zakupione, podczas gdy dokładny projekt mostu jest ukończony.
Jednak stosowanie heurystyki w niektórych bardzo technicznych dziedzinach może być szkodliwe - przykładem jest informatyka. Zaprogramowanie komputera do wykonywania mniej lub bardziej pożądanych działań może spowodować poważne błędy. Dlatego zadania komputerowe muszą być na ogół dość dokładne. Istnieją jednak pewne obszary, w których komputery mogą bezpiecznie obliczać rozwiązania heurystyczne - na przykład technologia wyszukiwania Google w dużym stopniu opiera się na heurystyce, tworząc "prawie-niepotrzebne" dopasowania do zapytania, gdy nie można znaleźć dokładnego dopasowania. Umożliwia to użytkownikowi skorygowanie błędów, które wystąpiły w wyniku wyszukiwania. Przykład: Szukając nazwiska "Peter Smith" i nie mogąc znaleźć tego dokładnego nazwiska, wyszukiwarka heurystycznie dopasowuje "Pete Smith" zamiast tego, a osoba korzystająca z wyszukiwarki musi zdecydować, czy Pete i Peter to ta sama osoba.
Przykłady
Polya
Oto kilka innych powszechnie stosowanych heurystyk, pochodzących z książki Polya'a z 1945 roku, How to Solve It:
- Jeśli masz trudności ze zrozumieniem problemu, spróbuj narysować obrazek.
- Jeśli nie możesz znaleźć rozwiązania, spróbuj założyć, że masz rozwiązanie i zobacz, co możesz z tego wywnioskować ("praca wstecz").
- Jeśli problem jest abstrakcyjny, spróbuj przeanalizować konkretny przykład.
- Spróbuj najpierw rozwiązać bardziej ogólny problem: "paradoks wynalazcy": ambitniejszy plan może mieć większe szanse powodzenia.
Problem z pakowaniem
Jednym z przykładów, gdzie heurystyka jest przydatna, jest pewnego rodzaju problem z pakowaniem. Problem ten polega na spakowaniu pewnej liczby przedmiotów. Istnieją reguły, które muszą być przestrzegane. Na przykład, każdy przedmiot ma swoją wartość i wagę. Problemem jest teraz zebranie najbardziej wartościowych przedmiotów, o jak najmniejszej wadze. Innym przykładem jest zmieszczenie pewnej liczby przedmiotów o różnych rozmiarach w ograniczonej przestrzeni, np. w bagażniku samochodu.
Aby uzyskać idealne rozwiązanie problemu, należy wypróbować wszystkie możliwości. To często nie jest dobra opcja, ponieważ próbowanie ich zajmuje dużo czasu, a średnio połowa możliwości musi być wypróbowana, dopóki nie znajdzie się rozwiązania. Więc co większość ludzi zrobi jest zaczynać od największego elementu, dopasowywać je w, i wtedy próbować układać innych elementy wokoło ono. To da dobre rozwiązanie, przez większość czasu. Istnieją jednak przypadki, w których takie rozwiązanie jest bardzo złe i należy zastosować inną technikę.
Jest to zatem rozwiązanie heurystyczne.
![Przykład problemu z pakowaniem. Jest to jednowymiarowy (z ograniczeniami) problem plecaka Knapsack: które pudełka wybrać, aby zmaksymalizować ilość pieniędzy i utrzymać całkowitą wagę poniżej 15 kg? Problem wielowymiarowy mógłby uwzględniać gęstość lub wymiary pudełek, przy czym to ostatnie jest typowym problemem pakowania. (Rozwiązaniem w tym przypadku jest wybranie wszystkich pudełek oprócz zielonego).](https://alegsaonline.com/image/250px-Knapsack.svg.png)
![Zoom](https://www.alegsaonline.com/zoom.png)
Przykład problemu z pakowaniem. Jest to jednowymiarowy (z ograniczeniami) problem plecaka Knapsack: które pudełka wybrać, aby zmaksymalizować ilość pieniędzy i utrzymać całkowitą wagę poniżej 15 kg? Problem wielowymiarowy mógłby uwzględniać gęstość lub wymiary pudełek, przy czym to ostatnie jest typowym problemem pakowania. (Rozwiązaniem w tym przypadku jest wybranie wszystkich pudełek oprócz zielonego).
Pytania i odpowiedzi
P: Czym jest heurystyka?
O: Heurystyka to praktyczny sposób na rozwiązanie problemu, który jest lepszy niż przypadek, ale nie zawsze działa.
P: Jak powstają heurystyki?
O: Osoba opracowuje heurystykę, wykorzystując inteligencję, doświadczenie i zdrowy rozsądek.
P: Jaka jest najprostsza heurystyka?
O: Najprostszą heurystyką jest metoda prób i błędów.
P: Jakie są inne nazwy prostych heurystyk?
O: Inne nazwy prostych heurystyk to reguła kciuka i "wykształcone przypuszczenia".
P: Czy zawsze istnieją wyjątki od heurystyki?
O: Tak, ponieważ heurystyka nie daje pewności uzyskania wyniku, zawsze istnieją wyjątki.
P: Czym jest diagnoza w medycynie?
O: Diagnoza to cały zestaw etapów, przez które przechodzą lekarze podczas badania pacjenta, aby dać sobie jak największe szanse na sukces.
P: Co to jest "heurystyka" w informatyce?
O: W informatyce heurystyka jest rodzajem algorytmu, który zwykle może znaleźć całkiem dobre rozwiązania, ale nie ma gwarancji ani dowodu, że rozwiązania są poprawne.