Jak zaparkować samochód?
Rozważmy następujący
Problem. Na pewnym parkingu znajduje się miejsc, ustawionych w rzędzie, ponumerowanych liczbami naturalnymi . Każdy z parkujących tam kierowców ma swoje ulubione miejsce: dla -tego kierowcy niech będzie to miejsce o numerze , przy czym dla różnych kierowców miejsca te nie muszą być różne. Kierowcy przyjeżdżają kolejno na parking: kiedy -ty kierowca wjeżdża na parking, jedzie aż do swojego ulubionego miejsca, a następnie, jeśli jest wolne, parkuje tam, jeśli zaś jest zajęte, parkuje na następnym wolnym miejscu. Jeśli wszystkie następne miejsca są zajęte, odjeżdża. Spróbujemy określić liczbę wszystkich takich ciągów preferencji , że wszystkim kierowcom uda się zaparkować swoje samochody.
Ciąg o wyrazach w zbiorze będziemy nazywać funkcją parkingową długości , jeśli wszystkim kierowcom uda się zaparkować samochody.
Na początek zobaczmy, ile wynosi liczba funkcji parkingowych długości dla i . Mamy mianowicie:
- (1)
- dla trzy takie ciągi: 11, 12, 21,
- (2)
- dla szesnaście takich ciągów: 111, 112, 121, 211, 113, 131, 311, 122, 212, 221, 123, 132, 213, 231, 312, 321.
Problem wyznaczenia wszystkich funkcji parkingowych długości został rozwiązany przez Pyke’a w 1959 roku oraz niezależnie przez Konheima i Weissa w 1966 roku. Okazuje się mianowicie, że zachodzi następujące
Twierdzenie. Liczba wszystkich funkcji parkingowych długości wynosi
Dowód. Zmodyfikujmy nieco nasz problem: na początku parkingu (tj. przed miejscem o numerze ) dodajemy miejsce o numerze . Ponadto pozwalamy kierowcom, którym nie udało się zaparkować zgodnie ze starymi regułami, przejechać przez parking po raz drugi, począwszy od miejsca , aż do pierwszego wolnego miejsca.
Oczywiście, teraz wszystkim kierowcom uda się zaparkować samochody, a jedno miejsce pozostanie wolne. Łatwo zauważyć, że ciąg jest funkcją parkingową wtedy i tylko wtedy, gdy po zaparkowaniu samochodów przez wszystkich kierowców miejsce pozostanie wolne.
Niech będzie dowolnym ciągiem o wyrazach w zbiorze . Jeśli zgodnie z tym ciągiem -ty kierowca zaparkuje na miejscu , to (dla ) zgodnie z ciągiem
(oczywiście modulo ) zaparkuje na miejscu .
Dla każdego ciągu o wyrazach ze zbioru od 1 do rozważmy zbiór:
Każdy taki ciąg wyznacza -elementowy podzbiór zbioru – zbiór tych miejsc, na których zaparkują kierowcy. Odwrotnie: każdy taki podzbiór jest wyznaczony przez pewien ciąg postaci . Oczywiście, tylko jeden -elementowy podzbiór zbioru nie zawiera liczby , a zatem tylko jeden ciąg z powyższego zbioru jest funkcją parkingową.
Suma wszystkich zbiorów jest zbiorem wszystkich ciągów długości o wyrazach ze zbioru . Liczba takich ciągów wynosi . Zatem liczba funkcji parkingowych długości musi być równa
Funkcje parkingowe, o których mowa w powyższym twierdzeniu, znalazły szereg zastosowań w kombinatoryce, a w szczególności w teorii grafów. Jako przykład można przytoczyć twierdzenie Sylvestera, Borchardta i Cayleya mówiące o tym, że liczba wszystkich lasów ukorzenionych o ponumerowanych wierzchołkach jest równa liczbie funkcji parkingowych długości .
Czytelnik może w charakterze prostego ćwiczenia spróbować wykazać, że liczba niemalejących funkcji parkingowych wynosi dokładnie
Na koniec powiedzmy, że liczby tej postaci, zwane liczbami Catalana, występują w wielu miejscach w bardzo różnych dziedzinach matematyki. Kombinatorycznie liczby Catalana można zdefiniować na ponad różnych sposobów. Dla przykładu, liczby Catalana to: liczba poprawnych nawiasowań przy użyciu par nawiasów, liczba ciągów zero-jedynkowych zdominowanych przez , liczba triangulacji -kąta wypukłego. Ale to już zupełnie inna opowieść.