Quest: Logika, entropia, modele i abstrakcja

Logika formalna

Zasada: Programowanie to stosowanie logiki w praktyce

Wyjaśnienie

Logika formalna bada poprawność wnioskowania niezależnie od treści.
W informatyce odpowiada za:

  • strukturę warunków i zależności między stanami,
  • poprawność specyfikacji i algorytmów,
  • weryfikację wniosków i przewidywalność działania systemu.

Główne elementy

  • Rachunek zdań (logika zdań)
  • Rachunek predykatów
  • Dowody formalne
  • Implikacje i kwantyfikatory
  • Teoria modeli

Nie chodzi o składnię języka, lecz o prawidłowe wnioskowanie. Błędy logiczne mogą generować problemy systemowe mimo poprawnego kodu.

Przykład ogólny

Rodzic mówi: „Jeśli pada deszcz, weź parasol.”
Dziecko widzi kałuże, ale świeci słońce → nie bierze parasola.
Błąd: nie rozumie implikacji „jeśli pada, to parasol”.
Efekt: zmoknięcie mimo prawidłowej instrukcji.

Przykład informatyczny

Specyfikacja: „Jeśli użytkownik jest administratorem, to ma dostęp do panelu.”

if (user.isLoggedIn()) {
allowAccess();
}

Błąd: sprawdzono tylko zalogowanie, nie rolę administratora.
System działa poprawnie składniowo, lecz logicznie jest błędny.

Abstrakcja

Zasada: Każdy system można opisać na wielu poziomach abstrakcji

Wyjaśnienie

Abstrakcja polega na kontrolowanym pomijaniu szczegółów, aby skupić się na tym, co istotne na danym poziomie.
W programowaniu pozwala oddzielić:

  • warstwę sprzętową,
  • warstwę systemową,
  • logikę aplikacji,
  • interfejs użytkownika.

Mieszanie poziomów prowadzi do chaosu architektonicznego i problemów w utrzymaniu systemu.
Abstrakcja nie usuwa szczegółów — przenosi je na inny poziom.

Przykład ogólny: planowanie podróży pociągiem:

Abstrakcja: patrzymy tylko na godziny odjazdu, czas przejazdu i stacje końcowe.
Pomijamy: wygląd wagonów, nazwiska kierowników, kolor foteli.
Efekt: łatwiej zaplanować trasę, mimo że nie znamy wszystkich szczegółów.

Przykład informatyczny: przeglądarka internetowa

PoziomCo widzimy
UżytkownikStronę WWW
Programista frontendHTML, CSS, JS
Programista backendAPI, logika serwera
AdministratorSystem operacyjny, aplikacje, wtyczki
Inżynier sprzętuProcesor, pamięć

Każdy poziom jest poprawny — ale nie miesza się ich.

Model

Zasada: Każdy model upraszcza rzeczywistość i wprowadza założenia

Wyjaśnienie

Model to uproszczona reprezentacja fragmentu rzeczywistości.
Tworząc model:

  • wybieramy cechy istotne, pomijamy inne,
  • przyjmujemy pewne założenia (często niejawne),
  • upraszczamy rzeczywistość, aby umożliwić analizę i decyzje.

Model nigdy nie jest pełną kopią rzeczywistości.
Kluczowe pytania:

  • Co zostało utracone?
  • Jakie założenia są ukryte?
  • Co się stanie, gdy założenia przestaną obowiązywać?

Każdy model kłamie (ale bywa użyteczny).

Przykład ogólny: mapa turystyczna miasta:

Pokazuje ulice, zabytki i stacje metra.
Nie uwzględnia korków, pogody ani natężenia ruchu pieszych.
Efekt: łatwiej trafić w miejsce docelowe, ale rzeczywiste utrudnienia mogą zmienić wynik planu.

Przykład informatyczny: tabela bazy danych:

Tabela: User(id, name, email)
To model użytkownika w systemie.
Nie zawiera emocji, relacji społecznych ani kontekstu czasowego.
Jeśli system wymaga współdzielonych kont lub rezerwacji w czasie rzeczywistym, założenia modelu przestają działać.

Entropia

Zasada: Kontrola polega na redukcji niepewności

Wyjaśnienie

Entropia to miara niepewności lub nieprzewidywalności systemu.
Im więcej możliwych stanów i zmiennych, tym wyższa entropia.
W praktyce:

  • dane i reguły pomagają ją redukować,
  • brak uporządkowania prowadzi do chaosu,
  • systemy z wysoką entropią są trudne do kontrolowania.

Przykład ogólny: Organizacja przyjęcia dla 50 zaproszonych osób:

Nie wie, kto faktycznie przyjdzie ani o której godzinie pojawią się goście.
Nie zna liczby osób z dodatkowymi potrzebami dietetycznymi ani przewidywanego czasu trwania spotkania. Możliwych scenariuszy jest wiele: frekwencja może być niska, pełna lub wyższa od oczekiwanej. Brak potwierdzeń i ustaleń zwiększa niepewność planowania.
Zebranie informacji i ustalenie zasad zmniejsza liczbę możliwych wariantów i obniża entropię sytuacji.

Przykład informatyczny

System logów zapisuje każde zdarzenie w aplikacji.
Bez filtrów i agregacji administrator nie potrafi wykryć istotnego incydentu.
Formalnie mamy więcej danych, ale poznawczo rośnie entropia i trudniej kontrolować system.

Twój komentarz

Zapisz moje dane, adres e-mail i witrynę w przeglądarce aby wypełnić dane podczas pisania kolejnych komentarzy.