Rumah Kewangan Peribadi 10 Masalah Algoritma Namun untuk Memecahkan - dummies

10 Masalah Algoritma Namun untuk Memecahkan - dummies

Isi kandungan:

Video: Passwords & hash functions (Simply Explained) 2024

Video: Passwords & hash functions (Simply Explained) 2024
Anonim

Algoritma sememangnya telah wujud selama berabad-abad, jadi anda akan berfikir bahawa para saintis akan menemui dan menyelesaikan setiap algoritma sekarang. Malangnya, sebaliknya adalah benar. Penyelesaian algoritma tertentu sering menunjukkan beberapa lagi soalan yang tidak dapat diselesaikan oleh algoritma dan itu tidak kelihatan sehingga seseorang membuat penyelesaian.

Algoritma adalah satu siri langkah yang digunakan untuk menyelesaikan masalah, dan anda tidak perlu mengelirukannya dengan entiti lain, seperti persamaan. Algoritma tidak pernah menjadi penyelesaian untuk mencari masalah. Tidak seorang pun akan membuat satu siri langkah untuk menyelesaikan masalah yang belum ada (atau mungkin tidak pernah ada).

Senarai ini adalah mengenai masalah algoritma yang akan menjadi tujuan apabila seseorang mencari penyelesaian untuknya.

Berurusan dengan carian teks

Banyak carian teks melibatkan penggunaan ungkapan biasa - sejenis singkatan yang memberitahu komputer apa yang hendak dicari. Tatabahasa yang digunakan untuk ekspresi biasa bergantung pada bahasa atau aplikasi, tetapi anda dapati ungkapan biasa yang digunakan di beberapa tempat, termasuk pemproses kata, aplikasi e-mel, dialog carian, dan dalam pelbagai tempat lain di mana anda perlu memberikan carian yang tepat terma untuk pelbagai item teks.

Salah satu masalah semasa dengan ungkapan biasa adalah bahawa seolah-olah setiap persekitaran aplikasinya mempunyai satu set peraturan yang sama, tetapi hanya dengan perbezaan yang cukup untuk membuat istilah pencarian keras. Masalah ketinggian bintang yang umum digunakan untuk mencari sama ada sintaks ungkapan biasa yang wujud. Jika ya, algoritma yang dihasilkan akan memungkinkan seseorang untuk mempelajari hanya satu kaedah untuk mewujudkan ungkapan biasa untuk melakukan carian.

Berbeza perkataan

Apabila bekerja dengan aksara, komputer melihat nombor, bukan huruf. Nombor-nombor itu sebenarnya hanya satu siri 0 dan 1s ke komputer dan sebenarnya tidak mempunyai sebarang makna. Menggabungkan aksara menjadi rentetan hanya menjadikan siri 0 dan 1 lagi. Oleh itu, membandingkan dua rentetan, sesuatu yang boleh dilakukan oleh manusia sekilas, boleh mengambil masa dalam komputer, dan kebingungan mungkin antara konjugasi. Sebagai contoh, melainkan jika anda berhati-hati dalam membina algoritma, komputer boleh mengelirukan mendaftar dan mendengar. Lebih penting lagi, komputer memerlukan masa untuk membezakan perbezaan antara kedua-duanya. Masalah kata pemisahan berupaya untuk mencari algoritma yang paling kecil (dan terpantas) (automatis terhingga automaton, DFN, dalam kes ini) untuk melaksanakan pemisahan perkataan.Matlamatnya ialah menerima satu perkataan dan menolak yang lain, dengan memberikan dua perkataan panjang tertentu.

Menentukan sama ada aplikasi akan tamat

Salah satu masalah yang dicadangkan oleh Alan Turing pada tahun 1936 adalah isu sama ada suatu algoritma, diberi gambaran mengenai suatu program dan input, boleh menentukan sama ada program itu akhirnya akan berhenti (menghentikan masalah). Apabila bekerja dengan aplikasi mudah, mudah untuk menentukan dalam banyak kes sama ada program akan berhenti atau terus berjalan dalam gelung yang tidak berkesudahan. Walau bagaimanapun, memandangkan peningkatan kerumitan program, menentukan keputusan menjalankan program dengan mana-mana input yang diberikan menjadi lebih sukar. Mesin Turing tidak boleh membuat penentuan ini; hasilnya ialah kod buggy dengan gelung tak terhingga. Tiada jumlah ujian yang menggunakan teknologi semasa boleh menyelesaikan masalah ini.

