• Nie Znaleziono Wyników

Metoda list inwersyjnych

N/A
N/A
Protected

Academic year: 2021

Share "Metoda list inwersyjnych"

Copied!
42
0
0

Pełen tekst

(1)

Metoda list inwersyjnych

Wykład III

(2)

Plan wykładu

• Cele metody

• Tworzenie kartoteki wyszukiwawczej

• Redundancja i zajętość pamięci

• Wyszukiwanie informacji

• Czasy wyszukiwania

• Ocena metody: wady i zalety

• Modyfikacje

• aktualizacja

(3)

Cel metody

• Skrócenie czasu wyszukiwania na pytania

szczegółowe – pamiętając o tym jak długi był

czas wyszukiwania odpowiedzi na tego typu

pytania w metodzie list prostych !

(4)

Lista inwersyjna

• To lista adresów obiektów, które w swoim opisie zawierają deskryptor d i (d i  t x ), gdzie d i =(a j ,v ij ).

• Oznaczamy je jako L(d i )={n 1 ,n 2 ,…,n z } pod warunkiem, że elementy: n 1 ,n 2 ,…,n z będą adresami obiektów x 1 ,x 2 ,…,x z .

• Tworzymy tyle list inwersyjnych ile jest w

systemie deskryptorów d i .

(5)

Tworzenie kartoteki wyszukiwawczej

(6)

Przykładowy system informacyjny

• Wszystkie obiekty mają unikalne opisy a więc

funkcja adresująca przydzieli każdemu obiektowi inny adres

C B A

X1 C1 B1 A1

X2 C1 B2 A1

X3 C2 B1 A1

X4 C2 B2 A1

X5 C3 B2 A2

X6 C3 B2 A1

X7 C4 B1 A2

x8 C4 B2 a2

(7)

C B A

1 X1 C1 B1 A1

2 X2 C1 B2 A1

3 X3 C2 B1 A1

4 X4 C2 B2 A1

5 X5 C3 B2 A2

6 X6 C3 B2 A1

7 X7 C4 B1 A2

8 x8 C4 B2 a2

(8)

Kartoteka wyszukiwawcza

Kartoteka wtórna z funkcją adresową

C B A

1 X1 C1 B1 A1 2 X2 C1 B2 A1 3 X3 C2 B1 A1 4 X4 C2 B2 A1 5 X5 C3 B2 A2 6 X6 C3 B2 A1 7 X7 C4 B1 A2 8 x8 C4 B2 a2

(a,a1) = {1,2,3,4,6}

(a,a2) = {5,7,8}

(b,b1) = {1,3,7}

(b,b2) = {2,4,5,6,8}

(c,c1) = {1,2}

(c,c2) = {3,4}

(c,c3) = {5,6}

(c,c4) = {7,8}

D = {(a,a1),(a,a2), (b,b1), (b,b2), (c,c1), (c,c2), (c,c3), (c,c4) }

(9)

Cechy kartoteki wyszukiwawczej

• Kolejność list inwersyjnych jest dowolna ale dla szybkości wyszukiwania stosuje się:

porządek leksykograficzny dla nazw (kodów)

deskryptorów.

(10)

Redundancja

• Informacja o każdym obiekcie pamiętana jest w wielu

miejscach – dokładnie tylu ile jest atrybutów opisujących każdy obiekt.

3 razy pamiętamy informację o adresie {1}

3 atrybuty w systemie: {a,b,c}

(a,a1) = {1,2,3,4,6}

(a,a2) = {5,7,8}

(b,b1) = {1,3,7}

(b,b2) = {2,4,5,6,8}

(c,c1) = {1,2}

(c,c2) = {3,4}

(c,c3) = {5,6}

(c,c4) = {7,8}

(11)

Wzór na redundancję

(a,a1) = {1,2,3,4,6}

(a,a2) = {5,7,8}

(b,b1) = {1,3,7}

(b,b2) = {2,4,5,6,8}

(c,c1) = {1,2}

(c,c2) = {3,4}

(c,c3) = {5,6}

(c,c4) = {7,8}

Dla r=8

2 )

, (

2 )

, (

2 )

, (

2 )

, (

5 ) , (

3 ) , (

3 ) , (

5 ) , (

4 3 2 1 2 1 2 1

c c

c c

c c

c c

b b

b b

a a

a a

8 2

8 ) 2 2 2 2 5 3 3 5

