나는 헝가리 반지 퍼즐에 대한 인정 가능한 발견법을 찾는 데 어려움을 겪고있다. IDA * 알고리즘을 사용하여 Visual Basic에서 프로그램을 작성하고 작성하려고합니다. 내가 부족한 것은 실제 퍼즐을 푸는 방법입니다. 왼쪽 및 오른쪽 링을 자체 배열에 구현했으며 각 링을 시계 방향 및 반 시계 방향으로 회전시키는 기능을 가지고 있습니다. 나는 코드를 요구하지 않고 시작하기위한 어딘가에있다. 레드 값 = 1 노란색 = 2 블루 = 3 블랙 = 4헝가리 반지 퍼즐
이 : 나는 각 색상의 값으로 다음을 저장, 배열에서Dim leftRing(19) As Integer
' leftRing(16) is bottom intersection and leftRing(19) is top intersection
Dim rightRing(19) As Integer
' rightRing(4) is top intersection and rightRing(19) is bottom intersection
: 여기
은 2 링 배열입니다
몇 가지 작업을 보여줍니다. 당신은이 알고리즘을 사용하기를 원한다고 말합니다 - 그것의 일부분에 대한 의사 코드를 알아 냈습니까? –
"왼쪽 및 오른쪽 링을 모두 자체 배열에 구현했습니다"라는 코드를 표시하면 훨씬 쉽게 응답 할 수 있습니다. 그리고 VB6에 대해 확신합니까? VS201x Express는 무료로 다운로드 할 수 있습니다. –
주요 문제는 프로그램의 휴리스틱 스를 시작할 때 어디에서 시작해야 할지를 모르는 것입니다. 내가 출발점을 얻을 수 있다면 거기에서 갈 수 있습니다. 내가 가지고있는 것은 단지 경험적 방법을 사용하지 않고 퍼즐을 풀 수있는 기본적인 아이디어 일뿐입니다. 기본적으로 10 개의 빨간 공을 왼쪽 링으로 분리 한 다음 10 개의 검은 공을 오른쪽 링으로 분리하고 올바른 순서가 될 때까지 노란색과 블루스를 섞어서 일치시킵니다. –