• Nie Znaleziono Wyników

Graf skierowany (digraf)

N/A
N/A
Protected

Academic year: 2021

Share "Graf skierowany (digraf)"

Copied!
60
0
0

Pełen tekst

(1)

Graf skierowany (digraf)– zbiór wierzchołków i zbiór krawędzi skierowanych łączących (co najwyżej jeden raz)

uporządkowane pary wierzchołków. Mówimy wtedy, że krawędź łączy pierwszy wierzchołek z drugim (albo, że prowadzi od pierwszego wierzchołka do drugiego).

Digraf o V wierzchołkach posiada V

2

krawędzi, zatem liczba różnych digrafów o V wierzchołkach wynosi 2

VxV

Nie dopuszczamy krawędzi

wielokrotnych, ale przyjmujemy, że każdy wierzchołek ma jedną pętlę

(2)

Ścieżka skierowana– ciąg wierzchołków, w którym każdy jest połączony krawędzią ze swoim następnikiem. Mówimy, że wierzchołek t jest osiągalny z s, jeśli istnieje ścieżka

skierowana z s do t.

(3)

Przykład grafu skierowanego

Lista wierzchołków i krawędzi

(4)

Reprezentacja dla digrafów jest taka sama jak dla grafów nieskierowanych

0 1 2 3 4 5 6 7 8 9 10 11 12

0 1 1 0 0 0 1 1 0 0 0 0 0 0

1 0 1 0 0 0 0 0 0 0 0 0 0 0

2 1 0 1 1 0 0 0 0 0 0 0 0 0

3 0 0 1 1 0 1 0 0 0 0 0 0 0

4 0 0 1 1 1 0 0 0 0 0 0 1 0

5 0 0 0 0 1 1 0 0 0 0 0 0 0

6 0 0 0 0 1 0 1 0 0 1 0 0 0

7 0 0 0 0 0 0 1 1 1 0 0 0 0

8 0 0 0 0 0 0 0 1 1 1 0 0 0

9 0 0 0 0 0 0 0 0 0 1 1 1 0

10 0 0 0 0 0 0 0 0 0 0 1 0 1

11 0 0 0 0 0 0 0 0 0 0 0 1 1

12 0 0 0 0 0 0 0 0 0 1 0 0 1

Macierz sąsiedztwa

(5)

Lista sąsiedztwa

(6)

Jeśli każdy wierzchołek digrafu posiada pętlę oraz każdej krawędzie skierowanej odpowiada krawędź w przeciwną stronę, nie ma różnicy pomiędzy reprezentacjami grafów skierowanych i nieskierowanych.

(7)

Stopień wejściowy (indegree) wierzchołka, to liczba krawędzi

wychodzących z tego wierzchołka, a stopień wyjściowy (outdegree) wierzchołka, to liczba krawędzi wychodzących z tego wierzchołka.

Żaden wierzchołek nie jest osiągany z wierzchołka o stopniu wejściowym 0, zwanego ujściem.

Wierzchołek o stopniu wejściowym 0, zwany źródłem, nie jest osiągany z żadnego innego wierzchołka.

(8)

Stopień wejściowy (indegree) wierzchołka, to liczba krawędzi

wychodzących z tego wierzchołka, a stopień wyjściowy (outdegree) wierzchołka, to liczba krawędzi wychodzących z tego wierzchołka.

Żaden wierzchołek nie jest osiągany z wierzchołka o stopniu wejściowym 0, zwanego ujściem.

Wierzchołek o stopniu wejściowym 0, zwany źródłem, nie jest osiągany z żadnego innego wierzchołka.

n, m – ilość wierzchołków i krawędzi

(9)
(10)

Odwrotnością digrafu nazywamy digraf otrzymany przez odwrócenie kierunków wszystkich krawędzi.

Odwrotności używamy wtedy, kiedy chcemy wiedzieć, skąd krawędzie przychodzą.

(11)

Reprezentacja macierzowa a odwrotność digrafu

Tworzymy kopię macierzy i transponujemy ją (czyli zamieniamy wiersze z kolumnami)

Albo

Jeżeli wiemy, że graf nie będzie modyfikowany – zamieniamy

miejscami końce krawędzi przy odwołaniach do nich, np. krawędź s-t jest oznaczona 1 w adj[s][t], a w odwrotności grafu 1 byłaby w

adj[t][s]. Zatem, jeśli wywołujemy edge(s, t), to w odwrotności wystarczy wywołać edge(t,s ) .

