컴퓨터 알고리즘이란 무엇이며 어떻게 작동합니까?
수학이나 프로그래밍을 배우지 않는다면 "알고리즘"이라는 단어가 그리스어 일 수도 있지만이 기사를 읽는 데 사용되는 모든 것을 구성하는 요소 중 하나입니다. 그들이 무엇인지, 어떻게 작동하는지에 대한 간단한 설명이 있습니다..
면책 조항 : 저는 수학이나 컴퓨터 과학 교사가 아니므로 제가 사용하는 용어의 전부가 기술적 인 것은 아닙니다. 그 이유는 사람들이 수학에 익숙하지 않기 때문에 모든 것을 영어로 설명하려고하기 때문입니다. 그것이 말하면서, 수학이 관련되어 있고 그것은 피할 수없는 것입니다. 수학 괴짜, 수정하거나 의견에 더 설명해 주실 수 있지만 제발, 우리 사이에 수학적으로 멸시.
이미지 작성자 : 이안 루오 찰라
알고리즘이란 무엇입니까??
'알고리즘'이라는 단어는 '대수학'과 비슷한 어원학을 가지고 있는데, 이는 아랍 수학자 그 자체 인 알 Khwarizmi (흥미로운 재미있는 맛있는 가벼운 음식)를 말합니다. 우리 중 비 프로그래머를위한 알고리즘은 입력 A를 취하고 어떤 식 으로든 관련 데이터를 변경하는 출력 B를 제공하는 명령어 세트입니다. 알고리즘에는 다양한 응용 프로그램이 있습니다. 수학에서, 그들은 훨씬 더 진보 된 것들 중에서 데이터 세트의 포인트로부터 함수를 계산하는 것을 도울 수 있습니다. 프로그래밍 자체에서의 사용과는 별도로 파일 압축 및 데이터 암호화와 같은 중요한 역할을합니다.
지침의 기본 세트
네 친구가 식료품 점에서 너를 만나고 너를 향해 너를 인도하고 있다고 가정 해 봅시다. 당신은 "오른쪽 문으로 들어 와서", "왼쪽에있는 물고기 섹션을 지나쳐라", "유제품을 보았다면 나를 지나쳤습니다"와 같은 것들을 말합니다. 알고리즘은 그런 식으로 작동합니다. 우리는 순서도를 사용하여 우리가 미리 알고있는 기준에 기초한 지침을 설명하거나 과정 중에 발견 할 수 있습니다.
( "Icebreaking Routine"이라는 제목의 이미지 편집 : Trigger and Freewheel의 호의)
START에서부터 경로를 따라 내려 가면 어떤 일이 발생 하느냐에 따라 "흐름"을 따라 최종 결과를 얻습니다. 순서도는 컴퓨터에서 사용되는 일련의 지침을보다 잘 이해할 수있는 시각적 도구입니다. 마찬가지로 알고리즘은 더 많은 수학 기반 모델에서 동일한 작업을 수행합니다..
그래프
그래프를 사용해 방향을 제시 할 수있는 다양한 방법을 설명합시다..
이 그래프를 모든 점 사이의 연결로 표현할 수 있습니다. 이 이미지를 재현하기 위해 다른 사람에게 일련의 지침을 제공 할 수 있습니다..
방법 1
이 점을 일련의 점으로 표현할 수 있으며, 정보는 그래프의 표준 형태 = (x1, y1), (x2, y2), ..., (xn, yn).
그래프 = (0,0), (3,0), (3,3), (5,5), (7,10), (8,7), (9,4)
각 점을 하나씩 다른 점으로 구성하고 이전 점에 연결하는 것은 매우 쉽습니다. 그러나 천 점 또는 여러 세그먼트가 모든 방향으로 진행되는 그래프를 상상해보십시오. 이 목록에는 많은 데이터가 포함될 것입니다. 그리고 한 번에 하나씩 하나씩 연결해야하는 것은 고통이 될 수 있습니다..
방법 2
우리가 할 수있는 또 다른 일은 출발점과 그 점과 다음 점 사이의 선의 기울기를 부여하고 표준 형태의 그래프 = (시작점), [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 번"이라고 말하면서 그 것을 줄일 수 있습니다. 변수 'R'이 나타날 때마다 마지막으로 반복하는 것을 의미합니다. 우리는 할 수있어:
그래프 = (0,0), [0, x, 3], [0, y, 3], [1, x, 2], [2.5, x, 2] [R = 2]
개별 점이별로 중요하지 않고 그래프 자체 만 문제가된다면 어떨까요? 마지막 세 섹션을 다음과 같이 통합 할 수 있습니다.
그래프 = (0,0), [0, x, 3], [0, y, 3], [1, x, 2], [2.5, x, 2]
그들이 이전에 있던 것들을 약간 단축합니다..
방법 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 파일은 한 가지 공통점이 있습니다. 둘 다 압축 해제 과정 후에 원본 형식의 데이터를 정확한 형태로 생성합니다. 손실 오디오 코덱은 인간의 귀에 들리지 않는 주파수를 트리밍하고 섹션의 파형을 부드럽게 처리하여 세부 사항을 없애는 등 디스크 공간을 절약하는 다른 수단을 사용합니다. 결국 우리는 MP3와 CD 트랙의 차이점을 실제로들을 수는 없지만 이전에는 분명히 정보의 부족이있었습니다.
데이터 암호화
알고리즘은 데이터 또는 통신 회선을 보호 할 때도 사용됩니다. 디스크 공간을 덜 사용하도록 데이터를 저장하는 대신 다른 프로그램에서는 감지 할 수없는 방식으로 저장됩니다. 누군가 하드 드라이브를 훔쳐서 스캔을 시작하면 데이터가 전달 된 위치가 사라지더라도 데이터 자체가 그대로 남아 있기 때문에 파일을 삭제하더라도 데이터를 가져올 수 있습니다. 데이터가 암호화되면 저장된 내용은 그 자체가 아닌 것처럼 보입니다. 일반적으로 조각화가 시간이 지남에 따라 구축 된 것처럼 무작위로 보입니다. 데이터를 저장하여 다른 유형의 파일로 표시 할 수도 있습니다. 예를 들어 이미지 파일과 음악 파일은 그림이 의심스럽지 않으면 서 꽤 커질 수 있기 때문에 좋은 방법입니다. 이 모든 것은 수학적 알고리즘을 사용하여 수행됩니다. 수학적 알고리즘은 일종의 입력을 받아서 매우 특정한 유형의 출력으로 변환합니다. 암호화가 작동하는 방법에 대한 자세한 내용은 HTG Explains : 암호화 란 무엇이며 어떻게 작동하는지 확인하십시오.?
알고리즘은 컴퓨터 과학에서 다양한 용도를 제공하는 수학 도구입니다. 시작점과 종점 사이에 일관된 방식으로 경로를 제공하고이를 따르는 지침을 제공합니다. 우리가 강조한 것 이상을 알고 있습니까? 의견에 설명을 공유하십시오.!