SlideShare una empresa de Scribd logo
1 de 33
Descargar para leer sin conexión
Wprowadzenie                       Wy˙ arzanie
                                     z                      Algorytmy genetyczne   Postscriptum




           Sztuczna Inteligencja i Systemy Ekspertowe
                  Algorytmy probabilistyczne.

                                           Aleksander Pohl
                                    http://apohllo.pl/dydaktyka/ai

                                   Wy˙ sza Szkoła Zarzadzania i Bankowo´ ci
                                     z                 ˛               s


                                                 4 czerwca 2009



Aleksander Pohl                                                                         WSZiB
Heurystyki. Algorytmy genetyczne
Wprowadzenie                       Wy˙ arzanie
                                     z           Algorytmy genetyczne   Postscriptum




Plan prezentacji


      Wprowadzenie


      Wy˙ arzanie
        z


      Algorytmy genetyczne


      Postscriptum




Aleksander Pohl                                                              WSZiB
Heurystyki. Algorytmy genetyczne
Wprowadzenie                       Wy˙ arzanie
                                     z           Algorytmy genetyczne   Postscriptum




Plan prezentacji


      Wprowadzenie


      Wy˙ arzanie
        z


      Algorytmy genetyczne


      Postscriptum




Aleksander Pohl                                                              WSZiB
Heurystyki. Algorytmy genetyczne
Wprowadzenie                       Wy˙ arzanie
                                     z            Algorytmy genetyczne   Postscriptum




Problemy NP-zupełne



          ◮    Klasa problemów z teorii zło˙ ono´ ci obliczeniowej
                                           z    s
          ◮    Problemy o czasie co najmniej wykładniczym
               ∃k : m(n) = O(k n )
                  ◮   Problem komiwoja˙ era
                                       z
                  ◮   Problem rozkładu liczby zło˙ onej na składowe
                                                 z




Aleksander Pohl                                                               WSZiB
Heurystyki. Algorytmy genetyczne
Wprowadzenie                       Wy˙ arzanie
                                     z                Algorytmy genetyczne   Postscriptum




Metody rozwiazania
             ˛



          ◮    Metody rozwiazywania:
                            ˛
                  ◮   Aproksymacje
                  ◮   Probabilistyczne
                  ◮   Rozpatrywanie szczególnych przypadków
                          ◮   Algorytmy z ustalonymi parametrami
                  ◮   Heurystyki




Aleksander Pohl                                                                   WSZiB
Heurystyki. Algorytmy genetyczne
Wprowadzenie                       Wy˙ arzanie
                                     z           Algorytmy genetyczne   Postscriptum




Algorytmy probabilistyczne



      Klasyczny algorytmy probabilistyczne:
          ◮    Metoda Monte-Carlo
          ◮    Wy˙ arzanie
                 z
          ◮    Algorytmy Genetyczne
          ◮    Algorytmy Mrówkowe




Aleksander Pohl                                                              WSZiB
Heurystyki. Algorytmy genetyczne
Wprowadzenie                       Wy˙ arzanie
                                     z           Algorytmy genetyczne   Postscriptum




Algorytmy probabilistyczne



          ◮    Metody ograniczone ze wzgledu na czas, dopuszczajace
                                         ˛                       ˛
               bład
                  ˛
                  ◮   Metody Monte-Carlo
          ◮    Metody nieograniczone ze wzgledu na czas, nie
                                            ˛
               dopuszczajace błedu
                          ˛    ˛
                  ◮   Metody Las-Vegas




Aleksander Pohl                                                              WSZiB
Heurystyki. Algorytmy genetyczne
Wprowadzenie                       Wy˙ arzanie
                                     z           Algorytmy genetyczne   Postscriptum




Metody Monte-Carlo („hill-climbing”)


          ◮    1930 – Fermi ; własno´ ci neutronu, projekt Manhattan
                                    s
          ◮    Całkowanie numeryczne
          ◮    Zagadnienia optymalizacyjne
          ◮    Losowanie markera w przestrzeni n-wymiarowej
          ◮    Marker w małym promieniu szuka kierunku spadku
               gradientu i przesuwany jest w takim kierunku
          ◮    Zagro˙ enie maksimami lokalnymi
                    z




