NEW REPOSITORY SYSTEM, Wheeling Systems Checker 4.x project

« Older   Newer »
  Share  
Giovanni A.
view post Posted on 18/11/2018, 02:37 by: Giovanni A.     +1   -1

Esperto

Group:
Moderatori
Posts:
622
Reputation:
+345

Status:


COVERING TOOLS

La funzione dei covering tools è principalmente quella di provare a migliorare sistemi esistenti che non coprono ancora al 100% (per adesso il programma non è in grado di ridurre un sistema come fa Ininuga tanto per intenderci). E' anche possibile utilizzarli per costruire un sistema da zero (ammesso che il sistema non sia enorme e necessiti quindi di troppa memoria) o completare un sistema esistente.

La schermata che ha messo Gianni in un messaggio precedente in realtà è già della versione 3.8.2, che è ancora in lavorazione, mentre la versione attuale si presenta come l'immagine qui sotto.

png

Come primo esempio, partiamo dal classico 20,10,07,10 i cui record parziali sono consultabili in questo thread https://wheels.forumcommunity.net/?t=47891825

Prendiamo il 27 colonne di Paramini con 1.145 colonne scoperte

01 02 03 05 07 09 11 13 14 16
01 02 03 06 07 09 11 12 17 20
01 02 04 05 07 08 12 13 17 19
01 02 04 06 07 08 14 16 19 20
01 02 06 07 09 10 13 15 18 19
01 02 08 09 10 11 12 15 16 19
01 03 04 05 06 08 10 11 13 20
01 03 04 05 07 10 12 16 18 20
01 03 04 05 09 10 14 17 19 20
01 03 05 06 11 12 14 15 18 19
01 03 11 13 15 16 17 18 19 20
01 04 05 06 08 09 15 16 17 18
01 04 08 09 12 13 14 15 18 20
01 06 07 08 10 11 13 14 17 18
02 03 04 07 08 11 14 15 17 18
02 03 05 08 10 13 14 16 18 19
02 03 06 08 10 12 17 18 19 20
02 04 05 09 10 11 12 13 17 18
02 04 06 09 10 11 14 16 18 20
02 05 06 12 13 14 15 16 17 20
02 05 07 08 09 11 15 18 19 20
03 04 06 08 09 11 12 13 16 19
03 04 07 09 12 14 16 17 18 19
03 05 06 07 08 09 10 12 14 15
03 07 08 09 10 13 15 16 17 20
04 05 06 07 10 11 15 16 17 19
04 07 10 11 12 13 14 15 19 20

Lasciamo il campo "Search depth" = 1 e impostiamo "Max nr. of blocks to generate" a 27, per evitare che il programma aggiunga altre colonne al termine dell'elaborazione.
Clicchiamo poi su Start. Dopo alcuni secondi l'elaborazione termina senza trovare miglioramenti.

png

Stessa cosa provando a impostare "Search depth" = 2.
Ma se mettiamo "Search depth" = 3 ecco che qualcosa succede. Dopo circa 10 minuti le colonne scoperte diventano 1.089 abbassando un parziale che resisteva da tantissimo tempo. L'elaborazione termina dopo circa 40 minuti.

png

Aumentando il valore di profondità della ricerca aumentano gli step che il programma deve fare, allungando di conseguenza i tempi per terminare l'elaborazione, ma in questo caso è servito per trovare un miglioramento.
Le nuove colonne trovate non sostituiscono quelle del sistema esistente ma si aprono in un file temporaneo in blocco note.

Ed ecco le nuove 27 colonne con 1.089 colonne scoperte

01 02 03 05 07 09 11 13 14 16
01 02 03 06 07 09 11 12 17 20
01 02 04 05 07 08 12 13 17 19
01 02 04 06 07 08 14 16 19 20
01 02 06 07 09 10 13 15 18 19
01 02 07 08 10 11 14 15 17 18
01 03 04 05 06 08 10 11 13 20
01 03 04 05 07 10 12 16 18 20
01 03 04 05 09 10 14 17 19 20
01 03 05 06 11 12 14 15 18 19
01 03 11 13 15 16 17 18 19 20
01 04 05 06 08 09 15 16 17 18
01 04 08 09 12 13 14 15 18 20
01 06 08 09 10 11 12 13 16 19
02 03 04 08 09 11 12 15 16 19
02 03 05 08 10 13 14 16 18 19
02 03 06 08 10 12 17 18 19 20
02 04 05 09 10 11 12 13 17 18
02 04 06 09 10 11 14 16 18 20
02 05 06 12 13 14 15 16 17 20
02 05 07 08 09 11 15 18 19 20
03 04 06 07 08 11 13 14 17 18
03 04 07 09 12 14 16 17 18 19
03 05 06 07 08 09 10 12 14 15
03 07 08 09 10 13 15 16 17 20
04 05 06 07 10 11 15 16 17 19
04 07 10 11 12 13 14 15 19 20

Per sistemi composti da migliaia di colonne, o che hanno milioni di colonne integrali, i tempi di elaborazione sono purtroppo molto lunghi. Sto facendo del mio meglio per migliorarli e sicuramente la prossima versione sarà più performante.

In un prossimo post spiegherò come costruire un sistema da zero o completarne uno parziale.

Ciao!
 
Top
251 replies since 17/11/2018, 16:00   47121 views
  Share