Komputer hypercomputer merupakan model pengkomputeran yang melampaui mesin Turing untuk menyelesaikan masalah seperti masalah sepi. Walau bagaimanapun, mesin tersebut tidak mungkin menggunakan teknologi semasa. Jika mereka mungkin, anda boleh bertanya kepada mereka semua jenis yang tidak dapat diungkapkan bahawa komputer tidak boleh menjawabnya sekarang. Artikel ini memberi anda idea yang baik tentang apa yang akan berlaku jika seseorang dapat menyelesaikan masalah ini.

Mencipta dan menggunakan fungsi satu hala

Fungsi satu hala adalah fungsi yang mudah digunakan untuk mendapatkan jawapan dalam satu arah, tetapi hampir mustahil untuk digunakan dengan kebalikan dari jawapan itu. Dengan kata lain, anda menggunakan fungsi sehala untuk mencipta sesuatu seperti hash yang akan muncul sebagai sebahagian daripada penyelesaian untuk kriptografi, pengenalan diri, pengesahan, atau keperluan keselamatan data lain.

Kewujudan fungsi sehala adalah kurang misteri dan lebih banyak bukti. Banyak sistem telekomunikasi, e-dagang, dan e-perbankan kini bergantung kepada fungsi yang kononnya satu cara, tetapi tiada siapa yang benar-benar tahu sama ada mereka benar-benar satu cara. Kewujudan fungsi sehala kini merupakan hipotesis, bukan teori. Sekiranya seseorang dapat membuktikan bahawa fungsi satu hala wujud, isu keselamatan data akan lebih mudah diselesaikan dari perspektif pengaturcaraan.

Mengalikan bilangan benar-benar besar

Bilangan yang benar-benar besar terdapat di banyak tempat. Sebagai contoh, pertimbangkan untuk melakukan pengiraan yang melibatkan jarak ke Marikh, atau mungkin Pluto. Kaedah-kaedah pada masa ini wujud untuk melakukan pendaraban pada bilangan yang sangat besar, tetapi mereka cenderung lambat kerana memerlukan banyak operasi untuk diselesaikan. Masalahnya berlaku apabila bilangannya terlalu besar untuk dimuatkan dalam daftar pemproses. Pada ketika itu, pendaraban mesti berlaku dalam lebih daripada satu langkah, yang melambatkan perkara dengan ketara. Penyelesaian semasa termasuk:

  • Algoritma pendaraban kompleks Gauss
  • Karatsuba pendaraban
  • Toom-Cook
  • Transformasi kaedah Fourier

Walaupun banyak kaedah yang sedia ada menghasilkan hasil yang boleh diterima, semuanya mengambil masa, dan apabila anda mempunyai banyak pengiraan untuk melaksanakan, masalah masa boleh menjadi kritikal. Akibatnya, pendaraban bilangan besar adalah salah satu masalah yang memerlukan penyelesaian yang lebih baik daripada yang tersedia hari ini.

Membahagikan sumber secara sama rata

Sumber pembahagian yang sama mungkin tidak begitu sukar, tetapi manusia, yang sememangnya iri, mungkin melihat sumber itu tidak terbahagi kepada sama sekali kecuali anda dapat mencari jalan untuk meyakinkan semua orang bahawa pembahagian itu memang adil. Inilah masalah pemotongan kek elok. Sudah tentu, apabila anda memotong kek, tidak kira betapa adil anda cuba melakukannya, selalu ada persepsi bahawa pembahagian itu tidak adil. Mewujudkan pembahagian sumber yang adil adalah penting dalam kehidupan seharian untuk meminimumkan perselisihan antara pihak berkepentingan dalam mana-mana organisasi, menjadikan semua orang lebih cekap.

Dua penyelesaian sudah wujud untuk masalah pemotongan kek cawan tanpa rasa iri dengan bilangan orang tertentu, tetapi tiada penyelesaian umum wujud. Apabila terdapat dua orang yang terlibat, yang pertama memotong kek itu dan yang kedua memilih sekeping pertama. Dengan cara ini, kedua-dua pihak dijamin pembahagian yang sama. Masalahnya menjadi lebih sukar dengan tiga orang, tetapi anda boleh mencuba penyelesaian Selfridge-Conway untuk masalah ini. Walau bagaimanapun, selepas anda sampai kepada empat orang, tidak ada penyelesaian.

Mengurangkan masa pengiraan jarak edit