Aleksander Pohl                                                              WSZiB
Heurystyki. Algorytmy genetyczne
Wprowadzenie                       Wy˙ arzanie
                                     z           Algorytmy genetyczne   Postscriptum




Metoda Monte-Carlo
                  s´
      Mała odporno´ c na lokalne maksima




      Rysunek: Wykres funkcji celu dla problemów o ró˙ nej
                                                     z
      charakterystyce

Aleksander Pohl                                                              WSZiB
Heurystyki. Algorytmy genetyczne
Wprowadzenie                       Wy˙ arzanie
                                     z           Algorytmy genetyczne   Postscriptum




Plan prezentacji


      Wprowadzenie


      Wy˙ arzanie
        z


      Algorytmy genetyczne


      Postscriptum




Aleksander Pohl                                                              WSZiB
Heurystyki. Algorytmy genetyczne
Wprowadzenie                       Wy˙ arzanie
                                     z           Algorytmy genetyczne   Postscriptum




Wy˙ arzanie („simulated annealing”)
  z



          ◮    Heurystyczna metoda probabilistyczna poszukiwania
               globalnego maksimum
          ◮    Analogia do „wy˙ arzania” w metalurgii łaczacej ogrzewanie
                               z                        ˛ ˛
               i chłodzenie materiału w celu zwiekszenia rozmiaru
                                                ˛
               kryształów oraz usuniecie defektów – poprzez
                                     ˛
               umo˙ liwienie atomom osiagniecia stanu ni˙ szej energii
                    z                    ˛ ˛              z




Aleksander Pohl                                                              WSZiB
Heurystyki. Algorytmy genetyczne
Wprowadzenie                       Wy˙ arzanie
                                     z                Algorytmy genetyczne   Postscriptum




Zasada działania

          ◮    Okre´ lamy norme/metryk˛ w przestrzeni stanów – energie
                   s          ˛       e                              ˛
          ◮                     ´
               Prawdopodobienstwo przej´ cia miedzy stanami jest
                                            s      ˛
               zale˙ ne od ró˙ nicy energii miedzy nimi oraz od
                   z         z                ˛
               temperatury
          ◮    δE < 0 : P(s) = 1
                                                 δE
          ◮    δE ≥ 0 : P(s) = e− T
          ◮    δE – ró˙ nica energii
                      z
          ◮    T – temperatura
          ◮                        ´
               P(s) – prawdopodobienstwo przej´ cia z jednego stanu do
                                              s
               innego


Aleksander Pohl                                                                   WSZiB
Heurystyki. Algorytmy genetyczne
Wprowadzenie                       Wy˙ arzanie
                                     z           Algorytmy genetyczne   Postscriptum




Charakterystyka temperaturowa


          ◮    T = 0 – algorytm zachłanny
          ◮    T = ∞ – algorytm losowy
          ◮    Istotny element – „chłodzenie”
          ◮    Rapid quenching
                  ◮   Szybka redukcja temperatury
                  ◮   Ponowne ogrzewanie




Aleksander Pohl                                                              WSZiB
Heurystyki. Algorytmy genetyczne
Wprowadzenie                       Wy˙ arzanie
                                     z           Algorytmy genetyczne   Postscriptum




Implementacja – pseudokod
      T := T0
      S := S0
      E := objective(S)
      k := 0
      while terminal condition not true
        Snew := move(S, T)
        Enew := objective(Snew )
        if Enew < E or
          random() < acceptor(Enew - E, T)
          S := Snew
          E := Enew
        T := schedule(T0, k)
        k := k + 1

Aleksander Pohl                                                              WSZiB
Heurystyki. Algorytmy genetyczne
Wprowadzenie                       Wy˙ arzanie
                                     z              Algorytmy genetyczne   Postscriptum




Implementacja – metody pomocnicze

          ◮    Objective() - oblicza energie
                                           ˛
                  ◮   Funkcja celu
          ◮    Move() - proponuje nowy stan (niezale˙ ne od
                                ˛                   z
               temperatury)
                  ◮   Losowy stan bliski dla stanu wyj´ ciowego
                                                      s
          ◮                                   ´
               Acceptor() podaje prawdopodobienstwo przej´ cia
                                                         s
                  ◮       1
                              δE
                      1+e k ∗T
          ◮    Schedule() podaje temperature w kroku k
                                           ˛
                  ◮   T = T0 ∗ c k , 0 < c < 1 (Metropolis)




