Daftar Isi:
- Banyak teks pencarian melibatkan penggunaan ekspresi reguler - semacam singkatan yang memberi tahu komputer apa yang harus dicari. Tata bahasa yang digunakan untuk ekspresi reguler bergantung pada bahasa atau aplikasi, namun Anda menemukan ekspresi reguler yang digunakan di sejumlah tempat, termasuk pengolah kata, aplikasi email, dialog pencarian, dan berbagai tempat lain yang Anda perlukan untuk memberikan pencarian yang tepat. istilah untuk berbagai item teks.
- Saat bekerja dengan karakter, komputer melihat angka, bukan huruf. Jumlahnya sebenarnya hanya serangkaian 0s dan 1s ke komputer dan sebenarnya tidak ada artinya. Menggabungkan karakter ke dalam string hanya membuat rangkaian 0s dan 1s lebih lama. Akibatnya, membandingkan dua senar, sesuatu yang bisa dilakukan manusia sekilas, bisa memakan waktu di dalam komputer, dan kebingungan mungkin terjadi antara konjugasi. Misalnya, kecuali jika Anda berhati-hati dalam menyusun algoritme, komputer bisa membingungkan
- Salah satu masalah yang diajukan oleh Alan Turing pada tahun 1936 adalah apakah ada algoritma, yang diberi deskripsi tentang suatu program dan sebuah masukan, dapat menentukan apakah program tersebut pada akhirnya akan berhenti (the
- Fungsi satu arah adalah fungsi yang mudah digunakan untuk mendapatkan jawaban dalam satu arah, namun hampir tidak mungkin digunakan dengan kebalikan dari jawaban itu. Dengan kata lain, Anda menggunakan fungsi satu arah untuk menciptakan sesuatu seperti hash yang akan muncul sebagai bagian dari solusi untuk kriptografi, identifikasi pribadi, otentikasi, atau kebutuhan keamanan data lainnya.
- Angka benar-benar besar ada di banyak tempat. Misalnya, pertimbangkan untuk melakukan perhitungan yang melibatkan jarak ke Mars, atau mungkin Pluto. Metode saat ini memang ada untuk melakukan perkalian pada jumlah yang sangat besar, namun cenderung lambat karena membutuhkan beberapa operasi untuk menyelesaikannya. Masalahnya terjadi bila jumlahnya terlalu besar agar sesuai dengan register prosesor. Pada saat itu, perbanyakan harus terjadi dalam lebih dari satu langkah, yang memperlambat banyak hal. Solusi saat ini meliputi:
- Membagi sumber daya sama-sama mungkin tidak tampak sulit, tapi manusia, karena tipe yang iri, mungkin melihat sumber daya itu tidak seimbang kecuali Anda dapat menemukan cara untuk meyakinkan semua orang bahwa pembagian itu memang adil. Ini adalah masalah pemotongan kue iri. Tentu saja, saat Anda memotong kue, betapapun Anda berusaha melakukannya, selalu ada persepsi bahwa pembagian itu tidak adil. Menciptakan pembagian sumber daya yang adil sangat penting dalam kehidupan sehari-hari untuk meminimalkan perselisihan antar pemangku kepentingan dalam organisasi mana pun, membuat setiap orang lebih efisien.
- Jarak edit
- Pertanyaan ini awalnya dibahas pada tahun 1950 oleh John Nash dalam surat kepada National Security Agency (NSA) dan sekali lagi dalam surat antara Kurt Gödel dan John von Neumann. Selain belajar mesin (dan AI pada umumnya), masalah khusus ini menjadi perhatian banyak bidang lainnya, termasuk matematika, kriptografi, penelitian algoritma, teori permainan, pemrosesan multimedia, filsafat, dan ekonomi.
- Memahami masalah spasial
- Namun, pertanyaannya adalah apakah semua masalah spasial memiliki solusinya. Dalam kasus ini, pikirkan salah satu teka-teki anak-anak yang telah Anda gambar bersama dengan menggeser ubin kecil di sekitar. Sepertinya ada solusi yang harus ada dalam semua kasus, namun dalam beberapa situasi, titik awal yang buruk dapat menghasilkan situasi yang tidak memiliki solusinya.
Video: Bagaimana cara mudah menulis Algoritma | Uraian Deskripsi - Flowchart 2024
Algoritma memang telah ada selama berabad-abad, jadi Anda akan berpikir bahwa para ilmuwan pasti telah menemukan dan menyelesaikan setiap algoritma sekarang. Sayangnya, sebaliknya adalah benar. Memecahkan algoritma tertentu sering menyajikan beberapa pertanyaan lagi yang tidak dapat dipecahkan oleh algoritme dan itu tidak tampak jelas sampai seseorang menemukan solusinya. Algoritma adalah serangkaian langkah yang digunakan untuk memecahkan masalah, dan Anda seharusnya tidak membingungkan mereka dengan entitas lain, seperti persamaan. Algoritma tidak pernah menjadi solusi untuk mencari suatu masalah. Tidak ada yang akan menciptakan serangkaian langkah untuk memecahkan masalah yang belum ada (atau mungkin tidak pernah ada).
Menangani pencarian teks
Banyak teks pencarian melibatkan penggunaan ekspresi reguler - semacam singkatan yang memberi tahu komputer apa yang harus dicari. Tata bahasa yang digunakan untuk ekspresi reguler bergantung pada bahasa atau aplikasi, namun Anda menemukan ekspresi reguler yang digunakan di sejumlah tempat, termasuk pengolah kata, aplikasi email, dialog pencarian, dan berbagai tempat lain yang Anda perlukan untuk memberikan pencarian yang tepat. istilah untuk berbagai item teks.
Saat bekerja dengan karakter, komputer melihat angka, bukan huruf. Jumlahnya sebenarnya hanya serangkaian 0s dan 1s ke komputer dan sebenarnya tidak ada artinya. Menggabungkan karakter ke dalam string hanya membuat rangkaian 0s dan 1s lebih lama. Akibatnya, membandingkan dua senar, sesuatu yang bisa dilakukan manusia sekilas, bisa memakan waktu di dalam komputer, dan kebingungan mungkin terjadi antara konjugasi. Misalnya, kecuali jika Anda berhati-hati dalam menyusun algoritme, komputer bisa membingungkan
mendaftar dan mendengarkan. Yang lebih penting, komputer memerlukan waktu untuk membedakan keduanya. Masalah memisahkan kata kunci berusaha menemukan algoritma sekecil mungkin (sebuah robot deterministik terbatas, DFN, dalam kasus ini) untuk melakukan pemisahan kata.Tujuannya adalah untuk menerima satu kata dan menolak yang lain, diberi dua kata dengan panjang tertentu. Menentukan apakah sebuah aplikasi akan berakhir
Salah satu masalah yang diajukan oleh Alan Turing pada tahun 1936 adalah apakah ada algoritma, yang diberi deskripsi tentang suatu program dan sebuah masukan, dapat menentukan apakah program tersebut pada akhirnya akan berhenti (the
menghentikan masalah). Saat bekerja dengan aplikasi sederhana, mudah untuk menentukan dalam banyak kasus apakah program akan berhenti atau terus berjalan dalam lingkaran tanpa henti. Namun, seiring dengan meningkatnya kompleksitas program, menentukan hasil menjalankan program dengan masukan yang diberikan menjadi lebih sulit. Mesin Turing tidak bisa membuat keputusan ini; Hasilnya adalah kode buggy dengan loop tak terbatas. Tidak ada jumlah pengujian yang menggunakan teknologi terkini yang dapat memecahkan masalah ini. Sebuah hypercomputer adalah model komputasi yang melampaui mesin Turing untuk memecahkan masalah seperti masalah terputus-putus. Namun, mesin semacam itu tidak mungkin menggunakan teknologi terkini. Jika memungkinkan, Anda bisa menanyai mereka semua jenis imponderables yang saat ini tidak dapat dijawab oleh komputer. Artikel ini memberi Anda gagasan bagus tentang apa yang akan terjadi jika seseorang mampu memecahkan masalah ini.
Membuat dan menggunakan fungsi satu arah
Fungsi satu arah adalah fungsi yang mudah digunakan untuk mendapatkan jawaban dalam satu arah, namun hampir tidak mungkin digunakan dengan kebalikan dari jawaban itu. Dengan kata lain, Anda menggunakan fungsi satu arah untuk menciptakan sesuatu seperti hash yang akan muncul sebagai bagian dari solusi untuk kriptografi, identifikasi pribadi, otentikasi, atau kebutuhan keamanan data lainnya.
Keberadaan fungsi satu arah kurang misterius dan lebih merupakan masalah pembuktian. Banyak sistem telekomunikasi, e-commerce, dan e-banking saat ini mengandalkan fungsi yang konon salah satu cara, namun tidak ada yang benar-benar tahu apakah itu benar-benar salah satu cara. Adanya fungsi satu arah saat ini merupakan hipotesis, bukan teori. Jika seseorang dapat membuktikan bahwa fungsi satu arah ada, masalah keamanan data akan lebih mudah dipecahkan dari perspektif pemrograman.
Mengalikan bilangan sangat besar
Angka benar-benar besar ada di banyak tempat. Misalnya, pertimbangkan untuk melakukan perhitungan yang melibatkan jarak ke Mars, atau mungkin Pluto. Metode saat ini memang ada untuk melakukan perkalian pada jumlah yang sangat besar, namun cenderung lambat karena membutuhkan beberapa operasi untuk menyelesaikannya. Masalahnya terjadi bila jumlahnya terlalu besar agar sesuai dengan register prosesor. Pada saat itu, perbanyakan harus terjadi dalam lebih dari satu langkah, yang memperlambat banyak hal. Solusi saat ini meliputi:
algoritma perkalian kompleks Gauss
- perbanyakan Karatsuba
- Toom-Cook
- Metode transformasi Fourier
- Meskipun banyak metode yang ada saat ini menghasilkan hasil yang dapat diterima, mereka semua membutuhkan waktu, dan Bila Anda memiliki banyak perhitungan untuk dilakukan, masalah waktu bisa menjadi sangat penting. Akibatnya, jumlah perkalian dalam jumlah besar merupakan salah satu masalah yang membutuhkan solusi lebih baik daripada yang ada saat ini.
Membagi sumber daya secara setara
Membagi sumber daya sama-sama mungkin tidak tampak sulit, tapi manusia, karena tipe yang iri, mungkin melihat sumber daya itu tidak seimbang kecuali Anda dapat menemukan cara untuk meyakinkan semua orang bahwa pembagian itu memang adil. Ini adalah masalah pemotongan kue iri. Tentu saja, saat Anda memotong kue, betapapun Anda berusaha melakukannya, selalu ada persepsi bahwa pembagian itu tidak adil. Menciptakan pembagian sumber daya yang adil sangat penting dalam kehidupan sehari-hari untuk meminimalkan perselisihan antar pemangku kepentingan dalam organisasi mana pun, membuat setiap orang lebih efisien.
Dua solusi sudah ada untuk masalah pemotongan kue iri dengan sejumlah orang tertentu, namun tidak ada solusi umum. Bila ada dua orang yang terlibat, yang pertama memotong kue dan yang kedua memilih potongan pertama. Dengan cara ini, kedua belah pihak yakin akan adanya pembagian yang setara. Masalahnya menjadi lebih sulit dengan tiga orang, tapi Anda bisa mencoba solusi Selfridge-Conway untuk masalah ini. Namun, setelah Anda sampai ke empat orang, tidak ada solusi.
Mengurangi waktu perhitungan jarak edit
Jarak edit
antara dua senar adalah jumlah operasi yang diperlukan untuk mentransformasikan satu string ke string lainnya. Perhitungan jarak berkisar pada operasi jarak jauh Levenshtein, yaitu pemindahan, penyisipan, atau penggantian karakter pada string. Teknik tertentu ini melihat penggunaan dalam antarmuka bahasa alami, urutan DNA kuantifikasi, dan segala macam tempat lain di mana Anda dapat memiliki dua senar serupa yang memerlukan semacam perbandingan atau modifikasi. Sejumlah solusi untuk masalah ini saat ini ada, semuanya sangat lambat. Sebenarnya, kebanyakan dari mereka mengambil waktu eksponensial, sehingga waktu yang dibutuhkan untuk melakukan transformasi dengan cepat menambahkan sampai pada titik di mana manusia dapat melihat jeda dalam pengolahan input. Jeda tidak begitu buruk saat menggunakan pengolah kata yang melakukan pemeriksaan kata otomatis dan mengubah kata salah eja menjadi benar. Namun, saat menggunakan antarmuka suara, jeda bisa menjadi sangat mencolok dan menyebabkan operator manusia melakukan kesalahan. Mengatasi masalah dengan cepat
Saat pembelajaran mesin lepas landas dan kami menghitung lebih banyak lagi tentang komputer untuk memecahkan masalah, masalah seberapa cepat komputer dapat memecahkan masalah menjadi sangat penting. Masalah P versus NP hanya menanyakan apakah komputer dapat memecahkan masalah dengan cepat saat ia dapat memverifikasi solusinya dengan cepat. Dengan kata lain, jika komputer dapat dengan tepat memastikan bahwa respons manusia terhadap suatu masalah benar dalam waktu polinomial atau kurang, mungkinkah juga memecahkan masalah itu sendiri dalam waktu polinomial atau kurang?
Pertanyaan ini awalnya dibahas pada tahun 1950 oleh John Nash dalam surat kepada National Security Agency (NSA) dan sekali lagi dalam surat antara Kurt Gödel dan John von Neumann. Selain belajar mesin (dan AI pada umumnya), masalah khusus ini menjadi perhatian banyak bidang lainnya, termasuk matematika, kriptografi, penelitian algoritma, teori permainan, pemrosesan multimedia, filsafat, dan ekonomi.
Memainkan game paritas
Pada awalnya, memecahkan permainan mungkin tidak terlalu berguna dalam kehidupan nyata. Ya, permainan itu menyenangkan dan menarik, tapi tidak benar-benar memberi latar belakang untuk melakukan sesuatu yang berguna - paling tidak, itulah teori umum. Namun, teori permainan tidak berperan dalam sejumlah besar skenario kehidupan nyata, banyak di antaranya melibatkan proses kompleks yang dapat dipahami seseorang lebih mudah daripada permainan daripada proses aktual. Dalam kasus ini, permainan membantu orang memahami verifikasi otomatis dan sintesis pengendali, antara lain. Anda bisa membaca lebih banyak tentang permainan paritas. Bahkan, Anda bisa memainkannya.
Memahami masalah spasial
Untuk memasukkan masalah ini ke dalam konteks, pikirkan tentang memindahkan kotak di sekitar gudang atau beberapa situasi lain di mana Anda perlu mempertimbangkan ruang tempat benda bergerak. Jelas, jika Anda memiliki banyak kotak di gudang besar dan mereka semua memerlukan forklift untuk dijemput, Anda tidak ingin mencoba untuk mencari tahu bagaimana cara menyimpannya secara optimal dengan mengatur ulang secara fisik mereka. Di sinilah Anda perlu mengatasi masalah ini dengan memvisualisasikan sebuah solusi.
Namun, pertanyaannya adalah apakah semua masalah spasial memiliki solusinya. Dalam kasus ini, pikirkan salah satu teka-teki anak-anak yang telah Anda gambar bersama dengan menggeser ubin kecil di sekitar. Sepertinya ada solusi yang harus ada dalam semua kasus, namun dalam beberapa situasi, titik awal yang buruk dapat menghasilkan situasi yang tidak memiliki solusinya.
Matematikawan seperti Sam Loyd sering menggunakan teka-teki untuk menunjukkan masalah matematika yang kompleks, beberapa di antaranya tidak memiliki solusi saat ini. Mengunjungi situs ini sangat menyenangkan karena Anda tidak hanya mendapatkan hiburan gratis tapi juga, makanan untuk dipikirkan. Isu yang diangkat oleh teka-teki ini memang memiliki aplikasi praktis, namun disajikan dengan cara yang menyenangkan.