컴퓨터 알고리즘은 무엇이며 어떻게 작동합니까?

0
328

배너

수학이나 프로그래밍에 익숙하지 않은 한“알고리즘”이라는 단어는 그리스어 일 수 있지만이 기사를 읽는 데 사용하는 모든 것의 구성 요소 중 하나입니다. 다음은 현재 상태와 작동 방식에 대한 간단한 설명입니다.

면책 조항 : 저는 수학 또는 컴퓨터 과학 교사가 아니므로 사용하는 모든 용어가 기술적 인 것은 아닙니다. 사람들이 수학에 익숙하지 않은 사람들을 위해 모든 것을 영어로 설명하려고하기 때문입니다. 다시 말해, 일부 수학이 관련되어 있으며 피할 수 없습니다. 수학 괴짜들은 의견을 자유롭게 수정하거나 더 잘 설명 할 수 있지만, 수학적으로 우리에게 불분명 한 사람들을 위해 간단하게 유지하십시오.

이미지 이안 루오 탈라

알고리즘이란 무엇입니까?

‘알고리즘’이라는 단어는‘대수’와 비슷한 어원이 있는데, 아랍어 수학자 알-카와 리즈 미 (흥미로운 재미있는 것)를 의미한다는 점만 다릅니다. 우리 중 프로그래머가 아닌 사람들을위한 알고리즘은 입력 A를 가져오고 출력 B를 제공하는 일련의 명령으로 어떤 식 으로든 관련된 데이터를 변경합니다. 알고리즘에는 다양한 응용 프로그램이 있습니다. 수학에서는 데이터 세트의 포인트에서 함수를 계산하는 데 도움이 될 수 있습니다. 프로그래밍 자체에서 사용하는 것 외에도 파일 압축 및 데이터 암호화와 같은 주요 역할을 수행합니다.

기본 지침 세트

친구가 식료품 점에서 당신을 만나고 당신을 향해 안내한다고 가정 해 봅시다. 당신은“오른쪽 문을 통해 들어와”,“왼쪽의 물고기 부분을 지나치다”,“유제품이 보이면 나를 지나쳤다”고 말합니다. 알고리즘은 그렇게 작동합니다. 플로우 차트를 사용하여 미리 알고 있거나 프로세스 중에 알아 낸 기준에 따라 지시 사항을 설명 할 수 있습니다.

쇄빙 루틴

( “Icebreaking Routine”편집 이미지 : 트리거 및 프리휠 제공)

시작부터, 당신은 길을 향하고, 무슨 일이 일어나는지에 따라 당신은 “흐름”을 따라 최종 결과를 따릅니다. 순서도는 컴퓨터가 사용하는 일련의 명령을보다 이해하기 쉽게 표현할 수있는 시각적 도구입니다. 마찬가지로 알고리즘은 더 많은 수학 기반 모델에서 동일한 작업을 수행 할 수 있습니다.

그래프

방향을 제시 할 수있는 다양한 방법을 설명하기 위해 그래프를 사용하겠습니다.

graph_drawn.gif

이 그래프를 모든 점 사이의 연결로 표현할 수 있습니다. 이 이미지를 재현하기 위해 다른 사람에게 일련의 지침을 제공 할 수 있습니다.

방법 1

이것을 일련의 점으로 나타낼 수 있으며, 정보는 표준 형태의 그래프 = {(x1, y1), (x2, y2),…, (xn, yn)}을 따릅니다.

그래프 = {(0,0), (3,0), (3,3), (5,5), (7,10), (8,7), (9,4), (10,1) }

각 점을 하나씩 차례로 그려서 이전 점에 연결하는 것은 매우 쉽습니다. 그러나 천 점 또는 여러 개의 세그먼트가 모두 어떤 방식 으로든 움직이는 그래프를 상상해보십시오. 그 목록에는 많은 데이터가있을 것입니다. 그리고 한 번에 하나씩 서로 연결해야하는 것은 고통이 될 수 있습니다.

방법 2

우리가 할 수있는 또 다른 일은 시작점, 그 지점과 다음 지점 사이의 선의 기울기를 제공하고 표준 형식의 graph = {(시작 지점}, (m1, x1, h1)을 사용하여 다음 지점을 예상 할 위치를 지정하는 것입니다 ),…, (mn, xn, hn)} 여기서 변수 'm'은 선의 기울기를 나타내고 'x'는 계산할 방향 (x 또는 y)을 나타내고 'h'는 방법을 알려줍니다. 당신은 또한 각각의 움직임 후에 점을 그리는 것을 기억할 수 있습니다.

그래프 = {(0,0), (0, x, 3), (0, y, 3), (1, x, 2), (2.5, x, 2), (-3, x, 1), (-3, x, 1), (-3, x, 1)}

결국 같은 그래프로 끝납니다. 이 표현의 마지막 세 단어가 동일하다는 것을 알 수 있습니다. 그래서 우리는 어떤 식 으로든“세 번 반복”이라고 말함으로써 그 용어를 다듬을 수 있습니다. 변수 'R'이 표시 될 때마다 마지막 항목을 반복한다는 의미입니다. 우리는 할 수있어:

그래프 = {(0,0), (0, x, 3), (0, y, 3), (1, x, 2), (2.5, x, 2), (-3, x, 1), (R = 2)}

개별 포인트가 실제로 중요하지 않고 그래프 자체 만 중요하다면? 마지막 세 섹션을 다음과 같이 통합 할 수 있습니다.