Aleksander Pohl                                                                 WSZiB
Heurystyki. Algorytmy genetyczne
Wprowadzenie                       Wy˙ arzanie
                                     z           Algorytmy genetyczne   Postscriptum




Plan prezentacji


      Wprowadzenie


      Wy˙ arzanie
        z


      Algorytmy genetyczne


      Postscriptum




Aleksander Pohl                                                              WSZiB
Heurystyki. Algorytmy genetyczne
Wprowadzenie                       Wy˙ arzanie
                                     z           Algorytmy genetyczne   Postscriptum




Algorytmy genetyczne



          ◮    John Holland (1970) University of Michigan
          ◮    Dobrze sie nadaja do mieszanych dyskretno/ciagłych
                        ˛       ˛                           ˛
               problemów optymalizacyjnych
          ◮    Bardziej odporne na lokalne minima ni˙ metody bazujace
                                                    z              ˛
               na gradiencie




Aleksander Pohl                                                              WSZiB
Heurystyki. Algorytmy genetyczne
Wprowadzenie                       Wy˙ arzanie
                                     z           Algorytmy genetyczne   Postscriptum




Algorytmy genetyczne


          ◮    Stochastyczna metoda przeszukiwania przestrzeni
                     ˛ ´
               rozwiazan
          ◮    Operujaca nie na pojedynczych elementach ale na
                      ˛
               populacji stanów
          ◮    Stan zakodowany jest w postaci „chromosomu”
          ◮    Algorytm jest niezale˙ ny od reprezentacji
                                    z




Aleksander Pohl                                                              WSZiB
Heurystyki. Algorytmy genetyczne
Wprowadzenie                       Wy˙ arzanie
                                     z           Algorytmy genetyczne   Postscriptum




Terminologia


          ◮    Stan – chromosom, genotyp
          ◮    Pola stanu – allele
          ◮             ´
               Przestrzen rozpatrywanych stanów - populacja
          ◮    Operacje:
                  ◮   Selekcja
                  ◮   Krzy˙ owanie
                          z
                  ◮   Mutacja




Aleksander Pohl                                                              WSZiB
Heurystyki. Algorytmy genetyczne
Wprowadzenie                       Wy˙ arzanie
                                     z                   Algorytmy genetyczne   Postscriptum




Algorytm ogólny

          ◮    Stwórz populacje poczatkowa
                               ˛     ˛     ˛
          ◮    Iteratywnie wykonuj nastepujaca operacje (nazywana
                                       ˛    ˛ ˛       ˛           ˛
               pokoleniem) dopóki warunek stopu nie jest spełniony
                  ◮          z        ´
                      Sprawd´ stopien przystosowania ka˙ dego genotypu
                                                          z
                  ◮   Wybierz z populacji pare o okre´ lonym st. przystosowania
                                              ˛      s
                  ◮   Zastosuj do niej jedna z nastepujacych operacji:
                                            ˛      ˛    ˛
                          ◮   Krzy˙ owanie (crossover)
                                  z
                          ◮   Replikacje˛
                          ◮   Mutacje˛
                          ◮   Lokalna optymalizacje
                                      ˛           ˛
                  ◮   Dokonaj selekcji w ramach populacji



Aleksander Pohl                                                                      WSZiB
Heurystyki. Algorytmy genetyczne
Wprowadzenie                       Wy˙ arzanie
                                     z           Algorytmy genetyczne   Postscriptum




Kodowanie



          ◮    {0...7}
          ◮    binarnie
               {000, 001, 010, 011, 100, 101, 110, 111}
          ◮    kod Gray’a
               {000, 001, 011, 010, 110, 111, 101, 100}




Aleksander Pohl                                                              WSZiB
Heurystyki. Algorytmy genetyczne
Wprowadzenie                       Wy˙ arzanie
                                     z           Algorytmy genetyczne   Postscriptum




