Wektorki

Wektorki
Ten odcinek „Rozmaitości matematycznych” powstał po zajęciach ze studentami Wyższej Szkoły Informatyki Stosowanej i Zarządzania. Uczę tam od 25 lat, ale każdego roku trochę inaczej. Zmusza mnie do tego życie, w szczególności upowszechnienie się programów typu CAS (Computer Algebra System) oraz AI, Artificial Intelligence, którą ja nazywam bardziej czule Apolonią Inteligentną. Okazało się, że do zajęć w roku 2024 bardzo przydały się moje stare, szkolne wiadomości – a także prosta gra wektorki, w którą grywaliśmy jako studenci na niektórych nieinteresujących nas wykładach 60 lat temu.

Tak jest, 60, może tylko 59. Dla ustalenia uwagi: pierwszy komputer PC zobaczyłem, gdy miałem ponad 40 lat. Przedtem, owszem, widywałem „maszyny matematyczne” – urządzenia wielkości kilku dużych szaf. Jestem zatem przedstawicielem odchodzącego, uprzywilejowanego pokolenia. Potrafimy robić ręczne obliczenia, potrafimy także posłużyć się komputerem. A skoro o tym mowa – okazało się, że portier w szkole, o której mowa, sprawniej wykonuje rachunki niż studenci. Mowa oczywiście o rachunkach za pomocą długopisu i na kartce. Ale to inny temat.

Wektory znamy dobrze. Słowo to pochodzi od łacińskiego vector, co oznacza „ten, który wiezie”. Dziś rozumiemy je jako znak, pokazujący kierunek – jedź, idź za strzałką. Nawet dzieci przedszkolne znają to dobrze – a także ci kierowcy, którzy przestrzegają znaków drogowych. Warto zdać sobie sprawę, że rozumienie trzech patyczków (1) jako wskazówki kierunku zawdzięczamy prawdopodobnie temu, że w naszej cywilizacji kiedyś strzelano z łuku. Piszę „prawdopodobnie”, bo przecież innej cywilizacji nie znamy. Wiemy też, co oznacza przekreślenie. To już późniejszy etap rozwoju ludzkości, związany z wynalezieniem pisma. Na znaku drogowym B-22 (2) mamy przekreśloną strzałkę. Kierowco: na najbliższym skrzyżowaniu skręt w prawo jest zabroniony!

1.
2.

Zasady gry wektorki są nieskomplikowane. Na kratkowanym papierze rysujemy tor wyścigowy, na przykład jak na rysunku 3. Wyścig zaczynamy od wektora mającego długość jednej kratki. Każdy następny wektor stawiamy według reguł, które najłatwiej wyjaśnić na rysunku (4).

3.

Najpierw przedłużamy postawiony wektor, a konkretnie rysujemy taki sam, zaczepiając go w końcu już narysowanego – przy pewnej wprawie nie musimy rysować, tylko wyobrazić go sobie. Nowy wektor ma oczywiście zaczynać się w końcu poprzedniego, a kończyć się w jednej z zaznaczonych niebieskich kropek (4). Nie może kończyć się w punkcie zaznaczonym czerwonym krzyżykiem. Można powiedzieć, że za każdym razem musimy przyspieszać albo zwalniać w każdym z dwóch kierunków, ale co najwyżej o jeden, tj. o jedną kratkę. Ostatni wektor musi się kończyć na linii mety.

4.

Celem gry jest oczywiście jak najszybsze przejechanie toru – to znaczy wybór najkrótszej trasy. Celem dydaktycznym jest powtórzenie, jak się oblicza długość wektorów… ale nie tylko.

Można obliczyć, że długość mojej drogi na rysunku 3 to

Widać, że nie jest najlepsza. Za bardzo wyniosło mnie na ostrym zakręcie po prawej u góry, a i następny też nie za dobrze przejechałem. Nietrudno to poprawić. Jak wspomniałem, w takie wektorki graliśmy na studiach, dawno, dawno temu. Na zajęciach ze studentami wybrałem uproszczoną wersję (5), bo pełna byłaby zbyt żmudna i mało kształcąca. Narysowaliśmy trzy drogi od punktu (0,0) do (11,5). Każda z nich ma tę samą długość, a mianowicie

5.

