유전자 알고리즘에서 일부 비트가 동일한 염색체의 다른 비트보다 중요성이있는 방식으로 염색체를 인코딩하는 것이 좋습니까? 예를 들어 (인덱스 % 2 == 0)/(2,4,6, ..) 비트는 (인덱스 % 2! = 0)/(1,3,5, ..) 비트보다 더 중요합니다. 예를 들어 비트 2의 범위가 [1,5] 인 경우 비트 3의 값을 고려하고 비트 2의 값이 0이면 비트 3의 값이 적용되지 않습니다.GA 중요도가 다른 비트가있는 염색체 표현
예를 들어 학교에서 제공하는 여러 과목이 있고 다음 학기에 어떤 과목을 제공해야하는지, 그리고 어떤 과목을 제공해서는 안되는지, 그리고 어떤 과목이 다음과 같은 그 과정을 가르치며 가르 칠 때 가르쳐야합니다. 따라서 문제를 나타내는 한 가지 방법은 길이 2n의 벡터를 사용하는 것입니다. 여기서 n은 코스 수입니다. 각 과정은 2- 튜플 (누가, 언제)으로 표시되며, 과정을 언제 가르쳐야하는지, 누가 가르쳐야하는지. i 번째 위치의 튜플은 i 번째 코스의 할당을 유지합니다. 이제 누가 교사용 ID가 가능한지, 가능한 값은 모든 가능한 시간에 0을 더할 수 있습니다. 0은 즉시 제공되지 않아야한다는 것을 의미합니다.
이제 동일한 적합성을 가진 두 개의 다른 튜플을 갖는 것이 좋습니까? 예를 들어, (3,0)과 (2,0)은 i 번째 코스의 값이 다르지만 같은 것을 의미합니다.이 코스는 누가 = 0인지에 대해 신경 쓰지 않기 때문에 제공되어서는 안됩니다. 또는 0을 추가하여 0을 가르치면 아무도 가르치지 않으며 튜플이라 함은 값이 (0,0) 인 경우에만 해당 코스를 제공해서는 안된다는 것을 의미합니다. 하지만 (0, v)와 (v, 0)은 어떨까요? 여기서 v> 0입니까? 이 과정을 제공해서는 안된다는 의미로 간주해야합니까? 이걸로 도움이 필요해.
답장을 보내 주셔서 감사합니다. GA에 대한 경험으로 내 질문의 두 번째 부분에 대한 제안을 할 수 있습니까? 만약 내가 (언제, 누가) 어떻게이 코드를 제공해서는 안되는지도? 가능한 모든 시간 +0을 취할 수있는 경우 즉각적인 의미는 아닙니다. 그리고 가능한 모든 교사 ID + 0을 취할 수있는 사람은 아무도 없습니다. 그렇다면 (0,0)은이 과정을 제공하지 말아야 함을 의미합니다. 하지만 예를 들어 (0,3) 또는 (9,0)을 얻는다면 이것들을 (0,0)과 동일하게 간주해야합니까? 이는 과정을 제공해서는 안된다는 것을 의미합니다. – Evan
다른 인코딩은 GA 염색체가 가변 길이가되도록하는 것입니다. 하나의 염색체는 하나의 코스가 표현되는 (코스 ID, 누가 언제), 가능한 모든 시간을 가질 수 있는지 그리고 가능한 모든 교사 ID를 언제 취할 수 있는지에 따라 여러 코스로 구성됩니다. 그러나이 경우 하나의 염색체에 코스가 중복되면 어떻게 될까요? 어떻게 처리해야합니까? – Evan
질문에 대한 답변을 더욱 자세히 시도했습니다. – OnABauer