(         

R

(12)

Zajętość pamięci

• Zajętość pamięci zależy od liczby deskryptorów opisujących obiekty w systemie bo to dla nich budowane są listy inwersyjne.

Zajętość pamięci potrzebna na zapamiętanie jednej listy inwersyjnej.

R – liczba deskryptorów

(13)

Wyszukiwanie

• Mając zadane pytanie odnajdujemy listy inwersyjne a następnie adresy tych obiektów, które mają w swoim opisie deskryptory zawarte w pytaniu.

• Dla niezaprzeczonych deskryptorów pytania

obliczamy część wspólną (iloczyn

mnogościowy) odpowiadających im list

inwersyjnych.

(14)

Wyszukiwanie – pytanie ogólne

(15)

przykład

(a,a1) = {1,2,3,4,6}

(a,a2) = {5,7,8}

(b,b1) = {1,3,7}

(b,b2) = {2,4,5,6,8}

(c,c1) = {1,2}

(c,c2) = {3,4}

(c,c3) = {5,6}

(c,c4) = {7,8}

Wyszukiwanie odpowiedzi:

1. Szukamy wśród list inwersyjnych tej właściwej a więc zawierającej deskryptor z pytania t:

Czy t  (a,a1) ? NIE Czy t  (a,a2) ? NIE Czy t  (b,b1) ? NIE Czy t  (b,b2) ? NIE Czy t  (c,c1) ? NIE Czy t  (c,c2) ? NIE Czy t  (c,c3) ? TAK

2. Wygenerowanie listy inwersyjnej (c,c3) = {5,6}={x5,x6}

3. Znaczenie termu t: (t) = (c,c3) = {5,6}={x5,x6}

(16)

Wyszukiwanie: pytanie szczegółowe

(17)

Przykład

Wyszukiwanie odpowiedzi na pytanie t=(a,a1)(b,b1) + (c,c3) 1. T =t1 + t2

T1 = (a,a1)(b,b1) T2=(c,c3)

2. Szukamy odpowiednich list inwersyjnych osobno dla każdego termu składowego (najpierw dla t1):

a) Szukamy deskryptora (a,a1)

Czy t  (a,a1) ? Tak -> (a,a1) = {1,2,3,4,6}

b) Szukamy deskryptora (b,b1) Czy t  (a,a1) ? NIE

Czy t  (a,a2) ? Nie

Czy t  (b,b1) ? Tak -> (b,b1) = {1,3,7}

c) Wyznaczamy znaczenie termu t1, który jest iloczynem deskryptorów (a,a1) i (b,b1):

(t1) = {1,2,3,4,6} {1,3,7}={1,3} = {x1,x3}

3. Szukamy teraz znaczenia termu t2:

a) Szukamy list inwersyjnych dla wszystkich deskryptorów tego pytania, a wiec tylko (c,c3):

Czy t  (a,a1) ? NIE Czy t  (a,a2) ? NIE Czy t  (b,b1) ? NIE Czy t  (b,b2) ? NIE Czy t  (c,c1) ? NIE Czy t  (c,c2) ? NIE

Czy t  (c,c3) ? TAK -> (c,c3) = {5,6}

b) Wyznaczamy znaczenie termu t2: (t2) = {5,6} = {x5,x6}

4. Wyznaczamy znaczenie termu t:

(t) = {x1,x3} {x5,x6}={x1,x3,x5,x6}

(18)

W porównaniu z metodą list prostych…

• Nie jest tu konieczne przeglądanie wszystkich list inwersyjnych na dane pytanie. Należy wybrać tylko tyle list inwersyjnych, ile jest deskryptorów w

pytaniu i wykonać na tych listach operacje mnogościowe.

• Jest to więc szybsza metoda, ale ma również swoje wady:

1. Metoda operuje na adresach (numerach), a nie na opisach obiektów. Nie możemy więc bezpośrednio przy wyszukiwaniu uwzględnić m.in. związków między deskryptorami w opisach dokumentów.

2. Deskryptory ogólne (powtarzające się w dużej liczbie opisów

dokumentów) zwiększają redundancję i czas wyszukiwania.

(19)

Czas wyszukiwania

• Dla każdego deskryptora szukamy listy

inwersyjnej i potem dokonujemy przecięcia (operacji mnogościowej).

•  gi – czas generowania listy inwersyjnej dla deskryptora d i

•  p – czas przecięcia

(20)

Aktualizacja

• Dodanie nowego obiektu wymaga wstawienia adresu obiektu wszędzie tam (gdzie występują deskryptory opisujące ten obiekt).

