Piotr Pokora. Politechnika Krakowska. Komputery kwantowe a problemy NP-zupełne.
|
|
- Natalia Janowska
- 8 lat temu
- Przeglądów:
Transkrypt
1 Piotr Pokora Politechnika Krakowska Komputery kwantowe a problemy NP-zupełne. 1. Teoria komputerów kwantowych. W dzisiejszych czasach ciężko wyobrazić sobie życie bez komputerów. Korzystamy z nich w codziennym życiu, w projektowaniu budynków, w rozwiązywaniu problemów matematycznych, czy fizycznych. Mimo iż technologia w ostatnich latach rozwijała się bardzo dynamicznie ciągle narzekamy, że komputery są za wolne. Może to być spowodowane tym, że chcemy rozwiązywać coraz to trudniejsze problemy, które wymagają coraz to większej mocy obliczeniowej. W ostatnich dwóch latach można zaobserwować jednak stagnacje w rozwoju technologii informatycznych. Nie należy z tego wysnuwać daleko idących wniosków, ale należy sobie zdawać sprawę, że możemy się zbliżać do granic technologicznych w budowie komputerów. Technologia ta wydaje się dość prosta. Naukowcy starają się zbudować z warstw półprzewodników jak najmniejsze bramki logiczne o jak najkrótszym czasie działania. Jednak jest to coraz trudniejsze. Dlatego w ostatnich latach naukowcy zaczęli poszukiwać alternatywy dla standardowych klasycznych komputerów. Szczególne nadzieje są związane z komputerami kwantowymi. Komputery kwantowe jak sama nazwa wskazuje są związane ze światem kwantowym, który pozwala na osiągnięcie przewagi kwantowego komputera nad klasycznym PC. W mechanice kwantowej bardzo ważnym pojęciem jest superpozycja cząstek, w języku matematycznym możemy ją nazwać kombinacją odpowiednich stanów należących do układu kwantomechanicznego. I właśnie superpozycja jest tym zjawiskiem, które prawdopodobnie pozwoli na zwiększenie wydajności komputerów wielokrotnie. W świecie klasycznych komputerów informację możemy zapisać za pomocą ciągu bitów. Jeden bit jest jednostką binarną, która może otrzymać wartość 0 albo 1. W sensie fizycznym jeden bit może być zrealizowany jako obwód elektryczny. Dla przykładu, gdy przez obwód płynie prąd to wtedy możemy obwodowi przypisać wartość 1, natomiast gdy prąd nie płynie wtedy przypisujemy 0. Z tak stworzonego układu łatwo możemy odczytać wartość bitu i nie stanowi to problemu. Stosując uproszczenie komputer możemy sobie wyobrazić jako zbiór N takich obwodów (które możemy utożsamić z N bitami). Dzięki temu wszystkich możliwych stanów mamy 2*2*2*...*2=2 N. Komputer klasyczny może przetwarzać tylko jeden z tych stanów w danym kroku obliczeniowym. W kwantowej teorii przetwarzania informacji rolę bitu pełni kubit (quantum bit). O ile klasyczny bit może się znaleźć w stanie 0 albo 1 tak z kubitem sytuacja się komplikuje. Wspomniałem już, że w świecie kwantowym możemy wprowadzić np. elektron w stan superpozycji. Przed superpozycją kubit przyjmuje 0 albo 1, oraz w trakcie pomiaru również przyjmuje 0 albo 1. Natomiast w trakcie superpozycji kubit jest troszkę zerem a troszkę jedynką, a dokładnie może być dowolną kombinacją stanów odpowiadających 0 lub 1. Naukowcy często mówią, że kubit możemy sobie wyobrazić jako strzałkę, która przyjmuje dowolne położenie na 1
2 sferze, (tzw. sferze Blocha). A teraz najważniejsze. Pamiętamy, że komputer klasyczny może przetwarzać tylko jeden stan w danym czasie. Natomiast komputer kwantowy może przetwarzać aż 2 N stanów w tym samym czasie. Jest to gigantyczna różnica wynikająca właśnie z istnienia superpozycji, ponieważ mając N kubitów możemy powiedzieć, że całość znajduje się właśnie w 2 N stanów. Brzmi to bardzo zachęcająco. Czyli celem naukowców będzie zwiększanie ilości kubitów. Jednak nie jest to takie proste. Na podstawie badań wraz ze wzrostem rozmiarów układu kwantowego z jakiś powodów następuje niszczenie superpozycji. Inna hipoteza dotycząca zaniku superpozycji mówi, że wraz ze wzrostem ilości kubitów ich zdolność do przebywania w stanie superpozycji zanika. Również mówi się, że superpozycja może nie zanikać, tylko my tracimy możliwość obserwacji. Z utratą superpozycji wiąże się słynna interpretacja H. Everetta z 1957 roku. Słynna hipoteza wielu światów tłumaczy co dzieje się podczas pomiaru stanu kwantowego: realizowany jest nie jeden stan lecz wszystkie możliwe, tylko że każdy z nich w innej odnodze rzeczywistości. W taki sposób możemy zrozumieć np. paradoks kota Schroedingera. Zgodnie z tą interpretacją w jednym świecie kot byłby żywy w drugim martwy, co wydaje się dość sensowne. Czy taka interpretacja jest poprawna? W świecie nauki mamy wielu zwolenników tej hipotezy, np. David Deutsch z Oxfordu, który jest niekwestionowanym autorytetem w świecie informatyki kwantowej. Przeciwnicy twierdzą, że gdyby tak było świat musiałby się rozszczepiać w każdym momencie na 10^10 90 alternatywnych wszechświatów. David Deutsch natomiast w sposób naturalny tłumaczy tą hipotezę. Jego zdaniem alternatywne wszechświaty są nieokiełznane tak jak kiedyś pole elektromagnetyczne. Kiedyś nie zdawaliśmy sobie sprawy z jego istnienia do momentu powstania teorii elektromagnetyzmu oraz licznych urządzeń, np. radia. Jego zdaniem tak samo będzie z teorią wielu alternatywnych światów. Skoro komputer kwantowy jest w stanie przeliczyć wielokrotnie więcej stanów, niż komputer klasyczny w tym samym czasie, to jego zdaniem oznacza to, że część obliczeń musi zostać wykonana w alternatywnych wszechświatach. Tak naprawdę, czy alternatywne wszechświaty istnieją, czy też nie jest sprawą na pewno trudną do udowodnienia. Jednak zgodnie z faktami komputer kwantowy jest w stanie przeprowadzać obliczenia znacznie szybciej niż komputer klasyczny. Kluczem do wielkiego sukcesu jest tworzenie algorytmów kwantowych oraz umiejętność operowania na dużej liczbie kubitów. W sensie technologicznym stworzenie komputera kwantowego nie jest problemem. Jednak istnieje wiele problemów niezależnych, taki jak dekoherencja, która generuje liczne błędy. Również czysto matematyczne ograniczenia dotyczące możliwości obliczeniowych nadal stosowałyby się do komputerów kwantowych, nawet gdyby problem dekoherencji zostałby rozwiązany. W tym momencie warto zauważyć kolejną cechę komputera kwantowego: jest urządzeniem sekwencyjnym, tak jak i klasyczny komputer, tj. komputer przetwarza kubit po kubicie. Komputer klasyczny jest w stanie wykonać takich kroków setki miliardów na sekundę. W przypadku komputerów kwantowych nie jest najlepiej pod tym względem, biorąc pod uwagę to, że trudno zmienić spin szybciej niż kilkaset razy na sekundę, a ponadto superpozycja nie jest trwała. Zatem, aby pokonać komputer klasyczny należałoby zwiększyć liczbę kubitów oraz przetwarzać wiele więcej kubitów w każdym kroku. Jednak metoda NMR 1 pozwala tylko kilkunastu kubitom na pozostanie w superpozycji. Ostatnio pojawiła się sugestia, aby zastosować 1 NMR- Magnetyczny Rezonans Jądrowy 2
3 łańcuchy chmur elektronów, wytwarzane w ciekłym helu. Łącząc metodę NMR oraz stosując płapki jonowe można będzie utrzymać superpozycje kilkuset kubitów. Zatem pojawia się pierwsze pytanie dotyczące sensu inwestowania w rozwój takich komputerów. Problem jest ogromy, gdyż na razie posiadamy wiele osiągnięć w tej dziedzinie tylko na papierze a dotychczasowe osiągnięcia w sensie istnienia rzeczywistego komputera kwantowego są niewielkie. 2. Pierwsze komputery kwantowe. W roku 1996 Gershenfeld, Chuang i Kubiniec pierwsi pokazali działający komputer kwantowy. Zbudowali go zaledwie z 2 kubitów, którymi były jądra węgla i wodoru w cząsteczce chloroformu CHCL3. Zatem pierwszy komputer kwantowy był cieczą. Największym problemem było stworzenie układu, który pozwoliłby na programowanie cząsteczki i odczytywanie danych. W tym celu wykorzystano zjawisko magnetycznego rezonansu jądrowego. Probówkę z cieczą umieszczono w zewnętrznym polu magnetycznym (NMR), które ustawiało spin jądrowe, a następnie komputer programowano oddziałując na spiny impulsami radiowymi. Komputer kwantowy działał, gdy spin jądra wodoru był skierowany w górę, a spin jądra węgla w dół. Tak stworzono bramkę typu XOR, czyli alternatywy wykluczającej. Urządzenie to potrafiło odnaleźć wyróżniony element w zbiorze czteroelementowym. Dość marnie jak na komputer, który kosztował prawie milion dolarów. Do wyszukania elementu zastosowano algorytm Grovera. Algorytm pozwala na znaczne przyśpieszenie przeszukiwania bazy danych, jednak jego działanie nie da się wytłumaczyć w sposób klasyczny. Ilość kubitów w komputerach kwantowych nie rośnie w sposób zastraszający. W 2001 dla przykładu stworzono komputer 7 kubitowy, na którym zaimplementowano kwantowy algorytm Shora. Zespół z Almenden Research Center dokonał po raz pierwszy faktoryzacji liczby za pomocą komputera kwantowego, tj. komputer rozłożył liczbę 15 na iloczyn liczb 3 i 5. Wynik pod względem matematycznym wydaje się co najmniej rozczarowująco trywialny, jednak w tym przypadku ważny był sposób osiągnięcia tego wyniku. Zapis sposobu otrzymania tego wyniku zajmuje kilkanaście stron. Rok 2007 stał się przełomowy. Kanadyjska firma D-Wave System stworzyła adiabatyczny komputer kwantowy (istnieją adiabatyczne i obwodowe komputery kwantowe) na początku 16, później 28 kubitowy. Firma zapewnia, że jest w stanie zwiększyć ilość kubitów w sposób znaczący. Do końca roku ma powstać komputer 1024 kubitowy, co byłoby wielkim osiągnięciem. Procesory D-Wave system jako kubity wykorzystują złącza Josephsona, których budowa jest dość skomplikowana. Ponadto sygnały muszą być przesyłane za pomocą nadprzewodników, a zatem wymagają temperatury w okolicach zera bezwzględnego, dlatego komputer może działać tylko w warunkach laboratoryjnych. Komputer podobno ma być udostępniony przez internet i będzie można na nim robić symulacje metodą Monte Carlo, tworzyć programy w rozszerzonej wersji języka SQL. Ale tak naprawdę jak komputer wygląda i czy na pewno jest komputerem kwantowym tego nie wiedzą nawet naukowcy. Na jego temat posiadamy bardzo niewiele informacji, które wskazują, że w przynajmniej małym zakresie może być to jednak komputer kwantowy. Jak pokazała firma D-Wave Systems sposobów na budowę komputera kwantowego jest wiele. Można stosować NMR, złącza Josephsona, elektrony ciekłego helu itp. Każdy sposób związany jest i innymi problemami. Jednak istnieje wiele problemów wspólnych, których pokonanie jest konieczne. Zapewne warto stworzyć mechanizm korekty błędów, które mogłyby się pojawić. Aby tego dokonać należy zbadać 3
4 poszczególne kubity. W momencie pomiaru jak pamiętamy superpozycja zanika, a zatem znika wynik. Jest to bardzo istotny problem, którego rozwiązanie pojawiło się całkiem niedawno. Mianowicie naukowcy chcą skorzystać z efektu kwantowegosplątania. Dzięki niemu będziemy mogli tak jakby połączyć ze sobą dwa kubity, przy czym jeden z nich byłby kopią oryginału, oczywiście zawierającą te same informacje. W wyniku pomiaru zniszczona zostałaby superpozycja kopii, a nie oryginału i dzięki splątaniu moglibyśmy otrzymać stan kubita. 3. Algorytmy kwantowe. W przypadku komputerów klasycznych, aby rozwiązać pewien problem musimy skorzystać z odpowiednich algorytmów, które nazywamy algorytmami klasycznymi. W świecie komputerów kwantowych ze względu na fizykę kwantową nie możemy stosować algorytmów klasycznych. Dlatego naukowcy zaczęli tworzyć nowe, odmienne algorytmy, które nazywamy algorytmami kwantowymi. Nazwa tych algorytmów wiąże się z środowiskiem w jakim funkcjonują oraz ich własnościami. Nie wchodząc w szczegóły budowy można powiedzieć, że stworzenie takiego algorytmu jest bardzo trudne. Biorąc pod uwagę, że idea algorytmów kwantowych pojawiła się blisko 30 lat temu do tej pory powstało zaledwie kilkanaście algorytmów. Każdy algorytm można zapisać za pomocą sekwencji elementarnych bramek logicznych: AND, OR, NOT. Liczba rodzajów bramek nie jest duża, natomiast możemy je ułożyć w dowolnie długą sekwencję. Wiemy, że klasyczne bramki nie są odwracalne, tj. na podstawie danych wychodzących nie jesteśmy w stanie ustalić danych wchodzących do bramki (w tym zdaniu zastosowałem bardzo duże uproszczenie tego procesu, aby pokazać samo sedno sprawy, a nie szczegóły, a jest to dość ważne). Rozważając komputery kwantowe oraz algorytmy kwantowe spotykamy się z nowymi bramkami, które są jako jedyne odwracalne. Są to następujące bramki C-NOT (bramka kontrolowanego zaprzeczenia), bramka Hadamarda. W związku z tym, że wszystkie bramki kwantowe są odwracalne bramki klasyczne nie posiadają kwantowego odpowiednika. Jest to bardzo ważne w budowie algorytmów. Teraz przedstawię budowę bramki C-NOT. Dane wchodzące: Dane wychodzące: a b a` b` W praktyce, przy dużych zbiorach danych wejściowych ważne znaczenie ma kwestia szybkości działania algorytmu. Można ją scharakteryzować badając jako funkcję zależności kroków f do zakończenia algorytmu od ilości danych początkowych n, więc jest to funkcja f(n). Gdy funkcja występuje w postaci n k, (gdzie k to liczba naturalna) to mówimy, że algorytm jest wielomianowy. Takiego typu 4
5 algorytmy traktujemy jako szybkie, mimo iż mogą się pojawić w tej rodzinie algorytmy wolne jak i szybkie w zależności od k. Natomiast gdy f(n) przyjmuje postać f=2 n to mówimy, że algorytm jest wykładniczy (wolny). Powyższe rozważania dotyczyły algorytmów klasycznych, jednak podobnie można obliczyć szybkość algorytmu kwantowego, Struktura tych algorytmów jest podobna: klasyczne wejście w postaci n kubitów przechodzi przez ciąg operacji, a następnie w wyniku pomiaru kwantowego otrzymujemy klasyczną informację w postaci ciągu bitowego. W przypadku algorytmów kwantowych w związku z większą ilością składowych ( klocków ), czyli bramek oraz tego, że algorytm jest odwracalny pojawiło się pytanie, czy algorytmy kwantowe są wolniejsze od klasycznych. W 1973 roku C. Bennett z laboratorium IBM udowodnił, że algorytm kwantowy złożony z bramek kwantowych wykonywany na kubitach nie jest gorszy od klasycznego, czyli algorytmy kwantowe rozwiązują problemy tak samo skutecznie jak algorytmy klasyczne. Naukowcy zastanawiali się czy algorytmy kwantowe są szybsze od klasycznych. Okazuje się, że tak może być. Wiemy, że każdy kubit można wprowadzić w superpozycje stanów. Jeżeli mamy n kubitów, i wszystkie n wprowadzimy w stan superpozycji to w takim przypadku nastąpi kwantowy paralelizm. W poszczególnych bramkach mówiąc kolokwialnie będzie trochę jedynki i trochę zera, a zatem będzie alternatywa przetwarzanych danych na każdej z bramek. Dzięki takiej sytuacji obliczenia będą szybsze. Podstawę algorytmów kwantowych stworzył David Deutsch z Oxfordu. Wraz z R. Jozsą skonstruował algorytm, który rozwiązywał pewien problem w czasie wielomianowym, podczas gdy jego odpowiednik klasyczny rozwiązywał w czasie wykładniczym. Algorytm ten jest dość specyficzny bo polega na odróżnianiu funkcji stałej na dyskretnym zbiorze punktów od funkcji zrównoważonej. Przełom nastąpił w 1994 roku, kiedy to Peter Shor przedstawił kwantowy algorytm służący do faktoryzacji liczb. Jak się okazało jest to bardzo efektywny algorytm, ponieważ liczba jego kroków rośnie jak trzecia potęga liczby cyfr badanego iloczynu. ALGORYTM SHORA (klasyczny): Na wejściu mamy liczbę N. Następnie: 1. Wylosuj liczbę a < N 2. Oblicz NWD(a, N) na przykład za pomocą algorytmu Euklidesa. 3. Jeśli NWD(a, N) 1, to znaleźliśmy nietrywialny dzielnik N i możemy zakończyć. 4. W przeciwnym wypadku używamy podprocedury znajdującej okres funkcji (poniżej) dla znalezienia r okresu następującej funkcji:, (czyli znajdujemy najmniejsze r takie że f(x + r) = f(x). 5. Jeśli r jest nieparzyste, wróć do punktu Jeśli a r /2-1 (mod N), wróć do punktu Dzielnikiem N jest NWD(a r /2 ± 1, N) 8. Koniec algorytmu. ANALIZA ALGORYTMU SHORA Liczby naturalne mniejsze od N i względnie pierwsze z N z mnożeniem modulo N tworzą pewną grupę skończoną. Każdy element a należący do tej grupy ma więc jakiś skończony rząd r najmniejszą liczbę dodatnią taką że: 5
6 Zatem N (a r 1). Jeśli potrafimy obliczyć r i jest ono parzyste, to: skoro r jest najmniejszą liczbą taką że a r 1, to N nie może dzielić (a r / 2 1). Jeśli N nie dzieli również (a r / 2 + 1), to N musi mieć nietrywialny wspólny dzielnik z obiema liczbami: (a r / 2 1) i (a r / 2 + 1). Otrzymujemy w ten sposób jakąś faktoryzację N. Jeśli N jest iloczynem dwóch liczb pierwszych, jest to jego jedyna faktoryzacja. Faktoryzacja liczb dużych, składających się np. z 100 cyfr odgrywa zasadniczą rolę w protokołach szyfrowania informacji. Jeden z protokołów RSA bazuje właśnie na fakcie, że nie jest znany żadny efektywny algorytm, który z zadanego iloczynu dwóch liczb pierwszych potrafiłby szybko odgadnąć oba mnożniki. Dlatego ogłoszenie algorytmu Shora spowodowało zainteresowanie teorią obliczeń kwantowych z wiadomych powodów. Nauczenie się rozkodowania szyfru RSA pozwoliłoby na łamanie szyfrów kont bankowych itp., dlatego też mimo ogromnego znaczenia dla rozwoju obliczeń kwantowych algorytm Shora może być niebezpieczny z punktu łamania szyfrów, a zatem bezpieczeństwa wielu osób. Jednak do łamania takich szyfrów potrzebny jest komputer kwantowy o dużej ilości kubitów, co jak na razie jest nieosiągalne. 4. Problemy NP-zupełne, a komputery kwantowe. W informatyce bardzo ważne znaczenie odgrywa czas rozwiązywania pewnych problemów. Matematycy czy informatycy tworzą algorytmy, które mimo dużego skomplikowania są rozwiązywanie w dość przyzwoitym czasie. Już wcześniej wspomniałem, że algorytmy wielomianowe są właśnie dość efektywne, tj. gdy czas rośnie w postaci n k, gdzie k jest liczbą naturalną. Problemy rozwiązywane w sposób efektywny należą do klasy złożoności zwanej P (polynominal time -czas wielomianowy). Jest wiele problemów klasy P, które są dobrze rozwiązywane przez klasyczne, np. mając mapę drogową i podaną drogę sprawdzić czy dane miejscowości są połączone. Problemy te są dość przyjazne również pod względem sprawdzenia. Istnieją również inne problemy, trudniejsze, których rozwiązanie nie jest już takie oczywiste. Czy da się pomalować mapę 3 kolorami w taki sposób, aby by każde sąsiednie kraje miały różny kolor? Czy w końcu da się podróżować między poszczególnymi wyspami, które są połączone mostami w taki sposób, żeby odwiedzić każdą z nich tylko raz?. Istnieje wiele podobnych trudnych problemów, które łączą pewne cechy. Są to problemy, które potrzebują czasu rosnącego wykładniczo. Wymyślono już wiele algorytmów, które nie dość, że potrzebują wykładniczego czasu, to jeszcze liczą trochę po omacku, mało efektywnie. Gdyby jednak udało się stworzyć efektywny algorytm klasyczny, bądź kwantowy, który rozwiązałby jeden z tych problemów to pociągałoby to za sobą rozwiązanie wszystkich pozostałych problemów. Te bardzo ważne stwierdzenie pojawiło się już w latach siedemdziesiątych, kiedy tworzono podstawy teorii problemów NP. NP jest skrótem od nondeterministic polynominal time, czyli niedeterministyczny czas wielomianowy (algorytm posiada krok, który jest niedeterministyczny). Są to 6
7 problemy dość trudne, bo łatwo sobie wyobrazić, że znalezienie trasy łączące np. 100, 200 wysp jest trudne i trwa bardzo długo. Jednak jeśli udałoby się znaleźć taką trasę to łatwo sprawdzić jest poprawność. O problemach właśnie takiej postaci mówimy, że są to problemy NP. Najtrudniejsze z problemów NP noszą nazwę problemów NP-zupełnych. Również znalezienie efektywnego algorytmu dawałoby możliwość rozwiązania innych problemów tej klasy. To ostatnie stwierdzenie pociąga za sobą pewien wniosek. Mianowicie gdyby znaleźć efektywny, tj. wielomianowy algorytm dla problemów NP to wtedy każdy problem NP i NP-zupełny byłby problemem klasy P, czyli klasa NP byłaby równa klasie P, co zapisujemy P=NP. Znalezienie takiego superalgorytmu jest bardzo cenne oraz jak się okazuje bardzo dochodowe, bowiem za znalezienie takiego algorytmu przewidziana jest nagroda miliona dolarów. Wiemy obecnie, że nie został znaleziony klasyczny algorytm, który efektywnie rozwiązywałby problemy NP-zupełne. Obecnie istniejące algorytmy, które rozwiązują część takich problemów i są bardzo czasochłonne, bowiem są to algorytmy niewielomianowe (wykładnicze i wolniejsze). Również nie znaleziono żadnego algorytmu kwantowego, które byłby pomocny. Zatem ze zdecydowaniem można stwierdzić, że obecnie tylko algorytmy siłowe rozwiązują wszystkie problemy NP-zupełne. Wiemy, że algorytmy siłowe są algorytmami wolnymi (nie wielomianowymi). Jest to mało satysfakcjonujące, ponieważ człowiek chciałby rozwiązywać coraz to trudniejsze problemy matematyczne. Jednak obecny technika na to nie pozwala. Czy komputery kwantowe pozwoliłyby na rozwiązywanie problemów klasy NP? To trudne pytanie. Po pierwsze wyobraźmy sobie komputer kwantowy i algorytm kwantowy. Już wcześniej pisałem, w jaki sposób taki algorytm działa. Wiemy, że po dokonaniu pomiaru otrzymujemy tylko jeden wynik, jeden z 2 n, w zależności od n. Powoduje to, że pozostałe wyniki znikają, i tak naprawdę nie wiemy, czy ten wynik, który uzyskalibyśmy jest najlepszy. Nie będziemy w stanie przeanalizować poprawności wyniku, co jest niezadowalające. Jednak mechanika kwantowa daję możliwość stworzenia takiego algorytmu, który sam eliminowałby złe odpowiedzi. Ta własność nosi nazwę interferencji destruktywnej. Jest to jednak dość skomplikowane do łatwego wytłumaczenia. Dla nas jednak ważna jest sama możliwość skonstruowania algorytmu, który sam eliminowałby złe odpowiedzi. W ostatnich latach w związku z małymi i niewystarczającymi osiągnięciami w dziedzinie komputerów kwantowych pojawiło się bardzo wiele nowych pomysłów dotyczących rozwoju informatyki. Po pierwsze komputery klasyczne rozwiązują w sposób zadowalający pewne problemy matematyczne. Należy pamiętać, że w naszym świecie nie da się podzielić czasu na krótsze przedziały czasu niż s, czyli tzw. czas Plancka. Także nie można uzyskać wyniku w nieskończenie krótkim czasie, co powinno pozostać na uwadze. Również pojawił się pomysł, aby dokonać podróży w czasie. Pamiętając o paradoksie braci Einsteina można wiązać z tą metodą pewne nadzieje. Jednak zbliżenie się w jakikolwiek sposób do prędkości światła jest w obecnych czasach nieosiągalna, ponadto wiąże się to z ogromnymi poborami mocy, ale to jest już inne zagadnienie teoretyczne. Trzeba pamiętać, że zbliżenie się do prędkości światła nie będzie miało tak dużego znaczenia dla informatyki, jak dla astronomii i eksploracji wszechświata. W 1991 roku David Deutsch z Oxfordu wysnuł hipotezę pętli czasowej, w której to moglibyśmy zostawić komputer i uzyskać wyniki szybciej dzięki temu, że czas wewnątrz takiej pętli płynie również szybciej. Przy obecnym stanie wiedzy nie jesteśmy w stanie stwierdzić, czy coś takiego w ogóle istnieje. Jak na razie jest to bardziej hipotetyczne i brzmi 7
8 nieprawdopodobnie. Niektórzy naukowcy twierdzą, że warto rozwijać komputery klasyczne. Ja osobiście uważam, że odkrycie grafenu daje nowe możliwości dla rozwoju komputerów osobistych PC. Świetne własności przewodzenia prądu elektrycznego powodują duże zainteresowanie tego materiału. Jednak bardzo wysoka cena produkcji blisko 1000 dolarów za kilka miligramów stanowi dużą barierę. Gdyby jednak udało się stworzyć komputer kwantowy, to zapewne nie służyłby do łamania kodów, raczej do modelowania komputerowego i do symulacji analitycznych. Gdyby taki komputer powstał, służyłby do badania fluktuacji gospodarczych, analizy ryzyka i opłacalności gier giełdowych, inwestycji. 5. Analiza drzewa Steinera, jako problemu NP-zupełnego. Na początku chciałbym trochę powiedzieć o samym drzewie Steinera. Załóżmy, że dany jest graf G=(V,E) oraz funkcja wagowa w:e R. Podzbiór wierzchołków grafów nazywamy terminalami. Poprzez drzewo Steinera Ts=(Vs,Es) dla grafu G oraz zbiór terminali X to spójny podgraf grafu G, taki że X zawiera się ściśle w Vs, zwierający się w V oraz, Es = Vs -1. Problem GSTP (Graph Steiner Tree Problem) polega na znalezieniu takiego dla danego grafu G i zbioru terminali X drzewa Ts, którego suma wag byłaby minimalna. Wierzchołki Vs\X nazywamy punktami Steinera. Matematycy uznają powyższy problem jako NP-zupełny (NP-trudny). Do rozwiązania tego problemu stworzono wiele algorytmów. Od takich najprostszych (w sensie subiektywnego punktu widzenia) polegających na wypisaniu wszystkich możliwych drzew i wybraniu tego o najmniejszej wadze po bardziej skomplikowane. Algorytm dokładny Hakimi jest wykładniczy. Mówiąc zwięźle polega na wypisaniu wszystkich możliwych drzew a następnie wybranie tego, którego waga jest najmniejsza. Algorytm działa wystarczająco szybko dla n <9 (wierzchołków). W rozwiązywaniu problemów NP można stosować algorytmy siłowe (Brute Force), jednak wiemy, że jest to algorytm wolny (nie wielomianowy). Jak się ma do tego komputer kwantowy. Obecnie nie stworzono żadnego algorytmu kwantowego, który rozwiązywałby problem drzewa Steinera. Pojawiły się pewne pomysły rozwiązania tego problemu dla geometrycznego drzewa Steinera w przestrzeniach Euklidesowych, lub z zastosowaniem metryki Manhattan jednak jak na razie nie znam rezultatów tych prac. Wiadomo jest natomiast, że użycie któregokolwiek algorytmu rozwiązującego GSTP okazałoby się wystarczające. Także znalezienie jednego algorytmu kwantowego dla komputera kwantowego daje możliwość rozwiązania możliwie w szybszy sposób problemu GSTP oraz problemów pokrewnych. 8
9 6. Bibliografia Paweł Hordecki, Karol Życzkowski, Kwanty, które liczą, Wiedza i Życie 2/2008, Prószyński Media Scott Aaronson, NP-complete problems and physical reality, (pobrano 24 lipca 2008). Jarosław Chrostowski, Komputer inny niż wszystkie, Wiedza i Życie, Prószyński Media 2/2008. Algorytm Shora, (pobrano 24 lipca 2008). 7. Lista tematów związanych z referatem: Algorytmy Grovera. Zastosowanie fulerenów i grafenu w nanotechnologii. Paradoks Brata Einsteina. Magnetyczny Rezonans Jądrowy. Zasada superpozycji. Zjawisko tunelowania. Atomy rydbergowskie i złącza Josephsona. Kod RSA. Artur Ekert -pionier kryptografii kwantowej. 9
Historia. Zasada Działania
Komputer kwantowy układ fizyczny do opisu którego wymagana jest mechanika kwantowa, zaprojektowany tak, aby wynik ewolucji tego układu reprezentował rozwiązanie określonego problemu obliczeniowego. Historia
W5. Komputer kwantowy
W5. Komputer kwantowy Komputer klasyczny: Informacja zapisana w postaci bitów (binary digit) (sygnał jest albo go nie ma) W klasycznych komputerach wartość bitu jest określona przez stan pewnego elementu
Informatyka kwantowa. Zaproszenie do fizyki. Zakład Optyki Nieliniowej. wykład z cyklu. Ryszard Tanaś. mailto:tanas@kielich.amu.edu.
Zakład Optyki Nieliniowej http://zon8.physd.amu.edu.pl 1/35 Informatyka kwantowa wykład z cyklu Zaproszenie do fizyki Ryszard Tanaś Umultowska 85, 61-614 Poznań mailto:tanas@kielich.amu.edu.pl Spis treści
Wstęp do algorytmiki kwantowej
Koło naukowe fizyków Migacz, Uniwersytet Wrocławski Komputer kwantowy - co to właściwie jest? Komputer kwantowy Komputer, którego zasada działania nie może zostać wyjaśniona bez użycia formalizmu mechaniki
Algorytm faktoryzacji Petera Shora dla komputera kwantowego
Algorytm faktoryzacji Petera Shora dla komputera kwantowego Peter Shor (ur. 14 sierpnia 1959 roku w USA Matematyk oraz informatyk teoretyk Autor kwantowego Algorytmu Shora Pracuje w AT&T Bell Laboratories
Algorytmy asymetryczne
Algorytmy asymetryczne Klucze występują w parach jeden do szyfrowania, drugi do deszyfrowania (niekiedy klucze mogą pracować zamiennie ) Opublikowanie jednego z kluczy nie zdradza drugiego, nawet gdy można
Informatyka kwantowa. Karol Bartkiewicz
Informatyka kwantowa Karol Bartkiewicz Informacja = Wielkość fizyczna Jednostka informacji: Zasada Landauera: I A =log 2 k B T ln 2 1 P A R. Landauer, Fundamental Physical Limitations of the Computational
Wykład 1. Na początku zajmować się będziemy zbiorem liczb całkowitych
Arytmetyka liczb całkowitych Wykład 1 Na początku zajmować się będziemy zbiorem liczb całkowitych Z = {0, ±1, ±2,...}. Zakładamy, że czytelnik zna relację
Wykład 4. Określimy teraz pewną ważną klasę pierścieni.
Wykład 4 Określimy teraz pewną ważną klasę pierścieni. Twierdzenie 1 Niech m, n Z. Jeśli n > 0 to istnieje dokładnie jedna para licz q, r, że: m = qn + r, 0 r < n. Liczbę r nazywamy resztą z dzielenia
Informatyka Kwantowa Sekcja Informatyki Kwantowej prezentacja
Informatyka Kwantowa Sekcja Informatyki Kwantowej prezentacja Robert Nowotniak Wydział FTIMS, Politechnika Łódzka XV konferencja SIS, 26 października 2007 Streszczenie Informatyka kwantowa jest dziedziną
Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott
Struktury danych i złożoność obliczeniowa Wykład 5 Prof. dr hab. inż. Jan Magott DMT rozwiązuje problem decyzyjny π przy kodowaniu e w co najwyżej wielomianowym czasie, jeśli dla wszystkich łańcuchów wejściowych
Algorytmy sztucznej inteligencji
www.math.uni.lodz.pl/ radmat Przeszukiwanie z ograniczeniami Zagadnienie przeszukiwania z ograniczeniami stanowi grupę problemów przeszukiwania w przestrzeni stanów, które składa się ze: 1 skończonego
Obliczenia inspirowane Naturą
Obliczenia inspirowane Naturą Wykład 01 Modele obliczeń Jarosław Miszczak IITiS PAN Gliwice 05/10/2016 1 / 33 1 2 3 4 5 6 2 / 33 Co to znaczy obliczać? Co to znaczy obliczać? Deterministyczna maszyna Turinga
0 + 0 = 0, = 1, = 1, = 0.
5 Kody liniowe Jak już wiemy, w celu przesłania zakodowanego tekstu dzielimy go na bloki i do każdego z bloków dodajemy tak zwane bity sprawdzające. Bity te są w ścisłej zależności z bitami informacyjnymi,
Zajęcia nr. 3 notatki
Zajęcia nr. 3 notatki 22 kwietnia 2005 1 Funkcje liczbowe wprowadzenie Istnieje nieskończenie wiele funkcji w matematyce. W dodaktu nie wszystkie są liczbowe. Rozpatruje się funkcje które pobierają argumenty
Przykładowe zadania z teorii liczb
Przykładowe zadania z teorii liczb I. Podzielność liczb całkowitych. Liczba a = 346 przy dzieleniu przez pewną liczbę dodatnią całkowitą b daje iloraz k = 85 i resztę r. Znaleźć dzielnik b oraz resztę
VIII. TELEPORTACJA KWANTOWA Janusz Adamowski
VIII. TELEPORTACJA KWANTOWA Janusz Adamowski 1 1 Wprowadzenie Teleportacja kwantowa polega na przesyłaniu stanów cząstek kwantowych na odległość od nadawcy do odbiorcy. Przesyłane stany nie są znane nadawcy
Maciej Piotr Jankowski
Reduced Adder Graph Implementacja algorytmu RAG Maciej Piotr Jankowski 2005.12.22 Maciej Piotr Jankowski 1 Plan prezentacji 1. Wstęp 2. Implementacja 3. Usprawnienia optymalizacyjne 3.1. Tablica ekspansji
dr inż. Andrzej Skorupski Wydział Elektroniki i Technik Informacyjnych Politechnika Warszawska
dr inż. Andrzej Skorupski Wydział Elektroniki i Technik Informacyjnych Politechnika Warszawska Zasilacz pierwszego polskiego komputera UMC1 produkowanego seryjnie w ELWRO opracowanego w katedrze kierowanej
Teoria liczb. Magdalena Lemańska. Magdalena Lemańska,
Teoria liczb Magdalena Lemańska Literatura Matematyka Dyskretna Andrzej Szepietowski http://wazniak.mimuw.edu.pl/ Discrete Mathematics Seymour Lipschutz, Marc Lipson Wstęp Teoria liczb jest dziedziną matematyki,
Algorytm Grovera. Kwantowe przeszukiwanie zbiorów. Robert Nowotniak
Wydział Fizyki Technicznej, Informatyki i Matematyki Stosowanej Politechnika Łódzka 13 listopada 2007 Plan wystapienia 1 Informatyka Kwantowa podstawy 2 Opis problemu (przeszukiwanie zbioru) 3 Intuicyjna
Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 14, Kryptografia: algorytmy asymetryczne (RSA)
Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 14, 7.06.2005 1 Kryptografia: algorytmy asymetryczne (RSA) Niech E K (x) oznacza szyfrowanie wiadomości x kluczem K (E od encrypt, D K (x)
Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 15, Kryptografia: algorytmy asymetryczne (RSA)
Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 15, 19.06.2005 1 Kryptografia: algorytmy asymetryczne (RSA) Niech E K (x) oznacza szyfrowanie wiadomości x kluczem K (E od encrypt, D K (x)
Modele i narzędzia optymalizacji w systemach informatycznych zarządzania
Politechnika Poznańska Modele i narzędzia optymalizacji w systemach informatycznych zarządzania Joanna Józefowska POZNAŃ 2010/11 Spis treści Rozdział 1. Metoda programowania dynamicznego........... 5
Peter W. Shor - Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer. 19 listopada 2004 roku
Peter W. Shor - Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer. 19 listopada 2004 roku Wstęp czyli (próba) odpowiedzi na pewne pytania (Silna) Teza Church
CIĄGI wiadomości podstawowe
1 CIĄGI wiadomości podstawowe Jak głosi definicja ciąg liczbowy to funkcja, której dziedziną są liczby naturalne dodatnie (w zadaniach oznacza się to najczęściej n 1) a wartościami tej funkcji są wszystkie
Dr inż. Robert Wójcik, p. 313, C-3, tel Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska
Dr inż. Robert Wójcik, p. 313, C-3, tel. 320-27-40 Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska E-mail: Strona internetowa: robert.wojcik@pwr.edu.pl google: Wójcik
Algorytmy w teorii liczb
Łukasz Kowalik, ASD 2004: Algorytmy w teorii liczb 1 Algorytmy w teorii liczb Teoria liczb jest działem matemtyki dotyczącym własności liczb naturalnych. Rozważa się zagadnienia związane z liczbami pierwszymi,
Informacja w perspektywie obliczeniowej. Informacje, liczby i obliczenia
Informacja w perspektywie obliczeniowej Informacje, liczby i obliczenia Cztery punkty odniesienia (dla pojęcia informacji) ŚWIAT ontologia fizyka UMYSŁ psychologia epistemologia JĘZYK lingwistyka nauki
Aproksymacja funkcji a regresja symboliczna
Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą
Informatyka kwantowa
VI Festiwal Nauki i Sztuki na Wydziale Fizyki UAM Informatyka kwantowa Ryszard Tanaś http://zon8.physd.amu.edu.pl/~tanas 16 października 2003 Spis treści 1 Rozwój komputerów 4 1.1 Początki..................
Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015
Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 1 Metody numeryczne Dział matematyki Metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane
Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 13
Kryptografia z elementami kryptografii kwantowej Ryszard Tanaś http://zon8.physd.amu.edu.pl/~tanas Wykład 13 Spis treści 19 Algorytmy kwantowe 3 19.1 Bit kwantowy kubit (qubit)........... 3 19. Twierdzenie
Algorytm - pojęcie algorytmu, sposób zapisu, poziom szczegółowości, czynności proste i strukturalne. Pojęcie procedury i funkcji.
Algorytm - pojęcie algorytmu, sposób zapisu, poziom szczegółowości, czynności proste i strukturalne. Pojęcie procedury i funkcji. Maria Górska 9 stycznia 2010 1 Spis treści 1 Pojęcie algorytmu 3 2 Sposób
Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott
Struktury danych i złożoność obliczeniowa Wykład 7 Prof. dr hab. inż. Jan Magott Problemy NP-zupełne Transformacją wielomianową problemu π 2 do problemu π 1 (π 2 π 1 ) jest funkcja f: D π2 D π1 spełniająca
Programowanie w Baltie klasa VII
Programowanie w Baltie klasa VII Zadania z podręcznika strona 127 i 128 Zadanie 1/127 Zadanie 2/127 Zadanie 3/127 Zadanie 4/127 Zadanie 5/127 Zadanie 6/127 Ten sposób pisania programu nie ma sensu!!!.
Kod U2 Opracował: Andrzej Nowak
PODSTAWY TEORII UKŁADÓW CYFROWYCH Kod U2 Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz http://pl.wikipedia.org/ System zapisu liczb ze znakiem opisany w poprzednim
Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI
Arytmetyka komputera Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka Opracował: Kamil Kowalski klasa III TI Spis treści 1. Jednostki informacyjne 2. Systemy liczbowe 2.1. System
KRZYSZTOF WÓJTOWICZ Instytut Filozofii Uniwersytetu Warszawskiego
KRZYSZTOF WÓJTOWICZ Instytut Filozofii Uniwersytetu Warszawskiego wojtow@uw.edu.pl 1 2 1. SFORMUŁOWANIE PROBLEMU Czy są empiryczne aspekty dowodów matematycznych? Jeśli tak to jakie stanowisko filozoficzne
Komputery kwantowe - mit czy rzeczywistość?
Działanie realizowane w ramach projektu Absolwent informatyki lub matematyki specjalistą na rynku pracy Komputery kwantowe - mit czy rzeczywistość? Wykład 7 Aneta Polewko-Klim Projekt współfinansowany
XV FESTIWAL NAUKI 2011 WPROWADZENIE DO BIOCYBERNETYKI
XV FESTIWAL NAUKI 2011 WPROWADZENIE DO BIOCYBERNETYKI ZESPÓŁ APARATURY BIOCYBERNETYCZNEJ (http://www.ise.pw.edu.pl/index.php?id=138) STUDENCKIE KOŁO NAUKOWE CYBERNETYKI (http://cyber.ise.pw.edu.pl) INSTYTUT
Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego
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
1. Operacje logiczne A B A OR B
1. Operacje logiczne OR Operacje logiczne są operacjami działającymi na poszczególnych bitach, dzięki czemu można je całkowicie opisać przedstawiając jak oddziałują ze sobą dwa bity. Takie operacje logiczne
Największy wspólny dzielnik Algorytm Euklidesa (także rozszerzony) WZAiP1: Chińskie twierdzenie o resztach
Największy wspólny dzielnik Algorytm Euklidesa (także rozszerzony) Chińskie twierdzenie o resztach Wybrane zagadnienia algorytmiki i programowania I 27 października 2010 Największy wspólny dzielnik - definicja
OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA
OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) 20.11.2002 Algorytmy i Struktury Danych PIŁA ZŁOŻONE STRUKTURY DANYCH C za s tw or ze nia s tr uk tur y (m s ) TWORZENIE ZŁOŻONYCH STRUKTUR DANYCH: 00 0
Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to
Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to wprowadzili J. Hartmanis i R. Stearns. Najczęściej przez zasób rozumie się czas oraz pamięć dlatego
Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące.
Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące. Łukasz Kuszner pokój 209, WETI http://www.sphere.pl/ kuszner/ kuszner@sphere.pl Oficjalna strona wykładu http://www.sphere.pl/
1. Wykład NWD, NWW i algorytm Euklidesa.
1.1. NWD, NWW i algorytm Euklidesa. 1. Wykład 1 Twierdzenie 1.1 (o dzieleniu z resztą). Niech a, b Z, b 0. Wówczas istnieje dokładnie jedna para liczb całkowitych q, r Z taka, że a = qb + r oraz 0 r< b.
Wybrane zagadnienia teorii liczb
Wybrane zagadnienia teorii liczb Podzielność liczb NWW, NWD, Algorytm Euklidesa Arytmetyka modularna Potęgowanie modularne Małe twierdzenie Fermata Liczby pierwsze Kryptosystem RSA Podzielność liczb Relacja
Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).
Algorytmy definicja, cechy, złożoność. Algorytmy napotykamy wszędzie, gdziekolwiek się zwrócimy. Rządzą one wieloma codziennymi czynnościami, jak np. wymiana przedziurawionej dętki, montowanie szafy z
Rachunek prawdopodobieństwa- wykład 2
Rachunek prawdopodobieństwa- wykład 2 Pojęcie dyskretnej przestrzeni probabilistycznej i określenie prawdopodobieństwa w tej przestrzeni dr Marcin Ziółkowski Instytut Matematyki i Informatyki Uniwersytet
Maria Romanowska UDOWODNIJ, ŻE... PRZYKŁADOWE ZADANIA MATURALNE Z MATEMATYKI
Maria Romanowska UDOWODNIJ, ŻE... PRZYKŁADOWE ZADANIA MATURALNE Z MATEMATYKI Matematyka dla liceum ogólnokształcącego i technikum w zakresie podstawowym i rozszerzonym Z E S Z Y T M E T O D Y C Z N Y Miejski
Kongruencje twierdzenie Wilsona
Kongruencje Wykład 5 Twierdzenie Wilsona... pojawia się po raz pierwszy bez dowodu w Meditationes Algebraicae Edwarda Waringa (1770), profesora (Lucasian Professor) matematyki w Cambridge, znanego głównie
Instrukcje dla zawodników
Instrukcje dla zawodników Nie otwieraj arkusza z zadaniami dopóki nie zostaniesz o to poproszony. Instrukcje poniżej zostaną ci odczytane i wyjaśnione. 1. Arkusz składa się z 3 zadań. 2. Każde zadanie
Wprowadzenie do algorytmiki
Wprowadzenie do algorytmiki Pojecie algorytmu Powszechnie przyjmuje się, że algorytm jest opisem krok po kroku rozwiązania postawionego problemu lub sposób osiągnięcia jakiegoś celu. Wywodzi się z matematyki
Elementy teorii liczb. Matematyka dyskretna
Elementy teorii liczb Matematyka dyskretna Teoria liczb dziedzina matematyki, zajmująca się badaniem własności liczb (początkowo tylko naturalnych). Jej początki sięgają starożytności. Zajmowali się nią
Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego
Arytmetyka cyfrowa Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego (binarnego). Zapis binarny - to system liczenia
XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery
http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod
Algorytmy genetyczne
Algorytmy genetyczne Motto: Zamiast pracowicie poszukiwać najlepszego rozwiązania problemu informatycznego lepiej pozwolić, żeby komputer sam sobie to rozwiązanie wyhodował! Algorytmy genetyczne służą
PROBLEMY NIEROZSTRZYGALNE
PROBLEMY NIEROZSTRZYGALNE Zestaw 1: T Przykład - problem domina T Czy podanym zestawem kafelków można pokryć dowolny płaski obszar zachowując odpowiedniość kolorów na styku kafelków? (dysponujemy nieograniczoną
Lista 0. Kamil Matuszewski 1 marca 2016
Lista 0 Kamil Matuszewski marca 206 2 3 4 5 6 7 8 0 0 Zadanie 4 Udowodnić poprawność mnożenia po rosyjsku Zastanówmy się co robi nasz algorytm Mamy podane liczby n i m W każdym kroku liczbę n dzielimy
Podstawy systemów kryptograficznych z kluczem jawnym RSA
Podstawy systemów kryptograficznych z kluczem jawnym RSA RSA nazwa pochodząca od nazwisk twórców systemu (Rivest, Shamir, Adleman) Systemów z kluczem jawnym można używać do szyfrowania operacji przesyłanych
Prawdopodobieństwo geometryczne
Prawdopodobieństwo geometryczne Krzysztof Jasiński Wydział Matematyki i Informatyki UMK, Toruń V Lieceum Ogólnokształące im. Jana Pawała II w Toruniu 13.03.2014 Krzysztof Jasiński (WMiI UMK) Prawdopodobieństwo
w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.
Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(), zwaną funkcją aproksymującą
Materiały dla finalistów
Materiały dla finalistów Malachoviacus Informaticus 2016 11 kwietnia 2016 Wprowadzenie Poniższy dokument zawiera opisy zagadnień, które będą niezbędne do rozwiązania zadań w drugim etapie konkursu. Polecamy
2 Arytmetyka. d r 2 r + d r 1 2 r 1...d d 0 2 0,
2 Arytmetyka Niech b = d r d r 1 d 1 d 0 będzie zapisem liczby w systemie dwójkowym Zamiana zapisu liczby b na system dziesiętny odbywa się poprzez wykonanie dodawania d r 2 r + d r 1 2 r 1 d 1 2 1 + d
Arytmetyka liczb binarnych
Wartość dwójkowej liczby stałoprzecinkowej Wartość dziesiętna stałoprzecinkowej liczby binarnej Arytmetyka liczb binarnych b n-1...b 1 b 0,b -1 b -2...b -m = b n-1 2 n-1 +... + b 1 2 1 + b 0 2 0 + b -1
Struktura danych. Sposób uporządkowania informacji w komputerze.
Struktura danych Sposób uporządkowania informacji w komputerze. Algorytm Skończony, uporządkowany ciąg jasno zdefiniowanych czynności, koniecznych do wykonania pewnego zadania. Al-Khwarizmi perski matematyk
L6.1 Systemy liczenia stosowane w informatyce
L6.1 Systemy liczenia stosowane w informatyce Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Publikacja jest dystrybuowana bezpłatnie Program Operacyjny Kapitał
Definicje. Algorytm to:
Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi
Algorytm. a programowanie -
Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik
Seminarium: Efekty kwantowe w informatyce
Seminarium: Efekty kwantowe w informatyce Aleksander Mądry Sprawy organizacyjne Spotykamy się w piątki o 12:15 w sali 105. Sprawy organizacyjne Spotykamy się w piątki o 12:15 w sali 105. Każdy kto będzie
Algorytmy i struktury danych. Wykład 4
Wykład 4 Różne algorytmy - obliczenia 1. Obliczanie wartości wielomianu 2. Szybkie potęgowanie 3. Algorytm Euklidesa, liczby pierwsze, faktoryzacja liczby naturalnej 2017-11-24 Algorytmy i struktury danych
Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych
1 Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1. Podstawowe operacje logiczne dla cyfr binarnych Jeśli cyfry 0 i 1 potraktujemy tak, jak wartości logiczne fałsz i prawda, to działanie
WSTĘP. Budowa bramki NAND TTL, ch-ka przełączania, schemat wewnętrzny, działanie 2
WSTĘP O liczbie elementów użytych do budowy jakiegoś urządzenia elektronicznego, a więc i o możliwości obniżenia jego ceny, decyduje dzisiaj liczba zastosowanych w nim układów scalonych. Najstarszą rodziną
Informatyka kwantowa i jej fizyczne podstawy Rezonans spinowy, bramki dwu-kubitowe
Wykład 4 29 kwietnia 2015 Informatyka kwantowa i jej fizyczne podstawy Rezonans spinowy, bramki dwu-kubitowe Łukasz Cywiński lcyw@ifpan.edu.pl http://info.ifpan.edu.pl/~lcyw/ Dobra lektura: Michel Le Bellac
Problem P = NP. albo czy informacja może. biec na skróty
Problem P = NP albo czy informacja może biec na skróty Damian Niwiński Problem P=NP? znalazł si e wśród problemów milenijnych, bo mówi coś istotnego o świecie, jego rozwiazanie wydaje sie wymagać przełomu
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Publikacja jest dystrybuowana bezpłatnie Program Operacyjny Kapitał Ludzki Priorytet 9 Działanie 9.1 Poddziałanie
Efektywność Procedur Obliczeniowych. wykład 5
Efektywność Procedur Obliczeniowych wykład 5 Modele procesu obliczeń (8) Jedno-, wielotaśmowa MT oraz maszyna RAM są równoważne w przypadku, jeśli dany problem jest rozwiązywany przez jeden model w czasie
166 Wstęp do statystyki matematycznej
166 Wstęp do statystyki matematycznej Etap trzeci realizacji procesu analizy danych statystycznych w zasadzie powinien rozwiązać nasz zasadniczy problem związany z identyfikacją cechy populacji generalnej
Lista 4. Kamil Matuszewski 22 marca 2016
Lista 4 Kamil Matuszewski 22 marca 2016 1 2 3 4 5 6 7 8 9 10 Zadanie 2 Ułóż algorytm który dla danego n-wierzchołkowego drzewa i liczby k pokoloruje jak najwięcej wierzchołków tak, by na każdej ścieżce
0 --> 5, 1 --> 7, 2 --> 9, 3 -->1, 4 --> 3, 5 --> 5, 6 --> 7, 7 --> 9, 8 --> 1, 9 --> 3.
(Aktualizacja z dnia 3 kwietnia 2013) MATEMATYKA DYSKRETNA - informatyka semestr 2 (lato 2012/2013) Zadania do omówienia na zajęciach w dniach 21 i 28 kwietnia 2013 ZESTAW NR 3/7 (przykłady zadań z rozwiązaniami)
Kolorowanie wierzchołków Kolorowanie krawędzi Kolorowanie regionów i map. Wykład 8. Kolorowanie
Wykład 8. Kolorowanie 1 / 62 Kolorowanie wierzchołków - definicja Zbiory niezależne Niech G będzie grafem bez pętli. Definicja Mówimy, że G jest grafem k kolorowalnym, jeśli każdemu wierzchołkowi możemy
Scenariusz 14. Miejscowość turystyczna
Scenariusz 14. Miejscowość turystyczna Znakomitym modelem wielu problemów (np. inżynierskich) mogą być obiekty matematyczne zwane grafami. Dzięki temu abstrakcyjnemu przedstawieniu danego problemu projektowanie
Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie
Więcej o sprawności algorytmów Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie Załóżmy, że możemy wykonać dane zadanie przy użyciu dwóch algorytmów: jednego o złożoności czasowej
TEORETYCZNE PODSTAWY INFORMATYKI
1 TEORETYCZNE PODSTAWY INFORMATYKI 16/01/2017 WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Repetytorium złożoność obliczeniowa 2 Złożoność obliczeniowa Notacja wielkie 0 Notacja Ω i Θ Rozwiązywanie
Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II
Wykład 6. Drzewa cz. II 1 / 65 drzewa spinające Drzewa spinające Zliczanie drzew spinających Drzewo T nazywamy drzewem rozpinającym (spinającym) (lub dendrytem) spójnego grafu G, jeżeli jest podgrafem
Zadania do samodzielnego rozwiązania
Zadania do samodzielnego rozwiązania I. Podzielność liczb całkowitych 1. Pewna liczba sześciocyfrowa a kończy się cyfrą 5. Jeśli tę cyfrę przestawimy na miejsce pierwsze ze strony lewej, to otrzymamy nową
OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA
OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) 16.01.2003 Algorytmy i Struktury Danych PIŁA ALGORYTMY ZACHŁANNE czas [ms] Porównanie Algorytmów Rozwiązyjących problem TSP 100 000 000 000,000 10 000 000
Logika i teoria mnogości Wykład 14
Teoria rekursji Teoria rekursji to dział logiki matematycznej zapoczątkowany w latach trzydziestych XX w. Inicjatorzy tej dziedziny to: Alan Turing i Stephen Kleene. Teoria rekursji bada obiekty (np. funkcje,
Operatory AND, OR, NOT, XOR Opracował: Andrzej Nowak Bibliografia:
Operatory logiczne Komputery i ich logika AND - && Podstawy programowania w C++ Operatory AND, OR, NOT, XOR Opracował: Andrzej Nowak Bibliografia: CPA: PROGRAMMING ESSENTIALS IN C++ https://www.netacad.com
Metody numeryczne w przykładach
Metody numeryczne w przykładach Bartosz Ziemkiewicz Wydział Matematyki i Informatyki UMK, Toruń Regionalne Koło Matematyczne 8 kwietnia 2010 r. Bartosz Ziemkiewicz (WMiI UMK) Metody numeryczne w przykładach
Algorytmy aproksymacyjne i parametryzowane
Algorytmy aproksymacyjne i parametryzowane Marek Cygan Uniwersytet Warszawski 18 października 2012 Marek Cygan Algorytmy aproksymacyjne i parametryzowane 1/22 Wstęp W algorytmice problemy dzielimy na obliczeniowo
1. Liczby wymierne. x dla x 0 (wartością bezwzględną liczby nieujemnej jest ta sama liczba)
1. Liczby wymierne. - wartość bezwzględna liczby. dla 0 (wartością bezwzględną liczby nieujemnej jest ta sama liczba) - dla < 0 ( wartością bezwzględną liczby ujemnej jest liczba do niej przeciwna) W interpretacji
Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15
Technologie cyfrowe Artur Kalinowski Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.pl Semestr letni 2014/2015 Zadanie algorytmiczne: wyszukiwanie dane wejściowe:
Wokół Problemu Steinhausa z teorii liczb
Wokół Problemu Steinhausa z teorii liczb Konferencja MathPAD 0 Piotr Jędrzejewicz Wydział Matematyki i Informatyki Uniwersytetu Mikołaja Kopernika w Toruniu Celem referatu jest przedstawienie sposobu wykorzystania
Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny
Algorytm to przepis; zestawienie kolejnych kroków prowadzących do wykonania określonego zadania; to uporządkowany sposób postępowania przy rozwiązywaniu zadania, problemu, z uwzględnieniem opisu danych
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.
Problem porządkowania zwanego również sortowaniem jest jednym z najważniejszych i najpopularniejszych zagadnień informatycznych. Dane: Liczba naturalna n i ciąg n liczb x 1, x 2,, x n. Wynik: Uporządkowanie
Finanse i Rachunkowość studia niestacjonarne Wprowadzenie do teorii ciągów liczbowych (treść wykładu z 21 grudnia 2014)
dr inż. Ryszard Rębowski DEFINICJA CIĄGU LICZBOWEGO Finanse i Rachunkowość studia niestacjonarne Wprowadzenie do teorii ciągów liczbowych (treść wykładu z grudnia 04) Definicja ciągu liczbowego Spośród
Kongruencje pierwsze kroki
Kongruencje wykład 1 Definicja Niech n będzie dodatnią liczbą całkowitą, natomiast a i b dowolnymi liczbami całkowitymi. Liczby a i b nazywamy przystającymi (kongruentnymi) modulo n i piszemy a b (mod