Jarak edit jarak antara dua rentetan adalah bilangan operasi yang diperlukan untuk mengubah satu rentetan ke dalam rentetan yang lain. Pengiraan jarak berputar di sekitar operasi jarak Levenshtein, iaitu penyingkiran, penyisipan, atau penggantian watak dalam tali. Teknik khusus ini menggunakan penggunaan dalam antara muka bahasa semulajadi, kuantifikasi urutan DNA, dan pelbagai tempat lain di mana anda boleh mempunyai dua rentetan serupa yang memerlukan beberapa perbandingan atau pengubahsuaian.

Sejumlah penyelesaian untuk masalah ini kini wujud, semuanya agak lambat. Malah, kebanyakan mereka mengambil masa yang eksponen, jadi masa yang diperlukan untuk melakukan transformasi dengan cepat menambah sehingga titik di mana manusia dapat melihat jeda dalam pemprosesan input. Jeda tidak begitu buruk apabila menggunakan pemproses perkataan yang melakukan pemeriksaan kata automatik dan mengubah kata yang salah eja ke dalam yang betul. Walau bagaimanapun, apabila menggunakan antara muka suara, jeda boleh menjadi sangat ketara dan menyebabkan pengendali manusia membuat kesilapan.

Memecahkan masalah dengan cepat

Oleh kerana pembelajaran mesin dimatikan dan kita menghitung lebih banyak pada komputer untuk menyelesaikan masalah, masalah seberapa pantas komputer dapat menyelesaikan masalah menjadi kritikal. Masalah P versus NP hanya bertanya sama ada komputer boleh menyelesaikan masalah dengan cepat apabila ia dapat mengesahkan penyelesaian kepada masalah dengan cepat. Dalam erti kata lain, jika komputer dengan mudah dapat memastikan bahawa tindak balas manusia terhadap masalah adalah betul dalam masa polinomial atau kurang, boleh juga menyelesaikan masalah itu sendiri dalam masa polinomial atau kurang?

Persoalan ini pada mulanya dibincangkan pada tahun 1950 oleh John Nash dalam surat kepada Badan Keselamatan Negara (NSA) dan sekali lagi dalam surat antara Kurt Gödel dan John von Neumann. Selain pembelajaran mesin (dan AI secara amnya), masalah khusus ini adalah kebimbangan terhadap banyak bidang lain, termasuk matematik, kriptografi, penyelidikan algoritma, teori permainan, pemprosesan multimedia, falsafah, dan ekonomi.

Memainkan permainan pariti

Pada mulanya, menyelesaikan permainan mungkin tidak kelihatan seperti yang berguna dalam kehidupan sebenar. Ya, permainan adalah menyenangkan dan menarik, tetapi mereka tidak memberikan latar belakang untuk melakukan sesuatu yang berguna - sekurang-kurangnya, itulah teori umum. Walau bagaimanapun, teori permainan dimainkan dalam banyak senario kehidupan sebenar, kebanyakannya melibatkan proses kompleks yang seseorang dapat memahami lebih mudah sebagai permainan daripada sebagai proses sebenar. Dalam kes ini, permainan membantu orang memahami pengesahan automatik dan sintesis pengawal, antara lain. Anda boleh membaca lebih lanjut mengenai permainan pariti. Malah, anda boleh memainkannya.

Memahami isu-isu spatial

Untuk memasukkan masalah ini ke dalam konteks, fikirkan tentang memindahkan kotak di dalam gudang atau beberapa situasi lain di mana anda perlu mempertimbangkan ruang di mana perkara bergerak. Jelas, jika anda mempunyai banyak kotak di gudang besar dan mereka semua memerlukan forklift untuk dijemput, anda tidak mahu mencuba untuk mengetahui cara menyimpannya secara optimum dengan menyusun semula secara fizikal. Di sinilah anda perlu bekerja melalui masalah ini dengan menggambarkan penyelesaian.

Walau bagaimanapun, persoalannya ialah sama ada semua masalah spatial mempunyai penyelesaian. Dalam kes ini, fikirkan salah satu teka-teki kanak-kanak yang telah anda meletakkan gambar bersama-sama dengan meluncur jubin kecil di sekitar. Ia seolah-olah seolah-olah satu penyelesaian perlu wujud dalam semua kes, tetapi dalam sesetengah keadaan, titik permulaan yang buruk boleh menyebabkan situasi yang tidak ada penyelesaian.

Ahli matematik seperti Sam Loyd sering menggunakan teka-teki untuk menunjukkan masalah matematik yang rumit, beberapa di antaranya tidak mempunyai penyelesaian hari ini. Mengunjungi laman web ini adalah menyeronokkan kerana anda bukan sahaja mendapat hiburan percuma tetapi juga makanan untuk dipikirkan. Isu-isu yang membangkitkan teka-teki ini mempunyai aplikasi praktikal, tetapi ia dibentangkan dengan cara yang menyeronokkan.