Krzy˙ owanie (liniowy genotyp)
    z

          ◮    Single-point
                  ◮   Parent 1: 11001|010
                  ◮   Parent 2: 00100|111
                  ◮   Offspring1: 11001|111
                  ◮   Offspring2: 00100|010
          ◮    Two-point
                  ◮   Parent 1: 110|010|10
                  ◮   Parent 2: 001|001|11
                  ◮   Offspring1: 110|001|10
                  ◮   Offspring2: 001|010|11




Aleksander Pohl                                                              WSZiB
Heurystyki. Algorytmy genetyczne
Wprowadzenie                       Wy˙ arzanie
                                     z             Algorytmy genetyczne   Postscriptum




Krzy˙ owanie (cd.)
    z


          ◮    Arithmetic
                  ◮   Offspring1 = a * Parent1 + (1 - a) * Parent2
                  ◮   Offspring2 = (1 - a) * Parent1 + a * Parent2
          ◮    Uniform Crossover (UX) – mymieniamy z
                             ´
               prawdopodobienstwem 50%
                  ◮   Parent 1: 11001010
                  ◮   Parent 2: 00100111
                  ◮   Offspring1: 10100011
                  ◮   Offspring2: 01001110




Aleksander Pohl                                                                WSZiB
Heurystyki. Algorytmy genetyczne
Wprowadzenie                       Wy˙ arzanie
                                     z           Algorytmy genetyczne   Postscriptum




Krzy˙ owanie (cd.)
    z



          ◮    Half Uniform Crossover (HUX) – wymieniamy dokładnie
               połowe (losowo) ró˙ niacych sie bitów
                     ˛           z ˛         ˛
                  ◮   Parent 1: 10111011
                  ◮   Parent 2: 10010011
                  ◮   Offspring 1: 10011011
                  ◮   Offspring 2: 10110011




Aleksander Pohl                                                              WSZiB
Heurystyki. Algorytmy genetyczne
Wprowadzenie                       Wy˙ arzanie
                                     z           Algorytmy genetyczne   Postscriptum




Krzy˙ owanie – permutacyjne genotypy
    z



          ◮    Order Crossover (OX) kopiujemy losowy odcinek z jednego
               rodzica, kopiujemy reszte zachowujac porzadek z drugiego
                                       ˛          ˛      ˛
               rodzica
                  ◮   Parent 1: 12|345|678
                  ◮   Parent 2: 87654321
                  ◮   Offspring: 34587621




Aleksander Pohl                                                              WSZiB
Heurystyki. Algorytmy genetyczne
Wprowadzenie                       Wy˙ arzanie
                                     z           Algorytmy genetyczne      Postscriptum




Krzy˙ owanie (cd.)
    z


          ◮    Partially mapped crossover (PMX) kopiujemy losowy
               odcinek z jednego rodzica, kopiujemy reszte z drugiego
                                                            ˛
               rodzica zachowujac pozycje, je´ li jest konflikt, bierzemy
                                ˛        ˛ s
               mapowanie z wycinka pierwszego rodzica
                  ◮   Parent 1: 12|345|678
                  ◮   Parent 2: 87|654|321
                  ◮   Offspring: 87|345|621




Aleksander Pohl                                                                 WSZiB
Heurystyki. Algorytmy genetyczne
Wprowadzenie                       Wy˙ arzanie
                                     z            Algorytmy genetyczne   Postscriptum




Selekcja



          ◮    Prosta
                  ◮   Populacja wymieniana co pokolenie
          ◮    Stała populacja
                  ◮   Tylko niektóre osobniki sa wymieniane
                                                ˛




Aleksander Pohl                                                               WSZiB
Heurystyki. Algorytmy genetyczne
Wprowadzenie                       Wy˙ arzanie
                                     z           Algorytmy genetyczne    Postscriptum




Skalowanie stopnia przystosowania


          ◮    Pozycja („rank”)
                  ◮   Brak skalowania
          ◮    Liniowa
                  ◮        s´
                      Warto´ c przeskalowana przez max/min w populacji
          ◮    Sigma – odciecie
                           ˛
                  ◮   Odciecie poni˙ ej pewnego poziomu
                          ˛        z
          ◮                      ´
               Skalowanie podobienstwa („sharing”)
                  ◮                     ´
                      Premiowanie „odmienców”




