카테고리 (177) 썸네일형 리스트형 [로봇내비게이션 강의정리] Shortest path Algorithm 다익스트라 알고리즘 다익스트라 알고리즘은 각 노드에서 모든 노드로 가는 최단경로를 알 수 있는 알고리즘이다.(계산을 통해서) 1) A노드를 방문하면 A의 이웃노드들 업데이트( O~B, O~C ) 2) 업데이트 후 이웃 노드들까지 가는 비용을 원래 알던 값과 비교하여 priority queue에 push한다. 3) priority queue에서 pop하고, pop된 노드는 src노드에서 해당 노드까지 최단경로가 확정된 것이다. 이 상태에서 다시 1번으로 돌아가 반복한다. 의사코드는 다음과 같다. 목적지가 주어지지 않고 모든 노드에 대해서 비용을 다 계산하는 케이스. 여기서 while문 안에 있는 u는 priority queue에서 pop해서 나온 노드를 말한다. 여기서 if dist[u] = infinit.. [시프 강의정리] unix system overview Unix는 multi-user system 이다. 따라서 시스템을 이용하기전에 user ID, user PW를 입력하고 로그인해야 이용가능하다. unix는 기본적으로 command line interface를 사용하는데 이 때 사용하는게 shell 이다. file, directory : file을 관리하기 위해 체계적인 계층적 시스템이 필요했는데 그게 바로 directory와 file들이다. ex) /home/obama : directory와 file을 둘 다 알 수 있다. 그리고 가장 최초의 /는 root/ 를 의미한다. pwd : print working directory cd : change directory cd /usr/bin : root/usr/bin 으로 이동하는데 이런 방식의 path를 절.. [로봇내비게이션 강의정리] Map representation 개념정리 테이블 Metric navigation 맵의 모든 장애물의 좌표를 정확한 좌표로써 나타내고 메모리에 저장하는 방식. Topological navigation 노드와 링크로 맵을 구성. 노드와 링크간의 거리정보, 맵정보를 다 저장한다. 맵의 메모리는 metric 방식에 비해 상당히 줄어든다. Hybrid navigation metric, topological방식의 각각의 장점을 모아서 맵을 표현한 방식이다. node-link로 맵을 표현하다가 필요할 때마다 Metric navigation 방식을 가져와서 사용하는 식. closed-world assumption 맵의 장애물들을 최대한 간단히 나타내서 맵을 구성하는 메모리를 줄이는 방식. 맵을 선으로 표현한다. 맵을 grid기반 맵으로 나타냈을 때,.. [캡스톤 강의정리] 2주차 보호되어 있는 글입니다. [딥러닝 정리] 개념정리, 딥러닝의 활용 보호되어 있는 글입니다. [C/C++] 배열과 벡터 속도차이 비교 테스트 백준문제를 풀다가 배열복사와 벡터복사의 속도차이가 궁금해져서 테스트를 해보았다. 각각 100 x 100 짜리 이차원 배열, 벡터를 만들어서 1000번씩 복사하는 작업을 수행하고 시간을 재서 속도차이를 비교해보았다. 다음과 같이 테스트소스를 구성하였다. // 배열복사와 벡터복사 속도차이 비교하는 중이었는데 벡터가 훨씬 느리다. #include #include #include using namespace std; #define N 100 int main() { // 100x100 arr int arrOrg[N][N] = { 0 }; clock_t start = clock(); int arr[N][N]; for (int k = 0; k < 1000; k++) { for (int i = 0; i < N; i++.. [git 개념] pull, fetch, checkout, HEAD 개념정리 pull : 원격저장소의 내용을 가져와서 local 저장소와 merge시키는 것(합쳐버린다). merge 시키기 때문에 어디 brach로 가져올 것인지 지정해야 한다. fetch : 원격저장소의 내용을 가져오지만, local 저장소와 merge 시키지는 않는것. 즉, 신중하게 가져와서 merge시키고 싶을때 사용하는 명령어다. checkout : 내가 사용한 브랜치, 혹은 커밋내역을 지정하는 것. 소스트리에서는 내가 사용할 브랜치(혹은 커밋내역)을 더블클릭하면 그쪽으로 이동하고 HEAD가 그것을 가리키게 된다. HEAD : 포인터. 현재 작업중인 브랜치를 가리키는 포인터다. [Mat, Ptr] ptr함수 사용법 예시1) Mat이 1채널인 경우 int main(int argc, const char** argv) { Mat A(3, 3, CV_32F); for (int i = 0; i < A.rows; i++) { float* ptrA = A.ptr(i);//ptr는 선언하면서 행렬의 row의 시작주소를 할당한다. for (int j = 0; j < A.cols ; j++) { ptrA[j] = i * A.cols + j;// row안에 원소에 접근하는 법은 행렬의 원소에 접근하는 법과 동일 } } cout 이전 1 ··· 15 16 17 18 19 20 21 ··· 23 다음