일부 논리 조언을 찾고 있습니다. 시작 상태에서 종료 상태로 전환하기 위해 깊이 검색을 실행하고 있습니다. 나는 깊이> 0에서 소스 노드를 포함하는 각 노드에서 가능한 모든 동작을 확장하려고합니다 (이것이 문제입니다). 나는 이전 상태를 저장하고 확장하지 않기위한 조건으로 포함 해 보았습니다. 그러나 이는 또한 다른 확장 분기가이 상태를 통과하는 능력을 무
폭 넓은 첫 번째 검색과 반복적 인 심화 검색에 관련된 문제가 있습니다. 나무에 대한 검색 메커니즘을 이해하지만 그리드 및 기하학적 모양에 적용하는 방법을 이해하지 못합니다. BFS (폭 넓은 첫 번째 검색)를 수행하고 싶다면 어떻게하면이 조각을 움직여서 오른쪽에있는 사각형에 완벽하게 맞출 수 있는지이 문제에 적용 할 수 있습니다. 제 시도는 먼저 두 조각
좋아요, 우선, 나는 반복되는 심화로 무엇을하고 있는지 알지 못합니다. 나는이 코드를 작동 시키려고 노력하고 있었지만 그렇게 할 수는 없다. 온라인에서 보았고 C++에서이 검색에 대한 참조를 찾을 수 없습니다. void Graph::IDS(int x, int required, int depth = 1)
{
if(x == required) retu
저는 반복적 인 심화 검색을 Java로 구현하려고했습니다. 그러나 어떤 이유로 모든 노드가 방문 중이므로 잘못된 결과가 발생합니다. public int IDS(Node start, Node goal){
int depth = 0; //set starting depth to 0
Node current=start; //current node
점과 박스를 재생하는 프로그램을 작성 중이며 반복 심화 체계에서 휴리스틱 값을 기반으로 알파 베타에서 고려한 동작을 정렬하여 시간 효율성을 높이고 싶습니다. 본질적으로, 나는 검색 트리에 들어가서 각 반복마다 깊이를 증가시키고 alphaBeta로 각 노드를 평가하려고합니다. 각각의 연속 반복에서 노드를 고려하는 순서는 이전 반복의 노드의 경험적 값에 의해
반복적 인 검색 기법에 관한 질문이 있습니다. 제 질문은 특정 심도 한계가없는 일반적인 심도 우선 검색과 반복 심화의 차이점은 무엇입니까? 따라서 목표 노드가있는 트리가 있지만 반복 검색에 지정된 제한이 없습니다. 이것이 정규 깊이 우선 검색을 수행하는 것과 동일한 순회 시퀀스를 출력합니까?
왜 A *가 IDA *를 능가하는지 이유를 알 수 없습니다. 저의 연구원은 그 이유는 초기 (근원에 가까운) 노드가 f- 한도에 도달 한 후에 IDA * 백 트랙으로 재검색 되었기 때문이 아니라 오히려 A *가 열림 및 닫힌 목록을 유지하여 주어진 상태는 트리를 통해 여러 번 탐색되지 않지만 IDA *에서는 트리의 주어진 노드에 대한 경로가 여러 개있는 경
반복적 인 심화 (증분 트리 구축)를 구현하고 싶습니다. 나는 시간 invokeAny()에 대해 읽은 것을에서 ExecutorService executorService = Executors.newSingleThreadExecutor();
Set<Callable<Integer>> callables = new HashSet<Callable<Int
전체 트리를 구문 분석하고 검색 쿼리와 일치 할 수있는 모든 결과를 찾아서 모두 검색 알고리즘을 가지고 있습니다. 알고리즘의 핵심은 아니라는 것을 알고 있습니다. 그러나 폭넓게 첫 번째와 깊이있는 첫 번째 검색을 통해이를 테스트하여 가장 빠른 것을 확인합니다. 다른 두 검색은 의도 한대로 작동하지만 DFID 검색에 대한 목표와 동일한 검색 정보를 입력하면