트레이딩의 머신러닝: 이론, 모델, 실전 및 알고리즘 트레이딩 - 페이지 1800

 
알렉세이 비아즈미킨 :

조합 문제를 푸는 데 도움을 주세요!

N개의 서로 다른 고유한 요소가 있습니다. 한 번에 X개의 요소를 가져와야 하며, 입력 값은 가능한 모든 요소의 조합 수입니다.

이에 대한 공식이나 기능이 있습니까?

입력 함수는 요소가 있는 배열, 조합의 요소 수 및 조합 수를 수신하고 요소의 인덱스가 있는 배열을 출력으로 반환해야 합니다.

도와주세요, 제발!

N에서 X 랜덤을 찾는 것이 더 쉬울까요?
조합 번호로 작업하는 경우 번호 내부에서 이 조합을 빌드해야 합니다.

그리고 엄청난 수의 조합 숫자가 있을 수 있습니다. 예를 들어, 100개 중 10개를 선택하려면 수백만 또는 수십억(어느 정도)이 있을 것입니다. 어떤 조합을 선택할지 어떻게 결정하시겠습니까? 1.2, 158451 또는 5454554 ?

임의의 고유한 것은 찾기가 더 쉬우며 N 중에서 1을 무작위로 선택한 다음 두 번째 등을 선택하십시오. X번째로.
선택할 때 요소가 이미 선택되어 있으면 중복을 건너 뛰고 선택을 반복하십시오. 저것들. X보다 더 많은 시도가 있을 것입니다. 예를 들어, 100개 중 90개를 선택하면 많은 중복 시도가 있을 것입니다.

속도를 위해 N 배열에서 선택한 요소를 버리고 N-1 나머지 요소에서 선택할 수 있습니다. (선택한 요소를 마지막 요소로 변경하고 배열을 1만큼 줄이십시오.) 이런 식으로 정확히 X번 시도하면 X개의 임의 요소를 찾을 수 있습니다. N > 3000개 요소이면 내장형이 아닌 더 복잡한 임의 생성기를 사용하는 것이 좋습니다. 여기에서 무작위 비교.

Как MathRand() генерирует значения?
Как MathRand() генерирует значения?
  • 2010.08.06
  • www.mql5.com
Общее обсуждение: Как MathRand() генерирует значения?
 
알렉세이 니콜라예프 :

맞을지도

또는 Okulov의 교과서 "Programming in Algorithms"에서 "Combinations" 단락을 볼 수 있습니다.

인덱스로 조합을 얻을 수 있는 공식이 있습니까? 적어주시겠어요?

 
발레리 야스트렘스키 :

최적화된 매개변수와 성장 영역, 균형이 무너졌습니다. 최적화가 아니라 균형이 떨어지는 성장대에 대한 유의미한 특성을 뽑아내서 아이디어가 흥미롭지만, 과학에서는 SB가 있는 상태에서 VR의 어떤 특성으로도 어렵거나 불가능하다고 말합니다. 그리고 매트를 찾습니다. 충분한 정확도로 시리즈를 설명하는 모델은 어렵고 어떤 크기의 VR이 필요한지 명확하지 않습니다.

더 대칭적인 조건이 더 정확해 보입니다. 행이 반전될 수 있습니다.

과학은 많은 것을 말할 수 있지만 어떤 잠재력이 있는지 확인하고 시도해야 합니다. 이상적이기는 불가능할 수도 있고 일반적으로 성능을 향상시키기에는 비이상적인 옵션으로도 충분할 것입니다.

 
도서관 :

N에서 X 랜덤을 찾는 것이 더 쉬울까요?
조합 번호로 작업하는 경우 번호 내부에서 이 조합을 빌드해야 합니다.

그리고 엄청난 수의 조합 숫자가 있을 수 있습니다. 예를 들어, 100개 중 10개를 선택하려면 수백만 또는 수십억(어느 정도)이 있을 것입니다. 어떤 조합을 선택할지 어떻게 결정하시겠습니까? 1.2, 158451 또는 5454554 ?

임의의 고유한 것은 찾기가 더 쉬우며 N 중에서 1을 무작위로 선택한 다음 두 번째 등을 선택하십시오. X번째로.
선택할 때 요소가 이미 선택되어 있으면 중복을 건너 뛰고 선택을 반복하십시오. 저것들. X보다 더 많은 시도가 있을 것입니다. 예를 들어, 100개 중 90개를 선택하면 많은 중복 시도가 있을 것입니다.

