Misalkan Anda bertemu dengan programmer yang telah mengambil beberapa program pemrograman profesional (/ saya pikir sendiri) tetapi tidak belajar matematika tingkat universitas.
Untuk menunjukkan kepada mereka keindahan TCS, saya ingin mengumpulkan beberapa hasil bagus / pertanyaan terbuka yang berasal dari TCS yang dapat dengan mudah dijelaskan.
Kandidat yang baik untuk tujuan ini (IMHO) akan menunjukkan bahwa masalah penghentian tidak dapat diputuskan. Lain akan menunjukkan batas bawah pada waktu berjalan penyortiran berbasis perbandingan (meskipun itu sedikit mendorongnya dari apa yang saya harapkan mereka mengerti).
Saya juga dapat menggunakan ide-ide dari Jelaskan masalah P = NP hingga 10 tahun , dengan asumsi beberapa dari mereka tidak terbiasa dengannya.
Jadi, pertanyaannya adalah:
(0. Cantik)
- Dapat dijelaskan dengan (paling banyak) matematika sekolah menengah.
- (lebih disukai) tidak cukup sepele untuk ditampilkan dalam kursus pemrograman profesional (untuk C ++ / Java / Web / dll.).
Jawaban:
Selain masalah penghentian, saya sarankan mendiskusikan:
Teorema Padi. Beberapa penjelasan di Wikipedia sedikit berat, tetapi umumnya bukan teorema atau bukti yang sulit dipahami selain itu; ia memiliki banyak relevansi dengan konsep dunia nyata seperti perangkat lunak anti-virus. Buktinya hampir sama terlibatnya dengan bukti masalah penghentian (dan sebenarnya tergantung pada ketidakpastian masalah penghentian). Pada dasarnya, cukup pahami bahwa "fungsi yang dapat dihitung" adalah mesin atau program komputer Turing.
sumber
Saya berpikir bahwa - secara independen dari pertanyaan P vs NP - teorema Cook-Levin (dan gagasan terkait kelengkapan NP) adalah kandidat lain yang sangat baik; jika Anda memiliki solver (efisien) untuk SAT maka Anda memiliki solver (efisien) untuk setiap masalah dalam NP .... dan Anda dapat berakhir dengan sesuatu yang mencengangkan, setidaknya untuk saya:
dalam beberapa hal "masalah setara"; jadi jika bos Anda meminta Anda untuk membuat program untuk mengemas kotak ke dalam wadah ... Anda dapat memberinya pemecah Minesweeper ... :-)
sumber
Contoh yang menyenangkan dan menghibur adalah ketidakpastian masalah ubin ubin Wang. Hasilnya mengikuti langsung dari ketidakpastian masalah Menghentikan dengan simulasi sederhana mesin Turing menggunakan ubin Wang. Menariknya, ketidakpastian masalah ubin untuk ubin Wang menyebabkan hasil yang indah bahwa ada set ubin yang ubin pesawat hanya aperiodicaly.
Wang menduga bahwa setiap ubin mengatur bahwa ubin pesawat harus memiliki ubin berkala. Oleh karena itu, dugaan tersebut menyiratkan bahwa masalah ubin dapat diputuskan. Kemudian, Burger membuktikan ketidakpastian masalah ubin yang menyiratkan adanya set ubin yang ubin pesawat hanya aperiodicaly.
sumber
favorit dikumpulkan dari sini & di tempat lain
kriptografi kunci publik / algoritma RSA , fungsi pintu jebakan , argumen penghitungan Shannons yang menunjukkan sebagian besar fungsi rangkaian sulit ; ada misteri ini:
Pengujian AKS Primality di P , terobosan TCS yang relatif baru mudah dikomunikasikan
P vs NP . salah satu cara dasar untuk menghubungkan fungsi NP adalah melalui permainan misalnya kapal perang atau soduku keduanya dengan generalisasi lengkap NP. juga lihat misalnya buku Fortnows . Lihat juga video game sebagai NP selesai
ketidakpastian masalah korespondensi pos
Transformasi sirkuit Tseitin & SAT (reduksi ulang & kelengkapan NP)
Algoritma Euclidean (kuno) & koneksi analisis kasus terburuk ke deret Fibonacci
Korespondensi Curry-Howard antara bukti dan program . belum melihat referensi dasar tentang ini tetapi pada dasarnya idenya cukup sederhana & mudah dikomunikasikan
Empat warna melalui pembuktian otomatis , terobosan untuk TCS
sumber