개인 재정 알고리즘으로 추상 기계 사용하기 - 더미

알고리즘으로 추상 기계 사용하기 - 더미

비디오: 컴퓨터는 추상적으로 돌지 않는다 2024

비디오: 컴퓨터는 추상적으로 돌지 않는다 2024
Anonim

알고리즘에 필요한 작업이 많을수록 복잡해집니다. 복잡성은 각 작업에 시간이 걸리기 때문에 시간 사용량 측면에서 알고리즘 효율을 측정 한 것입니다. 복잡한 알고리즘은 더 많은 시간이 필요하기 때문에 같은 문제가 주어지면 복잡한 알고리즘은 일반적으로 간단한 알고리즘보다 덜 유리합니다.

의료 또는 금융 분야 나 비행기 또는 우주 로켓의 자동 조종사로 비행하는 경우와 같이 실행 속도가 차이가 나는 경우를 생각해보십시오. 알고리즘의 복잡성을 측정하는 것은 어려운 작업이지만 올바른 솔루션을 원한다면 필요한 작업입니다. 첫 번째 측정 기술은 RAM (Random Access Machine)과 같은 추상 기계를 사용합니다.

RAM은 컴퓨터가 프로그램을 실행할 때 사용하는 내부 메모리 인 Random-Access Memory의 약자입니다. 동일한 머리 글자 어를 사용하더라도 Random-Access Machine은 완전히 다른 무언가입니다.

추상 기계는 실제 컴퓨터가 아니라 이론적 인 컴퓨터로, 컴퓨터는 기능 상 상상할 수 있습니다. 추상 머신을 사용하여 실제로 테스트 할 필요없이 알고리즘을 컴퓨터에서 얼마나 잘 사용할 수 있을지 생각해보십시오.하지만 사용하려는 하드웨어 유형에 구속을받습니다. RAM 컴퓨터는 기본적인 산술 연산을 수행하고 메모리의 정보와 상호 작용합니다. RAM 컴퓨터가 모든 작업을 수행 할 때마다 시간 단계 (시간 단위)가 필요합니다. RAM 시뮬레이션에서 알고리즘을 평가할 때 다음 절차를 사용하여 시간 단계를 계산합니다.

각각의 간단한 연산 (산술 연산)을 시간 간격으로 계산합니다.
  1. 복잡한 연산을 간단한 산술 연산으로 나누고 1 단계에서 정의한 시간 단계를 계산합니다.
  2. 메모리에서 모든 데이터 액세스를 한 번 단계로 계산합니다.
  3. 이 계산을 수행하려면 의사 코드 버전의 알고리즘을 작성하고 종이와 연필을 사용하여 이러한 단계를 수행합니다. 결국 컴퓨터가 작동하는 방식에 대한 기본적인 아이디어를 기반으로 한 간단한 접근 방식으로, 하드웨어의 성능과 속도 또는 사용하는 프로그래밍 언어에 관계없이 솔루션을 비교하는 데 유용한 근사값입니다.

표준 및 사전 정의 된 입력을 사용하기 때문에 시뮬레이션을 사용하는 것은 컴퓨터에서 알고리즘을 실행하는 것과 다릅니다. 실제 컴퓨터를 측정하려면 코드를 실행하고 코드를 실행하는 데 필요한 시간을 확인해야합니다. 컴퓨터에서 코드를 실행하는 것은 실제로는 효율성 측정의 또 다른 형태 인 벤치 마크입니다. 응용 프로그램 환경 (예: 사용 된 하드웨어 유형 및 소프트웨어 구현)도 고려해야합니다.벤치 마크는 유용하지만 일반화가 부족합니다. 예를 들어, 최신 하드웨어가 이전 컴퓨터에서 오래 걸린 알고리즘을 신속하게 실행할 수있는 방법을 생각해보십시오.
알고리즘으로 추상 기계 사용하기 - 더미

편집자의 선택

JavaScript에서 HTML 양식 요소에 액세스하는 방법 - 다른 HTML 요소와 마찬가지로

JavaScript에서 HTML 양식 요소에 액세스하는 방법 - 다른 HTML 요소와 마찬가지로

자바 스크립트에서 HTML5 요소와 직접 상호 작용할 수 있습니다. 트릭은 선택한 요소가 지원해야하는 브라우저 및 플랫폼에서 작동하는지 확인하는 것입니다. 이 예제에서는 및 태그를 다음과 같은 솔루션의 일부로 사용하는 방법을 보여줍니다.