10 Masalah Algoritma Namun untuk Memecahkan - dummies

Pilihan Editor

Kotak dan Sempadan Sifat Cascading Style Sheets (CSS) - dummies

Kotak dan Sempadan Sifat Cascading Style Sheets (CSS) - dummies

Sifat kotak, anda boleh meletakkan objek gaya di mana saja di dalam tetingkap penyemak imbas, objek kedudukan berbanding dengan objek lain pada halaman, dan gunakan peraturan gaya padding dan margin kotak secara selektif untuk mana-mana atau semua empat objek gaya sebagai kiri dan bawah atau atas, kiri, dan ...

Mengira Kadar Terbuka untuk Kempen Pemasaran E-Mail Anda - dummies

Mengira Kadar Terbuka untuk Kempen Pemasaran E-Mail Anda - dummies

Kadar adalah salah satu istilah pemasaran yang paling mengelirukan dari e-mel. Ia sebenarnya mengukur bilangan interaksi tertentu dengan pelayan e-mel selepas e-mel dihantar dinyatakan sebagai peratusan jumlah tidak melantun. E-mel anda tidak dikira sebagai terbuka sehingga salah satu daripada interaksi berikut berlaku: Penerima membolehkan imej ...

BuddyPress For Dummies Cheat Sheet - dummies

BuddyPress For Dummies Cheat Sheet - dummies

BuddyPress adalah perisian bebas sumber terbuka yang dapat anda unduh, memasang, dan gunakan untuk membina komuniti sosial anda sendiri di laman web anda yang berkuasa WordPress. Untuk melakukan ini, anda memerlukan pemahaman asas tentang ciri dan terminologi BuddyPress. Mencipta komuniti sosial anda sendiri mudah dilakukan dengan BuddyPress, tetapi jika anda memerlukan bantuan, anda boleh bertanya ...

Pilihan Editor

Menikmati Magic of Mindful Movies - dummies

Menikmati Magic of Mindful Movies - dummies

Tidak ada cara yang lebih baik untuk mengembangkan pengalaman pemikiran anda melampaui batas fizikal United Kingdom dan mengembangkan wawasan anda daripada menikmati filem yang cenderung berfikiran. Filem untuk kanak-kanak: Kung Fu Panda (Mark Osborne, John Stevenson, 2008). Filem animasi moden ini sering merujuk kepada kuasa yang datang dari ...

Memperluaskan Kesedaran Anda dengan Mendengarkan CD - manisan

Memperluaskan Kesedaran Anda dengan Mendengarkan CD - manisan

Kadang-kadang, hanya apa yang anda perlukan untuk pengalaman pemikiran yang mendalam. Mendengarkan CD berkualiti boleh memindahkan anda ke luar United Kingdom dan benar-benar membuka fikiran anda kepada idea-idea. CD berikut disyorkan: Meditasi Berpandu: Untuk Ketenangan, Kesedaran dan Cinta oleh Bodhipaksa. A ...

Freemason yang terkenal - orang-orang buatan

Freemason yang terkenal - orang-orang buatan

Yang hebat dan paling cemerlang di dunia atau Freemason. Kumpulan-kumpulan ini memberikan anda jauh dari senarai komprehensif - mereka hanya contoh: Bapa pengasas: Freemason yang paling terkenal di Amerika, George Washington telah dimulakan pada tahun 1752, di Fredericksburg, Virginia. Bapa pengasas lain yang juga Mason termasuk Benjamin Franklin, Marquis de ...

Pilihan Editor

Rakaman Portraits dengan Canon EOS Rebel T1i / 500D - patung

Rakaman Portraits dengan Canon EOS Rebel T1i / 500D - patung

Subjek tertumpukan tajam dan latar belakang yang lembut dan kabur. Ikuti langkah-langkah ini untuk mengambil potret seperti Canon Rebel Digital anda.

Menukar Canon EOS Rebel T7i / 800D ke Mod Live View - dummies

Menukar Canon EOS Rebel T7i / 800D ke Mod Live View - dummies

DSLR yang dijual hari ini, kamera Canon EOS Rebel T7i / 800D menawarkan Live View, yang menyahdayakan pemidang tilik dan sebaliknya memaparkan pratonton langsung subjek anda pada monitor kamera. Senarai berikut menerangkan asas penggunaan Live View: Switch to Live View for photography: Tekan butang Live View untuk beralih dari ...