Aleksander Pohl                                                               WSZiB
Heurystyki. Algorytmy genetyczne
Wprowadzenie                       Wy˙ arzanie
                                     z           Algorytmy genetyczne   Postscriptum




Mechanizm zastepowania
              ˛



          ◮    Najlepszy
          ◮    Najgorszy
          ◮    Rodzic
          ◮    Losowo
          ◮    Podobne („crowding”)




Aleksander Pohl                                                              WSZiB
Heurystyki. Algorytmy genetyczne
Wprowadzenie                       Wy˙ arzanie
                                     z           Algorytmy genetyczne   Postscriptum




Kandydaci do selekcji



          ◮    Najlepszy
          ◮    Zasada ruletki
          ◮    Turniejowa
          ◮    itd.




Aleksander Pohl                                                              WSZiB
Heurystyki. Algorytmy genetyczne
Wprowadzenie                       Wy˙ arzanie
                                     z           Algorytmy genetyczne   Postscriptum




Implementacja


          ◮    execute_generations(Generation) :-
               maximum_generations(MaxGens),
               MaxGens =:= Generation.
          ◮    execute_generations(Generation) :-
               recombine(Generation),
               fitness_test(0),
               Next is Generation + 1,
               execute_generations(Next).




Aleksander Pohl                                                              WSZiB
Heurystyki. Algorytmy genetyczne
Wprowadzenie                       Wy˙ arzanie
                                     z           Algorytmy genetyczne   Postscriptum




Plan prezentacji


      Wprowadzenie


      Wy˙ arzanie
        z


      Algorytmy genetyczne


      Postscriptum




Aleksander Pohl                                                              WSZiB
Heurystyki. Algorytmy genetyczne
Wprowadzenie                       Wy˙ arzanie
                                     z           Algorytmy genetyczne   Postscriptum




Materiały zródłowe
          ´



          ◮    L.Sterling, E.Shapiro - „The Art Of Prolog”
          ◮    Ivan Bratko - „Prolog – Programming For Artificial
               Intelligence”
          ◮    Slajdy zostały przygotowane za zgoda˛
               dr. Michała Korzyckiego na podstawie jego wykładu.




Aleksander Pohl                                                              WSZiB
Heurystyki. Algorytmy genetyczne

Más contenido relacionado

