챌린지 작성 질문이 주제에 관한 메타에 대해 상당히 강력하게 지원됩니다 . 그러나 아직 그런 질문이 없으므로 물을 테스트한다고 생각했습니다. 이 질문은 아마도 좋은 주관적이고 나쁜 주관적인 영역으로 들어가고있을 것입니다 . 그러나 저는 이것이 도전적인 글쓰기 질문 일 것입니다. 그들이 여전히 양질의 콘텐츠를 생성 할 수 있도록 답변에 거친 추측 아이디어를 게시하지 마십시오. 이들이 아래 언급 된 문제를 피하는 이유를 설명하거나 과거에 제안 된 기술을 성공적으로 사용한 기존 과제를 이상적으로 지적하십시오.
특정 최적화 챌린지의 경우 챌린지를 설정하는 데있어 자유 매개 변수는 최적화 할 문제의 크기입니다. "최적화 챌린지"라는 말은 대답이 일반적으로 정확 / 최적화되어야하는 가장 빠른 코드 장르 와 같은 것을 의미하지 않으며 , 챌린지는 고정 된 문제 크기 또는 처리 할 수있는 가장 큰 문제 크기에서 점수가 매겨집니다. 정해진 시간에. 나는 근본적인 문제에 대한 차선책이 허용되고 가능성이 높은 도전을 의미하며 가능한 목표를 달성하는 것이 목표입니다.
명확성을 위해, 바쁜 비버 챌린지를 고려하십시오 . 원칙적으로 이것은 알려진 최적의 솔루션이없는 다른 챌린지 유형에도 적용됩니다 (아래에서 언급 된 문제를 악화시키기 때문에 여기서는 바쁜 비버를 사용하고 있습니다). 가장 바쁜 Brainfuck 비버를 찾는 것에 도전하고 싶었습니다. 바쁜 비버 문제에서 사용 가능한 매개 변수는 코드 크기입니다. 어떤 식 으로든 코드 크기를 참조하지 않고 도전을 설정할 수 없습니다. 어떤 방식으로, 문제 크기 매개 변수의 각 값은 N
별도의 (매우 어려운) 도전을 제공합니다. 내 주요 질문은 문제의 균형을 맞추지 않고 어떻게 도전 과제를 수행 할 수 있는지입니다.
확실한 해결책은 다음과 같이 수정하는 것입니다 N
. " N
가능한 한 많은 문자를 인쇄하고 가능한 한 많은 틱에 대해 실행하는 바이트 소스 코드 로 종료하는 Brainfuck 프로그램을 찾으십시오 ." 이는 대규모 밸런싱 문제가 있습니다 : 내가 너무 작은 크기를 선택하면, 누군가가 신속하게 찾을 수 있습니다 을가장 바쁜 비버와 도전은 끝났습니다. 크기를 너무 크게 선택하면, 최적의 솔루션은 종료하기 전에 천문학적 양의 문자를 인쇄합니다. 즉, 그러한 프로그램을 찾는 것이 사소한 것일 수 있으며 도전이 인내심을 불러 일으키는 과제가됩니다. 바쁜 비버는 프로그래밍 방식으로 찾을 수 있으며, 대신 사람들은 결과를 공식적으로 증명해야합니다. 물론이 문제는 최적의 솔루션의 성장으로 인해 다른 유형보다 바쁜 비버 과제에서 더 두드러 지지만 그럼에도 불구하고 다른 과제에도 적용됩니다.
다음 옵션은 N
제약을받지 않고 일부 기능을 통해 점수의 일부로 만드는 것입니다. "정상적인"도전의 경우에도 종합 점수의 균형을 맞추는 것은 매우 어렵지만, 바쁜 비버의 경우 최적의 솔루션이 N
계산 가능한 기능보다 빠르게 성장한다는 사실 때문에 실제로 근본적으로 불가능 합니다. 즉, N
많은 노력없이 더 나은 점수를 얻을 수 있도록 오랫동안 실행되는 프로그램을 쉽게 찾을 수 있는 충분히 큰 곳으로 가면 항상 기존의 최상의 답변을 이길 수 있습니다.
나는 또한 고정을 설정하고 N
사람들이 더 큰 비버를 제출 N
하여 연속적인 타이 브레이커로 사용될 수 있도록 고려했습니다 . 이것은 비슷한 문제를 가지고 있는데, 누군가가 "동일하게 바쁜 바쁜 비버를 찾는 일"을 할 수 있다는 점 N
에서 동점을 만들고 N
큰 점수를 찾는 것이 더 쉬운 다음 단계를 위해 거의 아무것도 제출하지 않는다는 점입니다. 최적의 점수는 더 어려워집니다). 이 경우 동일한 솔루션을 사용하여 여러 사람을 어떻게 처리 하시겠습니까? 그것이 최적의 경우에는 이상 할 수도 있습니다.
아마도 합리적으로 교육적인 추측을 한 N
다음 5 바이트 내에서 모든 크기의 바쁜 비버를 요구 하여 중간 방향을 공격 할 수 있습니다 N
. 따라서 양방향에 약간의 여유가 있습니다 (그리고 ~ 10 점수 기술별로 하나씩). 나의 초기 추측 N
이 여전히 흥미로운 도전에 대한 범위를 벗어 났기 때문에 이것은 꽤 만족스럽지 않습니다 .
TL; DR : 도전 과제가 크기가 가변적 인 문제를 (최적화 해결하고) 최적화하는 경우, 어떻게 도전 과제에 크기를 통합합니까? 이상적으로는 사람들 N
이 다루기 쉬운 크기 범위의 상단 근처에 있는 값으로 작업 할 수 있기를 바랍니다 . 그러나 그에 대한 최적의 솔루션이 가능하다는 것이 밝혀진 경우 N
약간 더 큰 솔루션 N
이 계량되기 시작하면 문제가 더 흥미로운 문제로 계속 될 수 있습니다.