Technologia

Rozproszone przeszukiwanie sieci, algorytm wyboru i algorytm sortowania

  • 19 stycznia, 2023
  • 3 min read
Rozproszone przeszukiwanie sieci, algorytm wyboru i algorytm sortowania


Uczenie maszynowe pozwala komputerom naśladować ludzkie zachowanie, ucząc ich danych historycznych i wiedzy o potencjalnych przyszłych wydarzeniach. W tej części zostaną omówione interesujące podejścia do uczenia maszynowego, takie jak rozproszone indeksowanie sieci, algorytm wyboru i algorytm sortowania.

Rozproszone indeksowanie sieci

Rozproszone indeksowanie sieci to technologia komputerowa, w której wyszukiwarki internetowe używają wielu komputerów do eksploracji Internetu. Użytkownicy mogą oferować swoje zasoby przetwarzania i przepustowości do indeksowania stron internetowych w takich systemach. W rezultacie koszty związane z obsługą znaczących klastrów obliczeniowych są redukowane dzięki rozłożeniu obciążenia tych zadań na wiele procesorów.

Dzięki takiemu podejściu centralny serwer dynamicznie udostępnia nowe adresy URL różnym robotom indeksującym. Umożliwia serwerowi centralnemu na przykład dynamiczne równoważenie obciążenia każdego robota. W przypadku przypisania dynamicznego systemy zazwyczaj mogą dodawać lub odejmować procesy pobierania. Jednak w przypadku dużych przeszukiwań centralny serwer może stać się wąskim gardłem. W związku z tym musi przenieść większość obciążenia do rozproszonych procesów indeksowania.

Algorytm wyboru

Algorytm selekcji w informatyce to algorytm wyznaczania k-tej najmniejszej liczby całkowitej na liście lub tablicy; ta liczba jest znana jako statystyka k-tego rzędu. Obejmuje scenariusze, w których trzeba znaleźć elementy minimalne, maksymalne i mediany. Istnieją techniki selekcji w czasie O(n) (najgorszy przypadek liniowy), a dane strukturalne mogą osiągnąć wydajność podliniową; w skrajnych przypadkach tablica posortowanych danych może osiągnąć wydajność O (1). Wybór jest podproblemem ważniejszych zagadnień, takich jak najbliższy sąsiad i najkrótsza ścieżka. Wiele algorytmów selekcji jest generowanych przez uogólnienie algorytmu sortowania, podczas gdy niektóre algorytmy sortowania możemy wyprowadzić przez wielokrotne stosowanie selekcji.

Warto przeczytać!  Microsoft wyjaśnia, w jaki sposób Bing AI Chat używa ChatGPT i Search with Prometheus

Najprostszym algorytmem selekcji jest iteracja po liście, śledzenie bieżącego minimum (lub maksimum) i łączenie go z sortowaniem przez wybieranie. Z drugiej strony znalezienie mediany jest najtrudniejszą sytuacją w przypadku metody selekcji. W rzeczywistości możemy użyć określonej metody selekcji medianowej, aby opracować ogólny algorytm selekcji, tak jak w przypadku mediany median. Quickselect, powiązany z Quicksort, jest najbardziej znanym algorytmem selekcji; podobnie jak Quicksort, ma (asymptotycznie) doskonałą średnią wydajność, ale słabą wydajność w najgorszym przypadku, ale można go zmodyfikować, aby zapewnić optymalną wydajność również w najgorszym przypadku.

Algorytm sortowania

Algorytm sortowania w informatyce to algorytm porządkujący elementy listy. Najczęstsze porządki są numeryczne i leksykograficzne i mogą być rosnące lub malejące. Wydajne sortowanie ma kluczowe znaczenie dla poprawy wydajności innych algorytmów, które wymagają, aby dane wejściowe znajdowały się na posortowanych listach (takich jak algorytmy wyszukiwania i scalania). Sortowanie jest również często używane do kanonizacji danych i generowania danych wyjściowych czytelnych dla człowieka.

Formalnie wynik każdego algorytmu sortowania musi spełniać dwa wymagania:

  • Dane wyjściowe są w porządku monotonicznym (każdy element nie jest mniejszy/bardziej znaczący niż ostatni element w określonej kolejności).
  • Wyjście jest permutacją (zmiana kolejności danych wejściowych przy zachowaniu wszystkich oryginalnych elementów).
Warto przeczytać!  Apple wprowadza „tryb gry” dla komputerów Mac i Macbook




Źródło