Week 10: More Concept Generation

This week, our team met several times to develop plans for our upcoming prototype. One thing we needed to decide on was how to develop the simulation. This is important since our team already has a simulation for training reinforcement learning models. However, this existing simulation has a few flaws and will need to be improved somehow. One idea was more or less an overhaul of the entire system; we needed to decide if the benefits would outweigh the downsides.

Team Tactica at their Wednesday meeting.
Team Tactica at our Wednesday meeting

Without going into detail on our implementation, we can explain our concept generation using an example. This example won’t show what we actually discussed, but it illustrates how considering alternatives requires a lot of thought.

If we wanted to write a program, we’d first have to decide what programming language to use. Our team happens to know Python and C++. Python is often praised for its simplicity and readability. Additionally, it has many libraries with plenty of documentation online. However, when the program increases in size it needs to be broken down and more modular. Python’s dynamic type system would make things more difficult and less readable since it becomes less clear what each part of the program needs. C++ is more type-safe since all variables need to be declared with a type before they are used, and the type of a variable cannot change. Additionally, C++ is often implemented as a compiled language and can be optimized to run faster. However, it may require writing significantly more code to achieve the same results. Furthermore, managing libraries for C++ is more difficult.

From this example, just choosing the language for a program involves weighing various pros and cons. This procedure becomes more difficult when one starts considering the entire architecture of the program.

The AI team has also been working on how to restructure the code to better fit their iterative improvements. If we want to try out different algorithms for machine learning, the code should be designed to easily switch algorithms in and out.

Next week, our team will be focusing on making our project presentable for our prototype inspection day. That’s all for now!

Leave a Reply

Your email address will not be published. Required fields are marked *