610 საკითხავი
610 საკითხავი

10 ყველაზე ცუდი, ყველაზე brillant algorithms ever devoted and what they actually do

მიერ Paolo Perrone12m2025/05/13
Read on Terminal Reader

Ძალიან გრძელი; Წაკითხვა

1987 წელს, General Electric- ის ორი პროგრამირებლები შეიმუშეს Marching Cubes ალგორტას. ეს არის მიზეზი, რომ სამედიცინო სენსორები შეუძლიათ 3D მოდელები, რომლებიც literally Save Millions of Lives. ამ ისტორიაში, ჩვენ განიცდიან 10 ყველაზე ცუდი, ყველაზე ლამაზი ალგორტას.
featured image - 10 ყველაზე ცუდი, ყველაზე brillant algorithms ever devoted and what they actually do
Paolo Perrone HackerNoon profile picture
0-item
1-item


არასდროს ცდილობდა ექსტრაქტი polygonal ქსოვილის 3D discrete scalar ფართობი?


არ არის?


1987 წელს, General Electric- ის ორი პროგრამირებლები გააკეთეს - და ისინი დასრულდა Marching Cubes ალგორტატული. ეს არის მიზეზი, რომ სამედიცინო სენსორები 3D მოდელები შეიძლება გადაიხადოს, რომელიც literally გადაიხადოს მილიონი ცხოვრების.


ეს არის algorithm ძალა.


Whenever you instruct a machine to solve a problem with code, you’re designing a procedure to transform bits into meaningზოგიერთი ალგორტიმი სწრაფია, ზოგიერთი ელეგანტურია და ზოგიერთი ძალიან ცუდია, ისინი იგრძნებენ, როგორიცაა მექანიზია.


ამ ისტორიაში, ჩვენ განიცდიან 10 ყველაზე განიცდიან, ყველაზე ლამაზი ალგორტატები, რომლებიც pernah შექმნილია - მათ შორის, რომლებიც ხელს უწყობს მილიარდი ხაზის კოდი მლსეჯერში, ხელს უწყობს უმეტეს რუკები არაფერიდან და შეიცავს კუნთული ცუდიას პრაქტიკული ლოგიკაში.


#1 Wave ფუნქცია collapse

ერთ-ერთი ყველაზე ცუდი რამ მეცნიერებაში არის ორმაგი ცუდი ექსპერიმენტი: ნაწილაკები ქცევა, როგორიცაა ხაზები, როდესაც თქვენ არ ხედავთ, მაგრამ მას შემდეგ, რაც თქვენ მათ შეამოწმოთ, ისინი ჩანს ადგილზე, როგორიცაა ნაწილაკები.


The Double Slit Experiment aka ‘The Observer Effect’


ეს იდეა, რომ “ბადის ფუნქცია collapsing” ხდის არქიტექტური, მაგრამ ეს უკვე გადარჩნდა შეუზღუდავი პრაქტიკული ალგორტიმი. ვფიქრობთ, რომ თქვენ დიზაინერით side-scrolling ვიდეო თამაშის რუკა. თქვენ გსურთ, რომ მსოფლიოს გრძნობს handcrafted, მაგრამ ასევე გაგრძელდება ყოველთვის. თქვენ არ შეგიძლიათ ჩართოთ infinite რუკა ხელში, ასე რომ instead you generate it procedurally.


პირველ რიგში, თითოეული პლაჟი რუკა არის, როგორც “ბაჟი” – ეს არ არის არაფერი სპეციფიკური. ეს არის სრული შესაძლებლობები. მაგრამ, როგორც მოთამაშე მოდის წინასწარ – იმიტომ, რომ მსოფლიოში – ალგორტმა “კროფს” ამ შეზღუდვა. მსოფლიოს solidifies კონკრეტული პლაჟი, მაგრამ იგი გააკეთებს შესაბამისად წესები თქვენ დააყენა. გზა კავშირი, ხეები წავიდეს, სადაც მათ უნდა, და ყველაფერი გრძნობს, როგორც ეს იყო მიზნით დიზაინი.


ეს არის ნარკოტიკა, რომელიც აქვს მიზანია, ყველა არ არის ერთ-ერთი კომპლექტი გენერატული AI. ეს უბრალოდ ცუდი, ლამაზი ლოგიკა.


#2 დიფუზიის მოდელი

