Devlog #56 – Fala 36: Kolonia mrówek, Struktura pasmowa i Koło wodne Lorenza

Fala 36 przecina trzy dyscypliny: solver optymalizacji mrówkowej (ACO), w którym obserwujemy, jak ślady feromonowe zbiegają się do najkrótszej trasy przez 16 miast, wizualizator struktury pasmowej półprzewodników pokazujący diagramy E-k dla sześciu prawdziwych materiałów z suwakami Fermiego-Diraca i domieszkowania na żywo, oraz Koło wodne Lorenza — fizyczny aparat, którego równania ruchu są identyczne jak w oryginalnej pracy Lorenza z 1963 roku, wyrenderowany zarówno jako obracające się koło z kubełkami, jak i żywy portret fazowy atraktora-motyla. Wszystkie trzy symulacje wychodzą z kompletnymi tłumaczeniami ukraińskimi w dniu premiery.

Statystyki wydania

481
Łącznie symulacji
56
Wpisów devlogu
36
Fal wydań
1679
Adresów URL w mapie strony

Nowe symulacje

🐜

Kolonia mrówek

Optymalizacja mrówkowa (ACO) rozwiązująca problem komiwojażera dla 16 losowo rozmieszczonych miast. Obserwuj, jak ślady feromonowe gęstnieją wzdłuż lepszych tras, a najlepsza trasa (podświetlona na blado zielono) zbiega się na przestrzeni setek iteracji. Sterowanie parametrami α, β, tempem parowania ρ, siłą osadzania Q i wielkością kolonii.

Otwórz Kolonię mrówek →

Struktura pasmowa

Diagram E-k dla sześciu prawdziwych materiałów: Si, Ge, GaAs (przerwa prosta), diament, SiO &sub2; (izolator) oraz Cu (metal). Krzywa obsadzenia Fermiego-Diraca, histogram gęstości stanów, suwak temperatury (0–1000 K) i suwak domieszkowania (−5 do +5) przesuwają poziom Fermiego w sposób ciągły.

Otwórz Strukturę pasmową →
💧

Koło wodne Lorenza

Fizyczne koło wodne Malkusa z 12 nieszczelnymi kubełkami, napędzane równaniami Lorenza całkowanymi metodą RK4 (σ, r, b). Lewy panel animuje koło; prawy panel pokazuje ślad portretu fazowego x–z oraz szereg czasowy x(t). Trzy presety: Chaotyczny (r=28), Stabilny (r=14), Na granicy chaosu (r=24.7).

Otwórz Koło wodne Lorenza →

Kolonia mrówek — notatki projektowe

Algorytm ACO

Optymalizacja mrówkowa to probabilistyczna metaheurystyka inspirowana stygmergicznym zachowaniem prawdziwych mrówek. Każda „mrówka” w symulacji buduje kompletną trasę przez wszystkie 16 miast, wielokrotnie wybierając kolejne miasto za pomocą selekcji ruletkowej ważonej przez:

gdzie τij to poziom feromonu na krawędzi (i, j), ηij = 1 / dist(i, j) to heurystyka (odwrotność odległości), a α i β to wagi kontrolowane przez użytkownika. Po zakończeniu tras przez wszystkie mrówki feromon paruje:

a następnie każda mrówka osadza Q / tour_length na swoich krawędziach, nagradzając krótsze trasy. W ciągu 50–200 iteracji kolonia niezawodnie zbiega się do trasy bliskiej optymalnej.

Renderowanie feromonu

Krawędzie są rysowane z grubością i przezroczystością proporcjonalną do znormalizowanego poziomu feromonu t = τij / τmax: grubość linii = 0.5 + t × 3.5 px oraz alfa = t × 0.7 w kolorze szmaragdowym #10b981. Aktualna najlepsza trasa jest rysowana ponownie w każdej klatce jako jednolita linia #a7f3d0 o grubości 2, dzięki czemu zwycięska ścieżka jest natychmiast czytelna na tle słabo widocznego śladu feromonowego.

Sterowanie i statystyki

Panel statystyk pokazuje długość najlepszej trasy (px), liczbę iteracji, bieżącą średnią długość trasy oraz procent poprawy względem początkowej losowej trasy.

Struktura pasmowa — notatki projektowe

Diagram E-k