Albo

Utrzymujemy dwie reprezentacje każdej krawędzi skierowanej, ale z dodatkowym bitem informacji określającym kierunek

(12)

template <class inGraph, class outGraph>

void reverse(const inGraph &G, outGraph &R) {

for(int v = 0; v < G.V(); v++) {

typename inGraph::adjIterator A(G,v);

for (int w = A.beg(); !A.end(); w = A.nxt()) R.insert(Edge(w, v));

} }

Odwracanie digrafu – funkcja dodaje odwrócone krawędzie digrafu wskazanego przez pierwszy argument do digrafu z drugiego argumentu.

(13)

Dag – skierowany graf acykliczny, czyli digraf bez cykli skierowanych.

(14)

Digraf jest silnie spójny, jeśli każdy jego wierzchołek jest osiągalny z dowolnego innego.

Dwa wierzchołki w digrafie s i t są silnie połączone, jeśli istnieje ścieżka skierowana z s do t i z t do s.

Własność 1.

Digraf, który nie jest silnie spójny, składa się ze zbioru silnie

spójnych składowych (silnych składowych), będących maksymalnymi podgrafami silnie spójnymi oraz ze zbioru krawędzi pomiędzy silnymi składowymi.

(15)

Definicja.

Dla danego digrafu D, określamy digraf K(D) o własnościach:

•każdy wierzchołek odpowiada jednej silnej składowej w D,

•każda krawędź odpowiada zbiorowi krawędzi w D, łączących

wierzchołki pomiędzy właściwymi składowymi (odpowiadającymi obu końcom krawędzi z K(D)).

Wówczas K(D) jest dagiem, który nazywamy jądrem digrafu D

Ten digraf ma 4 silne składowe

składowe

Jądro digrafu

(16)

Jakie problemy mogą pojawiać się w digrafach?

Wykrywanie cykli skierowanych – czy digraf posiada cykle skierowane (czy jest dagiem)?

Własność

Digraf jest dagiem wtedy i tylko wtedy, gdy - podczas sprawdzania go algorytmem przeszukiwania w głąb – nie napotkamy krawędzi powrotnych

Osiągalność z pojedynczego źródła – jakie wierzchołki są osiągane z danego wierzchołka początkowego s, ile jest takich wierzchołków?

Własność.

Problem osiągalności z pojedynczego źródła s można rozwiązać za pomocą algorytmu przeszukiwania w głąb rozpoczętego w wierzchołku s w czasie

proporcjonalnym do liczby krawędzi podgrafu indukowanego przez wierzchołki osiągalne z s.

(17)

Pozostaje rozważyć algorytm przeszukiwania w głąb DFS, czyli Depth- First-Search (jest również algorytm przeszukiwania wszerz – BSF) grafu.

Zaczniemy od grafu nieskierowanego.

Idea jest podobna do przechodzenia przez drzewo w kolejności pre-order (najpierw rodzic, a potem

rekursywnie - dzieci)

(18)

Pozostaje rozważyć algorytm przeszukiwania w głąb DFS, czyli Depth- First-Search (jest również algorytm przeszukiwania wszerz – BSF) grafu.

Zaczniemy od grafu nieskierowanego.

Idea jest podobna do przechodzenia przez drzewo w kolejności pre-order (najpierw rodzic, a potem

rekursywnie - dzieci)

Algorytm odwiedza sąsiadów korzystając z rekurencji.

Wędrując z u do v, rekurencyjnie odwiedzamy wszystkich sąsiadów v do tej pory nieodwiedzonych, potem wracamy do u.

Możliwe jest, że w2 nie był odwiedzany, kiedy rekurencyjnie odwiedzaliśmy w1, ale zostanie odwiedzony w czasie, gdy

powrócimy z wywołania rekurencyjnego.

(19)

Fragment algorytmu zapisany w pseudokodzie.

(20)

Jak to działa?

Co było poprzednikiem?

(21)
(22)
(23)
(24)
(25)
(26)
(27)

RDS(7) kończy, bo już nie ma nieodwiedzonych sąsiadów.

(28)

Jak tym algorytmem znajdywać ścieżkę?

(29)

Otrzymujemy w ten sposób drzewo ścieżek DFS

(30)

Złożoność czasowa DFS z zastosowaniem list sąsiedztwa:

Nigdy nie odwiedzamy wierzchołka więcej niż raz.

