OK, oto Runda 2 Super Wielkiego Optymalizatora. Ten post może być na szczęście znacznie krótszy niż cytowany post, ponieważ cały proces po początkowym zapytaniu jest identyczny z Rundą 1, wystarczy zamienić "1" na "2" w nazwach plików. Oto zapytanie: --- Najpierw przeczytaj WSZYSTKIE pliki md AGENTÓW i README md bardzo uważnie i zrozum WSZYSTKO z obu! Następnie użyj trybu agenta do badania kodu, aby w pełni zrozumieć kod, architekturę techniczną i cel projektu. Następnie, gdy już wykonasz niezwykle dokładną i skrupulatną pracę w tym zakresie i głęboko zrozumiesz cały istniejący system, co on robi, jego cel oraz jak jest wdrożony i jak wszystkie elementy łączą się ze sobą, potrzebuję, abyś hiper-intensywnie zbadał, studiował i rozmyślał nad tymi pytaniami, które dotyczą tego projektu: Czy są jakieś inne poważne nieefektywności w systemie podstawowym? miejsca w bazie kodu, gdzie 1) zmiany rzeczywiście wpłynęłyby na ogólną latencję/reaktywność i przepustowość; 2) w taki sposób, że nasze zmiany byłyby dowodowo izomorficzne pod względem funkcjonalności, abyśmy mogli być pewni, że nie zmieni to wynikowych wyjść przy tych samych wejściach; 3) gdzie masz wyraźną wizję oczywiście lepszego podejścia pod względem algorytmów lub struktur danych (zauważ, że w tym przypadku możesz uwzględnić w swoich rozważaniach mniej znane struktury danych oraz bardziej ezoteryczne/sofistykowane/matematyczne algorytmy, a także sposoby przekształcenia problemów, aby ujawnić inny paradygmat, taki jak lista pokazana poniżej (Uwaga: przed zaproponowaniem jakiejkolwiek optymalizacji ustal metryki bazowe (p50/p95/p99 latencja, przepustowość, maksymalna pamięć) i uchwyć profile CPU/alokacji/I/O, aby zidentyfikować rzeczywiste gorące punkty): - optymalizacja wypukła (przekształcenie daje gwarancje globalnego optimum) - optymalizacja submodularna (chciwy daje przybliżenie o stałym współczynniku) - uogólnienie semiringu (ujednolica najkrótszą ścieżkę, zamknięcie przejrzyste, przepływ danych, parsowanie) - rozpoznawanie struktury matroidu (chciwy jest dowodowo optymalny) - algebra liniowa nad GF(2) (systemy XOR, problemy przełączania, korekcja błędów) - redukcja do 2-SAT (ważność konfiguracji, grafy implikacji) - redukcja do min-koszt maks-przepływu (przypisanie, harmonogramowanie, alokacja zasobów) - rozpoznawanie dopasowania dwudzielnego (Węgierski, Hopcroft-Karp) - DP jako najkrótsza ścieżka w implicit DAG (umożliwia DP z kolejką priorytetową, optymalizację w stylu Dijkstry) - sztuczka wypukłej powłoki / drzewa Li Chao (O(n²) DP → O(n log n)) - optymalizacja Knutha / DP dziel i zwyciężaj - redukcja przestrzeni Hirschberga (gdy ma zastosowanie poza wyrównywaniem) - FFT/NTT dla konwolucji (mnożenie wielomianów, korelacja sekwencji) - potęgowanie macierzy dla liniowych rekurencji - transformacja Möbiusa / konwolucja podzbiorów - struktury danych trwałych/niemutowalnych (wersjonowanie, wycofanie, wykonanie spekulacyjne)...