IV Algorytmy i problemy

background image

ALGORYTMY I PROBLEMY

W ujęciu kognitywistycznym

kognitywistyka 2010 Kajetan Młynarski ZFNP UJ

background image

ALGORYTM

Algorytmem nazywamy skończony ciąg potencjalnie

wykonalnych instrukcji wyrażonych w określonym języku.

Słowo „algorytm” pochodzi od nazwiska Muhammad ibn

Musa al-Chuwarizmiego matematyka perskiego z IX

wieku

Od „dobrego” algorytmu wymagamy własności:

-skończoności

-określoności

-ogólności

-skuteczności

Przykład: przepis na zupę, program mnożenia na

maszynie Turinga

kognitywistyka 2010 Kajetan Młynarski

zfnp uj

background image

ALGORYTM FORMALNIE

A

=<X,E,S,f>

gdzie:

X jest zbiorem wszystkich par (P,j) w których p jest

słowem w pewnym alfabecie A a j literą spoza tego

alfabetu oznaczającą dodatnią liczbę całkowitą (co

najwyżej ζ) para ta oznacza j-ty etap rachunku

E (podzbiór X) zawiera pary postaci (P, 1) czyli dane

wejściowe na poziomie każdego etapu

S (podzbiór X) jest zbiorem par (P,ζ) czyli zbiorem

wyników otrzymanych na poszczególnych etapach

f jest przekształceniem X w X (nakłada się kilka

warunków)

kognitywistyka 2010 Kajetan Młynarski

zfnp uj

background image

ALGORYTMY SEKWENCYJNE I RÓWNOLEGŁE

Algorytm sekwencyjny wykonuje instrukcje
szeregowo, jedna po drugiej

Algorytm równoległy wykonuje pewną liczbę
instrukcji jednocześnie

Równoległe przetwarzanie informacji zachodzi
w mózgach i systemach nerwowych

kognitywistyka 2010 Kajetan Młynarski

zfnp uj

background image

ALGORYTMY SEKWENCYJNE I RÓWNOLEGŁE

Jeżeli szukamy czegoś w pokoju sprawdzając

miejsce po miejscu to realizujemy sekwencyjny

algorytm przeszukiwania

Jeżeli szukamy ze znajomymi to równoległy

Zagadnienie równoważności przetwarzania

równoległego i sekwencyjnego jest ważne dla

rozumienia procesów zachodzących w układach

nerwowych, w szczególności jest powiązane z

występowaniem „nieświadomości” i kompleksów

autonomicznych

kognitywistyka 2010 Kajetan Młynarski

zfnp uj

background image

ALGORYTM PROBABILISTYCZNY

Algorytm wykorzystujący generowanie losowe do

wykonania instrukcji,

np.:

jeżeli a<m to

a+random

albo wybierania instrukcji:

losowo jedno z (a,b,c) gdzie a,b,c są komendami

lub podprogramami

albo

tworzenia instrukcji (np. algorytmy genetyczne)

Albo…

kognitywistyka 2010 Kajetan Młynarski

zfnp uj

background image

METODY MONTE CARLO

Metody Monte Carlo wprowadził Stanisław Ulam

Przykład: obliczanie powierzchni koła
niech będzie dane koło o powierzchni x
umieszczone w kwadracie o powierzchni
jednostkowej.

Losowo wybieramy punkty w obrębie kwadratu,
ponieważ prawdopodobieństwo trafienia w każdy
punkt jest takie samo to stosunek liczby trafień w
koło do trafień w cały kwadrat dąży do x/1 czyli x.

kognitywistyka 2010 Kajetan Młynarski

zfnp uj

background image

LOGIKA ROZMYTA

W „klasycznych” rachunkach logicznych
przyjmujemy tylko dwie wartości v (verum, 1) i f
(faulus, 0) czyli prawdę i fałsz

W logice rozmytej dopuszczamy wartości
pośrednie

Twórcą logik rozmytych jest Lotfi Zadeh
(właściwie Lotfi Aliskerzadeh) urodzony w 1921
w Baku w Azerbejdżanie

kognitywistyka 2010 Kajetan Młynarski

zfnp uj

background image

ZBIORY ROZMYTE

Podstawowym pojęciem logik rozmytych i
rozmytej teorii mnogości jest stopień
przynależności do zbioru:

Czytamy: x należy do zbioru w stopniu n gdzie n
należy do przedziału domkniętego [0,1]

kognitywistyka 2010 Kajetan Młynarski

zfnp uj

]

1

,

0

[

;

)