Sprawdzamy zatem wszystkie wierzchołki grafu (wiemy, że suma stopni wszystkich wierzchołków jest równa 2E.

Dla każdego wierzchołka zabiera to czas proporcjonalny do stopnia wierzchołka +1.

Stąd czas wykonania DFS jest proporcjonalny do sumy ilości wierzchołków i krawędzi, czyli O(V+E).

(31)

Złożoność czasowa DFS z zastosowaniem macierzy sąsiedztwa:

Czas wykonania DFS jest proporcjonalny do kwadratu ilości wierzchołków, czyli O(V2).

Wniosek:

Czas działania algorytmu DFS jest liniowy względem rozmiaru struktury danych użytej do reprezentowania grafu.

(32)

Możemy wzbogacić rysunek drzewa dla algorytmu DFS, aby uzyskać więcej informacji.

Dwie reprezentacja każdej przetwarzanej krawędzi ( w obu kierunkach)

Jedna reprezentacja każdej przetwarzanej krawędzi

Algorytm bada

wszystkie krawędzie

Drzewo DFS jest innym sposobem przedstawienia grafu

(33)

Krawędź do jeszcze nie

odwiedzonego wierzchołka DFS napotkał krawędź

prowadzącą do wierzchołka już odwiedzonego

Prowadzą do wierzchołków, dla których DFS

jest w trakcie wywołania rekurencyjnego Obejście drzewa w porządku prefiksowym jest takie samo jak kolejność badania krawędzi grafu przez DFS

(34)

Krawędź do jeszcze nie

odwiedzonego wierzchołka DFS napotkał krawędź

prowadzącą do wierzchołka już odwiedzonego

Prowadzą do wierzchołków, dla których DFS

jest w trakcie wywołania rekurencyjnego Obejście drzewa w porządku prefiksowym jest takie samo jak kolejność badania krawędzi grafu przez DFS

Jeśli w grafie po lewej usuniemy szare wierzchołki (środkowy rysunek) i zastąpimy wierzchołki zewnętrzne krawędziami, to otrzymamy na powrót wyjściowy graf (prawy rysunek)

(35)

Krawędzie Drzewowe – reprezentują

wywołania rekurencyjne Powrotne – łączą wierzchołki z ich przodkami nie będącymi ich ojcami w drzewie DFS

Gałąź drzewowa – krawędź z

wierzchołka v do w, jeśli w jest

nienaznaczony

Gałąź do ojca – krawędź z

wierzchołka v do w, jeśli wskaźnik na ojca w jest równy v

Gałąź powrotna – krawędź z

wierzchołka v do w, jeśli numer w

porządku

prefiksowym w jest mniejszy niż numer w porządku

prefiksowym v

Gałąź zstępująca – krawędź z

wierzchołka v do w, jeśli numer w

porządku

prefiksowym w jest większy niż numer w porządku

prefiksowym v

(36)

Jeśli graf nie jest spójny, to dynamikę przeszukiwania DFS można opisać za pomocą lasu DFS, zawierającym po jednym drzewie dla każdej składowej spójnej.

Używając reprezentacji grafu w postaci list sąsiedztwa odwiedzamy krawędzie w innej kolejności, niż wtedy, gdy użyjemy reprezentacji grafu w postaci macierzy sąsiedztwa.

(37)

Las DFS odpowiada przeszukiwaniu w głąb grafu reprezentowanego w postaci macierzy sąsiedztwa.

Graf posiada 3 składowe spójne, więc las zawiera 3 drzewa.

Do okrągłych wierzchołków prowadzą krawędzie drzewa, do kwadratowych –

krawędzie powrotne. Szary kolor wskazuje, że krawędzie do tych wierzchołków zostały już wcześniej napotkane w odwrotnej orientacji.

(38)

Las DFS odpowiada przeszukiwaniu w głąb grafu reprezentowanego w postaci listy sąsiedztwa.

Graf posiada 3 składowe spójne, więc las zawiera 3 drzewa.

Do okrągłych wierzchołków prowadzą krawędzie drzewa, do kwadratowych –

krawędzie powrotne. Szary kolor wskazuje, że krawędzie do tych wierzchołków zostały już wcześniej napotkane w odwrotnej orientacji.

(39)

Klasyfikacja krawędzi dla digrafów:

 Krawędzie drzewowe – krawędzie reprezentujące wywołania rekurencyjne

 Krawędzie powrotne – krawędzie prowadzące do przodka danego wierzchołka w drzewie DFS

 Krawędzie zstępujące – krawędzie do potomka danego wierzchołka w drzewie DFS

 Krawędzie poprzeczne – pozostałe krawędzie (nie prowadzą ani do potomka, ani do przodka w drzewie DFS)

(40)

Las DFS dla digrafu reprezentowanego za pomocą list sąsiedztwa

Zewnętrzne węzły reprezentują

wierzchołki już odwiedzone,

pozostała część lasu jest digrafem o

wszystkich krawędziach

biegnących w dół.

(41)

Las DFS dla digrafu reprezentowanego za pomocą list sąsiedztwa

Zewnętrzne węzły reprezentują

wierzchołki już odwiedzone,

pozostała część lasu jest digrafem o

wszystkich krawędziach

biegnących w dół.

Krawędź drzewowa do węzła wewnętrznego

Krawędź powrotna Krawędź zstępująca Krawędź poprzeczna

(42)

Własność.

W lesie DFS dla digrafu krawędź do odwiedzanego węzła jest

 krawędzią powrotną, jeśli prowadzi do węzła o wyższym numerze postfiksowym

 krawędzią poprzeczną, jeśli prowadzi do węzła o niższym numerze prefiksowym

 krawędzią zstępującą, jeśli prowadzi do węzła o wyższym numerze prefiksowym

(43)

Lasy DFS dla tego samego digrafu mogą się znacznie różnić – np. liczba drzew lasu DFS zależy od wyboru wierzchołka początkowego.

(44)

Czy digraf posiada cykle skierowane (czy digraf jest dagiem)?

W grafach nieskierowanych każda krawędź do

odwiedzanego wierzchołka wskazuje na istnienie cyklu, w digrafach trzeba rozważać krawędzie powrotne.

Własność.

Digraf jest dagiem wtedy i tylko wtedy, gdy – podczas badania za pomocą DFS każdej krawędzi – nie napotkamy krawędzi powrotnych.

(45)

Dowód.

Każda krawędź powrotna należy do cyklu skierowanego zawierającego samą krawędź oraz ścieżkę w drzewie łączącą oba węzły, nie znajdziemy więc

krawędzi powrotnych, przeszukując dag za pomocą DFS.

W drugą stronę: wystarczy pokazać, że jeśli digraf posiada cykl, to DFS napotka krawędź powrotną. Jeśli v jest pierwszym wierzchołkiem cyklu

odwiedzonym przez DFS, to wierzchołek ten ma najniższy numer prefiksowy spośród wszystkich krawędzi cyklu. Krawędź cyklu prowadząca do tego wierzchołka będzie więc krawędzią powrtoną: zostanie ona napotkana

podczas wywołania rekurencyjnego z vi będzie prowadzić od pewnego węzła cyklu do węzła o niższym numerze prefiksowym.

(46)

Głównym celem DFS jest systematyczne odwiedzenie wszystkich wierzchołków i krawędzi

Jakie wierzchołki są osiągane z danego wierzchołka początkowego s?

Ile jest takich wierzchołków?

Problem osiągalności z pojedynczego źródła

(47)

Głównym celem DFS jest systematyczne odwiedzenie wszystkich wierzchołków i krawędzi

Jakie wierzchołki są osiągane z danego wierzchołka początkowego s?

Ile jest takich wierzchołków?

Problem osiągalności z pojedynczego źródła

Własność

Problem osiągalności z pojedynczego źródła s można rozwiązać za pomocą DFS rozpoczętego w wierzchołku s w czasie proporcjonalnym do liczby krawędzi podgrafu indukowanego przez wierzchołki osiągane z s.

(48)

Dowód.

Własność ta jest prawdziwa dla grafu z jednym wierzchołkiem bez krawędzi.

Dla dowolnego digrafu przeprowadzamy dowód indukcyjnie. Zakładamy, że własność zachodzi dla wszystkich digrafów o mniejszej liczbie wierzchołków.

Wtedy pierwsza wzięta pod uwagę krawędź s dzieli digraf na podgrafy indukowane przez dwa zbiory wierzchołków:

a) Wierzchołki możliwe do osiągnięcia po ścieżkach skierowanych niezawierających s i rozpoczynających się tą krawędzią

