Budżet: 100 USD Termin: 3 dni
Dzień dobry.
Mam ponad 20-letnie doświadczenie w projektach komercyjnych. Ciekawe zadanie, jestem gotów je wykonać.
Musisz stworzyć sposób doboru seed, a, b bez generatorów matematycznych, aby czas wynosił milisekundy (maksymalnie do 1 minuty) dla 25 miliardów 4-cyfrowych liczb
Typu 1234 3214 1122 1234 3412 1123 4234 4411...
A także 100% odzyskiwania i maksymalna prędkość
Główny opis zrobiłem z chat gpt
Techniczne zadanie (zaktualizowane)
Cel
Zrealizować system z dwóch modułów:
1. Dobór (Recovery): znaleźć seed, a, b na podstawie krótkiego fragmentu ciągu.
2. Odtwarzanie: wygenerować ciąg o długości do 25 miliardów liczb (1..4).
---
Format danych
Podstawowy element: cyfra z zbioru {1,2,3,4}.
Pakowanie: 8 cyfr → 64 bity (po 2 bity na cyfrę). To jest jeden blok.
Okno doboru: W = 32..64 kolejnych bloków.
---
MODUŁ A. DOBÓR (Recovery)
A1. Wejście
y_window: tablica z W zapakowanych bloków (uint64) — kolejnych.
seed_candidates: lista kandydatów na seed (na przykład, [0..4095] lub dostarczony plik z listą).
n0_local: znany lokalny indeks pierwszego bloku w oknie (może być 0, jeśli globalny nie jest potrzebny).
A2. Wyjście
seed: znaleziony seed.
a: różnica (mnożnik) w module 2⁶⁴, nieparzysta.
b: przesunięcie w module 2⁶⁴.
status: OK / FAIL (+ diagnostyka).
A3. Model (do realizacji)
x_n = (a*n + b) mod 2^64, gdzie a — nieparzysta.
y_n = PRP_seed(x_n), gdzie PRP_seed — odwrócona permutacja 64-bitowa (dostarczamy realizację/interfejs).
A4. Algorytm doboru (bez brute force w całej przestrzeni)
Dla każdego seed w seed_candidates:
1. Obliczyć klucz PRP_seed^{-1}.
2. Odwrócić pierwsze 2 bloki:
x0 = PRP_inv(y0), x1 = PRP_inv(y1), ustawić a = (x1 - x0) mod 2^64.
(Jeśli a jest parzyste — szybkie odrzucenie.)
3. Dla i=2..W-1:
xi = PRP_inv(yi) i sprawdzić (xi - x_{i-1}) == a.
Jeśli gdzieś się nie zgadza — ten seed odrzucamy.
4. Jeśli wszystkie różnice są takie same — seed znaleziony.
Obliczyć b = (x0 - a*n0_local) mod 2^64.
Zwrócić (seed,a,b) jako wynik.
> Złożoność obliczeniowa ~O(|seed_candidates| · W). Dla |seed_candidates|≤4096 i W≤64 — dziesiątki ms.
A5. Pseudokod
for seed in seed_candidates:
key = PRP_make_key(seed)
x0 = PRP_inv(y[0], key)
x1 = PRP_inv(y[1], key)
a = (x1 - x0) mod 2^64
if (a % 2 == 0): continue
ok = True
prev = x1
for i in 2..W-1:
xi = PRP_inv(y[i], key)
if ((xi - prev) mod 2^64) != a: ok = False; break
prev = xi
if ok:
b = (x0 - a*n0_local) mod 2^64
return (OK, seed, a, b)
return (FAIL, -, -, -)
A6. Sprawdzanie/walidacja
Po znalezieniu (seed,a,b) sprawdzić jeszcze 8–16 kolejnych bloków (jeśli są) na stałą różnicę.
Opcjonalnie: wygenerować 8–16 bloków z wyprzedzeniem od n0_local i porównać z dostarczonymi.
---
MODUŁ B. OFFSET
B1. Wejście
y_obs: jeden obserwowany blok (uint64).
seed, a, b — uzyskane z Modułu A.
B2. Wyjście
n: globalny indeks bloku (mod 2⁶⁴; jeśli potrzebny absolutny w obrębie pliku — opisać zakres stron/bloków).
B3. Formuła
x = PRP_inv(y_obs, seed)
ainv = inverse_mod_2_64(a) // a nieparzyste
n = (x - b) * ainv (mod 2^64)
B4. Czas
O(1): jedna inwersja PRP + jedna inwersja modularna (wcześniej przygotowana) + kilka operacji 64-bitowych → mikrosekundy.
---
MODUŁ C. ODTWARZANIE CIĄGU
C1. Wejście
seed, a, b
start_n, count (zakres do generacji)
C2. Wyjście
Strumień bloków y_n w zadanym zakresie (zapakowane 64-bity), lub rozpakowane cyfry {1..4} (opcjonalnie).
Wsparcie dla strumieniowego zapisu do pliku w formacie 2 bity/cyfra.
C3. Algorytm
x = a*start_n + b
for i in 0..count-1:
y = PRP_seed(x)
output(y)
x += a
(Rozpakowanie 8 cyfr z 64 bitów — proste wydobycie 2-bitowych pól +1.)
---
Wymagania dotyczące wydajności
Dobór (W=64, |seed_candidates|≤4096): < 100 ms na zwykłym laptopie.
Offset: ≈ mikrosekundy.
Generacja 25 miliardów cyfr (z 2-bitowym pakowaniem, 4 strumienie): ~2–6 min na Dell Latitude 5400 (punkt odniesienia).
---
Wymagania techniczne dotyczące realizacji
Język: C++17/20, kompilacja z -O3 -march=native.
Łatwa PRP (odwrócona): 3–4 rundy Feistel z 4×4 S-box, bez ciężkich zależności.
Inwersja modularna a w mod 2⁶⁴ (Newton/Hensel).
Wielowątkowość: OpenMP lub std::thread (opcjonalnie).
Wyjście: buforowane, blokami 8–32 MB; format—zapakowane 2 bity/cyfra.
Kod z komentarzami, oddzielne moduły: prp.h/.cpp, recover.h/.cpp, regen.h/.cpp, pack.h/.cpp, cli.cpp.
---
CLI/API (minimum)
recover --window in.bin --seeds seeds.txt --n0 0 --out params.json
offset --block y.bin --params params.json --out n.txt
regen --params params.json --start 0 --count 100000000 --out stream.bin --packed
params.json:
{ "seed": 1234, "a": "0x1d3f5b7b9d", "b": "0xcafebabe12345678" }
---
Testy akceptacyjne
1. Syntetyczny: wygenerować wzorzec (znane seed,a,b), wyciąć 64 bloki, uruchomić recover → oczekujemy dokładnego dopasowania seed,a,b.
2. Offset: dla pierwszego bloku z wzorca — offset powinien odpowiadać jego indeksowi.
3. Regen: z odzyskanymi parametrami wygenerować N bloków i porównać bajt po bajcie z wzorcem.
4. Perf: zmierzyć czas recover (<100 ms) oraz prędkość regen (nie gorsza niż zadany próg).
---
Dodatkowo (opcje)
Wektoryzacja AVX2 (SIMD) dla PRP.
Pakowacz/rozpakowacz {1..4}↔︎2 bity z buforami strumieniowymi.
Dzienniki wydajności (--bench).
Biblioteczny API (styl C/C++ klasa) do wbudowania.
Oto link do rozmowy, gdzie możesz przeczytać lub zadać pytania
https://chatgpt.com/share/68b0912d-a1b0-8012-af8f-eb6049798075
Budżet: 100 USD Termin: 3 dni
Dzień dobry.
Mam ponad 20-letnie doświadczenie w projektach komercyjnych. Ciekawe zadanie, jestem gotów je wykonać.
Budżet: 100 USD Termin: 1 dzień
Dzień dobry, interesujące, mogę spróbować przepuścić to wszystko przez mój LLM i zobaczyć wynik, jeśli chcesz, napisz na priv
Budżet: 99 USD Termin: 1 dzień
Cześć!
Jestem gotów wykonać twoje zadanie! Szczegóły w wiadomościach prywatnych.
Budżet: 2500 USD Termin: 10 dni
Cześć Roman
Przejrzałem Twoją specyfikację i mogę dostarczyć zarówno moduły Selekcji (Odzyskiwanie), jak i Reprodukcji dokładnie tak, jak opisano (mod
2
64
2
64
kontrahent
𝑥
𝑛
=
𝑎
𝑛
+
𝑏
x
n
=an+b, nieparzyste
𝑎
a; 64-bitowy PRP z odwrotnością; 2-bitowe pakowanie). Podejście unika siłowego ataku i spełnia cel odzyskiwania poniżej 100 ms dla
∣
nasion
∣
≤
4096
,
𝑊
≤
64
∣nasion∣≤4096,W≤64 na laptopie.
Proszę o przesłanie odpowiedzi na następujące pytania:
-Czy dostarczysz swoje PRP_seed / PRP_inv, czy powinienem wysłać swoje (udokumentowane i przetestowane)?
-Oczekiwana górna granica rozmiaru seed_candidates? (Domyślnie ≤4096)
-Celowy system operacyjny/CPU (Linux vs Windows, dostępny AVX2?)
-Ograniczenia dotyczące rozmiaru/partycjonowania pliku wyjściowego dla 25B cyfr? (spakowane ≈ 6,25 GB)
-Czy istnieje wymóg dotyczący przenośnej dokładności bitowej między kompilatorami/architekturami?
Budżet: 100 USD Termin: 1 dzień
Dzień dobry!
Mam doświadczenie w C++17/20, optymalizacji (-O3, AVX2), wielowątkowości oraz arytmetyce modularnej. Realizuję PRP (Feistel), szybkie dobieranie seed/a/b bez brute force, odzyskiwanie i generację 25 miliardów elementów z pakowaniem bitów.
Gwarantuję szybkość i 100% zgodność z wymaganiami.
Budżet $100 ok, gotowy do rozpoczęcia teraz.
Szukam doświadczonego programisty TrinityCore 3.3.5a, który dobrze zna się na strukturze jądra, systemie Battleground, C++, SQL i kliencie WoW 3.3.5. W projekcie zintegrowano już niestandardowy Battleground „Dolina Niewolnictwa” (Slavery Valley), przeniesiony z AzerothCore na TrinityCore. Główna część pracy została już wykonana, jednak wymaga doprowadzenia do poziomu Blizzard.Co już zrobiono TrinityCore 3.3.5a + Eluna. Serwer w pełni skonfigurowany. Battleground zintegrowany z jądrem. Działa wejście do BG. Działa interfejs klienta (częściowo). Przeniesiono większość SQL i DBC. Buduje się bez błędów.Co należy zrobić Naprawić pozostałe błędy Battleground. Doprowadzić mechanikę do poziomu oficjalnych Battleground Blizzard. Naprawić fazę startową meczu. Wdrożyć poprawne bramy startowe/ściany ognia. Naprawić mechanikę przejmowania punktów. Naprawić zakończenie meczu. Sprawdzić przyznawanie punktów i działanie WorldState. Naprawić pozostałe problemy C++ i SQL. Przeprowadzić pełne testy gry.Wymagania Obowiązkowe doświadczenie: TrinityCore 3.3.5a; C++; SQL (MariaDB/MySQL); DBC; MPQ; Visual Studio; CMake; Git. Dużym plusem będzie: AzerothCore; Eluna; doświadczenie w tworzeniu Battleground; znajomość części klienckiej WoW 3.3.5a.Format pracy Praca etapowa. Po każdym etapie obowiązkowe testowanie. Każdy etap akceptowany tylko po weryfikacji w grze. Potrzebne są zrozumiałe raporty dotyczące zmian.W przyszłości To długoterminowy projekt. Po zakończeniu Battleground planowane jest: przeniesienie nowych Battleground; przeniesienie nowych aren; nowe rasy; nowe klasy; nowe systemy gry; dalszy rozwój własnego serwera World of Warcraft 3.3.5a. Szukam programisty, który już pracował z TrinityCore i będzie w stanie nie tylko pisać kod, ale doprowadzić system do w pełni działającego stanu.nie serwer z 0 jak chcę Jeśli szukasz programisty nie tylko na jeden Battleground, ale na stworzenie serwera od podstaw, to ogłoszenie powinno wyglądać mniej więcej tak.Nazwa projektu Rozwój serwera World of Warcraft 3.3.5a od podstaw (TrinityCore / C++ / SQL / Eluna)Opis projektu Szukam doświadczonego programisty TrinityCore 3.3.5a do długoterminowej współpracy. Potrzebuję osoby, która będzie w stanie od podstaw stworzyć w pełni gotowy serwer gry World of Warcraft 3.3.5a na bazie TrinityCore z dalszym rozwojem projektu. Projekt jest duży i przewidziany na kilka miesięcy rozwoju.Podstawa projektu TrinityCore 3.3.5a. Jak najbardziej stabilna i zbliżona do Blizzard baza. Eluna Lua Engine. MariaDB. Visual Studio + CMake. Git.Co planuje się zrealizować W pełni działający serwer 3.3.5a. Naprawa błędów jądra. Rozwój nowych systemów gry. Integracja niestandardowych Battleground. Integracja nowych aren. Przeniesienie użytecznych modułów z AzerothCore na TrinityCore. Rozwój własnych modułów. Nowe systemy PvP i PvE. Nowe wydarzenia w grze. Balansowanie klas. Dodatkowe systemy progresji. Poprawa wydajności serwera.W przyszłości Po zakończeniu podstawowej części planowane jest: nowe rasy; nowe klasy; nowe strefy; nowe lochy; nowe rajdy; nowe Battleground; nowe profesje; nowe mechaniki gry; integracja nowoczesnych systemów w kliencie 3.3.5a.Wymagania dla programisty Obowiązkowe: Doskonała znajomość TrinityCore 3.3.5a. Pewna znajomość C++. SQL (MariaDB/MySQL). Git. Visual Studio. CMake. Znajomość architektury TrinityCore. Doświadczenie w pracy z Battleground, PvP i mechanikami gry. Dużym plusem będzie: Doświadczenie w pracy z AzerothCore. Eluna Lua Engine. Praca z DBC i MPQ. Doświadczenie w tworzeniu własnych systemów gry.Format pracy Praca etapowa. Każde zadanie jest dokumentowane jako osobne zadanie techniczne. Po każdym etapie przeprowadzane są obowiązkowe testy. Praca akceptowana tylko po weryfikacji bezpośrednio w grze. Potrzebny jest programista, który potrafi doprowadzić funkcjonalność do w pełni działającego stanu, a nie tylko pisać kod.
Konfiguracja i programowanie płytek. Potrzebni specjaliści znający Altium, C++. Zapewniamy rezerwację. Płatność - do uzgodnienia.
Stworzyć kompatybilność między naziemną stacją zarządzania, systemem automatycznego startu (SAS), radarem a samolotem.
Potrzebny deweloper MTA:SA. Potrzebuję pomocy w zbudowaniu czystego źródła MTA:SA 1.6 mtasa-blue na Windows. Co należy zrobić: 1. Skonfigurować środowisko do budowy: Visual Studio, Git, DirectX SDK, CEF, DLL i inne zależności. 2. Zbudować czystego klienta/serwera mtasa-blue. 3. Sprawdzić, czy klient uruchamia się bez błędów. 4. Wyjaśnić, jakie pliki/zależności są potrzebne. 5. Dać krótką instrukcję, jak mogę samodzielnie ponownie zbudować klienta. 6. Lub jeszcze pomóc przez AnyDesk/Discord/Telegram. Ważne: - Bez omijania antycheatu. - Bez cheatów. - Bez złośliwego kodu. - Potrzebna tylko legalna budowa źródła i konfiguracja środowiska. Wynik, który chcę uzyskać: - zbudowany czysty klient MTA:SA 1.6; - zbudowany serwer lub wyjaśnienie, jak go zbudować; - lista wszystkich zależności; - krótka instrukcja do ponownej budowy; - wyjaśnienie, co dokładnie zostało naprawione. Lub zaproponuj swoją cenę!
Należy opracować program dla systemu Windows, który umożliwia podłączenie iPhone'a z jailbreak przez kabel USB i zarządzanie nim z komputera. Główne funkcje: Podłączenie iPhone'a przez USB. Program powinien szybko rozpoznawać podłączonego iPhone'a i działać przez kabel, aby zminimalizować opóźnienia i lagi. Transmisja ekranu iPhone'a na komputer. (Na komputerze ma być wyświetlany ekran telefonu w czasie rzeczywistym) Zarządzanie telefonem za pomocą myszy. Użytkownik powinien mieć możliwość klikania, przesuwania, przewijania i zarządzania ekranem iPhone'a za pomocą myszy z komputera. Wprowadzanie tekstu z komputera. Musi być wspólny schowek między komputerem a iPhone'em. Przesyłanie plików z komputera na iPhone'a. Należy dodać funkcję przesyłania plików z komputera do pamięci telefonu lub do odpowiednich folderów/aplikacji. Stabilna praca. Program ma działać płynnie, bez znaczących opóźnień, zawieszeń i przerw w połączeniu. Kompatybilność: wsparcie dla „złamanego” iPhone'a, rootless jailbreak, iOS 16.7.12, podłączenie przez USB.