რა თქმა უნდა, რა თქმა უნდა, რა თქმა უნდა, რა თქმა უნდა, რა თქმა უნდა, რა თქმა უნდა, რა თქმა უნდა, რა თქმა უნდა, რა თქმა უნდა, რა თქმა უნდა.


მიიღეთ დიფუზიის მოდელები - ტექნოლოგია სურათების გენერატორები, როგორიცაა DALL·E და სტაბილური დიფუზიის. ისინი დაფუძნებულია ტერდინამიკის იდეას: დიფუზიის, სადაც ნაწილები ბუნებრივ გააგრძელებენ მაღალი კონცენტრაციის რეგიონებში დაბალი კონცენტრაციის რეგიონებში.


მანქანური სასწავლო, ეს პროცესი გაიზარდა.


მდებარეობა დაახლოებით დაახლოებით დაახლოებით დაახლოებით დაახლოებით დაახლოებით დაახლოებით დაახლოებით დაახლოებით დაახლოებით დაახლოებით დაახლოებით.


მაგრამ თქვენ გჭირდებათ მოდელი, რომ ეს კარგად გააკეთოთ. დიფუზიის ალგორტიმი მუშაობს ორი ფაზაში.


პირველი, სასწავლო დროს, მოდელი იღებს რეალური სურათები და постепенно ადაპტირებს ტუმბოს წინასწარ პროცესში, სანამ ისინი არ იპოვებენ. შემდეგ, ის იპოვებს, თუ როგორ უნდა შეცვალოთ ამ პროცესს - გადარჩენა იგი დაახლოებით ერთგული სურათს.

Noising and Denoising during the Diffusion Process


The architecture of the latent diffusion model (LDM).


გააკეთეთ ეს მილიონებში labeled სურათები, და თქვენ მიიღებთ მოდელი, რომელიც შეუძლია Dream Up ახალი სურათები from scratch. Cat in space. Ancient Rome in Pixar style. Hyperrealistic avocado chairs. თქვენ სახელი.


ეს არის კომპიუტერული მძიმე. მაგრამ ეს არ დასრულებს სურათებს. გაფართოება უკვე განკუთვნილია, თუ როგორ ჩვენ მოდის მუსიკა, აუდიო, და შემდეგი - ვიდეო.

#3 – Simulated Annealing

ერთ-ერთი ყველაზე frustrating ნაწილები პროგრამირება არის, რომ არსებობს rarely ერთი სწორი გადაწყვეტილება - უბრალოდ მასშტაბით okay მათ, და რამდენიმე დიდი მათ. სახის, როგორიცაა ორგანიზაცია Amazon მაღაზია: ათასობით გზა, რომ გააკეთოთ, მაგრამ მხოლოდ რამდენიმე, რომ ნამდვილად განიხილება ფართობი.


Simulated annealing იღებს მისი სახელი metallurgy, სადაც ლითონები განკუთვნილია და სინათლის განკუთვნილია განკუთვნილია შეცდომები. იგივე კონცეფცია გამოიყენება ოპტიმიზაციის. თქვენ ეძებს, რომ იპოვოთ საუკეთესო გადაწყვეტილება chaotic სინათლის შეშფოთებული ადგილობრივი ზედაპირები და დოლები.


Simulated Annealing used to optimize warehouse layout for faster order picking in an Amazon warehouse


იმიტომ, რომ თქვენ ეძებთ უმაღლესი კუნძულ სართულზე. ძირითადი კუნძულ სართულზე მოწინააღმდეგო ალგორტამიკა თქვენ დატოვებს პირველი კუნძულზე, რომელიც ხელს უწყობს. მაგრამ მულტფილური სართულება უფრო სასიამოვნოა. ეს იწყება მაღალი “ტემპერატურა”, რაც იმას ნიშნავს, რომ ის თავისუფლად იპოვებს – ზოგჯერ მაშინაც კი იღებს უკეთესი გზა, რათა თავიდან ავიცილოთ ადგილობრივი კუნძულები. როგორც ტემპერატურა постепенно იღებს, ეს იზრდება, მხოლოდ საუკეთესო გზა.


Simulated Annealing navigating a rugged mountain range to discover the highest peak among many local summits


და ეს არ არის მხოლოდ სასარგებლო კოდი - ეს არის კარგი მეტატორა სწავლის კოდი, ასევე. დასაწყისში, თქვენ აღსანიშნოთ ენები, ინსტრუმენტები, და Frameworks. მაგრამ საბოლოოდ, თქვენ გააუმჯობესოთ, დახურვა, და სპეციალიზაცია.


