Pengantar
Algoritma telah ada di mana-mana. Mereka mengoptimalkan perjalanan kita, memproses pembayaran, dan mengoordinasikan arus lalu lintas internet. Tampaknya untuk setiap masalah yang dapat diartikulasikan dalam istilah matematika yang tepat, terdapat algoritma yang dapat menyelesaikannya, setidaknya secara prinsip.
Namun bukan itu masalahnya โ beberapa masalah yang tampaknya sederhana tidak akan pernah bisa diselesaikan secara algoritmik. Ilmuwan komputer perintis Alan Turing terbukti keberadaan masalah-masalah yang โtidak dapat dihitungโ hampir seabad yang lalu, dalam makalah yang sama di mana ia merumuskannya model komputasi matematika yang meluncurkan ilmu komputer modern.
Turing membuktikan hasil terobosan ini dengan menggunakan strategi yang berlawanan dengan intuisi: Dia mendefinisikan masalah yang menolak setiap upaya untuk menyelesaikannya.
โSaya bertanya apa yang Anda lakukan, dan kemudian saya berkata, 'Tidak, saya akan melakukan sesuatu yang berbeda,'โ kata Rahul Ilango, seorang mahasiswa pascasarjana di Massachusetts Institute of Technology yang mempelajari ilmu komputer teoretis.
Strategi Turing didasarkan pada teknik matematika yang disebut diagonalisasi yang memiliki sejarah tersendiri. Berikut adalah penjelasan sederhana tentang logika di balik pembuktiannya.
Teori String
Diagonalisasi berasal dari trik cerdas untuk memecahkan masalah biasa yang melibatkan rangkaian bit, yang masing-masing dapat berupa 0 atau 1. Dengan adanya daftar string tersebut, yang semuanya memiliki panjang yang sama, dapatkah Anda menghasilkan string baru yang tidak ada di daftar?
Strategi yang paling mudah adalah dengan mempertimbangkan setiap kemungkinan string secara bergantian. Misalkan Anda mempunyai lima string, masing-masing panjangnya lima bit. Mulailah dengan memindai daftar untuk mencari 00000. Jika tidak ada, Anda dapat berhenti; jika ya, lanjutkan ke 00001 dan ulangi prosesnya. Ini cukup sederhana, tetapi lambat untuk daftar string yang panjang.
Diagonalisasi adalah pendekatan alternatif yang membangun string yang hilang sedikit demi sedikit. Mulailah dengan bit pertama dari string pertama pada daftar dan balikkan โ itu akan menjadi bit pertama dari string baru Anda. Kemudian balikkan bit kedua dari string kedua dan gunakan itu sebagai bit kedua dari string baru, dan ulangi hingga Anda mencapai akhir daftar. Bit yang Anda balikkan memastikan bahwa string baru berbeda dari setiap string pada daftar asli setidaknya di satu tempat. (Mereka juga membentuk garis diagonal melalui daftar senar, yang memberi nama pada teknik ini.)
Diagonalisasi hanya perlu memeriksa satu bit dari setiap string dalam daftar, sehingga seringkali jauh lebih cepat dibandingkan metode lainnya. Namun kekuatan sebenarnya terletak pada seberapa baik ia bermain tanpa batas.
โStringnya sekarang tidak terbatas; daftarnya tidak terbatas โ masih berfungsi,โ katanya Ryan Williams, seorang ilmuwan komputer teoretis di MIT.
Orang pertama yang memanfaatkan kekuatan ini adalah Georg Cantor, pendiri subbidang matematika teori himpunan. Pada tahun 1873, Cantor menggunakan diagonalisasi untuk membuktikan bahwa ada beberapa ketidakterbatasan lebih besar dari yang lain. Enam dekade kemudian, Turing mengadaptasi versi diagonalisasi Cantor ke dalam teori komputasi, sehingga memberikan kesan yang sangat bertentangan.
Permainan Batasan
Turing ingin membuktikan adanya permasalahan matematika yang tidak dapat diselesaikan oleh algoritma apa pun โ yaitu, permasalahan dengan input dan output yang terdefinisi dengan baik namun tidak ada prosedur yang sangat mudah untuk berpindah dari input ke output. Dia membuat tugas yang tidak jelas ini lebih mudah dikelola dengan berfokus secara eksklusif pada masalah pengambilan keputusan, di mana masukannya dapat berupa string apa pun yang bernilai 0 dan 1, dan keluarannya dapat berupa 0 atau 1.
Menentukan apakah suatu bilangan prima (hanya habis dibagi 1 dan bilangan itu sendiri) adalah salah satu contoh masalah pengambilan keputusan โ dengan adanya string masukan yang mewakili suatu bilangan, keluaran yang benar adalah 1 jika bilangan tersebut bilangan prima dan 0 jika bukan bilangan prima. Contoh lainnya adalah memeriksa kesalahan sintaksis pada program komputer (setara dengan kesalahan tata bahasa). Di sana, string masukan mewakili kode untuk berbagai program โ semua program dapat direpresentasikan dengan cara ini, karena begitulah cara mereka disimpan dan dijalankan di komputer โ dan tujuannya adalah menghasilkan keluaran 1 jika kode mengandung kesalahan sintaksis dan 0 jika tidak ada kesalahan sintaksis. T.
Suatu algoritma memecahkan masalah hanya jika menghasilkan keluaran yang benar untuk setiap masukan yang mungkin โ jika gagal sekali saja, maka algoritma tersebut bukanlah algoritma yang bertujuan umum untuk masalah tersebut. Biasanya, pertama-tama Anda menentukan masalah yang ingin Anda selesaikan, lalu mencoba menemukan algoritme yang dapat menyelesaikannya. Turing, dalam mencari masalah yang tidak dapat dipecahkan, membalikkan logika ini - dia membayangkan daftar semua algoritma yang mungkin tidak terbatas dan menggunakan diagonalisasi untuk membangun masalah keras kepala yang akan menggagalkan setiap algoritma dalam daftar.
Bayangkan sebuah permainan yang terdiri dari 20 pertanyaan, di mana alih-alih memulai dengan objek tertentu, penjawab malah menciptakan alasan untuk mengatakan tidak pada setiap pertanyaan. Di akhir permainan, mereka telah mendeskripsikan sebuah objek yang sepenuhnya ditentukan oleh kualitas yang kurang dari objek tersebut.
Bukti diagonalisasi Turing adalah versi permainan ini di mana pertanyaan-pertanyaan dijalankan melalui daftar algoritma yang mungkin tak terbatas, berulang kali bertanya, โDapatkah algoritma ini memecahkan masalah yang ingin kami buktikan tidak dapat dihitung?โ
โIni semacam 'pertanyaan tanpa batas',โ kata Williams.
Untuk memenangkan permainan, Turing perlu menyusun masalah yang jawabannya adalah tidak untuk setiap algoritma. Itu berarti mengidentifikasi masukan tertentu yang membuat algoritma pertama menghasilkan jawaban yang salah, masukan lain yang membuat algoritma kedua gagal, dan seterusnya. Dia menemukan masukan khusus tersebut menggunakan trik yang mirip dengan yang pernah dilakukan Kurt Gรถdel baru-baru ini membuktikan bahwa pernyataan referensial seperti โpernyataan ini tidak dapat dibuktikanโ menimbulkan masalah bagi dasar-dasar matematika.
Wawasan utamanya adalah bahwa setiap algoritme (atau program) dapat direpresentasikan sebagai string 0 dan 1. Artinya, seperti pada contoh program pengecekan kesalahan, suatu algoritma dapat mengambil kode dari algoritma lain sebagai masukan. Pada prinsipnya, suatu algoritma bahkan dapat mengambil kodenya sendiri sebagai masukan.
Dengan wawasan ini, kita dapat mendefinisikan masalah yang tidak dapat dihitung seperti yang ada dalam bukti Turing: โDiberikan string input yang mewakili kode suatu algoritma, output 1 jika algoritma tersebut menghasilkan output 0 ketika kodenya sendiri yang menjadi input; jika tidak, keluaran 0.โ Setiap algoritma yang mencoba memecahkan masalah ini akan menghasilkan keluaran yang salah pada setidaknya satu masukan โ yaitu masukan yang sesuai dengan kodenya sendiri. Itu berarti masalah buruk ini tidak dapat diselesaikan dengan algoritma apa pun.
Apa yang Tidak Bisa Dilakukan Negasi
Ilmuwan komputer belum menyelesaikan diagonalisasi. Pada tahun 1965, Juris Hartmanis dan Richard Stearns mengadaptasi argumen Turing menjadi membuktikan bahwa tidak semua permasalahan yang dapat dihitung diciptakan sama โ beberapa permasalahan secara intrinsik lebih sulit dibandingkan permasalahan lainnya. Hasil tersebut meluncurkan bidang teori kompleksitas komputasi, yang mempelajari kesulitan masalah komputasi.
Namun teori kompleksitas juga mengungkapkan keterbatasan metode Turing yang sebaliknya. Pada tahun 1975, Theodore Baker, John Gill dan Robert Solovay terbukti bahwa banyak pertanyaan terbuka dalam teori kompleksitas tidak akan pernah bisa diselesaikan hanya dengan diagonalisasi. Yang paling utama adalah masalah P versus NP yang terkenal, yang menanyakan apakah semua masalah dengan solusi yang mudah diperiksa juga mudah diselesaikan dengan algoritma cerdik yang tepat.
Titik buta pada diagonalisasi adalah konsekuensi langsung dari tingginya tingkat abstraksi yang menjadikannya begitu kuat. Pembuktian Turing tidak melibatkan permasalahan yang tidak dapat dihitung yang mungkin muncul dalam praktiknya - sebaliknya, pembuktian Turing mengarang permasalahan tersebut dengan cepat. Bukti diagonalisasi lainnya juga jauh dari dunia nyata, sehingga tidak dapat menyelesaikan pertanyaan yang berkaitan dengan detail dunia nyata.
โMereka menangani komputasi dari jarak jauh,โ kata Williams. โSaya membayangkan seseorang yang berurusan dengan virus dan mengaksesnya melalui suatu kotak sarung tangan.โ
Kegagalan diagonalisasi merupakan indikasi awal bahwa pemecahan masalah P versus NP akan berhasil perjalanan panjang. Namun terlepas dari keterbatasannya, diagonalisasi tetap menjadi salah satu alat utama dalam gudang teori kompleksitas. Pada tahun 2011, Williams menggunakannya bersama dengan serangkaian teknik lainnya membuktikan bahwa model komputasi tertentu yang terbatas tidak dapat memecahkan beberapa masalah yang sangat sulit โ sebuah hasil yang luput dari perhatian para peneliti selama 25 tahun. Hal ini masih jauh dari penyelesaian P versus NP, namun masih menunjukkan kemajuan besar.
Jika Anda ingin membuktikan bahwa sesuatu itu tidak mungkin, jangan remehkan kekuatan dari mengatakan tidak.
- Konten Bertenaga SEO & Distribusi PR. Dapatkan Amplifikasi Hari Ini.
- PlatoData.Jaringan Vertikal Generatif Ai. Berdayakan Diri Anda. Akses Di Sini.
- PlatoAiStream. Intelijen Web3. Pengetahuan Diperkuat. Akses Di Sini.
- PlatoESG. Otomotif / EV, Karbon, teknologi bersih, energi, Lingkungan Hidup, Tenaga surya, Penanganan limbah. Akses Di Sini.
- PlatoHealth. Kecerdasan Uji Coba Biotek dan Klinis. Akses Di Sini.
- ChartPrime. Tingkatkan Game Trading Anda dengan ChartPrime. Akses Di Sini.
- BlockOffset. Modernisasi Kepemilikan Offset Lingkungan. Akses Di Sini.
- Sumber: https://www.quantamagazine.org/alan-turing-and-the-power-of-negative-thinking-20230905/
- :memiliki
- :adalah
- :bukan
- :Di mana
- ][P
- $NAIK
- 1
- 20
- 2011
- 25
- a
- abstraksi
- Akun
- silam
- Alan
- Alan Turing
- algoritma
- secara algoritmik
- algoritma
- Semua
- sendirian
- juga
- antara
- an
- dan
- Lain
- menjawab
- Apa pun
- pendekatan
- ADALAH
- argumen
- timbul
- Gudang senjata
- AS
- meminta
- At
- tukang roti
- berdasarkan
- BE
- menjadi
- di belakang
- Bit
- Kotak
- membangun
- tapi
- by
- bernama
- cambridge
- CAN
- kasus
- Abad
- tertentu
- memeriksa
- kepala
- kode
- kompleksitas
- komputasi
- komputer
- Komputer Ilmu
- komputer
- Mempertimbangkan
- membangun
- mengandung
- kebalikan
- mengkoordinasikan
- benar
- Sesuai
- kerajinan
- dibuat
- berurusan
- dekade
- keputusan
- menetapkan
- didefinisikan
- dijelaskan
- Meskipun
- rincian
- berbeda
- Kesulitan
- langsung
- jarak
- Terkemuka
- do
- Tidak
- melakukan
- Dont
- setiap
- Awal
- mudah
- Mudah
- antara
- akhir
- cukup
- memastikan
- sepenuhnya
- sama
- sama
- Setara
- kesalahan
- kesalahan
- Bahkan
- Setiap
- memeriksa
- contoh
- khusus
- dieksekusi
- adanya
- luar biasa
- GAGAL
- gagal
- Kegagalan
- terkenal
- jauh
- Far Cry
- lebih cepat
- bidang
- Menemukan
- Pertama
- lima
- Penerjunan
- aliran
- berfokus
- Untuk
- bentuk
- ditemukan
- Foundations
- pendiri
- dari
- permainan
- tujuan umum
- menghasilkan
- mendapatkan
- mendapatkan
- diberikan
- Pemberian
- tujuan
- akan
- lulus
- groundbreaking
- Cowok
- memiliki
- menangani
- Sulit
- sulit
- memanfaatkan
- Memiliki
- he
- kepala
- High
- -nya
- sejarah
- Seterpercayaapakah Olymp Trade? Kesimpulan
- HTTPS
- i
- mengidentifikasi
- IEEE
- if
- membayangkan
- bayangkan
- in
- indikasi
- Tak terbatas
- Angka tak terbatas
- memasukkan
- input
- wawasan
- sebagai gantinya
- Lembaga
- Internet
- secara intrinsik
- melibatkan
- IT
- NYA
- Diri
- John
- hanya
- kunci
- kurt
- kemudian
- diluncurkan
- paling sedikit
- Tingkat
- terletak
- 'like'
- pembatasan
- keterbatasan
- batas
- baris
- Daftar
- daftar
- logika
- Panjang
- terbuat
- majalah
- utama
- MEMBUAT
- dikelola
- banyak
- massachusetts
- Institut Teknologi Massachusetts
- matematis
- matematika
- hal
- cara
- berarti
- metode
- metode
- mungkin
- keberatan
- hilang
- kesalahan
- MIT
- model
- modern
- lebih
- paling
- pindah
- banyak
- nama
- yaitu
- hampir
- dibutuhkan
- kebutuhan
- negatif
- tak pernah
- New
- tidak
- sekarang
- jumlah
- obyek
- of
- sering
- on
- sekali
- ONE
- hanya
- Buka
- Optimize
- or
- asli
- Lainnya
- Lainnya
- jika tidak
- kami
- keluaran
- sendiri
- kertas
- tertentu
- pembayaran
- orang
- Kepeloporan
- Tempat
- plato
- Kecerdasan Data Plato
- Data Plato
- memainkan
- mungkin
- kekuasaan
- kuat
- praktek
- perlu
- Perdana
- prinsip
- Masalah
- masalah
- Prosedur
- proses
- menghasilkan
- menghasilkan
- program
- program
- Kemajuan
- bukti
- bukti
- Rasakan itu
- terbukti
- kualitas
- Majalah kuantitas
- pertanyaan
- Pertanyaan
- agak
- nyata
- dunia nyata
- baru-baru ini
- sisa
- ulangi
- BERKALI-KALI
- mewakili
- diwakili
- mewakili
- peneliti
- diselesaikan
- menyelesaikan
- terbatas
- mengakibatkan
- Terungkap
- Richard
- dicurangi
- benar
- ROBERT
- Run
- Tersebut
- sama
- mengatakan
- mengatakan
- pemindaian
- Ilmu
- ilmuwan
- ilmuwan
- Pencarian
- Kedua
- tampaknya
- tampaknya
- set
- Siam
- mirip
- Demikian pula
- Sederhana
- disederhanakan
- hanya
- sejak
- ENAM
- lambat
- So
- Solusi
- MEMECAHKAN
- Memecahkan
- Memecahkan
- beberapa
- sesuatu
- khusus
- spot
- awal
- Mulai
- Pernyataan
- batang
- Masih
- berhenti
- tersimpan
- mudah
- Penyelarasan
- Tali
- mahasiswa
- studi
- Belajar
- seperti itu
- sintaksis
- Mengambil
- tugas
- teknik
- Teknologi
- istilah
- dari
- bahwa
- Grafik
- Mereka
- kemudian
- teoretis
- teori
- Sana.
- Ini
- mereka
- Pikir
- ini
- itu
- Melalui
- menggagalkan
- untuk
- bersama
- alat
- lalu lintas
- kesulitan
- benar
- mencoba
- turing
- MENGHIDUPKAN
- Berbalik
- di mana-mana
- sampai
- menggunakan
- bekas
- menggunakan
- versi
- Lawan
- virus
- ingin
- ingin
- adalah
- Cara..
- we
- webp
- BAIK
- terdefinisi dengan baik
- Apa
- ketika
- apakah
- yang
- SIAPA
- akan
- Williams
- menang
- dengan
- bekerja
- dunia
- akan
- Salah
- tahun
- namun
- Kamu
- Anda
- zephyrnet.dll