Il programma per associare epigrafi a capitoli lo finii diversi giorni fa (v. Epigrafi genetiche) ma inserire i dati veri e propri mi prende molto più tempo (perché è noioso!). Al momento ho inserito solo i primi 11 capitoli.
Come previsto già dal sesto capitolo o giù di lì la soluzione trovata dall’algoritmo genetico perde efficienza rispetto a quella teorica. Intuitivamente è ovvio che se le combinazioni diventano milioni, ma io ne esamino a ogni iterazione solo qualche migliaio, ci vuole un po’ più tempo per trovare una buona soluzione.
In questo caso basterebbe aumentare la popolazione media a ogni generazione e, ovviamente, il numero di queste.
E qui l’informatica entra a gamba tesa per sciuparmi il piacere del risolvere problemi teorici!
Come avevo accennato avevo avuto grandi problemi a configurare NetBeans sul mio calcolatore: non so perché… semplicemente avrebbe dovuto funzionarmi ma non lo faceva…
Così “superai” il problema utilizzando un pacchetto di NetBeans che non necessitava di installazione ma aveva tutte le dipendenze risolte al suo interno.
Ma ora ho un nuovo problema: quando la popolazione cresce così fa anche il consumo di memoria (non preoccupandomi dell’efficienza non sono stato attento a non creare inutilmente nuovi oggetti) poi, periodicamente, dovrebbe attivarsi automaticamente il “Garbage Collector” (GC) che rimuove gli oggetti non più referenziabili e recuperando così la memoria allocata ma non realmente usata.
Per qualche motivo però il GC non si attiva abbastanza alla svelta e così mi viene generato un errore di “memoria esaurita”. Per risolverlo, CREDO, basterebbe aumentare l’allocazione iniziale di memoria che al momento è intorno ai 700Mb, magari raddoppiandola in maniera che una popolazione mediamente di 100.000 entità (combinazioni epigrafi x capitoli) non sia un problema. Tenete presente che proprio per evitarmi queste seccature ho un calcolatore con 64Gb di RAM…
E qui viene il bello: ricordavo che nelle vecchie versioni di NetBeans era possibile inserire dei modificatori, fra cui quelli per la memoria iniziale, per l’interprete Java direttamente nel progetto. È ancora possibile ma non proprio per quei due parametri che voglio modificare io.
Adesso sembra che si debba modificare l’archivio “netbeans.conf” (con cui avevo già preso confidenza nel tentativo di far funzionare la mia normale installazione di NetBeans) ma il problema è che questo è integrato nel pacchetto “tutto compreso” e quindi non lo posso alterare direttamente.
In teoria avrei trovato la maniera per scompattare il contenuto del pacchetto, così potrei modificare l’archivio, e poi con un programma apposito, ricostruire il pacchetto con quell’unica piccola modifica. Ovviamente già mi immagino grane su grane dovute alle tante cose che non conosco e date come sottintese nelle varie documentazioni.
Oltretutto leggendo il “netbeans.conf” c’è esplicitamente scritto che quei parametri che dovrei inserirvi non posso metterli lì… Non so se è un qualcosa del “pacchetto”, semplicemente una “cattiva pratica” o qualcosa di sbagliato o che ho frainteso: ma questo dubbio mi demotiva a perdere tempo nel tentativo di metterci le mani sopra…
A me piace solo divertirmi con gli algoritmi e invece ci sono sempre questi problemi “tecnici”, per me privi di qualunque interesse, che mi fanno perdere una quantità inaudita di tempo.
Perché poi alla fine c’è pure la beffa che il problema sarà sicuramente una sciocchezza: magari chi ci capisce veramente potrebbe mettermi a punto l’installazione in quattro e quattr’otto. Mi immagino che mi direbbe qualcosa del tipo: “Certo JAVA_HOME l’hai impostato bene, ma dalla versione 17, c’è anche JAVA_PROVIDER (nome inventato!) che normalmente coincide con JAVA_HOME ma tu, per qualche motivo, lo hai modificato facendolo puntare a questa vecchia versione di Java incompatibile con NetBeans…”
Per non impazzirci al momento ho semplicemente abbassato i valori medi della popolazione (proporzionali al consumo di memoria) ma nel lungo termine voglio far funzionare una versione “normale” di NetBeans…
Conclusione: che schifo mi fa l’informatica...
Mandato di arresto per Netanyahu
1 ora fa
Nessun commento:
Posta un commento