#4 ცუდი საწოლი

თქვენ არ შეგიძლიათ საუბარი ალგორტიზები გარეშე მოვუწოდოს გაზაფხულება - და, ალბათ, ყველაზე ცუდი ჭეშმარიტი (და სრულიად უარყოფითი) უკვე შექმნილია.Sleep შავი.


ტრადიციული ალგორტატები, როგორიცააQuicksort საწყისიანმარშრუტი, გამოიყენეთ divide-and-conquer სტრატეგიები, რათა recursively break arries into subarrays და შეიტანოთ მათ ეფექტურად. მაგრამ გარშემო 4chan, ფსიქიკური გენეჯია გთავაზობთ მთლიანად განსხვავებული ხელმისაწვდომობა.


ეს არის, თუ როგორ მუშაობს: თითოეული ნომერი შედგება, დაიწყეთ ახალი ნომერი. თითოეული ნომერი იღებს ზოგიერთი მლსკამენტს, რომელიც შეესაბამება მისი ღირებულება, და შემდეგ ბეჭდვა ნომერი, როდესაც ის იღებს. იმიტომ, რომ მცირე ნომრები იღებენ ნაკლებად, ისინი იღებენ დატვირთულია ადრე - შედეგად შედგება.


Sleep Sort in Action


ეს შეიცავს ყველა ჩვეულებრივი ლოგიკას და ჩვეულებრივ CPU- ის სინათლის სტანდარტებს სორტირაციის საავტომობილოში. არ არსებობს შედარებით. არ არის რეაქციები. უბრალოდ საღებავი და ბეჭდვა.


მაგრამ ეს ცუდი არ არის პრაქტიკული. იგი შეხვდება უარყოფითი ნომრები, duplicates, ან დიდი ღირებულებები. იგი ასევე არ არის ეფექტური, შექმნის ერთი ნომერი თითოეული ნომერი. და ეს დამოკიდებულია საღებავი დრო, რომელიც არ არის ძალიან სწორი . Sleep Sort არის ორივე სასიამოვნო და უარყოფითი - სრულყოფილი მაგალითია, თუ როგორ განიცდიან არ არის ყოველთვის ეფექტური.


# 5 იმიტომ, რომ

BogoSort არის ბედნიერი ალგორტიზმი: იგი ნაცვლად shuffles მასშტაბით და კიდევ ერთხელ, სანამ, სუფთა სიჩქარით, შედეგები დააყენა. ეს არის ცუდი ეფექტური - როგორიცაა ცუდი განიხილება თქვენი გზა სწორი პასუხი ნაცვლად.


ახლა ვფიქრობ, რომ ეს შეიცავს კუნძულ მექანიკური და მრავალმომცულობის იდეას. teorically, if all possible outcomes exist across infinite parallel universes, then there is a multi-universe.ზოგიერთისინამდვილეში, სადაც თქვენი მოდელი უკვე დააყენა.


ტექნოლოგია ჯერ კიდევ არ არის, მაგრამ “Quantum BogoSort” მუშაობს, რათა შექმნათ ყველა ეს შესაძლებლობები ერთხელ, და შემდეგ დაუყოვნებლივ ჩრდილოეთ უნივერსიტეტში, სადაც მასშტაბით განკუთვნილია - ძირითადად გაძლევთ კუნთულ ნედლეულის მუშაობა თქვენთვის.


რა თქმა უნდა, ეს არის sci-fi, არა კომპიუტერული მეცნიერება. ჩვენ არ შეგვიძლია შეამოწმოთ ან შეკუმშოს multiverse გსურთ. მაგრამ ეს არის სათამაშო ფიზიკური ექსპერიმენტი brute-force randomness მიღებული მისი ლოგიკური (და absurd) უმაღლესი.


Bogo sort algorithm Visualized


# 6 - ბოთლი

და აქ არის ჩემი სასიამოვნო. რა მე ვფიქრობ, ნამდვილად სასიამოვნო ალგორტიზები არის, თუ როგორ ისინი ზოგჯერ შეგვიძლია ჩანს ბუნება. მიიღეთ Craig Reynolds' Boids პროგრამა 1986 - ეს იყო ერთ-ერთი პირველი ხელოვნური ცხოვრება სმულატები და ეს იმიტომ, თუ როგორ ფილიპები flock. მაგრამ ის, რაც განიხილება, არის, თუ რა პატარა კოდი უნდა მიიღოს რაღაც, რომგრძნობაასე სიცოცხლე


