ullman123 (2)

ullman123 (2)



■ł DZIAŁANIA W MUUU.U KU At»JNYM

Najprostsze pytanie rckurencyjne, jakie się nasuwa, brzmi: ..Które par> miast (x,y) są połączone lotami, tzn. żc można dostać się z miasta x do miasta y w jednym lub więcej rejsach? Te pary miast będą tworzyć relację Dostępne (X/ y), a opisuje ją następujący zestaw reguł:

1. Dostępne (x, y) ♦- Rejsy {a, x, y, d, r)

2. Dostępne (x, y) •— Dostępne (x, z) AND Dostępne (z, y)

Inne postacie rckurencji

W przykładach 4.34 i 4.36 korzy staliśmy z tak zwanej rekurencji prawostronnej, w której relacja rckurencyjna Następny występowała po relacji liDB Kolejny. Można tworzyć analogiczną regułę z rckurcncją lewostronną, wówczas relacja rckurencyjna zostaje umieszczona w regule jako pierwsza. Zapis naszych reguł w postaci lewostronnej przedstawia się następująco:

1.    Następny(x, y) <- Kolejny (x, y)

2.    Następny(x, y) <- Następny(x, z) AND Kolejny (z, y)

Mówiąc bardziej obrazowo: y następuje po x, jeśli jest albo kolejnym odcinkiem x. albo jest kolejnym odcinkiem pewnego filmu następującego po x Rckurcncyjnej relacji można użyć nawet dwa razy. wówczas otrzymuje się tak zwaną rekurcncję nieliniową:

1.    Następny(x, y) <- Kolejny (x, y)

2.    Następny(xf y) <- Następny(x, z) AND Następny (z, y)

Mówiąc bardziej obrazowo: y następuje po .t, jeśli jest albo kolejnym odcinkiem albo jest następnym odcinkiem pewnego filmu następującego po*. Wszystkie te trzy postacie reguł definiują tę sama relację Następny: zbiór wszystkich par (x, y) takich, że odcinek y jest kolejnym po kolejnym, ...(dowolnie dużo razy) kolejnym odcinku x.


Z pierwszej reguły wynika, że do relacji Dostępne należą te pary miast, między którymi bezpośrednio kursują samoloty; wartości określające linię a. czas odlotu d oraz czas przylotu r są dobrane tutaj arbitralnie. W drugiej regule zapisano takt. że jeśli można dolecieć z miast x do miasta z oraz można dolecieć z miasta z do miastay, to można dolecieć również z miasta x do miasta y. Zauważmy, żc w tej regule występuje rekureneja w postaci nieliniowej, którą szczegółowo omów iono w ramce zatytułowanej ..Inne postacie rckuren-cji’\ Ta postać jest trochę dogodniejsza w tym miejscu, ponieważ inny zapis

tej reguły wymagałby użycia trzech dodatkowych zmiennych, potrzebnych do opisu krotek relacji Re i yy.

Obliczenie relacji Dostępne polega na przetworzeniu tego samego algorytmu itcracyjnego, który przedstawiliśmy w p. 4.4.2. Z zastosowania reguły numer 1 do relacji Dostępne należą następujące pary: (SF, DEN), (SF, DAL), (DEN, CHI), (DAL, CHI). (DAL, NY) oraz (CHI, NY). To tc siedem par. które są oznaczone krawędziami na rys. 4.19.

W następnym kroku rekurencji stosujemy rekurcncyjną regułę numer 2 i otrzymujemy pary krawędzi, które mają wspólny wierzchołek. Stąd otrzymuje się dodatkowo pary (SF, CHI), (DEN, NY) oraz (SF, NY).Kolejny krok polega na połączeniu w pary wierzchołków połączonych drogami o długości do czterech krawędzi. W tym konkretnym przypadku nie wprowadza to już żadnych nowych elementów do relacji Dos- opnę. A więc relacja Dostępne dla danych opisanych grafem z rys. 4.19 zawiera dziesięć par (1. y), takich że w grafie istnieje pomiędzy nimi jakaś droga. Są to przypadkowo dokładnie takie pary (x, y), że na ry s. 4.19 >• wy stępuje na prawo od x.

PRXYKt.AD4.38

Sytuacja ustalenia właściwej relacji łączenia dwóch lotów w jedną podróż komplikuje się, gdy zostanie dołączone ograniczenie, żc rejs może być łączony z innym rejsem, jeśli odlot drugiego z jakiegoś lotniska następuje nie wcześniej niż. godzinę po przylocie pierwszego na to lotnisko. lak określony predykat IDB nazwiemy Połączenia (x, y, d, r) i jest on spełniony, gdy podróż zaczyna się w miejscu .t w czasie ci, a przylot następuje do portu w czasie r. Jeśli taka krotka istnieje, to na przesiadkę między jednym a drugim rejsem jest co najmniej godzina.

Następujące reguły definiują Połączenia1:

1. Połączenie (x, y, d, r) «— Rejs (a, x, y, d, r)

2. Połączenie (x, y, d, r) <— Połączenie (x, z, d, tl)

AND Połączenie (z, y, t2, r) AND tl — t2 + 100

W pierwszym kroku iteracji otrzymuje się osiem Połączeń, które przedstawiono no rys. 4.21. Każde z nich jest powiązane z jednym rejsem z rys. 4.19; jest ich więcej niż krawędzi w grafie, ponieważ niektóre krawędzie oznaczają kilka rejsów w różnym czasie między tymi samymi portami.

Teraz tworzymy nowe krotki, korzystając z reguły (2). Na przy kład druga i piąta krotka tworzą nowe połączenie o parametrach (SF, CHI, 900, 1730). Natomiast nic można utworzyć nowego połączenia z krotek drugiej

1

Reguły le działają jedynie, gdy Żaden rejs nie odbywa się o północy.


Wyszukiwarka

Podobne podstrony:
15172 ullman119 (2) ZHH 4 DZIAŁANIA W MODF.UJ Rl I.ACYJNYM 1. W(t, y, i, c, s, p) - Film(t, y, 1, c,
Sprawozdam Zarządu £ działalności Quantum software S.A. s?a okres od 01.01.2012 — 31.12.2012 7)
strona30 .© DO ZĄPAMIgrAMIA: WZÓR WA 2WlA-N£ ptL/fros;a PRSTA -——żH At Mte) gl_y_ g-A-” *t. pę ^ Ł
IMG922 Tech n ologicz n ość konstrukcji 145/w/min Ku =0,7 AT, =0,75 K„ - 0,8 Kl = 1,0
egzamin 14?t1 5.•ł. nazwisko, ll"k k’U)- nr Kf»
Adi Pole działal ności Logosa At ma Budćhi Pole nad-normalnej
r Minister Obrony Narodowej i 5 1
22526 ullman144 (2) 5. )£.Ć1K BAZ. ŁJAMYL-M SOL Ćwiczenie 5.1.3. Należy zapisać w SQL podane poniżej
w* i I , JŁ.
img643 •L ■ 2ut
■ ™j£ jjjj£    • v & *    _ **ia . i__.. .. * iV*kuur *fł opOrnotl
w4 azanie powstaje w *»vniJ4u maś*łeag£taM9mati.mbe- atr^ntail at<irr*QWv    

więcej podobnych podstron