Co to jest ewolucja różnicowa Scipy w języku Python?
SCIPY to powierzchowna, bezpłatna i zrozumiała biblioteka używana do rozwiązywania problemów naukowych i matematycznych. Scipy to skrzynka skarbowa dla programistów, ponieważ jego biblioteka jest pełna cennych modułów. SCIPY rozszerza funkcjonalność Numpy o cenną klaster algorytmów. Biblioteka Scipy ma podkładki, które można użyć do obliczeń, takich jak Scipy.IO, Scipy.zoptymalizuj itp. Scipy tworzy funkcję „ewolucji różnicowej” i wiele potężnych funkcji w Scipy.optymalizuj pakiet. Scipy.Optymalizacja jest używana do optymalizacji w aplikacjach Python.
Różnicowa funkcja ewolucji to funkcja globalna nabyta przez pakiet SCIPY Optimize, który służy do znalezienia globalnego minimum funkcji wieloczynnikowych. Może zarządzać wielowymiarowymi funkcjami celu, które są nieliniowe i nie różnicowe. Jest to algorytm wyszukiwania używany do wyszukiwania obszarów ciągłych funkcji przestrzeni. Ta funkcja działa na rzeczywistych wartościach.
Składnia funkcji ewolucji różnicowej
Różnicowa funkcja ewolucji jest obecna w Pythonie przy użyciu funkcji różnicowej_evolution (). Składnia funkcji ewolucji różnicowej pokazano poniżej:
Przejrzyjmy parametry funkcji:
Funkcja musi być nazywana z F (x,*args); granice odnoszą się do sekwencji zmiennych, które można określić na dwa sposoby: Strategia jest opcjonalna lub ciąg o wartości domyślnej „Best1bin”; Maxiter jest opcjonalny lub wartość INT; PopSize jest int lub opcjonalny; TOL jest int lub opcjonalny; Wartość mutacji jest w float lub opcjonalna; Wartość rekombinacji jest w float lub opcjonalna; ziarno nie jest, int, numpy i losowe.
W następnej sekcji omówimy funkcję ewolucji różnicowej za pomocą łatwych przykładów.
Przykład 1
Zacznijmy od prostego przykładu, który rozwinie twoje zainteresowanie zrozumieniem koncepcji funkcji ewolucji różnicowej. Użyliśmy funkcji różnicy_evolution (), aby znaleźć minimalną wartość. Ale, aby znaleźć minimalną wartość, funkcja wymagała granic wyszukiwania i zdefiniowanej funkcji celu, które można obiektować. W rezultacie definiujemy funkcję przed użyciem funkcji różnicowej_evolution w programie. Kod referencyjny programu jest wspomniany poniżej:
importować Numpy jako NPZaimportowaliśmy biblioteki takie jak Scipy i Numpy do obliczeń numerycznych tablicy. Zaimportowaliśmy funkcję różnicowej_ewolucji z Scipy.Zoptymalizuj moduł. Następnie, za pomocą słowa kluczowego „def”, definiujemy funkcję celu, w którym możliwe jest i przekazujemy parametr „P”. Z powodzeniem definiujemy funkcję, która znajduje pierwiastek kwadratowy dodawania zmiennych Numpy, czyli z, x. Wartość pierwiastka kwadratowego jest przechowywana w zmiennej „H”. Zwracamy wartość pierwiastka kwadratowego w zdefiniowanej funkcji. Jest zwracany jako argument.
Następnie rozstrzygamy granice zmiennej, które można wyszczególnić, wyjaśniając wartości min i maksymalnie funkcji. Wykonujemy funkcję różnicową_evolution z „de_bounds” jako argument. Nazwaliśmy wartość funkcji ze zmienną o nazwie RES. Ostatecznie używamy instrukcji drukowania, aby pokazać wyjście. Wynik został wyświetlony po uruchomieniu programu. Oczekiwany zrzut ekranu wyjściowego pokazano poniżej:
Różnicowa_evolution () pokazuje, że minimalna wartość funkcji jest wyświetlana w punkcie (0, 0).
Przykład 2
To kolejny przykład funkcji ewolucji różnicowej. W tym bierzemy tablice i stosujemy różne operacje między nimi. Kod referencyjny programu jest wspomniany poniżej:
importować Numpy jako NPJak pokazano na poprzednim zrzucie ekranu, z powodzeniem zaimportowaliśmy Scipy.optymalizować.biblioteka różnicowa_evolution i biblioteka Numpy w programie. Teraz definiujemy funkcję celu w imieniu, której znajdujemy minimalną wartość. Przeszliśmy wyrażenie matematyczne w funkcji celu i zwróciliśmy wartość jako argument do określonej funkcji. Granica między wartościami funkcji jest koniecznością. Tak więc po zdefiniowaniu funkcji naprawiliśmy zarówno wartości (maksimum i minimum).
Po zdefiniowaniu wszystkich niezbędnych zmiennych nazwaliśmy funkcję różnicowej_evolution, aby znaleźć minimalną wartość funkcji. Zapisaliśmy minimalną wartość zwracania funkcji w zmiennej o nazwie DISP. Na końcu programu przekazujemy zmienną DISP w instrukcji drukowania, aby wyświetlić wynik. Po uruchomieniu programu minimalna wartość zdefiniowanej funkcji jest wyświetlana na ekranie z granicami. Poniżej znajduje się wyjście:
Przykład 3
Jak widzimy, ewolucja różnicowa zwraca różne minimalne wartości funkcji celu na podstawie jej definicji. Tutaj bierzemy kolejny przykład związany z różnicą_evolution (). Kod referencyjny dla tego programu pokazano poniżej:
importować Numpy jako NPBiblioteki są z powodzeniem importowane do tego programu, ponieważ nie możemy wykonywać pożądanych operacji bez nich. W rezultacie w programie uwzględniamy bibliotekę Scipy. Następnie zdefiniuj funkcję celu za pomocą wymaganej operacji. Znajdujemy minimalną wartość tej zdefiniowanej funkcji. Po dostosowaniu granicy funkcji wywołaliśmy zdefiniowaną funkcję w ewolucji różnicowej, aby znaleźć minimalną wartość funkcji. Jest to następnie przechowywane w zmiennej. Wyświetlamy to, nazywając tę zmienną w instrukcji drukowania. Wyjście tego programu pokazano poniżej:
Podobnie jak na poprzednim zrzucie ekranu, minimalna wartość funkcji wynosi [0.29236931, 0.16808904]. Możesz także uruchomić te przykłady w swoim środowisku, aby lepiej zrozumieć koncepcję funkcji różnicowej.
Wniosek
Weźmy szybkie podsumowanie tego artykułu. Chwyciliśmy podstawową funkcjonalność metody ewolucji różnicowej, która należy do biblioteki Scipy w Python. Python jest najnowszym językiem z licznymi elastycznymi bibliotekami. Większość programistów była wspomagana w rozwiązywaniu złożonych struktur kodów przez predefiniowane funkcje i biblioteki. Ewolucja różnicowa to funkcja optymalizacji pakietu Scipy lub metoda stosowana do minimalizacji. Kiedy używasz tych poprzednich przykładów w kodzie, lepiej rozumiesz koncepcję ewolucji różnicowej.