#!/usr/bin/env python
#####################################################################################################################################################################################################
# Project:       Juniper
# Prototype:     Cascade Correlation Neural Network
# File Name:     constants_candidates.py
# Author:        Paul Calnon
# Version:       0.3.1 (0.7.3)
#
# Date Created:  2025-09-14
# Last Modified: 2026-01-12
#
# License:       MIT License
# Copyright:     Copyright (c) 2025 Paul Calnon
#
# Description:
#    This file contains constants used in the Cascade Correlation Neural Network implementation.
#
#####################################################################################################################################################################################################
# Notes:
#
#####################################################################################################################################################################################################
# References:
#
#
#####################################################################################################################################################################################################
# TODO :
#
#####################################################################################################################################################################################################
# COMPLETED:
#
#
#####################################################################################################################################################################################################
# import numpy as np
# import torch


#####################################################################################################################################################################################################
# Define Default Constants for Candidate Unit
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.00001
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.000025
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.00005
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.000075
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.0001
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.00025
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.0005
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.00075
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.001
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.0015
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.002
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.0025
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.003
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.0035
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.004
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.0045
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.005
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.0055
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.006
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.0065
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.007
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.0075
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.008
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.0085
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.009
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.0095
_PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.01
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.015
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.02
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.025
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.03
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.035
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.04
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.045
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.05
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.055
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.06
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.065
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.07
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.075
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.08
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.085
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.09
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.095
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.1
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.15
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.2
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.25
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.3
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.35
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.4
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.45
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.5
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.55
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.6
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.65
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.7
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.75
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.8
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.85
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.9
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 0.95
# _PROJECT_MODEL_CANDIDATE_UNIT_LEARNING_RATE = 1.0


#####################################################################################################################################################################################################
# Define constants for the Cascade Correlation Network training parameters, Candidate Epochs
# Define Default Constants for Candidate Unit Training Epochs
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 1
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 2
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 3
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 4
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 5
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 6
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 7
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 8
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 9
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 10
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 20
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 30
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 40
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 50
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 60
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 70
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 80
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 90
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 100
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 150
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 200
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 250
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 300
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 350
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 400                               # This is the default value used in the original implementation.
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 450
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 500
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 550
_PROJECT_MODEL_CANDIDATE_EPOCHS = 600
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 650
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 700
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 750                               # This value was used with 100% run
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 800
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 850
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 900
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 950
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 1000
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 1050
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 1100
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 1150
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 1200
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 1250
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 1300
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 1350
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 1400
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 1450
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 1500
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 1550
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 1600
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 1650
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 1700
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 1750
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 1800
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 1850
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 1900
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 1950
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 2000
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 2100
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 2200
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 2300
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 2400
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 2500
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 2600
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 2700
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 2800
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 2900
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 3000
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 3200
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 3400
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 3600
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 3800
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 4000
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 4250
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 4500
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 4750
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 5000
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 5250
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 5500
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 5750
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 6000
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 6250
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 6500
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 6750
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 7000
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 7500
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 8000
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 8500
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 9000
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 9500
# _PROJECT_MODEL_CANDIDATE_EPOCHS = 10000


#####################################################################################################################################################################################################
# Define the constants for the Cascade Correlation Network Model, Candidate Pool Size
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 0
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 1
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 2
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 3
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 5
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 10
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 15
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 20                              # This is the default value used in the original implementation.
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 25
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 30
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 35
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 40
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 45
_PROJECT_MODEL_CANDIDATE_POOL_SIZE = 50  # This value was used with 100% run
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 55
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 60
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 65
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 70
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 75
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 80
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 90
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 100
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 105
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 110
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 115
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 120
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 125
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 130
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 135
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 140
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 145
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 150
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 155
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 160
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 165
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 170
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 175
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 180
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 185
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 190
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 195
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 200
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 205
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 210
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 215
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 220
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 225
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 230
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 235
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 240
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 245
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 250
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 255
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 260
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 265
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 270
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 275
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 280
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 285
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 290
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 295
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 300
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 305
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 310
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 315
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 320
# _PROJECT_MODEL_CANDIDATE_POOL_SIZE = 325


#####################################################################################################################################################################################################
_PROJECT_MODEL_CANDIDATE_EARLY_STOPPING = True
# _PROJECT_MODEL_CANDIDATE_EARLY_STOPPING = False


#####################################################################################################################################################################################################
# Define constants for the Cascade Correlation Network training parameters, Patience -- length of time to wait for improvement before stopping training for candidate units
# The patience is in number of epochs, so a patience of 10 means that if there is no improvement in the error for 10 consecutive epochs, the training will stop.
# NOTE: This value is meaningless if it is greater than or equal to the number of Candidate Training Epochs.
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 0
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 1
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 2
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 3
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 4
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 5
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 6
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 7
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 8
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 9
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 10  # This is the default value used in the original implementation.
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 12
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 15
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 16
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 17
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 18
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 19
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 20
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 25
_PROJECT_MODEL_CANDIDATE_PATIENCE = 30
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 40
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 50                                         # This value was used with 100% run
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 60
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 70
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 75
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 80
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 90
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 100
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 110
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 120
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 130
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 140
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 150
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 160
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 170
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 180
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 190
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 200
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 210
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 220
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 230
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 240
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 250
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 260
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 270
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 280
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 290
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 300
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 310
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 320
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 330
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 340
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 350
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 360
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 370
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 380
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 390
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 400
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 410
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 420
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 430
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 440
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 450
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 460
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 470
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 480
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 490
# _PROJECT_MODEL_CANDIDATE_PATIENCE = 500


