1. Wstęp – jak znaleźć rozwiązanie, kiedy nie wiesz, gdzie ono jest
Wyobraź sobie, że zgubiłeś klucz w domu.
Nie wiesz, w którym pokoju, więc dzielisz mieszkanie na pół:
sprawdzasz jedną część — jeśli nie tam, to drugą.
Potem znów dzielisz wybraną połowę na pół… i tak aż znajdziesz klucz.
To właśnie metoda połowienia – dzielisz problem na pół, aż trafisz w cel.
Nie zgadujesz na ślepo – zawężasz obszar poszukiwań krok po kroku.
2. Na czym polega metoda połowienia
Metoda połowienia (ang. bisection method) to sposób znajdowania rozwiązania (np. miejsca, gdzie funkcja przyjmuje wartość 0), przez:
- Wybranie przedziału [a, b], w którym wiemy, że rozwiązanie się znajduje.
- Sprawdzenie środka – czyli punktu
x = (a + b) / 2. - Sprawdzenie znaku (czy funkcja zmienia znak między a i x, czy między x i b).
- Zawężenie przedziału – wybieramy tę połowę, w której funkcja zmienia znak.
- Powtarzamy, aż różnica między a i b będzie bardzo mała.
To jak gra w „ciepło–zimno”, tylko zamiast biegać po pokoju, przesuwasz granice liczb.
3. Przykład z życia: zgadywanie liczby
Uczeń wymyślił liczbę od 1 do 100.
Ty możesz tylko pytać:
- „Czy liczba jest większa od 50?”
- Jeśli tak → sprawdzasz 75, jeśli nie → 25.
- Zawsze dzielisz zakres na pół.
Każde pytanie zmniejsza zakres poszukiwań o połowę.
Po kilku krokach zawsze trafisz w cel.
To dokładnie to samo co metoda bisekcji – tylko zamiast „liczby ucznia” szukasz „miejsca, gdzie funkcja = 0”.
4. Schemat działania
1. Wybierz przedział [a, b]
2. Oblicz środek x = (a + b) / 2
3. Jeśli f(a) i f(x) mają różne znaki → rozwiązanie leży między a i x
Wtedy ustaw b = x
W przeciwnym razie ustaw a = x
4. Powtarzaj, aż różnica (b - a) będzie bardzo mała
5. Przykład matematyczny – znajdź miejsce zerowe funkcji
Załóżmy, że chcemy znaleźć pierwiastek z 2, czyli rozwiązanie równania:x² - 2 = 0
Wiemy, że:
- dla x=1 wartość to -1,
- dla x=2 wartość to +2.
Czyli szukane miejsce zerowe jest pomiędzy 1 a 2.
6. Przykład w Pythonie
def f(x):
return x**2 - 2
def bisekcja(a, b, dokladnosc):
if f(a) * f(b) > 0:
print("Brak miejsca zerowego w tym przedziale!")
return None
while (b - a) > dokladnosc:
x = (a + b) / 2
if f(a) * f(x) < 0:
b = x
else:
a = x
return (a + b) / 2
wynik = bisekcja(1, 2, 0.0001)
print("Pierwiastek z 2 ≈", wynik)
Wynik:
Pierwiastek z 2 ≈ 1.414215087890625
Komputer w każdym kroku dzieli przedział na pół, aż znajdzie wartość z dokładnością do czterech miejsc po przecinku.
7. Wizualizacja kroków (intuicyjnie)
Przedział: [1, 2]
f(1) = -1 f(2) = +2
Środek: 1.5 → f(1.5) = 0.25 (dodatnia)
Nowy przedział: [1, 1.5]
Środek: 1.25 → f(1.25) = -0.4375 (ujemna)
Nowy przedział: [1.25, 1.5]
Środek: 1.375 → f(1.375) = -0.1093
...
Widzisz? Z każdym krokiem zawężamy pole, aż zostaje bardzo mały fragment.
8. Gdzie stosuje się metodę bisekcji
- znajdowanie miejsc zerowych funkcji,
- rozwiązywanie równań nieliniowych,
- szukanie punktu przecięcia wykresów,
- w grach lub grafice – np. obliczanie kolizji z dokładnością,
- w fizyce i ekonomii – gdy trzeba znaleźć wartość równowagi.
9. Zalety i wady metody połowienia
| Zalety | Wady |
|---|---|
| prosta do zrozumienia i zaimplementowania | działa tylko, gdy funkcja zmienia znak |
| zawsze zbiega do rozwiązania | działa powoli – dzieli na pół w każdym kroku |
| nie wymaga znajomości pochodnych | nie nadaje się do wielu miejsc zerowych naraz |
10. Zadania dla ucznia
Zadanie 1 – Znajdź pierwiastek z 3
Użyj funkcji x**2 - 3 i przedziału [1, 2].
Ustaw dokładność 0.0001.
Sprawdź, czy wynik zgadza się z kalkulatorem.
Zadanie 2 – Równanie z minusem
Znajdź miejsce zerowe funkcji x**3 - 4*x + 1.
Dobierz przedział samodzielnie (spróbuj np. [-3, 3]).
Zadanie 3 – Ile kroków potrzeba?
Zmodyfikuj program, by wypisywał numer kroku i długość przedziału.
Obserwuj, jak szybko się zawęża.
11. Porównanie z innymi metodami
| Metoda | Jak działa | Styl myślenia |
|---|---|---|
| Rekurencja | Rozwiązuje problem przez powtarzanie siebie | „Zrób to samo, tylko prościej” |
| Dynamiczna | Zapamiętuje wcześniejsze wyniki | „Nie licz tego dwa razy” |
| Zachłanna | Zawsze wybiera najlepszy krok teraz | „Weź to, co się najbardziej opłaca” |
| Połowienia (bisekcji) | Dzieli problem na pół, aż do celu | „Zawężaj obszar poszukiwań krok po kroku” |
12. Do zapamiętania
Metoda połowienia to cierpliwe zawężanie pola poszukiwań.
Nie zgadujesz – krok po kroku przybliżasz się do rozwiązania.
13. Dla wzrokowców
START
↓
Wybierz przedział [a, b]
↓
Policz środek x = (a+b)/2
↓
Sprawdź znak funkcji
↓
Wybierz połowę z miejscem zerowym
↓
Zawęż przedział
↓
Jeśli dokładność wystarczająca → STOP

