Post

10 Algorithms Shaping the Tech World

 10 Algorithms Shaping

๐ŸŒŸ Sorting Algorithms

Essential for organizing data, sorting algorithms streamline tasks from simple list arrangements to complex database management and machine learning operations. Common examples like QuickSort and MergeSort enhance data search and retrieval efficiency.

๐Ÿ”’ RSA Algorithm

This foundational cryptographic algorithm ensures secure data transmission, vital for online transactions and digital communications. By generating a public key for encryption and a private key for decryption, RSA safeguards sensitive information, relying on the difficulty of factoring large prime numbers.

๐Ÿ”‘ Hash Functions

Key in database indexing, password security, and data integrity, hash functions convert inputs into fixed-size strings. They secure passwords and verify file integrity in cybersecurity, with algorithms like SHA-256 ensuring even minor data changes result in vastly different hashes.

๐ŸŽฒ Random Number Generation

Crucial for cryptography, simulations, and gaming, these algorithms create sequences that appear random. True random number generators use physical processes, while pseudo-random number generators use mathematical formulas, underpinning secure key generation and realistic simulations.

๐Ÿ“ฆ Data Compression

These algorithms reduce data size for faster network transmission and efficient storage. Techniques like Huffman coding and modern codecs such as H.264 enable effective file compression without significant quality loss, facilitating streaming services and data sharing.

Developed by Google, this algorithm ranks web pages based on their link structure, improving search engine results.

โš™๏ธ Proportional-Integral-Derivative (PID) Controller

Widely used in automated industrial processes, PID controllers maintain optimal system conditions by continuously adjusting process inputs based on the difference between a setpoint and a measured variable. This enhances stability in systems like manufacturing and robotics.

๐Ÿ—บ๏ธ Dijkstraโ€™s Algorithm

Essential for route planning in GPS systems and network routing, Dijkstraโ€™s algorithm finds the shortest paths in a graph by exploring all possible routes from a starting node. This ensures efficient and optimal routing solutions in transportation and network design.

๐ŸŽผ Fourier Transform

Transforming signals between time and frequency domains, the Fourier transform is crucial for signal processing, image analysis, and audio processing. It decomposes complex signals into sinusoidal components, aiding in noise reduction, image compression, and medical imaging.

๐Ÿ”ข Integer Factorisation

Integral to cryptography, particularly RSA, integer factorization breaks down numbers into prime factors. The security of RSA depends on the difficulty of factoring large composites, ensuring that private keys cannot be easily derived from public keys, thus securing digital communications.

CC: Rocky Bhatia

Translate to Korean

๐ŸŒŸ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜

๋ฐ์ดํ„ฐ ๊ตฌ์„ฑ์— ํ•„์ˆ˜์ ์ธ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ฐ„๋‹จํ•œ ๋ชฉ๋ก ์ •๋ ฌ์—์„œ ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ๋ฐ ๊ธฐ๊ณ„ ํ•™์Šต ์ž‘์—…์— ์ด๋ฅด๊ธฐ๊นŒ์ง€ ์ž‘์—…์„ ๊ฐ„์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค. QuickSort ๋ฐ MergeSort์™€ ๊ฐ™์€ ์ผ๋ฐ˜์ ์ธ ์˜ˆ๋Š” ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰ ๋ฐ ๊ฒ€์ƒ‰ ํšจ์œจ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

๐Ÿ”’ RSA ์•Œ๊ณ ๋ฆฌ์ฆ˜