თითოეული ხე (ან “ბოიდ”) მხოლოდ სამი წესებს შეესაბამება: თავიდან ავიცილოთ მშრალი მშრალი (შესაბარი), შეესაბამება მათი მიმართულებით (შესაბარი), და მდებარეობა ადგილობრივი ჯგუფი ცენტრში (შესაბარი).

Boid’s algorithm rules


რა თქმა უნდა, ეს არ არის ვინმეს პასუხისმგებელი. მაგრამ როდესაც თქვენ შედუღებთ ამ მარტივი ქცევის ფხვნილი ერთად, თქვენ მიიღებთ საოცარი, ორგანული ნიმუშები, რომლებიც გადარჩენა და გადარჩენა, როგორიცაა რეალური ქსოვილის.


ლამაზი აქ არ არის კოდი - ეს არის რაგამოქვეყნდაამ კომპლექსური ჯგუფი დინამიკას არ უნდა აღწერილი. ისინი უბრალოდ ხდება. ეს არის, როგორიცაა nature's cheat code for decentralized coordination.


3D Boid’s simulation


# 7 - SHOR- ის ალგორტიმი

იდეა, რომ ხალხს საშუალებას გაძლევთ შეკუმშოს მათი პოსტფილები და შეკუმშოს მათი პოსტები უნიკალური შეკუმშვის გამოყენებით, დაფუძნებულია მნიშვნელოვანი კონცეფციით კრეპტოგურში: დიდი რაოდენობის შეკუმშვის რისკი.


უსაფრთხოება ყველაზე კრეპტიზაციის მეთოდები დამოკიდებულია ამ მარტივი მექანიკური რეალურიას - დიდი ნომრები ერთხელ ადვილია, მაგრამ იპოვოს ორი პირველი ნომრები პროდუქტის შემდეგ.პრობლემა, რომელიც ცნობილია როგორცprime factorization ეს არის ძალიან რთული და დრო მოხმარება.


რა თქმა უნდა, ეს არის ძალიან რთული, რომ ეს შეიძლება მიიღოს თქვენი laptop hundreds of trillions of years to brute-force გადაწყვეტა - თუ, რა თქმა უნდა, ჩვენ დაიწყებთ გამოყენების კუნთული კომპიუტერები. კუნთული კომპიუტერები აქვს პოტენციალი, რათა გადაწყვეტა integrated factorization პრობლემა ექსპონენტურად სწრაფად, ვიდრე ნებისმიერი კლასიკური ალგორტიმი, thanks to algorithms როგორიცაა Shor's Algorithm.


Shor’s Algorithm შეუძლია დიდი ნომრები მათი ძირითადი ფაქტორები უფრო სწრაფად, ვიდრე ტრადიციული მეთოდები. ძირითადი Factoring არის საკმაოდ მარტივი, მაგრამ როგორ მუშაობს ეს ალგორტიმი, სადაც რამდენად ცუდი.


Shor's Algorithm- ის ძირითადი კონცეფცია კუნთული მექანიკური კონცეფცია, როგორიცაა qubits, superposition და entanglement. ეს საშუალებას გაძლევთ კუნთული კომპიუტერები გააკეთოს დიდი კომპიუტერები პარამეტრი, რაც კლასიკური კომპიუტერები არ შეუძლებელია.


Representation Shor’s Quantum Factorization Algorithm


მიუხედავად იმისა, რომ ავტომატური მონაკვეთი არ არის რეგულარული, მისი რეალურ სამყაროში გამოყენება ჯერ კიდევ უწყობს. ფაქტობრივად, ყველაზე დიდი ნომერი, რომელიც კუნთული კომპიუტერის გამოყენებით შეიცვალა, არის მხოლოდ 21. IBM- ის თანამედროვე კუნთული სისტემა, Q System One, არ შეიცვალა ნომერი, რომელიც მარტივია, როგორც 35.


უახლესი დროს, ჩინეთის გუნდი გააკეთა დიდი ნომერი კუნთულ კომპიუტერის გამოყენებით, მაგრამ ისინი გამოიყენეს ალგორტიმას, რომელიც არ ეფექტურად გააკეთა უფრო დიდი ნომერი, რაც იმას ნიშნავს, რომ ეს ჯერ კიდევ არ არის პრაქტიკული საერთო გამოყენება.