• Usunięcie obiektu wiąże się z koniecznością usunięcia adresu obiektu z każdej listy inwersyjnej w której on występuje.

• Modyfikacja opisu obiektu wymaga usunięcia adresu obiektu z listy, która mu już nie odpowiada i

dopisania do tej, która jest właściwa.

(21)

Wady i zalety

• Podstawowymi wadami metody list inwersyjnych są:

• nadmierna redundancja

• zajętość pamięci.

Aby zmniejszyć te dwa parametry, nie tracąc zbytnio na szybkości można zastosować

wybrane modyfikacje.

(22)
(23)

MODYFIKACJE:

PORZĄDKOWANIE ADRESÓW OBIEKTÓW NA LISTACH

PORZĄDKOWANIE LIST 1.WG DŁUGOŚCI

2.LEKSYKOGRAFICZNIE

3.WG WYBRANEGO KRYTERIUM Z TABLICA ADRESOWĄ (INDEKSOWANIE) 4.WG CZĘSTOŚCI WYSTĘPOWANIA DANYCH DESKRYPTORÓW W PYTANIU

TWORZENIE LIST ZREDUKOWANYCH

•ZAZNACZANIE PRZEDZIAŁÓW ADRESÓW

•LISTY DLA PAR DESKRYPTORÓWZ ZAZNACZENIE CZĘSCI WSPÓLNEJ

•LISTY WIELODESKRYPTOROWE

•USUWANIE LIST DŁUGICH – LISTY ZANEGOWANE

•TWORZENIE LIST DLA PEWNEGO POZBIORU DESKRYPTORÓW

DEKOMPOZYCJE

•ATRYBUTOWA

•OBIEKTOWA

•OBIEKTOWO – ATRYBUTOWA

(24)

MODYFIKACJE:

PORZĄDKOWANIE ADRESÓW OBIEKTÓW NA LISTACH

PORZĄDKOWANIE LIST 1.WG DŁUGOŚCI

2.LEKSYKOGRAFICZNIE

3.WG WYBRANEGO KRYTERIUM Z TABLICA ADRESOWĄ (INDEKSOWANIE) 4.WG CZĘSTOŚCI WYSTĘPOWANIA DANYCH DESKRYPTORÓW W PYTANIU

TWORZENIE LIST ZREDUKOWANYCH

•ZAZNACZANIE PRZEDZIAŁÓW ADRESÓW

•LISTY DLA PAR DESKRYPTORÓWZ ZAZNACZENIE CZĘSCI WSPÓLNEJ

•LISTY WIELODESKRYPTOROWE

•USUWANIE LIST DŁUGICH – LISTY ZANEGOWANE

•TWORZENIE LIST DLA PEWNEGO POZBIORU DESKRYPTORÓW

DEKOMPOZYCJE

•ATRYBUTOWA

•OBIEKTOWA

•OBIEKTOWO – ATRYBUTOWA

(25)

Tworzymy listy inwersyjne tylko dla wybranego podzbioru D’ deskryptorów, gdzie D’ D. Wybrany zbiór może być zbiorem deskryptorów najczęściej występujących w pytaniach do systemu S lub zbiorem deskryptorów pewnego atrybutu (pewnych atrybutów). Tworzymy listy inwersyjne

(di) = {n1,n2,…,nk}

gdzie:

di D’

' D di

i

 

TWORZENIE LIST DLA PEWNEGO

POZBIORU DESKRYPTORÓW

(26)

•Poprawa czasu wyszukiwania odpowiedzi

•zmniejszenie zajętości pamięci

Cel modyfikacji:

(27)

Jeśli t = t

1

+ t

2

+ . . . + t

m

i ti=d1 * d2 * …* dk to należy rozpatrzyć 3 przypadki:

1. Wszystkie deskryptory termów składowych zawierają się w D’. Jest to najlepszy możliwy przypadek. W tej sytuacji szybkość systemy jest maksymalna. Postępuje się jak w klasycznej metodzie list inwersyjnych.

(ti) = α(d1)α(d2) α(dk) , djD’, 1≤ j ≤ k ,

gdzie k to liczba deskryptorów pytania ti

2. Jeśli nie wszystkie deskryptory pytania ti należą do zbioru D’ to budujemy odpowiedź przybliżoną jako zbiór Xp, taki, że Xp =  α(dj) dla każdego djD’. Wtedy Xti  Xp . Taki zbiór Xp przeglądamy moetodą list prostych by znaleźć adresy tych obiektów, które w swoim opisie zawierają też pozostałe deskryptory pytania:

