Algorytmem go!

Przeciętny użytkownik nawet nie jest w stanie wyobrazić sobie, jak bardzo technologia informatyczna nasycona jest algorytmami. Nie wie on także tego, że znacznie ciekawiej jest algorytmy te tworzyć aniżeli z nich korzystać. O tym wiedzą tylko rasowi informatycy.

"Napisz mi taki program do rozwiązywania liczbowych krzyżówek sudoku" - dnia pewnego Szef poprosił Lokalnego Informatyka. Lokalny, który nigdy wcześniej nie rozwiązywał sudoku, musiał wpierw zapoznać się z ideą tych krzyżówek, następnie rozwiązać samodzielnie kilka z nich, aby opracować algorytm. Gdy znalazł już metodę pewną, zabrał się za pisanie programu. Mniej więcej po miesiącu od otrzymania zlecenia miał już gotowe rozwiązanie, które zaprezentował Szefowi.

"W te kratki trzeba wprowadzić cyfry dokładnie tak jak podano w gazecie. Następnie naciskamy przycisk obliczania i już mamy gotowy wynik" - Lokalny objaśnił nader prosty sposób rozprawienia się z sudoku. Szef z wielkim entuzjazmem zabrał się do wykonywania zadania. Odwzorował układ cyfr z oryginalnej krzyżówki, nacisnął przycisk i oczom jego ukazała się plansza szczelnie wypełniona numerkami. I to w dodatku poprawnie. Był niezwykle zaskoczony, oczywiście pozytywnie. Następnie rozwiązał drugą, potem trzecią układankę liczbową. Niestety, przy czwartej stwierdził, że jest to nudne. Co z tego, że wynik ma od ręki, skoro jego rola sprowadza się jedynie do przepisania kilku liczb. W ogóle nie musiał natężać swego umysłu. Gdyby chociaż dzięki temu wygrywało się jakąś nagrodę… Lokalny przyznał, że jest to rzeczywiście nudne. Ale nawet ręczne rozwiązywanie przy znajomości metody nie wzbudza emocji, gdyż jest to działanie typowo mechaniczne. Cała bowiem rozrywka tkwi w dochodzeniu do metody rozwiązania problemu.

To, co wiele lat temu stanowiło o atrakcyjności i tajemniczości informatyki, wynikało z braku gotowych, szablonowych rozwiązań. Wiele trzeba było się natrudzić, aby tchnąć w komputery jakąkolwiek logikę. Ale jakże ciekawy był ten okres twórczy i jak każdy programista z niecierpliwością oczekiwał efektów swojej pracy. Dzisiaj - w najlepszym razie - mamy gotowe komponenty, z nich składamy twór końcowy, w czym wspomagają nas sformalizowane metody projektowe i wytwórcze. W gorszym przypadku pozyskujemy gotowy produkt wymagający jedynie bardziej lub mniej szablonowej konfiguracji. Prac pionierskich dla przeciętnego informatyka coraz mniej na tym ugorze. A użytkownikowi i tak wszystko jedno, bo zawsze był tylko ogniwem końcowym.

Należy zauważyć, że komputery zastępując proces myślowy użytkownika, nie zawsze przynoszą z tego tytułu szczęście i radość. Tylko trud umysłowy poniesiony przy rozwiązywaniu problemu może dać w efekcie zasłużone poczucie zwycięstwa i satysfakcji intelektualnej.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200