თუმცა, თუ კუნთულ კომპიუტერები საკმარისი ძლიერი იქნება და ვინმეს იფიქსირებს, თუ როგორ უნდა გააუმჯობესოს ეს ალგორტატები ნამდვილად დიდი რაოდენობით, დაველოდოთ, რომ ციფრული უსაფრთხოების მსოფლიოში სერიოზული შეუზღუდავი იქნება. როდესაც კუნთულ კომპიუტერები შეუძლიათ საიმედოად შეუზღუდავი შეუზღუდავი, ყველა ჩვენი მიმდინარე უსაფრთხოების პროტოლოკები შეიძლება იყოს რისკი.


# 8 - მარშრუტი Cubes

ამ ისტორიის დასაწყისში, ჩვენ ვთქვათ Marching Cubes ალგორტიმი - მაგრამ ეს არის ღირს განიხილოს, რადგან ეს იყო ძირითადი ცვლილება 3D მონაცემების ვიზუალიზაციისთვის, განსაკუთრებით მედიცინაში.


ვფიქრობთ, რომ თქვენ გაქვთ 3D სინამდვილეში ადამიანის სხეულის, როგორიცაა MRI. MRI არ გთავაზობთ 3D მოდელი, არამედ უდიდესი რაოდენობის კაბა - 3D scalar ფართობი. თითოეული პოსტი ამ ფართობი შეიცავს ღირებულება, რომელიც აჩვენებს რაღაც, როგორიცაა ქსოვილის სიზუსტით ან სინამდვილეში. ეს მონაცემები მუდმივი სართულში, მაგრამ ჩვენ უნდა შეცვალონ ეს რაღაც ვიზუალური - ზედაპირზე, ფორმაში, რაღაც, რომ კომპიუტერი შეუძლია.


Visualization of a 3d Scalar Field


ეს არის ადგილი, სადაც Marching Cubes მოდის. ალგორტიმი იღებს ამ 3D ფართობი და მარშრუტებს მას ერთი მცირე cubes ერთხელ. თითოეული cubes შექმნილია დაახლოებით ოქტომბერი მონაცემთა ნაბიჯები ფართობი.


ახლა აქ არის სასიამოვნო პატარა: თითოეული ამ დაახლოებით დაახლოებით დაახლოებით ზედაპირზე ან ქვემოთ სფეროში (მაგ. სადაც კანის ჩართვა კუნთში). ასე რომ, თითოეული კუთხე მიიღებს 0 ან 1, დამოკიდებულია, თუ ეს არის ზედაპირზე ან ზედაპირზე, რომელიც გსურთ აღჭურვიოს.


ეს უზრუნველყოფს 8 ბიტიანი ნომერი — 256 შესაძლებელი კომბინაციები თითოეული მცირე კბისთვის. თითოეული ამ კომბინაციებისთვის, კონკრეტული ნიმუშები სამიზნეა წინასწარ კომპიუტერული და შეინახულია ეძებლის მაგიდაში. ეს სამზარეულოები გამოიყენება ამ კბის მეშვეობით წასვლა ზედაპირზე. ასე რომ, ვიდრე ყოველდღიურად კომბინირებული გეომტრიის კომპიუტერული კომპიუტერული კომბინაცია, ალგორტიმი უბრალოდ იხილებს.


Illustration of the 15 basic cases of the marching cubes technique


ამ პროცესის აღდგენა - კბის შემდეგ კბის მეშვეობით, ღირებულებების შეკუმშვა, ფორმების შეკუმშვა - ალგორტიმი постепенно აშენებს სრული 3D ქსოვილის. რაც თქვენ მიიღებთ, არის გლუვი ზედაპირება, რომელიც რეპუტაციის სხვადასხვა მასალების შორის, როგორიცაა ქსოვილის და ქსოვილის შორის.


FMRI of the Human Brain


ეს იყო უპირატესობა 1980 წელს, რადგან იგი გადაიხადოს ფართო MRI ან CT სინათლის ფურცელი რეალური 3D მოდელები, რომ ექიმები შეუძლიათ rotate, zoom in და ანალიზი. და მაშინაც კი დღეს, Marching Cubes ჯერ კიდევ გამოიყენება მრავალფეროვანი ფართობი - სამედიცინო სურათების და გეოოლოგიის მეშვეობით პროცესული გენერაციის თამაშები.


