Rumah Keuangan Pribadi 10 Algoritme algoritmik Namun Memecahkan - dummies

10 Algoritme algoritmik Namun Memecahkan - dummies

Daftar Isi:

Video: Bagaimana cara mudah menulis Algoritma | Uraian Deskripsi - Flowchart 2024

Video: Bagaimana cara mudah menulis Algoritma | Uraian Deskripsi - Flowchart 2024
Anonim

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).

Daftar ini adalah tentang masalah algoritmik yang akan berguna jika seseorang menemukan solusi untuk mereka.

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.

Salah satu masalah saat ini dengan ekspresi reguler adalah sepertinya setiap lingkungan aplikasi memiliki seperangkat aturan serupa, namun hanya dengan perbedaan yang cukup untuk membuat istilah pencarian menjadi sulit. Masalah ketinggian bintang umum bertujuan untuk mengetahui apakah sintaks ekspresi reguler umum ada. Jika demikian, algoritma yang dihasilkan akan memungkinkan seseorang untuk belajar hanya satu metode untuk menciptakan ekspresi reguler untuk melakukan pencarian.

Membedakan kata

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.

10 Algoritme algoritmik Namun Memecahkan - dummies

Pilihan Editor

Cara Menggunakan Format Tema di dalam bahasa Excel 2013 - dummies

Cara Menggunakan Format Tema di dalam bahasa Excel 2013 - dummies

Tema dan gaya tabel adalah dua cara dalam Excel 2013 menerapkan format ke seluruh lembar kerja atau rangkaian data sekaligus. (Tema memformat preset yang dapat Anda terapkan ke seluruh lembar kerja.) Masing-masing dapat digunakan dengan pengaturan preset atau disesuaikan untuk tampilan individual. Untuk masing-masing, Anda dapat menyimpan ...

Bagaimana Menggunakan Fitur Penemuan di Excel 2013 - dummies

Bagaimana Menggunakan Fitur Penemuan di Excel 2013 - dummies

Ketika semuanya gagal, Anda dapat menggunakan Fitur Excel 2013's Find untuk menemukan informasi spesifik di lembar kerja. Pilih Home → Cari & Pilih → Temukan atau tekan Ctrl + F, Shift + F5, atau bahkan Alt + HFDF untuk membuka kotak dialog Find and Replace. Di kotak drop-down Find What pada kotak dialog ini, masukkan teks atau nilai yang Anda inginkan ...

Cara Menggunakan Tema di Excel 2013 - dummies

Cara Menggunakan Tema di Excel 2013 - dummies

Melalui penggunaan temanya, Excel 2013 mendukung sebuah cara untuk memformat secara merata semua teks dan grafik yang Anda tambahkan ke lembar kerja. Anda bisa melakukan ini dengan hanya mengklik thumbnail dari tema baru yang ingin Anda gunakan di galeri drop-down Themes yang dibuka dengan mengklik tombol Themes pada Page ...

Pilihan Editor

Hindari Penanganan yang Berat Saat Menegakkan Pedoman Komunitas Online - dummies

Hindari Penanganan yang Berat Saat Menegakkan Pedoman Komunitas Online - dummies

Hanya karena Anda memiliki kekuatan untuk Lakukan itu tidak berarti bahwa semua masalah komunitas online memerlukan peringatan dan bannings. Ya, Anda ingin menghilangkan negatif sejak awal, tapi tidak, Anda juga tidak ingin merasa kecil. Terkadang membiarkan sebuah isu meluncur tidak apa-apa. Sebagai pengelola komunitas, tugas Anda untuk mengetahui ...

Hindari Peluang yang Mempengaruhi Reputasi Blog Anda - dummies

Hindari Peluang yang Mempengaruhi Reputasi Blog Anda - dummies

Saat Anda mengaitkan blog ibu dan merek pribadi Anda dengan sebuah produk atau merek perusahaan, tidak dapat dipungkiri bahwa Anda berdua akan saling menipu satu sama lain. Suka atau tidak, Anda bisa dan menjadi terkait dengan merek itu. Tidak semua perusahaan yang ingin memberi Anda produk gratis adalah produk yang Anda inginkan ...

Berikan Peran pada Font di Situs Blog Anda - dummies

Berikan Peran pada Font di Situs Blog Anda - dummies

Saat Anda menetapkan peran pada font Anda, Anda bantu jaga agar desain blog anda terlihat profesional. Menjaga tujuan font Anda jelas membuat desain navigasi blog Anda lebih efektif dan keseluruhan desain Anda lebih mudah pada mata. Setelah Anda memilih dua atau tiga huruf pelengkap yang juga memiliki kontras yang cukup untuk berdiri satu sama lain (lihat ...

Pilihan Editor

Bagaimana Menjadi Pengembang Aplikasi iOS - dummies

Bagaimana Menjadi Pengembang Aplikasi iOS - dummies

Bagian ini menjelaskan apa yang Anda butuhkan dan bagaimana Anda bisa menjadi pengembang aplikasi iOS. Jika Anda adalah pengembang baru, Anda memerlukan alat perdagangan: Mac desktop atau sistem laptop untuk dikembangkan. Ini harus menjadi mesin dengan prosesor Intel, menjalankan OS X Mountain Lion atau Mavericks dengan setidaknya ...

Bagaimana Mengkonfigurasi Samsung SmartTV SDK - dummies

Bagaimana Mengkonfigurasi Samsung SmartTV SDK - dummies

Setelah mendownload dan menginstal SamSung SmartTV SDK dari Samsung Developers Forum (SDF), ada beberapa langkah konfigurasi tambahan yang diperlukan untuk memastikan lingkungan pengembangan yang lebih mulus.

Cara Membuat Proyek Xcode untuk Aplikasi iPad

Cara Membuat Proyek Xcode untuk Aplikasi iPad

Untuk mengembangkan sebuah Aplikasi iPad (atau aplikasi untuk iPhone atau perangkat Mac lainnya), Anda bekerja di proyek Xcode yang disebut. Jadi, saatnya memotret proyek Xcode anda sendiri.