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

Náklady řetězce matic

Najděte nejmenší počet skalárních násobení pro řetězec nejvýše 12 matic.

● ● ●ChainArbor●
Pracovní postupy · Náklady řetězce matic ×
def chain_cost(dimensions):
    if type(dimensions) not in (list, tuple) or not 2 <= len(dimensions) <= 13:
        raise ValueError("one through twelve matrices")
    if any(type(d) is not int or not 1 <= d <= 1000 for d in dimensions):
        raise ValueError("dimensions 1 through 1000")
    n = len(dimensions)-1
    cost = [[0]*n for _ in range(n)]
    for width in range(2, n+1):
        for left in range(n-width+1):
            right = left+width-1
            cost[left][right] = min(
                cost[left][k]+cost[k+1][right]+
                dimensions[left]*dimensions[k+1]*dimensions[right+1]
                for k in range(left,right))
    return cost[0][n-1]
✳Najděte nejmenší počet skalárních násobení pro řetězec nejvýše 12 matic.
✓ ZměnyPřed použitím zkontrolujte ↗
Ilustrace pracovního prostředí
ProjektOvěřte jednu matici a různá uzávorkování a odmítněte rozměry mimo 1 až 1000 bez násobení prvků matic.
Před použitím zkontrolujtePorovnejte 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.
ModelyNastavte 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ě.
Pracovní postupy

Náklady řetězce matic

Pracovní postupy ↗
Pracovní postupy
def chain_cost(dimensions):
    if type(dimensions) not in (list, tuple) or not 2 <= len(dimensions) <= 13:
        raise ValueError("one through twelve matrices")
    if any(type(d) is not int or not 1 <= d <= 1000 for d in dimensions):
        raise ValueError("dimensions 1 through 1000")
    n = len(dimensions)-1
    cost = [[0]*n for _ in range(n)]
    for width in range(2, n+1):
        for left in range(n-width+1):
            right = left+width-1
            cost[left][right] = min(
                cost[left][k]+cost[k+1][right]+
                dimensions[left]*dimensions[k+1]*dimensions[right+1]
                for k in range(left,right))
    return cost[0][n-1]
Pracovní prostředí s AI pro kód

Oddělte vypočtený plán od práce, kterou představuje

ChainArbor nabízí pro práci na výpočetním plánování programovací prostředí Windows, kde můžete s připojeným modelem probírat předpoklady. Nejprve určete, co plánovací funkce skutečně vrací a kdo její výstup používá. Odhad nákladů, pořadí provádění a provedená operace jsou různé výstupy a užitečný požadavek na změnu tento rozdíl výslovně uvádí.

Dodaným příkladem úlohy je plánování nákladů násobení řetězce matic. Před rozšířením okolní aplikace můžete asistenta požádat o kontrolu validace rozměrů a vykazovaných aritmetických nákladů. Zahrňte volající kód a jeho očekávání, aby navržená úprava omylem nevydávala minimální náklady za plán násobení nebo hotový maticový výsledek.

V rozhovoru vyjasněte tato rozhodnutí o rozhraní a poté prohlédněte výsledné změny zdrojového kódu. Ověřte krátké posloupnosti rozměrů s nezávisle stanovenými náklady včetně případu jediné matice a spusťte vlastní testy projektu. Pokud později požádáte o plán provádění, považujte jeho reprezentaci a ověření za další požadavky, místo abyste předpokládali, že vyplývají z výpočtu nákladů.

Chcete-li zvolit model AI bez filtrů, připojte podporovanou službu kompatibilní s OpenAI nebo službu Anthropic, která požadovaný model nabízí. Přihlašovací údaje, podpora nástrojů a limity kontextu závisejí na tomto nastavení. Prostředí neobchází omezení poskytovatele; pomáhá udržet navržené plánovací změny ve spojení se zdrojovým kódem a kritérii přijetí, která můžete prověřit.

Otázky vyjasňující rozsah plánovacího kódu

O co mám požádat, pokud potřebuji pořadí provádění?

Požádejte o výslovnou reprezentaci pořadí a popište, jak ji volající využije. Funkce vykazující minimální aritmetické náklady tuto reprezentaci nemusí vytvářet. Přiložte ověřovací příklady pro plán i jeho vykazované náklady.

Proč testovat řetězec obsahující jedinou matici?

Určuje základní chování, když není potřeba žádné násobení. Zahrňte tento případ spolu s malým příkladem více matic, aby byl návrh asistenta ověřen jak na hranici, tak vůči plánovací logice používané pro delší řetězce.

Může prostředí ověřit skutečné numerické výsledky matic?

Pro tyto výsledky použijte numerické nástroje a testy svého projektu. Programovací prostředí podporuje diskusi a kontrolu navrhovaných změn; správná testovací data nákladů nedokazují, že samostatná implementace násobení vytváří správné hodnoty.

Jak zabráním rozšíření rozhraní při refaktoringu nákladů?

V požadavku uveďte současný návratový typ a požadované chování volajícího. Zkontrolujte rozdíly kvůli novým výstupům nebo změněným jednotkám. Pokud chcete bohatší plán, definujte jej jako záměrný navazující úkol, nikoli jako vedlejší důsledek refaktoringu.

Stáhnout pro Windows ↗

ChainArbor · Aktualizováno 2026-10-25