<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Machine Learning Optimizations of BioMeld-Voxelyze Simulator</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jela Babić</string-name>
          <email>jelab@dmi.uns.ac.rs</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dušica Knežević</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Miloš Savić</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vladimir Kurbalija</string-name>
          <email>kurba@dmi.uns.ac.rs</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Igor Balaž</string-name>
          <email>igor.balaz@df.uns.ac.rs</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Mathematics and Informatics, Faculty of Sciences, University of Novi Sad</institution>
          ,
          <country country="RS">Serbia</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Laboratory for Meteorology</institution>
          ,
          <addr-line>Physics and Biophysics</addr-line>
          ,
          <institution>Faculty of Agriculture, University of Novi Sad</institution>
          ,
          <country country="RS">Serbia</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>This paper presents the development process for a simulation software with an application in designing biohybrid machines (BHMs). The software's main objective is to determine optimal values of the physical properties of materials used to manufacture BHMs by utilizing a genetic search algorithm. Consequently, a huge number of potential material configurations have been analyzed in an eficient way to provide practically employable results. The primary analysis of the simulation software pointed out that the initially developed simulator has eficiency issues within the physics engine-oriented component. To improve the eficiency of the software, a regression-based machine learning approach is used as a surrogate model to predict outcomes of voxel-based simulations in the search process.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Bio-hybrid Machines</kwd>
        <kwd>Voxelyze Engine</kwd>
        <kwd>Software Improvement</kwd>
        <kwd>Genetic Algorithm</kwd>
        <kwd>Machine Learning</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Bio-hybrid machines (BHMs) combine living cell actuators with artificial materials in order to achieve
greater autonomy, flexibility and energy eficiency compared to standard robots [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Although BHMs
have great promise for future applications in many fields, BHM technologies are still in the early stages
of development with no significant eforts made towards eficient BHM manufacturing leveraging
AI-powered modeling and simulation of BHMs. This paper describes the evolution process and
improvements that have been achieved during the modeling, development and optimization of a BHM
simulation software.
      </p>
      <p>
        A prerequisite for designing BHMs suitable for real-world applications is to identify and consider all
potential BHM morphologies in a desired environment. To achieve this goal, we use the Voxelyze [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]
modeling framework coupled with a genetic algorithm [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The Voxelyze physics engine simulates BHM
design and deals with parameters related to the physical properties of materials from which BHMs are
constructed. Relying on Voxelyze, we have developed a BioMeld-Voxelyze simulator that is part of the
BioMeld modeling and simulation framework [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], whose main goal is to produce eficient designs of
BHMs acting as bio-hybrid catheters [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>Our BioMeld-Voxelyze simulator analyzes BHM’s behavior in an environment in which BHM
(catheter) may collide with external objects (vascular walls). It also contains a genetic search
feature that selects the optimal configuration of material properties of actuating and non-actuating voxels
leading to the most eficient BHM catheter displacement, while at the same time minimizing its pressure
on vascular walls.</p>
      <p>BioMeld-Voxelyze genetic search functionality may be extremely slow since the full simulation has
to be performed for each chromosome encoding values of physical properties. Consequently, one may
ask if performing the full simulation can be replaced by a predictive model, and, in turn, significantly
accelerate the execution of the genetic search algorithm. Therefore, in this paper we investigate whether
the genetic search functionality can be replaced by eficient machine learning surrogate models based
on regression algorithms.</p>
      <p>The rest of the paper is structured as follows. The BHM modeling approach is presented in Section 2.
In the following Section 3 we describe the BioMeld-Voxelyze simulator. Improvements achieved by
developing an alternative solution for the time-consuming module of the simulator are explained in 4.
The last section concludes the paper.</p>
    </sec>
    <sec id="sec-2">
      <title>2. BHM Modeling Approach</title>
      <p>
        The first task in the modeling and simulation of BHMs is the design and analysis of their morphologies
(voxel-based geometries). In our solution, the Voxelyze physics engine [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] simulates BHM designs and
deals with parameters related to the physical properties of materials used to construct BHMs.
      </p>
      <p>Voxelyze is a highly sophisticated physics engine designed to model and simulate the mechanical
behavior of soft and flexible materials. The system uses a finite element method, where a material is
divided into a mesh of interconnected elements, to model the deformation and mechanical properties of
the material. The elements in the mesh represent the behavior of small volumes of the material, and
their interactions with each other are used to describe the overall mechanical response of the material.</p>
      <p>The main modeling approach in Voxelyze is based on voxels and mass-spring lattice. Each voxel in
the lattice is modeled with six degrees of freedom: three translational and three rotational degrees of
freedom. Furthermore, each voxel contains its mass and rotational inertia to support more complex
simulations with lateral shearing and rotation. Finally, each voxel is connected to 6 neighboring
voxels with connection elements, where every connection contains its own transnational and rotational
stifness (Figure1). Such a setup provides a very realistic deformation simulation under diferent forces
and moments.</p>
      <p>The task of the BioMeld-Voxelyze component in the whole pipeline is to consider and select parameters
related to the physical properties of materials used to build BHM and its morphology (geometry).
More precisely, in Voxelyze engine we apply force to the BHM (e.g., catheter) to move it through an
environment that contains other objects (e.g., vascular walls). The Voxelyze takes care of various
physical aspects including: forces, collision detection, gravity, material properties and temperature.</p>
    </sec>
    <sec id="sec-3">
      <title>3. BHM Simulation Software</title>
      <p>
        Biohybrid machines (BHMs) morphologies are created and tested in the soft-body physics engine
Voxelyze on a 3D Cartesian lattice workspace, where voxels are connected together to form a functional
machine. The simulator models the distance between adjacent voxels as Euler-Bernoulli beams [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
All classes and structures originating from the base engine are efectively used. Overall, including
base Voxelzye classes, the software refers to five diferent packages, voxlib, morph, ga, camera, and
bhmsim. To run the engine, it is required to create an instance of the CVoxelyze class. This instance
is mandatory as a base for constructing diferent topologies utilizing voxels. One voxel determines
its own material specification (CVX MaterialVoxel) and the intervoxel material specification (CVX
MaterialLink). Besides the voxel definition, it is also possible to set up other simulation variables, like
gravitational acceleration and friction to voxels in contact with the surface plane, and check simulation
results in several diferent aspects and points of simulation. As a core, Voxelyze is a library that allows
diferent simulations at the level of voxel specifications, so the main focus of the remaining components
is on customization of the core functionalities to the domain problem specification, i.e. to specify and
simulate diferent types of objects (e.g., BHM and vascular walls) created from a set of connected voxels.
      </p>
      <p>At the lowest level, close to the base Voxelzye engine, we have the bhmsim package. The idea behind
this part of the BHM simulator is to provide basic structures for building diferent simulation scenarios
in terms of morphologies, hyperparameter values and simulator goals.</p>
      <p>
        Morphology classes contained in the morph package should be considered as an auxiliary tool for
easier setting of the BHM simulator and simulated objects. It holds plain, low-level information about
the physical properties of simulation objects. It is possible to visualize assembled morphologies through
instances of classes inside the camera package. Classes defined within this package are designed to
enable two sights over morphologies and their motions during simulation in two and three-dimensional
space. For this purpose, The OpenGL Utility Toolkit (GLUT) [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] library was used.
      </p>
      <p>Finally, the last module of our BHM simulator is intended to run a configurable genetic algorithm
through numerous simulations to identify the best-featured combination of materials. The component
name is ga and it contains class definitions for basic concepts of the genetic algorithm.</p>
      <p>Generally speaking, genetic algorithms are heuristic algorithms applicable to a wide range of
optimization problems with the goal of achieving a solution by simulating the mechanism of biological
evolution. In preparation for building a genetic algorithm, the initial problem must be amenable to
redesign in the GA framework. This framework expects to have a set of problem instances (valid
problem solutions) as an initial population which is repeatedly modified until the desired condition
is fulfilled. One instance of the problem has to encode properties whose values impact the optimal
solution of the problem. In the case of BHM simulation, the goal is to identify properties of the materials
that potentially would be suitable for the production of BHMs intended for use in real-world scenarios.
In our BHM simulator, the goal is to identify the stifness and density of the material from which BHMs
are supposed to be made.</p>
      <p>At the highest level of abstraction, the optimization problem is solved by the following steps:
• (1) generation of the initial population which produces a set of diferent BHMProperties assets,
• (2) creation of Voxelyze physical construction through import files with model data,
• (3) assignment of the generated properties over the physical presentation and evaluation
incorporated with GA optimization process.</p>
      <p>GA optimization is a cyclic process that involves GA operators over previously evaluated individuals.
Typically used GA operators are selection, crossover, and mutation. The usage of these operators
ensures the quality of the genetic evaluation process by maintaining the quality of the population
in each iteration. The algorithm is performed with the evaluation of every individual genome of the
population, after which the best N individuals are selected and marked for the next round of the genetic
algorithm. At this point, population size is decreased and must be compensated (by creating new
individuals) before the next evaluation round to match the initial population size. New individuals are
created from the existing ones, through the selection of two to serve as a source of genetic material.
Parents are selected randomly in the selection process over which the crossover operator is applied.
Crossover creates a child individual through a combination of parents’ genetic material. For this GA
operator, we consider that the child genome contains an arithmetic value of the corresponding parents’
attributes. The production of new individuals is finished after restocking the number of genomes in the
population to the initially defined size.</p>
      <p>Preparation of the new ofspring for the next algorithm generation requires mutation over some
of the individuals in the population. The mutation is performed over every individual with a certain
probability and it considers a probable slight adaptation of every observed property. The function looks
for an old value from the genome of the current property and changes it by adding a randomly generated
noise. As it is already pointed out, not every individual has to be mutated in the process of new ofspring
preparation, just has to be defined as a part of evolution. The goal of the GA implementation is to
achieve a certain number of iterations and the best configuration in the latest iteration is considered as
a champion (optimal solution).</p>
      <p>In terms of the quality assessment mechanism, the fitness function is defined to maximize the BHM
displacement and minimize the pressure on external objects in the environment (e.g., vascular walls).
In other words, the goal is to find individuals that achieve the largest possible displacement and at the
same time make the lowest pressure on the vascular wall. After every individual of the population is
evaluated by computing its fitness value, the population is sorted by the obtained fitness values in order
to keep the top  best configurations for the generation of new ofspring.</p>
      <sec id="sec-3-1">
        <title>3.1. Physic engine approach results</title>
        <p>
          Figure2 presents the champion morphologies produced within BioMeld modeling and simulation
framework that deals with the morpohology optimizations based on compositional pattern producing
networks [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. Those champion morphologies are used in the Biomeld-Voxelyze simulator for
performing experiments and measuring improvements. Blue voxels represent a passive type of voxels
(non-actuating), and red voxels represent active voxels (actuating voxels, muscle tissue). The simulation
environment also includes one non-BHM object which is a 3D plane whose voxels have a density equal
to 960 kg/m3 and stifness equal to 10MPa. A constant force is applied to the first actuating voxel of
BHM towards the non-BHM object so that those two bodies collide.
        </p>
        <p>For every considered morphology, GA simulation examines the space for the selection of a winning
configuration. The examined space refers to the possible range of values for monitored properties of
interest crucial for understanding the goal features. One considered configuration consists of stifness
and density material properties whose correlative behavior is studied through Voxelyze simulation. GA
component here has the role of origination of the configurations whose analysis should be considered
within the physics engine simulator. The idea was to try to have as many as possible provided
combinations of values for the BHMs component building features to consider so that the defined goal is
accomplished with greater certainty.</p>
        <p>GA parameters, such as the size of the population, number of iterations, and threshold value for
new generation genesis were selected by using a probabilistic method. Considering the number of
possible values for the properties of BHM components, and the possible combinations, the idea was to
try to achieve the highest percentage of examinations of parameter space but also to identify simulation
eficiency for diferent sizes of problems selected to solve.</p>
        <p>Table 1 provides perspective over executed experiments. Every row in the table corresponds to
the specific morphology from Figure 2 and a corresponding simulation executed. One GA simulation
is determined with GA parameters used within, the number of iterations  , population size  , 
value (GA threshold – how many instances are kept for the next GA iteration), and the longest and
shortest iteration execution time. Iteration time duration is selected within the first 50 iterations of
every simulation.</p>
        <p>As it can be observed executed simulations had a very long execution time, and most of them were
interrupted before the end. The analysis of the completed GA iterations identified that none of the
considered experiments did not evolved its fitness function to the point of saturation. We will focus
on the results of the experiment performed for configuration A. The scope for the simulation was a
relatively small dimension, counting the 200 iterations of GA for the population size 80, where almost
one-quarter of the population was retained for the next iteration. The time required for the longest
iteration to be performed was more than six hours, whereas the shortest iteration needed only two
hours less than that. Considering that, we can set 5 hours as the average time execution of one iteration,
which makes this simulation have a total duration of approximately 42 hours. The most time-consuming
component of the software was the calculation that a soft body physic machine Voxelyze had.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Machine Learning Optimizations of BioMeld-Voxelyze Simulator</title>
      <p>
        To answer the above-stated research question we have examined several regression models trained to
predict the outcomes of simulations participating in the cost function of the genetic search algorithms:
displacement of BHM and pressure on non-BHM objects. The examined regression models are selected
to have fast training and inference algorithms [
        <xref ref-type="bibr" rid="ref8 ref9">8, 9</xref>
        ]. The following regression models, whose
implementation is available in the Scikit-learn Python library for machine learning [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], are evaluated for
predicting the target variables:
• Linear regression (LINEAR),
• Lasso regression (LASSO),
      </p>
      <p>A
B
C
D
E
F
G
H
I
J</p>
      <sec id="sec-4-1">
        <title>Longest iteration [hr] Shortest iteration [hr]</title>
        <p>• Elastic net regression (ELNET),
• Support vector machine regression (SVM),
• Random forest regression (RF),
• K-nearest neighbors regression (KNN), and
• Adaboost regression (ADAB).</p>
        <p>The linear regression algorithm determines the coeficients of a linear model by minimizing the
residual sum of squares between real values of the outcome variable and predictions obtained by the
linear approximation. Lasso and ElasticNet find a linear model by minimizing the residual sum of squares
with incorporated regularisation penalties: Lasso uses the L1 regularisation penalty, while ElasticNet
uses both L1 and L2 regularisation penalties. Regression models trained over BHM Simulator data had
default values for L1 and L2 regularisation penalties, defined within Scikit-learn implementation.</p>
        <p>SVM, RF, and KNN are adaptations of the corresponding classification algorithms for regression
tasks. Support vector machine classifiers are based on the idea of using linear models to identify
non-linear boundaries of categories. This is achieved by transforming data instances into a new
higherdimensional space using non-linear mapping. Quadratic programming algorithms are then employed
in the higher-dimensional space to determine maximum margin hyperplanes separating instances from
diferent categories. KNN is an instance-based (lazy) classifier: the category for a given data instance
is determined from categories of the  closest instances from the training dataset determined using
some distance function (e.g., Euclidean or Manhattan distance). In our experiments, we have set  to
20. A random forest is an ensemble of decision trees learned from bootstrapped samples of the training
data. The random forest algorithm employs so-called feature bagging to determine a random subset
of features for learning individual decision trees. The category for a given input instance is then the
most frequent category derived from decision trees in the ensemble. In our experiments, we have used
random forest ensembles containing 50 trees.</p>
        <p>AdaBoost is a meta-learning algorithm boosting an arbitrary regression method (decision-tree-based
regression in our case) towards data instances having high prediction errors. The algorithm starts by
assigning equal weights to all instances in the training dataset. Those weights indicate how hard it is
to predict the outcome variable for a particular instance, i.e., instances with higher prediction errors
have higher weights. Some base regression method is employed to form an initial regression model.
Instances in the training datasets are reweighted according to errors obtained by the trained regression
model. Then, a new regression model is learned using a loss function that is pondered with weights. The
two steps are repeated either for a fixed number of iterations or until the error of the model becomes
acceptable. Predictions by AdaBoost are made considering all sequentially trained regression models.</p>
        <p>As the baseline for evaluating the above-mentioned regression models, we use the so-called DUMMY
regression model. The DUMMY model always predicts the same value: the mean of the outcome variable
computed from the training dataset.</p>
        <p>For the evaluation of models’ performance, we used 10-fold cross-validation. The following metrics
are used to assess the quality of predictive models:
• mean absolute error (MAE)
• mean squared error (MSE)
• coeficient of determination (R2)
• Pearson’s correlation coeficient (PC):
∑︀=1 | − |</p>
        <p>,
∑︀=1( − )2 ,</p>
        <p>1 −
∑︀=1( − ˆ)2 ,
∑︀=1( − ¯) 2
∑︀=1( − ¯)(  − ¯)
√︀∑︀
=1( − ¯) 2 ∑︀=1( − ¯) 2
.</p>
        <p>All the measures are formally defined above so that  is the number of dataset instances,  is the
target attribute value of -th instance,  is the predicted value of the target attribute of the -th instance,
 is the mean of the target attribute’s values, and  is the mean value of all predicted values for the
target attribute. Lower MAE and MSE values indicate better-performing models (for perfect regressors
MAE and MSE are equal to 0), whereas higher values of R2 and PC indicate accurate predictors (the
maximal value of R2 and PC indicating perfect predictors is equal to 1).</p>
        <sec id="sec-4-1-1">
          <title>4.1. ML approach results</title>
          <p>
            The evaluation of regression models used to predict the outcomes (pressure and displacement) of
simulations is conducted on 10 champion morphologies [
            <xref ref-type="bibr" rid="ref4">4</xref>
            ] that are shown in Figure 2. To obtain
datasets for 10-fold cross-validation, for each morphology configuration (denoted from A to J) we have
performed 5000 diferent simulations for randomly selected input parameters in the following ranges:
• stifness of actuating voxels is in the range [
            <xref ref-type="bibr" rid="ref1">1, 20</xref>
            ] MPa,
• density of actuating voxels is in the range [1000, 1500] kg/m3,
• stifness of non-actuating voxels is in the range [30, 50] MPa , and
• density of non-actuating voxels is in the range [1500, 3000] kg/m3.
          </p>
          <p>The result of 10-fold cross-validation for examined morphology configurations A, B, and C are
presented in Table 2- 4. Tables show the estimate of mean absolute error (MAE), mean squared
error (MSE), coeficient of determination (R2), and Pearson’s correlation coeficient (PC) for the target
variables (PRESSURE and DISPLACEMENT). It is important to mention that the PC for DUMMY cannot
be computed since DUMMY models always predict the same value. Resulted values are averaged using
values calculated after each iteration of the 10-fold cross-validation performed.</p>
          <p>A regression model  can be considered as an accurate predictor for a target variable if the following
conditions are satisfied:
• MAE() ≪ MAE(DUMMY),
• MSE() ≪ MSE(DUMMY),
• R2() &gt; 0.9, and
• PC() &gt; 0.9.</p>
          <p>The symbol ≪ denotes ”much smaller”. According to the above-stated criteria, the list of accurate
predictors for PRESSURE and DISPLACEMENT is given in Table 5. As it can be observed:</p>
        </sec>
      </sec>
      <sec id="sec-4-2">
        <title>DUMMY</title>
      </sec>
      <sec id="sec-4-3">
        <title>LINEAR</title>
      </sec>
      <sec id="sec-4-4">
        <title>LASSO</title>
      </sec>
      <sec id="sec-4-5">
        <title>ELNET</title>
        <p>SVM
RF
KNN</p>
      </sec>
      <sec id="sec-4-6">
        <title>ADAB</title>
      </sec>
      <sec id="sec-4-7">
        <title>DUMMY</title>
      </sec>
      <sec id="sec-4-8">
        <title>LINEAR</title>
      </sec>
      <sec id="sec-4-9">
        <title>LASSO</title>
      </sec>
      <sec id="sec-4-10">
        <title>ELNET</title>
        <p>SVM
RF
KNN</p>
      </sec>
      <sec id="sec-4-11">
        <title>ADAB</title>
        <p>MAE</p>
      </sec>
      <sec id="sec-4-12">
        <title>DISPLACEMENT</title>
        <p>• RF is always an accurate predictive model for both PRESSURE and DISPLACEMENT.
• Besides RF, PRESSURE can be accurately predicted by KNN for 8 morphology configurations and
by ADAB for 4 configurations.
• DISPLACEMENT can be accurately predicted by RF, KNN, and ADAB in all examined
configurations.
• LINEAR and SVM models have a minor accurate power (for some configurations they can
accurately predict DISPLACEMENT), while ELNET and LASSO are always bad predictors of
considered target variables.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusion</title>
      <p>The main focus of this paper is on the design of the BioMeld-Voxelyze Simulator software, which is
part of a framework for designing bio-hybrid machines (BHMs). The main purpose of the simulator is
to determine optimal values of parameters related to the physical properties of materials (stifness and
density of actuating and non-actuating voxels) used to build BHM. To achieve this goal, a huge space of
potential BHM configurations has to be examined.</p>
      <p>Initially, the combination of a genetic algorithm and simulations based on the Voxelyze engine was
used to identify optimal BHM configurations. However, performing BHM simulations required a lot of
time to process and simulate the mechanical behavior of the materials assigned to BHM components
within the simulation.</p>
      <p>To overcome the time usage problem and accelerate the execution of the genetic search algorithm,
we have devised a diferent approach. By employing the results of the initially proposed solutions,
regression models were built to predict the outcomes (pressure and displacement) of simulations
conducted on 10 champion morphologies. For the evaluation of models’ performance, we used 10-fold
cross-validation and a set of metrics to assess the quality of predictive models.</p>
      <p>Our experimental results indicate that random-forest regression models can accurately predict the
outcomes of simulations. This result has an important practical consequence: the genetic search
algorithm of the BioMeld Voxelyze simulator looking for optimal physical properties of BHM voxels can
be significantly accelerated by using regression predictive models instead of performing simulations for
each candidate chromosome encoding physical properties.
This project has received funding from the European Union’s Horizon Europe research and innovation
program under grant agreement No.101070328.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>L.</given-names>
            <surname>Ricotti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Trimmer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. W.</given-names>
            <surname>Feinberg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Raman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K. K.</given-names>
            <surname>Parker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Bashir</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Sitti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Martel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Dario</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Menciassi</surname>
          </string-name>
          ,
          <article-title>Biohybrid actuators for robotics: A review of devices actuated by living cells</article-title>
          ,
          <source>Science Robotics</source>
          <volume>2</volume>
          (
          <year>2017</year>
          )
          <article-title>eaaq0495</article-title>
          . doi:
          <volume>10</volume>
          .1126/scirobotics.aaq0495.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>J.</given-names>
            <surname>Hiller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Lipson</surname>
          </string-name>
          ,
          <article-title>Dynamic simulation of soft multimaterial 3d-printed objects</article-title>
          ,
          <source>Soft Robotics</source>
          <volume>1</volume>
          (
          <year>2014</year>
          )
          <fpage>88</fpage>
          -
          <lpage>101</lpage>
          . doi:
          <volume>10</volume>
          .1089/soro.
          <year>2013</year>
          .
          <volume>0010</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>O.</given-names>
            <surname>Kramer</surname>
          </string-name>
          , Genetic Algorithms, Springer International Publishing, Cham,
          <year>2017</year>
          , pp.
          <fpage>11</fpage>
          -
          <lpage>19</lpage>
          . doi:
          <volume>10</volume>
          . 1007/978-3-
          <fpage>319</fpage>
          -52156-
          <issue>5</issue>
          _
          <fpage>2</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>M.-A.</given-names>
            <surname>Tsompanas</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Balaz</surname>
          </string-name>
          ,
          <article-title>Outline of an evolutionary morphology generator towards the modular design of a biohybrid catheter</article-title>
          ,
          <source>Frontiers in Robotics and AI</source>
          <volume>11</volume>
          (
          <year>2024</year>
          ). doi:
          <volume>10</volume>
          .3389/frobt.
          <year>2024</year>
          .
          <volume>1337722</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>C.</given-names>
            <surname>Salvatori</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Trucco</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Niosi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Ricotti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Vannozzi</surname>
          </string-name>
          ,
          <article-title>A novel steerable catheter controlled with a biohybrid actuator: A feasibility study</article-title>
          ,
          <source>in: Biomimetic and Biohybrid Systems</source>
          , Springer Nature Switzerland, Cham,
          <year>2023</year>
          , pp.
          <fpage>378</fpage>
          -
          <lpage>393</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>O. A.</given-names>
            <surname>Bauchau</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. I. Craig</surname>
          </string-name>
          , Euler-Bernoulli
          <source>beam theory</source>
          , Springer Netherlands, Dordrecht,
          <year>2009</year>
          , pp.
          <fpage>173</fpage>
          -
          <lpage>221</lpage>
          . doi:
          <volume>10</volume>
          .1007/
          <fpage>978</fpage>
          -90-481-2516-
          <issue>6</issue>
          _
          <fpage>5</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>M.</given-names>
            <surname>Woo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Neider</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Davis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Shreiner</surname>
          </string-name>
          ,
          <article-title>OpenGL programming guide: the oficial guide to learning OpenGL, version 1</article-title>
          .2,
          <string-name>
            <surname>Addison-Wesley Longman</surname>
          </string-name>
          Publishing Co., Inc.,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>M.</given-names>
            <surname>Savic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Kurbalija</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ilic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ivanovic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Jakovetic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Valachis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Autexier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Rust</surname>
          </string-name>
          , T. Kosmidis,
          <article-title>The application of machine learning techniques in prediction of quality of life features for cancer patients</article-title>
          ,
          <source>Computer Science and Information Systems</source>
          <volume>20</volume>
          (
          <year>2023</year>
          )
          <fpage>381</fpage>
          -
          <lpage>404</lpage>
          . doi:
          <volume>10</volume>
          .2298/CSIS220227061S.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>M.</given-names>
            <surname>Savic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Kurbalija</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ilic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ivanovic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Jakovetic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Valachis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Autexier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Rust</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Kosmidis</surname>
          </string-name>
          ,
          <article-title>Analysis of machine learning models predicting quality of life for cancer patients</article-title>
          ,
          <source>in: MEDES '21: Proceedings of the 13th International Conference on Management of Digital EcoSystems</source>
          , Virtual Event, Tunisia, November 1 -
          <issue>3</issue>
          ,
          <year>2021</year>
          , ACM,
          <year>2021</year>
          , pp.
          <fpage>35</fpage>
          -
          <lpage>42</lpage>
          . doi:
          <volume>10</volume>
          .1145/3444757.3485103.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>F.</given-names>
            <surname>Pedregosa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Varoquaux</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Gramfort</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Michel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Thirion</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Grisel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Blondel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Prettenhofer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Weiss</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Dubourg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Vanderplas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Passos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Cournapeau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Brucher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Perrot</surname>
          </string-name>
          , E. Duchesnay,
          <article-title>Scikit-learn: Machine learning in Python</article-title>
          ,
          <source>Journal of Machine Learning Research</source>
          <volume>12</volume>
          (
          <year>2011</year>
          )
          <fpage>2825</fpage>
          -
          <lpage>2830</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>