Langkau ke kandungan utama

Pengoptimum Klasik

Apa itu pengoptimum?​

Victoria Lipinska menerangkan pengoptimum klasik, dan bagaimana ia berfungsi sebagai sebahagian daripada VQE.

Kamu akan mendengar tentang beberapa contoh pengoptimum dan bagaimana prestasinya dalam kehadiran dan ketiadaan hingar.

Rujukan​

Artikel-artikel berikut dirujuk dalam video di atas.

Mengekod pengoptimum klasik​

Dalam pelajaran-pelajaran sebelum ini, kamu telah belajar cara membuat Hamiltonian yang sesuai untuk digunakan pada komputer kuantum dan cara membuat litar variasi. Kamu juga belajar bahawa litar variasi (atau ansatz) mengandungi parameter yang perlu diubah, dan pilihan parameter yang optimum ialah pilihan yang menghasilkan fungsi kos atau tenaga yang paling rendah. Oleh itu, masalah kita dikurangkan kepada mencari parameter optimum dalam ruang parameter. Kebanyakan kerja dalam pengoptimum klasik telah dilakukan untuk kita, kerana pengoptimum yang sangat baik tersedia daripada beberapa sumber.

Dalam pelajaran ini kamu akan belajar:

  • Bagaimana pengoptimum klasik sesuai dalam pengiraan VQE
  • Pengoptimum klasik apa yang tersedia daripada SciPy
  • Pengoptimum apa yang belum tersedia melalui SciPy dan cara menambah sementara ini menggunakan qiskit.algorithms
  • Pilihan apa yang tersedia untuk pengoptimum ini dan kepentingannya bagi pengkomputeran kuantum

SciPy ialah perpustakaan Python sumber terbuka percuma dengan pakej yang relevan dalam banyak bidang pengkomputeran saintifik, termasuk pengoptimuman. Secara khusus, SciPy mempunyai pakej pengoptimuman yang merangkumi minimize:

from scipy.optimize import minimize This minimize function has several arguments, but the most relevant arguments for quantum chemistry are:

  • The cost function (cost_func). This is related to the Hamiltonian, but also includes some complexities, such as determining the expectation value by using Estimator, and in the case of excited state calculations, might include orthogonality conditions.
  • An initial state (x0) for the system, often the Hartree Fock state
  • Other arguments, including arguments of the cost function itself
  • The method set to the classical optimizer you select
  • Options for the classical optimizer (not to be confused with Session options discussed in the next section)

Some example code is shown below. We restrict our discussion here to the last two arguments.

    cost_func,
x0,
args=(ansatz, hamiltonian, estimator),
method="cobyla",
options={"maxiter": 200})

SciPy mempunyai dokumentasi tentang semua kaedah minimize yang tersedia. Berikut adalah beberapa contoh yang patut diperhatikan, semuanya merupakan kaedah untuk meminimumkan fungsi skalar satu atau lebih pemboleh ubah:

  • cobyla: Algoritma Pengoptimuman Melalui Anggaran Linear (COBYLA).
  • slsqp: Pengaturcaraan Kuasa Dua Terkecil Berurutan (SLSQP).
  • nelder-mead Algoritma Nelder-Mead.

Kebanyakan algoritma pengoptimuman klasik yang tersedia ialah peminimulan setempat, kerana ia menggunakan pelbagai kaedah untuk mencari minimum setempat, tetapi tidak dijamin untuk mencari minimum global. Sesetengah pengoptimum klasik secara eksplisit menganggar kecerunan dan menggunakannya untuk mencari minimum setempat. Yang lain mungkin menggunakan anggaran linear atau kuadratik berturutan bagi fungsi objektif untuk mencari minimum.

Algoritma-algoritma ini mempunyai beberapa pilihan yang sama, tetapi dengan perbezaan halus. Contohnya, semua mempunyai pilihan untuk menentukan bilangan maksimum iterasi menggunakan notasi 'maxiter': 200 dari atas. Semua mempunyai beberapa pilihan yang menyatakan kriteria henti berdasarkan nilai fungsi atau pemboleh ubah, walaupun kriteria ini sedikit berbeza untuk algoritma yang berbeza. COBYLA, sebagai contoh, membolehkan kamu menyatakan toleransi (contohnya, 'tol': 0.0001) yang merupakan had bawah "rantau kepercayaan". Berbanding, SLSQP membolehkan kamu menyatakan matlamat dalam ketepatan fungsi yang digunakan dalam kriteria henti ('ftol'). Nelder-Mead membolehkan kamu menyatakan toleransi dalam perbezaan antara tekaan parameter (xx) berturutan (xatol) atau toleransi dalam perbezaan antara nilai berturutan yang diperoleh untuk fungsi kos f(x)f(x) (fatol) (atau kedua-duanya). Untuk senarai lengkap algoritma dan pilihan yang tersedia, lawati dokumentasi minimize SciPy.

Source: IBM Quantum docs — updated 15 Jan 2026
English version on doQumentation — updated 7 Mei 2026
This translation based on the English version of approx. 26 Mac 2026