b) Wierzchołki, do których nie da się dojść po ścieżkach skierowanych niezawierających s i rozpoczynających się tą krawędzią.

Do tych podgrafów stosujemy założenie indukcyjne – nie ma krawędzi z wierzchołków pierwszego podgrafu do innych niż s wierzchołków drugiego podgrafu. Krawędzie do s zostaną zignorowane, ponieważ wierzchołek s ma

najniższy numer prefiksowy oraz wszystkie wierzchołki pierwszego podgrafu mają niższy numer prefiksowy niż dowolny wierzchołek drugiego podgrafu. Zatem

wszystkie krawędzie z wierzchołków drugiego podgrafu wierzchołków pierwszego podgrafu zostaną pominięte.

(49)

Definicja

Domknięciem przechodnim digrafu nazywamy digraf o tym samym zbiorze wierzchołków, dla którego krawędź z wierzchołka s do t

istnieje wtedy i tylko wtedy, gdy w digrafie wyjściowym istnieje ścieżka skierowana z s do t.

W domknięciu przechodnim z każdego wierzchołka wychodzą krawędzie do wszystkich

osiągalnych z niego wierzchołków

(50)

Definicja

Domknięciem przechodnim digrafu nazywamy digraf o tym samym zbiorze wierzchołków, dla którego krawędź z wierzchołka s do t