CSS 값 정의에 대한 빠른 가이드 구문 - 인형

CSS 값 정의에 대한 빠른 가이드 구문 - 인형

W3C (World Wide Web Consortium)에서 모든 CSS 속성의 구문과 가능한 값을 정의합니다. 정의를 가능한 한 정확하게 만들기 위해 W3C는 CSS 값 정의 구문이라는 공식 시스템을 사용합니다. 정의 구문은 가능한 값을 매우 정확하게 정의하지만 CSS 값 정의 구문을 읽는 중 ...

JavaScript로 동적 HTML 요소를 작성하는 방법 - 더미

JavaScript로 동적 HTML 요소를 작성하는 방법 - 더미

모든 페이지에 대한 특수 효과는 페이지에 동적 HTML 변경 기능을 제공하는 것입니다. 예를 들어 다음 예제와 같이 선택한 요소에 특수 효과를 만들 수 있습니다. function ChangeStyles (event) {// 요소에 대한 참조를 얻습니다. var ThisElement ...

편집자의 선택

Excel 2013 통합 문서의 변경 내용 수락 또는 거부 방법 - 변경 내용 추적을 설정하면 더미

Excel 2013 통합 문서의 변경 내용 수락 또는 거부 방법 - 변경 내용 추적을 설정하면 더미

Excel 2013 통합 문서의 경우 리본의 검토 탭에있는 변경 내용 추적 명령 단추의 드롭 다운 메뉴에서 Alt / RGC를 눌러 변경 내용 적용 / 거부 옵션을 선택하여 수락 또는 거부 할 변경 내용을 결정할 수 있습니다. 이렇게하면 Excel이 강조 표시된 모든 변경 내용을 검토합니다 ...

Excel에서 셀에 설명을 추가하는 방법 2016 - 문자

Excel에서 셀에 설명을 추가하는 방법 2016 - 문자

Excel 2016 워크 시트의 특정 셀에 주석을 달 수 있습니다. 댓글은 스티커 메모의 전자 팝업 버전과 유사합니다. 셀에 주석을 추가하려면 다음과 같이하십시오. 셀 포인터를 이동하거나 주석을 추가 할 셀을 클릭하십시오. 새 주석을 클릭하십시오.

Excel 피벗 테이블에 계산 된 필드를 추가하는 방법 - 더미

Excel 피벗 테이블에 계산 된 필드를 추가하는 방법 - 더미

피벗 테이블 내부의 값을 계산합니다. 계산 된 필드 및 항목을 표에 추가 할 수 있습니다. 계산 된 필드를 추가하면 새로운 행이나 열을 피벗 테이블에 삽입 한 다음 수식을 사용하여 새 행이나 열을 채울 수 있습니다. 예를 들어 다음과 같이 나타납니다.

편집자의 선택

포토샵 CS6에서 히스토리 기능으로 채우기를 사용하는 방법 - 더미

포토샵 CS6에서 히스토리 기능으로 채우기를 사용하는 방법 - 더미

채우기 Adobe Photoshop의 기능 Creative Suite 6는 선택을 원할 때 유용합니다. 특정 상태로 바꿀 영역을 쉽게 선택할 수 있으면 기록으로 채우기 기능을 사용할 수 있습니다. 특정 이미지에서 하늘이 마음에 들지 않는다고 가정 해보십시오. 선택한 항목 ...

Photoshop CS6에서 패싯 필터를 사용하는 방법 -

Photoshop CS6에서 패싯 필터를 사용하는 방법 -

Photoshop CS6의 이미지는 먼지와 스크래치를 줄이거 나 날카로운 모서리를 부드럽게하는 것입니다. 패싯 필터는 포스터 라이징 효과를 사용하여 이미지를 분할합니다. Photoshop CS6에서 이미지를 흐리게 처리하려는 한 가지 이유는 먼지 및 스크래치를 줄이거 나 밝기를 비슷하게하는 픽셀 블록을 모아서 기하학적 모양을 사용하여 단일 값으로 변환하기 때문입니다.

Photoshop CS6에서 손 도구 사용 방법 - 인형

Photoshop CS6에서 손 도구 사용 방법 - 인형

Photoshop CS6 손 도구는 이미지 문서에서 빠르게 이동하고 스크롤 막대와 유사하게 작업하여 작업을보다 신속하게 수행 할 수 있습니다. 손 도구는 손 도구를 클릭 할 필요가 거의 없기 때문에 실제 도구보다 기능이 더 많습니다. 간단히 ...