(ti) = X ti = {x  Xp: (x,ai) = vi, (ai,vi)=di. di  ti i di D’}

3. Jeśli żaden z deskryptorów nie zawiera się w D’ to należy dokonać przeglądu zupełnego (czyli potraktować kartotekę wtórną jako wyszukiwawczą i wykorzystać klasyczną metodę list prostych).

Wyszukiwanie

(28)

D = {(a,a1),(a,a2), (b,b1), (b,b2), (c,c1), (c,c2), (c,c3), (c,c4) }

(a,a1) = {1,2,3,4,6}

(a,a2) = {5,7,8}

(b,b1) = {1,3,7}

(b,b2) = {2,4,5,6,8}

(c,c1) = {1,2}

(c,c2) = {3,4}

(c,c3) = {5,6}

(c,c4) = {7,8}

przykład

Czyli D=5 zamiast 8, mamy więc r=5 a nie 8, przez co na pewno mamy mniejszą redundancję oraz zajętość pamięci….ale i …skraca się czas wyszukiwania każdej listy inwersyjnej w zbiorze list.

(29)

=(5+3+5+2+2 – 8)/8 = 9/8 = 1.1

= 5 * …

=tg jest mniejsze bo szukamy na

liscie 5 list inwersyjnych a nie 8

(30)

MODYFIKACJE poprawiające

czas wyszukiwania odpowiedzi

(31)

Porządkowanie adresów obiektów ww list inwersyjnych

• Skraca to czas przecięcia dwóch list inwersyjnych

L(a,a1) = {3,1,7,6}

L(b,b4)={2,1,5,6}

L((a,a1) (b,b4)) = {3,1,7,6} ∩{2,1,5,6}={1,6}

Ale by taką operację mnogościową wykonać potrzebujemy następujących porównań:

3 z 2, 3 z 1, 3 z 5, 3 z 6 – brak wspólnego elementu „3”

1 z 2, 1 z 1 – „1” jest wspólnym elementem 7 z 2, 7 z 1, 7 z 5, 7 z 6 – „7” nie jest wspólnym elementem

6 z 2, 6 z 1, 6 z 5, 6 z 6 – „6” jest wspólnym elementem

A wiec porównań jest 14 !!!

L(a,a1) = {1,3,6,7}

L(b,b4)={1, 2,5,6}

L((a,a1) (b,b4)) = {1,3,6,7} ∩{1, 2,5,6}}={1,6}

Ale by taką operację mnogościową wykonać potrzebujemy następujących porównań:

1 z 1 – „1” jest wspólnym elementem

3 z 1, 3 z 2, 3 z 5 - brak wspólnego elementu

„3”

6 z 5, 6 z 6 – „6” jest wspólnym elementem 7 z 6, koniec listy – „7” nie jest wspólnym elementem

A wiec porównań jest 7 !!!

Bez uporządkowania z uporządkowaniem

(32)

Porządkujemy listy w ten sposób, ze na początku są listy najkrótsze a na końcu najdłuższe !!!

q = d

1q

* d

2q

* ...* d

sk

gdzie d

1q

– pierwszy deskryptor pytania.

Zalety:

- wpływa to na czas przecięcia list inwersyjnych (bierze się pierwszy deskryptor z listy i pyta się czy znajduje się w pytaniu, jeśli tak to zapamiętujemy daną listę)

Aktualizacja: jest skomplikowana, zmienia się bowiem długość list i należy jest od początku uporządkować !!!

PORZĄDKOWANIE LIST WG

DŁUGOŚCI

(33)

(c,c1) = {1,2}

(c,c2) = {3,4}

(c,c3) = {5,6}

(c,c4) = {7,8}

(a,a2) = {5,7,8}

(b,b1) = {1,3,7}

(a,a1) = {1,2,3,4,6}

(b,b2) = {2,4,5,6,8}

T= (c,c1)(b,b2) = {1,2}^{2,4,5,6,8} = {2}={x2}

(a,a1) = {1,2,3,4,6}

(a,a2) = {5,7,8}

(b,b1) = {1,3,7}

(b,b2) = {2,4,5,6,8}

(c,c1) = {1,2}

(c,c2) = {3,4}

(c,c3) = {5,6}

(c,c4) = {7,8}

(34)

(a,a1) = {1,2,3,4,6}

(a,a2) = {5,7,8}