그래프 = {(0,0), (0, x, 3), (0, y, 3), (1, x, 2), (2.5, x, 2), (-3, x, 3)}

예전보다 조금 짧아졌습니다.

방법 3

다른 방법으로 시도해 봅시다.

y = 0, 0≤x≤3
x = 0, 0≤y≤3
y = x, 3≤x≤5
y = 2.5x-7.5, 5≤x≤7
y = -3x + 29, 7≤x≤8
y = -3x + 29, 8≤x≤9
y = -3x + 29, 9≤x≤10

여기에 순수한 대수 용어가 있습니다. 다시 말하지만, 점 자체가 중요하지 않고 그래프 만 중요하다면 마지막 세 항목을 통합 할 수 있습니다.

y = 0, 0≤x≤3
x = 0, 0≤y≤3
y = x, 3≤x≤5
y = 2.5x-7.5, 5≤x≤7
y = -3x + 29, 7≤x≤10

이제, 당신이 선택하는 방법은 당신의 능력에 달려 있습니다. 수학과 그래프에 능숙 할 수 있으므로 마지막 옵션을 선택하십시오. 탐색에 능숙 할 수 있으므로 두 번째 옵션을 선택하십시오. 그러나 컴퓨터 영역에서는 다양한 종류의 작업을 수행하고 있으며 컴퓨터의 기능은 실제로 변하지 않습니다. 따라서 알고리즘은 완료 한 작업에 최적화됩니다.

주목해야 할 또 다른 중요한 점은 각 방법이 키에 의존한다는 것입니다. 각 지시 사항은 사용자가 지시 사항을 알지 않는 한 쓸모가 없습니다. 각 점을 플롯하고 점을 연결해야한다는 것을 모르는 경우 첫 번째 점 세트는 아무 의미가 없습니다. 두 번째 방법에서 각 변수의 의미를 알지 못하면 암호 키와 같이 변수를 적용하는 방법을 모릅니다. 이 키는 알고리즘 사용에 없어서는 안될 부분이며 종종 해당 키가 커뮤니티 또는 “표준”을 통해 발견됩니다.

파일 압축

.zip 파일을 다운로드 할 때 내용을 추출하여 그 안에있는 모든 것을 사용할 수 있습니다. 오늘날 대부분의 운영 체제는 일반 폴더처럼 .zip 파일로 다이빙하여 백그라운드에서 모든 작업을 수행 할 수 있습니다. 10 년 전 Windows 95 시스템에서 파일 이름 이상의 것을보기 전에 모든 것을 수동으로 추출해야했습니다. 디스크에 .zip 파일로 저장된 내용이 사용 가능한 형식이 아니기 때문입니다. 풀 아웃 소파를 생각하십시오. 침대로 사용하려면 쿠션을 제거하고 펼쳐야하므로 더 많은 공간을 차지합니다. 필요하지 않거나 운반하려는 경우 다시 접을 수 있습니다.

압축 알고리즘은 대상 파일 유형에 맞게 조정 및 최적화됩니다. 예를 들어, 오디오 형식은 각각 오디오 코덱으로 디코딩 할 때 원래 파형과 유사한 사운드 파일을 제공하는 데이터를 저장하는 다른 방법을 사용합니다. 이러한 차이점에 대한 자세한 내용은 이전 기사 인 모든 오디오 형식의 차이점은 무엇입니까?를 확인하십시오. 무손실 오디오 형식과 .zip 파일은 공통점이 있습니다. 압축 해제 후 원본 데이터를 정확한 형식으로 생성합니다. Lossy 오디오 코덱은 다른 방법을 사용하여 사람의 귀에 들리지 않는 트리밍 주파수 및 일부 세부 사항을 제거하기 위해 섹션의 파형을 부드럽게하는 등 디스크 공간을 절약합니다. 결국 MP3와 CD 트랙의 차이를 실제로들을 수는 없지만 전자에는 정보가 부족합니다.

데이터 암호화

enc- 알고리즘-(truecrypt)

알고리즘은 데이터 또는 통신 회선을 보호 할 때도 사용됩니다. 디스크 공간을 적게 사용하도록 데이터를 저장하는 대신 다른 프로그램에서 감지 할 수없는 방식으로 저장됩니다. 누군가 하드 드라이브를 훔쳐서 스캔을 시작하면 파일을 삭제하더라도 데이터 자체가 여전히 존재하기 때문에 전송 위치가 없어도 데이터를 가져올 수 있습니다. 데이터가 암호화되면 저장된 내용이 그대로있는 것처럼 보이지 않습니다. 조각화가 시간이 지남에 따라 쌓이는 것처럼 일반적으로 무작위로 보입니다. 데이터를 저장하여 다른 유형의 파일로 표시 할 수도 있습니다. 이미지 파일과 음악 파일은 예를 들어 의심하지 않고 상당히 클 수 있기 때문에 좋습니다. 이 모든 것은 수학적 알고리즘을 사용하여 수행됩니다. 수학적 알고리즘은 어떤 종류의 입력을 취하여 다른 매우 특정한 유형의 출력으로 변환합니다. 암호화 작동 방식에 대한 자세한 내용은 HTG Explains : 암호화 란 무엇이며 어떻게 작동합니까?를 참조하십시오.


알고리즘은 컴퓨터 과학에서 다양한 용도를 제공하는 수학적 도구입니다. 이들은 일관된 방식으로 시작점과 끝점 사이의 경로를 제공하고이를 따르는 지시 사항을 제공합니다. 우리가 강조한 것 이상을 알고 있습니까? 의견에 당신의 설명을 공유하십시오!