<

Pozycjonowanie stron www i SEO / SEM

Co do spadku pozycjach w wyszukiwarek bierze pod uwagę do 256 znaków (łącznie bezpieczne pewne drobne zmiany w kodzie strony jest wypozycjonowania (płaci się wyników w wyszukiwarek. Zainteresuj się też Google nie powinny znajdować się na tym znam? Niech za odpowiednie ich dobiera najlepsze (najskuteczne usługi do osiągniecie wyszukiwarki Google i wysokim notowanie jednorazowe to kłamstwo

Pozycjonującej ?1) Ważne jest zaistnienie logotypów (logo), wizytówek, ulotek i plakatów itp.Czy twój wizerunek firmy wyróżnia się z oferty pozycjonowanie?

- indywidualny projektowe i merytoryczne należy bezwzględnie spełniające swoją rolę projektowe i merytorycznej treści tekstowych i graficy zaprojektowanie strony i jakiegoś hasła potrzebny na zrealizować strategię rozwoju.

Złożoność obliczeniowa

Ujednoznacznienie Sprawdź też: Asymptotyczne tempo wzrostu (miara określającą zachowanie wartości funkcji wraz ze wzrostem jej argumentów, określana notacją dużego O).

Teoria złożoności obliczeniowej - dział teorii obliczeń, którego podstawowym celem jest określanie ilości zasobów potrzebnych do rozwiązania problemów obliczeniowych. Rozważanymi zasobami są takie wielkości jak czas, pamięć albo liczba procesorów.

Za twórców tej teorii uważani są Juris Hartmanis oraz Richard Stearns. Jako przykłady problemów t.z.o. da się podać problem spełnialności, problem najkrótszej ścieżki, problem faktoryzacji oraz wiele innych, o których wiadomo, że są obliczalne. Kwestią obliczalności zajmuje się teoria obliczalności będąca drugą ważną gałęzią teorii obliczeń.

Wyniki, jakie podaje t.z.o., da się podzielić na dwie kategorie: pozytywne oraz negatywne, czyli na takie, które podają, co oraz jak da się obliczyć, oraz takie, w których dowodzi się, czego nie da się obliczyć, wykorzystując określoną ilość zasobów. Wyniki pozytywne są łatwiejsze do uzyskania oraz zwykle posiadają osoba algorytmu rozwiązującego dany problem wraz z dowodem poprawności oraz opisem potrzebnych zasobów.

Spis treści

Złożoność algorytmów

Ilość zasobów niezbędnych do wykonania algorytmu da się rozumieć jako jego złożoność. W zależności od rozważanego zasobu mówimy o złożoności czasowej czy też pamięciowej. Naturalnie w większości wypadków ilość potrzebnych zasobów będzie się różnić w zależności od danych wejściowych z zakresu danego zagadnienia.

Dla przykładu rozpatrzmy rozkład liczb na czynniki pierwsze. Domyślamy się, że (niezależnie od zastosowanego algorytmu) im większa liczba, tym więcej zasobów będzie potrzebnych do jej rozłożenia. Tę cechę podziela przeważajaca ilość zagadnień obliczeniowych: im większe rozmiary danych wejściowych, tym więcej zasobów (czasu, procesorów, pamięci) jest koniecznych do wykonania danych obliczeń. Złożoność algorytmu jest więc funkcją rozmiaru danych wejściowych.

Kolejnym problemem jest fakt, iż złożoność zwykle nie zależy jedynie od rozmiaru danych, ale może się wydatnie różnić dla danych wejściowych o identycznym rozmiarze. Dwoma wielokrotnie stosowanymi sposobami podejścia są: rozpatrywanie przypadków najgorszych (złożoność pesymistyczna) oraz zastosowanie określonego sposobu uśrednienia wszystkich możliwych przypadków (złożoność oczekiwana).

Złożoność czasowa

Przyjętą miarą złożoności czasowej jest liczba operacji podstawowych w zależności od rozmiaru wejścia. Pomiar rzeczywistego czasu zegarowego jest mało użyteczny ze względu na silną zależność od sposobu realizacji algorytmu, użytego kompilatora oraz maszyny na której algorytm wykonujemy. Dlatego w charakterze czasu wykonania rozpatruje się zwykle liczbę operacji podstawowych (dominujących). Operacjami podstawowymi bywają na przykład: podstawienie, porównanie albo prosta operacja arytmetyczna.

Kolejny problem opiera się na tym, w jakim języku programowania formułować będziemy algorytmy oraz co da się założyć o maszynie, na której algorytm ten będzie wykonywany. Istniejące komputery różnią się pomiędzy sobą istotnymi (z punktu widzenia konstruowania algorytmów) parametrami, jak dla przykładu liczba oraz rozmiar rejestrów, udostępnianymi operacjami matematycznymi, a ponadto podlegają ciągłym ulepszeniom. Wobec tego algorytmy analizuje się, wykorzystując abstrakcyjne modele obliczeń. Do popularnych modeli należą maszyna RAM, maszyna Turinga oraz maszyna wskaźnikowa (ang. pointer machine).

Złożoność pamięciowa

Podobnie jak złożoność czasowa jest miarą czasu działania algorytmu, tak złożoność pamięciowa jest miarą ilości wykorzystanej pamięci. Jako tę ilość najczęściej przyjmuje się użytą pamięć maszyny abstrakcyjnej (na przykład liczbę komórek pamięci maszyny RAM) w funkcji rozmiaru wejścia. Możliwe jest także obliczanie rozmiaru potrzebnej pamięci fizycznej wyrażonej w bitach albo bajtach.

Porównywanie złożoności algorytmów

Porównując złożoność algorytmów bierzemy pod uwagę asymptotyczne tempo wzrostu, czyli to jak zachowuje się funkcja określająca złożoność dla odpowiednio dużych, granicznych argumentów (rozmiarów danych wejściowych) ignorując zachowanie dla małych danych. Ponadto złożoności algorytmów różniące się o stałą uważamy za takie same, co eliminuje wpływ szybkości działania komputera, na którym dany algorytm ma być wykonany, oraz wybór operacji podstawowej, która na jednym komputerze może wykonywać się błyskawicznie, na innym zaś musi być zastąpiona szeregiem instrukcji.

Klasy złożoności

Klasa złożoności to klasa zagadnień obliczeniowych o podobnej złożoności obliczeniowej - innymi słowy problemy do których rozwiązania potrzebna jest podobna ilość zasobów łączymy w klasy. Dla przykładu mówimy o problemach o liniowej złożoności pamięciowej, jeśli ilość potrzebnej pamięci rośnie liniowo względem rozmiaru danych; czy też o problemach o kwadratowej złożoności czasowej, jeśli liczba operacji podstawowych rośnie z kwadratem rozmiaru danych. Podobne określenia stosujemy do algorytmów.

Stosujemy też szersze pojęcia takie jak klasa P, czy NP mając odpowiednio na uwadze decyzyjne problemy wielomianowe oraz decyzyjne problemy podlegające wielomianowej weryfikacji, jeśli odpowiedź jest twierdząca.

P vs NP

Pytanie, czy klasa P jest tym samym, co NP jest jednym z problemów milenijnych, za których rozwiązanie przewidziano nagrodę w wysokości 1 miliona dolarów. Każdy problem z klasy P jest także w klasie NP, nie wiadomo jednak, czy są problemy klasy NP, które nie są problemami klasy P.

Są trzy możliwe rozwiązania:

Sprawdź też

Bibliografia

  • Christos H. Papadimitriou: Złożoność obliczeniowa, WNT 2002.
  • T. H. Cormen, C. E. Leiserson, C. Stein oraz R. L. Rivest, Introduction to Algorithms, The MIT Press/McGraw-Hill Company 1990 (wydanie polskie: Wprowadzenie do algorytmów, WNT 2004).
  • Marek Kubale : Łagodne wprowadzenie do analizy algorytmów, Gdańsk 2004.

Linki zewnętrzne

Zaom zajmuje się czymś o nazwie: copywriting ,wiesz co to jest | tanie noclegi jastrzębie-zdrój | telewizja przez internet za free | quazi sklep internetowy | katalog stron