(b,b1) = {1,3,7}

(b,b2) = {2,4,5,6,8}

(c,c1) = {1,2}

(c,c2) = {3,4}

(c,c3) = {5,6}

(c,c4) = {7,8}

Umożliwia zastosowanie

a). podziału połówkowego do wyszukiwania odpowiedniej listy inwersyjnej.

Wówczas ilość porównań = log 2 k gdzie k – ilość list inwersyjnych

b). Przeszukiwania blokowego. Wówczas średnia liczba porównań =

k

Zalety:

Czas szukania odpowiedniej listy znacznie się wtedy zmniejsza, natomiast czas przecięcia dwóch list nie !!!

Aktualizacja: nie wpływa, pod warunkiem pamiętania list pustych

PORZĄDKOWANIE LIST LEKSYKOGRAFICZNIE

T=(c,c2) (c,c2) > (c,c1)

(a,a1) = {1,2,3,4,6}

(a,a2) = {5,7,8}

(b,b1) = {1,3,7}

(b,b2) = {2,4,5,6,8}

(c,c1) = {1,2}

(c,c2) = {3,4}

(c,c3) = {5,6}

(c,c4) = {7,8}

(c,c1) = {1,2}

(c,c2) = {3,4}

(c,c3) = {5,6}

(c,c4) = {7,8}

(35)

Zalety:

Czas szukania odpowiedniej listy znacznie się wtedy zmniejsza, natomiast czas przecięcia dwóch list nie !!!

Wady:

Metoda nie zdaje egzaminu w przypadku zadania pytania spoza zbioru standardowych pytań !!! (tak samo jak przy odcedzaniu)

PORZĄDKOWANIE LIST WG CZĘSTOŚCI

WYSTĘPOWANIA DANYCH DESKRYPTORÓW W

PYTANIACH

(36)

MODYFIKACJE zmniejszające

zajętość pamięci

(37)

Jeżeli w jakiejś liście występuje ciąg kolejnych adresów można wtedy zaznaczyć przedział – poprzez znacznik  i wtedy nie wpisujemy adresów wszystkich obiektów, a tylko pierwszy i ostatni adres danego ciągu.

Np.:

L(d1)={1, 2, 3, 4, 5, 8, 12, 13, 14, 15, 16, 20}

L’(d1)={1  5, 8, 12 16, 20}

Zalety:

-Czas wyszukiwania jest krótszy -zmniejszona zajętość pamięci

Aktualizacja: skomplikowana ze względu na konieczną zmianę przedziałów

ZAZNACZANIE PRZEDZIAŁÓW ADRESÓW

(a,a1) = {14,6}

(a,a2) = {5,7,8}

(b,b1) = {1,3,7}

(b,b2) = {2,4  6,8}

(c,c1) = {1,2}

(c,c2) = {3,4}

(c,c3) = {5,6}

(c,c4) = {7,8}

(38)

Jeżeli mamy 2 listy L(di) i L(dj) i listy te mają pewne wspólne dla siebie adresy obiektów to:

Lw(di,dj)= L(di)  L(dj) Lr(di)= L(di) \ Lw(di,dj) Lr(dj)= L(dj) \ Lw(di,dj)

L(di,dj)= { Lr(di)  Lw(di,dj)  Lr(dj) }

LISTY DLA PAR DESKRYPTORÓWZ ZAZNACZENIE CZĘSCI WSPÓLNEJ

(a,a1) = {14,6}

(a,a2) = {5,7,8}

(b,b1) = {1,3,7}

(b,b2) = {2,4  6,8}

(c,c1) = {1,2}

(c,c2) = {3,4}

(c,c3) = {5,6}

(c,c4) = {7,8}

Zalety:

-Czas wyszukiwania jest krótszy -zmniejszona zajętość pamięci Aktualizacja: raczej prosta

(a,a1) = {14,6}

(b,b1) = {1,3,7}

(c,c1) = {1,2}

(c,c2) = {3,4}

(c,c3) = {5,6}

(c,c4) = {7,8}

w(a,a2)(b,b2) = {7#5,8#2,4,6}

(39)

LISTY DLA PAR DESKRYPTORÓWZ ZAZNACZENIE CZĘSCI WSPÓLNEJ

(a,a1) = {14,6}

(b,b1) = {1,3,7}

(c,c1) = {1,2}

(c,c2) = {3,4}

(c,c3) = {5,6}

(c,c4) = {7,8}

w(a,a2)(b,b2) = {7#5,8#2,4,6}

Wówczas gdy:

1) T = (a,a2)(b,b2) odpowiedź na pytanie mamy od razu jako…

2) T = (a,a2) odpowiedź na pytanie uzyskujemy poprzez złączenie elementów listy: 7 oraz 5,8 = {5,7,8}

