Trzech Przyjaciół Wybrało Się Na Pizze

"Trzech Przyjaciół Wybrało Się Na Pizzę" (TPWNP) to popularny algorytm używany w informatyce do synchronizacji procesów. Mówi on o tym, jak trzy procesy (tutaj przyjaciele) muszą podjąć wspólną decyzję (iść na pizzę) w sposób skoordynowany, mimo potencjalnych problemów.
Krok 1: Każdy z trzech przyjaciół (procesów) proponuje swoją decyzję. Może to być "idziemy na pizzę" lub "nie idziemy". Przykład: Ania mówi "tak", Bartek mówi "tak", a Kasia mówi "nie".
Krok 2: Następuje głosowanie. Liczymy głosy "za" i "przeciw".
Must Read
Krok 3: Decyzja jest podejmowana na podstawie większości głosów. Jeśli większość jest "za", to idą na pizzę. Jeśli większość jest "przeciw", zostają w domu. W naszym przykładzie mamy dwa głosy "za" (Ania i Bartek) i jeden "przeciw" (Kasia). Decyzja: idą na pizzę!

Co się stanie, jeśli jeden z przyjaciół (procesów) zawiedzie? Na przykład, Bartek nie odpowiada. W algorytmie TPWNP zakłada się, że dwa procesy muszą działać poprawnie, żeby podjąć decyzję. W takim przypadku, Ania i Kasia muszą podjąć decyzję. Jeśli oboje są "za", idą na pizzę. Jeśli oboje są "przeciw", zostają w domu. Jeśli ich zdania się różnią, nie mogą podjąć decyzji i algorytm kończy się niepowodzeniem.
Ten algorytm ilustruje podstawowe zasady konsensusu w systemach rozproszonych. Pokazuje, jak osiągnąć wspólną decyzję nawet w obecności potencjalnych awarii. TPWNP, choć prosty, jest bazą dla bardziej zaawansowanych algorytmów synchronizacji.