(

n

n

Z

x

f

background image

ZBIORY ROZMYTE

Narzędzie jakim są zbiory rozmyte umożliwia
opisywanie przypadków przejść ciągłych np.
„problemu łysiny” (od utraty którego włosa
zaczyna się łysina)

kognitywistyka 2010 Kajetan Młynarski

zfnp uj

background image

ALGORYTM ROZMYTY

To algorytm korzystający z rozmytej logiki/teorii
mnogości

Najczęściej przez algorytm rozmyty rozumie się
algorytm zawierający instrukcje rozmyte

Na przykład instrukcje w rodzaju „dodaj trochę
soli”

kognitywistyka 2010 Kajetan Młynarski

zfnp uj

background image

REALIZACJA INSTRUKCJI ROZMYTEJ

Instrukcja rozmyta realizowana jest w praktyce
zazwyczaj przez losowanie (z zastosowaniem
generatora losowego lub pseudolosowego)
wartości z pewnego uprzednio wyznaczonego
przedziału (określa się np. zakres
odpowiadający sformułowaniu „trochę soli”)

kognitywistyka 2010 Kajetan Młynarski

zfnp uj

background image

ZASTOSOWANIA ALGORYTMÓW ROZMYTYCH

Algorytmy rozmyte są stosowane w budowie
systemów ekspertowych, zastosowaniach
inżynierskich, eksploracji danych

Wchodzą w skład systemów inteligentnych
(wraz z np. ewolucyjnymi czy sieciami
neuronowymi)

kognitywistyka 2010 Kajetan Młynarski

zfnp uj

background image

LOSOWOŚĆ VS PSEUDOLOSOWOŚĆ

Generator pseudolosowy oblicza łańcuch liczb stosując

określoną formułę obliczeniową. Na przykład wartość pewnej

funkcji. W kolejnych krokach wartość wprowadzana jest jako

argument. Wybieramy funkcje, które dają w efekcie wartości

odpowiadające pewnemu rozkładowi prawdopodobieństwa

Generatory pseudolosowe generują łańcuchy

kompresowalne ponieważ dają się one skompresować do

długości kodu. Dlatego ich użycie (np. w kryptografii) jest

ograniczone

Generatory losowe nie bazują na obliczeniach lecz są

urządzeniami fizycznymi

Generatory losowe dają (z największym

prawdopodobieństwem) łańcuchy niekompresowalne

kognitywistyka 2010 Kajetan Młynarski

zfnp uj

background image

HEURYSTYKI

Heurystyki nie gwarantują ściśle optymalnego
rozwiązania problemu (podobnie jak algorytmy
probabilistyczne) a sposób rozwiązywania nie
jest „teoretycznie” dokładnie ustalony

Przykład: przeszukiwanie „intuicyjne” pokoju w
którym coś zgubiliśmy

Heurystykami są np. algorytmy ewolucyjne,
genetyczne, mrówkowe itp.

kognitywistyka 2010 Kajetan Młynarski

zfnp uj

background image

ALGORYTMY GENETYCZNE

Pierwsze opracował John Henry Holland ale już

Turing zajmował się ich teorią

Algorytmy genetyczne odtwarzają procesy

zachodzące w przyrodzie takie jak:

- rozmnażanie

-zmienność losowa

-krzyżowanie (kombinowanie „genów”)

-selekcja (funkcja dostosowania)

Niestety nie mamy czasu na dokładniejsze

omówienie

kognitywistyka 2010 Kajetan Młynarski

zfnp uj

background image

ALGORYTM MRÓWKOWY

Mrówki poruszają się losowo

Po znalezieniu pokarmu mrówka wraca do
mrowiska pozostawiając ślad feromonalny

Po pewnym czasie feromon wietrzeje

To wystarczy do rozwiązywania np. problemu
komiwojażera i podobnych

kognitywistyka 2010 Kajetan Młynarski

zfnp uj

background image

PHYSARUM

Śluzowiec też potrafi rozwiązywać rozmaite
problemy

Przykład heurystyki „naturalnej”

kognitywistyka 2010 Kajetan Młynarski

zfnp uj

background image

PHYSARUM

kognitywistyka 2010 Kajetan Młynarski zfnp uj

background image

PHYSARUM OBLICZA

kognitywistyka 2010 Kajetan Młynarski zfnp uj

background image

ZŁOŻONOŚĆ OBLICZENIOWA

Złożoność obliczeniową problemu określamy
jako czas (maszynowy) potrzebny do jego
rozwiązania

Jest to złożoność czasowa

Stosujemy też wskaźnik złożoności pamięciowej
wyznaczanej przez wymaganą pojemność
pamięci

kognitywistyka 2010 Kajetan Młynarski

zfnp uj

background image

PROBLEMY ŁATWE, P

Problemy łatwe to takie, które dają się
rozwiązać w czasie wielomianowym: O(an

z

)

gdzie a,z są stałymi a n oznacza rozmiar danych
wejściowych

Problemy takie potrafimy rozwiązywać w
praktyce przy pomocy realnych komputerów i
„zwykłych” algorytmów sekwencyjnych

kognitywistyka 2010 Kajetan Młynarski

zfnp uj

background image

PROBLEMY TRUDNE

Problemy nazywamy trudnymi jeżeli potrzebny
na ich rozwiązanie czas jest większy niż
wielomianowy, np. wykładniczy : O(z

n

)

W praktyce takie problemy są często
nierozwiązywalne ponieważ nie mamy
wystarczających mocy obliczeniowych ale
„teoretycznie” nie sprawiają kłopotów (Bogu
Laplace’a)

kognitywistyka 2010 Kajetan Młynarski

zfnp uj

background image

PROBLEMY NP I NPC

Problem (decyzyjny!) nazywamy problemem NP.

jeżeli jest sprawdzalny w czasie wielomianowym

ale niekoniecznie rozwiązywalny w takim czasie.

Przykład: czy zbiór {1, 2, 7, -3, 12, -5} zawiera

podzbiór sumujący się do zera?

Problem nazywamy NP zupełnym (NPC) jeżeli jest

tak trudny jak dowolny inny problem NP (istnieje

sposób przekształcenia go w dowolny inny)

Dlatego rozwiązanie jednego NPC jest

równoznaczne z rozwiązaniem wszystkich

kognitywistyka 2010 Kajetan Młynarski

zfnp uj

background image

PROBLEM MILENIJNY: PvsNP

Czy każdy problem NP jest problemem P?

Wystarczy rozwiązać zagadnienie dla jednego
problemu NP-zupełnego aby rozwiązać je dla
wszystkich

Uważa się, że P≠NP przedstawiono kilka
dowodów jeszcze nie zweryfikowanych

kognitywistyka 2010 Kajetan Młynarski

zfnp uj

background image

PROBLEMY NIEROZSTRZYGALNE

Problem nazywamy nierozstrzygalnym jeżeli dla
każdego algorytmu istnieje dowolnie wiele
zestawów danych przy których algorytm jest
nieefektywny

kognitywistyka 2010 Kajetan Młynarski

zfnp uj

background image

PROBLEMY WYSOCE NIEROZSTRZYGALNE

Problem nazywamy wysoce nierozstrzygalnym

jeżeli sprowadzenie go do nierozstrzygalnego jest

także nierozstrzygalne

Problemy nierozstrzygalne i wysoce

nierozstrzygalne nie należą do rzadkich. Wiele

problemów związanych z pokrywaniem powierzchni

dominem lub parkietażem należy do tej klasy

Uwaga! Heurystyki radzą sobie ze wszystkimi

takimi problemami, choć oczywiście na swój,

specyficznie ograniczony, sposób

kognitywistyka 2010 Kajetan Młynarski

zfnp uj

background image

PARKIETAŻE PENROSEA

kognitywistyka 2010 Kajetan Młynarski zfnp uj

background image

PARKIETAŻE PENROSEA

kognitywistyka 2010 Kajetan Młynarski

zfnp uj

background image

GRANICE MATEMATYKI

Przyczyna dla której systemy nerwowe nie

realizują (wyłącznie) algorytmów sekwencyjnych

jest natura naszego świata obfitującego w

problemy nierozstrzygalne

Istnieją twierdzenia, które są prawdziwe ale nie

da się ich dowieść, wiele z nich jest ważnych

dla życia, można je odkrywać metodami

heurystycznymi (filozofowie często próbowali

dowodzenia lub uzasadniania)

kognitywistyka 2010 Kajetan Młynarski

zfnp uj


Wyszukiwarka

Podobne podstrony:
IV tydzień Problemy zwiazane z nawykami zywieniowymi
Rozwizanie pozostalych zadan, Studia, Semestr IV, Algorytmy
IV tydzień, Problemy zwiazane z nawykami zywieniowymi
problemowe, Budownictwo, IV sems, Mechanika Gruntów, Egzamin
08 Algorytmy IV
19209-inżynieria genetyczna techniki osiągnięcia problemy, semestr IV, genetyka, Genetyka
DZIENNIK PRAKTYK - u pedagoga szkolnego, zajecia w klasie IV- dziennik - konspekt, Problematyka zaję
Zadanie 1 - Tworzenie bibliografii i problemu badawczego, Studia, Semestry, semestr IV, Metody badań
problemy i kwestie społeczne IV semestr Lesiewicz, PRACA SOCJALNA
Fitoterapia niektórych problemów meno- i andropauzy, farmacja IV, lek pochodzenia naturalnego, Leki
Cw8LPCPS, Edukacja, studia, Semestr IV, Podstawy i Algorytmy Przetwarzania Sygnałów, Ćwiczenia, Cwic
cps tablica transformat, Edukacja, studia, Semestr IV, Podstawy i Algorytmy Przetwarzania Sygnałów
Algorytmy genetyczne - problem 8 hetmanów., Nauka
PROBLEMY PODATKOWE W RACHUNKOWOŚCI wykład IV?rczyk
PROBLEM IDENTYFIKACJI SPRAWCY PRZESTĘPSTWA PODCZAS KONFRONTACJI, Psychologia UŚ, Semestr IV, Propede
Wyklad 07 Problem Algorytm Program
Piapsy zagadnienia, Edukacja, studia, Semestr IV, Podstawy i Algorytmy Przetwarzania Sygnałów
IV - 22 Opis algorytmu analizy statycznej konstrukcji prętow, IV - 22

więcej podobnych podstron