# 9 — პრაქტიკული ვიზანტური შეცდომა Tolerance

თანამედროვე კომპიუტერში, ჩვენ ხშირად მუშაობთ გაფართოებული სისტემები - კომპიუტერული ქსელები, რომლებიც გაფართოებულია Cloud- ში. ეს მოიცავს ერთ-ერთი ყველაზე ცნობილი პრობლემა გაფართოებული კომპიუტერში: Byzantine Generals Problem.


ვხედავ ეს: რამდენიმე გენერატორები ვიზანტიის საჰაერო გარშემო ქალაქში. მათ უნდა შეუზღუდავი და დაჯავშნა ამავე დროს, რათა გაიმარჯვოს. მაგრამ ისინი შეუძლიათ კომუნიკაცია მხოლოდ გაგზავნის შეტყობინებები, და ზოგიერთი ამ გენერატორები შეიძლება იყოს საღებავი, რომელიც ეძებს sabotage გეგმა. ალბათ ერთი აირჩიოს, რომ დაჯავშნა, ან უკეთესი - წაიკითხა, როდესაც დაჯავშნა. თუ კი ერთი გენერატორი არ გაქვთ ან ქმედება ცუდი, მთელი სტრატეგია შეიძლება გაქირავდეს.


კომპიუტერები შეესაბამება იგივე მოვლენები. გაფართოებული სისტემაში, ზოგიერთი კომპიუტერები შეიძლება crash, იყოს slow, ან მაშინაც კი hacked. როგორ შეიძლება სხვა ქსელი შეესაბამება, რა უნდა გავაკეთოთ, როდესაც ისინი არ შეუძლიათ Trust ყველა?


PBFT განკუთვნილია ამ ტიპის შეკუმშვის გაუმჯობესებლად. იგი მუშაობს, რათა ერთი ნომერი მოცემული საქმიანობის მიერ გადაცემის “pre-prepare” შეტყობინება. სხვა ნომრები პასუხისმგებლობას აღიარებს. როდესაც ზოგიერთი ნომრები (დაახ, ორი თვეზე მეტი) შეესაბამება, ისინი შეესაბამება. ბოლოს, პირველი ნომერი გადაცემს “commit” შეტყობინებას, გთხოვთ, რომ ყველას გააკეთა საქმიანობა. მიუხედავად იმისა, რომ ერთი თვე ნომრები არასწორია ან ცუდი, სისტემა ჯერ კიდევ შეუძლია მუშაობა.


Normal case operation of the Practical Byzantine Fault Tolerance (PBFT) network


Algorithms როგორიცაა PBFT არის ქსელის blockchain სისტემები და გაფართოებული cloud მონაცემთა ბაზები, დაეხმარებათ მათ შენარჩუნება მუდმივი და საიმედო - მაშინაც კი, როდესაც რამ არ გაქვთ.


# 10 - ბოიერი მორ

და ბოლოს, ეს მოგცემთ ძველი კლასის ალგორტიმი, რომელიც მშვიდობლად იძლევა ზოგიერთი ყველაზე სწრაფი ინსტრუმენტები, რომლებიც ჩვენ დღეს გამოიყენებთ - როგორიცაა grep. იგი გამოიწვიოს Boyer-Moore string search, და ეს ბოლოში გაფართოდა ჩემი გონება, რადგან ეს არის კონტაქტური: უფრო ხანგრძლივი ტექსტი,უფრო სწრაფადეს იღებს


ეს არის, თუ როგორ მუშაობს. ყველაზე ძირითადი search algorithms წავიდეთ შეთანხმებით, შეამოწმეთ თითოეული სიმბოლო ერთი ერთი. მაგრამ Boyer-Moore გადაიხადოს, რომ გარშემო - ეს scans fromright to leftსავარაუდოდ, ეს არის ძირითადი პრაქტიკა, რომელიც გამოიყენებს ორი სასიამოვნო ტრიკებს, რათა შეუწყოს დიდი ტექსტი. ვფიქრობ, რომ თქვენ ეძებთ სიტყვა.“needle» დიდი ბლოკში ტექსტი.


1. Bad character rule:

