var searchIndex = {}; searchIndex["genetic_planner"] = {"doc":"","items":[[0,"genetic","genetic_planner","",null,null],[3,"Individual","genetic_planner::genetic","Rappresent a candidate solution for the problem",null,null],[12,"genes","","",0,null],[3,"Population","","A set of Individuals",null,null],[12,"individuals_and_scores","","Contains set of Individual and the relative score",1,null],[12,"configuration","","Contains the configurations used to create the Population",1,null],[12,"generation","","Rappresent the generation of the Population",1,null],[3,"PopulationConfiguration","","Rappresent the configuration associated to a Population",null,null],[12,"fitness","","Fitness function used to calculate the score of an Individual",2,null],[12,"population_size","","Size of the Population",2,null],[12,"genenumber","","Number of genes of each Individual",2,null],[12,"uniform_rate","","Parameter used by the crossover function",2,null],[12,"mutation_rate","","Parameter used by the mutate function",2,null],[12,"tournmant_size","","Size of the set used to select the parent of the offsprings",2,null],[12,"elitism_size","","Number of Individual to copy in the next generation",2,null],[12,"threadpool_size","","Number of thread used during the evolve function",2,null],[11,"eq","","",0,null],[11,"ne","","",0,null],[11,"clone","","",0,null],[11,"fmt","","",0,null],[11,"new","","Create a new individual which contains a vector of genenumber of random initiliazed T",0,{"inputs":[{"name":"usize"}],"output":{"name":"individual"}}],[11,"new_with_vec","","Create a new individual from a vector of T",0,{"inputs":[{"name":"vec"}],"output":{"name":"individual"}}],[11,"crossover","","Return an Individual<T> which is the result of the crossover operation\nbetween self and the second Individual<T>, accordingly the uniform_rate parameter",0,null],[11,"mutate","","Return an Individual<T> which is the result of the mutate operation, accordingly the mutation_rate parameter",0,null],[11,"clone","","",1,null],[11,"clone","","",2,null],[11,"new_with_vec","","Create a new Population from a vector of individuals,\na configuration and the number of the generation",1,{"inputs":[{"name":"vec"},{"name":"populationconfiguration"},{"name":"usize"}],"output":{"name":"population"}}],[11,"new","","Create a new random generation accordingly the configuration",1,{"inputs":[{"name":"populationconfiguration"}],"output":{"name":"population"}}],[11,"get_fittest","","Get the Individual and the relative score of the Individual\nwith the highest score",1,null],[11,"evolve","","Create a new Population from the current, using the crossover\nand mutation operator",1,null],[0,"genetic_planner","genetic_planner","",null,null],[3,"Plan","genetic_planner::genetic_planner","Contains the actions of a Plan",null,null],[12,"state","","State reached using the actions, the first state is\nState::get_initial_state()",3,null],[12,"actions","","Actions of the Plan",3,null],[3,"Action","","Contains a function applicable to T and a name",null,null],[12,"action","","",4,null],[12,"name","","",4,null],[3,"PlannerConfiguration","","Contains the configuration of the Planner",null,null],[12,"max_actions","","Max number of actions",5,null],[12,"population_size","","Number of the Individual in the Population",5,null],[12,"elitism_size","","Number of Individual to copy in the next generation",5,null],[12,"tournmant_size","","Size of the set used to select the parentof the offsprings",5,null],[12,"uniform_rate","","Parameter used by the crossover function",5,null],[12,"mutation_rate","","Parameter used by the mutate function",5,null],[12,"threadpool_size","","Number of thread used in the evolve function",5,null],[5,"find_solution_and_population_from_population","","Find a Plan and its Population starting a Population",null,null],[5,"find_solution_and_population","","Find a Plan and its Population",null,null],[5,"find_solution","","Find a plan",null,{"inputs":[{"name":"plannerconfiguration"}],"output":{"name":"plan"}}],[5,"find_solution_from_population","","Find a plan starting from a Population",null,{"inputs":[{"name":"population"}],"output":{"name":"plan"}}],[5,"find_best_and_population_after_iterations_from_population","","Found the best plan and its Population, after <iterations> iterations",null,null],[5,"find_best_and_population_after_iterations","","Found the best plan and its Population after <iterations> iterations",null,null],[5,"find_best_after_iterations","","Found the best plan after <iterations> iterations",null,{"inputs":[{"name":"plannerconfiguration"},{"name":"usize"}],"output":{"name":"plan"}}],[5,"find_best_after_iterations_from_population","","Found the best plan after <iterations> iterations starting from a Population",null,{"inputs":[{"name":"population"},{"name":"usize"}],"output":{"name":"plan"}}],[8,"State","","",null,null],[10,"get_initial_state","","Get the initial state",6,{"inputs":[],"output":{"name":"self"}}],[10,"get_random_action","","Get a random action",6,{"inputs":[],"output":{"name":"action"}}],[10,"is_goal","","Verify if the current state is the goal",6,null],[10,"get_heuristic","","Get an aproximated distance to the goal state",6,null],[11,"new","","Create a new Action",3,{"inputs":[{"name":"t"}],"output":{"name":"plan"}}],[11,"clone","","",4,null],[11,"rand","","",4,{"inputs":[{"name":"r"}],"output":{"name":"action"}}],[11,"eq","","",4,null]],"paths":[[3,"Individual"],[3,"Population"],[3,"PopulationConfiguration"],[3,"Plan"],[3,"Action"],[3,"PlannerConfiguration"],[8,"State"]]}; initSearch(searchIndex);