istnieje wtedy i tylko wtedy, gdy w digrafie wyjściowym istnieje ścieżka skierowana z s do t.

W domknięciu przechodnim z każdego wierzchołka wychodzą krawędzie do wszystkich

osiągalnych z niego wierzchołków Własność

Domknięcie przechodnie digrafu można wyznaczyć, konstruując dla niego macierz sąsiedztwa A, dodając pętlę dla każdego

wierzchołka , a następnie obliczając AV

(51)

AV=A*A*A*…*A – mnożenie boolowskie macierzy boolowskiej przez siebie V razy.

for(s = 0; s < V; s++) for(t = 0; t < V; t++)

for(i = 0; C[s][t] = 0; i < V; i++) C[s][t] += A[s][i]*B[i][t];

C=A*B

for(s = 0; s < V; s++) for(t = 0; t < V; t++)

for(i = 0; C[s][t] = 0; i < V; i++) if(A[s][i] && B[i][t]) C[s][t]= 1;

+ or

* and

mnożenie macierzy boolowskich

(52)

AV=A*A*A*…*A – mnożenie boolowskie macierzy boolowskiej przez siebie V razy.

for(s = 0; s < V; s++) for(t = 0; t < V; t++)

for(i = 0; C[s][t] = 0; i < V; i++) C[s][t] += A[s][i]*B[i][t];

C=A*B

for(s = 0; s < V; s++) for(t = 0; t < V; t++)

for(i = 0; C[s][t] = 0; i < V; i++) if(A[s][i] && B[i][t]) C[s][t]= 1;

+ or

* and

mnożenie macierzy boolowskich

C=A*A=A2 – dla każdej pary wierzchołków s i t, w C znajduje się

krawędź z s do t wtedy i tylko wtedy, gdy mażna wskazać wierzchołek i, dla którego w A istnieją krawędzie z s do i oraz z i do t.

Krawędzie w A2 odpowiadają ścieżkom skierowanym o długości 2 w A.

Jeśli do każdego wierzchołka dołączymy pętlę, to A2 zawiera także wszystkie krawędzie z A.

(53)

Własność

Domknięcie przechodnie digrafu można wyznaczyć, konstruując dla niego macierz sąsiedztwa A, dodając pętlę dla każdego

wierzchołka , a następnie obliczając AV

Dowód.

Opierając się na poprzednim rozumowaniu, pokazuje się, że A3 zawiera krawędzie odpowiadające ścieżkom o długości nie większej niż 3, A4 – o długości nie większej niż 4, itd. Ścieżki o długości większej niż V można pominąć, bo z zasady szufladkowej Dirichleta wynika, że na takiej

ścieżce przynajmniej jeden wierzchołek musi wystąpić dwukrotnie (mamy ich tylko V). Taka ścieżka nie wnosi nic nowego do domknięcia przechodniego, ponieważ istnieje krótsze połączenie pomiędzy jej dwoma końcami

(54)

Złożoność czasowa:

Mamy: V mnożeń macierzy, każde o czasie wykonania rzędu V3, zatem wychodzi nam V4.

Dla mnożeń boolowskich mamy lg V operacji mnożenia

macierzy, bo liczymy kolejno A2, A4, A8, …, aż wykładnik będzie większy bądź równy V.

Stąd mamy V3lg V=AV.

(55)

Jeszcze prościej:

Algorytm Warshalla wyznacza domknięcie przechodnie digrafu w czasie rzędu V3.

Algorytm dla gęstych digrafów:

For(i = 0; i < V; i++) for(s = 0; s < V; s++)

for(t = 0; t < V; t++)

if(A[s][i] && A[i][t]) A[s][t]= 1;

Różnica tkwi w kolejności pętli for

(56)

Czy da się jeszcze poprawić algorytm Warshalla?

For(i = 0; i < V; i++) for(s = 0; s < V; s++)

for(t = 0; t < V; t++)

if(A[s][i] && A[i][t]) A[s][t]= 1;

TAK

Można skrócić czas wykonania algorytmu przesuwając sprawdzenie A[s][i] poza wewnętrzna pętlę (nie zależy od t).

Unikamy t-krotnego wykonywania wewnętrznej pętli, gdy A[s][i]=0.

(57)

Czy da się jeszcze poprawić algorytm Warshalla?

For(i = 0; i < V; i++) for(s = 0; s < V; s++)

for(t = 0; t < V; t++)

if(A[s][i] && A[i][t]) A[s][t]= 1;

TAK

Można skrócić czas wykonania algorytmu przesuwając sprawdzenie A[s][i] poza wewnętrzna pętlę (nie zależy od t).

Unikamy t-krotnego wykonywania wewnętrznej pętli, gdy A[s][i]=0.

Dla wielkich grafów rzadkich koszt wykonywania algorytmu jest wciąż duży!

(58)

Jak to poprawić?

Nie jest potrzebna cała macierz, by wyznaczyć domknięcie przechodnie.

Wystarczy sprawdzić istnienie jedynie niewielkiej liczby krawędzi, więc można wstępnie przetworzyć dany digraf, tzn. posługując się abstrakcyjnym typem danych, który udostępnia operację sprawdzania osiągalności – posługujemy się wtedy terminem abstrakcyjnego domknięcia przechodniego.

(59)

Jak to poprawić?

Nie jest potrzebna cała macierz, by wyznaczyć domknięcie przechodnie.

Wystarczy sprawdzić istnienie jedynie niewielkiej liczby krawędzi, więc można wstępnie przetworzyć dany digraf, tzn. posługując się abstrakcyjnym typem danych, który udostępnia operację sprawdzania osiągalności – posługujemy się wtedy terminem abstrakcyjnego domknięcia przechodniego.

Własność.

Sprawdzanie w stałym czasie osiągalności (abstrakcyjne domknięcie przechodnie) dla digrafu może być zrealizowane po wykonaniu

operacji wstępnych w czasie rzędu V3, przy wykorzystaniu pamięci rzędu V2.

Własność.

Z wykorzystaniem DFS można uzyskać stały czas dla sprawdzania osiągalności dla abstrakcyjnego domknięcia przechodniego digrafu, wykonując operacje wstępne (wyznaczanie domknięcia przechodniego) w czasie rzędu V(V+E) i przy wykorzystaniu pamięci rzędu V2

(60)

Dowód.

DFS wyznacza wszystkie wierzchołki osiągalne z wierzchołka początkowego w czasie rzędu E, dla reprezentacji w postaci listy sąsiedztwa.

Jeśli uruchomimy DFS V razy, jednokrotnie z każdego wierzchołka , to otrzymamy zbiory wierzchołków osiągalnych z każdego z wierzchołków (czyli domknięcie przechodnie) w czasie rzędu V(V+E).

Cytaty

Powiązane dokumenty

Udowodnić, że średnia arytmetyczna tych liczb jest równa n+1 r

(Fakt ten nosi nazwę Twierdzenia

(Fakt ten nosi nazwę Twierdzenia

Niech H oznacza

Zastanów si¦, jak wygl¡da twierdzenie o arytmetyce granic, gdy s¡ one niewªa±ciwe.. Jego granica

Utrata zwi¸ azk´ ow fazowych (tzw. koherencji) zredukowanego opera- tora stanu w wyniku ewolucji uk ladu rozszerzonego jest nazywana dekoherencj¸

[r]

Dane są dodatnio (prawostronnie) asymetryczne wtedy i tylko wtedy gdy ich funkcja symetrii jest niemalejąca.. Wykres dowolnej funkcji symetrii leży w pewnym