თუ თქვენ ეძებთ “ნახელი” და ამჟამად ტექსტური სიმბოლო არის “z” – მაშინ არ არსებობს გზა, რომ შეესაბამება შეიძლება დაიწყოს ამ ეტაპზე ან ადრე. ასე რომ, ვიდრე ტექსტური სიმბოლოის შეამოწმება, ალგორტიმი გააუმჯობესებს 6 პოზიციაზე – სრული სიგრძე “ნახელი” – და გააგრძელებს.


2. Good suffix rule:

თუ თქვენ ეძებთ “dle” და თქვენ უბრალოდ შეესაბამება “dle” ბოლოში – მაგრამ შემდეგი სიმბოლო შეკუმშავს შეკუმშვის – ალგორტიმი არ იწყებს დასაწყისში შემდეგი სიტყვში. გარდა ამისა, ის მოითხოვს: “dle” აჩვენებს “dle” ადრე “needle”? თუ ასეა, ის შეცვალოს მოდელი, ასე რომ ადრე “dle” ხაზები. თუ არა, ის შეშფოთებს მთელი “dle” ნაწილს სრულიად.


ეს heuristic skip სტრატეგიები არ არის სრულყოფილი, მაგრამ ისინიგზაუფრო ეფექტურია, ვიდრე brute force მეთოდები.


მას შემდეგ, რაც ტექსტი უფრო ხანგრძლივი იღებს, ალგორტიმი უპირატესობად უღებს უფრო მეტი სიმბოლოები, რაც უფრო სწრაფად იღებს შედარებით input ზომაზე. ეს არის მიზეზი, რომ ინსტრუმენტები, როგორიცაა grep, შეუძლიათ გეგაბუტიის ლოგების მეშვეობით შეუზღუდავი სიჩქარე - და რატომ ამ ასაკის ძველი ალგორტიმი ჯერ კიდევ იგრძნება როგორც შავი მექია დღეს.


When Logic Meets Imagination: The True Power of Algorithms (გამთავსება)

მიუხედავად იმისა, რომ კუნთულ შეზღუდვის გადარჩენა პრაქტიკული სურათების წარმოება, ბიოლოგიური flocking ქცევის ნიმუშვა სამი მარტივი წესები, ან ტექსტის შეამოწმოება ტექსტი უფრო სწრაფად იპოვოს ნიმუშები, ეს მიმოხილვა აჩვენებს, რომ ყველაზე უარყოფითი იდეები ხშირად იწვევს ყველაზე ძლიერი გადაწყვეტილებები.


ეს არ არის მათი ეფექტურობა ან ახალიობა, ეს არის მათი ძალისხმევა. ისინი მივაღწიოთ შეზღუდვები. ისინი პრობლემები გადაიხადოს მათი კურსი. ისინი გადაიხადოს ნდობის სტრუქტურა, კოსმეტიკა რწმენა, და ავტომატური ტურსი რეალურ მსოფლიოში ეფექტურობა.


უფრო მეტია, ვიდრე ელეგანტური მექანიკური ინსტრუმენტები – ეს 10 ცუდი ალგორტატებიare a testament to human ingenuity.


Visualization of Shor’s algorithm quantum circuit representation


გსურთ უფრო ხშირად წავიდეთ?

დაგვიკავშირდით LinkedIn- ში!

დაგვიკავშირდით LinkedIn- ში

გაზიარებაყოველდღიურიეფექტური მიმოხილვა, რჩევები და განახლებები, რომლებიც დაგეხმარებათ თავიდან ავიცილოთ ღირებულ შეცდომებს და გაგრძელებთ AI მსოფლიოში. შეამოწმეთ აქ:

თქვენ არის ტექნოლოგიური პროფესიონალი, რომელიც ეძებს, რომ გაზრდის თქვენი კლიენტების მეშვეობით წერილი?

არ მივიღეთ ჩვენი ბილეთები!

არ მივიღეთ ჩვენი ბილეთები

ჩემიTech Audience Acceleratorეს არის შეფუთული ოპერაციული copywriting და კლიენტების მშენებლობის სტრატეგიები, რომლებიც დაეხმარა hundreds პროფესიონალებს გამოჩენა და გააუმჯობესოს მათი ზრდის. დარეგისტრირდით ახლა, რათა შეესაბამება.

L O A D I N G
. . . comments & more!

About Author

Paolo Perrone HackerNoon profile picture
Paolo Perrone@paoloap
No BS AI/ML Content | ML Engineer with a Plot Twist 🥷 40k+ Followers on LinkedIn

დაკიდეთ ტეგები

ეს სტატია იყო წარმოდგენილი...

Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks