Algoritme
Algoritme bisa diklasifikasikan berdasarkan jumlah waktu yang dibutuhkan untuk selesai dibandingkan dengan ukuran inputnya. Ada berbagai varietas: beberapa algoritme selesai dalam waktu linear relatif terhadap ukuran input, beberapa selesai dalam jumlah waktu yang eksponensial atau lebih buruh, dan beberapa berhenti. Sebagai tambahan, beberapa masalah bisa memiliki berbagai algoritme dengan kompleksitas yang berbeda, sementara permasalahan yang lain bisa saja tidak memiliki algoritme atau tidak diketahui algoritmanya yang efisien. Ada juga pemetaan dari beberapa algoritme terhadap permasalahan lain. Karena itu, lebih cocok untuk mengklasifikasikan permasalahan itu sendiri bukannya algoritme menjadi kelas-kelas yang sama berdasarkan kompleksitas dari kemungkinan algoritme terbaik baginya.
Algoritme perambatan mundur
Algoritme Perambatan Mundur atau backpropagation merupakan algoritme untuk melakukan proses pembelajaran terarah ("supervised learning") pada jaringan saraf tiruan (JST) untuk mencari beban ("weight") pada setiap neuron yang menghasilkan nilai kesalahan seminimal mungkin melalui data pembelajaran ("training data") yang diberikan. Metode ini memanfaatkan teknik optimasi berdasarkan penurunan gradien. Metode ini dilakukan setelah proses perambatan maju yang merambatkan data dari data masukan ke keluaran melalui koleksi neuron dan lapisan JST untuk kemudian dirambatkan balik ke belakang dari lapis keluaran ke lapis masukan untuk menghitung nilai kesalahan pada masing-masing neuron dibandingkan dengan nilai keluaran yang seharusnya (nilai target).