Vytvor deklaratívny profil adaptéra a dátové zadanie pre aktuálnu verziu RoboPol Math (Beta). Tento pokyn je určený na tvorbu matematických modelov a dát pre nainštalované adaptéry. Ak úloha vyžaduje vlastnú inicializáciu, operátory alebo lokálne hľadanie, najprv túto potrebu vysvetli a použi samostatný kontrakt Customer Program SDK v1 alebo Rust SDK v1. Nevkladaj spustiteľný kód do ModelSpec a neoznačuj obyčajný zdrojový súbor v jazyku Rust za importovateľný adaptér. Online verzia vykonáva výpočty iba na CPU servera; nepoužíva GPU servera ani návštevníka. Nevyžaduj prístup k implementácii súkromného jadra ani jeho úpravy. Vychádzaj z aktuálnej online príručky, exportovaného profilu a verejného SDK. Pravidlá Free plánu: najviac 30 sekúnd hľadania, 45 sekúnd celej spustenej úlohy vrátane prípravy a validácie, 512 MiB na celý výpočtový proces. Jedna súkromná relácia prehliadača má jednu bežiacu a dve čakajúce úlohy a denný rozpočet 3 600 CPU-sekúnd, obnovovaný o 00:00 UTC; samostatný hodinový CPU limit nie je. Čakanie nespotrebúva CPU kredit. Neuvádzaj vymyslené hodnoty spotreby ani stavu používateľovho rozpočtu. Pri neznámom meraní zachovaj rozlíšenie opatrnostne účtovaného kreditu. Neopisuj túto reláciu ako hotový zákaznícky účet. Úloha: [Opíš rozhodnutia, jednotky, vstupné údaje, povinné podmienky a cieľ.] Malý referenčný príklad: [Uveď prípustný prípad s hodnotami, ktoré sa dajú nezávisle overiť.] Prílohy: profil exportovaný z aktuálnej aplikácie vo formáte refined.math.adapter a schémy model.schema.json, task.schema.json a adapter.schema.json. Pri zabezpečení kompatibility vychádzaj z exportovaného profilu. Odovzdaj dva samostatné súbory JSON v kódovaní UTF-8: 1. my-problem.adapter.json Najprv vyber vhodný nainštalovaný adaptér a skopíruj jeho dodaný profil. Pre matematické hľadanie použi math-model, pre presné počítanie finite-count, pre symbolické transformácie symbolic a pre vhodný natívny adaptér jeho registrované ID. Ak správny profil chýba, vyžiadaj si export. Uprav opisné polia name, description, help a contract tak, aby presne opisovali model a vybraný adaptér. Do defaultTask vlož úplné vzorové zadanie. Zachovaj format s hodnotou refined.math.adapter a schemaVersion s hodnotou 1. Ponechaj pôvodné hodnoty polí adapterId, runtime.binding, runtime.inputKey a runtime.coreRevision. Každé zadanie v samples[].task musí používať rovnaký registrovaný adaptér. Metadáta opisujú správanie; neimplementujú spustiteľné operátory. 2. my-problem.task.json Vytvor úplné samostatné zadanie. Pole format nastav na refined.math.task a pole schemaVersion na 1. Použi rovnaký adapterId, názov v poli title, príslušný obsah poľa payload a ohraničené nastavenia v poli options. Matematické a počítacie zadania používajú payload.model, natívne zadania payload.input a symbolické zadania payload.symbolic. Pri použití ModelSpec vlož celý matematický model do payload.model a hodnoty jeho pevných parametrov do payload.model.data. Nepoužívaj odkazy na externé súbory. Samostatný import dát vyžaduje formát refined.math.data a presný odkaz na uloženú definíciu adaptéra. Nasledujúce pokyny pre ModelSpec platia pre math-model a finite-count. Natívne a symbolické vstupy musia dodržiavať vlastné exportované kontrakty. ModelSpec v1 obsahuje schemaVersion, title, variables, data, constraints a goal. Pre podporovanú presnú aritmetiku nastav numericPolicy na exact. Pre približné numerické výpočty použi auto alebo real a uveď toleranciu. Deklaruj skupiny premenných typu integer, binary, permutation alebo real s poľami shape, lower a upper. Hranice musia byť pevné číselné hodnoty. Permutačný interval musí obsahovať presne toľko celých čísel, koľko pozícií má deklarovaný stav. Pole data obsahuje pomenované skupiny parametrov, z ktorých každá má pole values. Jednoprvkové pole values predstavuje skalárny parameter. Zlomky, desatinné čísla a veľké presné celé čísla zapisuj ako reťazce JSON. Indexuj od jednotky pomocou celých čísel zapísaných priamo vo výraze, napríklad pick[1]. Na prácu s vektormi používaj dot, sum, product, sumSquares, mean, min, max a allDifferent. Výbery z matíc zahŕňajú row(M,1), column(M,1), diagonal(M,0) pre hlavnú diagonálu a diagonal(M,1) pre vedľajšiu diagonálu štvorcovej matice. Podporované sú aj abs, sqrt, sin, cos, tan, exp, ln, log10, norm, floor, ceil, round, sign, gcd, lcm, factorial, choose a if. Niektoré funkcie vyžadujú približnú aritmetiku. Vo výrazoch možno používať + - * / % ^, == != < <= > >= a && || !. Násobenie zapisuj výslovne. Nepoužívaj cykly, generovanie kolekcií výrazmi typu comprehension, premenné indexy, syntax JavaScriptu alebo Pythonu, Math.*, eval ani nahraný zdrojový kód. Pre ciele find, minimize a maximize použi math-model. Počítanie vyžaduje konečné diskrétne domény, presné podmienky a napojenie finite-count v celom profile aj zadaní. Symbolické transformácie používajú napojenie symbolic a payload.symbolic. Každú navrhovanú zmenu požadovanej výpočtovej cesty vysvetli. Prvé overovacie zadanie nech je malé. Limity ModelSpec sú 1–16 skupín premenných, spolu 512 rozhodovacích hodnôt, 32 dátových skupín po najviac 512 hodnotách, 64 podmienok, 4 096 bajtov UTF-8 na výraz a 120 znakov na názov. Použi jedinečné ASCII názvy do 32 znakov, ktoré sa začínajú písmenom alebo podčiarkovníkom. Nepoužívaj rezervované názvy vrátane názvov funkcií. Každý bežný importovaný dokument JSON vytvorený podľa tohto pokynu môže mať najviac 131 072 bajtov (128 KiB). Spustiteľné balíky pre Rust SDK majú vlastný formát a limity a nepatria do tohto deklaratívneho postupu. Pri matematickom hľadaní s ModelSpec začni týmito nastaveniami options: {"seed":42,"timeLimitMs":3000,"maxEvaluations":200000,"maxWorkUnits":50000000} Ak riešenie vyžaduje vlastný Rust adaptér, použi aktuálny samostatný Rust SDK v1 a jeho kontrolný postup. Autor ho zostaví externe do Wasm a vytvorí úplný balík refined.math.wasm-adapter; server nekompiluje nahraný Rust a neprijíma natívne EXE/DLL. Limity: modul 512 KiB, balík 4 MiB, zdroje najviac 64 súborov/2 MiB, predvolené dáta a každý príklad 64 KiB, jeden stav 64 KiB, požiadavka/odpoveď 128 KiB. Celé online zadanie má najviac 128 KiB vrátane metadát; 64 KiB nie je univerzálny limit všetkých dát pri behu. Wasm inštancia má 32 MiB a najviac štyri inštancie sa podieľajú na hľadaní; 512 MiB je hranica celého procesu. Celá JSON odpoveď smie obsahovať najviac 8 192 počítaných hodnôt a kľúčov a hĺbku 40. Palivo má hranice 50 miliónov jednotiek na volanie, 500 miliónov na vyhľadávanie a ďalších najviac 250 miliónov na čerstvú validáciu; nie sú to CPU-sekundy a môžu ukončiť beh skôr než časový limit. Nepredpokladaj hostiteľské importy, WASI, GPU, natívne knižnice ani prístup k súborom, sieti alebo procesom. Neoznačuj kontrolu autora za nezávislý matematický dôkaz. Nevymýšľaj nepodporované polia, funkcie, napojenia runtime, vlastný kód vykresľovania ani kompilované balíky adaptérov. Pri iných typoch adaptérov zachovaj kontrakt nastavení z exportovaného profilu. Nastavenia matematického modelu nekopíruj do iného napojenia bez overenia ich podpory. Pred odovzdaním súborov vysvetli reprezentáciu kandidáta, pevné údaje, každú povinnú podmienku, cieľ a jednu nezávislú kontrolu. Skontroluj rozmery vektorov, jednotky, hranice, prípustnosť, menovatele, definičné obory funkcií a aritmetický rozsah. Pri odstraňovaní symetrií over, že sú príslušné možnosti v pôvodnej úlohe rovnocenné. Opíš, ako vymeniť dátové hodnoty a zachovať pritom rovnaký model. Pomenuj konkrétnu odpoveď, ktorú má používateľ vo výsledku hľadať: vybrané položky, priradenie, hodnoty alebo vzorec. Význam a jednotky cieľovej funkcie vysvetli oddelene od rozhodovacieho vektora. Vlastné zobrazenie výsledkov musí dodržať aktuálnu schému outputs.schema.json a používať iba jej deklaratívne projekcie bez vykresľovacieho kódu. Ak požiadavku nemožno vyjadriť podporovanými operáciami, pomenuj obmedzenie a vyžiadaj si preformulovanie. Nepoužívaj iba vierohodne vyzerajúcu nepodporovanú syntax. Nevymýšľaj výsledky aplikácie, štatistiky jadra, certifikáty ani tvrdenia o vykonaných testoch. Prípustný výsledok alebo stav best_found nedokazuje globálnu optimalitu; no_solution_found nedokazuje neriešiteľnosť. Nezávislé matematické referenčné hodnoty odlišuj od výsledkov skutočného výpočtu v aplikácii. Samotný stav best_found nepotvrdzuje ani prípustnosť. Skontroluj pole feasible a vrátené kontroly podmienok. Zhoda opätovne vypočítaného skóre sama osebe nie je dôkazom optimality. Ak nevieš vytvoriť súbory, odovzdaj pre každý súbor samostatný, jasne pomenovaný blok JSON. Každý blok musí obsahovať úplný a platný JSON bez komentárov alebo vynechaných častí. Používateľ profil alebo zadanie načíta pomocou tlačidla Importovať adaptér alebo zadanie a následne použije tlačidlá Overiť zadanie a Vypočítať. Pri opakovanom použití najprv importuj profil a exportuj jeho dokument refined.math.definition. Pre ďalšiu inštanciu vytvor refined.math.data v1 s názvom title, presným objektom definition (id, revision, digest) a poľom payload.modelData obsahujúcim všetky pomenované skupiny parametrov s nezmeneným počtom hodnôt. Natívne dáta používajú payload.input a symbolické dáta payload.symbolic. Pri tvorbe zmenených dát vynechaj voliteľné id a digest samotného dátového dokumentu; digest definície si nikdy nevymýšľaj. Aplikácia pred použitím dát overí a zobrazí náhľad zmien. Zmena štruktúry modelu vyžaduje novú verziu definície. Online ukladanie rozlišuje lokálnu knižnicu/projekty/koncepty v prehliadači a súkromné serverové výpočty s ich vstupnými snímkami, výsledkami a prijatými balíkmi. Nepredpokladaj synchronizáciu účtu či obnovu na inom zariadení. Nové ukončené Free záznamy majú hranicu 100 výsledkov a uchovanie najviac 30 dní; odporuč export dôležitých vstupov, definícií, dát a vykonateľných balíkov. Samotný odkaz na modul nenahrádza jeho úplný balík. Vymazanie histórie neobnovuje CPU kredit. Veľký vedecký faktorizačný backend sa v krátkom Free fonde nespúšťa, kým nemá samostatný ohraničený a meraný fond. Nepredkladaj jeho úplný rozklad ako dostupnú vykonanú cestu. Malý natívny u64 rozklad podlieha spoločným krátkym limitom. Ak sa zmení kompatibilita alebo bezpečnostná identita runtime, používateľ môže potrebovať opätovný import pôvodného balíka.