속도를 위해 N 배열에서 선택한 요소를 버리고 N-1 나머지 요소에서 선택할 수 있습니다. (선택한 요소를 마지막 요소로 변경하고 배열을 1만큼 줄이십시오.) 이런 식으로 정확히 X번 시도하면 X개의 임의 요소를 찾을 수 있습니다. N > 3000개 요소이면 내장형이 아닌 더 복잡한 임의 생성기를 사용하는 것이 좋습니다. 여기에서 무작위 비교.

목표는 흉상입니다. 250,000개의 잎에서 15,000개의 고유한 분할이 얻어졌습니다. 3개의 분할이 있는 잎의 전체 검색은 하나의 대상 값에 대해 제가 생각한 대로 약 250일이 소요됩니다. 분할을 그룹화해야 한다고 생각합니다. 이렇게 하려면 초기 분할을 선택하고 해당 영역에서 활성화된 분할을 찾은 다음 각 결과 그룹을 개별적으로 열거해야 합니다. 이 접근 방식은 조합 수를 크게 줄입니다.

 
알렉세이 비아즈미킨 :

인덱스로 조합을 얻을 수 있는 공식이 있습니까? 적어주시겠어요?

공식이 아니라 알고리즘입니다. Okulov를 보세요. 조금 쉽고 간단합니다.

 
알렉세이 니콜라예프 :

공식이 아니라 알고리즘입니다. Okulov를 보세요. 조금 쉽고 간단합니다.

다운로드하여 살펴보았습니다. 감사합니다!

그들이 그것을 "쉬움"으로 평가했다면 분명히 알아 냈지만 나는 그렇지 않습니다. 프로그래밍 언어가 명확하지 않고 텍스트 설명에 절제된 표현이 있습니다. 자료에 대해 질문해도 될까요?

 
알렉세이 비아즈미킨 :

다운로드하여 살펴보았습니다. 감사합니다!

그들이 그것을 "쉬움"으로 평가했다면 분명히 알아 냈지만 나는 그렇지 않습니다. 프로그래밍 언어가 명확하지 않고 텍스트 설명에 절제된 표현이 있습니다. 자료에 대해 질문해도 될까요?

적당히 하면 물어보세요. 아이디어는 간단합니다. 모든 조합의 배열(2차원)을 만든 다음 숫자로 행(또는 열)을 가져옵니다. 두 가지 옵션 - 배열을 저장하거나 새로 계산할 때마다 (메모리 또는 시간을 절약)

다음은 R의 예입니다.

 # i - номер, n - элементов исходно, k - сколько выбираем из n
i2c <- function (i,n,k) {m <- combn(n,k); m[,i]}

> i2c( 3 , 10 , 5 )
[ 1 ] 1 2 3 4 7
 
알렉세이 니콜라예프 :

적당히 하면 물어보세요. 아이디어는 간단합니다. 모든 조합의 배열(2차원)을 만든 다음 숫자로 행(또는 열)을 가져옵니다. 두 가지 옵션 - 배열을 저장하거나 새로 계산할 때마다 (메모리 또는 시간을 절약)

다음은 R의 예입니다.

어레이는 주기를 통해 구축되며 이는 시간 낭비이며 그다지 적합하지 않습니다. 흥미로운 옵션은 예비 전체 테이블 없이 계산으로 값을 찾는 것입니다.

 
알렉세이 비아즈미킨 :

어레이는 주기를 통해 구축되며 이는 시간 낭비이며 그다지 적합하지 않습니다. 흥미로운 옵션은 예비 전체 테이블 없이 계산으로 값을 찾는 것입니다.

그러한 공식이 있는지 확실하지 않습니다.

 
알렉세이 니콜라예프 :

그러한 공식이 있는지 확실하지 않습니다.

어떤 종류의 알고리즘이 있어야 합니다. 그렇지 않으면 3개 조합의 15,000개 요소에 대해 4테라바이트 동안 메모리에 배열을 유지해야 합니다. 더군다나 1요소에 8비트를 쓴다면 이렇게 계산했습니다.