C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
분야별 포럼
C++빌더
델파이
파이어몽키
C/C++
프리파스칼
파이어버드
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

자유게시판
세상 살아가는 이야기들을 나누는 사랑방입니다.
[12371] 지리 정보 시스템에 대해...
김상면 [windyboy] 2171 읽음    2006-11-11 22:19
음....
제가 얼마전에 지리정보 시스템에 대해서 질문을 드렸습니다.
답변에 다익스트라 알고리즘이 있다고 하신 분도 있고...
일일히 하나하나 순차 검색을 한다고 하신분도 있는데....
제 성격상 완벽한 답변이 안나오면 제 주위에 있는 사람을 애먹이는 스타일이라서...
제 주위에 잘 아는 고수를 달달 뽁았습니다.

그러다가 A*알고리즘을 알게 되었습니다.
기본적인 탐색 방법은 다익스트라와 비슷한데...
인공 지능을 이용한다는 점이 다르더군요...
덕분에 자료량이 다익스트라의 3배 정도 많고요...

자 이제 서두를 말씀 드렸으니...
알맹이를 말씀드려야 겠지요...
흐....

다익스트라 알고리즘은 현재 까지 노드의 거리 합에서 다음 노드까지 거리를 이용해서 최단 거리를 계산하지만...
A*알고리즘은 현재까지 경로(거리)의 합과 다음 노드에서 목표 노드까지 직선 거리의 합으로 최단거리를 계산합니다.
       현재 노드까지 경로 비용 + 다음 노드(후보 노드)에서 목표 노드까지 직선 거리 = 평가 비용
       이 평가 비용이 가장 적은 노드를 선택 해 나가면 최단 경로가 구해 짐니다.

구체적인 알고리즘 설명은 아직 능력이 부족하여 답을 못드리고......
이쯤 설명하면 다익스트라 알고리즘을 아는 분이면 쉽게 이해가 가능하리라 생각합니다.

아!
이제 겨우 머리속에 넣고는 있지만 설명을 잘 못하니... 프로그램으로 구현은 어케 하나...

그리고 질문이라고 그러긴 좀 그런대... 이건 C++구현해서 팔아 먹으면 얼마나 받아 먹을 수 있을까요...
크크크크크크....
모든것을 돈으로 연결시키는 이 천부적인 돈탐... 대단하다 대단해 그려...
그럼
태즈 [taz1000]   2006-11-12 02:40 X
지리정보 시스템은 생각보다 많은 고려사항이 있습니다. 순수하게 알고리즘을 개선시키는 것도 하나의 접근방법이 되겠지만, 이것은 필요한 모든 데이타가 램에 올라와있는 이상적인 상태에서의 개선이 되겠죠. 실제 지도시스템이라고 하면 NAND나 SD에 1~2기가 바이트의 지도정보가 담겨있습니다. 지도데이터를 제공하는 업체가 정한 포맷을 따르겠죠. 이것을 64MB 정도로 적은 램에서, NAND 나 SD라는 아주 느린 저장공간에 있는 데이터를 가져와서 처리를 하기 위해서는 계산 알고리즘 뿐만이 아니라, 데이터 스트럭쳐 등에 대한 고민까지 필요로 하게 됩니다.  말씀드렸듯이 길을 찾는 알고리즘은 지도데이터와도 아주 밀접하게 연관되어 시스템 퍼포먼스에 영향을 줍니다. 그렇기 때문에, 맵데이터에 대하여 어떻게 접근하고 읽어올지 등에 대한 해답이 없이 '이러이러한 알고리즘이 좋다'라는 것은 실무적인 측면에서는 어필하기가 쉽지 않겠죠. 시스템/제품이라는 큰 그림에서 보았을때  업체들에게 매력이 있는 프로그램을 만들려면 좀 더 많은 것들까지도 고민을 해야할 것 같습니다....
김상면 [windyboy]   2006-11-12 17:53 X
감사합니다.

+ -

관련 글 리스트
12371 지리 정보 시스템에 대해... 김상면 2171 2006/11/11
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.