Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego



Podobne dokumenty
Algorytm genetyczny (genetic algorithm)-

Algorytmy genetyczne

Algorytmy ewolucyjne NAZEWNICTWO

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA OPERATOR KRZYŻOWANIA ETAPY KRZYŻOWANIA

Algorytmy genetyczne

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia niestacjonarne

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 13

Algorytm Grovera. Kwantowe przeszukiwanie zbiorów. Robert Nowotniak

Strategie ewolucyjne (ang. evolu4on strategies)

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

ALGORYTMY GENETYCZNE ćwiczenia

Aproksymacja funkcji a regresja symboliczna

Metody przeszukiwania

Algorytmy ewolucyjne - algorytmy genetyczne. I. Karcz-Dulęba

Metody Rozmyte i Algorytmy Ewolucyjne

Programowanie genetyczne, gra SNAKE

Algorytmy ewolucyjne 1

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

6. Klasyczny algorytm genetyczny. 1

Generowanie i optymalizacja harmonogramu za pomoca

Obliczenia ewolucyjne - plan wykładu

LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania i mutacji na skuteczność poszukiwań AE

Wykorzystanie metod ewolucyjnych w projektowaniu algorytmów kwantowych

Wybrane podstawowe rodzaje algorytmów

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

Strategie ewolucyjne. Gnypowicz Damian Staniszczak Łukasz Woźniak Marek

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Dobór parametrów algorytmu ewolucyjnego

Optymalizacja. Wybrane algorytmy

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

Podejście memetyczne do problemu DCVRP - wstępne wyniki. Adam Żychowski

Algorytmy genetyczne. Dariusz Banasiak. Katedra Informatyki Technicznej Wydział Elektroniki

Algorytmy genetyczne

FOLIA POMERANAE UNIVERSITATIS TECHNOLOGIAE STETINENSIS Folia Pomer. Univ. Technol. Stetin. 2009, Oeconomica 275 (57), 53 58

Optymalizacja optymalizacji

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD III: Problemy agenta

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

Algorytmy ewolucyjne. wprowadzenie

KARTA MODUŁU KSZTAŁCENIA

Luty 2001 Algorytmy (7) 2000/2001

Algorytmy ewolucyjne. Łukasz Przybyłek Studenckie Koło Naukowe BRAINS

Obliczenia inspirowane Naturą

Informatyka kwantowa. Karol Bartkiewicz

Maciej Piotr Jankowski

Algorytmy metaheurystyczne podsumowanie

Wstęp do Sztucznej Inteligencji

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

bity kwantowe zastosowania stanów splątanych

Algorytm faktoryzacji Petera Shora dla komputera kwantowego

Algorytmy genetyczne. Paweł Cieśla. 8 stycznia 2009

LABORATORIUM 3: Wpływ operatorów krzyżowania na skuteczność poszukiwań AE

Wstęp do algorytmiki kwantowej

Programowanie genetyczne - gra SNAKE

Algorytmy genetyczne w interpolacji wielomianowej

Testy De Jonga. Problemy. 1 Optymalizacja dyskretna i ciągła

Problemy z ograniczeniami

Programowanie celowe #1

Algorytmy i struktury danych. Wykład 4

przetworzonego sygnału

Techniki optymalizacji

Historia. Zasada Działania

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Algorytmy ewolucyjne (3)

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

MIO - LABORATORIUM. Imię i nazwisko Rok ak. Gr. Sem. Komputer Data / EC3 VIII LAB...

Schemat programowania dynamicznego (ang. dynamic programming)

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

Obliczenia Naturalne - Algorytmy genetyczne

Algorytmy genetyczne w optymalizacji

Algorytm indukcji klasyfikatora za pomocą EA z automatycznym przełączaniem ukierunkowań

Zad. 3: Układ równań liniowych

