Algoritmo per combinare gli intervalli di un segmento - aiuta a creare - pagina 8

 

@Dmitry Fedoseev , continuo a testare lo script, ci sono soluzioni del genere:

 2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       Вариант 0 - - 100000000 - 15000 45000 - 65000 97878 - 115454 135000 - 185000 
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       Вариант 1 - - 100000000 - 18923 45000 - 65000 97878 - 115454 135000 - 185000 
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       Вариант 2 - - 100000000 - 14496 45000 - 65000 97878 - 115454 135000 - 185000 
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       Вариант 3 - - 100000000 - 12256 14400 - 1500000 
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       Вариант 4 - - 100000000 - 11130 14400 - 1500000 
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       Вариант 5 - 0 - 10000 10000 - 100000000 
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       Вариант 6 - 900 - 12800 14400 - 1500000 
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       Вариант 7 - 1439 - 15000 45000 - 65000 97878 - 115454 135000 - 185000 
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       Вариант 8 - 5000 - 10000 10000 - 100000000 
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       Вариант 9 - 6400 - 12800 14400 - 1500000 
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       Вариант 10 - 8900 - 14400 14400 - 1500000 
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       Вариант 11 - 9500 - 10000 10000 - 100000000 
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       Вариант 12 - 9500 - 10000 10000 - 100000000 
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       Вариант 13 - 8900 - 14400 14400 - 1500000 
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       Вариант 14 - - 100000000 - 18923 45000 - 65000 97878 - 115454 135000 - 185000 
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       Вариант 15 - - 100000000 - 18923 45151 - 62727 97878 - 115454 135000 - 185000 
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       Вариант 16 - - 100000000 - 18923 45000 - 65000 97878 - 115454 135000 - 185000 
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       Вариант 17 - - 100000000 - 18923 45000 - 65000 97878 - 115454 135000 - 185000 
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       Вариант 18 - - 100000000 - 18923 45000 - 65000 97878 - 115454 145000 - 185000 
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       Вариант 19 - - 100000000 - 18923 45000 - 65000 97878 - 115454 146470 - 180588 

Perché non c'è qualcosa del genere:

 900 - 12800 45000 - 65000 97878 - 115454 135000 - 185000

Ecco tutti i valori dell'array:

 2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)                   [, 0 ]       [, 1 ]
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 0 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 1 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 2 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 3 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 4 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 5 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 6 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 7 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 8 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 9 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 10 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 11 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 12 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 13 ,] - 100000000        18923
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 14 ,] - 100000000        14496
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 15 ,] - 100000000        12256
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 16 ,] - 100000000        11130
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 17 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 18 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 19 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 20 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 21 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 22 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 23 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 24 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 25 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 26 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 27 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 28 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 29 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 30 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 31 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 32 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 33 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 34 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 35 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 36 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 37 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 38 ,] - 100000000        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 39 ,]           0        10000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 40 ,]           0        10000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 41 ,]           0        10000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 42 ,]         900        12800
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 43 ,]       1439        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 44 ,]       1439        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 45 ,]       1439        15000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 46 ,]       5000        10000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 47 ,]       6400        12800
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 48 ,]       8900        14400
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 49 ,]       8900        14400
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 50 ,]       8900        14400
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 51 ,]       9500        10000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 52 ,]       9500        10000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 53 ,]       9500        10000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 54 ,]       9500        10000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 55 ,]       9500        10000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 56 ,]       9500        10000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 57 ,]       10000    100000000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 58 ,]       10000    100000000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 59 ,]       10000    100000000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 60 ,]       10000    100000000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 61 ,]       10000    100000000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 62 ,]       10000    100000000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 63 ,]       14400      1500000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 64 ,]       14400      1500000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 65 ,]       14400      1500000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 66 ,]       45000        65000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 67 ,]       45000        65000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 68 ,]       45000        65000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 69 ,]       45151        62727
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 70 ,]       97878      115454
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 71 ,]     135000      185000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 72 ,]     135000      185000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 73 ,]     135000      185000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 74 ,]     135000      185000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 75 ,]     145000      185000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 76 ,]     145000      185000
2021.05 . 01 03 : 09 : 44.629 Q_Podbor_03L (Si- 3.21 ,M5)       [ 77 ,]     146470      180588
 
Aleksey Vyazmikin:

@Dmitry Fedoseev, continuo a testare lo script, ci sono queste soluzioni:

Ma perché non ce n'è uno così, per esempio:

Ecco tutti i valori dell'array:

Perché...

Perché c'è una variante con lacune più piccole. Prendete un segmento, dal suo bordo guardate quali segmenti partono da esso, se non ce ne sono che partono esattamente da esso, allora cercate il più vicino.

Il compito era quello di attraccare, e se non c'è un attracco, allora prendere quello più vicino.

 
Dmitry Fedoseev:

Perché...

Perché c'è un'opzione con lacune più piccole. Prendiamo un segmento, dal suo bordo guardiamo quali segmenti partono da esso, e se non ci sono segmenti che partono esattamente da esso, cerchiamo il più vicino.

L'obiettivo era quello di attraccare, e se non c'è un attracco, allora prendere il più vicino.

Grazie per il chiarimento!

Nel processo di realizzazione di un'idea, emergono sempre delle sfumature che era difficile prendere in considerazione subito.

 
Al momento, ho scelto la combinazione puramente sulla base delle sue dimensioni - più segmenti ci sono, meglio è. Non è l'ideale, ma anche questo dimostra che questo metodo può aumentare la redditività del modello di circa il 30%, il che è generalmente incoraggiante.
 
Aleksey Nikolayev:
Forse può essere risolto in termini di teoria dei grafi. I vertici di un grafico sono segmenti e le frecce del grafico collegano ogni vertice con tutti i possibili successivi (i segmenti più vicini possibili). Ogni vertice e freccia è segnato con dei pesi e viene definita una regola con la quale si conta il peso di ogni percorso. Viene applicato un algoritmo per trovare il percorso ottimale nel grafico. Non sono pronto ad approfondire la questione)

O forse un albero multidimensionale. O un algoritmo di ray-tracing. Algoritmo BSP in proiezione. Barin stabilisce un compito interessante, per mettere a dura prova il vostro cervello.