#####################################################################################################################################################################################################
# Define the constant for the candidate unit status display frequency
# _PROJECT_MODEL_CANDIDATE_DISPLAY_FREQUENCY = _PROJECT_MODEL_STATUS_DISPLAY_FREQUENCY
# _PROJECT_MODEL_CANDIDATE_DISPLAY_FREQUENCY = 0
# _PROJECT_MODEL_CANDIDATE_DISPLAY_FREQUENCY = 1
# _PROJECT_MODEL_CANDIDATE_DISPLAY_FREQUENCY = 2
# _PROJECT_MODEL_CANDIDATE_DISPLAY_FREQUENCY = 3
# _PROJECT_MODEL_CANDIDATE_DISPLAY_FREQUENCY = 4
# _PROJECT_MODEL_CANDIDATE_DISPLAY_FREQUENCY = 5
# _PROJECT_MODEL_CANDIDATE_DISPLAY_FREQUENCY = 6
# _PROJECT_MODEL_CANDIDATE_DISPLAY_FREQUENCY = 7
# _PROJECT_MODEL_CANDIDATE_DISPLAY_FREQUENCY = 8
# _PROJECT_MODEL_CANDIDATE_DISPLAY_FREQUENCY = 9
_PROJECT_MODEL_CANDIDATE_DISPLAY_FREQUENCY = 10
# _PROJECT_MODEL_CANDIDATE_DISPLAY_FREQUENCY = 20                        # This is the default value used in the original implementation, and was used with 100% run
# _PROJECT_MODEL_CANDIDATE_DISPLAY_FREQUENCY = 30
# _PROJECT_MODEL_CANDIDATE_DISPLAY_FREQUENCY = 40
# _PROJECT_MODEL_CANDIDATE_DISPLAY_FREQUENCY = 50
# _PROJECT_MODEL_CANDIDATE_DISPLAY_FREQUENCY = 60
# _PROJECT_MODEL_CANDIDATE_DISPLAY_FREQUENCY = 70
# _PROJECT_MODEL_CANDIDATE_DISPLAY_FREQUENCY = 80
# _PROJECT_MODEL_CANDIDATE_DISPLAY_FREQUENCY = 90
# _PROJECT_MODEL_CANDIDATE_DISPLAY_FREQUENCY = 100
# _PROJECT_MODEL_CANDIDATE_DISPLAY_FREQUENCY = 110
# _PROJECT_MODEL_CANDIDATE_DISPLAY_FREQUENCY = 120
# _PROJECT_MODEL_CANDIDATE_DISPLAY_FREQUENCY = 130
# _PROJECT_MODEL_CANDIDATE_DISPLAY_FREQUENCY = 140
# _PROJECT_MODEL_CANDIDATE_DISPLAY_FREQUENCY = 150
# _PROJECT_MODEL_CANDIDATE_DISPLAY_FREQUENCY = 160
# _PROJECT_MODEL_CANDIDATE_DISPLAY_FREQUENCY = 170
# _PROJECT_MODEL_CANDIDATE_DISPLAY_FREQUENCY = 180
# _PROJECT_MODEL_CANDIDATE_DISPLAY_FREQUENCY = 190
# _PROJECT_MODEL_CANDIDATE_DISPLAY_FREQUENCY = 200
# _PROJECT_MODEL_CANDIDATE_DISPLAY_FREQUENCY = 250


####################################3################################################################################################################################################################
#  Define the constant for the display frequency in the training loop for the Candidate Unit class
# _PROJECT_MODEL_DISPLAY_FREQUENCY = _PROJECT_MODEL_STATUS_DISPLAY_FREQUENCY
# _PROJECT_MODEL_DISPLAY_FREQUENCY = 1
# _PROJECT_MODEL_DISPLAY_FREQUENCY = 5
_PROJECT_MODEL_DISPLAY_FREQUENCY = 10
# _PROJECT_MODEL_DISPLAY_FREQUENCY = 20
# _PROJECT_MODEL_DISPLAY_FREQUENCY = 30
# _PROJECT_MODEL_DISPLAY_FREQUENCY = 40
# _PROJECT_MODEL_DISPLAY_FREQUENCY = 50
# _PROJECT_MODEL_DISPLAY_FREQUENCY = 60
# _PROJECT_MODEL_DISPLAY_FREQUENCY = 70
# _PROJECT_MODEL_DISPLAY_FREQUENCY = 80
# _PROJECT_MODEL_DISPLAY_FREQUENCY = 90
# _PROJECT_MODEL_DISPLAY_FREQUENCY = 100
# _PROJECT_MODEL_DISPLAY_FREQUENCY = 200
# _PROJECT_MODEL_DISPLAY_FREQUENCY = 300
# _PROJECT_MODEL_DISPLAY_FREQUENCY = 400
# _PROJECT_MODEL_DISPLAY_FREQUENCY = 500
# _PROJECT_MODEL_DISPLAY_FREQUENCY = 600
# _PROJECT_MODEL_DISPLAY_FREQUENCY = 700
# _PROJECT_MODEL_DISPLAY_FREQUENCY = 800
# _PROJECT_MODEL_DISPLAY_FREQUENCY = 900
# _PROJECT_MODEL_DISPLAY_FREQUENCY = 1000
# _PROJECT_MODEL_DISPLAY_FREQUENCY = 2000
# _PROJECT_MODEL_DISPLAY_FREQUENCY = 3000
# _PROJECT_MODEL_DISPLAY_FREQUENCY = 4000
# _PROJECT_MODEL_DISPLAY_FREQUENCY = 5000
# _PROJECT_MODEL_DISPLAY_FREQUENCY = 6000
# _PROJECT_MODEL_DISPLAY_FREQUENCY = 7000
# _PROJECT_MODEL_DISPLAY_FREQUENCY = 8000
# _PROJECT_MODEL_DISPLAY_FREQUENCY = 9000
# _PROJECT_MODEL_DISPLAY_FREQUENCY = 10000
