CChainArbor
Ruang kerja kode dengan AI

Biaya rantai matriks

Cari biaya perkalian skalar minimum untuk rantai paling banyak 12 matriks.

● ● ●ChainArbor●
Alur kerja · Biaya rantai matriks ×
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]
✳Cari biaya perkalian skalar minimum untuk rantai paling banyak 12 matriks.
✓ PerubahanTinjau sebelum menerapkan ↗
Ilustrasi ruang kerja
ProyekUji satu matriks dan pengelompokan berbeda, lalu tolak dimensi di luar 1–1000 tanpa mengalikan elemen matriks.
Tinjau sebelum menerapkanBandingkan perilaku sebenarnya dengan hasil yang diharapkan. Jika pemeriksaan gagal, cari penyebabnya sebelum membuat perubahan lain.
ModelAtur endpoint kompatibel OpenAI atau Anthropic dengan URL dasar dan kunci API jika diperlukan. Uji koneksi. Server model lokal harus berjalan; alat jarak jauh dapat mengirim data secara terpisah.
Alur kerja

Biaya rantai matriks

Alur kerja ↗
Alur kerja
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]
Ruang kerja kode dengan AI

Pisahkan rencana hasil perhitungan dari pekerjaan yang diwakilinya

ChainArbor menyediakan ruang kerja pemrograman Windows untuk pekerjaan perencanaan komputasi, tempat Anda membahas asumsi dengan model yang terhubung. Mulailah dengan mengidentifikasi apa yang sebenarnya dikembalikan fungsi perencanaan dan siapa yang memakainya. Perkiraan biaya, urutan eksekusi, dan operasi yang telah dieksekusi merupakan keluaran berbeda; permintaan perubahan yang berguna menyatakan perbedaan itu secara eksplisit.

Perencanaan biaya rantai matriks adalah contoh tugas yang disediakan. Anda dapat meminta asisten meninjau validasi dimensi dan biaya aritmetika yang dilaporkan sebelum memperluas aplikasi terkait. Sertakan pemanggil dan harapannya agar suntingan yang diusulkan tidak tanpa sengaja menyajikan biaya minimum seolah-olah merupakan jadwal perkalian atau hasil matriks yang sudah selesai.

Gunakan percakapan untuk mengungkap keputusan antarmuka tersebut, lalu periksa perubahan kode sumbernya. Periksa deret dimensi kecil dengan biaya yang ditentukan secara independen, termasuk kasus satu matriks, dan jalankan pengujian proyek. Jika kemudian meminta rencana eksekusi, perlakukan representasi dan verifikasinya sebagai kebutuhan tambahan, bukan menganggapnya otomatis mengikuti perhitungan biaya.

Untuk memilih model AI tanpa filter, hubungkan layanan yang kompatibel dengan OpenAI atau layanan Anthropic yang didukung dan menawarkan model yang Anda inginkan. Kredensial, dukungan alat, dan batas konteks bergantung pada pengaturan tersebut. Ruang kerja tidak mengesampingkan batasan penyedia; ruang kerja membantu mengaitkan usulan perubahan perencanaan dengan sumber dan kriteria penerimaan yang dapat Anda tinjau.

Pertanyaan untuk memperjelas cakupan kode perencanaan

Apa yang harus saya minta jika membutuhkan urutan eksekusi?

Mintalah representasi urutan yang eksplisit dan jelaskan cara pemanggil akan memakainya. Fungsi yang melaporkan biaya aritmetika minimum mungkin tidak menghasilkan representasi tersebut. Sertakan contoh verifikasi untuk rencana maupun biaya yang dilaporkan.

Mengapa menguji rantai yang hanya berisi satu matriks?

Kasus itu menetapkan perilaku dasar ketika perkalian tidak diperlukan. Sertakan bersama contoh kecil beberapa matriks agar usulan asisten diperiksa terhadap batas tersebut dan logika perencanaan untuk rantai lebih panjang.

Bisakah ruang kerja memverifikasi hasil numerik matriks yang sebenarnya?

Gunakan alat numerik dan pengujian proyek untuk hasil tersebut. Ruang kerja pemrograman mendukung pembahasan dan peninjauan usulan perubahan; kasus uji biaya yang benar tidak membuktikan implementasi perkalian terpisah menghasilkan nilai yang benar.

Bagaimana mencegah refaktorisasi biaya memperluas antarmukanya?

Nyatakan tipe kembalian saat ini dan perilaku pemanggil yang diwajibkan dalam permintaan. Tinjau perbedaan kode untuk keluaran baru atau perubahan satuan. Jika menginginkan rencana yang lebih kaya, tetapkan sebagai tindak lanjut yang disengaja, bukan refaktorisasi insidental.

Unduh untuk Windows ↗

ChainArbor · Diperbarui 2026-10-25