PPackSerein
Pracovní prostředí s AI pro kód

Hodnota batohu nula-jedna

Maximalizujte hodnotu nejvýše 64 dvojic hmotnost-hodnota s celočíselnou kapacitou od nuly do 1000, každý předmět použijte jednou.

● ● ●PackSerein●
Pracovní postupy · Hodnota batohu nula-jedna ×
def knapsack_value(items, capacity):
    items = tuple(tuple(item) for item in items)
    if type(capacity) is not int or not 0 <= capacity <= 1000:
        raise ValueError("capacity.range")
    if len(items) > 64 or any(len(item) != 2 for item in items):
        raise ValueError("items.shape")
    if any(type(w) is not int or type(v) is not int or not 1 <= w <= 1000 or not 0 <= v <= 1000000 for w, v in items):
        raise ValueError("item.range")
    best = [0] * (capacity + 1)
    for weight, value in items:
        for limit in range(capacity, weight - 1, -1):
            best[limit] = max(best[limit], best[limit - weight] + value)
    return best[capacity]
✳Maximalizujte hodnotu nejvýše 64 dvojic hmotnost-hodnota s celočíselnou kapacitou od nuly do 1000, každý předmět použijte jednou.
✓ ZměnyPřed použitím zkontrolujte ↗
Ilustrace pracovního prostředí
  1. Před použitím zkontrolujte

    Porovnejte skutečné chování s očekávaným výsledkem. Pokud kontrola selže, před dalšími změnami zjistěte příčinu.

  2. Modely

    Nastavte endpoint kompatibilní s OpenAI nebo Anthropic pomocí základní URL a případného API klíče. Otestujte připojení. Lokální server modelu musí běžet; vzdálené nástroje mohou data odesílat samostatně.

  3. Projekt

    Ověřte nulovou kapacitu a příliš těžký předmět, odmítněte nulové hmotnosti či neceločíselné operandy před vytvořením tabulky.

Pracovní postupy

Hodnota batohu nula-jedna

Pracovní postupy ↗
Pracovní postupy
def knapsack_value(items, capacity):
    items = tuple(tuple(item) for item in items)
    if type(capacity) is not int or not 0 <= capacity <= 1000:
        raise ValueError("capacity.range")
    if len(items) > 64 or any(len(item) != 2 for item in items):
        raise ValueError("items.shape")
    if any(type(w) is not int or type(v) is not int or not 1 <= w <= 1000 or not 0 <= v <= 1000000 for w, v in items):
        raise ValueError("item.range")
    best = [0] * (capacity + 1)
    for weight, value in items:
        for limit in range(capacity, weight - 1, -1):
            best[limit] = max(best[limit], best[limit - weight] + value)
    return best[capacity]
Pracovní prostředí s AI pro kód

Oddělte pravidlo výběru od kódu, který je implementuje

PackSerein podporuje vývoj softwaru s pomocí AI v projektovém prostředí Windows, kde lze probírat optimalizační požadavky spolu s implementačními soubory. Popište, co lze vybrat, která omezení jsou povinná a jaký výsledek volající skutečně potřebuje. Před změnou řešiče požádejte asistenta o kontrolu současné reprezentace. Jasný cíl brání tomu, aby věrohodná implementace řešila nepatrně jiný problém.

Příklad knapsack.py nabízí kontrolní úlohu, v níž lze každou položku vybrat nanejvýš jednou při omezené kapacitě. Můžete se zeptat, zda navržená úprava zachovává toto pravidlo a zda aplikace potřebuje jen hodnotu, nebo i vybrané položky. Ručně projděte malý případ a podle něj prověřte kód. Součástí stejné kontroly mají zůstat meze vstupů a odmítané hodnoty.

Až bude změna připravena, spusťte testy projektu pro prázdný výběr, hranici kapacity a soupeřící kombinace. Před úpravou navazujícího kódu zkontrolujte výstupní kontrakt. PackSerein přijímá podporované koncové body kompatibilní s OpenAI nebo koncové body Anthropic a podle potřeby přihlašovací údaje. Model AI bez filtrů lze zvolit, pokud je přes připojení dostupný; jeho omezení, limity kontextu a podpora nástrojů nadále závisejí na modelu a serveru. Prostředí pomáhá uspořádat rozhodování o kódu, zatímco vaše kontroly určují, zda splňuje cíl.

Otázky vymezující optimalizační úlohu

Proč uvést, zda lze položku vybrat dvakrát?

Povolení opakovaného výběru mění problém a může změnit výsledek. Omezení uveďte v požadavku a otestujte malý případ, kde by opakování dalo jinou odpověď; pak prověřte, zda je úprava zachovává.

Stačí aplikaci optimální hodnota?

Záleží na volajícím. Někteří potřebují pouze skóre, jiní také vybrané položky. Před požadavkem na změny určete požadovaný výstup, aby asistent nepředpokládal, že jedno číslo dokončuje celou funkci.

Jak zacházet s řešeními stejné hodnoty?

Určete, zda je přijatelné libovolné platné optimum, nebo zda aplikace potřebuje deterministické pravidlo pro shodu. Pokud se vracejí vybrané položky, shody výslovně testujte a prověřte pravidlo místo spoléhání na náhodné pořadí iterace.

Může příklad prokázat výkon řešiče ve velkém měřítku?

Ne. Použijte jej k diskusi o implementaci s omezeným rozsahem a potom vyhodnoťte skutečný projekt pro požadované velikosti. Malý správný případ a vysvětlení AI neprokazují časové ani paměťové chování v jiném měřítku.

Stáhnout pro Windows ↗

PackSerein · Aktualizováno 2026-10-25