Algorytmy ewolucyjne `

FOLIA POMERANAE UNIVERSITATIS TECHNOLOGIAE STETINENSIS Folia Pomer. Univ. Technol. Stetin., Oeconomica 2017, 337(88)3, 5 12

Obliczenia inspirowane Naturą

WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego

Informatyka kwantowa. Zaproszenie do fizyki. Zakład Optyki Nieliniowej. wykład z cyklu. Ryszard Tanaś. mailto:tanas@kielich.amu.edu.

Modyfikacje i ulepszenia standardowego algorytmu genetycznego

Spis treści WSTĘP... 9

BIOCYBERNETYKA ALGORYTMY GENETYCZNE I METODY EWOLUCYJNE. Adrian Horzyk. Akademia Górniczo-Hutnicza

Metody Programowania

Tomasz Pawlak. Zastosowania Metod Inteligencji Obliczeniowej

Algorytmy genetyczne (AG)

znalezienia elementu w zbiorze, gdy w nim jest; dołączenia nowego elementu w odpowiednie miejsce, aby zbiór pozostał nadal uporządkowany.

Programowanie dynamiczne cz. 2

Informatyka Kwantowa Sekcja Informatyki Kwantowej prezentacja

Zasady analizy algorytmów

Algorytmy ewolucyjne

Peter W. Shor - Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer. 19 listopada 2004 roku

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

Algorytm. a programowanie -

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA ZADANIE KOMIWOJAŻERA METODY ROZWIĄZYWANIA. Specyfika zadania komiwojażera Reprezentacje Operatory

Wstęp do Sztucznej Inteligencji

Rozdział 9 PROGRAMOWANIE DYNAMICZNE

Politechnika Wrocławska Wydział Elektroniki INFORMATYKA SYSTEMÓW AUTONOMICZNYCH. Heurystyka, co to jest, potencjalne zastosowania

Transkrypt:

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego Piotr Rybak Koło naukowe fizyków Migacz, Uniwersytet Wrocławski Piotr Rybak (Migacz UWr) Odkrywanie algorytmów kwantowych 1 / 17

Spis treści 1 Problem znajdowania algorytmów kwantowych 2 Algorytmy ewolucyjne 3 Zastosowanie algorytmów ewolucyjnych w algorytmice kwantowej 4 Przykłady 5 Podsumowanie Piotr Rybak (Migacz UWr) Odkrywanie algorytmów kwantowych 2 / 17

Podstawy zagadnienia Motywacja Szansa na fizyczną implementację. Istotnie szybsze obliczenia niż na klasycznych komputerach (rozkład liczby na czynniki pierwsze w czasie wielomianowym, znajdowanie danych w bazie w średnim czasie O( n)). Problemy Model obliczeń kwantowych jest znacząco różny od modelu klasycznego. Interesują nas tylko algorytmy sprawniejsze niż na klasycznych komputerach. Wczesne komputery kwantowe są bardzo ograniczone (liczba kubitów, liczba operacji w algorytmie), więc algorytmy, które chcielibyśmy używać w praktyce, powinny być możliwie optymalne pod tym względem. Piotr Rybak (Migacz UWr) Odkrywanie algorytmów kwantowych 3 / 17

Odkrywanie algorytmów kwantowych jako problem optymalizacyjny Reprezentacja Przez algorytm kwantowy możemy rozumieć ciąg poleceń dla komputera kwantowego, zapisany w postaci bramek. Przykład Zaczynając od kubitów w stanach klasycznych (0,0) nałóż bramkę H na pierwszy kubit, następnie bramkę NOT na drugi kubit po czym bramkę CNOT na pierwszy kubit z drugim kubitem jako kubit kontrolny. < INIT 0, 1 >< INIT 0, 2 >< H, 1 >< NOT, 2 >< CNOT, 1, 2 > Przestrzeń Tak rozumiane algorytmy kwantowe możemy utożsamiać z elementami przestrzeni na których można wykonywać operację (dodanie bramki, odjęcie bramki, połączenie dwóch algorytmów,... ). Dodatkowo z każdym algorytmem powiązane są pewne wielkości, przede wszystkim szansa na uzyskanie z układu takiego wyjścia jakie oczekujemy, ale i długość układu, krotność wykorzystania poszczególnych bramek. Problem znalezienia konkretnego algorytmu kwantowego zredukujemy do problemu optymalizacji (maksymalizacji) szansy na uzyskanie oczekiwanego wyniku. Możemy również starać się jednocześnie minimalizować inne właściwości (liczbę bramek). Piotr Rybak (Migacz UWr) Odkrywanie algorytmów kwantowych 4 / 17

Metody optymalizacji Problem Zdefiniowany problem jest problemem optymalizacji dyskretnej o nieregularnej strukturze. To znaczy, że nie mamy dokładnych i szybkich metod rozwiązywania tego problemu. Przegląd zupełny Przejrzenie całej przestrzeni w celu znalezienia maksimum jest praktycznie niemożliwe. Byłoby to wykonywalne gdyby ograniczyć długość algorytmu przez jakąś stałą, ale ta stała musiałaby być duża co znowu prowadzi do problemu niemożliwego obliczeniowo. Nie będę się zajmować takimi metodami. Metody heurystyczne Szukamy możliwie dobrego rozwiązania problemu godząc się na to, że nie uda nam się znaleźć najlepszego. Możemy stosować bardzo różne metody, od przeszukiwania lokalnego przez próbkowanie losowe do algorytmów populacyjnych. Takie podejście zwykle daje satysfakcjonujące rezultaty. Piotr Rybak (Migacz UWr) Odkrywanie algorytmów kwantowych 5 / 17

Algorytmy ewolucyjne Historia Algorytmy ewolucyjne zostały zaproponowane w 1975 roku przez Johna Hollanda, początkowo służyły do optymalizacji wektorów binarnych (poszukiwań wektorów jak najlepiej spełniających podane kryteria). Pomysł mocno czerpie z mechanizmu przyrodniczej ewolucji i przekazywania genów potomstwu. Algorytm Algorytm jest iteracyjny. W każdej iteracji z istniejącej populacji rodziców tworzona jest, przy pomocy operatorów reprodukcji populacja potomków. Z populacji potomków najlepsi osobnicy wybierani są do następnej populacji jako rodzice. Głównym założeniem, które uzasadnia wykorzystanie algorytmu, jest że z dobrych rodziców mamy szansę uzyskać jeszcze lepszego potomka (łącząc dobre cechy każdego z rodziców). Piotr Rybak (Migacz UWr) Odkrywanie algorytmów kwantowych 6 / 17

Algorytmy ewolucyjne - klasyczne operatory reprodukcji Mutacja Z jednego rodzica powstaje jeden nowy osobnik. Osobnik tworzony jest poprzez odwrócenie bitów rodzica z jakimś (przeważnie małym) prawdopodobieństwem. Krzyżowanie Z dwójki rodziców powstaje dwójka potomków. Wybierany jest punkt cięcia, pierwszy potomek dostaje pierwszą część drugiego rodzica, a drugą część pierwszego rodzica. Drugi potomek uzyskuje pozostałe geny. Piotr Rybak (Migacz UWr) Odkrywanie algorytmów kwantowych 7 / 17

Programowanie genetyczne dla komputera kwantowego Programowanie genetyczne Programowaniem genetycznym nazywamy algorytm ewolucyjnym w którym zamiast wektorów binarnych występują programy, a operatory reprodukcji są do nich przystosowane. Reprezentacja dla algorytmów kwantowych Najprostszą możliwą reprezentacją jest reprezentacja bezpośrednia. Reprezentujemy algorytm jako ciąg bramek z definicjami na których kubitach działają odpowiednie bramki. Operatory reprodukcji dla algorytmów kwantowych Mutacja: Dodanie bramki, usunięcie bramki, zmiana argumentu bramki, odwrócenie kolejności wykorzystania bramek,... Krzyżowanie: Cięcie osobników, wymiana operacji na poszczególnych kubitach,... Od doboru operatorów reprodukcji zależy skuteczność algorytmu, więc jest to istotne zagadnienie, które operatory sprawdzają się najlepiej można przekonać się w doświadczeniu. Piotr Rybak (Migacz UWr) Odkrywanie algorytmów kwantowych 8 / 17

Zmiana reprezentacji dla algorytmów kwantowych Pomysł Zamiast zajmować się bezpośrednio ewolucją programów na komputer kwantowy można ewoluować klasyczne programy, których zadaniem jest wytworzenie algorytmu kwantowego. Programy można przedstawić w prostym języku imperatywnym (C podobnym) dodając do niego instrukcję dodaj bramkę(nazwa bramki, argumenty). Wprowadzając taką modyfikację możemy wykorzystywać klasyczne techniki programowania genetycznego, a poza tym przygotować sposób na opracowanie algorytmów kwantowych dla dowolnej liczby kubitów. Przykład Odwroc_wszystkie(liczba_kubitow) { ak = new algorytm_kwantowy(); for (i = 0; i < liczba_kubitów; ++i) ak.dodaj_bramke(not,i); return ak; } Piotr Rybak (Migacz UWr) Odkrywanie algorytmów kwantowych 9 / 17

Optymalizacja z uwzględnieniem długości Motywacja Jak wspominałem wcześniej często zależy nam na tym, żeby mieć jak najmniejsze algorytmy rozwiązujące dany problem. Aby to osiągnąć warto uwzględnić w procesie ewolucji liczbę wykorzystanych bramek. Sposoby Problem można rozwiązać na bardzo wiele sposobów, na przykład: Akceptowanie tylko rozwiązań o liczbie bramek nie przekraczającej pewnej stałej. Optymalizacja względem wartości będącej kombinacją szansy na powodzenie algorytmu i długości algorytmu. Porządek leksykograficzny z prawdopodobieństwem powodzenia jako pierwszym parametrem, a długością jako drugim. Piotr Rybak (Migacz UWr) Odkrywanie algorytmów kwantowych 10 / 17

Problem Deutsch-a Problem Mamy daną jedno wejściową bramkę czarną skrzynkę, którą możemy wywołać tylko raz i której postaci nie znamy. Chcemy wiedzieć czy ta bramka dla dowolnych wejść daje ten sam wynik, czy różne wyniki. Trochę dokładniej wynik działania bramki to: F a, b >= a, F (a) b > Gdzie to XOR. Klasyczne rozwiązanie problemu wymaga oczywiście dwóch odwołań do skrzynki. Algorytm którego szukamy ma potrafić to zrobić w jednym odwołaniu (jest to znany algorytm, pierwszy w którym pokazano przewagę algorytmów kwantowych). Podejście ewolucyjne Reprezentacja bezpośrednia 100 osobników w populacji. Suma prawdopodobieństw dobrej odpowiedzi we wszystkich przypadkach. Piotr Rybak (Migacz UWr) Odkrywanie algorytmów kwantowych 11 / 17

Problem Deutsch-a - cd Przebieg ewolucji Piotr Rybak (Migacz UWr) Odkrywanie algorytmów kwantowych 12 / 17

Problem Deutsch-a z minimalizacją bramek Różnice 300 osobnikw. Leksykograficznie maksymalizacja sumy prawdopodobieństw i minimalizacja liczby bramek. Przebieg ewolucji Piotr Rybak (Migacz UWr) Odkrywanie algorytmów kwantowych 13 / 17

Problem Grovera Problem Daną mamy czarną skrzynkę o której wiemy, że dla jednego wejścia (wielokubitowego) zwraca jedynkę, a dla reszty zero. Możemy traktować ten problem jako problem wyszukiwania w bazie danych z jednym elementem pasującym do kryteriów wyszukiwania. Znany jest kwantowy algorytm rozwiązujący ten problem o dowolnej liczbie kubitów z dużym prawdopodobieństwem w czasie (n). W procesie ewolucyjnym skupiono się na problemie z dwoma wejściami (czterema elementami w bazie danych), który wymaga tylko jednego odwołania do czarnej skrzynki. Podejście ewolucyjne 2500 osobników. Pozostałe parametry jak w Deutsch-a. Piotr Rybak (Migacz UWr) Odkrywanie algorytmów kwantowych 14 / 17

Problem Grovera - cd Przebieg ewolucji Piotr Rybak (Migacz UWr) Odkrywanie algorytmów kwantowych 15 / 17

Czym można się zająć W całej tematyce istnieje wiele kwestii wymagających badań: Sprawdzenie skuteczności różnych operatorów. Ewolucja ogólnego algorytmu (względem liczby kubitów) Ewolucja większych algorytmów. Przyspieszenie symulacji. Testy minimalizacji różnych funkcji. Poprawa algorytmów utworzonych metodami teoretycznymi.... Piotr Rybak (Migacz UWr) Odkrywanie algorytmów kwantowych 16 / 17

Literatura Automatic Quantum Computer Programming. A Genetic Programming Approach Lee Spector Springer, 2004 A review of procedures to evolve quantum algorithms Adrian Gepp, Phil Stocks Genetic Programming And Evolvable Machines Volume 10, Number 2, 2009 Piotr Rybak (Migacz UWr) Odkrywanie algorytmów kwantowych 17 / 17