Destacado

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Destacado (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Metody probabilistyczne

  • 1. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Sztuczna Inteligencja i Systemy Ekspertowe Algorytmy probabilistyczne. Aleksander Pohl http://apohllo.pl/dydaktyka/ai Wy˙ sza Szkoła Zarzadzania i Bankowo´ ci z ˛ s 4 czerwca 2009 Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 2. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Plan prezentacji Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 3. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Plan prezentacji Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 4. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Problemy NP-zupełne ◮ Klasa problemów z teorii zło˙ ono´ ci obliczeniowej z s ◮ Problemy o czasie co najmniej wykładniczym ∃k : m(n) = O(k n ) ◮ Problem komiwoja˙ era z ◮ Problem rozkładu liczby zło˙ onej na składowe z Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 5. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Metody rozwiazania ˛ ◮ Metody rozwiazywania: ˛ ◮ Aproksymacje ◮ Probabilistyczne ◮ Rozpatrywanie szczególnych przypadków ◮ Algorytmy z ustalonymi parametrami ◮ Heurystyki Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 6. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Algorytmy probabilistyczne Klasyczny algorytmy probabilistyczne: ◮ Metoda Monte-Carlo ◮ Wy˙ arzanie z ◮ Algorytmy Genetyczne ◮ Algorytmy Mrówkowe Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 7. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Algorytmy probabilistyczne ◮ Metody ograniczone ze wzgledu na czas, dopuszczajace ˛ ˛ bład ˛ ◮ Metody Monte-Carlo ◮ Metody nieograniczone ze wzgledu na czas, nie ˛ dopuszczajace błedu ˛ ˛ ◮ Metody Las-Vegas Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 8. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Metody Monte-Carlo („hill-climbing”) ◮ 1930 – Fermi ; własno´ ci neutronu, projekt Manhattan s ◮ Całkowanie numeryczne ◮ Zagadnienia optymalizacyjne ◮ Losowanie markera w przestrzeni n-wymiarowej ◮ Marker w małym promieniu szuka kierunku spadku gradientu i przesuwany jest w takim kierunku ◮ Zagro˙ enie maksimami lokalnymi z Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 9. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Metoda Monte-Carlo s´ Mała odporno´ c na lokalne maksima Rysunek: Wykres funkcji celu dla problemów o ró˙ nej z charakterystyce Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 10. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Plan prezentacji Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 11. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Wy˙ arzanie („simulated annealing”) z ◮ Heurystyczna metoda probabilistyczna poszukiwania globalnego maksimum ◮ Analogia do „wy˙ arzania” w metalurgii łaczacej ogrzewanie z ˛ ˛ i chłodzenie materiału w celu zwiekszenia rozmiaru ˛ kryształów oraz usuniecie defektów – poprzez ˛ umo˙ liwienie atomom osiagniecia stanu ni˙ szej energii z ˛ ˛ z Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 12. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Zasada działania ◮ Okre´ lamy norme/metryk˛ w przestrzeni stanów – energie s ˛ e ˛ ◮ ´ Prawdopodobienstwo przej´ cia miedzy stanami jest s ˛ zale˙ ne od ró˙ nicy energii miedzy nimi oraz od z z ˛ temperatury ◮ δE < 0 : P(s) = 1 δE ◮ δE ≥ 0 : P(s) = e− T ◮ δE – ró˙ nica energii z ◮ T – temperatura ◮ ´ P(s) – prawdopodobienstwo przej´ cia z jednego stanu do s innego Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 13. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Charakterystyka temperaturowa ◮ T = 0 – algorytm zachłanny ◮ T = ∞ – algorytm losowy ◮ Istotny element – „chłodzenie” ◮ Rapid quenching ◮ Szybka redukcja temperatury ◮ Ponowne ogrzewanie Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 14. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Implementacja – pseudokod T := T0 S := S0 E := objective(S) k := 0 while terminal condition not true Snew := move(S, T) Enew := objective(Snew ) if Enew < E or random() < acceptor(Enew - E, T) S := Snew E := Enew T := schedule(T0, k) k := k + 1 Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 15. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Implementacja – metody pomocnicze ◮ Objective() - oblicza energie ˛ ◮ Funkcja celu ◮ Move() - proponuje nowy stan (niezale˙ ne od ˛ z temperatury) ◮ Losowy stan bliski dla stanu wyj´ ciowego s ◮ ´ Acceptor() podaje prawdopodobienstwo przej´ cia s ◮ 1 δE 1+e k ∗T ◮ Schedule() podaje temperature w kroku k ˛ ◮ T = T0 ∗ c k , 0 < c < 1 (Metropolis) Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 16. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Plan prezentacji Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 17. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Algorytmy genetyczne ◮ John Holland (1970) University of Michigan ◮ Dobrze sie nadaja do mieszanych dyskretno/ciagłych ˛ ˛ ˛ problemów optymalizacyjnych ◮ Bardziej odporne na lokalne minima ni˙ metody bazujace z ˛ na gradiencie Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 18. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Algorytmy genetyczne ◮ Stochastyczna metoda przeszukiwania przestrzeni ˛ ´ rozwiazan ◮ Operujaca nie na pojedynczych elementach ale na ˛ populacji stanów ◮ Stan zakodowany jest w postaci „chromosomu” ◮ Algorytm jest niezale˙ ny od reprezentacji z Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 19. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Terminologia ◮ Stan – chromosom, genotyp ◮ Pola stanu – allele ◮ ´ Przestrzen rozpatrywanych stanów - populacja ◮ Operacje: ◮ Selekcja ◮ Krzy˙ owanie z ◮ Mutacja Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 20. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Algorytm ogólny ◮ Stwórz populacje poczatkowa ˛ ˛ ˛ ◮ Iteratywnie wykonuj nastepujaca operacje (nazywana ˛ ˛ ˛ ˛ ˛ pokoleniem) dopóki warunek stopu nie jest spełniony ◮ z ´ Sprawd´ stopien przystosowania ka˙ dego genotypu z ◮ Wybierz z populacji pare o okre´ lonym st. przystosowania ˛ s ◮ Zastosuj do niej jedna z nastepujacych operacji: ˛ ˛ ˛ ◮ Krzy˙ owanie (crossover) z ◮ Replikacje˛ ◮ Mutacje˛ ◮ Lokalna optymalizacje ˛ ˛ ◮ Dokonaj selekcji w ramach populacji Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 21. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Kodowanie ◮ {0...7} ◮ binarnie {000, 001, 010, 011, 100, 101, 110, 111} ◮ kod Gray’a {000, 001, 011, 010, 110, 111, 101, 100} Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 22. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Krzy˙ owanie (liniowy genotyp) z ◮ Single-point ◮ Parent 1: 11001|010 ◮ Parent 2: 00100|111 ◮ Offspring1: 11001|111 ◮ Offspring2: 00100|010 ◮ Two-point ◮ Parent 1: 110|010|10 ◮ Parent 2: 001|001|11 ◮ Offspring1: 110|001|10 ◮ Offspring2: 001|010|11 Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 23. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Krzy˙ owanie (cd.) z ◮ Arithmetic ◮ Offspring1 = a * Parent1 + (1 - a) * Parent2 ◮ Offspring2 = (1 - a) * Parent1 + a * Parent2 ◮ Uniform Crossover (UX) – mymieniamy z ´ prawdopodobienstwem 50% ◮ Parent 1: 11001010 ◮ Parent 2: 00100111 ◮ Offspring1: 10100011 ◮ Offspring2: 01001110 Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 24. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Krzy˙ owanie (cd.) z ◮ Half Uniform Crossover (HUX) – wymieniamy dokładnie połowe (losowo) ró˙ niacych sie bitów ˛ z ˛ ˛ ◮ Parent 1: 10111011 ◮ Parent 2: 10010011 ◮ Offspring 1: 10011011 ◮ Offspring 2: 10110011 Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 25. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Krzy˙ owanie – permutacyjne genotypy z ◮ Order Crossover (OX) kopiujemy losowy odcinek z jednego rodzica, kopiujemy reszte zachowujac porzadek z drugiego ˛ ˛ ˛ rodzica ◮ Parent 1: 12|345|678 ◮ Parent 2: 87654321 ◮ Offspring: 34587621 Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 26. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Krzy˙ owanie (cd.) z ◮ Partially mapped crossover (PMX) kopiujemy losowy odcinek z jednego rodzica, kopiujemy reszte z drugiego ˛ rodzica zachowujac pozycje, je´ li jest konflikt, bierzemy ˛ ˛ s mapowanie z wycinka pierwszego rodzica ◮ Parent 1: 12|345|678 ◮ Parent 2: 87|654|321 ◮ Offspring: 87|345|621 Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 27. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Selekcja ◮ Prosta ◮ Populacja wymieniana co pokolenie ◮ Stała populacja ◮ Tylko niektóre osobniki sa wymieniane ˛ Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 28. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Skalowanie stopnia przystosowania ◮ Pozycja („rank”) ◮ Brak skalowania ◮ Liniowa ◮ s´ Warto´ c przeskalowana przez max/min w populacji ◮ Sigma – odciecie ˛ ◮ Odciecie poni˙ ej pewnego poziomu ˛ z ◮ ´ Skalowanie podobienstwa („sharing”) ◮ ´ Premiowanie „odmienców” Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 29. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Mechanizm zastepowania ˛ ◮ Najlepszy ◮ Najgorszy ◮ Rodzic ◮ Losowo ◮ Podobne („crowding”) Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 30. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Kandydaci do selekcji ◮ Najlepszy ◮ Zasada ruletki ◮ Turniejowa ◮ itd. Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 31. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Implementacja ◮ execute_generations(Generation) :- maximum_generations(MaxGens), MaxGens =:= Generation. ◮ execute_generations(Generation) :- recombine(Generation), fitness_test(0), Next is Generation + 1, execute_generations(Next). Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 32. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Plan prezentacji Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne
  • 33. Wprowadzenie Wy˙ arzanie z Algorytmy genetyczne Postscriptum Materiały zródłowe ´ ◮ L.Sterling, E.Shapiro - „The Art Of Prolog” ◮ Ivan Bratko - „Prolog – Programming For Artificial Intelligence” ◮ Slajdy zostały przygotowane za zgoda˛ dr. Michała Korzyckiego na podstawie jego wykładu. Aleksander Pohl WSZiB Heurystyki. Algorytmy genetyczne