SSimplexDune
Ruang kerja kode dengan AI

Proyeksi Euklides ke simpleks

Proyeksikan 1–256 bilangan berhingga dalam ±10^6 ke simpleks satuan nonnegatif.

● ● ●SimplexDune●
Alur kerja · Proyeksi Euklides ke simpleks ×
import math

def simplex_projection(values):
    if type(values) is not list or not 1 <= len(values) <= 256:
        raise ValueError("simplex.input")
    if any(type(x) not in (int, float) or not -10**6 <= x <= 10**6 or not math.isfinite(x) for x in values):
        raise ValueError("simplex.value")
    ranked = sorted(values, reverse=True)
    total, theta = 0.0, 0.0
    for count, value in enumerate(ranked, 1):
        total += value
        candidate = (total-1)/count
        if value > candidate:
            theta = candidate
    return [max(0.0, value-theta) for value in values]
✳Proyeksi Euklides ke simpleks
✓ PerubahanTinjau sebelum menerapkan ↗
Ilustrasi ruang kerja
  1. Proyek

    Uji nilai seri dan solusi titik sudut, tolak boolean dan bandingkan dengan toleransi numerik tanpa menafsirkan bobot sebagai peluang terkalibrasi.

  2. Tinjau sebelum menerapkan

    Bandingkan perilaku sebenarnya dengan hasil yang diharapkan. Jika pemeriksaan gagal, cari penyebabnya sebelum membuat perubahan lain.

  3. Model

    Atur 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

Proyeksi Euklides ke simpleks

Alur kerja ↗
Alur kerja
import math

def simplex_projection(values):
    if type(values) is not list or not 1 <= len(values) <= 256:
        raise ValueError("simplex.input")
    if any(type(x) not in (int, float) or not -10**6 <= x <= 10**6 or not math.isfinite(x) for x in values):
        raise ValueError("simplex.value")
    ranked = sorted(values, reverse=True)
    total, theta = 0.0, 0.0
    for count, value in enumerate(ranked, 1):
        total += value
        candidate = (total-1)/count
        if value > candidate:
            theta = candidate
    return [max(0.0, value-theta) for value in values]
Ruang kerja kode dengan AI

Jaga batasan numerik tetap terlihat sepanjang peninjauan

SimplexDune adalah ruang kerja pemrograman AI untuk Windows bagi pengembang yang meninjau transformasi numerik dalam aplikasi. Mulailah dengan folder proyek dan sifat yang harus dipenuhi keluaran. Model terhubung dapat membantu memeriksa perwujudan persyaratan tersebut dalam kode dan membahas perubahan terbatas, sementara Anda meninjau usulan berdasarkan kode pengguna yang bergantung pada hasilnya.

Salah satu tugas yang ditunjukkan simplex_projection.py berkaitan dengan mengubah vektor menjadi bobot nonnegatif dengan jumlah satu. Minta asisten memeriksa masukan yang diterima, urutan keluaran, dan pemeriksaan hasil floating-point. Sediakan vektor representatif dan jelaskan penggunaan selanjutnya. Ini menjaga contoh berlandaskan kontrak perangkat lunak nyata, bukan memperlakukan ruang kerja sebagai pengoptimal bawaan atau layanan pelatihan model.

Pilih model AI tanpa batasan ketika tersedia melalui endpoint kompatibel OpenAI atau endpoint Anthropic yang didukung. Konfigurasikan alamat dan kredensial yang diperlukan, dengan mempertimbangkan dukungan konteks dan alat server. Periksa usulan perubahan dan jalankan pemeriksaan hasil harapan maupun sifat keluaran dalam lingkungan numerik Anda. Gunakan toleransi yang dinyatakan ketika kesamaan floating-point eksak tidak sesuai. Percakapan harus mengungkap asumsi di balik tambalan agar Anda dapat memutuskan apakah perilaku yang dibutuhkan aplikasi tetap terjaga.

Meninjau keluaran numerik berbatasan

Sifat keluaran apa yang perlu saya minta secara eksplisit?

Sebutkan panjang, urutan, tanda yang diperbolehkan, dan jumlah yang diharapkan, beserta toleransi apa pun. Sertakan persyaratan kode pengguna. Hasil dapat memenuhi satu batasan sambil melanggar yang lain, sehingga peninjauan tidak boleh berhenti pada satu nilai agregat.

Apakah kesamaan eksak dengan satu merupakan pengujian floating-point yang andal?

Tidak pada setiap perhitungan. Pilih toleransi sesuai kontrak numerik dan lingkungan pengujian, lalu jelaskan dalam pemeriksaan. Minta model membedakan efek representasi dari pelanggaran batasan nyata alih-alih diam-diam melonggarkan asersi.

Haruskah tambalan mengurutkan ulang vektor asli?

Hanya jika kontrak keluaran mengizinkan. Pengurutan internal mungkin membantu perhitungan, sementara nilai akhir tetap harus sesuai posisi asli. Tinjau kode pengguna dan uji masukan dengan entri berbeda yang membuat kesalahan urutan terlihat.

Bisakah pemeriksaan sifat menggantikan contoh hasil harapan?

Gunakan keduanya ketika menguji klaim berbeda. Vektor dapat nonnegatif dan berjumlah satu tanpa merupakan proyeksi yang dimaksud. Hasil kecil yang ditetapkan secara independen membantu memverifikasi transformasi, sedangkan sifat mencakup aspek kontrak keluaran yang lebih luas.

Unduh untuk Windows ↗

SimplexDune · Diperbarui 2026-10-25