Strefa Brillouina rozciąga się od −π/a do +π/a na osi k. Dla materiałów półprzewodnikowych symulacja rysuje dwa pasma walencyjne (ciężkich i lekkich dziur, oba parabole zakrzywiające się w dół od k=0) plus pasmo odszczepione spinowo, przesunięte −0.3 eV poniżej wierzchołka pasma walencyjnego. Dla materiałów o przerwie skośnej (Si, Ge) minimum pasma przewodnictwa jest przesunięte do k ≈ ±0.45π/a; dla GaAs o przerwie prostej minimum znajduje się przy k=0.

Fermiego-Diraca i domieszkowanie

Poziom Fermiego dla samoistnego półprzewodnika jest przypięty w pobliżu środka przerwy (E F = Eg/2). Suwak domieszkowania przesuwa go liniowo o ±0.4 eV: domieszkowanie „typu n” (+) podnosi E F w stronę pasma przewodnictwa, zwiększając koncentrację elektronów; domieszkowanie „typu p” (−) obniża go w stronę pasma walencyjnego, zwiększając koncentrację dziur. Panel Fermiego-Diraca wizualizuje f(E) = 1 / (1 + exp((E − E F) / k T)) jako krzywą w tym samym zakresie energii: przy 0 K jest to funkcja skokowa; przy 1000 K jest szeroko zaokrąglona.

Gęstość stanów

Panel gęstości stanów (DOS) po prawej stronie diagramu E-k pokazuje uproszczoną paraboliczną gęstość stanów na wycinek energii. Dla półprzewodników gęstość stanów pasma walencyjnego jest proporcjonalna do √(−E) poniżej 0 eV, a gęstość stanów pasma przewodnictwa jest proporcjonalna do √(E − Eg) powyżej Eg. Każdy piksel wiersza jest kolorowany zgodnie z obsadzeniem Fermiego-Diraca: stany obsadzone są niebieskie, puste są ciemnoczerwone, a rozmyty przejściowy region w pobliżu E F miesza się między nimi.

Koło wodne Lorenza — notatki projektowe

Równania ruchu

Lorenz (1963) wyprowadził swój słynny układ trzech równań różniczkowych, modelując konwekcję Rayleigha–Bénarda. Malkus i Howard (1972) pokazali, że te same równania opisują nieszczelne koło wodne: jeśli woda w kubełkach an i bn to amplitudy Fouriera azymutalnego rozkładu masy, a x, y, z są odpowiednimi kombinacjami liniowymi, układ redukuje się dokładnie do:

gdzie x jest proporcjonalne do prędkości kątowej koła, y i z kodują asymetryczny rozkład wody. Całkowanie wykorzystuje metodę Rungego-Kutty czwartego rzędu przy dt = 0.005.

Reżimy atraktora

Układ ma trzy jakościowo różne reżimy w zależności od liczby Rayleigha r:

Trzy przyciski presetów ustawiają odpowiednio r = 28 (chaotyczny), 14 (stabilne punkty stałe) i 24.7 (na granicy chaosu).

Wizualizacja koła wodnego

Dwanaście kubełków rozmieszczonych jest równomiernie na okręgu o promieniu 140 px. Każdy kubełek ma poziom napełnienia (0–1), przedstawiany jako niebieski łuk przycięty do koła kubełka. Przy każdym kroku całkowania woda kapie do kubełka najbliższego górnemu środkowi koła, podczas gdy wszystkie kubełki przeciekają proporcjonalnie do bieżącego poziomu napełnienia (naśladując prawdziwe dziury w kubełkach). Kąt obrotu koła zwiększa się o x × dt × 0.15 na każdy krok, więc kąt wizualny jest bezpośrednią całką zmiennej Lorenza x. Zielono-czerwony łuk wokół obwodu wskazuje bieżący kierunek obrotu (±x).

Tłumaczenia ukraińskie

Wszystkie trzy symulacje są dostępne po ukraińsku pod adresami /uk/ant-colony/, /uk/band-structure/ oraz /uk/lorenz-waterwheel/. Kluczowe przetłumaczone ciągi znaków obejmują:

Co dalej — zapowiedź Fali 37

Lista pomysłów wciąż rośnie. Kandydaci na Falę 37 to między innymi:

Wszystkie symulacje z Fali 37 wyjdą ze stronami EN i UK w dniu premiery.