์ด ๊ธฐ๋ณธ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์˜จ๋ผ์ธ ๊ฑฐ๋ž˜ ๋ฐ ๋””์ง€ํ„ธ ํ†ต์‹ ์— ํ•„์ˆ˜์ ์ธ ์•ˆ์ „ํ•œ ๋ฐ์ดํ„ฐ ์ „์†ก์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. RSA๋Š” ์•”ํ˜ธํ™”๋ฅผ ์œ„ํ•œ ๊ณต๊ฐœ ํ‚ค์™€ ์•”ํ˜ธ ํ•ด๋…์„ ์œ„ํ•œ ๊ฐœ์ธ ํ‚ค๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ํฐ ์†Œ์ˆ˜๋ฅผ ์ธ์ˆ˜๋ถ„ํ•ดํ•˜๊ธฐ ์–ด๋ ค์šด ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ ๋ณดํ˜ธํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ”‘ ํ•ด์‹œ ํ•จ์ˆ˜

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ธ๋ฑ์‹ฑ, ์•”ํ˜ธ ๋ณด์•ˆ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์˜ ํ•ต์‹ฌ์ธ ํ•ด์‹œ ํ•จ์ˆ˜๋Š” ์ž…๋ ฅ์„ ๊ณ ์ • ํฌ๊ธฐ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. SHA-256๊ณผ ๊ฐ™์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์•”ํ˜ธ๋ฅผ ๋ณดํ˜ธํ•˜๊ณ  ์‚ฌ์ด๋ฒ„ ๋ณด์•ˆ์—์„œ ํŒŒ์ผ ๋ฌด๊ฒฐ์„ฑ์„ ํ™•์ธํ•˜๋ฏ€๋กœ ์‚ฌ์†Œํ•œ ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ์œผ๋กœ๋„ ํ•ด์‹œ๊ฐ€ ํฌ๊ฒŒ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

๐ŸŽฒ ๋‚œ์ˆ˜ ์ƒ์„ฑ

์•”ํ˜ธํ™”, ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋ฐ ๊ฒŒ์ž„์— ์ค‘์š”ํ•œ ์ด๋Ÿฌํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ฌด์ž‘์œ„๋กœ ๋‚˜ํƒ€๋‚˜๋Š” ์‹œํ€€์Šค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ˆœ์ˆ˜ ๋‚œ์ˆ˜ ์ƒ์„ฑ๊ธฐ๋Š” ๋ฌผ๋ฆฌ์  ํ”„๋กœ์„ธ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ˜๋ฉด, ์˜์‚ฌ ๋‚œ์ˆ˜ ์ƒ์„ฑ๊ธฐ๋Š” ์ˆ˜ํ•™ ๊ณต์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ์•ˆ์ „ํ•œ ํ‚ค ์ƒ์„ฑ๊ณผ ์‚ฌ์‹ค์ ์ธ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ๋’ท๋ฐ›์นจํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“ฆ ๋ฐ์ดํ„ฐ ์••์ถ•

์ด๋Ÿฌํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋” ๋น ๋ฅธ ๋„คํŠธ์›Œํฌ ์ „์†ก๊ณผ ํšจ์œจ์ ์ธ ์ €์žฅ์„ ์œ„ํ•ด ๋ฐ์ดํ„ฐ ํฌ๊ธฐ๋ฅผ ์ค„์ž…๋‹ˆ๋‹ค. Huffman ์ฝ”๋”ฉ๊ณผ ๊ฐ™์€ ๊ธฐ์ˆ ๊ณผ H.264์™€ ๊ฐ™์€ ์ตœ์‹  ์ฝ”๋ฑ์€ ์‹ฌ๊ฐํ•œ ํ’ˆ์งˆ ์†์‹ค ์—†์ด ํšจ๊ณผ์ ์ธ ํŒŒ์ผ ์••์ถ•์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜์—ฌ ์ŠคํŠธ๋ฆฌ๋ฐ ์„œ๋น„์Šค ๋ฐ ๋ฐ์ดํ„ฐ ๊ณต์œ ๋ฅผ ์šฉ์ดํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ”— PageRank(๋งํฌ ๋ถ„์„)

Google์—์„œ ๊ฐœ๋ฐœํ•œ ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋งํฌ ๊ตฌ์กฐ์— ๋”ฐ๋ผ ์›น ํŽ˜์ด์ง€์˜ ์ˆœ์œ„๋ฅผ ๋งค๊ฒจ ๊ฒ€์ƒ‰ ์—”์ง„ ๊ฒฐ๊ณผ๋ฅผ ๊ฐœ์„ ํ•ฉ๋‹ˆ๋‹ค.

โš™๏ธ PID(Proportional-Integral-Derivative) ์ œ์–ด๊ธฐ