A jednak nie są takie same: najlepsza jest ta dolna, SABCDM. Studenci długo nie mogli znaleźć rozsądnego kryterium, które by odróżniało te drogi równej długości. Zasugerowałem myślenie o tym, jak o zjazdach narciarskich – najszybciej zjeżdża się „na krechę”. I to zadziałało. Obliczyliśmy sumę kątów skrętów. W pierwszych dwóch drogach (to znaczy SABEFM SABCGM) było to 67,62°. W trzecim, SABCDM, trochę mniej, a mianowicie 64,44°.

Gdy już wszyscy zgodzili się, że „chyba” nie ma lepszych dróg, ktoś narysował taką, jak na rysunku 6.

6.

Okazało się, że jest to droga nieco dłuższa (ma 12,60), ale za to znacznie lepsza pod względem skrętów – tylko 49,18°. Możemy też spróbować jechać z punktu B dalej prosto, a potem skręcać, ale ta droga będzie zarówno jeszcze dłuższa, jak i będzie miała większą sumę kątów.

Na tym się nie skończyło. Wszyscy uczymy się mądrze korzystać z AI. Pomyślałem sobie, że może owa Apolonia sama wybierze najlepszą trasę, a w każdym razie coś zaproponuje. Poleciłem studentom, by to zrobili – oczekując, że dla tego pokolenia kontakt z komputerem to jak dla mnie ze światłem elektrycznym. Po prostu jest i już.

Najtrudniej było im (studentom) przełożyć zasady gry na język matematyczny. Właściwie to nie dali sobie rady w ogóle. Podpowiedziałem, ale dużo czasu zajęło nam takie sformułowanie zadania, żeby „ona” mogła „pojąć”, o co chodzi. Oto matematyzacja reguł gry.

Podaj przykład ciągu punktów na płaszczyźnie, spełniających takie warunki:
Warunek 1. Pierwszym punktem jest (0,0);
Warunek 2. Drugim punktem jest (1,0);
Warunek 3. Ostatnim punktem jest (11,5);
Warunek 4. Jeżeli dwa kolejne punkty to (a,b) i (c,d), to następny punkt wybierz z takiej listy: (2*c–a–1, 2*d–b–1), (2*c–a, 2*d–b–1), (2*c–a+1, 2*d–b–1), (2*c–a, 2*d–b–1), (2*c–a, 2*d–b+1), (2*c–a+1, 2*d–b–1), (2*c–a+1, 2*d–b), (2*c–a+1, 2*d–b+1);

No cóż, nim mój kot skończył ziewać, Apolonia napisała:

Bardzo ładnie, pomyślałem, chociaż przesadzasz, Apolonio, z tą fraktalną strukturą. Ale miło, że dopuszczasz i tę możliwość. Pisała dalej:

Tu Apolonia podała konkretny program w języku Python, którym sprawnie posługują się już nastolatki. Otrzymany ciąg był raczej do niczego – bardzo zygzakowaty. Ktoś zaproponował, żeby nie uwzględniać ruchów w lewo i w dół, bo one tylko pogarszają wyniki. Zostały tylko trzy opcje:
(2*c–a, 2*d–b+1), (2*c–a+1, 2*d–b), (2*c–a+1, 2*d–b+1)

Ponieważ z prób wynikało, że rezultat da się otrzymać w pięciu albo sześciu ruchach, ktoś zaproponował, żeby po prostu przeszukać wszystkie możliwości. Zgodziliśmy się, że to będzie nietrudne i chciałem zakończyć zajęcia, bo czas mijał. Ale
Apolonia nie chciała skończyć, a dalszy ciąg jej odpowiedzi zdumiał mnie niepomiernie. Podeszła do zadania problemowo. Odpowiedziała tak, jak bym oczekiwał od najlepszego studenta. Tego uczę, z różnym zresztą skutkiem: patrzymy na zadanie i widzimy je w szerokiej perspektywie, z uogólnieniami i zastosowaniami.

Dziękuję Ci, Apolonio Inteligentna. Dodałbym jeszcze jedno zastosowanie, a mianowicie problemy transportowe: jak najkorzystniej przemieścić coś z jednego punktu do drugiego. Szczerze mówiąc, odgrzewając starą studencką grę, nie myślałem, że możesz, Apolonio, mieć takie skojarzenia. Tak, tak, wiem, że nie myślisz, tylko udajesz. Ale dobrze Ci to wychodzi. Trzeba Cię jednak pilnować – często fantazjujesz bez pokrycia.

Michał Szurek