3) T = (b,b2) odpowiedź uzyskujemy jako połączenie elementów: {5,8} oraz {2,4,6} = {2,4,5,6,8}

(40)

Jeżeli mamy 2 listy L(di) i L(dj) i listy te mają pewne wspólne dla siebie adresy obiektów to:

Np.:

L(d1)={1, 2, 5, 7, 8, 12, 17}

L(d2)={1, 4, 5, 9, 10, 17, 20}

L(d1*d2) = {1, 5, 17}

Zalety:

-Czas wyszukiwania jest krótszy -zmniejszona zajętość pamięci

Aktualizacja: bardziej skomplikowana

W przypadku list łączonych należy określić współczynnik Q, który wskazuje minimalną liczbę adresów wspólną dla dwóch list, dla których efektywne jest stosowanie tej modyfikacji, a

zdeterminowane jest minimalizacją kosztów , zlikwidowanie redundancji oraz wszelkich działań niezbędnych do

wyselekcjonowania z listy wspólnej adresów dotyczących danego deskryptora.

L(d1 * d2 * d3 * d4)={1, 8, 12}

LISTY WIELODESKRYPTOROWE – szczególne

przypadek list dla par deskryptorów

(41)

Listy muszą pochodzić z jednego atrybutu wzajemnie dwudeskryptorowego o wartościach wzajemnie się negujących – któraś z wartości musi występować w opisie obiektów.

Zalety:

-Czas wyszukiwania – 2 sposoby: np. = a1 * a2

szukamy a1 i przecinamy z listą dla a2

szukamy obiekty z a2 – odjąć obiekty z a1 -zmniejszona zajętość pamięci

Aktualizacja: skomplikowana

Listy zanegowane

T = t1 * t2 L(A1,1) = {x2}

L(A1,2) = {x1,x3,x4,x5,x6,x7,x8}

L(A2,a) = {x1,x2,x4,x5,x6,x8}

L(A2,b) = {x3,x7}

T=(A1,1)*(A2,b) T=d1*d2

d1 = (A1,1) = (A1, 2)

(d1)={x2}

d2 = (A2,b)

(d1)={x3,x7}

L(A1,1) = {x2}

L(A1,2) = {x1,x3,x4,x5,x6,x7,x8}

A więc:

L(A1,2) = {x1,x3,x4,x5,x6,x7,x8}={x2}

(42)

Podsumowanie

• Aktualizacja bardziej skomplikowana niż dla metody list prostych

• Duża redundancja

• Szybsze wyszukiwanie niż w metodzie list

prostych

Cytaty

Powiązane dokumenty

Wiadomości: dziecko zna zasady kulturalnej komunikacji i współpracy z dorosłymi i rówieśnikami; zna swoją potrzebę zabawy i aktywności; zna charakterystyczne regiony Polski;

This is facili- tated by a strong representation of „the Greens” in the European Union, which is to constitute the best European guarantee to deal successfully with problems of

d) Przekonujące wykazanie, że wysoki stopień polisemii leksyki średnio- wiecznej polszczyzny wynikał zarówno z okoliczności zewnętrzno- (reakcja na przemiany kulturowe, głównie

Prawidłowość tę dostrzegł Henryk Rowid, który przed pięćdziesięciu laty pisał, iż au- torytet jest „pewną swoistą właściwością, tkwiącą immanentnie w osobie

Tak, więc dla obiektu dopisywanego: w każdej liście z deskryptorem, do którego obiekt jest relewantny dopisywany jest adres tego obiektu; dla usuwanego obiektu

Metoda list prostych jest historycznie najstarszą z wprowadzonych metod, jednak w tej dziedzinie nic nie traci na aktualnosci, gdyż problemy z którymi muszą

Odsyłacze w listach łańcuchowych zawierają informację, gdzie znajduje się kolejny obiekt zawierający w swoim opisie dany deskryptor. Zazwyczaj umieszczane są one

◦ Dodanie lub usunięcie obiektu wprowadza konieczność zmiany odsyłaczy, oraz ewentualnie wpisów w tablicy zakotwiczeń. ◦ Dodanie, usunięcie lub zmiana opisu