์ž๋™ํ™”๋œ ์‚ฐ์—… ๊ณต์ •์—์„œ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” PID ์ปจํŠธ๋กค๋Ÿฌ๋Š” ์„ค์ •๊ฐ’๊ณผ ์ธก์ •๋œ ๋ณ€์ˆ˜ ๊ฐ„์˜ ์ฐจ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ณต์ • ์ž…๋ ฅ์„ ์ง€์†์ ์œผ๋กœ ์กฐ์ •ํ•˜์—ฌ ์ตœ์ ์˜ ์‹œ์Šคํ…œ ์กฐ๊ฑด์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ œ์กฐ ๋ฐ ๋กœ๋ด‡ ๊ณตํ•™๊ณผ ๊ฐ™์€ ์‹œ์Šคํ…œ์˜ ์•ˆ์ •์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

๐Ÿ—บ๏ธ ๋‹ค์ดํฌ์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜(Dijkstraโ€™s Algorithm)

GPS ์‹œ์Šคํ…œ ๋ฐ ๋„คํŠธ์›Œํฌ ๋ผ์šฐํŒ…์˜ ๊ฒฝ๋กœ ๊ณ„ํš์— ํ•„์ˆ˜์ ์ธ Dijkstra์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์‹œ์ž‘ ๋…ธ๋“œ์—์„œ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๊ฒฝ๋กœ๋ฅผ ํƒ์ƒ‰ํ•˜์—ฌ ๊ทธ๋ž˜ํ”„์—์„œ ์ตœ๋‹จ ๊ฒฝ๋กœ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์šด์†ก ๋ฐ ๋„คํŠธ์›Œํฌ ์„ค๊ณ„์—์„œ ํšจ์œจ์ ์ด๊ณ  ์ตœ์ ์˜ ๋ผ์šฐํŒ… ์†”๋ฃจ์…˜์ด ๋ณด์žฅ๋ฉ๋‹ˆ๋‹ค.

๐ŸŽผ ํ‘ธ๋ฆฌ์— ๋ณ€ํ™˜(Fourier Transform)

์‹œ๊ฐ„ ์˜์—ญ๊ณผ ์ฃผํŒŒ์ˆ˜ ์˜์—ญ ๊ฐ„์— ์‹ ํ˜ธ๋ฅผ ๋ณ€ํ™˜ํ•˜๋Š” ํ‘ธ๋ฆฌ์— ๋ณ€ํ™˜์€ ์‹ ํ˜ธ ์ฒ˜๋ฆฌ, ์ด๋ฏธ์ง€ ๋ถ„์„ ๋ฐ ์˜ค๋””์˜ค ์ฒ˜๋ฆฌ์— ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ณต์žกํ•œ ์‹ ํ˜ธ๋ฅผ ์ •ํ˜„ํŒŒ ์„ฑ๋ถ„์œผ๋กœ ๋ถ„ํ•ดํ•˜์—ฌ ๋…ธ์ด์ฆˆ ๊ฐ์†Œ, ์ด๋ฏธ์ง€ ์••์ถ• ๋ฐ ์˜๋ฃŒ ์ด๋ฏธ์ง•์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ”ข ์ •์ˆ˜ ๋ถ„ํ•ด(Integer Factorisation)

์•”ํ˜ธํ™”, ํŠนํžˆ RSA์— ํ•„์ˆ˜์ ์ธ ์ •์ˆ˜ ์ธ์ˆ˜๋ถ„ํ•ด๋Š” ์ˆซ์ž๋ฅผ ์†Œ์ธ์ˆ˜๋กœ ๋‚˜๋ˆ•๋‹ˆ๋‹ค. RSA์˜ ๋ณด์•ˆ์€ ๋Œ€๊ทœ๋ชจ ์ปดํฌ์ง€ํŠธ๋ฅผ ํŒฉํ„ฐ๋งํ•˜๋Š” ์–ด๋ ค์›€์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง€๋ฉฐ, ๊ณต๊ฐœ ํ‚ค์—์„œ ๊ฐœ์ธ ํ‚ค๋ฅผ ์‰ฝ๊ฒŒ ์ถ”์ถœํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ๋””์ง€ํ„ธ ํ†ต์‹ ์ด ๋ณดํ˜ธ๋ฉ๋‹ˆ๋‹ค.

CC: ๋กํ‚ค ๋ฐ”ํ‹ฐ์•„

This post is licensed under CC BY 4.0 by the author.