Bug fixes
This commit is contained in:
parent
be1d26ebd0
commit
a11b39cf9f
8 changed files with 336 additions and 70 deletions
|
|
@ -1,64 +1,34 @@
|
|||
use clap::Parser;
|
||||
use factorio_blueprint::{
|
||||
belt_finding::{conflict_avoidance::ConflictAvoidance, Problem},
|
||||
common::visualize::Visualize,
|
||||
layout::Layout,
|
||||
layout::{GeneticAlgorithm, Layout, PathLayout},
|
||||
};
|
||||
use rand::SeedableRng;
|
||||
use rand::{rngs::SmallRng, SeedableRng};
|
||||
|
||||
#[derive(Debug, Parser)]
|
||||
struct Args {
|
||||
#[clap(default_value_t = 0)]
|
||||
seed: u64,
|
||||
}
|
||||
|
||||
fn main() {
|
||||
// let mut p = Problem::new(Position::new(10, 10));
|
||||
let args = Args::parse();
|
||||
|
||||
// let b1 = p.add_block(Position::new(3, 2));
|
||||
// let b2 = p.add_block(Position::new(5, 2));
|
||||
// let b3 = p.add_block(Position::new(5, 7));
|
||||
|
||||
// p.add_connection(b1, Position::new(1, 0), b2, Position::new(1, 0));
|
||||
// p.add_connection(b2, Position::new(3, 1), b3, Position::new(4, 6));
|
||||
|
||||
let file = std::fs::File::open("layout.yml").unwrap();
|
||||
let file = std::fs::File::open("layout2.yml").unwrap();
|
||||
|
||||
let p = serde_yaml::from_reader(file).unwrap();
|
||||
|
||||
for i in 0..1 {
|
||||
let mut rng = rand::rngs::SmallRng::seed_from_u64(5);
|
||||
let mut rng = SmallRng::seed_from_u64(args.seed);
|
||||
|
||||
let l = Layout::new(&p, &mut rng);
|
||||
dbg!(&p);
|
||||
|
||||
// let s = l.score();
|
||||
l.print_visualization();
|
||||
let mut g = GeneticAlgorithm::new(&p, 20, 4, 2, &mut rng);
|
||||
|
||||
let m = l.mutate(&mut rng);
|
||||
m.print_visualization();
|
||||
|
||||
let m = m.mutate(&mut rng);
|
||||
m.print_visualization();
|
||||
let m = m.mutate(&mut rng);
|
||||
m.print_visualization();
|
||||
let m = m.mutate(&mut rng);
|
||||
m.print_visualization();
|
||||
let m = m.mutate(&mut rng);
|
||||
m.print_visualization();
|
||||
let m = m.mutate(&mut rng);
|
||||
m.print_visualization();
|
||||
let m = m.mutate(&mut rng);
|
||||
m.print_visualization();
|
||||
let m = m.mutate(&mut rng);
|
||||
m.print_visualization();
|
||||
// let mut p = Problem::from_layout(&l);
|
||||
// p.print();
|
||||
// p.find_path();
|
||||
// p.print();
|
||||
// let mut c = ConflictAvoidance::new(p);
|
||||
|
||||
// c.remove_all_conflicts();
|
||||
|
||||
// c.print();
|
||||
// println!("Seed: {i}, Score {}", s);
|
||||
|
||||
// l.print_visualization();
|
||||
// if s < min {
|
||||
// min = s;
|
||||
// min_l = Some(l);
|
||||
// }
|
||||
for i in 0..100 {
|
||||
println!("Generatrion {i}");
|
||||
g.generation(&mut rng);
|
||||
}
|
||||
|
||||
// g.output_population();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue