Post on 21-Apr-2020
Université Libre de BruxellesInstitut de Recherches Interdisciplinaires et de Développements en Intelligence Artificielle
Efficient Neuro-Evolution of
Hole-avoidance and Phototaxis for a
Swarm-bot
Anders Lyhne Christensen
IRIDIA – Technical Report Series
Technical Report No.
TR/IRIDIA/2005-014
October 2005
������ � ������ ������ ���������� �������
�� ������ ��
������� �������� �� ������� ��������� ��������
�� �� ������ ������ �� ����������� ����������
��������� ���� �� ��������
�� �� �� ��������� � � !� �"#
� � $%�&������ $��'��(
)�*�+�*,� %�-�%� +�( �% )�"������". �� �
)�� �+/�%(,���+ -%������ �� ��� ���� %��-�+�� ����� �/ ��� ,����%� ,+� ���� +�� +�*���
�,%��� %�0�*� ��� �-�+��+ �/ ��� (�( �%� �/ ������� )�� ,����%� �,1� /��� %��-�+�, �����
/�% ,+� *�-�%�'�� %�,*��� ��,� (,� %����� /%�( -� ��*,���+ �/ ���� -,-�% �+ ��� ������
2 )�*�+�*,� ��-�%� ��%���� ������ �� +�� %��-�+�� �� /�% ,+� ��� ��,� (�'�� � (,��
�/ �,�, ,--�,%�+' �+ ���� -� ��*,���+�
��������
� ���������� �
��� 3�������+,%� �� ���*� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �
��. 4�,� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �
��� 5��%���6 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �
�� )�� �6,%(� ��� �%�7�*� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �
���� �+ �� �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �
���. � �6,%(� �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � #
��� ���,��� 8�%1 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � #
� ��������� ��������� �
.�� �%��9*�,� ���%,� ���6�%1� � � � � � � � � � � � � � � � � � � � � � � � � � � � �
.���� $,*1'%��+� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �
.���. ��9+����+� ,+� ��%(�+���'� � � � � � � � � � � � � � � � � � � � � � � � � �
.���� �%��9*�,� ���%,� ���6�%1 )�-�� � � � � � � � � � � � � � � � � � � � � � � ��
.��� �%��9*�,� ���%,� ���6�%1� �+ �� ���*� � � � � � � � � � � � � � � � � � � �#
.�. 3�������+,%� !�(-��,���+ � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��
.�.�� ��,%*��+' �+ !�(-��& �-,*�� � � � � � � � � � � � � � � � � � � � � � � � ��
.�.�. �+�%���*���+ �� 3�������+,%� !�(-��,���+ � � � � � � � � � � � � � � � � ��
.�� 3�������+,%� ��'�%���(�� ���%,� ���6�%1�� ,+� �� ��� � � � � � � � � � � � � � .�
.���� ���,+*�� ���%��3�������+ ��%,��'��� � � � � � � � � � � � � � � � � � � � .�
.���. � ��(-�� 3&,(-�� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � .�
.� ��((,%� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � .�
� ��� ��� � ���� ���� ��
��� :,7�% ��;��%�(�+�� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �
����� 3&����+' ��(��,��%� � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��
����. 8�� <�� �+����% ��(��,��%= � � � � � � � � � � � � � � � � � � � � � � � �.
��. ����'+ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �
�
��.�� )�� ��(��,��%� )6���� � � � � � � � � � � � � � � � � � � � � � � � � � � �
��.�. 3�������+� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �
��� �����+' 3��%����+' )�'����% � � � � � � � � � � � � � � � � � � � � � � � � � � � �
�� $�+*�(,%1� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �
��� ����%� 6�%1 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �
��# ��((,%� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �
� � � �� !���� ��� "�
�� :��������'� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��
���� �+��%��-�+��+*� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��
���. ��((,%� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��
�. 3&-�%�(�+�,� ����- � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��
�.�� )�� �%�+, � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �#
�.�. )�� �� ��>� ��+��%� � � � � � � � � � � � � � � � � � � � � � � � � � � � � �#
�.�� ��++�+' 3�������+� � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��
�.� ���+��� ��+*���+� ,+� ���,���+ � � � � � � � � � � � � � � � � � � � � � � ��
�.�� $,����+� ���� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �
�� ���+��� ��+*���+ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � #
���� � ��(-�� ���+��� ��+*���+ � � � � � � � � � � � � � � � � � � � � � � � � � #
���. 3�*,-�+' , ?�*,� 5-��(�( � � � � � � � � � � � � � � � � � � � � � � � � #�
���� 4�+�%,���� ,+� )%,+�/�% �/ ��� !�+�%����% � � � � � � � � � � � � � � � � � #.
� ���%,� ���6�%1 )�-� ,+� ��%�*��%� � � � � � � � � � � � � � � � � � � � � � � � #�
��� ������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �
�� ���%��3�������+ :����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �
���� ��,+�,%� 4� ��� [μ, λ] ��� !!4� � � � � � � � � � � � � � � � � � � � � � ��
���. �+*%�(�+�,� 3�������+ � � � � � � � � � � � � � � � � � � � � � � � � � � � �
���� 3�����+' ���%,� �%%,�� � � � � � � � � � � � � � � � � � � � � � � � � � � �#
��� !�+*�����+ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��
�# )��� �+ �����*,� �� ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �
�#�� ������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �
�� ���*�����+ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �
" !�� ���� �"
��� ����%� 8�%1 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � #
��#������ ��
��
������������������
)��� �3� ������ �� �+ ��� �� 7�*� �/ ������+' *�+�%����%� /�% *��-�%,���� (� ��� %� ���� 8�
������ *�+�%����%� /�% , �-�*�9* �,�1� +,(��� �����,����,+*� ,+� -�����,&�� /�% , '%��- �/
-����*,��� *�++�*��� %� ��� �,*� 6��� ��(���� ��+��+' *,-, �������� ����� /%�( ��� �,�1 �����/ 6�
,%� *�+*�%+�� 6��� ������+' *,-, �� *�+�%����%� �+ ,+ �@*��+� (,++�%� )��%�/�%�� 6� �&-��%�
,+� *�(-,%� , +�( �% �/ ��A�%�+� +��%����������+ ��*�+�;��� ,+� �����+� , (��������'� /�%
������+' %� �� *�+�%����%�� �+ ��� %�(,�+��% �/ ���� *�,-��% 6� ���*��� ��(� �/ ��� ,��,+�,'��
,+� ���,��,+�,'�� �/ ��������+,%� %� ���*�� 6� �+�%���*� ��% %�/�%�+*� �,%�6,%� -�,�/�%(� ���
�� ��� ,+� 6� ���*��� ��(� �/ ��� 6�%1 -%�������� *�+��*��� �+ ���� -�,�/�%(�
��� ��������� �������
�� ���*�� ��������+,%� ,�'�%���(�� ,+� +��%,� +��6�%1� ,%� �,*� 6�������, ������ %���,%*� 9����
�+ ����% �6+ %��-�*�� B3�������+,%� %� ���*�C �� ��� +,(� /%�;��+��� ���� /�% %���,%*� �+ ���
�� %�� 9��� *�( �+�+' ��� ��%��� �+ ���� 9��� ��� '�,� �� �� ��� ��������+,%� *�(-��,���+ ��
������ %� �� *�+�%����%� ,��� �+ ,%��9*�,� +��%,� +��6�%1�� ���� , +,��%���+�-�%�� ,--%�,*� /�%
������-�+' *�+�%����%� /�% ,���+�(��� %� ���� 5+� �/ ��� (,7�% ,��,+�,'�� �/ ���� ,--%�,*� ��
��,� ,%��9*�,� ��������+ *,+ 9+� �������+� ��,� , ��(,+ ������-�% 6���� +�� �,�� *�+����%�� �%
-%���*���� 8��+ , %� �� �� ����,��� �+ ,+ �+��%�+(�+�� �������+� /��+� � ��������+ *,+ �&-����
/�,��%�� �+ ��� �+��%�+(�+� �� ���� ��� ������� ��� ��� ��� � � ��� ���� �� �� ����� , '���+
�,�1� 6��%�,� , ��(,+ ������-�% �� ��(� ��'%�� 6��� � ��(���� � ��� �% ��% �+��%��,+��+' �/
��� �,�1 ,+� -���� �� �������+� D���9 ,+� ���%�,+�� . E� )��%�/�%�� ,+ ��������+,%� ,--%�,*�
*,+ 9+� ��(-��%� (�%� %� ���� '�+�%,�� ,+� �*,�, �� �������+� �� +���� �,�1� *�(-,%�� �� �,+��
6%����+ *�+�%����%�� :�%����%� %���,%*��%� ,+� �(-��(�+��%� ,%� /%��� /%�( 6%���+' *�+�%����%�
� �,+� ,+� *,+ ��� ��������+ 9+� '��� �������+��
�%�( ��� -,%,'%,-� , ��� �� *���� ���( ��,� ��������+,%� %� ���*� �� , �+���%�,� (����� /�%
������-�+' *�+�%����%� /�% ,���+�(��� %� ��� ,+� ,��1�� F�6���%� ���%� �� ,� ��,�� �+� (,7�%
����� 6��� ���� ,--%�,*�� +,(��� ��,� ����'+�+'� �(-��(�+��+'� ,+� �����+' �,%���� ��������+,%�
����-�� +��%,� +��6�%1 ��%�*��%��� ,+� �� �+ �� , ������� ,+� ��(��*�+��(�+' -%�*���� 3�����+'
*�+�%����%� �+������ , '%�,� ��,� �/ �%�,��,+���%%�% ,+� �+�� *�+�%����%� /�% %��,������ ��(-�� �,�1�
�,�� ��+ ������� �� /,%� )��� *,+ � ��� �� -%� ��(� %��,��� �� ��������+ �����%,--�+'�
9�+��� /�+*���+ ������-(�+�� ,+� �/ *��%�� %�++�+' ��� ��������+� ���(������� �+ ��(� *,����
��������+ *,+ � -�%/�%(�� ��%�*��� �+ -����*,� %� ���� DG%����+' �� ,��� . .E� D���9 �� ,���
�E� �� �/��+ ��������+� ,%� %�+ �+ ��/�6,%� ��(��,��%�� �*,��� �/ ��� �-���� +� %��1 �/
�,(,'�+' �,%�6,%�� ,+� ��� �,�� �/ *�,+'�+' ����-� H��'� ��� �+��%�+(�+�� ��� +�( �% �/
%� ��� ,+� �� �+I� 3��+ �/ ��������+� ,%� %�+ �+ ��/�6,%�� ���� *,+ ��(���(�� �*�(� *�(-��&
�� ��� ��'%�� 6��%� �� �,1�� ����%,� �,�� ,+� 6��1� �/�%� %������ ,%� � �,�+��� ���+ 6��+ %�+
�
1.1 Evolutionary Robotics Introduction
�+ (���%,+'� �! *�����%�� )�� *�(-��&��� ,%���� /%�( ��� +��� �/ ��(��,��+' ��� ��+,(�*� �/
, ��%��,� 6�%�� �� , 9������ ,+� 6��� ,+ ,**�%,*� ��*� ��,� ��� �+-��� ,+� ��� ���-��� �/ ���
%� ��H�I ,%� ��@*��+��� �%�� �� ��� %�,� 6�%�� ,+� ��� %� �� �,%�6,%� �� ,���6 /�% ��� �������
*�+�%����%� �� � �%,+�/�%%�� �� %�,� %� ����
��+��+' , ����, �� 9�+��� /�+*���+ ��,� ,���%�� ��� *�%%�*� ��������+,%� -%����%� /�% ,�� �� ���
��(-���� �,�1� *,+ � , +�+��%���,� �A�%�� ��% �+��,+*�� ,���(� ��,� 6� %�;��%� , %� �� ��
-�%/�%( �����,����,+*� 6���� (���+' ,%��+� �+ ,+ �+*����� ,%�+, ��,� *�+�,�+� �����J ��% 9%��
���, �+ , 9�+��� /�+*���+ *���� � ��,� 6� ��(-�� -�+,��K� �+������,�� 6�� /,�� �+�� ������ ��*�
, ��%,��'� �� ��1��� �� /,��� ��6���%� �*,��� , %� �� 6��*� ���� +�� (��� ,� ,�� ���� +�� /,��
�+�� ,+� ������ )���� ,+ �((� ��� %� �� (,&�(�K�� ��� 9�+��� /�+*���+ �� ���� +�� -�%/�%(
��� �,�1 ��,� 6� �,� �+ (�+�� � %������ 9�+��� /�+*���+ *���� *�+�,�+ , *�(-�+�+� %��,���
�� (���(�+� �/ ��� %� ��� )���� ��� (�%� , %� �� (���� ��� ��'��% ��� 9�+��� �� %�*������
6���� ����� ��+' -�+,��K�� /�% /,���+' �+�� ������ )�� ,(��+� �/ (���(�+� �/ ,+ �+������,�
*,+ � *�(-���� �,���� � �,1�+' ��� ��( �/ ��� ����,+*�� *���%�� /%�( �+� *�+�%�� *�*��
�� ��� +�&�� )�� %������ 9�+��� /�+*���+ �&-%����� ��% � 7�*������ :��� ,+� �� +�� /,�� �+��
������ F�6���%� �+� ��1��� ���*�(� �/ ,+ ��������+ *���� � ��,� ��� ��� �+������,�� (���
,%��+� �+ *�%*���� ���%� � (�+�(�K�+' ����% *�,+*�� �/ /,���+' �+�� ������ 6���� (���+' ,� /���
�-���� ���%� � (,&�(�K�+' ��� 9�+��� /�+*���+� )�� �,��� �/ ��� 9�+��� *�(-�+�+� %��,��� ��
(���(�+� /�% ��*� ,+ �+������,� 6���� � *���� �� (,&�(�( ��+*� ��� -,�� *���%�� ��6��+
�+������,� *�+�%�� *�*��� �� ,�(��� ��+�,% H,���(�+' ��,� ��� *�+�%�� /%�;��+*� �� ��@*��+��� ��'�
,+� ��,� ��� ��,(���% �/ ��� *�%*��,% -,�� �� ��@*��+��� �,%'�I� �� ���� �&,(-�� ���6�� �� *,+
�,1� ��(� �&-�%�(�+�,���+ �/�%� ��% ���,� �&-%����� �+ +,��%,� �,+'�,'� *,+ � �%,+��,���
�+�� , 9�+��� /�+*���+ ��,� ,���%�� ��� ��������+,%� -%����%� 6� �,� �+ (�+��
�%��9*�,� +��%,� +��6�%1� *�(� �+ (,+� 0,��%� ,+� ���� �,�� ��(� ����%, �� -%�-�%����� +,(���
��,� ���� ,%� �+���%�,� ,--%�&�(,��%� ,+� ��%�,����� $,��*,���� ,+� /�+*���+ *,+ � ,--%�&�(,���
6��� ,% ��%,%� -%�*����+ � ��(� +��%,� +��6�%1� �������+,���� +��%,� +��6�%1� *,+ � �&��+���
6��� (�(�%� � �+�%���*�+' %�*�%%�+� *�++�*���+�� F�6���%� ,�� �/ ���� -�6�% *�(�� ,� ,
-%�*�� ��% , '���+ �,�1 ���%� �� +� 6,� �/ ,+,����*,��� ����%(�+�+' ��� ��� �% ���+ , '���
+��%,� +��6�%1� ,+� �/��+ , ����, �� �+� (��� � /��+� �&-�%�(�+�,����
�+ ��� ���+� ��,� , '��� +��%,� +��6�%1 �� /��+� ,+� ��,� 6��'��� ,%� ������� �+��% , 9�+���
/�+*���+ ��,� ��,-�� ��� ��,���% ,� 6� �&-�*���� 6� (�'�� 6,+� �� ,�� (�%� ��+��%�� ,*��,��%�
�% *�,+'� ��(� ����% ,�-�*� �/ ��� %� ��� ��� �+��%�+(�+� �% ��� �,�1� �+ ��,� *,�� 6� *���� �
�+ , ����,���+ 6��%� 6� 6���� -%,*��*,��� �,�� �� ��,%� /%�( �*%,�*� � 6��� , ��A�%�+� ,%��9*�,�
+��%,� +��6�%1� , ��A�%�+� 9�+��� /�+*���+ ,+�"�% , ��A�%�+� ��������+ ��%,��'��
4���+ ��� ��(��*�+��(�+' +,��%� �/ %�++�+' ��(��,���+� ,+� '���+ ��� ,(��+� �/ �%�,��,+���%%�%
�+������ �+ 9+��+' , ����, �� 9�+��� /�+*���+ ,� 6��� ,� , '��� ,%��9*�,� +��%,� +��6�%1 /�% ���
�,�1 ,� �,+�� ��������+,%� %� ���*� *,+ �,%��� � *�+����%�� , �+���%�,� (����� /�% ������-�+'
*�+�%����%� /�% ,���+�(��� %� ���� ),1�+' ����� ��%���� �+�� ,**��+� �+� *���� ,%'�� ��,�
��������+,%� %� ���*� �� (�%� ,%� ��,+ �*��+*�� ��',%����� �/ 6�����% 6� ,%'�� /�% �% ,',�+��
���� ���6� �� �� *��,% ��,� , (������*,� ,--%�,*� �� ������+' %� �� *�+�%����%�� �/ ��*� *,+ �
������-��� 6���� � �+�9*�,�� ��+*� ���� ��(� 6���� � �-�+� �+ �%�,��,+���%%�% ,+� (�%� �+
�*��+*��
�
Introduction 1.2 Goal
�+ ���� ����� 6� 6��� -,� ,���+���+ +�� �+�� �� ��� %������ � �,�+�� � ��� ������� *�+�%����%�
�� ,��� �� ��� -%�*��� ,� , 6����� 8� ��''��� ,+� ���*��� , (��������'� /�% ������+' %� ��
*�+�%����%� ,+� 6� �&-��%� ��� -�%/�%(,+*� �/ �,%���� +��%����������+ ��%,��'���� ��*� ,� '�+���*
,�'�%���(� D4��� �%'� ��E� D4��� �%'� . .E� D:��*����� �#E� *��-�%,���� *���������+,%�
'�+���* ,�'�%���(� D�����% ,+� �� L�+'� �E� D�����% ,+� �� L�+'� . E� [μ, λ] ��������+,%�,�'�%���(� D�*�6�/��� ��E� �+*%�(�+�,� ��������+ DF,%��� �� ,��� �E� D���9 �� ,��� �E�
D4�(�K ,+� :��11��,�+�+� ��E� ,+� ������+' +��%,� ,%%,�� D!�% ,�M+ ,+� ?,+K,%�+�� . �E�
�� �� +�� ��% ,( ����+ �� 0��� ��� , *�(-���� %�*�-� /�% ������+' %� �� *�+�%����%� ,��� �+
,%��9*�,� +��%,� +��6�%1�� ��(� � -���� �� (,7�% � -,%�� �/ ��������+,%� %� ���*� ,%� ��1��� ��
,�6,�� ��-�+� �+ , '%�,� ��,� �/ �&-�%�(�+�,���+� 5+ ��� *�+�%,%�� ��% ,( ����+ �� �� �,1� ���
9%�� �(,�� ���-� �+ ��� %�,� ��,��+' �� , (�%� ��%�*��%�� ,+� (������*,� ,--%�,*� /�% ������+'
*�+�%����%� /�% ,���+�(��� %� ���� �+ �%��% �� (��� �+ ��� ��%�*���+ �/ , ��%�*��%�� ,--%�,*�
�� ������+' *�+�%����%�� 6� �,�� *����+ , +�+��%���,� �,�1� 6��*� , �6,%(� �� ������ -�%/�%(�
� ���*%�-���+ �/ ��� �,�1 *,+ � /��+� �+ ��� /����6�+' ��*���+�
��� ����
)�� '�,� �/ ���� ����� �� �� ������- %� �� *�+�%����%� ,��� �+ ,%��9*�,� +��%,� +��6�%1� ���+'
��������+,%� (������� )�� *�+�%����%� ������ �+, �� , �6,%(� �� �� -�%/�%( -�����,&�� 6����
,�����+' ������ :�%����%� ��A�%�+� ,--%�,*��� /�% ������+' ��*� *�+�%����%� ,%� �+�����',����
)��� �+*����� ����'+�+'� %�++�+'� ,+� �����+' ��A�%�+� ��������+,%� ����-�� ��A�%�+� ,%��9*�,�
+��%,� +��6�%1 ��%�*��%��� ,+� ��A�%�+� +��%����������+ (������� � �6,%(� �� *�+�����+'
�/ (����-�� �� ��� �� ���� ,� ��� �,%�6,%� -�,�/�%(� )�� ���*�(� �/ ���� -%�7�*� ������ � ,
*�+�%����% 6�%1�+' �+ %�,� %� ��� ,+� ,+ �����+� �/ , '�+�%,� (��������'� /�% ������+' *�+�%����%�
/�% %� ����
��� �������
)��� �3� ������ �� �%',+�K�� ,� /����6�� �+ ��� /����6�+' ��*���+ 6� -%����� ,+ ���%���6 �/ ���
�6,%(� ��� -%�7�*� 6��� /�*�� �+ ��� %� ��� �,%�6,%� -�,�/�%( ,+� ��� *,-, �������� )��� ��
/����6�� � , ��*���+ �+ %��,��� %���,%*� ,+� ������� ��+� 6����+ ��� *�+��&� �/ ��� �6,%(� ���
-%�7�*�� �+ !�,-��% . 6� -%����� , %��/ �+�%���*���+ �� ,%��9*�,� +��%,� +��6�%1�� ��������+,%�
*�(-��,���+� ,+� ��������+,%� %� ���*�� �+ ���%���6 �/ ��� *����(� ���� ��/�6,%� ��(��,��% ��
-%������ �+ !�,-��% �� �+ !�,-��% 6� ��''��� , (��������'� /�% ������+' %� �� *�+�%����%�
,+� ,--�� �� �� � �,�+ *�+�%����%� /�% ��% (,�+ �,�1� +,(��� -�����,&�� ,+� �����,����,+*� ,�
���*%� �� �+ ��*���+ ��.� ��+,���� , ��((,%�� *�+*����+' %�(,%1�� ,+� /���%� ��%�*���+� ,%�
/��+� �+ !�,-��% ��
��� ��� ���������� �������
)�� (,�+ � 7�*���� �/ ��� �6,%(� �� -%�7�*� �� �� ������ ����'+� ,+� �(-��(�+� ���/��%',+�K�+'
,+� ���/�,���( ��+' ,%��/,*��� )�� -%�7�*� *�(-%���� ��%�� (,�+ ,*���������
�
1.4 The Swarm-bots Project Introduction
�� F,%�6,%� � , +�( �% �/ (� ��� %� ��� *,���� ��� ����
.� ��(��,���+ � , ��/�6,%� ��(��,��% *,���� �6,%( ����� �,� ��+ *�+��%�*�����
�� !�+�%�� ��/�6,%� � ��� ��/�6,%� ��,� *�+�%��� ��� %� �����
)�� -%�7�*� /�*���� �+ ������+' +���� ,--%�,*��� �� ��� ����'+ ,+� �(-��(�+�,���+ �/ ���/�
�%',+�K�+' ,+� ���/�,���( ��+' ,%��/,*��� :�*� �/ ��� 6�%1 6����+ ��� -%�7�*� �,� ��+ *�+�
*�%+�� 6��� ��� *�+��%�*���+ ,+� *�+�%�� �/ , +�( �% �/ �(,��� (� ��� %� ���� *,���� ��� ���
3,*� �� ��� �� �;��--�� 6��� , ��� ������� 6��*� *,+ � ���� �� -����*,��� *�++�*� (����-��
�� ��� ,+�"�% ����% � 7�*��� �+ ���� 6,� , +�( �% �/ �� ��� *,+ ,���( �� �+�� , ������
� �� �+�-�%�� � �+��*�� ,+� ����% �6,%(�+' ,+�(,�� �,%���� �,�1� �,�� ��+ ������� ��*� ,�
*��%��+,��� (����+ D)%�,++� �� ,��� . E� -%���%��%���,� D?, ���, �� ,��� . ,E� *��-�%,����
�%,+�-�%� D4%�N ,+� ��%�'�� . E� *�,�+ /�%(,���+ D����,+ ,+� ��%�'�� . E� ,���+�(���
���/�,���( �� D)%�,++� �� ,��� . *E� ,+� ,�,-���� �,�1 ,���*,���+ D?, ���, �� ,��� . E�
$���6 6� -%���+� ��� �,%�6,%� -�,�/�%(� 6���� �+ !�,-��% � 6� �,1� , *����% ���1 ,� ��(��,���+
������� ��% /�%���% �+/�%(,���+ �+ ��� �6,%(� ��� -%�7�*� ,+� ��� � 7�*������ ��� ��� /����6�+'
6� -,'�� http://www.swarm-bots.org�
����� �� ���
� -���� �/ ,+ �� �� �� ���6+ �+ ��'�%� ���� �+ �� �� �� (� ��� ��� �� ��� *�( �+�� �%,*1�
,+� 6����� �, ���� ��������� ������ �© ����� )�� �%���� ,%� ,��,*��� �� ��� ������ � ������
*�+�,�+�+' ��� (,7�%��� �/ ��� ��+��%� �� (��+��� ,��- ��� *�,���� ,+� *,+ %��,�� �+��-�+��+���
�- �� �# ��'%��� /%�( �+� �&�%�(� �� ��� ����%�� )�� %�'�� '%�--�% �� ��*,��� �+ ��� ��%%��
,� *,+ � ���+ �+ ��'�%� ��� �+ ��� +�&� -,'�� )��� '%�--�% �� ;���� -�6�%/�� ,+� �+, ���
+�,%�%�'�� *�++�*���+� ��6��+ �� ���� )�� �� �� �,� , *,(�%, ��*,��� ,� ��� ��6�% �+� �/ ���
�%,+�-,%�+�� -�,���* �� � -��+��+' �-6,%�� ,+� , (�%%�% �� ����,��� �+ ��� �--�% �+� �/ ��� �� �
-%�����+' ��� �� �� 6��� �(+����%�*���+,� �����+�
��� ��+��%� ,+� ,*��,��%�� ������ �+ ), �� ���� (,1� ��� �� �� , ��%� 0�&� �� -�,�/�%( /�% �������
�+ ����%,� ��-�*� ,+� ,���6 %���,%*��%� �� �&-�%�(�+� 6��� ��A�%�+� ,--%�,*��� �� �����+' �,%����
�,�1�� F�6���%� +� ��+'�� ����� �,� ��� ���� ,�� �/ ��� *,-, ������� �/ ,+ �� �� ,� �+*� H,+� 6�
�� +�� �+��+� �� �� �� �+ ���� 6�%1 �����%I� )��%�/�%�� 6� 6��� ���*%� � �+�� ����� ��+��%� ,+�
,*��,��%� ���� �+ ��� ,--%�-%�,�� ��*���+� �,��% �+ ���� �3� ������� 6���� 6� %�/�% ��� %�,��% ��
�+� �/ ��� /����6�+' -� ��*,���+� � :�+�,�, �� ,�� D. E ,+� :�+�,�, �� ,�� D. �E ,�,��, ��
�+ ��� �6,%(� ��� -%�7�*� 6� -,'�� /�% , (�%� ���,���� ���*%�-���+ �/ ��� �� �� �,%�6,%��
1��� ������� ��2��� �� ���� � �� � �� ��3��� ��� ������ ����� �� ��� �� ������ ��� � ��� http://www.swarm-bots.org4�� �� ��� ��� �������� �� ��� ��� ������ �� ��� �� �������� ����� �!" ������ ���� ������� �� ��� �� ����# ����$�� � ���� ����� ��� ��� �� ��� �� � ���� ��� � � � ��# �� �������� ������$�� �� �!" ������
�
Introduction 1.4 The Swarm-bots Project
Figure 1-1: �� ����� ����� �� � ����� ������ ���� �� ������� �� �� ����� ����� ���
��������� ������
)%���� !,(�%,:���%�K�� %��,���+ �/ ��� ��%%�� ���% (�*%�-��+��4%�--�% )%,*���+ ��+��%�)6� ������-�,1�%� F�(����� ��+��%�&� *���%�� ���� )�(-�%,��%� ��+��%���&� �� ,%( H�-���+,�I �+/�%%�� -%�&�(��� ��+��%�
�+/�%%�� '%��+� ��+��%��**���%�(���%4%�--�% ��%;�� ��+��%���,�� ��%;�� ��+��%)%��� ��%;�� ��+��%?�'�� ��+��%�
Table 1-1: Overview of the sensors and actuators installed on each s-bot.
�
1.5 Related Work Introduction
����� � �� ����
8��+ , +�( �% �/ ,���+�(��� �� ��� ,%� -����*,��� *�++�*� ���� *�(-��� ,+ ,%��/,*� %�/�%%��
�� ,� , ������� �� �+ �6,%(� �� /�%(,���+ (����-�� �� ��� *,+ *��-�%,�� ��%�*��� �+ �,�1�
��,� ��,+��,��+� �� ��� *,++�� ������ /�% �+��,+*� -,���+' ���% , ',- 6���% ��,+ �+� %� �� ,+�
�%,+�-�%��+' ��,�� � 7�*��� �+ ��(� �������� ��1� ���� �+�� ��� �� ��� ,%� �+ �6,%(� �� /�%(,���+
/%�( ��� �'�++�+' ���� ��� �+� �/ ,+ �&-�%�(�+�� 6���� �+ ����% ������� �+� �% (�%� �6,%(� ���
,%� /�%(�� ,� +������� ��'�%� ��. ���6� , �6,%(� �� *�(-���� �/ � ,���+�(��� �� ����
Figure 1-2: � ��������� ��� ���� �� � ���������� �������
�� ������! "��#�+ ���� �3� ������ 6� *���% , +�( �% �/ ����%���*,� ,+� -%,*��*,� ��-�*�� +,(��� +��%,� +���
6�%1��� ��������+,%� *�(-��,���+�� ��(��,���+ ,+� *�+�%����% �%,+�/�%� ,+� , +�( �% �/ +��%��
��������+ ��%,��'���� 8�%1 %��,��� �-�*�9*,��� �� ����� ��-�*� ,%� /��+� �+ ��� ,--%�-%�,��
��*���+� �/ ��� ������� $���6 6� %��0� ���*%� � ��(� �/ ��� 6�%1 %��,��� �� ��� �� �� -�,��
/�%( ,+� 6�%1 *�+*�%+�� 6��� -�����,&�� ,+�"�% �����,����,+*�� � '�+�%,� �+�%���*���+ ��
��������+,%� %� ���*� *,+ � /��+� �+ D���9 ,+� ���%�,+�� . E�
�+ ��� *�+��&� �/ ��� �6,%(� ��� -%�7�*� , ��� �/ %���,%*� �+ ������+' ,%��9*�,� +��%,� +��6�%1
*�+�%����%� ��*� ,� D$,��,��,%%� �� ,��� . .E ,+� D)%�,++� �� ,��� . �E �,� ��+ ��+�� :�%����%�
5%��� ������ ������� �� �� ������ ���� ���� � ��� � # ��� ������ �� � � �� ������� ��������� ����� ��
&'�� ��� �� �# �""�(6��� ������� ��7��� ������� ��8��� �� ���� �9��� ������� ��� � ������� )
�
Introduction 1.5 Related Work
�-�*�9* ������� �+ ������+' *�+�%����%� /�% *��%��+,����(����+ ,+� �����,����,+*� �,� ��+
-�%/�%(��� ��� /�% �+��,+*� D)%�,++�� . �E ,+� D)%�,++� �� ,��� . �E� )�� ���� ,����,+*�
������� -�%/�%(�� �� �,�� �,�� +�� �+*����� (���+' ��6,%�� , �-�*�9* �,%'�� ��*� ,� , ��'��
���%*�� �� �+�� �+ *��%��+,��� (���(�+� 6���� ,�����+' ������ F�6���%� ����% �������� ��*� ,�
D4%�N ,+� ��%�'�� . ,E ,+� D4%�N ,+� ��%�'�� . *E� �,�� ��+ *�+*�%+�� 6��� *����*����
�%,+�-�%� �/ ,+ � 7�*� ��6,%�� , ��'�� ���%*�� ,� ��� �+ � ��,*���/%�� �+��%�+(�+��� )����
*�( �+�� -������,&�� ,+� �����,����,+*� �,� +�� ��+ ,���(-��� /�% �6,%(� ��� -%��% �� ���
����� -%���+��� �+ ���� �������
:�'��+� �� ,�� D��E �,� ������� ��������+ �/ +��%,� +��6�%1 *�+�%����%� /�% , G�-��%, %� ��
�;��--�� 6��� , ��%�*���+,� *,(�%, ,+� -%�&�(��� ��+��%�� )�� %� �� ������ (��� /%�( ���
�+���,� ��*,���+ ��6,%�� , ��'�� ���%*� �+ ,+ ,%�+, 6��� 6,���� )�� ��'�� *���� ,�6,�� � ���+
� ��� *,(�%, �/ ��� %� �� 6,� /,*�+' �+ ��%�*���+ �/ ��� ��'��� ���+ �/ 6,��� 6�%� ��*,��� �+
��6��+ ��� ��'�� ,+� ��� %� ��� )�� 6,��� 6�%� -�,*�� �+ ��*� , 6,� ��,� �� 6,� +�*���,%�
/�% ��� %� �� �� �,1� , �����% ,+� (�(�+�,%��� ����� ��'�� �/ ��� �,%'�� �+ �%��% �� '� ,%��+�
���(� )�� ,����%� /��+� ��,� , %�*�%%�+� +��%,� +��6�%1 ������ ��� �,�1 ����% ��,+ , ��(-��
-�%*�-�%�+J ��6���%� '���+ ����% %��,������ ��(-�� ����- ,+� �(,�� ,%�+, H��& *(I �� �� �,%�
�� �%,6 '�+�%,� *�+*�����+� ,��� �+ ����% �&-�%�(�+�,� %�������
������'� ��� ����� � :�'��+� �� ,�� D��E ,%�� ��(� %���( �,+*� �� ��� �,�1 ��,� 6� ,%�
�%��+' �� ������ ���%� ,%� ��(� /�+�,(�+�,� ��A�%�+*��� 8� �-�%,�� 6��� , �6,%( �/ %� ���
��,� �,�� �� ��,%+ �� *��-�%,�� �+ �����+' ��� �,�1� 5�% %� ��� ,%� -����*,��� *�++�*��� ,+�
, %� �� *,+ ���,��� �+�� ��+�� ��� -%���+*� �/ , ���� �+*� �� �� ��%�*��� , ��� ��� )��� (�,+�
��,� , %� �� 6���� �+ (,+� *,��� /,�� �+ �/ �� 6,� +�� /�% ��� ����% �� ��� �+ ��� �6,%(� ���
:�%����%� 6� �� +�� ��� , ��%�*���+,� *,(�%,� �� �+���,� , +�( �% �/ ��'�� ��+��%� 6��*� ��+��
��'�� /%�( ,�� ��%�*���+�� ,+� ���%� �� �� *,+ ,�6,�� ��+�� ��� ��%�*���+ �/ ��� ��'�� ���%*��
��',%��+' ��% ��*�+�,%� � 7�*����� +,(���� ������+' , (������*,� ,--%�,*� /�% �+'�+��%�+'
%� �� *�+�%����%� ��%��'� ,%��9*�,� ��������+� 6� �,�� ��+ �+, �� �� 9+� ,+� %��,��� 6�%1�
)�� %�,��+ /�% ���� �� ��1��� ��,� ��������+,%� %� ���*� �� , %��,������ +�6� �� %�� 9��� ,+� ��,�
�+�� ������ �� 1+�6+ , ��� ��� ��+,(�*� �/ ��������+,%� ,�'�%���(� ,--���� �� ����,���� �( �����
%� ����
���������� �����������������
�+ ���� *�,-��% 6� '��� , %��/ �+�%���*���+ �� ��� ����%� ���+� ,%��9*�,� +��%,� +��6�%1� ,+�
��������+,%� ,�'�%���(� ,� 6��� ,� �� ��6 ����� ��*�+�;��� ,%� ,--���� �+ ��������+,%� %� ���*��
8� ������ ��� (,7�%��� �/ ��� *�,-��% �� ��� *�+*�-�� ,+� (������ ���� �+ ��� %�(,�+��%
�/ ��� %�-�%�� ���%�/�%� ���� �� +�� (�,+� �� � , '�+�%,� �+�%���*���+ �� +�����% �/ ��� 9�����
��,��%� �+/,(���,% 6��� ����� ��-�*� ,%� ,������ �� ���1 �+�%���*��%� (,��%�,� ����6��%�� ��*� ,�
DF,�1�+� ��E� D�,������ �E� D4��� �%'� ��E ,+� D!����� ��E� ��*���+ .�� ,+� ��*���+ .�.
�+ ,%��9*�,� +��%,� +��6�%1� ,+� ��������+,%� ,�'�%���(�� %��-�*������� *,+ �,/��� � �1�--�� �
, %�,��% /,(���,% 6��� ����� ��-�*�� ��*���+ .�� ���*��� �+ (�%� ,��,+*�� +��%����������+
��*�+�;��� ��*� ,� ������+' +��%,� ,%%,��� ���3� ��4� ,+� !!4��
��� $��%��� &����� &�����#�
�%��9*�,� +��%,� +��6�%1� %�-%���+� ,+ �+/�%(,���+ -%�*����+' -,%,��'( ��,� �� �+�-�%�� � ���
6,� ����'�*,� +�%���� �����(�� ��*� ,� ��� %,�+� -%�*��� �+/�%(,���+� )�� 1�� ���(�+� �/
���� -,%,��'( �� ��� +���� ��%�*��%� ,+� ��(,+��* �/ �+��%*�++�*��� +���� �% ���� ��� �%��9*�,�
+��%,� +��6�%1� �� , ��%�,���� ,+� %� ��� -,%,��'( /�% -%�*����+' +���� �+-���� ��*� ,� �����
-%���*�� � �(-�%/�*� %� �� ��+��%� ,+� /�% ,'�+�� 6�� +,��',�� �+ �+��%�+(�+�� ��,� *�+�,�+
���(�+�� �/ %,+��(+��� ,+�"�% �+*�%�,�+���
$���6 6� '��� , %��/ �+�%���*���+ �� ��� �����%� �/ ,%��9*�,� +��%,� +��6�%1�� �&,(-��� �/
��A�%�+� +��6�%1 ��%�*��%��� ,+� �� ��� ,--��*, ����� �/ +��%,� +��6�%1� �+ %� ���*��
����� � �������
)�� �����%� �/ +��%,� +��6�%1� �',+ �+ �� 6��+ :*!����*� ,+� ����� -� ������ , (,����
(,��*,� (���� �/ , +��%�+ D:*!����*� ,+� ������ ��E� �+ ����% (����� , +��%�+ �� , ��+�,%
��%������ *�(-���+' �+�� 6��� (����-�� �+-��� ,+� , ��+'�� ���-�� �/ �����% � �/ ��� +�%�� *���
%�(,�+� �+,*����� �% �� �/ ��� *��� ����� 8���� ��(� ����� ��� �+,%� +��%�+�� (,+� %���,%*��%�
�+ %� ���*� ���,� ��� , (�%� ��-�����*,��� 9%�+' �*��(�� 6��%� ��� ���-�� �� , *�+��+����
/�+*���+ �/ ��� +��%�+>� �+-���� �+ ��� �,�� �� � ,+� �,%�� �# � ��� 9%�� ,%��9*�,� +��%,�
+��6�%1� 6��%� �(-��(�+��� �+ , *�(-���% D����+ �,��� ��E ,+� D����+ �,��� �#.E� )��
*�(-��,���+,� ��(��,���+�� �/ ��� 9%�� *�,�� �/ ,%��9*�,� +��%,� +��6�%1�� ������� ��� 6��%� +��
���%*�(� �/�%� ��� �� �� � +�6 ��-� �/ ,%��9*�,� +��%,� +��6�%1 6,� -%�-���� ,+� F�%+�1
�� ,�� D��E ���6�� ��,� ����� +��6�%1�� %�/�%%�� �� ,� ������������ ������� ��� ,%� �+ /,*�
�+���%�,� /�+*���+ ,--%�&�(,��%�� �/��% ���� ���*���%� +�6 +��6�%1 ��%�*��%�� ,+� �&��+���+�
1* ���������� � ���� ��������� ��������� ����� ������ �� ��� ���� ��� ��� � ���# ���� �� ��� ���� ��� ���� ��� ������ �� �+�����$���� ,-./0 �������� &1���2� � 3 ����# ��!�(
2.1 Artificial Neural Networks Theoretical Foundations
�,�� ��+ ��''����� ,+� ������� ,+� ��� 9��� �,� ,��%,*��� , ��� �/ �+��%��� /%�( %���,%*��%� �+
�,%���� ���*�-��+��� �� , %����� ,%��9*�,� +��%,� +��6�%1� ,%� ���,� ���� �+ (,+� ��A�%�+� ,%�,�
��*� ,� -,���%+ %�*�'+����+� *�+�%��� ����*���+� ,+� -%���*���+�
����� �������� �� ��������
�+ ���� ��*���+ 6� 9%�� '��� , /�%(,� ��9+����+ �/ , +��%�+ ,+� ���*��� '�+�%,� -%�-�%���� ,%��9*�,�
+��%,� +��6�%1� H����I�
��$���� � � ���� �
� ���� �� n� � ������ � ������ x1 . . . xi� ��� �� ����� y� ��� ���� � ��� ���� xi � �
����� wi� � �� ��� w0 ������ ��� ����� � � ����� �,� ���� x0 = 1�
��� ,*���,���+� an� � n � ���� �� ��� � �� ��� � ����� �!
an =∑
i
wixi H.��I
��� ������ y� � � ���� � � ������ ����� � �� ����� �� an!
y = f(an) H.�.I
"� ��� f ��� ���� ��� ,*���,���+ /�+*���+ ���� y � ����� ��� ���� ��� ,*�������
�
y
x1
w0
x2xixi−1
w1 w2 wi−1 wi
1
f(∑
i wixi
)
Figure 2-1: � ��� ��� �� ���������� �� � ������� � ������ �� � ������ �� � ���x1, . . . , xi� ��� � ���� ��� � ��� x0 = 1� ��� ��� ��� ��� y� �� ��������� �� �� ������ � �� ��� �� �� � ��� ���� ��� � ��� ��� �����������
� '%,-��*,� %�-%���+�,���+ �/ , +��%�+ �� ���6+ �+ ��'�%� .��� )�� 6��'�� w0 �+ ��� �,� �+-��
/�% ��� +��%�+ ,+� ����%(�+�� ��� ��%������ /�% ��� ,*���,���+ ,+� ,���6� ��� +��%�+ �� ���-��
, �,��� ��A�%�+� /%�( f(0) �+ *,�� ,�� �&��%+,� �+-��� x1, . . . , xn ,%� ,�� �
��
Theoretical Foundations 2.1 Artificial Neural Networks
� +��%�+>� ,*���,���+ /�+*���+ *,+ � /%���� *����+� F�6���%� /�% , +��%,� +��6�%1 �� �
, �� �� %�-%���+� +�+���+�,% /�+*���+�� �� �� +�*���,%� �� ��� +�+���+�,% ,*���,���+ /�+*���+��
:�%����%� ��(� ��,%+�+' ��*�+�;���� ��1� ,*1�-%�-,',���+� %�;��%� ��� ,*���,���+ /�+*���+ ��
� ��A�%�+��, ��� 3&,(-��� �/ ��%�� -�-��,% ,*���,���+ /�+*���+� ,%� ���6+ �+ ��'�%� .�.�
)�� ��+�,% ,+� ��� ��-�% ���* �,+'�+� ,%� *�,���* (,���(,��*,� /�+*���+�� 6���� ��� ��� �
����� � ���� �� 6��*� 6� ���� �� '���+ � ��� /����6�+' �&-%�����+�
f(an) =1
1 + e−anH.��I
−1−0.5
0 0.5
1
−1 −0.5 0 0.5 1
linear
−1−0.5
0 0.5
1 1.5
−4 −2 0 2 4
tanh
0
0.5
1
−4 −2 0 2 4
sigmoid
Figure 2-2: !����� ������ �������� ���������
� +��%,� +��6�%1 *�+����� �/ �+� �% (�%� *�++�*��� +��%�+�� ��(� �% ,�� +��%�+� ,%� *�++�*���
�� ,+ �&��%+,� �+��%�+(�+�� ��%��'� ����� ,+� ������� )�� +��%�+� ,%� *�++�*��� � �����+'
��� ���-��� �/ ��(� +��%�+� /�+*���+ ,� �+-��� /�% ����%�� �+ ���� 6,�� , +��%,� +��6�%1 /�%(�
, ��%�*��� '%,-�� ��% 6�,� �� *,���� ������ ����� ���� �#� ��*� , '%,-� �� ,*�*��*� 6���� /�%
�������� ���� �#� ��*� , '%,-� *�+�,�+� *�*���� ��(� �/ ��� �+-��� /�% �+� +��%�+ *,+ *�(�
/%�( ��� �+��%�+(�+� ,+� ��� ���-��� /%�( ��(� +��%�+� *,+ � ���-�� �� ��� �+��%�+(�+��
��% %� �� *�+�%����%� ,��� �+ ���� ��� �+��%�+(�+�,� �+-��� ,%� ���,��� ��+��%� %�,��+'��
6���� ��� ���-��� *�+�%�� ��� %� ��>� ,*��,��%��
� *�((�+� /�%(,� ��9+����+ /�% ,�� ��-�� �/ ,%��9*�,� +��%,� +��6�%1� ���� +�� �&��� �� ��%
1+�6���'� ,+� 6� ��,�� +�� ,���(-� �� ��,�� �+� ��%�� 8� �+���,� -%���+� ��(� �/ ��� *�((�+
��-�� �/ ���� ��,� 6� 6��� ��� �+ �,��% *�,-��%�� )�� �,%���� ��-�� �/ +��6�%1 ��A�% �+ ��%(�
�/ ����% ��%�*��%� ,+� 6��� %��-�*� ����% ������ ����� ��+*� ��� �%��% �+ 6��*� ��� +��%�+�>
,*�������� ,%� *�(-�����
����� ������ � ���� � ����� �� ��
)�� 9%�� ��-� �/ ��� -%�-���� 6,� *,���� , ������� �� ��%*�-�%�+� ���+' �� ��� *�,�� �/
���� *,���� ������ ����� ���� �#��
��$���� � � $����� ����� ���� �#
%�� ��� ���� �� �� � � ������ ���� �# �� ��� � ��� � � ������ ��� ��� ����� � ��&�� �����
��������� � ������ ���� � �� �� � ��� �������� ���� � � ��� ���� � ������ ��� �����
���� � ������ ���� �# � ����� � ������ ����� ���� �# � ��� ��� � ��� � ����� � ����
��
2.1 Artificial Neural Networks Theoretical Foundations
����������
� -�%*�-�%�+ *�+����� �/ �6� ������� �+ �+-�� �,��% ,+� ,+ ���-�� �,��%� 3,*� �+-�� /%�( ���
�+��%�+(�+� �� %�*����� � �+� ,+� �+�� �+� +��%�+ �+ ��� �+-�� �,��%� �+ ��%+ ,�� +��%�+� �+ ���
�+-�� �,��% ,%� *�++�*��� �� ,�� ��� +��%�+� �+ ��� ���-�� �,��%� �+ �&,(-�� �/ , -�%*�-�%�+
�� ���6+ �+ ��'�%� .��� )�� +��%�+� �+ ��� �+-�� �,��% �/ , -�%*�-�%�+ ,%� �-�*�,� �+ ��� ��+��
��,� ����% ,*�������� ,%� ��� �&��%+,���� �+ ���� 6,� �,*� +��%�+ �+ ��� �+-�� �,��% 6�%1� ,� ,
��-,%,�� �+-�� �� ��� -�%*�-�%�+�
Input 1
Output 1 Output 2 Output 3
Input 2 Input 3 Input 4
Input layer
Output layer
Figure 2-3: �� ���� �� �� � ���� ����� �� � ��� ���� �� ���������� ����� ��������" ����� �� ������� � �� ������ �� ��# �� � �� �� ��� ��� �� �� �� � ���� ��������� �� �� ��� �� �� ��� ���� � ��� ������ ��� � �� �� �� ��� ��� � �� ��� �"���� ���� � ��� ��� �� ������ ������ �� �� ������"$� ��� ����
)�� �-�,�� %��� /�% -�%*�-�%�+� �� ��%,�'���/�%6,%�� )�� ,*�������� �/ ��� �+-�� +��%�+� ,%� ���
,+� ��� ,*�������� �/ ��� ���-�� +��%�+� ,%� *�(-���� ,+� ���-�� �� ��� �+��%�+(�+�� )����
-�%*�-�%�+� ,%� �-�,��� �+ ���*%��� �+-��"���-�� *�*����
��� ������ ����������
��%*�-�%�+� �,�� ��(� ,��* ��(��,���+�� ��% �+��,+*�� ���� *,++�� %�-%���+� ��� /�+*���+
�&*��������% HO5�I�� )���� ��(��,���+� *,+ -,%��� � ���%*�(� � ,���+' �+� �% (�%� �����
������ �/ +��%�+�� 3,*� +��%�+ �+ , �����+ �,��% %�*����� ��� ���-��� �/ ��� +��%�+� �+ ���
-%������ �,��% ,+� -%������ �+-��� �� ��� +��%�+� �+ ��� +�&� �,��%� )���� ��� +��%�+� �+ ,
�����+ �,��% �� +�� %�*���� �+-�� ��%�*��� /%�( ��� �+��%�+(�+� ,+� ����% ���-��� ,%� �+��
*�++�*��� �� ����% +��%�+� ,+� +�� �� ��� �+��%�+(�+�� )�� +��%�+� �+ ��� �����+ �,��% ,%�
,��� *,���� ����� ���� ��� �����/�%6,%� +��6�%1� 6��� �+� �% (�%� �����+ �,��%� ,%� *,����
���������� ������� �� '(%)* �% '�+�%,��� ���������� ������ ���� �#�� �+ �&,(-�� �/ , :?�
�� ���6+ �+ ��'�%� .��
������'� (�����,��% +��6�%1� *,+ �,�� (����-�� �����+ �,��%� �� �� �+*�((�+ �� ��� +��6�%1�
6��� (�%� ��,+ �6� �����+ �,��%��
21��� ����� ���# ���� � ���� ������� �� ����� � ��������# ����� �� ��� ���� ��� ��� � ���
��
Theoretical Foundations 2.1 Artificial Neural Networks
Input layer
Hidden layer
Output layer
Input 1 Input 2 Input 3 Input 4
Output 1 Output 2
Figure 2-4: �� ���� �� �� � %����� �� &���� ���� '%(&)� �� %(& �� � �� �� �� � ���������� ��� �� ���� �� ��� �� ���� �������� ��� ��� �� �� �� ��� ����������
����*� ��,� ��� +�( �% �/ +��%�+� �+ �+� �,��% *,+ � *����+ �+��-�+��+��� �/ ��� +�( �% �/
+��%�+� �+ ��� ����% �,��%�� 3�'� ��� +�( �% �/ +��%�+� �+ ��� �+-�� �,��% *�%%��-�+�� �� ���
+�( �% �/ ��+��%� %�,��+'�� ��� +�( �% �/ ���-�� +��%�+� *�%%��-�+� �� ��� ,*��,��% *�+�%����
6���� ��� +�( �% �/ �����+ +���� *,+ � *����+ ,% ��%,%�����
)�� �-�,�� %��� /�% :?� �� ��(��,% �� ��,� �/ -�%*�-�%�+�� )�� ,*�������� �/ ��� +��%�+� ,%�
*�(-���� �+ , ����(��- /,����+� ��� ��'�%� .��
��������� ������ �������
8���� ��+'�� ,+� (�����,��% -�%*�-�%�+� ,%� ��@*��+� �� %�-%���+� ��,��* /�+*���+�� (,+� �+�
��%����+' -%� ��(� %�;��%� ��� ��� ��'� �� %�*�'+�K� ��(-�%,��� �&��+��� -,���%+� �+ �+-��
��;��+*�� �+ /�% �+��,+*� �-��*� %�*�'+����+� :�(�%� �� �(-��(�+��� �+ +��%,� +��6�%1� �
�+�%���*�+' , +�6 ��-� �/ +��%�+ 1+�6+ ,� , ��� � ��� �% ��� �� ���� � +�( �% �/
�&��+���+� �� :?�� �,�� ��+ -%�-����� ��*� ,� + ���� ���� �#� ,+� ,���� ���� �#�� ���
DL�%�,+� � E ,+� D3�(,+� � E� %��-�*������� �+ L�%�,+ +��6�%1� �,*� ���-�� +��%�+ �,� ,
*�%%��-�+��+' ��� � ��� �� 6��*� ��� ���-�� �� *�-��� ,/��% �,*� ��,��,���+� )�� �,��� �/ ���
3'�� ������ �� �� �� �� �� ��4������ ��� ������� ��� �� � *55� * ������ ������2# ���� ���� ��� �� ���������# ����� ��� �� �������� ������ �� ��������� ��$�� �������� ���� ��6����� ���� �� ,�� �� � � ��������� ��� �������0# ����� ��� ��$���� �� ���� ��� ������2 ���� ��� � �� �� �� �� ��# ����� �� � � ������
��$�� ������� *� ����� � �� $ �� �� �� ����� ������2 ���� ��� � �� �� �� �� �� � ���� ��������� �� �� ����� � ��� � �� 7� ���� ��� ������� ,�� �� ��� ������20 ��� ���� ������+ ������2� ��$�� ��� ����� ���� ��� ������ �� ������� ������� �� ���� ������+ ������2
��
2.1 Artificial Neural Networks Theoretical Foundations
Context Units
Input 1 Input 2 Input 3 Input 4
Output 1 Output 2
Copy
Figure 2-5: �� ���� �� �� � *����� ������"� � *����� ������" �� ��������� ����������� ���� �� ��� �� ������� �� ��� ������ � �� ���� �� ���
*�+��&� �+��� �� ���+ ���� ,� �+-��� �� ��� �����+ �,��%H�I �+ ��� +�&� �+-��"���-�� *�*��� �+
���� 6,� *�+��&� �+��� 6�%1 ,� , (�(�%� � �,��+' ��� ���-�� ��,�� �/ , +��%,� +��6�%1 ,*%���
*�+��*����� ��(� ���-�� ��'�%� .�� ���6� ,+ �&,(-�� �/ , L�%�,+ +��6�%1� � �,��% �/ *�+��&�
�+��� *,+ ���+ � ,���� /�% ��� *�+��&� �+��� ���(������ H���/�%�*�%%�+� *�++�*���+�I� 6��*�
,���6� /�% 9+�% *�+�%�� ���% ��� ��*,� �/ ��� +��6�%1>� (�(�%�� 8������ ��*� ���/�%�*�%%�+�
*�++�*���+� ��� +��6�%1 %,-���� /�%'��� -%������ ��,��� DL�%�,+� � E�
3�(,+ +��6�%1� ���� �+ ��� �,(� *�+*�-�� F�6���%� �+���,� �/ *�-��+' ��� ,*������ �/ ���
���-�� +��%�+�� ��� �����+ �,��%H�I ,%� *�-��� �+�� , ��� �/ *�+��&� �+���� �+ �&,(-�� �/
,+ 3�(,+ +��6�%1 6��� �+� �,��% �/ �����+ +��%�+� H,+� ���%�/�%� �+� ��� �/ *�+��&� �+���I
�� ���6+ �+ ��'�%� .�#� �**�%��+' �� 3�(,+ D� E ��� %�*�%%�+� *�++�*���+� �+ ��� �����+
�,��%H�I ,���6 /�% , +��6�%1 �� ���� �+��%+,� %�-%���+�,���+� �/ '�+�%,��K,���+� 6��+ , +��6�%1
�� �%,�+���
)�� �-�,�� %��� /�% %�*�%%�+� +��%,� +��6�%1� �� ����(��- ,� /�% :?��� F�6���%� ��� *�+��&�
�+��� ,%� �+�� �-�,��� ����� ,�� ����% +��%�+� �,�� ��+ �-�,���� �+*����+' ���-�� +��%�+��
,+� ���� 1��- ����% ,*������ ��6��+ �+-��"���-�� *�*����
����� � ������ �������
�� /,% 6� �,�� �+�� ���*����� ���*%������(� +��6�%1�J ��,� ��� , +��6�%1 %�*����� ��(� �+-��
,� ��(� ���- ti ,+� *�(-���� ��� ���-��� /�% ��,� ��(� ���-� �� ��(� ���- ti+1 ��� +��6�%1
%�*����� , +�6 ��� �/ �+-��� ,+� *�(-���� , +�6 ��� �/ ���-���� �+ *,�� ��� �+-�� �� �/ ,
���*%��� /�%(� /�% �+��,+*� , ��%�+' �/ �����%� �% , ��%�,( �/ ��(-�%,��� ���+��-,*�� �,(-����
��
Theoretical Foundations 2.1 Artificial Neural Networks
Input 1 Input 2 Input 3 Input 4
Output 1 Output 2
Copy
Context Units
Figure 2-6: �� ���� �� �� �� +���� ������"� �� +���� ������" �� ��������� ����������� ���� �� ��� �� ������� �� ��� ������ � �� ���� �� ���
���� (���� 6�%1� 9+� ��+*� ��� ��� +��6�%1 ,+� ��� �+��%���+' -��+�(�+�+ ,%� �+��%�+���
���*%����
:,+� -��+�(�+, ,%�� ��6���%� +�� ���*%��� �+ ����% +,��%� ,+� ��� -�,�� , *�+�%,� %����
����(�� /�% �+��,+*�� ��,� , %� ��>� *,(�%, �+-�� �� -%�*����� ,��+*�%�+����� 6��� %��-�*� ��
��� ��*����+�(,1�+' *�+�%����% ,+� ��,� +�6 �+-�� �� ,�,��, �� ,� �%%�'��,% �+��%�,�� ��-�+��+'
�+ ��� *�(-��&��� �/ ,+ �(,'� ,+�6��%� ��6��+ ���%� . �� � (������*�+��� �/ 6� %�;��%�
��� ��� *�+�%����% �/ ��� %� �� �� �%,*1 , (���+' � 7�*� ,+� �� ,*� ,**�%��+'��� 6� +��� ��
�,1� ��� ��(-�%,� ��(�+���+ �+�� ,**��+� ,� ��� ���-�� ������ ��-�+� �+ ��� ��(� ��,� -,����
��6��+ �,*� �+-���
$� %�-�,*�+' ��� ,*���,���+ /�+*���+� �+ ��% +��%�+� 6��� ��(����-�+��+�� ��A�%�+��,� �;�,���+�
6� � �,�+ , *�+��+�������(� +��%,� +��6�%1 D<,(,�*�� ,+� $��%� �E� D$��%� ��E� )��
,*������ �/ , +��%�+ �� *�(-���� �+ ��� /����6�+' 6,��
an(0) = 0, H.�I
dan(t)dt
=1τn
(− an(t) +
∑i
wixi
)H.��I
6��%� an(t) �� ��� ,*���,���+ �/ +��%�+ n ,� ��(� t� τn �� , ��(� *�+��,+� �-�*�9* �� +��%�+
n� wi ,+� xi ,%� ��� 6��'��� ,+� �+-���� %��-�*������� /%�( ����% +��%�+� H�+*����+' ��� �+-��
+��%�+�I�
�+ ���� (,++�%� -�%*�-�%�+�� (�����,��% -�%*�-�%�+�� ,+� %�*�%%�+� +��%,� +��6�%1� *,+ �
�&��+��� 6��� *�+��+���� ��(� ,� , -,%,(���%� ��*� +��6�%1� ,%� 1+�6+ ,� ����� ������
��
2.1 Artificial Neural Networks Theoretical Foundations
���� �#� �% ���� ������ ������ ���� �#��
)�� �-�,�� %��� �+ , ��+,(�* +��6�%1 �� �/��+ ��(��,% �� ��,� �/ ��� +�+���+,(�* *��+��%-,%� �
�+ ���� *,�� �� �� *,���� , ����� � �� ���� �#� �+ ����% *,��� +��%�+� ,%� �-�,��� ,� ��A�%�+�
��(�� ,+� ��� +��6�%1 �� ���+ *,���� ,+ ������ � �� ���� �#�
����� ������ ������� ����
� +�( �% �/ ����% ��� ��%�*��%�� ,+� ��-�� �&���� 6��*� 6� �,�� +�� ���*��� �-�+ ��%��
)���� �+*���� F�-9��� +��� DF�-9���� ��.E� ���/��%',+�K�+' (,-� DG���+�+� . �E� ,+� ?�+'
���%��)�%( :�(�%� +��6�%1� H?�): +���I DF�*�%����% ,+� �*�(���� �%� �#E� ������'�
�� *���� � �+��%����+' �� ����� ��� ,--��*, ����� �/ /�% �+��,+*� ?�): +��� �+ ���� 6�%1� 6�
*�+����% ���� ,� ��+' ������� ��� �*�-� �/ ���� ������ 8� ���%�/�%� %����� ��� ��(-�,���+ �/
'��+' �+�� /�%���% ���,��� 6��� ����� �,%�,+���
����� ������ � ���� � ������ �� !����
���� �� ,+ �+��%����+' -,%,��'( /�% %���,%*��%� �+ ��� 9��� �/ ,���+�(��� %� ���*�� ��+*� %� ���
�,�� �� ,*� �+ , +�+�����%(�+����* 6�%�� -�%*����� ��%��'� +���� ��+��%� ,+� +��%,� +��6�%1�
,%� �+ '�+�%,� ;���� %� ��� ,',�+�� +����� � *�(-���� *�+�%����% *,+ *�+���� ��(-�� �/ , +��%,�
+��6�%1� 6��%� ��� ��+��% %�,��+'� *�%%��-�+� �� ��� �+-��� �/ ��� +��6�%1 ,+� ��� ���>�
���-��� *�+�%�� ��� ,*��,��%� �/ ��� %� ���
�/ 6� 6,+� �� ��� ���� /�% %� �� *�+�%����%� H�% /�% ,+� ����% -%� ��("�,�1I� 6� �,�� ��
����%(�+� ��� ��-� �/ +��%,� +��6�%1 �� ���� ��� ��%�*��%� ,+� 6��'���� � '%�,� ,(��+� �/
%���,%*� �,� ��+ ����*,��� �� ���� -%� ��(� 6��*� �/��+ �+������ �%,�+�+' ���� *�+�����+' �/
, +�( �% �/ �+-��� ,+� *�%%��-�+��+' ���-��� H��-�%����� ��,%+�+'I� �% ��(-�� , ��� �/ �+-���
H�+��-�%����� ��,%+�+'I� )���� �%,�+�+' ���� ,%� ���+ ,--���� �� �,%���� ��-�� �/ +��%,� +��6�%1�
6��� ��A�%�+� ��%�*��%��� )�� ��%�*��%� (�%� *,-, �� �/ '�+�%,��K�+' ���% ��� �%,�+�+' ���H�I
6��� %��-�*� �� ��(� �+*�(,%1 �� ���+ *����+� F�6���%� ����� -�-��,% ��,%+�+' (������
�� +�� *�%%�+��� ���( ,--��*, �� �+ ,���+�(���� (� ��� %� ���*�� ,� �%,�+�+' ���� ,%� �,%� ��
*�+��%�*�� )�� %�'�� ���+' �� �� 6��+ /,*�� 6��� *�%�,�+ ��+��%� �+-��� �� +�� ,�6,�� � ������
���+ �� ��(,+�� )��%�/�%�� 6� �%�,� ���� ,� ,+ �-��(�K,���+ -%� ��( ,+� ,--�� ��������+,%�
,�'�%���(� �+ �%��% �� �� ��� ����, �� �����
��
Theoretical Foundations 2.2 Evolutionary Computation
��� ��������� '��(�����
�+ ���� ��*���+ 6� 9%�� '��� , ��9+����+ �/ 6�,� ,+ �-��(�K,���+ -%� ��( �� ,+� ���*��� �,%����
��%,��'��� /�% �����+' ��*� -%� ��(�� 8� ���+ ���*%� � ��� �-��(�K,���+ -%� ��( 6��*� 6�
6,+� �� ����� � �-��(�K�+' 6��'��� �+ +��%,� +��6�%1� *�+�%����%� � ,+� '� �+�� ��-�� 6��� ���
���%����* 6��*� 6� ,��-�� +,(��� ��������+,%� *�(-��,���+� �+*����+' �&��+���+� ,+� *�((�+
�������
����� �� ��"��� �� #� ��$ � ���
�+ �+��,+*� �/ ,+ �-��(�K,���+ -%� ��( *,+ � ��9+�� �+ ��� /����6�+' 6,��
��$���� � � -���&�� � )� ����
$ ������� �� �������� � �� ����������� ����� � � ��� (S, f) ����� S � � ����� ���
� � ��� �� ����� ��� /�,�� ����� �-,*� ��� f : S → R � � ���� � ���� ��� ���� � *��� �
��� � ��� �� ��� �� ���� � � ��� � s̄ ∈ S � � ���!
f(s̄) ≤ f(s) � � ��� s ∈ S. H.�#I
.�� �� ������� s̄ � ����� �� �-��(,� �������+ � ��� ���� ��������
�� � �� ������ � ��� �� �� ����!
s̄ = arg mins∈S
f(s), H.��I
����� ��� /arg min0 �� ��� �� ��� ������� � ��� ��� S � � ��� ��� ����� � ���������
�
5-��(�K,���+ -%� ��(� *,+ � '%��-�� �+�� *�,����� ��*� ,� ���*%���� *�( �+,��%�,� �-��(�K,�
���+ -%� ��( H'%,-�� +��6�%1� �*������+'� ��*� ���,��� /,�� �+ ���� *,��'�%�I� ,+� '�+�%,� �+*�+�
��%,�+�� -%� ��(� 6��%� , '�� ,� (�+�(�( H�% (,&�(�(I �/ , +�+���+�,% /�+*���+ ���% %�,�� ��
���'���
� +�( �% �/ (������ �,�� ��+ ������-�� /�% �����+' �-��(�K,���+ -%� ��(�� )���� (������
*,+ � ������� �+�� �6� *,��'�%���� +,(��� � �� ���� �� ,+� ������ ����������
����� ������
3&,*� (������ '�,%,+��� �� 9+� , '�� ,� �-��(�( 6����+ ��� /�,�� ����� �-,*�� �/ ��� *���
/�+*���+ �� ��A�%�+��, �� ��� '�� ,� �-��(�( *,+ �+ ��(� *,��� � ����%(�+�� ,+,����*,����
:������ %����+' �+ ���� ��*�+�;�� ,%� *,���� ������������� 5���% �&,*� (������ �+*����
4�� � ���� ��� �� ��� ���� ���� ������� ����� � ������8 ���� ��������� ������ ��� ��� ������� �����
(S, f) ��� �� ������� �� ���� � ��� ������� ����� (S, g) �� � �� ���������� g = −f ��� �������� ���
��������� �� �������� �� � �� ��� ���� �� � ��� ���� ��� �������� g ���� � $ ��� �� ���� ������ �� S�5!���� ��� �� ����� ���� S � ���� ��� ��� � �� f �� S ��� ����� �� ��� ���� ��� �� ��� �� S������ ��� ��� � �� � ����"����� #���� ��� � ������
�
2.2 Evolutionary Computation Theoretical Foundations
�+�(�%,���+� %,+*� ,+� ��+�� $,����,+ ��,%*� ,�'�%���(�� ��**������ ,--%�&�(,���+� ,+�
��(���-�� !�((�+ �� ,�� 1+�6+ �&,*� (������ �� ��,� ���� ,%� �(-%,*��*,� �� ,--�� �+����
�����% ��� /�,�� ����� �-,*�� S� �� ��@*��+��� �(,�� �% ��,� ��� ��%�*��%� ,+�"�% ��,���% �/ ���
*��� /�+*���+� f � �� 1+�6+ ,+� *,+ � �&-�������
���� � � ������ �
P+��1� �&,*� (������� ���%����* ��%,��'��� �� +�� '�,%,+��� �� 9+� , '�� ,� �-��(�( �/ , '���+
*��� /�+*���+� �+���,� ���� ,�( ,� 9+��+' � � �������+� /�% -%� ��(� �� 6��*� �&,*� (������
,%� +�� -%,*��*,��� ,--��*, ��� F��%����* (������ �,�� -%���+ ��**���/�� /�% (,+� ����%���*,� ,+�
%�,��6�%�� -%� ��(�� ?�1� ��(� �/ ��� �&,*� (������� ��*� ,� %,+*� ,+� ��+� ,+� $,����,+
��,%*�� ���%����*� �/��+ �,�� �� � ,�,-��� �� , -,%��*��,% *�,�� �/ �-��(�K,���+ -%� ��(� �+ �%��%
�� -�%/�%( 6���� F��%����* ��%,��'��� �+*���� (������ ��*� ,� ��(��,��� ,++�,��+'� �, ����,%*��
,+��*���+� �-��(�K,���+� ,+� ��������+,%� *�(-��,���+�
��� � � �� �� �� ���
)�� �-��(�K,���+ -%� ��( ��,� 6� ,%� /,*�� �� �� 9+� '��� ���� �/ 6��'��� /�% ,%��9*�,� +��%,�
+��6�%1�� ������'� 6� 6��� ��,��,�� ��A�%�+� ��� ��-�� ,+� ��%�*��%��� 6� 6��� +�� *�+����%
��� +�( �% ,+� ��-�� �/ +��%�+� ,+� *�++�*���+� ,� -,%,(���%� �/ ��% �-��(�K,���+ -%� ��(
,+� ��% /�*�� �� �+ �-��(�K�+' ��� 6��'��� �+ ����� )���� �+ ���� ����� 6� 6,+� �� �-��(�K�
��� 6��'��� �/ , +��%,� +��6�%1 /�% �� ��� 6��*� (��� ,%��+� �+ , ��%��,� ,+� %�,� 6�%��� )��
�,��� *��� /�+*���+ /�% ��(� ��� %�0�*�� ��� -�%/�%(,+*� �/ , '%��- �/ �� ��� *�+�%����� �
��� ��� �+ , ��%��,� 6�%�� 6��� %��-�*� �� ��(� -�%/�%(,+*� *%���%�,� ��'� ��6 *���� �� ���
�� ��� '�� �� ��� �,%'�� ,%�,�
)�� +�( �% �/ ��A�%�+� ��,���� �/ ��� ��%��,� 6�%�� �� -%,*��*,��� ����� ,+� -,%��� � ��
��������� ��+*� +���� �� ,���� �� ��+��%� ,+� ,*��,��%�� :�%����%� ��� ��%��,� 6�%��� ,+�
���%�/�%� ,��� ��� *��� /�+*���+� �,*1� , 6������9+�� ��%�*��%�� 6��*� *,+ � �&-������ � ,+�
1+�6+ �&,*� (������ )�� -%� ��( �� �/ %��,������ ��'� ��(�+���+,����� ��,� �� �+� ��(�+���+
/�% �,*� 6��'�� 6� 6,+� �� �-��(�K�� ,+� ��� ��K� �/ ��� /�,�� ����� �-,*� ���%�/�%� (,1�� ���
��� �/ �&,*� (������ �(-%,*��*,��
5/ ��� ,�,��, �� ���%����* ��%,��'��� 6� �,�� *����+ ��������+,%� *�(-��,���+ ��+*� �&��+����
%���,%*� �,� ��+ ��+� �+ ,--���+' ���� (����� �� ��� ��������+ �/ ,%��9*�,� +��%,� +��6�%1��
�+ ��*���+ .�� 6� ���*��� ��(� �/ ���� %���,%*� �+ (�%� ���,��� 6���� �+ ��� +�&� ��*���+ 6� '���
,+ ���%���6 �/ ��������+,%� *�(-��,���+�
����� %������� &'���� �� #� � ��
)�� *�+*�-� ���+� ��������+,%� *�(-��,���+ �� �+�-�%�� � +,��%,� ����*���+� �,��%,� ����*���+
-%��*%� �� ��,� ��� 9���% �+��*��� -�,+��� ,+�(,�� ,+� ��(,+� �,�� ����% *�,+*�� �/ %�-%���*�+'
*�(-,%�� �� �����% 9� �-�*�(�+�� )���� 9���% �-�*�(�+� %�,% (�%� �A�-%�+' ��,+ ���� 9�
6* �� �� �� ��� $���� � ���� �� �7�� �� ��� ���������# ������ �����# ���������# � ���7��� ����� �� ���������# � ����� ������� � ����� ��� ���� ����� ��� ������ �� �9����� ������������� ��� ����� � � ������ ����7���� ��� �� �� ���� � ��������# �� ����� �� ��� ������ �� �� ��� ��7����
��
Theoretical Foundations 2.2 Evolutionary Computation
�-�*�(�+�� 8��+ �+������,�� %�-%���*� +�6 *�( �+,���+� �/ ����% '�+���* (,��%�,� ,%� *%�,����
6��*� (,� ��,� �� +�6 ��+��+' �/ '��� '�+��� 6��*� %������ �+ ���+ 9���% �+������,��� :�%����%�
'�+���* (��,���+� �+ �+������,�� *,+ ��,� �� �(-%���(�+�� �% %�'%�����+� ��,� �+ ��%+ %����� �+
��'��% ,+� ��6�% *�,+*�� �/ %�-%���*���+� %��-�*������� �+ ���� 6,� �-�*��� �+��%'� *�+��,+�
*�,+'�� 6��%� ��� 9����� (�( �%� ,%� /,��%�� � �,��%��
3�������+,%� *�(-��,���+ �� ���� ,%��+� ���� ���, ,+� ���� ,%� �� �,%���� ��'%��� �+�-�%��
� ��� �+��%���+' ����'�*,� (�*�,+��(� '���%+�+' %�-%���*���+� )�� ,��* *�+*�-� ���+�
��������+,%� *�(-��,���+ *,+ � ��,��� ,� /����6��
%�� � � ����� � � �������� � ��� � ���� �� ���� ��� ��� �� �� �������� �� � ���
��� ���# ���� � �� ��� ���� � � � ��� � ����� �� %�� ��� �� ��� ����� ���� � ��
������� � ���� � � �������
)�� ��%(�+,���+ *%���%��+ *,+ /�% �+��,+*� � ��,� +� �(-%���(�+� �,� ��+ ���+ /�% , +�( �%
�/ ��**������ -�-��,���+� �% ������� ��� , �������+ �/ , ��@*��+� ��'� ;�,���� �� %�,*���� �%
��(-�� ��,� , *�%�,�+ +�( �% �/ '�+�%,���+� �,�� ��+ ��,��,����
3�������+,%� (������ �/��+ %��� �+ ��(� *�(-,*� %�-%���+�,���+ �/ ,+ �+������,�� �+�-�%�� �
��� %��� ,+� /�+*���+ �/ ��� �+ �,��%�� 3,*� ��� �/ *�%�(���(��� -%���+� �+ ���%� *��� �/ ���
���%� ����+' �%',+��(� �� , *�(-,*� ����-%�+� /�% ��� �+��%� ��+'� �+ �,��%� ��� �+/�%(,���+
*�+�,�+�� �+ , *�%�(���(� �� 6%����+ �+ , /��%������% ,���-,�% ,�-�, ��� {A,T,G,C}� �+
��������+,%� *�(-��,���+ , ��A�%�+� �+*���+' �*��(� �� �/��+ *����+ /�% ��� �;���,��+� �/
*�%�(���(��� ��*� ,� ��� ,�-�, �� {0, 1}� � ��%�+' �/ � ,+� �� *,+ ��%�� ,� , *�(-,*�
%�-%���+�,���+ �/ ,+ B�+������,�C� ���� , *,+���,�� �������+ �� , -,%��*��,% -%� ��( ��*� ,� ,
��� �/ +��%,� +��6�%1 6��'��� /�% , %� �� *�+�%����%� �+ ��� �,(� 6,� ,� , '�+� �� , ��*���+ �/
*�+��*����� ���(�+�� �+ ��� ��� �������& ��� (���*��� �+ ����+' �%',+��(�� , ��� �/ *�+��*�����
�����%� �+ ��% ��%��,� *�%�(���(� *��� /�% , ������� �/ ��� �������+� )���� ��% ��%�+' �% ��%��,�
*�%�(���(� 6�%1� ��%� (�*� ��1� ��� �+ ��(,+�� ,+�(,�� ,+� �+��*��� )�� %�-%���+�,���+ ��
'�+�%,�� �� ��� ��*���+' �/ , -,%��*��,% ��*���+ �� -%� ��(���-�+��+� H�-�*�����-�+��+�I� �
/�,��%� *�+�����+' �/ , ��+'�� ���(�+� �+ ��% ��%�+' *���� /�% �+��,+*� *��� /�% ��� -%���+*� �%
, ��+*� �/ ,+ ��'� �+ , '%,-�� ��� +�&� /�,��%� �+ ��� ��%�+' *���� *�+���� �/ �# ���(�+�� H�%
���I ,+� *���� � �+��%-%���� ,� , 0�,��+'�-��+� 6��'�� �+ ��� ��'��
��������������������������������������������������������������������������������������������������������������������������������
������������������������������������������������������������������������������������������������������������������������
������������������������������������������������������������
��������������������������������
1 2 17 21
Gene 1 Gene 3 Gene 4
18 22 25
Gene 2
boolean 16 bit floating point 4 bit integer 4 bit integer
Figure 2-7: �� ���� �� �� � ������ ���� �� �� ���� {0, 1}� ,� �� ���� �� ������� �� � ����� �� -� ��� ������� ���� ����� �� ��������# .�� �������'����/�����)� ��� ������ ��� ������ ��� ��� ��������
�+ �&,(-�� �/ , ��%�+' �� ��-�*��� �+ ��'�%� .��� �+ ���� �&,(-�� ��� ��%�+' ���% ��� ,�-�, ��
{0, 1} �,� , ��+'�� �/ .� ���(�+��� 6��*� �+*���� /��% /�,��%��� 5+� ����,+ H�%��"/,���I �+�
�
2.2 Evolutionary Computation Theoretical Foundations
0�,��+' -��+� �,���� ,+� �6� �+��'�%�� ��% ,+����% �-��(�K,���+ -%� ��( 6� *���� �,�� *����+
, ��A�%�+� ��+'�� /�% ��� ��%�+' ,+� ,+����% ��*���+'� F�6���%� �+*� 6� �,�� , ��%�+' �/ ���
*�%%�*� ��+'�� 6� *,+ ��*��� ,+� ��,��,�� �� /�% , -,%��*��,% -%� ��(� ��% �+��,+*�� 6� *,+
��,��,�� ��� ��+'�� �/ ��� ���% �� ���*%� �� �/ 6� ,%� �-��(�K�+' ,+ �+��,+*� �/ ��� �%,����+'
�,���(,+ -%� ��(� �% �+ ��% *,��� 6� *,+ ��� ��6 6��� , %� �� -�%/�%(� , *�%�,�+ �,�1 6��+
��� ��%�+' �� �+��%-%���� ,� , ��� �/ 6��'��� /�% , +��%,� +��6�%1 *�+�%����%� �+ ���� 6,� 6� *,+
,���'+ , ������ ����� H�% ��(-�� , ������I �� �,*� ��%�+'��
5+*� ,�� ��%�+'� �+ , -�-��,���+ �,�� ��+ ��,��,���� 6� 1+�6 ��6 ��� �������+ �+*���� �+ �,*�
��%�+' -�%/�%(�� ,+� 6� *,+ ����*� ��� ��� ��%�+'� /�% %�-%���*���+� ����%,� ����*���+ �*��(��
�&���� /�% �+��,+*� %������� 6���� ����*���+ 6��%� �,*� �+������,� �,� , *�,+*� -%�-�%���+,� ��
��� 9�+��� �/ '����+' ����*��� /�% %�-%���*���+� � %,+��( +�( �% '�+�%,��% B�-�+� ��� 6����C�
��% �,*� ��%�+' �+ ��� +�6 -�-��,���+ �6� -,%�+� ��%�+'�� P1 ,+� P2� ,%� ����*��� ,+� ����%
��%�+'� ,%� *�( �+�� ��%��'� ��� �-�%,���+ 1+�6+ ,� � �� ��� � � -������+� x� ��6��+ �6�
���(�+�� �+ �+� -,%�+� ��%�+' �� %,+��(�� *����+ ,+� ��� +�6 ��%�+'� C� �� *�(-���� �/
���(�+�� e1 . . . ex /%�( P1 6���� ���(�+�� ex+1 . . . el ,%� *�-��� /%�( P2� �+ ���� 6,� C �� ,
*�( �+,���+ �/ �������+� P1 ,+� P2� $������ *%������%� 6� �+�%���*� ����� � �� ��,� �,*�
���(�+� �/ �+ C �,� , �(,�� -%� , ����� �/ ��+' %,+��(�� ����*��� /%�( ,�-�, �� �+���,� �/
�+� �/ ��� -,%�+� ��%�+'�� :��,���+ �+��%�� ��,� +�6 �������+� ,%� �&-��%�� /%�( ��(� �� ��(��
8��+ �+��'� �+������,�� �,�� ��+ *%�,��� , +�6 '�+�%,���+ �� ,�,��, �� /�% ��,��,���+� )�
��((,%�K� ���� ��-� �/ ��������+,%� *�(-��,���+� 1+�6 ,� , ����� ��� ���� H4�I� ��� -������
*��� /�% , '�+�%,� 4� �� ���6+ ���6�
� ������ ��� ������ ���������∗ P� Evaluate,P0
� ����� ,��� ������� ��������� ��� ��0
P ′ = ∅
) ��� ���� ��������� �� �� �������
! P1, P2 : SelectParents(P); C : Crossover(P1,P2)
< Mutate(C)
� P ′ ← C
�" ����
�� P = P ′
�� Evaluate,P0
�� ������
∗'�� ����� � ����� ���� �� ��� ��� � � ���� ����� ��
7�� ��� � �� �� ��� �� $������ � ���� � ������� � �� � � � �� �������� � � � ���� �� ������ ������� � $ ������������ ��� �� ��� =� ���� �� �� � ��������> ��� �������# ��� ������ �� ��������� ��������# �� ��� ������ � # �� �� ��� �� �� ��� ��������� � �� ����� ���� $ ���� �� � ������ �� ��� $��� � �� �� �� ��� �� � ����� �����
��
Theoretical Foundations 2.2 Evolutionary Computation
)�� -������*��� ���6+ , ��� ������%,��� ��� ,��* *�+*�-� ���+� 4��� )�� ,��* -%�+*�-��
���+� 4�� �� /,�%�� ��(-��� ��� �� ���� ��(-��*��� ,+� ��� �� 4�� '�+�%,����� ���� ,%� 6�����
���� /�% *�( �+,��%�,� ,+� '�+�%,� �-��(�K,���+ -%� ��(� ,��1� �+ ��� �+����%� ,+� %���,%*��
:,+� �,%�,���+� ,+� �&��+���+� �,�� ��+ -%�-����� ��*� ,�� ��-������ �+��%���+ ,+� %��%��%�+'
��%,��'���� (������ 7�*���� ��������+� ������(� ��*� D4��� �%'� ��E� D4��� �%'� . .E� D:��*�����
�#E� D:�*�,��6�*K� �E� DQ���� �E� ��%���%(�%�� /�% ��(� -%� ��(� (�%� ��, �%,��
/�,��%� �+*���+' �*��(�� ,+� �,%�, �� ��+'�� ��%�+'� ,%� ����� /�% �+��,+*� /�% -%� ��(� 6��%�
'%,-� ��%�*��%�� ,%� �������� �+ ��*� *,���� ��� *%������% ,+� (��,���+ �-�%,��%� �/��+ �,��
�� � (���9�� �� �+��%� (�,+�+'/�� �A�-%�+'� ��% �+��,+*�� ��� *%������% �-�%,��% *���� ����*�
�� �'%,-�� /%�( �,*� -,%�+� ,+� 7��+ ���( �+ , -%� ��(��-�*�9* (,++�%� 6���� ��� (��,���+
�-�%,��% *���� ,�� �% %�(��� ��'�� ,+� +�����
! ��� "�������
)�� ������ �������� �� , (��,-��%�*,� ��%( ���� �� ���*%� � ��� ,--�,%,+*� �/ ��� �,+��*,-�
��9+�� � ��� 9�+��� /�+*���+ 6��+ /�+*���+ �,���� ,%� �+��%-%���� ,� B���'���C� ��*� ,
�,+��*,-� �/��+ �,� ����%,� �,����� ,+� -�,1�� �+ �&,(-�� �/ , 9�+��� �,+��*,-� /�% , �+��
��(�+���+,� 9�+��� /�+*���+ �� ���6+ �+ ��'�%� .��� �/ 6� ��,%� 6��� , %,+��( -�-��,���+� ���
��,%��+' -��+�� 6��� � �-%�,� (�%� �% ���� ���+�� �+ ��� 9�+��� �,+��*,-�� � 4� 6��� ��,%� (���+'
��� ��%�+'� �+ ��**������ '�+�%,���+� �-���� ��6,%�� -�,1� � *�+��+������ /,��%�+' �+������,��
-�,*�� ��'��% �+ ��� 9�+��� �,+��*,-�� ��% �&,(-��� �+ ��'�%� .�� �+������,�� �+ ��� �,���� � ,%�
+�� ,� ��1��� �� � ����*��� /�% %�-%���*���+ ,� �+������,�� �+ ��� ���� ��6,%�� ! �% 3� $�*,��� �/
*%������% ,+� (��,���+ ���%� �� , *�,+*� ��,� �+� �% (�%� ��%�+'� ,%� *%�,��� ��,� ,%� /�%���%
�- ��� ���� ��,+ �+ ��� -%������ '�+�%,���+�
A
C
D
E
B
10
Figure 2-8: �� ���� �� �� � 0����� ������� � �� ������� ��"� ��� ����� �� � � ������� ������� ������ 1 � �"�� �� ����� ������� ������� ! ���/�� +�
�� �� +�� �+*�((�+ /�% , 9�+��� �,+��*,-� �� �,�� (����-�� -�,1�� )��� -��+�(�+�+ -���� ,
*�((�+ %��1 ,���*�,��� 6��� ��� ��� �/ 4�� ,+� ���%����*� �+ '�+�%,�J +,(���� ��� *�,+*� �/
9+��+' , ��*,� �-��(�( /%�( 6��*� ��������+ *,++�� ��*,-�� �+ ��'�%� .�� ��� -�,1 3 �� ���
'�� ,� �-��(�(� �� ��+*� ��� ��*���+ �/ ��� 9�+��� �,+��*,-� ,%��+� �� $� ,+� ! �+ '�+�%,� �,�
, %��,������ ��'� 9�+���� ���%� �� , *�,+*� ��,� , 4� 6���� ��,%� *��( �+' ��� 6%�+' ����� 3��+
����'� *%������%� (��,���+� ,+� ��� ����*���+ �*��(� ,�� *�+�%� ��� �� -�-��,���+ ����%���� ,+�
��
2.2 Evolutionary Computation Theoretical Foundations
�+��%� ��,� +�6 �������+� ,%� �&-��%��� ���%� �� +� '�+�%,� (����� /�% ,�����+' '����+' ���*1
�+ , ��*,� ,+� +�� '�� ,� �-��(�(�
�+����% -%� ��( *,+ ,%��� �+ *,�� ��� 9�+��� �,+��*,-� �,� /�6 ,+�"�% +,%%�6 -�,1�� �+
���� *,�� �� *,+ � ��@*��� /�% , 4� �� 9+� , ���� �� ��,%� *��( �+'� )��� �� 1+�6+ ,� ���
� ��������� �� ����� )�� 9�+��� �,+��*,-� �+ ��'�%� .� ������%,��� ���� -%� ��(� �/ +�+� �/
��� ��%�+'� �+ ��� �+���,� -�-��,���+ ,%� �+ , ���� ��,��+' �� , -�,1� ,�� ��%�+'� 6��� %�*���� %��'���
��� �,(� 9�+���� ,+� �� �� ���%�/�%� �(-���� �� /�% , 4� �� ���� 6��*� �+������,�� ,%� *����% �� ,
'��� �������+� )�� %����� �� ��,� �+ ����� *,��� ��� 4� 6�%1� ,� ,+ �+�@*��+� %,+��( ��,%*��
Figure 2-9: �� ���� �� �� � 0����� ������� � �� ��� ��� ��"� 2������� ��'������ � 3� �� ���� ������� ������ ��������) ��� �� � ������ � ������ ���� �� ���� ���������� �� ��" � �� 0����� ������� � � ������ ���� ����
)��%� ,%� , +�( �% �/ -%� ��(���-�+��+� ��%,��'��� /�% ���%*�(�+' ��� �����%,--�+' -%� ��(�
8� %���%+ �� ����� �+ �,��% *�,-��%��
��
Theoretical Foundations 2.3 Evolutionary Algorithms, Neural Networks, and Robots
��� ��������� $�)������* &����� &�����#�* �! ������
���%,� +��6�%1� ,+� ��������+,%� *�(-��,���+ *,+ � *�( �+�� �+ �� ������ *�+�%����%� /�% ,��
��+�(��� %� ���� �+ ��(� *,��� ��� ��� ��%�*��%�� ,*���,���+ /�+*���+� ,+� 6��'��� ,%� �������
� ��������+,%� ,�'�%���(�� 8� 9%�� -%���+� /��% %�*�+��� -%�-����� ,��,+*�� +��%����������+
��%,��'���� /����6�� � , ��(-�� �&,(-�� �+ 6��*� +��%,� +��6�%1� ,+� '�+���* ,�'�%���(� ,%�
���� �+ *�+7�+*���+�
����� ��' ���� �����&'���� �� �����
�+ ��� -%������ ��*���+ 6� �,6 ��6 ,+ ��������+,%� ,�'�%���( *���� %��,���� �,���� 9+� , '���
��� �/ 6��'��� /�% ��� -�%*�-�%�+� ,���6�+' , %� �� �� 9+� ,+� (��� ��6,%�� , ��'�� ���%*��
��% , ��(-�� �,�1 ,+� , ��(-�� ���� , ��%,�'���/�%6,%� ,--%�,*� *,+ � ��@*��+�� ��% (�%�
*�(-��& �,�1� �� �� �+/�%��+,���� +�� ,�6,�� ��� ������ %��,��� �� �����%,--�+' ,+� -%�(,��%�
*�+��%'�+*� �� ��*,� �-��(, *�( �+�� 6��� ��� ,(��+� �/ -%�*����+' %�;��%�� �� ��,��,�� �,*�
�+������,� �,�� �-,%1�� %���,%*� �+ (�%� �@*��+� ��%,��'��� /�% ������+' %� �� *�+�%����%� ,���
�+ ����� $���6 6� ���� /��% ��*� ��%,��'����
# $ % #��� � ������ �� $���� � ���� ���
��4� �� ,+ �&��+���+ �/ *�,���* '�+���* ,�'�%���(� 6��%� ��� ��(�+���+,���� �/ ��� ��,%*� �-,*�
�� �+��% ��������+,%� *�+�%�� DF,%���� �.E� )�� /�+�,(�+�,� -%�+*�-�� ���+� ��4� �� �� ���
,+ ��������+,%� ,�'�%���( �-��(�K� +�� �+�� 6��'��� �� ,��� ��%�*��%� ,+� ��K� �/ ����� )���
�� ��+� � �����+' �,%�, �� ��+'�� ��%�+'� �+*��� ��� (�%-����'� ,� 6��� ,� 6��'��� �/ +��6�%1��
��4� �� ,+ �+*%�(�+�,� ��������+ ��%,��'�� 6��%� ��� 9%�� '�+�%,���+� *�+���� �/ %��,������
��(-�� ����� �� �� �- �� ��� ��������+ �� -%���*� �+*%�,��+'�� (�%� *�(-��& +��6�%1� �/ ���� ��
���/�� �� ����� ��� �,�1 �+ ;������+� )�� �+*%�(�+�,� ��%,��'� *,+ ���- ����� ��� �����%,--�+'
-%� ��( �*,��� ��� ��,%*� �-,*� �� %��,������ ��(���� ��%�+' ��� �+���,� '�+�%,���+� ,+� �+��
'%�6� 6��+ ,+� �/ ��������+ 9+�� ,+ ,��,+�,'���� 6,� �/ ���+' ���
�+ DF,%��� �� ,��� �.E ��� ,����%� ,--�� ��4� �� ��� -%� ��( �/ %� �� +,��',���+ �+ ,+
�+��%�+(�+� *�+�,�+�+' � ��,*���� �+ ���� *,�� �,*� �,%�, �� ��+'�� ��%�+' �,� �6� 9&�� ��*�
���+�J �+� /�% ��� �+-�� +��%�+� ,+� �+� /�% ��� ���-�� +��%�+�� 6���� ��� ��*���+ �/ ���
��%�+' *�%%��-�+��+' �� ��� �����+ +���� �� �/ �,%�, �� ��+'��� )�� ,����%� ��� +�+��,��%���
*�+��+�������(� %�*�%%�+� +��%,� +��6�%1�� 6��� ��� �&*��,���+ ,+� �+�� ���% ��+1� ,+� 6��%�
+���� �� ,���� �� ��� ,*���,���+ �/ �,*� +��%�+� ������'� ����� ���� ,%� %,���% *�(-��&� ���
��4� ,--%�,*� *���� �,���� � ,�,-��� /�% ��(-��% ��-�� �/ +��6�%1�� ��*� ,� ����� �+�%���*��
�+ ��*���+ .���� �+ -,'� ���
# ��% #��& �� �' ���� (� �������(���� ��
�� /,% 6� �,�� �+�� ���*����� '�+���* ,�'�%���(� 6��%� �,*� ��%�+' ��9+�� ,+ �+��%� ���� �
(����� 1+�6+ ,� ��( ����*� ��,-���� ���%��3�������+ H���3I �,1�� , ��A�%�+� ,--%�,*��
+,(��� ��,� �,*� -�-��,���+ (�( �% %�-%���+�� �+�� , -,%��,� �������+ D:�%�,%�� ,+� :��11��
�,�+�+� �#E� �+ ���3 �,*� ��%�+' *�%%��-�+�� �� � ����� ���� � �+ , :?�� ��,� ��� �,*� ��%�+'
��9+�� , ��� �/ *�++�*���+� ,+� 6��'��� /%�( ��� �+-�� +��%�+� ,+� �� ��� ���-�� +��%�+��
��
2.3 Evolutionary Algorithms, Neural Networks, and Robots Theoretical Foundations
���+��� ��,��,���+ �,1�� -�,*� � *�+��%�*��+' , :?� 6��%� ��� �����+ �,��% +��%�+� ,+� ����%
*�++�*���+� �� ��� ���-�� �,��% ,%� ��9+�� � , +�( �% �/ ��%�+'� ����*��� /%�( ��� *�%%�+�
-�-��,���+� �+ ���� 6,� (����-�� ��%�+'� ,%� ��,��,��� ,� ��� �,(� ��(� ,+� ���� ,%� ���%��
/�%� %�6,%��� /�% ����% '�+�%,����� 3,*� ��%�+' -,%��*�-,��� �+ , +�( �% �/ ��A�%�+� +��6�%1�
*�+��%�*��� �+ ���� (,++�% ,+� ��� 9�+��� �� ��� ,��%,'� -�%/�%(,+*� �/ ����� +��6�%1��
��+*� , :?� 6��� �+�� , ��+'�� ��-� �/ �����+ +��%�+ �����( �� ��@*��+� �� ����� , -,%��*��,%
�,�1� ���3 %������ �+ -�-��,���+� 6��%� ����%,� �-�*�,��K�� �� �'%��-� �(�%'�� �+ ���� 6,�
���3 %������ �+ �(-��*�� +�*��+' ,+� �� ���%�/�%� +�� ,� -%�+� �� -%�(,��%� *�+��%'�+*� ,�
*�,���* +��%����������+ ��%,��'���� �+ :�%�,%�� ,+� :��11��,�+�+ D�#E ��� ,����%� ���6 ��,�
/�% ��(� -%� ��(� ���3 *,+ 9+� ����% �������+� /,���% ��,+ ����% -�-��,% %��+/�%*�(�+�
��,%+�+' ��%,��'����
))$ % )������� (� )��(���� ����� $���� � ���� ���
�����% ,+� �� L�+' D�E ,+� �����% ,+� �� L�+' D. E �,�� ��''����� , ��( ����* ��������+
��%,��'� (�*� ��1� ���3 ���*%� �� , ���� F�6���%� �+���,� �/ �����+' �-�*�,��K�� �� '%��-�
/�%( �(-��*����� !!4� ������� �-�*�,��K�� +��%�+� �+ , ��� �/ ���,+��� 6���� (�( �%� ,%�
+�� �+��% %�� 6��� (�( �%� /%�( ����% ���,+��� )�� %,���+,�� �� ��,� ���� ,���6� /�% /,���%
��������+� ��,+ 6��� ���3� �*,��� �,-�,%K,%�� � ����%�*���� %�*�( �+,���+� ��6��+ (�( �%�
�/ ��A�%�+� �-�*�,��K,���+� � ,%� ,������� )�� ���,��,+�,'� �� ��,� ��� +�( �% �/ ���,+�� ,+�
���%�/�%� �-�*�,��K,���+� �� ��*���� , -%��%�� 6��%�,� �+ ���3 �(-��*�� �� -�-��,���+� ,%� /�%(��
� ��� ��������+� �����% ,+� �� L�+' D��E �,�� ��''����� , (����� /�% ,�7����+' ��� +�( �%
�/ �-�*�,��K,���+� ,��� �+ *�,+'�� �+ 9�+���� �/ ��������+ ��,'+,��� ,+� ���%� �� +� �(-%���(�+�
�+ 9�+��� ���% , *�%�,�+ +�( �% �/ '�+�%,���+�� , +�6 ���,+� H,+� ���� , +�6 �����+ +���I ��
�+�%���*���
4���+ ��,� ��� !!4� ,+� ���3 �,1� , �������,+��*�+;��% ,--%�,*� �� +��%����������+� ���%�
,%� ��-�� ��,� ����� (������ 6��� ,���6 /�% ��������+ �/ +��6�%1� /�% -%�������� �+�%,*�, ��
*�(-��& �,�1��
�� % �(��( �� ������ ����
3�����+' +��%,� ,%%,�� 6�%� -%�-���� � !�% ,�M+ ,+� ?,+K,%�+� D. �E ,� , +���� (�*�,+��(
/�% ��,%+�+' *�(-��& ,*���+� ��;��+*��� )�� -%�+*�-�� ���+� 3�����+' ���%,� �%%,�� �� ;����
��(-��� �+���,� �/ �,��+' �+� *�(-��& +��%,� +��6�%1 �� ����� , �,�1� , +�( �% �/ :?�� ,%�
���� �� ����� �,%���� �� ��,�1�� F�+*�� 3�� �� , �������,+��*�+;��% ,--%�,*� �+ , ��A�%�+�
����� ��,+ ���3 ,+� !!4��
� ��� �/ ���� ,%� �%',+�K�� �+ ,+ �%��%�� ���� *,���� , +��6�%1 ,%%,�� NA = (Nn,Nn−1, . . .N1)�3��%� Ni �,� ��� �,(� �+-�� ,+� ��� �,(� ���-�� +��%�+�� 5+� ���-�� +��%�+ �/ �,*� ��� ��
8?/������������ �� ����� �� �� ����� �� � �� �@��� �� � � ���� ����� �� ������@�� � �� � +���8� ������� ���� � ���� � '�� �� ���� �� ��� ��� ����� ������ �� � 2�# � �� ���� ����� �� � ����� �� �����# ��� ����� ���� ����$�� ����� ������ ���� ��� ���� ��� � �� ������ ���� �� ��� ���� ����������� � �� ��������� ���# ������ � � 9��� ��� ���� ��� ���� � �� ��� � ��� ��� ��� ��+� ���� ���� � # ������� �� �# �������=���� ��� � � '���� ��� �� � ����������@��� �� � ������ �� ��� � �� �� ��� � @ �� ��� ��� ���������� �� ������������� �� ����� �� ������������� �� �����A &������ � � ���# ���<(
��
Theoretical Foundations 2.3 Evolutionary Algorithms, Neural Networks, and Robots
�-�*�,�� �� %�-%���+�� ��� +��6�%1� *�+9��+*� �+ �,+���+' ��� *�%%�+� ����,���+ ��9+�� � ���
�+-���� )�� ���� �+ ��� +��6�%1 ,%%,� ,%� ��,��,��� �+ , ��/�����%�'�� �%��% �+��� , +��6�%1�
Ni� ���-��� , *�+9��+*� , ��� ��(� ��%������ ,+� Ni>� ����% ���-��� ,%� ,--���� �� %� ���
,*��,��%�� �+ *,�� ��� %�'���(��� ��� �� ��� ����� N1� �� %�,*��� ��� ���-��� ,%� ����� )����
��� N1 ��9+�� ��� ��/,��� ��,���% �/ +� ����% +��6�%1 ���-�,� , *�+9��+*� ��'� �+��'� ��
�,+��� ��� *�%%�+� ����,���+�
)�� ��������+,%� ,�'�%���( ���� 6��� 3�� �-�%,��� �+ , ��,'�� (,++�%� 6��%� ��(� �,�1� t� ��
�-��� �+�� (����-�� �� ��,�1�� t1 . . . tl� 3,*� ��,'� Si �*�%�� �+������,�� ,��� �+ ����% , ����� ��
����� ��� �,�1 t′ *�(-%���� �/ t1, . . . , ti� �� ��,'� Si ���%� ,%� �&,*��� i ���� �+ ��� +��6�%1
,%%,�� 8��+ ��������+ (���� /%�( �+� ��,'� �� ��� +�&�� , +�6 +��6�%1 �� �+��%��� ,� ��� 9%��
��� �+ ��� +��6�%1 ,%%,�� ,+� �+�� ��� +�6�� �+��%��� +��6�%1 �� �������� )�� �+��%���+ �%��%
�� ���+ ��� �+��%�� �/ ��� ��,��,���+ �%��%� ,+� , +�6�� �+��%��� ��� (��� B��,%+C �� ����',��
-%�������� ��,%+� �,�1� �� ��� ����% +��6�%1� �+ ��� ,%%,��
)�� ,����%� �,�� *�(-,%�� ��� 3�� (����� �� ���3 ,+� ���6 ��(� �(-%������ %������ �+
D!�% ,�M+ ,+� ?,+K,%�+�� . �E� 6��%� ���� ������ %� �� *�+�%����%� /�% � ��,*�� ,����,+*� ,+�
�,%'�� %�,*��+' �+ , (,K����1� �+��%�+(�+�� F�6���%� �+��1� ���3� 3�� �� ,+ �+*%�(�+�,�
��������+ ��%,��'� ��,� %�;��%�� , �,�1 �� � %�1�+ �+�� �� ��,�1�� 6��*� (,1�� ��� ��*�+�;��
-%� ��(���-�+��+� ,+� ���%�/�%� ��@*��� �� '�+�%,��K��
����� � ��� �� &$ � ��
����(� ��,� 6� �,�� , %� �� 6��� ��'�� ��'�����+��%� -��+��+' �+ ���+�� ����%� ���� ��%�*���+� �+
��� ��%�K�+�,� -�,+� ,+� �6� ���� �/ 6������ �+� �+ ��� ��/���,+� ���� ,+� �+� �+ ��� %�'����,+�
���� �/ ��� %� ��� %��-�*������� ,+� ��,� 6� 6,+� �� ������ , *�+�%����% ��,� (���� ��� %� ��
��6,%�� , ��'�� ���%*�� �/ 6� 6,+� �� ������ , +��%,� +��6�%1 *�+�%����% /�% ���� �,�1� 6�
(�'�� *�+��+*� ��%������ ��,� , -�%*�-�%�+ �� ��@*��+� �� ����� ��� �,�1� )�� ��+��% %�,��+'�
*�%%��-�+� �� -�%*�-�%�+>� �+-��� 6���� ��� -�%*�-�%�+>� �6� ���-��� *�+�%�� ��� 6����� �/ ���
%� ��� ��� ��'�%� .�� �
�+ ���� *,�� ��� -�%*�-�%�+ �,� �� 6��'��� �� �-��(�K���� 8��+ , ��%�+' �� ��,��,���� 6�
�%,+��,�� �� �+�� ��� �� 6��'��� ,+� ��� , %� �� (��� ,%��+� �+ , ��%��,� ,%�+, 6��� , ��'��
���%*�� 8� 1��- �%,*1 �/ ��� ���%���� ����,+*� ��� %� �� %�,*��� 6����+ , *�%�,�+ ,(��+� �/
��(�� t� ,+� ��� ��� 9�+����
fitness(s) =Dstart − Dshortest
DstartH.��I
6��%� Dstart �� ��� �+���,� ����,+*� /%�( ��� %� �� �� ��� ��'�� ���%*�� ,+� 6��%� Dshortest ��
��� ���%���� ����,+*� ��6��+ ��� %� �� ,+� ��� ��'�� ���%*� %�*�%��� ��%�+' t� ��� ��'�%� .����
9B � ��� ��� ���������� ��� ���� ������ � �2 �� ��2��� �� �� ���� ��� � ���� � � ���� �� � �$��$��� ��� ����� ��� $���# ��� ���� �� ��� �� � ������ �+ ����
10'���� �� �< ������� ����� � �� ����� �� �������� �� ���� ������� , ��� � �� �! �����������0 ���� ���� �� ��������� ������� � $� �� � ������ ,C�0 '�� ����� �� �� � ��� � $� �� �������� ������� � ����� ���$����� ��� ������� �� ��� ��$�������� ,�� �� ������ $ ����0
��
2.3 Evolutionary Algorithms, Neural Networks, and Robots Theoretical Foundations
left right
2
3
4
81
5
6
7
1 2 3 4 5 6 7 8
Robot seen from above
shownwith the directions of the 8 light sensors
wheels
The perceptron controller. Each of thelight sensors is connected to the two
wheel wheelleft right
Figure 2-10: � ����� �� � ��� �������� ��� ������ ��� � ���� ���� �����������
Initial position
Minimum distance
Light source
Final position
Figure 2-11: �� ����� ������ � �� ���� ����� ��� ��� ����� ������ �� �������� 0����� �� �� ����� � ��� ���� ����� �� �� ��� �� �� ��������� �� ��� ������� �� �������� ��� �������� � � �������� ����������� �� ����� ��� ������������� ��� �0����
��
Theoretical Foundations 2.3 Evolutionary Algorithms, Neural Networks, and Robots
)��� �� %�-�,��� /�% , +�( �% �/ ��(�� 6��� ��� %� �� �+���,��� �%��+��� �+ ��A�%�+� ��%�*���+�
6��� %��-�*� �� ��� ��'�� ���%*�� )�� %�,��+ /�% -�%/�%(�+' (����-�� �,(-��� �� ��,� 6� 6,+�
�� ������ *�+�%����%� 6��*� ,%� '�+�%,�� ��'� *,+ (��� ��6,%�� , ��'�� ���%*� +� (,���% 6��%�
��� ��'�� �� *�(�+' /%�( 6��� %��-�*� �� ��� %� ��� �/ 6� �+�� -�%/�%( 9�+��� ��,��,���+�
6��%� %� ��� �+���,� �%��+�,���+ ,+� -������+ ,%� 9&��� 6� ,%� ��1��� �� ������ , *�+�%����% ��,�
�� �-�*�,��K�� /�% ��,� -,%��*��,% ����,���+� ���� -�%*���� ��� ��'�� ���%*� �+ ��+��% � ,+� ��
��%+�%�'�� ,+� ���+ (��� /�%6,%�� 6������ ��+' , �� �� ��� �/ ,+� ����% ��+��%� %�,��+'� /�%
*�(-����+' ��� �,�1�
)�� %������ �/ �+� ��������+ ,%� ���6+ �+ ��'�%� .��.� )�� 9'�%� ���6� ��� 9�+��� �/ ��� ���
��%�+' �/ �,*� '�+�%,���+� �� *,+ � ���+� ��� 9�+��� %�,*��� -�,1� ,� '�+�%,���+ .� �� ,+�
�/�%� %�,*��+' ��� (,&�(�( ,� '�+�%,���+ �� ,+� ���+���� )���� -�,1� ,%� ��1��� ���
�� ��� %,+��(�K,���+ �/ ��� �+���,� -������+ ,+� �%��+�,���+ �/ ��� %� ��� 6��*� *,+ '��� ��(�
�+������,�� �+ �,%�� '�+�%,���+ , ��'� 9�+��� � *�,+*����
Generation
Fitness
0
0.2
0.4
0.6
0.8
1
0 5 10 15 20 25
Fitness of the best string
Figure 2-12: �� 0����� �� �� ���� ������� � ��� ����������
)���� �+*�%�,�+���� *�( �+�� 6��� ��� ������ (�+���+�� �+ ��� -%������ ��*���+ %�',%��+' ���
4� '����+' ���*1 �+ ��*,� �-��(, ,+� �����%,--�+' (�,+� ��,� ��������+� �/��+ �,�� �� �
%�+ , +�( �% �/ ��(�� 6��� ��A�%�+� �+���,� -�-��,���+� �/�%� ,+� *�+*�����+� *,+ � �%,6+�
11%� ��� ��� �$������� �������� ���� ��� �"""�� ����� ���� � �� ���� ����� � ������ �� ���� �� ��� 7������� ��� ���� �� �$� � � ���� ����� ���� ))� �� ))�# ���� �� � ��� 7����� �� ����8� ���� "�� � ��
12�� ����� ������ ��$�� ��� ��$��� ��� ���� ����� �� )"D �� ��� �� � ��� �� E������ � 2�� �� ������ �� ��� ����������� �� � ��� ����� � �������� F����������# �� �� �� �� ��� �� ��� � ���� ,�� � ���� � � ����0 ��� ����� ������ � ��$�� ���� � ,� �2� � 0 ��� ���� 7����� �� �����$�� ��� ��� ��4��� ��� � � �� ���$�� ��� � �2 �� ����� �#��� ������ ������ ����
�
2.4 Summary Theoretical Foundations
��� ������
�+ ���� *�,-��% 6� �+�%���*�� �,%���� ��-�� �/ ,%��9*�,� +��%,� +��6�%1�� , +,��%���+�-�%�� �+�
/�%(,���+ -%�*����+' -,%,��'(� �+ 6��*� ����%,� ,%��9*�,� ���� �� �% +���� ,%� *�++�*��� ��
�,*� ����% ,+� �� ��� �+��%�+(�+� /%�( ,+� �� 6��*� �+-�� ,+� ���-�� �� -%������� 8� �,6
��6 ,+����% +,��%���+�-�%�� ,--%�,*�� +,(��� ��������+,%� *�(-��,���+� *,+ � ���� �� 9+�
�������+� �� �-��(�K,���+ -%� ��(�� ��*� ,� ��� -%� ��( �/ ,���'+�+' ����, �� 6��'��� �� ��'��
��6��+ +��%�+� �+ ,%��9*�,� +��%,� +��6�%1� /�% , '���+ �,�1� ��+,���� 6� ���*����� ��(� %��
*�+��� ������-�� (������ /�% *�( �+�+' +��%,� +��6�%1� ,+� '�+���* ,�'�%���(�� %����+' �+
�������,+��*�+;��% ��%,��'���� ��������+ �/ 6��'��� ,� 6��� ,� (�%-����'���� ,+� ��� ��� �/
�+��%� ,%%,�� �/ +��%,� +��6�%1� �+ %� �� *�+�%����%� ��(���,+�������
��6 ��,� 6� �,�� ���*����� ��� ����%���*,� /��+�,���+� /�% ��% ����� 6� 6��� (��� �+ �� ��(�
�/ ��� -%,*��*,� ������ %��,��� �� ��������+,%� %� ���*�� �+ ��� +�&� *�,-��% 6� 6��� -%���+� ,
*����(� ���� ��(��,��% ��,� ,���6� �� �� -�%/�%( %,-�� -%�����-�+' �/ ���,� ,+� �� ���� �,%����
��������+,%� ����-��
��
������ � ����������������
�%��9*�,� ��������+ �/ *�+�%����%� �� �/��+ ��+� �+ ��(��,���+ /�% -%,*��*,� %�,��+�� �� �� +�� �+�
*�((�+ ��,� �����,+�� �/ ��%�+'� H�% �+������,��I �,�� �� � ��,��,��� �/�%� , '��� �������+
�� /��+� ,+� ���+' �� �+ ��/�6,%� *,+ � �%��%� �/ (,'+����� /,���% ��,+ �+ %�,� %� ���� ��%�
���%(�%�� ���%� �� +� %��1 �/ �,(,'�+' �,%�6,%�� +� +��� �� %��*,�� %,�� ��+��%� ,+� ,*��,��%��
,+� %� ��� �� +�� %�+ ��� �/ ,���%�� �+ ��(��,���+�
3�����+' *�+�%����%� �+ ��/�6,%� ��(��,��%� �� +�� , -�%/�*� �������+� ��6���%� ��+*� �%,+�/�%%�+'
*�+�%����%�� 6��*� �,�� ��+ ������� �+ ��/�6,%� ��(��,��%�� ��**���/���� �� -����*,� %� ��� ��
, +�+��%���,� �A�%�� �+ ������� *�+�%����% (�'�� %��� �+ �� ��� *��� ,+� ��((��%��� -%���+�
�+ , ��(��,��� �+��%�+(�+�� 6��*� ,%� ���'���� ��A�%�+� �+ ��� %�,� 6�%��� %�,� ��+��%� ,+�
,*��,��%� ,%� +�� ���,�� (�,+�+' ��,� ���� ,%� +�� ,�6,�� ,� ,**�%,�� ,� �+� *���� ��-� /�%�
,+� 9+,��� ��� *�(-��& ��+,(�*� �/ ��� %�,� 6�%�� *,++�� � ��(��,��� -�%/�*���� ��� �����
,�-�*�� �,�� �� � �,1�+ �+�� ,**��+� �/ ��� *�+�%����%� ������� �+ ��/�6,%� ,%� (�,+� �� �
���� �+ -����*,� %� ���� P+/�%��+,����� ���%� �� +� '�+�%,� (����� �� �+��%� ��,� *�+�%����%�
������� �+ ��/�6,%� ��(��,���+ ,%� �%,+�/�%, �� �� -����*,� %� ���� �+ � ����� ,--%�,*� �� ��
�%� �� (,1� ��� ��A�%�+*�� ��6��+ %�,���� ,+� ��(��,���+ ,� �(,�� ,� -���� ��� ���� �� ������-
�% ��� *�(-��& ��/�6,%� ��,� ,���(-�� �� ��(��,�� %�,���� /,���/����� )��� �� ��-�*,��� ��+� �
(�����+' ��� �� ��� �+ ��'� ���,�� ,+� � ���+' , ��/�6,%� ��+,(�*� �+'�+�� ��*� ,� Q�%��&
,+� 5-�+ ��+,(�*� 3+'�+� H5�3I� �� ��(��,�� ��� ��,���% ,+� �+��%,*���+ ��6��+ ��%��,�
� 7�*���
� *�(-��(�+�,%� ,--%�,*� �� �� ��� ��+��%� %�,��+'� �,(-��� /%�( -����*,� %� ���� ��% ��(�
��+��%�� ��1� /�% �+��,+*� �+/%,�%�� -%�&�(��� ��+��%�� �� �� -���� �� �� %�*�%� %�,��+' /�% �,%����
*�+�����+�� ��*� ,� ,+'��� ,+� ����,+*�� �� � ��,*���� ,+� �� ��;��+��� ��� ����� �+ ��(��,���+�
F�6���%� ���� �� ��1��� �� �+����� �������� �%%�%�-%�+�� (,+�,� 6�%1 �+ �%��% �� � �,�+ , ��@*��+�
+�( �% �/ �,(-��� ,+� ��� ,--%�,*� %�;��%�� ��,� ��+��%� �� ��,�� �+ ��� �&,*� �,(� 6,�
,� 6��+ �,(-��� 6�%� %�*�%��� ,/��% ��� *�+�%����% �,� ��+ �%,+�/�%%��� :�%����%� �/ (����-��
%� ��� ,%� ����� ���� (�'�� � ���'���� ��A�%�+� ,+� ���+ �/ �+�� %� ��� /%�( 6��*� �,(-���
�,�� ��+ %�*�%��� ,+� ���� �+ ��(��,���+ ,%� �(-����� �+ �&-�%�(�+��� ��� *,�� %,���+ �/
��� ��+��%� (�'�� �,�� �%�/��� �% *�,+'��� ��% ��(� ��+��%�� ��1� , *,(�%, ��+��%� �� *,+ �
-%,*��*,��� �+/�,�� �� �� ��� %�,� �,(-��� /�% ��(��,���+�
�+����% 6����� ����� %��,������ �+�&-�+����� ��%,��'� /�% �,��+' ��� �%,+�/�% �/ *�+�%����%� /%�(
��(��,���+ �� %�,���� �+������ ,���+' +���� �� ��+��%� %�,��+' ,+� �� ,*��,��% ���-��� DL,1� ��
��E� D:�'��+� �� ,��� ��E� )�� �A�*� �/ ,���+' +���� �� �6��/���� ��,� ��+��%� ,+� ,*��,��%�
1G�����# �� ������# ��� � ����� ����� �� �� ���� ��� ��� ����������� ����� �$��$� � ��������� �� �� ���� �+�������� �� ����� ��> ��� ���� ��� �� ����� ����� �� �� �� ��$� �� ����� � �� �� ���� ��� ���� ��� � �������$�� ���� ���
�
3.1 Major Requirements Building a Simulator
,%� +���� � +,��%� ,+� *�+�%����%� ������ � %� ��� �+��'� �� �,+��� ����J /�%���%(�%�� ���'��
��A�%�+*�� ��6��+ ��� ��(��,��� ,+� %�,� ��%���+� �/ ��� ��+��%� ,+� ,*��,��%� ,%� �(�����+��
� ��� +����� 8���� ,���+' +���� �� ��+��%� ,+� ,*��,��%� ���� +�� �+0��+*� ��� -�%/�%(,+*�
�/ ��(��,��%� ��'+�9*,+���� ��� ��� �/ ���,���� %� �� ,+� �+��%�+(�+� (����� ,+� %�'�� ���
��(��,��%� �,� , ��'� �(-,*� �+ ��� +�( �% �/ !�P *�*��� %�;��%�� /�% %�++�+' ��������+ �+
��(��,���+�
��%�+' ��� ��/����(� �/ ��� �6,%(� ��� -%�7�*� , +�( �% �/ ��(��,��%� �,�� ��+ ���� ,+� ,
;��*1 6� ��,%*� ���6� ��,� ����%,� '�+�%�* ,+� ,%*����*��%���-�*�9* (� ��� %� �� ��(��,��%�
�&���� <�� 6� ,%'�� ��,� +�+� �/ ����� ,%� ���,� /�% ��% -�%-��� ,+� ���%�/�%� 6� ������- ,
*����( ��(��,��%� �+ ���� *�,-��% 6� -%���+� , *����( ���� ��(��,��% /�% -�%/�%(�+' �,%����
+��%����������+ �&-�%�(�+�� �+ ��(��,��� �� ����
��� +���� ��,�������
$���6 6� ���� ,+� ���*��� ��(� �/ ��� (,7�% %�;��%�(�+�� /�% , ��/�6,%� ��(��,��%�
����������% � ��(��,��% �� +����� /�% ������+' +��%,� +��6�%1 *�+�%����%�� )�� ��(��,��%
������ ,���6 �� �� *�(-,%� ��A�%�+� +��%����������+ ��%,��'��� /�% ������+' , *�+�%����%�
6��*� ������ ��� �,�1 �/ (���+' , �6,%(� �� /%�( ,+ �+���,� -������+ �� , �,%'�� 6����
,�����+' ������
������� ��&��������% �+ �%��% �� �&-�%�(�+� 6��� ��A�%�+� ��������+,%� ,--%�,*��� �+�
�/ ��� (��� �(-�%�,+� %�;��%�(�+�� �� ��,� ��� ��(��,��% �� ��%�,����� ��,� ��� �� ������
� -���� �� H,+� �,��I �� *�,+'� �� �� /�,��%��� ,%�+, �,����� ��������+,%� ,�'�%���(�
*�+�%����% ��-��� ,+� �� �+� �/ /�% �+��,+*� �� �� +�*���,%� �� ��,��,�� ��6 ,+ �+������,�
������� �+ �+� ,%�+, -�%/�%(� �+ ,+����%� �� ������ � �,�� �� �� ��� (�,+�+' ��,�
�� ������ +�� �+����� %�*�(-��,���+� �% *�,+'�+' *�+9'�%,���+ 9���� ?�1�6���� �%��+'
�� ������ *�+�%����%� ���+' ��A�%�+� 9�+��� /�+*���+� ,+� 6��� ��A�%�+� +��%����������+
(������ ������ +�� %�;��%� %�*�(-��,���+ �����%� 4���+ ��,� , �,%'� ,(��+� �/ �%�,��
,+���%%�% �� +�*���,%�� �� �� �(-�%�,+� ��,� �������+� ,� �,%���� ��,'�� *,+ � ����,��K��
H��'� ��� ��� %� ��H�I (��� ,%��+� �+ ��� ��%��,� 6�%��I� ����� �+ ��+��%� ,+� ,*��,��%�
,+� -���� �� ����% /�,��%�� �/ , ��(��,��% ��-�+� �+ , %,+��( +�( �% '�+�%,��%� ��
�� �(-�%�,+� ��,� ��� %,+��( '�+�%,��% *,+ � *�+�%����� �� ��,� , ��(��,���+ %�+ ��
����%(�+����*� )��� (�,+� ��,� �/ �6� �% (�%� ��(��,���+� ,%� ��,%��� 6��� ���+��*,�
�+���,� *�+�����+� H�+*����+' ���+��*,� %,+��( �����I� ���� ,�6,�� -%���*� ��� �&,*� �,(�
%��������
'�(#������ ��&��������% ��+*� 6� ,%� +�� �+�� �+��%����� �+ , *�+�%����% ��,� -�%/�%(�
��� �,�1� �� �+��+� �� *�(-,%� ��A�%�+� +��%����������+ ��%,��'���� ��� -�%/�%(,+*� �/
��� ��(��,��% �� �(-�%�,+� �*,��� , �,%'� +�( �% �/ ��������+� ,%� +�*���,%� �+ �%��%
�� ���6 ��,�����*,� ��'+�9*,+*� �/ ��% %������� ��� �� ��� -�%/�%(,+*� %�;��%�(�+�� H,+�
2'��� ��=�������� ����� ��8�� �� ������ �$��������# ���� �� � �$�������� �� ��� ���� ��� � �� ����� � ��� ����������� �� �� ��� ��� �+ ���� ��� � �� �������
��
Building a Simulator 3.1 Major Requirements
'��� ��/�6,%� �+'�+��%�+' -%,*��*�� �+ '�+�%,�IJ �� �� �(-�%�,+� ��,� ��� ��(��,��% *,+
� *�(-���� ,+� %�+ �+ �,%���� -�,�/�%(� ,+� %�+ �+ *�����%� ,+� '%���� �� ,���6 /�%
�����K,���+ �/ �,%���� *�(-���+' %����%*��� )�� (,7�%��� �/ ����� ,%*����*��%�� %�+ ��(�
0,��% �/ P��O� ,+� 6� ���%�/�%� %�;��%� ��,� ��� ��(��,��% ,� ��,�� *�(-���� ,+� %�+� �+
, �5��O�� *�(-��,+� �-�%,��+' �����(��
)*���� ��&��������% 8� �� +�� ��� �+��%�+(�+�� H,%�+,�I 6��� %��'� ��%%,�+ �% � ��,*����
5�% %�;��%�(�+�� /�% , ��(��,��% �+ ��%(� �/ �+��%�+(�+� (������+' ,%� ���%�/�%� ��(����
�� -�,�+ �+��%�+(�+�� *�+�,�+�+' ������ 8� �� +�� +��� �� �,+��� �� ��"�� �� *�������+�
+�% �� ��"6,�� *�������+�� F�6���%� '���+ ��,� ��� �� ��� ,%� ,���( ��� �+ �6,%(� ��
/�%(,���+ ��� ��(��,��% �,� �� (���� ��� ��+,(�*� �/ ��*� , ��� *�%%�*���� )�� ���-��
�/ ��� �%,*���+ ��+��%� 6��*� ,���6� �� ��� �� ����*� /�%*�� ,*��+' �+ ��� ��%%�� �+ ���
��%�K�+�,� -�,+�� �� ��-�+��+� �+ ��6 ��� ��+,(�*� ,%� *�(-����� )�� �%,*���+ ��+��%
-�,�� , *�+�%,� %��� �+ �+, ��+' �� ��� �� (��� *��%��+,���� �+ �6,%(� �� /�%(,���+�
3,*� �� �� *,+� /�% �+��,+*�� ,��'+ �����/ �� ��� (����+ �/ ��� %��� �/ ��� '%��- ���+' ���
%�,��+'� �/ ��� �%,*���+ ��+��% D)%�,++� �� ,��� . E�
)��� �,& %�;��%�(�+� *�+*�%+�+' ��� ��+,(�*� %�-%���+�� , ��%�+' ��(��,���+ �+ ��%(� �/
��� ��-� �/ �&-�%�(�+�� /�% 6��*� ��� ��(��,��% *,+ � ����� F�6���%� ��(� �/ �����
��(��,���+� *,+ �,���� � ���%*�(�� 3&��+��+' ��� ��(��,��% 6��� *�������+� ������ �
��%,�'���/�%6,%� ,+� ��� %�,��+ ���+� �� +�� ��+' �+*����� ��%� �� ��,� *�������+� ,%�
+�� %����,+� /�% ��% ������ ��--�%� /�% %��'� ��%%,�+� �+ ��� ����% �,+�� �� +�� , -%��%���
,� ���� ��,'�� ��+*� (,+� %� �� -�,�/�%(� �� +�� ��--�%� ��*� ,+� ��(���+' ��� ��(��,��%
�+ ���� 6,� �� ��1��� �� �,�� , ��'+�9*,+�� -������� �(-,*� �+ ��� -�%/�%(,+*��
)���� 6�,� �� +����� �� , 0�&� ��� ��'� -�%/�%(,+*� ��(��,��% *,-, �� �/ %�++�+' ��������+� �+
P��O ,+� ?�+�& (,*��+��� )�� ��(��,��% -%������ /�,��%�� /�% ����,��K,���+ �/ ��� -�%/�%(,+*�
�/ ������� *�+�%����%� ,+� �� ������ ,���6 /�% �&-�%�(�+��+' 6��� �,%���� ����-� ,+� ��������+,%�
,�'�%���(��
����� &$����� ����� ��
)�� %���,%*� *�+��*��� �+ ��% �, %��,��� ��� �� ��� -�,�/�%( �,� �-�+ �A , +�( �% �/ ��A�%�+�
��(��,��%�J ��(� ,%� ���� �+ ��- �/ Q�%��&� , *�((�%*�,� %�'�� ��� ��+,(�*� ��(��,��%� ,+�
, (�%� %�*�+� ��(��,��% �� ,��� �+ 5-�+ ��+,(�*� 3+'�+� H5�3I ,+� /%��� �-�+����%*�
,���%+,����� )���� ��(��,��%� ,�( ,� '�+�%,���� ,+� *�%%�*�+��� �+ ��%(� �/ -����*,� ��+,(�*
��,���% ,+� %��-�+�� �/ ��%��,� � 7�*��� ����%,� ��%���+� �/ ����� ��(��,��%� �&���� '��+' /%�(
(�+�(,� ��(��,��%�� �+ 6��*� �,*� �� �� �� (������� ,� , �& �+ 6������ �� (�%� *�(-��&
����-�� 6��%� ���%� (,7�% -,%� ,+� ��%��,��� ,�� 7��+�� �/ ���%� �� �� ,%� (������� �+ ���,���
��� �� ����% '�+�%,����� ��� *�+9'�%,���+ ,+� ����- �,�1 �� %��,������ �������J , +�( �% �/
-,%,(���%� /�% ���%� � 7�*� �+ ��� ��%��,� 6�%�� �,�� �� � �-�*�9��� ��*� ,� 6��'��� (,��%�,��
/%�*���+� -������+� ��*� ��% ��� �&����+' ��(��,��%� ���� �� *�%%�+��� ��+� � �,+�������+' (����-��
��6������ *�+9'�%,���+ 9��� HO:?I�
�� ��� ����% �+� �/ ��� �*,�� , *��-�� �/ ��(-��� �-�*�,��K�� ��(��,��%� �,�� ��+ ������-��
6��%� �+� �% /�6 �� ��� (��� ,%��+� �+ , .� 6�%��� )���� ��(��,��%� �,+��� 0,� ��%%,�+ ,+�
��(� ���+ �� ��"�� �� *�������+��
��
3.1 Major Requirements Building a Simulator
)��%� �&��� , (�������� �/ /%���� ,�,��, �� %� �� ��(��,��%� ������-�� � �,%���� ,*,��(�*
�+��������+�� :,+� ,%� �-�*�9* �� *�%�,�+ %� ��� ,+� *�%�,�+ ��-�� �/ %� ���� ��*� ,� ���
G��-�%, %� �� ,+� �+����%�,� %� ���� %��-�*������� � /�6 ��(��,��%� ,�( ,� ��+' '�+�%,� /�%
(� ���� *��-�%,���� %� ���*�� 5+� �/ ��� (�%� 6����1+�6+ �� ��,��%"��,'�� 6��*� �� ,+ �-�+
���%*� -%�7�*��� 6��� *�+�%� ���%� /%�( -%����'���� �+��������+� ��*� ,� ��,+/�%� P+���%���� ,+�
P+���%���� �/ ������%+ !,��/�%+�,� ��,��%"��,'� ,*��,��� *�+����� �/ �6� ��-,%,�� �� �+��%�
�-�%, �� -%�7�*���
��,��% �� , %� �� ����*� �+��%/,*��
)����� �� ���� � ���� �# ������� � � ������ � � � � ��� ���� � ���������
)������� ����1������ � ��� ��� �� � � � ��� � �� ����� � �� ������ �
��� �� ������� �������� ��� � ��� � ��� ������ ��� � ���� �# ��
��� � � ��� � � �� )����� ���� ��� ������� ������� ���� ���� ��
� ������ ������ ��� � ������� � � ��������� ��� ���� ����� ������
��� ��� �� )����� ���� ��� � ��� ������ � � ��� � � �� ��� ���� ����
playerstage.sourceforge.net
8���� ��,'� �� , (�����%� �� ��(��,��%�
.���� �������� � � ����� � � � ��� � � �� � ��� � ��� ������ � �� �
����� ��� �������� ���� ������ 2�� �� ���� � � ���� ��� �� �����
������ � ���� ������ ����� ����������� ��������& � ����� ��� � �
�� � ����� � ��� � ������ .���� ����� ������� � �������� )����� ��
������ � ��� � � ������ ��� ��3���� � � �� ������� ������ � ���
��������� .������ ��� ����� ������� � .���� ���� ���� ��� �������� �
� �# � ���� � � ���
playerstage.sourceforge.net
�%�( ��� ��*���+� , ���� ��,��%"��,'� ���( �� (��� (��� ��� %�;��%�(�+�� /�% ��� ��(��,��%�
��6���% ��,'� ���� +�� -%����� ��� ��+,(�*� ��,� 6� %�;��%� ,+� ��� ��(��,���+ ��'�* �/ ,+
�� �� ,+� ��� ��+��%� ,+� ,*��,��%�� 6���� +��� �� � �(-��(�+��� �+ ���� ��(��,��%� )����
�� 6���� �,1� , ��'+�9*,+� ,(��+� �/ 6�%1 �� ,�� ����� /�,��%�� �� ��,��%"��,'� ,+� ���%�
6���� � ,+ ���%��,� ,���*�,��� 6��� ��+��+' ��+��%� %�,��+'� ,+� *�+�%�� ,*���+ ��%��'� ���
+��6�%1 -%���*�� ��,*1� :�%����%� ���+ ����'� ��,'� *,+ ��(��,�� (����-�� %� ���� �,*� %� ��
�,� �� *�++�*� �� ��,'� ��-,%,����� (,1�+' ��� ��(��,���+ ����- *��� ;���� ��'� H%�(�( �%
��,� ��+*� 6� 6,+� �� %�+ ��������+� 6� �,�� �� ����- , +�6 ��(��,���+ ,� ��,�� �+*� /�% �,*�
�+������,� ��,� 6� 6,+� �� ��,��,��I�
����� ("� )� ��"�� ����� �*
8� �,�� *����+ �� ������- ,+ �+��%��� +�6 ��(��,��% /�% (����-�� %�,��+�� ��� �6� (,7�% �+��
��+' ���� ����� ,+� 4� ����� 8��+ ��� 6�%1 ���*%� �� �+ ���� ������ �',+ , +�( �%
�/ ��(��,��%� 6��%� ������� 8�� /�% �+��,+*�� ��,��,��� �+� �/ ��� (�%� (,��%� ��(��,��%�
*,���� (5.. 6��*� ���� ��� Q�%��& ��+,(�*� �+'�+�� F�6���%� 6��� ��� ,�,��, �� �,%�6,%�
��
Building a Simulator 3.1 Major Requirements
%����%*��� ,+ ,��%,'� ��,��,���+ *�+�����+' �/ � �+������,�� -�% '�+�%,���+� �,*� ��,��,���
/�% *�+�%�� *�*��� H ��*�+��I� /�% � '�+�%,���+�� �,1�� ,+ ,��%,'� �/ � ��. ���%�� ��6
�+ �%��% �� �%,6 ,+� '�+�%,� *�+*�����+� �+ ��� /�,�� ����� �/ , '���+ ��������+,%� ����-� �� ��
+�*���,%� �� %�+ (����-�� ��������+� 6��� ��A�%�+� �+���,� %,+��( ������ ��++�+' ,� ��,�� �
,+� �/��+ . �% (�%� ��������+� �� *�((�+ -%,*��*� �+ ��� ����%,��%�� 6��*� (�,+� ��,� , '���+
��������+,%� ��%,��'� �,1�� (,+� �,�� �� ��,��,��� �/ �+�� /�6 ��%,��'��� +��� �� � ��,��,����
���� �� +�� , (,7�% -%� ��(� F�6���%� , ��'+�9*,+� ,(��+� �/ �%�,��,+���%%�% �� �/��+ +�*���,%�
�+ �%��% �� ��,-� ��������+ �� ��,� ��� �������+� /��+� ,%� �,���/,*��%� ,+� ���� ��� ��,��,���+
��(� (,1�� ��� 6���� -%�*��� ��������
����%+,������� ��� �-�*�,��K�� .� �� �� ��(��,��%� -�%/�%( �%��%� �/ (,'+����� /,���% ��,+ ,+� �/
��� ��(��,��%� ���� �+ ��+,(�*� ��(��,��%�� �� ���� ,%� �-�*�,��K�� /�% -,%��*��,% -�%-���� ,+�
���%�/�%� ���� �,*1 (,+� �/ ��� /�,��%�� ,+� ��� 0�&� ����� ��,� 6� %�;��%�� 5+� �/ ��� ��(-��%
��(��,��%� *���� � ,�,-��� �� ��% +����� �� ��� ,�,-�,���+ 6���� ��1��� �,1� ,� ��+' �% ��+'�%
��,+ ������-�+' , ��(��,��% /%�( �*%,�*�� :�%����%� +�+� �/ ��� ��(-�� ��(��,��%� (��� ��%
%�;��%�(�+�� /�% ��+,(�*� %��,��� �� (���(�+� �+ �6,%(� �� /�%(,���+ ,+� �� *�(-��,���+
�/ �%,*���+ ��+��% %�,��+'��
�+ , 9%�� ,���(-� �� ������- ��% �6+ ��(��,��% 6� �%��� �� *�( �+� ��� 0�&� ����� ,+� *�%%�*�
��+,(�*� �/ (�%� *�(-��& ��(��,��%� ,��� �+ -����*� �+'�+�� 6��� ��� -�%/�%(,+*� �/ ���
��(-��% .� ��(��,��%�� 8� �%��� �,%���� �*��(�� /�% �-��(�K�+' ��� ��� �/ , ��+,(�*� �+'�+�
� �&-�����+' ��� /,*� ��,� 6� �+�� +��� 0,� ��%%,�+ 6��� ����� ,+� ��,� �� ��� ,%� ,�6,��
,���( ��� �+ �6,%(� �� /�%(,���+� �/ 6� (,1� ����� ,���(-���+� �,*� �+������,� �� �� +����
+�� �� � %�-%���+��� �+ ��� �6+� ��-,%,�� *�������+ �-,*�� �� �+���,� , 6���� �6,%(� �� *,+
� %�-%���+��� ,� , ��+'�� *�(-��+� � 7�*� �+ ��� �6+ *�������+ �-,*�� 6��*� '%�,��� %���*��
��� *�(-��,���+,� *�(-��&��� /�% ��� ��+,(�*� �+'�+�� ��(��,%��� �+�� 6�%1�+' 6��� 0,� ��%%,�+
6��� ����� �-�+� /�% ��(� �-��(�K,���+ -���� ������� ,� , �6,%(� �� �+�� +��� �� %��,�� �+ �6�
��(�+���+� H�+���� �� �� /,���+' �+�� , ����� �� �+ ���� *,�� 6� *,+ ���- ��� ��(��,���+� �� 6�
7��� +��� �� ����%(�+� 6��+ , %� �� 6���� /,�� �+�� , ���� ,+� +�� �� ��(��,�� ��� ,*��,� /,��I�
)�� %������+' ��(��,��% ���6�� -%�(���+' -�%/�%(,+*� %������ 6��+ ��(��,��+' /�6 HR�I %� ����
, ��� . �� � ��(�� /,���% ��,+ :���� F�6���%� ��� �*,�, ����� �/ ��� ,--%�,*� -%���� -��%� )��
%�,��+ /�% ��� �*,�, ����� ������ �� ��,� �,*� *�++�*���+� ��%��'� *�������+� ,+�"�% 7��+��� ��6��+
����� H�% � 7�*��I %�-%���+�� , *�+��%,�+�� ,+� /�% m *�+��%,�+�� ��� �&,*� ,�'�%���( ���� �
5�3 %�;��%�� O(m2) �-,*� ,+� O(m3) ��(� /�% �,*� *�*��� 3��+ 6��+ ��� +�( �% �/ 7��+�� ��
(�+�(�K�� � �����+' ,+ �+��%� �6,%(� �� � %�-%���+��� � , ��+'�� ��� 6��� (����-�� 6������
��� -�%/�%(,+*� ,+� �*,�, ����� 6,� ����� 6,� +�� �,���/,*��%�� 8� �%��� �,%���� ,--%�&�(,���+
�*��(�� ���� �+�� 5�3� ��6���%� ��(��,���+� �*,(� �+��, ��� 3��+ , *�( �+,���+ �/ ���
�&,*� (����� ,+� �,%���� ,--%�&�(,���+ �*��(�� -%���� �+��**���/���
)��%�/�%�� , ��*����+ 6,� (,�� �� �(-��(�+� , .� ��(��,��%� )6����� 6��� , *����( %�'�� ���
�+'�+�� �-�*�,��K�� �� �,+��� �+�� ��� ��+,(�*� /�% , �6,%(� �� �+ 0,� ��%%,�+ 6��� ������ 4���+
��,�� ���+ �+ ��(� �/ ��� (�%� *�(-��& ��(��,��%�� *�++�*���+ ��6��+ �� ��� ,%� ,���(��
3*$ �� ��� � � � �� ���������� �) ������ *1H *����� �<""��<""C �� �� � �! � � .������ �< IB8 �� ���� �� ������� ��� ���� ������ �� ��� � � J���� ��� �� � �� �� ��� ��������� �� � �� � $� �+�����$� ������� ��� ���� �� ��� ���������� �����# �� � ��# �! �3G�
��
3.2 Design Building a Simulator
�� � %�'��� ��� �+��%� �6,%(� �� *,+ � �%�,��� ,� , ��+'�� ��� �+ 6��*� �,*� �� �� �&�%��
, /�%*�� )��� %���*�� ��� *�(-��,���+,� %����%*�� +�*���,%� /�% *�+��*��+' ��(��,���+� ,+�
��������+� ��'+�9*,+���� ,+� �(-%���� �*,�, ����� �*,��� ��� ��(� *�(-��&��� �*�(�� O(n)�6��%� n �� ��� +�( �% �/ �� ���� �+ ��� +�&� ��*���+ 6� -%���+� ��� ����'+ ,+� ��(� �/ ���
/�,��%�� �/ ��% ��(��,��%�
��� -��)�+ ���� ��*���+ 6� -%���+� ��� (,7�% ���,� ���+� ��� ��(��,��% ,+� ��� �(-��(�+�,���+ �/
��������+,%� ,�'�%���(�� )��� ��*���+� ��'����% 6��� ��� ���%*� *���� ������ -%����� , %�,��%
0��+� �+ !SS 6��� ,+ ���%���6 ��@*��+� �� (,1� *�,+'�� ,+� ,������+� �� ��� ���%*� *����
)�� ����'+ ,� ��+ ������� �+�� ��%�� ��*���+�� +,(��� �+� �+ ��� ��(��,��%� �+� �+ ��� ����'+
�/ ��� ��������+,%� ,�'�%���(� *�(-�+�+�� ,+� �+� �+ ��� ���%,�� -%�+*�-��� ,+� ��� 9+�����
-��*� �/ ��/�6,%� � ,+ �@*��+� �&-�%�(�+�,� -�,�/�%( /�% +��%����������+ �/ *��-�%,����� (� ���
%� �� *�+�%����%��
)�� *��� �� 6%����+ �+ � 7�*���%��+��� !SS �+ F�+',%�,+ +��,���+� �� *�(-���� ,+� %�+� �+
�5��O�� *�(-,�� �� �-�%,��+' �����(� ��*� ,� ?�+�&� ,+� 6��� %��,������ /�6 *�,+'� �� ������
� *�(-��, �� ,+� %�++, �� �+ ����% �-�%,��+' �����(� ��*� ,� :�*%���/� 8�+��6�� ,�����'�
���� ��� �� � ������� ����*�+/ ,+� ,���(,1� /%�( ��� 4�P ��������� ,%� ���� /�% ��-�+��+*�
*��*1�+' ,+� ���� (,+,'�(�+�� g++ ��%���+ ��� /%�( ��� 4�P !�(-���% !����*���+ �� ���
*�(-���% ��,� �,� ��+ ���� ��%�+' ������-(�+��
����� �"� ����� �+ �����
)�� '�,� �/ ��� ��(��,��% �� �� ��(��,�� , ��%��,� 6�%�� ,+� ��� �+��%,*���+ ��6��+ , +�( �%
�/ �� ��� ,+� ��,��* � 7�*�� �+ ,+ ,%�+,� !�+�%�� -%�'%,(� %�++�+' �+ -����*,� %� ��� �/��+
�-�%,�� �+ ���*%��� *�*���� �+ �,*� *�*�� ��+��%� �+-��� ,%� %�,�� ��� *�+�%����% ��*���� ��6
�� ,*� ,+� ���� ��� ,*��,��%� ,**�%��+'��� ?�1� (,+� ����% ��(��,��%�� )6���� /����6� ����
���*%��� ��+���,*���-�,�� -,���%+ ,� ,+ ,--%�&�(,���+ �/ *�+��+���� ��(�� )�� ��(��,���+
*�*�� �� ���6+ �+ ��'�%� ���J 9%�� ��� ��%��,� 6�%�� �� ��� �-� ���+ , *�*�� �� �+��%�� 6��%� 9%��
��� ��+��%� %�,��+'� ,%� *�(-���� ,+� /�� �� ��� %� �� *�+�%����%� 6��*� �+ ��%+ ����%(�+�
��� ,*���+� �/ ��� %� ���� )�� ��,�� ,+� ��(� �/ ��� ��%��,� 6�%�� �� ���+ �-�,��� � (���+'
� 7�*�� ,**�%��+' �� ��� /�%*�� *�%%�+��� ,*��+' �+ ���(�� ��+,���� ��� ��,�� �/ ��� ��%��,� 6�%��
*,+ � ����,��K�� �/ ��� ���% �� %�++�+' ��� ��(��,��% �+ �+��%,*���� (���� )�-�*,��� �� ��� %�+
, *�+�%�� *�*�� ���%� 0.1 ��*�+��� ���� -�% ��/,��� �+� ��(��,���+ *�*�� *�%%��-�+�� �� 0.1��*�+�� �/ ��%��,� ��(� �� ��� *�+�%�� /%�;��+*� *,+ � ,�7������ 3,*� �-�,�� �/ ��� ��%��,�
6�%�� �� %�/�%%�� �� ,� , ������ � �����
#��������
�+��%+,��� ��� ��(��,��% *�+����� � , +�( �% �/ � 7�*�� �/ *�,���� %�-%���+��+' �+������ ��*�
,� ��� ��,��* -,%�� �/ ��� ��%��,� 6�%�� H��� ,%�+,I� �� ���� ��+��%�� ,+� ,*��,��%�� ��� *�,����
4�� �� ����� �� � ������ �� ����� �� ������� �� �� ������ '��� �� ��� � ��������� � � �� ����� �� �� ���� ������� ��2� .HJ � K����+
��
Building a Simulator 3.2 Design
Set up the virtual world
Draw frame
Sense and act
Update world state
Figure 3-1: �� �������� � ������ � ������� � ���� ���� ������ ������ ���������� ��� ���� ��� ������ ��� ��������� �� ����� �� �� ������ ����� �� ����� ��� �� ������ � '� ������ ) �����4���
�&*�-� /%�( %�+��%�%�� 6��*� ,%� %��-�+�� �� /�% ����,��K�+' ��� ��(��,���+� �+��%�� /%�( , %���
*�,�� *,���� CSimObject� )�� *�,�� CSimObject *�+�,�+� , /�6 *�+��+��+� (������ ,+�
,���6� ,�� � 7�*�� �� � �,''�� 6��� , ��%�+' ��+���+' , ��(,+ %�,�, �� +,(�� (�*� ��1� ���
toString() (����� �+ L,�,� ��%���%(�%�� ��+*� � 7�*�� �/ ��� ��-� CSimObject *,+
� ,���� �� ����% CSimObject � 7�*�� ,� *����%�+� ,+ � 7�*� �%�� *,+ � ����� )��� ��
*�+��+��+� /�% -,���+' ���+��� ��*� ,� ��� ��,%� �/ , +�6 ��(��,���+ *�*��� ���% �+��%,*���+� ,+�
�*%��+ %�/%����� �� ,�� � 7�*�� 6������ %����+' �+ ��(� �+���� �,��+' , '�� ,� ���6 �/ ��� �+��%�
�����(� ��*�+�%,��K,���+ �+ '�+�%,� �� , '��� ��/�6,%� ����'+ ��%,��'� 6��+���% -���� ��� ��+*�
(,+� *�,+'�� ,+� ,������+� *,+ � 1�-� ��*,� ,+� �� +�� %�;��%� *�(-����� '�� ,� 1+�6���'��
5 7�*�� �/ ��� *�,�� CSimObject �,� /��% �(-�%�,+� (������ ���6+ ���6�
CSimObject::
virtual void AddChild(CSimObject* pc_child);
virtual void SimulationStep(unsigned int n_step_number,
double f_time,
double f_step_interval);
virtual void Draw(CRenderer* pc_render);
virtual void Keypressed(int n_keycode);
)�� 9%�� (������ AddChild()� ,�� , *���� �� ��� *,���� � 7�*�� ��� CSimObject � 7�*�� ,%�
%��-�+�� �� /�% /�%6,%��+' ���+�� �� ����% *����%�+� (�,+�+' ��,� 6��+ SimulationStep()
�� *,���� �+ ,+ � 7�*�� �� ������ *,�� ��� SimulationStep()(����� �+ ,�� ��� *����%�+� )���
�� ��+� ,���(,��*,��� � ��� (������ �(-��(�+��� �+ CSimObject� ���� , +�6 *�,�� �+�� �,�
�� �&-��*���� /�%6,%� ���+�� �� *����%�+ /�% ��� (������� 6��*� �� ���%%�����
��
3.2 Design Building a Simulator
SimulationStep() �� *,���� �,*� ��(� ��� ��(��,���+ �,1�� , ���-� 5 7�*�� �+ )6����
,%� %��-�+�� �� /�% �-�,��+' ����% �6+ -������+� ��*� ,+� ���� ������ �� �� � ���%%���+'
��� SimulationStep() (����� ,+� -�%/�%( ����% ,*���+� �,*� ��(� �� �� *,����� )��
-,%,(���% n_step_number %�/�%� �� ��� ��'�*,� +�( �% �/ ��� *�%%�+� ��(��,���+ ���-�
6���� f_time ��+���� ��� ��%��,� ��(� �+ ��*�+�� /%�( ��� �'�++�+' �/ ��� ��(��,���+� ,+�
f_step_interval ��+���� ��� ��%��,� ��(� �+��%�,� ��6��+ ��(��,���+ ���-��
)�� (����� Draw() �� �+�� *,���� 6��+ ��� ��(��,��% �� %�++�+' �+ �+��%,*���� (���� ,+� �� ��
*,���� 6��� %�/�%�+*� �� ��� %�+��%�% ��,� ������ � ����� � %�+��%�% �/ ��� ��-� CRenderer
�,� (������ /�% �%,6�+' ��'������� -%�(������ ��*� ,� �� ���� ,%�+,�� ,+� ��'����
Keypressed() �� *,���� 6��+ ��� ���% -%������ 1�� �,%� �+-��� 8��+ ��� ��(��,��% ��
%�++�+' �+ ����,��K,���+ (���� ��� 1�� �,%� *,+ /�% �+��,+*� � ���� �� *�+�%�� �+������,� ��
���� /,���/�%6,%��+' ��� ��(��,���+���(�� ,���+' ,+� %�(��� ��'��� ��*� �*��,���� ��+*� ,��
�+��,+*�� �/ ��� *�,�� CSimObject ,%� +���9�� ���%� ��(� ��� ���% -%����� , 1��� �+��%,*������
*,+ � ,���� �+ ,+� -,%� �/ ��� ��(��,��% 6��� ������ �A�%��
������'� ��� ���, , ��� �,��+' , %����� *�,�� ���%,%*�� 6��� ��+'�� ��-�%�*�,�� 6��� (������
%,+'�+' /%�( �%,6�+'� �� �,+���+' ���% �+-��� ,+� �� *�+�%����+' ��� ��(��,���+ (�'�� ���(
*�(-��&� ��� ���,� *��� �+ ��� *�,�� ,(��+�� �� ���� ��,+ � ��+�� �/ *���� F�+*�� ��� *�+*�-�
�� ;���� ��(-��� ��� -�6�%/�� '���+ ��,� �� %����� �+ ��*�+�%,��K,���+ ,+� ��� %�*�%���+� )�
������%,�� ����� 6� -%����� ,+ �&,(-��� ����(� ��,� 6� +��� �� �%,6 , /%,(�J ��� %�+��%�%
*,��� Draw() (����� �+ ,+ � 7�*� �/ ��� *�,�� CSimulator� ��% (,�+ *�+�,�+�% /�% ,�� ����%
� 7�*�� �+ ��� ��(��,���+ H��� ��'�%� ��.I� �/ ��� ��(��,��% +���� �� -�� ��(� ��,��� �+/�%(,���+
�+ ��� /%,(�� ��1� , ��(��,���+ ��(�%� �� ���� �� ,+� ���+ *,��� ��� Draw() (������ �+ ,��
��� *����%�+� )�� B*����%�+C �/ ,+ � 7�*� ��+���� ��� ��� �/ � 7�*�� ��,� ��� � 7�*� ,''%�',����
6��*� �+ ��� ��(��,��%>� *,�� �� ,+ ,%�+,� , +�( �% �/ �6,%(� ���� -���� �� ��'��� ,+� �� �+�
8��+ ��� Draw() (����� �/ ,+ �� �� �� *,����� ��� �� �� �%,6� �����/� �% %,���% *,��� ���
%�+��%�% �� �,�� ��� �� �� �%,6+� ,+� *,��� ,�� �/ ��� *����%�+>� Draw() (������� )�� *����%�+
�/ ,+ �� �� ,%� ��+��%�� ,*��,��%�� , *�+�%����% ,+� ,+� ����% �� �*�,�� �/ CSimObject� 6��*�
(�'�� � *�+��+��+� �� �,�� ,� , *���� �/ ,+ �� ��� ��6 ,���(� ��,� 6� ,� ��(� -��+� +��� ��
,�� , ��(����� ���%*� �� ��% ��(��,��% ,+� ��,� �� ������ � �%,6+ 6��+���% ��� ��(��,��% ��
%�+ �+ ����,��K,���+ (���� �+ �%��% �� �� ��� 6� ��(-�� (,1� ��% ��(����� ���%*� *�,�� �+��%��
/%�( CSimObject ,+� ,�� �� ,� , *���� �� ��% ��(��,��% H�% �� ��� ,%�+, �/ 6� -%�/�%I� �/ 6�
���%%��� ��� Draw()� Keypressed()� ,+� SimulationStep() (������ �+ ��� ��(�����
���%*� *�,�� 6� *,+ *�+�%�� ��� ,--�,%,+*� ,+� ��,���% �/ ��� ���%*�� �� *�,+'�� ,%� +�����
�+ ��� ��(��,��% *�,�� �����/� ,� �� ���� , ��(����� ���%*� ,� ,+� ����% CSimObject � 7�*��
)�� *�,�� ��,'%,( �/ ��� ,��* ��%�*��%� �� ���6+ �+ ��'�%� ��.� )�� %��� *�,��� CSimObject�
,+� , /�6 ,�&���,%� *�,���� �,�� ��+ �(����� /�% %�,�, ������ �� ��� ��- �/ ��� 9'�%� ��%��
*�,���� ,%� ���6+� CRenderer� CSimulator ,+� CFitnessFunction� )�� �,���% ��
�%,6+ �+ �,���� ��+�� ��+*� ��� 9�+��� /�+*���+ �� ��'�*,��� -,%� �/ ��� ��������+,%� ,�'�%���(�
*�(-�+�+� ,+� +�� ��� ��(��,��%� �� '���+ ��,� ��� 9�+��� �*�%� �� *�(-���� ,��� ��� ,+
�+������,�>� -�%/�%(,+*� �+ ��(��,���+� ��� 9�+��� /�+*���+ +���� ��%�*� ,**��� �� ��� ��,�� �/
��� ��(��,��%� )�� CSimulator *�,�� �+*,-���,��� ,+ �+��%� ��(��,���+ ,+� *�+����� �/ ,+
,%�+, �+ 6��*� , +�( �% �/ �6,%(� ��� (���� )�� *�,�� �� %��,������ ���+ ,+� ������ /%�(
��
Building a Simulator 3.2 Design
CFitnessFunction
1 1 1 0..*
1 0..*
1..*
0..* 0..* 0..*
GetNumberOfOutputsSetOutputComputeReadings
GetNumberOfInputsGetType
HasFallenIntoAHoleAssembleSwarmBotGetVelocity
m_fMomentumm_fMomentOfInertiam_vForcem_vVelocity
DrawSbotDrawArenaDrawLight
GetType
m_fTimem_fTimeLimitm_fStepInterval
TakeSimulationStep
GetTime
CSimulator
GetArenaSetStepInterval
HasEnded
AddSwarmBot
EndSimulation
SetStepInterval
AddLight
GetHeightGetResolutionGetSizeAddSoundGetSounds
GetLight
CSwarmBot
GetSbots
CSbot
GetTreelForceGetChassisRotationSetColor
AddSensorAddActuatorSetController
CNNControllerCPerceptronControllerCMultileyerControllerCElmanControllerCKeyboardController
CTractionSensorCRotationSensorCGroundSensorCLightSensorCSoundSensor
CTreelsActuatorCSoundActuator
CProgrammedArena
GetFitness
CSimpleDrawStuffRenderer
CNullRenderer
CPrintfDebugSensor
CNoisySensor
CLesionSensor
CNoisyActuator
CPrintfActuator
CRenderer
CArena
CActuatorCController CSensor
Figure 3-2: � 5%( ������ �� �� ��������� �� 0���� ���� �� ��� ������� ������� �� ��� � ����4������ ��� ������� ���� � ���� CRenderer �������� �� CSimObject ����� �� �������� � �� �����
�
3.2 Design Building a Simulator
1��-�+' �%,*1 �/ ��(� ,+� ��� ��,�� �/ ��� ��(��,���+ H�����% %�++�+' �% +�� %�++�+'I� �� ��
��(-�� , *�+�,�+�% /�% ��� � 7�*�� �+ ��� ��(��,���+�
)�� , ��%,*� CRenderer *�,�� ��9+�� , ��� �/ (������ /�% ����,��K�+' ��(��,���+�� 3,*�
��(� , /%,(� ������ � �%,6+ ��� %�+��%�% *,��� ��� Draw() (����� �+ ��� ��(��,��%� 6��*�
�+ ��%+ *,��� ��� �%,6 (����� �+ ,�� ��� *����%�+ %�*�%������ ,� ���*%� �� , ���� ��+*� ���
CRenderer �+�� ��9+�� ��'������� -%�(������ ��1� DrawSbot() ,+� DrawArena() ,+� +��
��6������ -%�(������ /�% �%,6�+' �%�,+'���� %�*�,+'��� �% ,��1�� �(-��(�+�,���+� *,+ %,+'� /%�(
.� �� �� ,+� /%�( ��&�� ,��� �� /���� ��6+ '%,-��*� ����,��K,���+� �� ��� ��(� �/ 6%���+'�
��%�� �(-��(�+�,���+� �/ %�+��%�%� �&���� � +��� %�+��%�%� ,+ 5-�+4? %�+��%�% ,��� �+ ���
�%,6���A �� %,%�� 6��*� �� , -,%� �/ 5�3� ,+� , '+�-��� %�+��%�%�
����
)�� ��,��* -,%�� �/ , ��%��,� 6�%��� %�/�%%�� �� ,� ��� ,%�+,� ,%� �+*,-���,��� �+ ��� *�,��
CArena� �%�+,� ,%� �6����(�+���+,� ,+� �,*� -��+� �/ ��� ,%�+, ��%/,*� *,+ �,1� ��%��
�,���� H�% ���'���I� ��%(,�� ����� ,+� � ��,*���
�+ ,%�+, �,� , ��K� ,+� , %��������+� )�� ��K� *�%%��-�+�� �� ��� -����*,� ��K� 6����+ ��� ��%��,�
6�%�� H�+ (���%�I� 6���� ��� %��������+ ��+���� ��6 (,+� -��+�� ���%� ,%� �+ �,*� ��(�+���+
�+ *,�� �/ ���*%��� ,%�+,�� !�+��+���� ,%�+,� �,�� �+9+��� %��������+�� ,+� ���� ,%� ���,���
��9+�� ,+,����*,��� H���� �� *�+��+��+� �/� /�% �+��,+*�� ,+ ,%�+, 6��� , *�%*��,% ���� �,� �� �
(�������I� 6���� ���*%��� ,%�+,� ,%� �-�*�9�� ,� , �6����(�+���+,� ,%%,� �/ -��+��� 6��*� �,*�
-��+� *�%%��-�+�� �� ��� ���'�� �/ , %�*�,+'��,% ���� �+ ��� ,%�+,� �+ ,%%,� �/ -��+�� *,+ /�%
�+��,+*� � �-�*�9�� � ,+ ,%%,� �/ *�,%,*��%�� 6��%� �+� ��-� �/ *�,%,*��% H, 6���� �-,*�I
�-�*�9�� ��� -%���+*� �/ , ���� �+ , -,%��*��,% ����� 6���� ,+����% HBXCI ��+���� ,+ � ��,*���
��*� ,� , 6,�� ,+� 9+,��� , *�,%,*��% /�% ��� -,%�� �/ ��� ,%�+, �+ 6��*� %� ��� *,+ (���
HB#”I� �+ �&,(-�� �/ ���� �*��(� �� ���6+ ���6 /�% ,+ ,%�+, *�+�����+' �/ �&�� ������
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
X#######################################X
X## ### # # ##### ##### ##X
X## ### # ##### ##### ##### ## ##X
X## # ### ##### ##### ## ##X
X## ### # ##### ##### ##### ## ##X
X## ### # # # # ##X
X#######################################X
X## ### # # # ##### ###X
X## ### # ## # ## # ##### ## ##X
X## ### # ## # ## ##### ## ##X
X## # # # ## # # ## ##### ## ##X
X### ## # ## # # ###X
X#######################################X
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
��
Building a Simulator 3.2 Design
)�� ,%�+, *�+�,�+� ��� �6� 6�%�� BF3??5C ,+� B85�?�C 6%����+ �+ ���� ����� /%,(�� � ,
6,��� )�� *�%%��-�+��+' �� %�+��%�� ��%���+ �/ ��� ,%�+, *,+ � ���+ �+ ��'�%� ����
Figure 3-3: �� ���� �� �� � ������� ����� �������� � 61�
)�� -����*,� ��K� �/ ,+ ,%�+, �� �+��-�+��+� �/ ��� %��������+� �+ ��% �&,(-�� , ���� 6� �,��
*����+ ��� ,%�+, �� �,�� ��� -����*,� ��(�+���+ &� (���%�J ��6���%� 6� *���� �,�� *����+
��+'�� ,+� 6���� ,% ��%,%����
)��� 6,� �/ �-�*�/��+' ,%�+,� ,���6� ��� ���% �� %,-���� �%� �,%���� ,%�+,� 6������ �,��+' ��
�-�*�/� , ��� �/ (����� ,+� ����% �� *��%��+,��� �+ O:? 9��� ,� �� �� ��� *,�� 6��� ��(� ����%
��(��,��%�� �*��,���� *�+��%�*��+' ,+ ,%�+, ��1� ��� �+� ���6+ �+ ��'�%� ��� 6���� � , �������
�,�1 6������ ��� ,�� �/ ��(� �� (������+' ���� �/ ,�� *��%��+,��� �,� �� � *,�*��,��� ,+�
��-�� �+ � �,+��
�+����% �+�9� �/ *�+��%�*��+' /%�( , +�( �% �/ �;�,������K�� ����� 6��� ��A�%�+� ���'���
,%%,+'�� �+ , �6����(�+���+,� '%�� �� ��,� ,�(��� ,�� *�(-��,���+� %��,��� �� %� ��",%�+,
�+��%,*���+ ,+� ,%�+, ;��%��� �+ '�+�%,� *,+ � ��+� �+ *�+��,+� ��(�� ��% �+��,+*�� �+ �%��% ��
����%(�+� �/ �+� �/ ��� �%���� �/ , %� �� �� �+ ��� ,%�+, ��%/,*� �% �/ �� �� *�%%�+��� ���% , �����
�� �� �+��'� �� (,1� , *�+��,+� ��(� ���1�- �+ ��� *�,%,*��% ,%%,� ��9+�+' ��� ,%�+,�� )����
��� ��(� *�(-��&��� �/ %�++�+' ��(��,���+� �� +�� ,A�*��� � ��� *�(-��&��� �/ ��� ,%�+,� )��
*�(-��&��� �/ ��� ,%�+, �+�� ,A�*�� ��� %�+���(� �+ *,��� 6��%� 6� ��� ��+��%� ��-�+��+� �+
%,��*,���+' H��'� , *,(�%,I�
#�����*��' �&��' ����������' ����' ��� ��������
)�� CSwarmBot ,+� CSbot *�,���� �(-��(�+� ��� ��'�* *�+*�%+�+' �6,%(� ��� ,+� �� ����
%��-�*������� )�� CSwarmBot *�,�� �(-��(�+�� ��� ��+,(�*� /�% �6,%(� ���� � �6,%(� ��
5�� ���� ����� � �H ����� ���� �������� ��E���� ����� � $� �� �� ����2� # ����� ���� � �� �� ����� ����� ���� �� �2 ����� �7�� ��������� ��� ��� ��� # ����� �� '��H�� �� ���� ����� �� ���� ���� �����
�
3.2 Design Building a Simulator
*,+ *�+���� �/ �+� �% (�%� �� ����� )�� CSbot *�,�� �(-��(�+�� ��� *�+*�-� �/ , ,%�� �+��
�� �� �� 6��*� , +�( �% �/ ��+��%� ,+� ,*��,��%� ,� 6��� ,� , *�+�%����% *,+ � ,����� F�+*�� ,�
��*� ��� CSbot *�,�� �(-��(�+�� ��� '��(��%�*,� -%�-�%���� �/ ,+ �� ��� 6���� ��� *,-, �������
,%� ,���� ,� *����%�+� )��%�/�%�� �� �� +�� +�*���,%� �� �,�� �,%���� �-�*�,��K,���+� �� ���
��-�+��+' �+ 6��*� ��+��%�� ,*��,��%� ,+� *�+�%����% �+� 6����� �� ���J ��� *,-, ������� �/ ���
�� �� *,+ � ����%(�+�� ,+� ,�7����� ,� %�+���(��
:����-�� *�+�%����%� �&���J �+� ��,� ,���6� ��� ���% �� *�+�%�� �+� �% (�%� �� ��� �+��%,*������
��, ��� 1�� �,%� ,+� ����%,� ,%��9*�,� +��%,� +��6�%1 *�+�%����%� �-�*�,��K�� /�% ��A�%�+� ��-��
�/ +��6�%1�� � +�( �% �/ ��+��%� ,+� ,*��,��%� �,�� ,��� ��+ �(-��(�+��� ��'����% 6���
��������� �� ,+� ���������� ��� 6��*� ,��� /�,��%�� ��*� ,� �� �''�+' ,+� +���� �� �&����+'
��+��%�� ��� ��'�%� ��.�
#�����*�� ����� �
)�� *����( -����*� �(-��(�+��� �+ )6���� �� ,��� �+ ��,+�,%� .� %�'�� ��� -����*� 6������
7��+��� 8� ��(-�� �%�,� , 6���� �6,%(� �� ,� , ��+'�� ��� ,+� ��� �,*� �/ ��� �� ��� � ,
/�%*� �+ ��� ���� )�� ��( �/ ��� /�%*�� ,+� ��%;�� �+ ��%+ ����%(�+�� ��� ,**���%,���+ ,+�
��� ,+'��,% ,**���%,���+ �/ ��� 6���� �6,%(� ��� )��� /�+�,(�+�,� ����'+ *���*� �,� �+�
�(-�%�,+� *�+��;��+*�� !�++�*���+� ��6��+ �� ��� ,%� ,���(�� �� � *�(-������ %�'�� ,+�
�+9+����� ��%�+'� 5 �������� ���� �� , *%��� ,--%�&�(,���+ ��+*� ��*� *�++�*���+� ,%� �(-���� ��
�+ -%,*��*�� )�� %�'�� '%�--�% ,*��,��� ���� (��� , ������ ��� ��%�K�+�,��� ,+� ��%��*,��� 6���
%��-�*� �� ��� '%�--�� �� �� 6��+ *�++�*��� �� ��� (��� ,%��+�� F�6���%� ��(� �/ ���
����% (�%� *�(-��& ��(��,��%� (,1�� ���� ,--%�&�(,���+ ,� 6���� ,+� ���+ ��(��,��%� 6��%�
��� '%�--�% �� (������� ,� , ��� �/ (����� ,+� 6��%� *�++�*���+� ,%� �(-��*�� ��%��'� (���
*�������+�� �� +�� ��(��,�� %�,���� *������ ��� �� ��� *�+��+���� ,+� *�(-��& +,��%� �/ ���
-����*,� �+��%,*���+� %��-�+�� �� /�% ��� *�++�*���+� ��6��+ �� ����
� *�+*���� ��� ���%��'�� �+�%���*���+ �� %�'�� ��� ��+,(�*� *,+ � /��+� �+ F�*1�% D�#,E�
F�*1�% D�# E� F�*1�% D��,E ,+� F�*1�% D�� E� $���6 6� -%���+� ,+� ���*��� (,���(,��
�*,� /%,(�6�%1 ��,� 6� ��� �� *�(-��� ��� ��+,(�*� �/ �6,%(�$��� �+ )6�����
+���� ,����
?�� r ��+��� ��� .� -������+ ��*��% �/ , '���+ � 7�*�� ,+� ��� v � ��� � 7�*�� ����*���� �/ 6�
��� t ��+��� ��(�� ���+ ��� ����*��� �� ��� ��%��,���� �/ ���-�,*�(�+��
drdt
= v H���I
)�� %��,���+���- ��6��+ ,**���%,���+� a� ,+� ����*��� �� ��(��,%�
dvdt
= a H��.I
�**���%,���+ �� �+ ��%+ ����%(�+�� � ��� (,��� m� �/ ,+ � 7�*� ,+� ��� /�%*��� F� ,*��+' �+ ���
6���� ����� ���������� ���� �� � �� ���� � 2� � �� �� ��� ������ �� ���� �� ������# ����$��# �� ����� ��8��� ��� ����� ��� �� �� � �� ������ � � ��� ������� �� ������ ����� �� �� �� �� � ��� �� ��� ���� ������� ������� �� ���� ��� �� ��� ����� ���# ����� ������ �� ���� ��� �� �� �������
��
Building a Simulator 3.2 Design
a =Fm
H���I
�/ 6� 1+�6 ��� -�6�% �/ ��� ���*�%�* (���%� �%���+' ��� �%���� �/ ,+ �� ��� ��� �%��+�,���+ �/ ���
*�,���� ,+� ��� (,�� �/ ,+ �� ��� 6� *,+ ��(��,�� ��� (���(�+� �/ ,+ �+��%� �6,%(�$�� �
��((�+' ��� /�%*�� ,*��+' �+ ��� *�(-���+' ��� ,**���%,���+� ����*��� ,+� 9+,��� ���-�,*�(�+��
�� 6���� � ��%,�'���/�%6,%� �� �(-��(�+� , ��+,(�*� �+'�+� �/ ��+�,% (����+ 6,� ,�� ���%� 6,�
�� ��� ��6���% �6� �(-�%�,+� *�(-�+�+�� ,%� (����+'� +,(��� �%��+�,���+ ,+� /%�*���+�
-��������
�����*,� � 7�*�� %,+'�+' /%�( ���(�+�,%� -,%��*��� �� ��,%� �-�+ ,%��+� ���(������� )�� ��
����� � �/ ,+ � 7�*� ,+� ��� ;�,+������ ������� ��� ��� ������� ������� �� ,+� � �3�� ,%�
%��,��� �� ���� ��-� �/ (����+� 6��*� �� *�(-��(�+�,%� �� ��+�,% (����+� !�,+'�� �+ �%��+�,���+
,%� ��1� *�,+'�� �+ ���-�,*�(�+� ��-�+��+� �+ ��� /�%*�� ,*��+' �-�+ ��� � 7�*�� )�� ��-�
�/ (����+ %������+' /%�( , '���+ /�%*� ��+' ,--���� ��-�+�� �+ ��� -��+� �/ ,--��*,���+ ,+�
��� ��%�*���+ �/ ��� /�%*�� )%� /�% �+��,+*� �� -��� , -�+ �+ ��� ���1 �+ /%�+� �/ ���� �/ ���
-��� �� H,--�� , /�%*�I -�%-�+��*��,%�� *���� �� �+� �/ ��� �+��� �� ��(-�� %��,���� �� �/ ���
-��� �� �+ ��� (����� ��� 6���� -�+ (���� ��+�,%��� 8� +��� �� ��(��,�� ��� ��-�� �/ 1�+���*
;�,+������� ��+*� �� ��� (���+' �+ �6,%(� �� /�%(,���+ ��+� �� �/��+ *�,+'� ����% �%��+�,���+�
6��� %��-�*� �� �+� ,+����%�
��+*� 6� �+�� +��� �� ��,� 6��� ��+,(�*� �+ �6� ��(�+���+� ��� �%��+�,���+ �/ ,+ � 7�*� *,+
� ���*%� �� � , �*,�,% *�%%��-�+��+' �� ��� ,+'�� ��6��+ ��� �%��+�,���+ �/ � 7�*� ,+� ���
6�%�� *��%��+,�� �����(� 8� ��� ٠��+��� ���� ,+'��� )�� ;�,+���� 1+�6+ ,� ������� ��� ���
ω� ��'� ��6 /,�� ,+ � 7�*� �� %��,��+'� �� ��� ��%��,���� �/ ��� �%��+�,���+�
dΩdt
= ω H��I
�+� ��� ,+'��,% ,**���%,���+� α� �� ��� ��%��,���� �/ ��� ,+'��,% ����*����
dω
dt= α H���I
$�/�%� 6� *,+ 6%��� ��6+ ,+ �&-%�����+ /�% ��� %��,���+ ��6��+ ��� /�%*�� ,--���� �� ,+
� 7�*� ,+� ,+'��,% ,**���%,���+ 6� ��9+� �6� *�+��+��+� (�,��%��� )�� *�+��% �/ (,�� ,+�
��� (�(�+� �/ �+�%��,� 8� *,+ *�+����% , �6,%(� �� ,� , ��� �/ -��+�� *�%%��-�+��+' �� ���
�� ���� )�� *�+��% �/ (,��� rCM � �� ���+ '���+ ��
rCM =∑
i rimi∑i mi
, H��#I
6��%� ri ,+� mi �� ��� -������+ ,+� ��� (,�� �/ -��+� i� %��-�*�������
�/ 6� ��� ��� �%��+�,���+ �/ �,*� -��+� �+ ,+ � 7�*� � ��9+�� 6��� %��-�*� �� ��� *�+��% �/
(,��� ��� 1�+���* ;�,+���� 1+�6+ ,� � ���� � ������ �� '���+ ��
I =∑
i
mi|ri − rCM |2 H���I
��
3.2 Design Building a Simulator
)���� ��� ��( �/ ��� (,�� �/ �,*� �� ��� (����-���� � ��� �;�,%� �/ �� ����,+*� /%�( ��� *�+��%
�/ (,��� �+ ��� .� *,�� 6� ���+ ��� ��� ������ � -%���*� ��6��+ �6� ��*��%� �� 9+� ���
*�+�%� ����+ �/ , /�%*�� F� �� ��� B,+'��,% /�%*�C 1+�6+ ,� ��%;�� ,+� ��+���� � τ �
τ = (ri − rCM ) ·⊥F H���I
6��%� ·⊥ ��+���� ��� -�%-�+��*���K�� ��� -%���*� �% -%�-���� -%���*��
A ·⊥B = −AyBx + AxBy. H��I
)���� 6� �,1� ��� ��*��% ��,%��+' �+ ��� *�+��% �/ (,�� ,+� �+��+' �+ ��� -��+� �+ 6��*� /�%*��
F� �� ,--���� ,+� ���������&� ���� ��*��% � %��,��+' �� π2 *��+��%�*��*16���� ,+� �,1� ��� ���
-%���*� ��6��+ ��� -�%-�+��*���K�� ��*��% ,+� ��� /�%*�� �+ �&,(-�� �� ���6+ �+ ��'�%� ��J
��� ��%;�� �+ %������+' /%�( F ��+' ,--���� �+ ri �� �&,*��� ��� ��� -%���*� ��6��+ F ,+�
A⊥ �% ��� -�%-���� -%���*� ��6��+ A ,+� F�
rCM
A
A⊥
F
ri
Figure 3-4: �� 0���� ���� �� ���� �� �� � ����� F ���� � ��� � � ��� ri��� ������ A � �� ������ ���� �� ������ �� ���� rCM �� �� ��� ��� ������ ri� ��� A⊥ ������� A$� �� ������4�� ������ �� ���7��� ��� ���� �� �� ��� ������ ������� A⊥ ��� F�
��+,���� 6� *,+ 6%��� ,+ �&-%�����+ /�% ��� %��,���+���- ��6��+ ��� /�%*�� ,--���� �+ ,+ � 7�*�
,+� ��� ,+'��,% ,**���%,���+�
7* �H $����� A = (Ax, Ay) �� � ���� ������ �����8� �� ��� �� π2� � �� ������������2����� A⊥ = (−Ay, Ax)
��
Building a Simulator 3.2 Design
α =τ
IA. H��� I
8��� ���� �&-%�����+ 6� *,+ +�6 *�(-��� ��� ,+'��,% ,**���%,���+� ,+'��,% ����*���� ,+� ���
�%��+�,���+ , �6,%(� �� ,��� �+ ��� /�%*�� ,--���� � ��� �%���� �/ �,*� �� �� �+ ��� /�%(,���+�
�������
)��%� ,%� �6� ��-�� �/ /%�*���+� +,(��� ��,��* /%�*���+ ,+� 1�+���* /%�*���+� ,+� 1�+���* /%�*���+
*,+ ,',�+ � ������� �+�� �����+'� %����+' ,+� 0��� /%�*���+� ��% ���% -�%-���� �� ��@*�� ��
*�+����% �+�� �+� ��-� �/ 1�+���* /%�*���+� +,(��� �����+' /%�*���+� ��,��* /%�*���+ ����%(�+�� ��6
(�*� /�%*� �� �,1�� �� -�� ,+ � 7�*� �+�� (����+� 6���� ��� 1�+���* /%�*���+ ,--���� �+*� ���
� 7�*� �� �+ (����+�
)�� /%�*���+ /�%*�� Ff � �� '���+ � ��� /����6�+' �&-%�����+�
Ff = μfFp H����I
6��%� μf �� ��� ��� � �6��� ,+� Fp ��� � ���� � ��� )�� +�%(,� /�%*� �� ��� /�%*�
-�%-�+��*��,% �� ��� *�+�,*� ��%/,*�� 6��*� �+ ��% *,�� ,�6,�� �;�,�� ��� /�%*� �/ '%,���,���+
��(�� ��� (,�� �/ , '���+ � 7�*� ��+*� 6� �+�� *�+����% 0,� ��%%,�+� ����*� ��,� ��� /%�*���+
/�%*�� Ff � �� , �*,�,% ,+� +�� , ��*��%� )��� �� �*,��� /%�*���+ ,�6,�� ,*�� �+ ��� ��%�*���+
�--����� �� ��� ��%�*���+ �/ (����+ /�% 1�+���* /%�*���+ ,+� ��,��* /%�*���+ ��+���� ��� ��K� �/
/�%*� +�*���,%� �� -�� ��� � 7�*� �+�� (����+ ,+� ���%�/�%� �,� +� ��%�*���+�
�+ ��% *,��� ��6���%� ��� /%�*���+ /�%*� �� , �� (�%� *�(-��*,���� ��+*� 6� ,%� +�� ��,��+' 6���
-,����� � 7�*��J �� %,���% 6� �,�� , �6,%(� �� ��,� *�+����� �/ , +�( �% �/ �+��%*�++�*����
,*���� � 7�*��� 6��*� ��� ��� /%�*���+ ��6��+ ��� ��%/,*� ,+� ����% �%���� �� -%�-�� ���(�������
-���� �� �+ ��A�%�+� ��%�*���+�� �(,'�+�� /�% �+��,+*�� �6� �� ��� *�++�*��� �� �,*� ����% �%��+'
�� (���J �/ ���� �%� �� (��� �+ *�(-���� �--����� ��%�*���+�� ��� /�%*�� ��(-�� *,+*�� �,*� ����%
���� 6���� �/ ���� ,���(-� �� (��� �+ ��� �,(� ��%�*���+� 6� �� +�� �,�� �� �,1� /%�*���+� �+
��� *�,���*,� ��+��� �+�� ,**��+�� �+ ,�� ����% *,��� ��� /%�*���+ ��-�+�� �+ ��� �%��+�,���+ ,+�
�-��� �/ ��� �%���� �/ �,*� �+������,� �� �� �+ ��� �6,%(� ���
8� ������ /%�*���+ �+�� �6� *�(-�+�+��� )�� ��+�,% /%�*���+ ,+� ,+'��,% /%�*���+� :�%����%� 6�
�����+'���� ��6��+ ��� ����,���+ �+ 6��*� ��� �%���� �/ ,+ �� �� �� (���+' H1�+���* /%�*���+I ,+�
6��+ ���� ,%� +�� (���+' H��,��* /%�*���+I ,� -%,*��*,� �&-�%�(�+�� ���6 ��,� (���+' �%����
�&�%� (�*� ���� /%�*���+ ��,+ +�+�(���+' ������� ��+*� (���+' �%���� ���- �,���%�
%���� ��� �
8� ,���(� , /%�*���+ (���� 6��%� ��� /%�*���+ *,���� � �,*� �� �� �� '���+ � ��� /����6�+'
�&-%�����+ �/ ��� �6,%(� �� �� (���+'�
Ff = (1 − cos θ)μf |Ft| H���.I
6��%� μf � ��� /%�*���+ *��@*��+�� �� �����% μm �/ ��� �%���� ,%� (���+' ,+� μn �/ ��� �%���� ,%�
+�� (���+'� θ ��+���� ��� ,+'�� ��6��+ ��� *�%%�+� ����*��� ��*��% ,+� ��� �%��+�,���+ �/ ���
��
3.2 Design Building a Simulator
�%���� ,+� Ft ��� /�%*� �/ ��� �%����� �/ ��� �6,%(� �� �� +�� (���+' ��� /%�*���+ �/ �,*� �� ��
�� '���+ ��
Ff = (1 − cos Θ)μf |Fp| H����I
6��%� μf � ��� /%�*���+ *��@*��+�� �� �����% μm �/ ��� �%���� ,%� (���+' ,+� μn �/ ��� �%���� ,%�
+�� (���+'� Θ �� ��� ,+'�� ��6��+ ��� *�%%�+� ��( �/ ,�� ��� /�%*�� ,*��+' �+ ��� �6,%(� ��
,+� ��� /�%*� �&�%��� � ��� �� ��� ,+� Fp ��+���� ��� +�%(,� /�%*�� �/ ,+ �� �� �� -,����� ,+�
+�� �&�%��+' ,+� /�%*� �+ , ��,��* �6,%(� ��� 6� ��(-�� ��� ��� ��,+�,%� 9*���+ (���� ���6+
�+ H����I 6��� μf = μn�
������� ��� �
�+'��,% /%�*���+ ��� ��1� ��+�,% /%�*���+� ������� �+�� �6� *,���� +,(��� �+� /�% 6��+ ��� ,+'��,%
����*��� �� K�%� ,+� �+� 6��%� ��� ,+'��,% ����*��� �� +�+�K�%�� �+ �� �� �+�� *,���� ,+'��,%
/%�*���+ �/ �� ���� +�� �&�%� , ��%;�� 6��� ��� �,(� ��'+ ,� ��� ,+'��,% ����*��� �% ��� ���,�
��%;�� �/ ��� �6,%(� �� �/ ��� ,+'��,% ����*��� +�+�K�%� ,+� K�%�� %��-�*������� )�� /%�*���+ �+
,+'��,% (����+ �� '���+ ��
FΩ = μg|A||Fp| H���I
6��%� μg� ��� ,+'��,% /%�*���+ *��@*��+�� �� �����% μm′ �/ ��� �%���� ,%� (���+' ,+� μn′ �/ ���
�%���� ,%� +�� (���+'� |A| ��� ��+'�� �/ ��� ��*��% /%�( ��� *�+��% �/ (,�� �� ��� �� ��� ,+�
|Fp| ��� ��K� �/ ��� +�%(,� /�%*��
8� �,�� ,��� ��% /%�*���+ (����� �+ �+������+ ,+� �&-�%�(�+�,���+� ,+� ����� 6��� �������
*�+�%����%� �+ -����*� %� ��� ���6 ��,� ���� /%�*���+ (���� �� ��@*��+��� *���� �� %�,���� �� ,���6
*�+�%����%� �� � �%,+�/�%%��� �/ , (�%� ,**�%,�� �% , ��A�%�+� /%�*���+ (���� �� +������ ���+
�� *,+ /,�%�� �,���� � �(-��(�+���� ��+*� ��� /%�*���+ (���� �� ����,��� �+ , ��+'�� -,%� �/ ���
*���� )�� 9*���+ *��@*��+�� *,+ ,+� ������ � ,�7����� /�% , -,%��*��,% ,%�+, ��%/,*� �+ ���
��(��,��%�
#������
)�� /����6�+' ���-� ,%� �,1�+ �+ �%��% �� *�(-��� ��� ��+,(�*� �/ , �6,%(� ���
�� ��% , �6,%(� ��� *�(-��� ��� *�+��%��/�(,�� ,+� ��� (�(�+� �/ �+�%��, ,� ��� *�+��%�
�/�(,���
.� ��� ��� �+���,� -������+ ,+� �%��+�,���+ �/ ��� �6,%(� ��
�� ?�� ��� %� ��� ��+�� ,+� ,*��
85��� �� � ��� ����� �+���� �� �� ������ �� ��� ������ �� � ����� ���� � �� ��� �9������ ������� ��������� ���� � ���� �� ��� ������ ��� �� ��� $������� �� ��� �� ������
9�� �� ��� ���� ��� �������� �� � �� � �� ���� �� �� ������ � �� �� ��� �� �> ��� �� � �������� ���� ��� �� ������ ����� � � � �� ���� �� # �� ���� � ��� �� �� ���� ������ ��2� .HJ �� K����+# ������� ���� ���� � 2����� �9���# ����� ����� ������� ��=���� �� ��� �H �� ��� �� ��� ��E���� ������� �� ��� ����� ����
��
Building a Simulator 3.2 Design
� !�(-��� ,�� ��� /�%*�� �+ ��� �6,%(� ��� �+*����+' ����% -��+�� �/ ,--��*,���+�
�� ��( ,�� ��� /�%*�� ,+� ������ � ��� ���,� (,�� �/ ��� �6,%(� �� �� 9+� ��� ��+�,%
,**���%,���+ ,� ��� *�+��% �/ (,���
#� ��% �,*� /�%*�� /�%( ��� -�%-���� -%���*� /%�( ��� *�+��% �/ (,�� �� ��� -��+� �/
,--��*,���+ ,+� ,�� ��� �,��� �+�� ��� ���,� ��%;�� ,� ��� *�+��% �/ (,���
�� ������ ��� ��%;�� � ��� (�(�+� �/ �+�%��, ,� ��� *�+��% �/ (,�� �� 9+� ��� ,+'��,%
,**���%,���+�
�� !�(-��� ��� /%�*���+ ,+� ,�7��� ��� ��+�,% ,+� ,+'��,% ,**���%,���+ ,**�%��+'���
� ��(�%�*,��� �+��'%,�� ��� ��+�,% ,+� ,+'��,% ,**���%,���+� �-�,�� ��� ��+�,% ,+� ,+'��,%
����*������ ,+� 9+,��� ��� -������+ ,+� �%��+�,���+ �/ �,*� �� ���
� � P-�,�� ��� *��*1 ,+� '� �� ���- ��
+� �
��� (�,��%�� ,+� �+���� ��*� ,� ��(� H��*�+��I� 6��'�� H1'I� /�%*�� H�I� ����*����� H("�I�
-������+� H(I� ��*� ���� �+ ��� ��(��,��% /����6 ��� �+��%+,���+,� �����( �/ P+��� H��IJ �����
��� (��%�* �����( ���� �+ *�+��+�+�,� 3�%�-�,+�
����� &'�����
��%�*��� �-�,1�+'� ��� *��� %��,��� �� ��������+,%� *�(-��,���+ �� +�� -,%� �/ ��� ��(��,��%�
F�6���%� ��+*� ��% /�*�� �� �+ ��������+ �/ *�+�%����%�� �� (,1�� ��+�� �� -%����� ,+ ���%���6 �/
��� �(-��(�+�,���+ *�+*�%+�� 6��� ��������+,%� ,�'�%���(� ,+� ��� �+��%-�,� 6��� ��� ��(��,��%�
� P:? ��,'%,( �/ ��� ��������+,%� *�(-��,���+ *�(-�+�+� �� ���6+ �+ ��'�%� ���� )��
����'+ �/ ��� *�(-�+�+� �� ��%,�'���/�%6,%�� � -�-��,���+ *�+����� �/ , +�( �% �/ �+������,���
)�� ��-�%�*�,��� CPopulation� �� ,+ , ��%,*� *�,�� ��9+�+' , *�((�+ �+��%/,*� �� ��A�%�+�
-�-��,���+ ��-��� 3,*� ��-,%,�� ��-� �/ +��%����������+ ,�'�%���( �� %�-%���+��� � ��� �6+
�-�*�,��K�� *�,�� �+��%���+' /%�( ���� ��-�% *�,��� )�� *�,�� CStandardGAPopulation
�(-��(�+�� , ��,+�,%� '�+���* ,�'�%���( -�-��,���+� 6��� %,+1 ,��� ����*���+� *%������% ,+�
(��,���+� )�� *�,�� CMuLambdaPopulation �(-��(�+�� , Dμ�λE -�-��,���+ H-%�+��+*��
��������� � ����� �I� )�� Dμ�λE ��������+ ���- 6�%1� ,� /����6�� )�� μ ��� �+������,��
/%�( ��� -%������ -�-��,���+ ,%� %��,�+��� ,+� ��� ����%� ,%� ���*,%���� )���� μ �+������,��
,%� *,���� ��� T-,%�+��T� 3,*� -,%�+� '��� �� -%���*� λμ *����%�+� ���� ��� ���,� +�( �% �/
*����%�+ �� λ� )���� λ *����%�+ /�%( ��� +�&� '�+�%,���+� �+ ���� 6,� +� *%�������% �� ���� ,+�
�-��(�K,���+ �� ��+� ������ ��%��'� (��,���+ D�*�6�/��� ��E�
����*� ��,� ��� *��-�%,���� *���������+,%� -�-��,���+ *�,��� CCCGAPopulation� ,''%�',���
, +�( �% �/ -�-��,���+�J �+� -�-��,���+ � 7�*� /�% �,*� �� �-�-��,���+ �+ ��� ��������+� )����
-�-��,���+� *,+ � �/ ,+� ��-� H���+ ��A�%�+� ��-��I� 6��*� (�,+� �� �-�-��,���+� *,+ ���+
� %�*�%����� �� /,%� 6� �,�� ���� ��,+�,%� -�-��,���+� 6��� *%������% ,+� (��,���+� ��+*�
� 7�*�� �/ ��� ��-� CStandardGAPopulation� ,� �� �-�-��,���+� ,+� ��� ��� �/ %�*�%����
�� �-�-��,���+� ,%� ��� �� � ��������
��
3.2 Design Building a Simulator
GetNextStringSetEvaluationResultGetBestIndividual
CStandardGAPop.
CIndividual
m_fFitness
GetStringGetStringLengthGetFitness
GetNextStringSetEvaluationResultGetBestIndividual
GetNextStringSetEvaluationResultGetBestIndividual
CCCGAPopulation CMuLambdaPop.
2..*
GetNextStringSetEvaluationResultGetBestIndividual
CPopulation
CPopulation
1..*
Figure 3-5: � 5%( ������ �� �� ���������� ��� ������ ��� ������
��
Building a Simulator 3.3 Putting Everything Together
)�� ��������+ ���- �� ��,%��� � �����% *%�,��+' , +�6� %,+��( -�-��,���+ �% � ��,��+' ,+
�&����+' -�-��,���+� )��+ �,*� �+������,� �% ��%�+' �� ,���'+�� , 9�+��� �*�%�� 5+*� ,�� �+���
����,�� �,�� ��+ ��,��,���� , +�6 '�+�%,���+ �� *%�,��� H�+���� ��� ��%(�+,���+ *%���%��+ ��
�,���9��I ,+� ��� �+������,�� �/ ��� +�6 '�+�%,���+ ,%� ��,��,���� ,+� ��� ���- �� ��,%��� /%�(
��� �'�++�+'� :����-�� �+������,�� *,+ � ��,��,��� *�+*�%%�+��� ,+� �+ ,+� �%��%� )����
/�,��%�� ,���6 /�% -,%,���� �(-��(�+�,���+��
8� �,�� �-�*�,��K�� ��� ��������+,%� ,�'�%���(� �� ��,� ��%�+'� ,%� '���+ ���% ��� ,�-�, �� �/
0�,��+' -��+� �,���� �+ ��� �+��%�,� [−10 : 10]� ��+*� 6� ,%� �-��(�K�+' ,%��9*�,� +��%,� +��6�%1
6��'���� F�6���%� ��� '�+���* ,�'�%���(� *�(-�+�+� �� +�� -,%� �/ ��� ��(��,��% ,+� �� *����
�,���� � ���� �+ ����% ��(,�+� ,+� ������� ,� 6���� �+ ��� /����6�+' ��*���+ 6� -%���+� ��6 ���
*�(-�+�+�� �/ ��(��,��% ,+� ��� ��������+,%� ,�'�%���(� �,�� ��+ 7��+�� ��'����% �+ �%��% ��
-%����� ,+ �,���������� 0�&� �� �+��%�+(�+� /�% ������+' +��%����������+ �/ %� �� *�+�%����%��
��� ����) ���� ��) ��)�����
)�� ��(��,��% ,+� ��� '�+���* ,�'�%���(� �,�� ��+ *�( �+�� �+ , *�((,+����+� �%���+ ,-�
-��*,���+� 6��*� ,���6� /�% *�+9'�%,���+ ,+� �&�*����+ �/ ��(��,���+�� ��������+ ,+� '%,-��*,�
-%���+�,���+ �/ ��� ������� ��,���%� )�� *�(-�+�+� ��,� �+�� ��� ��(��,��% ,+� ��� '�+���*
,�'�%���(� ��'����% �,1�� *,%� �/ %�,��+' ,+� 6%���+' ��,��� 9���� ,���6�+' /�% /�,��%�� ��*� ,�
%���,%��+' ��������+� 6��� ��A�%�+� �����+'� H��'�� , ��A�%�+� 9�+��� /�+*���+ ,+�"�% , ��A�%�+�
,%�+,I ,+� �,�� ����,� �,���,���+ �/ ��� ��,���% �/ ������� *�+�%����%��
)�� (,�+ '�,�� ,+� /�,��%�� ,%� -%���+��� ���6� �+ ��� +�&� ��*���+ 6� -%����� ��(� �&,(-���
�� ������%,�� ��6 ��(� �/ ��� /�,��%�� ������ ,%� �����
,���� ��$������� $ ��% !�+9'�%,���+ 9���� ���+ 6��+ ��+� �+ O:? �% ,+����% ��,+�,%�
%�-%���+�,���+ /�%(,�� ,%� �/��+ ��'��� �-�*�,��K�� ,+� �,�� , ��+��+*� �� �*�(� ��1�
,+� *�(-��& ���% ��� ��/����(� �/ , ��/�6,%� -%�7�*�� ��6 ���%� ,%� �/��+ /%���%,��� � ���
*%�-��* *�+9'�%,���+ �-���+� ,+� ����% �+��%��-�+��+*���� ��% ��� �&-�%��+*�� ���% �,%'�
*�+9'�%,���+ 9��� %����� �+ ��� ��/�6,%� ��+' 0�&� �� �� ������� �� ����-� )��%�/�%��
�+� �/ ��� '�,�� /�% )6���� 6,� �� (�+�(�K� ��� ��� �/ *�+9'�%,���+ 9��� ,� (�*� ,�
-���� ��� ,+� 6� �,�� ��**����� �+ ,�����+' *�+9'�%,���+ 9��� ,���'����%� ��� ,���6�+'
)6���� �� � ��'��� *�+9'�%, �� ��%��'� *�((,+����+� -,%,(���%��
'� ������� ����% !�+9'�%�+' ���%����+' ,� *�(-��� ��(� �� ,+ �,��� �� -��% 6,� �/ ,�����+'
*�+9'�%,���+ 9���� �*��,���� %�*�(-��,���+� ������ � ,������ �+ '�+�%,�� ��+*� ��� -%�*���
�/ (,�+�,�+�+' ,+� *�,+'�+' *��� /%�;��+��� H��'� �,*� ��(� ,+ ,�-�*� �/ , ��(��,���+ �,�
�� � *�,+'��I �� �%%�%�-%�+�� ��(� �/ ��� �&����+' ��(��,��%� ��A�% /%�( ���� -%� ��(�
�+ )6���� *��� �+�� �,�� �� � *�,+'�� 6��+ �' ,%� *�%%�*��� ,+� ,������+�� ��*�
,� +�6 9�+��� /�+*���+�� +�6 ��+��%�� *�+�%����%�� ��*� ,%� (,�� � ,+� ����� ,������+�
�/��+ %�;��%� �+�� ��*,� *�,+'��� ��� 9�+��� /�+*���+�� ,%�+,� ,+� -%�������� ������-��
��+��%�� ,*��,��%� ,+� *�+�%����%� *,+ � ���� �+ /���%� ��(��,���+� ,+� ��������+� 6������
%�*�(-��,���+�� )���� ���� -%������ ,*16,%� *�(-,�� ����� ,+� ��� /�,��%� ��� �/ )6����
�� *�+��+������ �&-,+����
�
3.4 Benchmarks Building a Simulator
� �.�/� ��*% :,+� ,�-�*�� �/ )6���� ,%� ��'��� 0�&� �� ,+� ��%�,����� /�% �+��,+*� ��� ,%�+,�
9�+��� /�+*���+� *�+9'�%,���+ �/ ��� �� ��� ��+��%�� ,*��,��%�� *�+�%����% ��-�� +�( �%
�/ �,(-���� ��*� *,+ ,�� � *�+9'�%�� ,+� %�*�+9'�%�� ��%�+' ,+ ��������+�
0��1� ��� �# �� /�.% ��+*� ��� 4�P ��������� �,�� ��+ ����� ��� ��(��,��% *�(-����
�A�%������� �+ , 6��� �,%���� �/ �5��O �-�%,��+' �����(�� �� /,% �� �,� ��+ ������ �+
�,%���� ?�+�& ����%� ����+� ,+� �+ :,* 5� O ,+� *�(-���� �+ ��� ��,+�,%� 4�P 6,�J
��*�(-%���� %�+ configure ,+� ���+ make� ��%���%(�%�� ��+*� +� *�+9'�%,���+ 9���
,%� +����� ��� ��(��,��% *,+ � ��,%��� ��%�*��� /%�( *�((,+����+�� ,+� 6��� -%����� ���
���% 6��� , ����,� �� ���-�,� �/ , ��,+�,%� ,%�+, ,+� *�+�,�+�+' �+� �� ��� 6��*� *,+ �
*�+�%����� ��, ��� 1�� �,%��
���� * �.������� 2�� � � �� ����� ���% 4���+ ��,� �%�,��,+���%%�% �� ,+ �+��%�+� -,%� �/
��������+,%� %� ���*� �� �,� ��+ (,�� �,�� �� �,���,�� ��� ��,���% �/ ������� *�+�%����%�
,+� �� *�,+'� �,%���� ,�-�*� �/ ��� ��(��,���+� ��'� �� *��*1 ��6 ��� *�+�%����% -�%/�%(�
�+ ����% �+��%�+(�+��� �*,�, ������ ��A�%�+� �+���,� *�+9'�%,���+� ,+� ���+ 6��� ����%
9�+��� /�+*���+��
��� .������#�
�+ ���� ��*���+ 6� -%����� �+*�(,%1�+' %������ /�% , ��(��,��% ���� ���+' 5�3 ,+� *�(-,%� ���
-�%/�%(,+*� *�,%,*��%����*� �� ����� �/ )6����� 8� �� +�� (�,+ /�% ���� �� � ,+ �&�%�(���
,**�%,�� �+*�(,%1� �� (�%��� �� ���6 �%�+�� �+ ��� -�%/�%(,+*� �/ ��(��,��%� ��,� ,%� ����
,**�%��+' �� ��A�%�+� ����'+�� ), �� ��� ���6� ��� -�%/�%(,+*� %������ /�% �6� ��(��,��%�� �
%�*�+��� ������-�� ��(��,��% ���� �+ 5�3� 6��*� 6� ��,�� *,�� ��� ,+� )6����� 8� ��� �� /�%
��% �+*�(,%1� �+���,� �/ :���� ��+*� �� 6,� ������- 6��� ��� �+��+���+ �/ %�-�,*�+' :��� ,+�
����% Q�%��&� ,��� ��(��,��%� ,� ��% �, � )�� ��(�� ���6+ �+ ��� �, �� *�%%��-�+� �� ��� ��(�
�,*� �/ ��� ��(��,��%� %�;��%�� �� ��(��,�� � ��*�+�� /�% , '���+ +�( �% �/ *�++�*��� �� ���
(���+' %,+��(��� ��� ��� �+*�(,%1� 6�%� *�+��*��� �+ ,+ �����+ O� .� S 6��� ��. :$
%�++�+' �� �,+ ?�+�&� ����*� ��,� /�% �� 6� �,�� �6� ���� �/ %������� �+� /�% �&,*� ��(��,���+
,+� �+� /�% ,--%�&�(,�� ��(��,���+ ���+' ��� 3�#����� /�,��%� �/ 5�3� )�� �+*�(,%1�+'
(��������'� ,+� ��� -�%/�%(,+*� %������ /�% �� �,�� ��+ � �,�+�� /%�( ��+' D. �E�
�� �� *,+ � ���+ /%�( ��� -�%/�%(,+*� %������ )6���� �� �%��%� �/ (,'+����� /,���% ��,+
�� /�% �,%'�% *�+9'�%,���+� ,+� ���6� , *����������+�,% %��,���+���- ��6��+ ��� +�( �% �/
�� ��� ��(��,��� ,+� ��� -%�*����+' ��(� %�;��%�� �� �&�*��� , ��(��,���+� �� %�++�+' �+
,--%�&�(,���+ (��� ���6� , ��(��,% ��+�,% %��,���+���-� ,�����'� ��6��+ . ,+� � ��(��
���6�% ��,+ )6����� )���� -�%/�%(,+*� %������ ,%� , +,��%,� *�+��;��+*� �/ ��� (������ ����
�� *�(-��� ��� ��+,(�*� �/ ��� ��%��,� 6�%��J 6���� )6���� ,+� 5�3 %�++�+' �+ ,--%�&�(,���+
(���� �(-��� (������ ��+�,% �+ ��� +�( �% �/ � 7�*��� Q�%��& ,+� 5�3 %�++�+' �+ �&,*� (���
����� �����(� �/ �;�,���+� 6��� +�+���+�,% *�+��%,�+�� 6��*� '%�6 ;�,�%,��* �+ ��� +�( �% �/
*�++�*��� ��%��,� � 7�*��� ��� �� ���� ��(� ,+� �-,*� *�(-��&���� �� �� -%,*��*,��� ��(���� ��
,%��+� �. %� ��� 6��+ %�++�+' �+ �&,*� (��� ,+� ,� ���*%� �� �+ ��+' D. �E 5�3 ,*��,���
*%,���� ��� �� (�(�%� ���%�,'� 6��+ ��� �+*�(,%1� 6�%� %�+ /�% (�%� ��,+ �. �� ��� �+
��
Building a Simulator 3.4 Benchmarks
3 �(/��� �2���� '� �.��� '� �����.4
� � .� � � ���
. � �� ��� ���
� �� .��.� ����
# � #� �� � .�#��
� � �� .���� ���
�. �� � ����� ��.��
�# ���� � �� #�
. ���� � �����
.� ��� � ��� �
�. �.�� � �
# �� � �
�.� ��#� � �
.�# ����� � �
��. ���� � �
� . ���� � �
Table 3-1: Performance benchmark for TwoDee, NS running in exact mode, andNS running in approximation mode. The numbers shown correspondto the time each of the simulators requires to simulate 100 seconds fora given number of connected s-bots moving randomly. NS running inapproximation mode and TwoDee show a time complexity close-to-linearin the number of connected s-bots simulated, while NS running in exactmode appears to have a cubic time complexity. TwoDee is orders ofmagnitude faster than NS even when running in approximation mode.
�
3.5 Future work Building a Simulator
��� ���� (,*��+�� )6���� �,� +� ��*� (�(�%� %�;��%�(�+�� ,+� ��(��,��+' � � *�++�*���
%� ��� �,1�� �- �+�� �� :$ �/ (�(�%��
�� /����� ���#
)�� *�%%�+� ��%���+ �/ )6���� �� ��'��� �-�*�,��K�� /�% ��� ����� �+��%���+' ���� �3� �������
F�6���%� 6� �+��+� �� (,1� ��� ��(��,��%� �% -,%�� ���%��/� (�%� '�+�%,� �+ ��� /���%� ��%�
���+�� �-�*�9* /�,��%�� ��,� 6� 6��� �+*���� ,%� *�������+ ����*���+ ,+� ��+,(�*� /�% (����-���
���*�++�*��� %� ���� ,� 6��� ,� ��--�%� /�% +�6 %� �� ,%*����*��%�� ��*� ,� ��� ����*1�
��%���%(�%�� , -,%,���� ��%���+ �/ )6���� �� -�,++��� 6��*� ,���6� /�% ��,��,���+ �/ ��A�%�+�
(�( �%� �/ , -�-��,���+ �+ -,%,����� !�%%�+���� (����-�� ��������+� *,+ �,���� � ��+� �+ -,%,�����
��(-�� � ��,%��+' (����-�� �+��,+*�� �+ ��A�%�+� +���� �+ , -,%,���� *�(-���% ��*� ,� , *�����%�
F�6���%� , -,%,�����K�� ��%���+ �/ )6���� �����/ 6���� ,���6 /�% (����-�� !�P� 6�%1�+' �+ ���
���� ��������+ *�+*�%%�+���� )��� �+ ��%+ 6���� ��*%�,�� ��� ��(� ��6��+ ,+ ��������+ ��
��,%��� ,+� ��� %������ �*�(� ,�,��, ��� ���� �� (�'�� �-��� �- ��� �%�,��,+���%%�% -�,�� �/
������+' %� �� *�+�%����%� ,� %������ ,%� (,�� (�%� %,-���� ,�,��, ���
��0 ������
�+ ���� *�,-��% 6� �,�� -%���+��� ��� %�;��%�(�+�� /�% , ��/�6,%� ��(��,��% ,+� ,+ �+��%�+(�+�
/�% +��%����������+ �/ %� �� *�+�%����%�� 8� �,�� (����,��� 6�� �&����+' ��(��,��%� �� +��
(��� ����� %�;��%�(�+�� ,+� 6� �,�� ���%�/�%� *����+ �� ������- ��% �6+� �-�*�,��K�� ��/�6,%�
*,���� )6����� 8� �,�� -%���+��� ��� ���%,�� ����'+ �/ ��� ��(��,��%� ��� �+��%���+' ��+,(�*�
,+� �+*�(,%1� /�% )6���� ,+� ,+����% %�*�+��� ������-�� ��(��,��%� ��� ���� �+ , '�+�%,�
��/�6,%� ��+,(�*� �+'�+�� 5�% %������ ���6 ��,� )6���� ���-�%/�%(� �� � ����%,� �%��%� �/
(,'+������ ,+� ��,� )6���� �*,��� *���� �� ��+�,%��� ��� ��(� ,+� �-,*��6���� �+ ��� +�( �%
�/ �� ��� ��(��,���� 8� �,�� ��**���/���� ��+ , �� �� ��(��,�� �� � *�++�*��� %� ���
�+ , +�%(,� 6�%1��,���+���
�� ��� ��(� �/ 6%���+' )6���� *�(-%���� ,--%�&�(,���� �.� ��+�� �/ *��� -��� ,+ ,������+,�
��� ��+�� �/ *��� �+ ��� �%,6���A �� %,%��
10* ���� � ���2�� ���� �� ���� � �� �� � *����� -3 �<""C ���� )�� 1� �� /*1 ������� H��� � L���+ %���'��H�� ����� ��� �"""""" �������� ������ ��� ������ �� �� �� ����+�� ���� )"" 1� �� /*1
��
�������� �������������������
3�������+,%� %� ���*� �� , 9��� ��,� �� �+ ��� �+/,+*�� )�� -%� ��(� �,*1��� � %���,%*��%� ,%�
�/��+ ��(���� �� ��(-�� �,�1� ��*� ,� -,�� 9+��+'� -%�� %��%���,�� ,+� %�,*��+' , �,%'�� ��*,���+�
)�� (,�+ %�,��+ 6�� ��������+,%� %� ���*� �,� +�� ��� -%������ �� 6��� ��-�����*,��� ,+� ���/��
%� ��� �� ��,� ������+' *�(-��& ��,���% �� ���� ����� �� '�+�%,� '������+�� �&��� /�% ��6 �+�
������ ����'+ ��������+ �� ��,� �� 9+�� , '��� �������+ /�% ��� �,�1 ,� �,+�� )��%�/�%�� �+� ��
��/� 6��� , �%�,��,+���%%�% ,--%�,*� 6��%� ����%,� ��%,��'��� �,�� �� � �%��� �/�%� , ��**���/��
�+� �� /��+� �% �/�%� ��� �,�1 �� '���+ �-� ��%�� �/ ,��� ������%,--�+' ��������+ *,+ � ,
-%� ��(J ��*�+��� �&-%����+' ��% � 7�*����� �+ ��%(� �/ , 9�+��� /�+*���+ *,+ � *�,���+'�+'�
,+� 9+,��� ��,-�+' ��� 9�+��� �,+��*,-� �� ��,� ��������+ �,� , /,�% *�,+*� �/ %�,*��+' ,+
,**�-�, �� �������+ �� �/��+ +�+��%���,��
�+ ���� *�,-��% 6� �+�����',�� ��A�%�+� ��%,��'��� /�% ������+' *�+�%����%� /�% ��(��*�(-��&
��,���%J ��,� ��� , *�+�%����% 6��*� ,���6� , �6,%(� �� �� (��� /%�( ,+ �+���,� ��*,���+ ��
, �,%'�� ,%�, (,%1�� � , ��'��� �+ ��� -%�*��� 6� ��''��� , (����� /�% 9+��+' , '���
��������+,%� ����- ,+� 6� *�(-,%� ��� -�%/�%(,+*� �/ �,%���� ��-�� �/ +��%,� +��6�%1� ,+�
+��%����������+ (�������
8� �,�� ��%�*��%�� ��� *�,-��% �+ ��� /����6�+' 6,�� 8� 9%�� ���*%� � ��% (��������'� /�%
� �,�+�+' , '��� ��������+,%� ����-� +,(��� � ��9+�+' ,+ ,--%�-%�,�� �%��% ,+� 6,� �+ 6��*�
��� ��A�%�+� ,�-�*�� �/ ��� ,%��9*�,� ��������+ �/ , *�+�%����% ,%� �%�,���� 8� ,%'�� ��,� ��� �%��%
������ � ��� /����6�+'� ���+��� /�+*���+�� +��%,� +��6�%1 ��-��� +��%����������+ (������� ,+�
��������+,%� -,%,(���%�� 8� ���+ ���*��� ��% '�+�%,� �&-�%�(�+�,� ����- ,+� ��� (,���(,��*,�
+��,���+ 6� ��� �� �&-%��� 9�+��� /�+*���+�� �+ ��� %�(,�+�+' ��*���+� �/ ��� *�,-��% 6� ,--��
��� ��''����� (����� �+ �%��% �� ��������+ �/ , *�+�%����% ��,� �+, ��� , '%��- �/ �� ��� �+
�6,%(� �� /�%(,���+ �� -�%/�%( -�����,&�� ,+� �����,����,+*��
��� +����!���) 3���+��,���� ,+ ��������+,%� ����- *,+ � ������� �+�� ��%�� ��A�%�+� -,%�� ,� ���6+ �+ ��'�%� �
�� ���%,� +��6�%1 ��-� ,+� ��%�*��%�� 9�+��� /�+*���+� ,+� ��� +��%����������+ (������ )��
+��%����������+ (����� *�+�,�+� , +�( �% �/ ��������+,%� -,%,(���%� ��*� ,� (��,���+ %,���
����*���+ �*��(�� -�-��,���+ ��K�� *%������% %,��� ��*� �+ ���� ��*���+ 6� ���*��� ��(� �/ ���
������ %��,��� �� 9+��+' ,+ ��������+,%� ����- ,+� ��� (,�+ ���,� ���+� ��% (��������'��
����� %����� �������
��9+�+' , (����� /�% 9+��+' , '��� ��������+,%� ����- �� +�� ��%,�'���/�%6,%�� :��� �/ +��
,�� *�(-�+�+�� �/ ��� ��������+,%� ����- ,%� �+��%��-�+��+�� 6��*� (�,+� ��,� *�,+'�+' �+�
�,���� ,A�*�� ��� -�%/�%(,+*� �/ ,+����%�
��
4.1 Methodology Evolving Controllers
Method
Mutation rate
Population size
Selection....
Controller
ANN typeand
structure
Fitness function
Neuro−Evolution
Evolutionaryparameters
Evolutionary Setup
Figure 4-1: �� ���� ��� ��� ������ � �� ���������� ���� # �� ����������� �������� �� �� �88� � 0����� �������� ��� � �������������� ������ ���� ������ � �� 0���� ������� �� ��� ������ ��� ������ ������� ������� ��� ������ �� ���������� �������� ��� ������� �� ����������� �� �������
����%,� -,-�%� �,�� ��+ 6%����+ �+ ��%� �-�*�9* ���,��� *�+*�%+�+' ��������+,%� *�(-��,���+
��*� ,� ��� (��,���+ �-�%,��%� ������'� ��*� ������� �+*%�,�� ��% �+��%��,+��+' �/ ��� �� �
������� �/ ��������+,%� *�(-��,���+� , ��+'�� -,%� �/ ��� ��������+,%� ����- *,+ �,%��� � ����,���
,+� ,+,��K�� �+��-�+��+��� 6������ %�',%� /�% ��� %��� �/ ��� �����(� ��% �+��,+*�� �/ ��� (��,�
���+ %,�� �� ��%� ��'� ���+ , ����*���+ �*��(� ��,� �+*����� ������( *���� ����-�%/�%( , ����*���+
�*��(� 6������ ������(� 6��%�,� ��� %���%�� (�'�� � �%�� �/ 6� *����� , ��%� ��6 (��,���+
%,��� �+ ��%+� ��� ;�,+���,���� �%,+��,���+ �/ ���� ��� ,+� ���� � � �+ ��%(� �/ (��,���+ %,�� ��
-%� ��(���-�+��+� ,+� �,� �� ��� +�� �+�� 6��� ��� +�( �% ,+� ��-�� �/ �,%�, ��� �� �-��(�K��
�� ,��� ��� ��-�+��+*��� ��6��+ ��� �,%�, ��� ���(������� ��� *�%�(���(� �+*���+'� ,+�
�� �+� ����� /%�( ��� ��������+,%� -,%,(���%� /�% , '���+ +��%����������+ (������ 6� ,���
�,�� �� 9+� ��� , ����, �� 9�+��� /�+*���+ ,+� ,+ ,--��*, �� ,%��9*�,� +��%,� +��6�%1 ��-� ,+�
��%�*��%�� ��� �/ ����� *�(-�+�+�� ,%� �+��%��-�+��+� ��+*� ��� 9�+��� �,+��*,-� �� ��,-�� �
��� 9�+��� /�+*���+ ,+� +��%,� +��6�%1 ��-� ,+� ��%�*��%�� 6���� ��� +��%����������+ (�����
,+� ��� ��������+,%� -,%,(���%� ����%(�+�� ��6 ��� ��,%*� /�% '��� �������+� �� *�+��*���
��%��+�
)���� ���%� *�(-�+�+� �/ ��� ��������+,%� ����- ��-�+�� �+ ���%� ����% *�(-�+�+�� 6��*� ��
-%� , �� �+� �/ ��� %�,��+� 6�� +� ��,+�,%��K�� �% /�%(,��� -%���� (����� /�% ������+' %� ��
*�+�%����%� �&����� �+ ��� /����6�+' 6� 6��� ���*��� ��� (������ 6��*� 6� �,�� ���� �� 9+� ,+
��������+,%� ����- ��,� ,���6� �� �� ������ *�+�%����%� /�% ��% �,�1� ������'� ��� (����� �,�
��+ ������-�� 6��� ��% �,�1 �+ (�+�� 6� ��-� ��,� �� *,+ ��%�� ,� ��� 9%�� �(,�� ���-� ��6,%��
��
Evolving Controllers 4.1 Methodology
, ��%�*��%�� ,--%�,*� /�% �,�1��%��+��� ��������+,%� %� ���*���
"�� �� ���� �� �����
�� �� -%,*��*,��� �+/�,�� �� �� -�%/�%( ,+ �&�,������ ��,%*� �+ ��� �-,*� �/ ��������+,%� ����-��
��,� ��� ,�� -���� �� *�( �+,���+� �/ -,%,(���%� �,����� 9�+��� /�+*���+�� ,+� *�+�%����%� ��-���
��% ,+ ��������+,%� -,%,(���% ��1� ��� -�-��,���+ ��K�� (��,���+ %,��� ,+� +�( �% �/ ������ ��
*�-� /%�( �+� '�+�%,���+ �� ��� +�&�� 6� *,+ ���*%���K� ��� �+��%�,� �/ %�,��+, �� �,����� %�+
, +�( �% �/ ������ ,+� *����� ��� *�( �+,���+ �/ �,���� ������+' ��� ��� %������� ��% ����%
*�(-�+�+�� �/ ��� ��������+,%� ����-� /�% �+��,+*� ��� 9�+��� /�+*���+� ��*� , ���*%���K,���+ ��
+�� � ������
)� ��( �-� 6� ,%� /,*�� 6��� ��� /����6�+' ����,���+� 8� �,�� �� 9+� '��� �,���� /�% ������
���+,%� -,%,(���%� ��*� ,� (��,���+ %,��� -�-��,���+ ��K�� *%������% %,��� +�( �% �/ �,(-���
-�% �+������,�� ��*�J 6� �,�� �� 9+� , ����, �� ,%��9*�,� +��%,� +��6�%1 ��%�*��%� ,+� , 9�+���
/�+*���+ ��,� ,--���� ��� *�%%�*� ��������+,%� -%����%�� ��� �/ ����� ,�-�*�� ,%� �+��%��-�+��+�
,+� ���%� *�%%�+��� �&��� +� (����� /�% 9+��+' , ����, �� ��������+,%� ����-� 5+ ��� �+� �,+�
���� �� ;���� ���*��%,'�+' '���+ ��� �,*1 �/ ,+� ,--,%�+� ��%�*��%� �% ,--%�,*�� 6���� �+ ���
����% �� ��,��� , ��� �/ %��( /�% �(-%���(�+�� �� ��� *�%%�+� ����,���+�
5+� 6,� �/ �,*1��+' ���� ����� �� �� �%� , +�( �% �/ ��A�%�+� *�( �+,���+� H�% 7��� �+�I ,���
�+ �+������+� -�*1 ��� ��� *�( �+,���+ ,+� ,�7��� ��������+,%� -,%,(���%�� +��%,� +��6�%1
��%�*��%�� ,+� 9�+��� /�+*���+� ,��� �+ �%�,��,+���%%�% ,+� �&-�%��+*� �+��� , '��� �������+
�� /��+�� )��� �� -%� , �� ��6 ��� (,7�%��� �/ �,�1��%��+��� ��������+,%� %� ���*� �� ��+�
+�6,�,���
�+ ,���%+,���� 6���� � �� ,--�� , -�,��� ,--%�,*� �+ 6��*� �+�� �+� ,�-�*� �/ ��� ��������+,%�
����- �� �%�,��� ,� ��� ��(� ,+� 6�%1 ��6,%�� , '��� �������+ � -%�'%������ ��*1�+' (�%�
,+� (�%� *�(-�+�+�� ,+� -,%,(���%� �/ ��� ��������+,%� ����-� ��� �� ��� �+��%��-�+��+*�
��6��+ ��� �,%���� ,�-�*�� �/ ��� ��������+,%� ��%,��'�� ���%� �� +� � ����� �%��% ,+� , '���+
(��������'� ������ �+��%�� �� ��(� ��'%��� ��,� ��� -,%,(���%�� 9�+��� /�+*���+� ,+� ���
+��%,� +��6�%1 ��%�*��%� ,+� ��-�� ,%� +�� ��*1�� �+�� �� �-��(,� �,���� �,%�� �+ ��� -%�*����
8� �%� �� (�+�(�K� ���� %��1 � 9%�� /�*���+' �+ ��� (��� �+*�%�,�+ ,+� -%���(�+,+� ,�-�*��
�/ ��� ��������+,%� ����- ,+� �+�� ,/��%6,%�� ��+�+' ��� ���� ��(�+,+� -,%��� 8� %�',%� ���
(��� �(-�%�,+� ,�-�*�� ,� ����� ��,� %�;��%� (��� ��(,+ �+������+� ,%� �,%���� �� 9+� �+ ,
%��� /�%*� (,++�%� ,+� ����%(�+� �/ , ����, �� *�+�%����% *,+ � ������� �% +�� H,� �--����
�� ��6 /,�� ,+ ,**�-�, �� �������+ �� /��+�I� $,��� �+ ����� *%���%�,� 6� �,�� �� ����%(�+�
��� �%��% /�% 9+��+' '��� ��������+,%� -,%,(���%� H+��%����������+ (������ ����*���+ �*��(��
(��,���+ %,��� ,+� �� �+I� ��� ��-� ,+� ��%�*��%�� ,+� 9�+��� /�+*���+�
)�� (��� �(-�%�,+� ,+� �+*�%�,�+ �+'%����+� �/ ��� ��������+,%� ����- �� ,%'�, �� ��� 9�+���
/�+*���+� )�� 9�+��� /�+*���+ %�-%���+�� ��� ���(�+� /�% 6��*� ��% �+��%��,+��+' �/ ��� -%� ��(
1?' �2�������� �$������� �� ��������A ������ �� �$������� �� ������ ���� ����� ��� �� ���� ����� ��� ����� � �2 � � ���� �7�� ,���� ��� �� ������ ���0 � ��� ���������� � ���� � ��� �$������� �� ��� ���� � � �������� ���� �� ���� ������ �� ��� �������� �� ���� ����� '���# ��� ����� �� �$��$��� ���������� �� � � � ���$� �����7� � �2 '��� �� �� ����� �� �� ���� ����� ����� ��� �� �� ��� �� ���� �� ��� �� ����������# ��������$�� ��$�� � �2# ��� ���� �� ����� ������ �� �$������� �� ��������# ���� � ��� ���� ��� �� ��� ��� ��������������� �� �����7� ���� �� ������2 �� ��$����� ��
��
4.1 Methodology Evolving Controllers
-�,�� ��� �,%'��� %��� ,+� ����(,���� ������ � , (,���(,��*,� ���*%�-���+ �/ ��% � 7�*������ �/
���%����+' ���� �� -�%/�*�� �� ��� 9�+��� /�+*���+ �� 6%�+'� 6� ,%� ��'��� �+��1��� �� � �,�+ ,
�,���/,*��%� ��,���%� )�� �,(� �� +�� +�*���,%��� �%�� /�% ��� ����% ,�-�*�� �/ ��� ��������+,%�
����-J �/ ��� (��,���+ %,��� /�% �+��,+*�� �� , �� ��� ��6� �� *���� �,1� ��+'�% ��,+ +�*���,%� ��
������ ��� ����%�� ��,���% �+ ��� ,��%,'� *,��� ,+� �/ ,+ ,%��9*�,� +��%,� +��6�%1 �,� ��� (,+�
�% ��� /�6 �����+ +����� �� (�'�� ���%9� �% �+��%9� ��� -%� ��(� �� ����� ,+ ,--%�&�(,���+ �/
��� ��,���% 6� �,� �+ (�+� *,+ � ��������
�+ �(-�%�,+� ����� �� ��,� 6� *,++�� ����%(�+� �/ , 9�+��� /�+*���+ �&�%�� ��� *�%%�*� ������
���+,%� -%����%� ������ �� ���� �� F�6���%� 6� *,++�� ���� �� �/�%� 6� �,�� *����+ , +��%,�
+��6�%1 ��-� ,+� ��%�*��%� ,+� �+���� 6� �%� �� ������ ��� *�+�%����% �+��% ,+ ��������+,%�
,�'�%���( ,+� ��� ,�� �/ ��� -,%,(���%� �� ��(� �,����� )��� *��*1�+�,+���'' ����� *,+ �+�� �
���%*�(� � �����+' , 9�+��� /�+*���+ 6��� , %,+'� �/ ��A�%�+� *�+�%����%� ,+� 6��� , ��� �/ ����
�����+,%� ,�'�%���( -,%,(���%�� )���� -,%,(���%� (�'�� �/ *��%�� +�� � �-��(,� �� ,� ��+'
,� ���� ,%� %��,������ ��������� �+ ��� ��+�� ��,� �/ , �������+ *,+ � /��+�� ��� ��������+,%�
,�'�%���( �,� , '��� *�,+*� �/ 9+��+' �+� H,�����'� �� (�'�� �,1� ����%,� '�+�%,���+� (�%�
��,+ ��%�*��� +�*���,%�I� )��� (�,+� ��,� ���%� 9�+��� /�+*���+ �� ������ 6��� , *�+��%�,����
,+� %�-%���+�,���� ����*���+ �/ +��%,� +��6�%1 ��-�� ,+� ��%�*��%� ,+� ��������+,%� -,%,(���%��
8� 1��- �����+' ,+� (���/��+' 9�+��� /�+*���+� �+��� 6� ,*����� �,���/,*��%� �������+� (�,+�+'
��,� 6� � �,�+ *�+�%����%� ��,� %�*���� , %��,���� ��'� 9�+��� ��� ����� ��� �,�1 ��,� 6� �,�
�+ (�+�� 5+*� �� �,� ��+ ��%�9�� ��,� ��� 9�+��� /�+*���+ �&-%����� ��% �+������� ���,� ��
�� �(-�%�,+� �� ���� �/ ��� ������� ��%,��'��� ,%� '�+�%,� ,+� 6�����% ��� *�+�%����% *,+ �
�%,+�/�%%�� �� ��� %�,� %� ���� 8��+ , 9�+��� /�+*���+� 6��*� (��� ����� *%���%�,� �,� ��+
/��+�� ��� %,+'� �/ +��%,� +��6�%1 ��-�� ,+� ��%�*��%�� �� �&-,+��� ,+� ������� 8��+ , ����, ��
+��6�%1 �,� ��+ /��+� ��� /�*�� �� ���/��� �� ��� +��%����������+ (����� ,+� ��� ��������+,%�
-,%,(���%�� �+ ������%,���+ �/ ���� *�+*�-� �� ���6+ �+ ��'�%� �.� 6��%� ��� ��%�K�+�,� ,&��
��+���� ��(� ,+� 6��%� ��� 6���� �/ ��� ,% ���6+ /�% �,*� *�(-�+�+� �+��*,��� ��� %��,����
+�( �% H�% %,+'�I �/ ��A�%�+� ���(�+�� ������ /�% ��� *�(-�+�+� ,� , -��+� �+ ��� -%�*����
8� *,�� ��� ��� �/ %�-%���+�,���� ���(�+�� ��� ������� ��� /�% , '���+ *�(-�+�+� H�+ ��'�%� �.
��� ,����+� ���� ,%� ������%,��� ,� ��� ���*1�% ,%� �+ ��� ��/���,+� ���� �/ ��� �%�,+'�� /�%
�,*� *�(-�+�+�I� F�+*�� ��� ,����+� ���� *�+���� �/ ��� ���(�+�� � +��%,� +��6�%1 ��%�*��%���
+��%����������+ (������� ,+� ��������+,%� -,%,(���%� � ��,� ,%� ���� /�% , *�(-�+�+� �/ ���
��������+,%� ����- �/�%� ��� /�*�� �� �+ ��,� *�(-�+�+�� )�� +�( �% �/ ���(�+�� �+ ���
,����+� ���� �� , �%,����A ��6��+ �-��� ,+� *���%,'�� )�� (�%� ���(�+�� �+ ��� ,����+�
���� ��� (�%� *�( �+,���+� 6� ����� 6��*� �+ �+� �,+� ��*%�,��� ��% *�,+*� �/ (����+' ,
'��� ��������+,%� ����-� �� ,��� %�;��%�� (�%� ��������+,%� %�+� ,+� ���%�/�%� ���6� ��6+ ���
-%�*����
��%�+' ��� -�,�� �+ 6��*� ��� 9�+��� /�+*���+ �� ����%(�+�� 6� �� +�� +�*���,%��� �,�� �� ����
, �,%'� +�( �% �/ ��A�%�+� 9�+��� /�+*���+�J �/ �+� �/ ��� 9%�� �+�� ��,� 6� ���� -%���� ��
(,���(,��*,��� �&-%��� ��% �+��+���+ ,+� ,���6� /�% *�+�%����%� �� � ������� ,+� �%,+�/�%%��
�� ��� %�,� %� ���� ���%� �� +� %�,��+ �� '� /�%���%� ?�1�6���� �/ �+� �/ ��� +��%,� +��6�%1�
�+ ��� ,����+� ��� ���6� ,��;�,�� -�%/�%(,+*�� 6� �� +�� +�*���,%��� �,�� �� ���� , �,%'�
+�( �% �/ ����% +��6�%1�� ��-�+��+' �+ ��� -�%/�%(,+*� %�;��%�(�+�� �/ , *�(-�+�+�� (�%�
�% ���� �A�%� *,+ '� �+�� 9+��+' �-��(,� �����+'� /�% ��,� *�(-�+�+�� �/ , %� �� �,� ��(����
��
Evolving Controllers 4.2 Experimental Setup
Fitness functionlocked
Neuro−evolution methodlockedANN type and structure
lockedEvolutionary Parameters
locked
Fitness function
ANN type and structure
Neuro−evolution method
Evolutionary parameters
Time
Figure 4-2: .������ �� �� ������ 9��� � ������� 0����� ������� � ������ � ������� ����� ������ �� 0����� �������� �� � ����� ������ ��� ����� � ���� ������ ������" � ��� ��� ���������� ���������� .��� � ���� 0������������ �� ���� ����� �� ����� �� ������ ������" � �� ��� ����������� �� ����� ��� ������� :�� � ������� ������" �� ���� ����� �� ������ ����� �� �� �������������� ����� ��� �� ���������� ����������
-%�*����+' *,-, �������� 9+��+' ��� �(,����� ,--��*, �� ��� *���� � , -%��%���� 6���� �+ *,��
����%,� ,%��9*�,� ��������+� �,�� �� � ��+� �+ ��� /���%�� �+�%'� 6���� � ����% �-�+� ��+�+'
��� ��������+,%� -,%,(���%�� )���� ��� �%�,+'��� �+ ��'�%� �. �� +�� �+��*,�� ��,� , �,%'�
+�( �% �/ �����+'� ���� �� � ������ /�% �,*� ���(�+�� �� ��(-�� ��,� ��� *�(-�+�+� �� �+
/�*�� ��%�+' ��,� -�,�� ,+� ��,� ���(�+�� +�� �+ ��� ,����+� ��� *,+ � ������ �/ +�*���,%��
����� ���� ��
)��%� *�%%�+��� �&��� +� (����� �% ��%�*��%�� ,--%�,*� /�% -�%/�%(�+' ,%��9*�,� ��������+ �/
%� �� *�+�%����%�� 8� �,�� (����,��� , -�,��� ,--%�,*� �+ 6��*� ��� ��������+,%� ����-
�*�(�� -%�'%�������� (�%� �-�*�9*� ��%�� 6� ������-� ���� ,+� (���/� 9�+��� /�+*���+� �+��� ,
����, �� �+� �� /��+�� ���%�,/��% 6� 9+� ,+ ,--��*, �� +��%,� +��6�%1� ,+� 9+,��� 6� /�*�� �+
��� +��%����������+ (������ ,+� ��+� ��� -,%,(���%��
��� �1(������� ����(
�+ ���� ��*���+ 6� ���*%� � ��% �&-�%�(�+�,� ����-� ��� *�+9'�%,���+ �/ ��� �� ��� ,+� ���
��+��%� ��,� 6� ���� (,���(,��*,� +��,���+� ,+� ��(� '�+�%,� +���� �+ ��6 6� *�+��*� ��%
,%��9*�,� ��������+�� ��+,���� 6� ��9+� ��� ,����+� ����� ��,� �� ��� +��%,� +��6�%1�� +��%��
��������+ (������� ,+� ��� -,%,(���%� /�% ��� *����+ +��%����������+ (������ �+ ��� ,����+�
����
��
4.2 Experimental Setup Evolving Controllers
60 cm 60 cm
60 cm
positionstart
T
70 cm
190 cm
480 cm
240 cm
60 cm
200 cm
60 cm
80 cm
Figure 4-3: �� �����# �� ��������� ����� � �� ���"�� ����� �� �� ���� ��� �� ������ �� ������ ���"�� � �� � �� �� ������� ���� �� ��� ������� ������ �� ���� �� �� ����� �� �� �� ��������� ��� ����� ����� ����" ����� �� ������ �����
����� �"� ����
� �1��*� �/ ��� (,�+ ,%�+, �� ���6+ �+ ��'�%� ��J ��� ,%�+, �� ��,-�� ��1� ,+ B�C� 6��%� ���
�6,%(� �� ��,%�� �+ ,%�, (,%1�� B��,%� -������+C �+ ��� ��/���,+� ���� �/ ��� ,%�+, ,+� �,� ��
(��� �� ��� �,%'�� ,%�, (,%1�� � , � �+ ��� %�'����,+� ����� � ��'�� ���%*� �� ��*,��� , ���
��� �,%'�� ,%�,� )�� 6���� ,%�,� �+ ��� 9'�%� %�-%���+� ��� -,%�� �/ ��� ,%�+, �+ 6��*� ���
�6,%(� �� *,+ (���� 6���� ��� �,*1 -,%�� %�-%���+� ������
�+ ���� *�,-��% 6� ,%� '��+' �� ��� ����% ,%�+,� ,� 6���� F�6���%� ��� ,%�+, ���6+ �+ ��'�%� ��
�,� , �-�*�,� �(-�%�,+*� ,� �� *,+ � ���� ��� /,*������� ,�,��, �� ,� ��% �, � 8� �,�� *����+
�� ,� ��% (,�+ ,%�+, ,+� 6� ��� �� /�% ��� ����� �+ ��� -����*,� %� ��� ���*%� �� �+ ��� �+� �/
���� *�,-��%�
����� �"� ���,� ������
$���6 �� , ���*%�-���+ �/ ��� ��+��%� �+ ��� �� ��� 6��*� 6� ����
+��� ������% )�� �,%'�� ,%�,� �� 6��*� ��� �� ��� ������ (���� �� (,%1�� � , ��'�� ���%*�
��,� *,+ ,�6,�� � ����*��� � ,�� ��� �� ��� � ��'�� ��+��%� ,%� -������+�� ���+�� �+
��� ��%%�� �/ �,*� �� ��� �+ ��'�%� �H,I �6� ��'�� ��+��%� *,+ � ���+ �+��% ��� ��(��
�%,+�-,%�+� %� �% ,+� +�&� �� ��� '%�--�%� )�� %�,��+' �/ , ��'�� ��+��% �� , , �,���
�+��*,��+' �� ��� ,(��+� �/ ��'�� ����*��� �+ ��� *�%%��-�+��+' ��%�*���+� 3,*� ��'��
��+��% �� *�++�*��� �� ,+ �+-�� +��%�+ �+ ��� ,%��9*�,� +��%,� +��6�%1� ���� ,+� ��� ��'��
��+��%� ���%�/�%� -%����� , ���,� �/ � �+-��� +��%�+��
������� �����% )�� �%,*���+ ��+��% �+, ��� �� ��� �� ��+�� /�%*�� ,*��+' �+ ��� ��%%��� ��+*�
6��+ ���� ,%� ��+' -����� ,+� -����� � ����% �� ���� )�� �%,*���+ ��+��% ,���6� ��
��� �� *��%��+,�� ����% (���(�+� 6��+ ���� ,%� �+ �6,%(� �� /�%(,���+� )�� �%,*���+
��
Evolving Controllers 4.2 Experimental Setup
(�,��%�� ��� ��A�%�+*� �+ ��%(� �/ /�%*� ��6��+ ��� *�,���� ,+� ��� ��%%�� �+ ��� �6�
��(�+���+� �/ ��� ��%�K�+�,� -�,+�� ,+� -%������ /��% �+-��� �� , +��%,� +��6�%1� �
-������� ,+� , +�',���� /�%*� �+ �,*� �/ ��� ��(�+���+��
5���� ������% ���% '%��+� ��+��%� ,%� (��+��� �+��% �,*� �� ��J �6� ,%� �+*��+�� -��+��+'
45◦ /�%6,%� ,+� ,*16,%�� %��-�*������� 6���� ��� %�(,�+�+' �6� '%��+� ��+��%� -��+�
��%,�'�� ��6+6,%�� �� ��� '%��+� �+��% ��� �� ��� �+ ��'�%� �H,I ��%�� '%��+� ��+��%�
*,+ � ���+ ��6��+ ��� ��/� ,+� ��� %�'�� �%���� +,(��� ��� �+*��+�� '%��+� ��+��% �+
��� /%�+� ,+� ��� �6� ��+��%� -��+��+' ��%,�'�� ��6+� )�� '%��+� ��+��%� (�,��%� ���
����,+*� �� ��� '%��+� � �(����+' �+/%,%�� ��'�� ,+� %�*�%��+' ��� ,(��+� %�0�*���� �
���� �% , �,%1 ��%/,*� 6��� *,��� ��� '%��+� ��+��%� �� %�*�%� ��%� ������ �% +� %�0�*���
��'��� 8� �,�� �,%�6�%�� ��� '%��+� ��+��%� �� ��,� 6��+ , ���� �� ����*��� , ���+� ��
-�,���� 6��*� ,���6� ��� ����% �� ��� �� ��+�� ��,� , ���� �,� ��+ ���+ � �+� �/ ���
�� �� �+ ��� �6,%(� ��� �+���,� �&-�%�(�+�� �,�� ���6+ ��,� -�,��+' , ���+� 6��+���% ,
���� �� ����*��� '%�,��� �(-%���� ��� �����, ����� ,+� -�%/�%(,+*� �/ *�+�%����%� /�% ����
,����,+*� D)%�,++� �� ,��� . ,E� 3,*� �/ ��� '%��+� ��+��%� *�%%��-�+�� �� ,+ �+-�� ��
, +��%,� +��6�%1� ,+� ���� ��� '%��+� ��+��%� -%����� , ���,� �/ �+-����
���� �����% )�� �� ��� ,%� �;��--�� 6��� (�*%�-��+�� ,+� ��A�%�+� ���+� /%�;��+*��� *,+
� �����+'������ %�,����(�� ��6���% ��+*� 6� +��� �+�� �� ���*%�(�+,�� ��6��+ ���+�
,+� +� ���+� H�+� �% (�%� �� ��� *�%%�+��� ����*� , ����� +� �� �� ����*�� , ����I ��%
���+� ��+��% �� �+,%�� )���� ��� ���+� ��+��% -%������ �+�� �+� �+-���
������� �����% )�� ��%%�� �/ ,+ �� �� *,+ %��,�� , ���,� �/ 360◦ /%�( �+� �&�%�(� �� ���
����% 6��� %��-�*� �� ��� *�,����� 8��+ ,+ �� �� +���� �� ��%+� ��'� 6��+ , ���� ��
�+*��+��%��� �� �� �+�� � , �� �� ��%+ �+ �+� ��%�*���+ �/ ��� ��%%�� �� %��,��� �� �+�
�/ ��� �&�%�(��� )���� 6� ,���(� ��,� ��� %��,���+ �/ ��� ��%%�� 6��� %��-�*� �� ���
*�,���� ,� , '���+ (�(�+� �� , �,��, �� �+-�� /�% ��� %� �� *�+�%����%� )�� %��,���+ ��+��%
-%������ �6� �+-���J �+� /�% ��� %��,���+ /%�( ��� �+���,� -������+ �� �,*� �/ ��� �&�%�(���
H,I H I
Figure 4-4: The figure shows a 3D rendering of the s-bot seen from below (a) andfrom above (b).
�
4.2 Experimental Setup Evolving Controllers
��+*� 6� ,%� ���+' ��� � ��-�� �/ ��+��%� ���*%� �� , ���� 6� �,�� , ���,� �/ � ��+��%� �+-���
H� /%�( ��� ��'�� ��+��%�� /%�( ��� �%,*���+ ��+��%� /%�( ��� '%��+� ��+��%� � /%�( ���
���+� ��+��% ,+� . /%�( ��� %��,���+ ��+��%I� �� ��� �� ��� ��,%� �A �+ �6,%(� �� /�%(,���+
6� �� +�� �,�� �� *�+�%�� ��� '%�--�% ��%�+' ��% �&-�%�(�+�� ,+� ���%�/�%� 6� ,%� ��(���� ��
*�+�%����+' ��� ��A�%�+��,� �%����� )���� 6� �+�� �,�� �6� ,*��,��% ���-���� �+� ��� ��/� ,+�
�+� /�% ��� %�'�� �%����
����� !������ &'�����
8��+ ��������+� ,%� *�+��*��� �� �� *�((�+ �� ��,��,�� �,*� �+������,� , +�( �% �/ ��(��
�,*� 6��� ��A�%�+� �+���,� *�+�����+� �+ �%��% /�% ��� ,���'+�� 9�+��� �*�%� �� ����% %�0�*� ,+
�+������,�>� '�+�%,� -�%/�%(,+*�� )���� 6��+ ,+ �+������,� �� ��,��,��� �� �+��%'��� (����-��
������ �/ �,*� �+������,� �+�� �+��%'� , ��+'�� �%�,�� ��� ,���'+�� 9�+��� %�0�*�� �+�� ��6 6���
�,*� �+������,� -�%/�%(�� /%�( , ��+'�� ��,%��+' *�+�����+� 6���� 6��+ (�%� �%�,�� ,%� ���� ���
9+,� 9�+��� �*�%� ��+�� �� %�0�*� ,+ �+������,�>� ������� ���� ����� ����%� F�6���%� ���
+�( �% �/ �%�,�� -�% �+������,� �� , �%,����A ��6��+ ,**�%,*� ,+� �-���� P+���� ����%6���
��,���� 6� ��� � �%�,�� /�% �,*� �+������,� ,+� ��� ��� �+������,�>� 9�+��� �*�%� � ��� ,��%,'� �/
��� 9�+��� �*�%�� � �,�+�� ��%�+' ,�� �%�,��� ����%+,������� �+� *���� ��� /�% �+��,+*� ��� 9�+���
�*�%� /%�( ��� 6�%�� �% /%�( ��� ��� �%�,��
3�������+� ,%� ,��� �+ , %,+��( '�+�%,��%� �+ ��� ��+�� ��,� ��� �+���,� -�-��,���+� (��,���+�
*%������%� ����*���+� ,+� �� �+� ,%� -,%��� ,��� �+ %,+��( +�( �%�� )���� ��1� (����-�� �%�,��
,%� %�;��%�� �� ��,��,�� ,+ �+������,�� (����-�� ��������+,%� %�+� ,%� +�*���,%� �+ �%��% /�% ��
�� � , �� �� �%,6 ,+� *�+*�����+� , ��� ��� /�,�� ����� ,+� -�%/�%(,+*� �/ , '���+ (�����
,+� �/ , ��� �/ ��������+,%� -,%,(���%�� ��+*� ��% '�,� �� �� �+�����',�� ,+� *�(-,%� �,%����
(������ ,+� -,%,(���%�� 6� ,%� %�;��%�� �� *����*� �,�, /%�( (����-�� ��������+� /�% �,*� ����-
6��� ��A�%�+� �+���,� *�+�����+� H��A�%�+� �+���,� '�+��-���� ,+� %,+��( '�+�%,��% �����I� �+ ���
9��� �/ ��������+,%� %� ��� �� �� *����( �� *�+��*� � �% (�%� ��������+� /�% �,*� ��������+,%�
����-�
����� -����� -������ �� � ��
8� ��� ��� (,���(,��*,� +��,���+ ���*%� �� ���6 /�% ��� *�+*�-�� ��*� ,� ��(��,���+ ���-�
��(� ,+� -������+� �� �&-%��� 9�+��� /�+*���+��
����% 3,*� �+������,� �� ��,��,��� ���% , 9+��� -�%��� �/ tf ��(��,��� ��*�+��� 8� ��� ti��+��� , ��(� �+ ��� �+��%�,� 0 ≤ ti ≤ tf � 6��%� tf �� ��� ��,��,���+ ��(� ��(�� /�% �,*�
�%�,� /�% ���%� �+������,�� 8� ��� t0 = 0 ,+� ��� Δt ��+��� ��� ��(� ��6��+ �,*� ���*%���
��+���,*���-�,�� *�*�� H�% ��(��,���+ ���-I ,� ���*%� �� �+ ��*���+ ��.�� �+ -,'� ��
���� ���� ����% 8� ��� S ��+��� ��� �%��%�� ���� �/ ,�� ��(��,���+ ���-�� si� 6��%� s0 *�%�
%��-�+�� �� ��� �+���,� ���- ,+� sf �� ��� �,�� ��(��,���+ ���-� %��-�*������� )�� ��(�
��6��+ �,*� ��(��,���+ ���- �� Δt 6��� s0 ��+' ��� 9%�� ��(��,���+ ���- ,� ��(� t0�
)�������% )�� �-,��,� -������+ �/ , �6,%(� �� �+ ��� ��%��,� 6�%�� *,+ � ���*%� �� � , �6��
��(�+���+,� ��*��%� 8� ��� ��� -������+ �/ , �6,%(� �� *�%%��-�+� �� ��� -������+ �/ ���
��
Evolving Controllers 4.2 Experimental Setup
*�+��% �/ (,��� 8� ��� p ��+��� ��� -������+ �/ ��� �6,%(� �� ,+� P = (p0,p1, . . . ,pf ) � ,+ �%��%�� ���� �/ ,�� -������+� %�,*��� ,� ��(��,���+ ���-� s0, s1, . . . , sf � %��-�*�������
)���� �� �,*� ��(��,���+ ���-� si� 6� *,+ ,���*�,�� , �+�;�� ��(� ti ,+� , -������+ �/ ���
�6,%(� �� pi�
����. � ������ ���
�+ ���� ��*���+ 6� -%���+� ,+� ���*��� ��� ,����+� ���� /�% +��%,� ��-�� ,+� ��%�*��%��� +��%��
��������+ (������ ,+� ��������+,%� -,%,(���%�� 6��*� �,�� ��+ ����*����
������ ������� ���� ��� #��������
5+� *���� ,%'�� ��,� ��% �,�1 *,+ � ������ � , -�%��� ������ ,'�+�� ��+*� ��� �� ��� +���%
����� ��'�� �/ ��� �,%'�� ,%�, ,+� �*,��� �� ������ +���% � +�*���,%� �� ,*1��%,*1 �+ �%��%
�� ����� ��� �,�1� �/ , *�+�%����% �� %�,*���� �� (�,+� ��,� ,+� ,*���+ -�%/�%(�� �� �+�� ,���
�+ ��� �,���� ��� �/ �+-��� H��'�� ��+��%� %�,��+'�I� )���� , %�,*���� ,'�+� �� ��� �������� +�
*�+��&���+��� ,%� +����� ,+� �� ������ ��@*� �� ��� , /����/�%6,%� +��6�%1 �� *�+�%�� %� ���
/�% ��*� , �,�1� 3��+ ��� �� �� �+*��,% 6�,� ��-� �/ +��6�%1 �� ���� � ��+'�� �,��% -�%*�-�%�+
�% , (�����,��% -�%*�-�%�+� �+ *,�� 6� *����� , (�����,��% -�%*�-�%�+ 6� ,��� �,�� �� ��*���
�+ ��� +�( �% �/ �����+ +��%�+� /�% ��� +��6�%1� )��%� ,%� +� ����%��� �% '�+�%,��� ,**�-���
%���� �/ ���( %�',%��+' , ����, �� +�( �% �/ �����+ +����� � (�����,��% +��6�%1 6��� ��� /�6
�����+ +���� �� -%�+� �� �+��%9� , '���+ -%� ��(� 6���� , +��6�%1 6��� ��� (,+� �����+ +����
�� ��1��� �� ��� � �,%��% �� ������� '���+ ��� �+*%�,��� +�( �% �/ 6��'��� �� �-��(�K�� ,+� ��
���%9� ��� -%� ��(� )��%�/�%�� 6� �,�� �%��� , +�( �% �/ ��A�%�+� (�����,��% *�+9'�%,���+�
'��+' /%�( , ��(-�� +��6�%1 6��%� ��� +�( �% �/ �����+ +���� �;�,�� ��� +�( �% �/ ���-���
H.I �� , (����( +��6�%1 6��� � �����+ +���� ,+� �� , *�(-��& +��6�%1� 6��%� ��� +�( �%
�/ �����+ +���� �;�,�� ��� +�( �% �/ �+-��� H�I� �+ ��% ,����+� ��� �/ +��%,� +��6�%1�� 6�
�,�� ��� /����6�+' /��% +��6�%1��
�� � ��+'�� �,��% -�%*�-�%�+ 6��� � �+-��� ,+� . ���-��� � , ���,� �/ 6��'��� �� �-��(�K��
.� � (�����,��% -�%*�-�%�+ 6��� � �+-���� . ���-��� ,+� . �����+ +���� � , ���,� �/ #
6��'��� �� �-��(�K��
�� � (�����,��% -�%*�-�%�+ 6��� � �+-���� . ���-��� ,+� � �����+ +���� � , ���,� �/ ...
6��'��� �� �-��(�K��
� � (�����,��% -�%*�-�%�+ 6��� � �+-���� . ���-��� ,+� � �����+ +���� � , ���,� �/ .
6��'��� �� �-��(�K��
� -%��%� 6� �,�� +� 6,� �/ 1+�6�+' �/ ���� ����*���+ �/ ���� �� ��@*��+� /�% ��� �,�1J (,� �
, -�%*�-�%�+ *�+�%����% *,+ ����� ��� �,�1 �,���/,*��%� �% (,� � , (�����,��% -�%*�-�%�+ 6���
(�%� ��,+ � �����+ +���� �� +������ ��(� �+���,� �&-�%�(�+�� �,��� ��6���%� �+��*,��� ��,�
��� �,�1 �� ����, �� � ��(� ������� *�+�%����%� ���+' ��(� �/ ��� +��6�%1 ���*%� �� , ����
�
4.3 Fitness Function Evolving Controllers
�������(���� �� ����� ��� �(���� ����� ���������
)�� ,����+� ��� �/ +��%����������+ (������ *�+����� �/ ��%�� ���(�+��� 6��*� ,%� ,�� *�,���*
'�+���* ,�'�%���(�� 6��� %,+1�-%�-�%���+,� ����*���+� ������(� ,+� �+��-��+� *%������%� )���
��A�% �+�� �+ ��%(� �/ (��,���+ %,��� )�� ��������+,%� -,%,(���%� ,%� ��� /����6�+'�
)��� ����% 4�+�%,���+� ,%� �/ � �+������,�� �,*��
�� �����% � %,+1�-%�-�%���+,� ����*���+ �*��(� �� ���� ,+� ��� ��� � �+������,�� /%�( ,
'�+�%,���+ ��%���� �� ��� +�&� H������(I�
,������% )�� (��,���+ %,�� �� ��� �� 1%� 5%� ,+� 10%�
!����� ��% 5+��-��+� *%������% ��6��+ -,%�+�� �� �����
�+ ��� +��%����������+ (����� -�,��� 6� �&-�%�(�+� 6��� ����% +��%����������+ (������ ,�
6����
��� /���� /����
�+ ���� -�,�� 6� ,���(-� �� 9+� , 9�+��� /�+*���+ ��,� ,--���� ,+ ��������+,%� -%����%� ,+�
������� *�+�%����%�� 6��*� -�%/�%( -�����,&�� ,+� �����,����,+*�� �� ������ +�� � ��� �,%� ��
�����%,- ��� ��������+ ,+� ��� ������� *�+�%����%� ������ � �%,+�/�%, �� �� %�,� %� ����
8� ��,%� �A 6��� , ��(-�� 9�+��� /�+*���+ ,+� (���/� ,+� �&��+� �� ,� +�*���,%��
����� � ��� �� -����� -�����
��+*� 6� 6,+� ��� �6,%(� �� �� %�,*� ��� �,%'�� ,%�,� , +,��%,� 6,� �/ ��,-�+' ��� 9�+���
�,+��*,-� �� ,���� �����%,--�+' -%� ��(�� �� � %�6,%��+' �+������,�� ��-�+��+' �+ ��6 *����
���� '�� �� ��� �,%'�� ,%�,� ��% ���� -�%-��� 6� ��� ��� /����6�+' 9�+��� /�+*���+�
flight =
⎧⎪⎪⎨⎪⎪⎩
1 − minpi∈P |pi−l||p0−l| if target area is not reached;
2 − tltf
if the light is reached at some time tl,
H��I
6��%� l ��+���� ��� -������+ �/ ��� ��'�� ���%*� ,+� |v| ��� ��+'�� �/ ��� ��*��% v� )���� |p− l|��+���� ��� ����,+*� ��6��+ ��(� -������+ �/ ��� �6,%(� �� %�,*��� ��%�+' ,+ ��,��,���+ ,+�
��� -������+ �/ ��� ��'�� ���%*�� ��(��,%��� |p0−l| ��+���� ��� �+���,� ����,+*� /%�( ��� �6,%(� ��
�� ��� �,%'��� )�� 9�+��� /�+*���+ flight ���6+ , ���� �,� �6� ��A�%�+� -,%��J �+� *�+*�%+�+'
�+������,�� 6�� �� +�� %�,*� ��� �,%'�� ,%�, (,%1�� � , ��'��� ,+� �+� *�+*�%+�+' �+������,��
6�� %�,*� ��� ��'�� ���%*�� ��% ��� /�%(�% -,%�� �+������,�� ,%� �*�%�� ,��� �+ ��� (�+�(�(
����,+*� ���� '�� 6����+ ��� ��'�� ���%*�� 6���� �+ ��� �,���% *,�� �+������,�� ,%� %�6,%��� /�%
��6 ;��*1�� ���� %�,*� ��� �,%'�� ,%�,� �/ ��� �,%'�� ,%�, �� %�,*��� 6� ���- ��� ��,��,���+ �/
��� �+������,� �+ ;������+ ,+� ��� tl � ��� ��(��,���+ ��(� ,� 6��*� ��� �,%'�� 6,� %�,*����
��
Evolving Controllers 4.3 Fitness Function
�+������,�� 6�� �� +�� %�,*� ��� �,%'�� ,%�, 6��� ���%�/�%� �,�� , 9�+��� �*�%� �+ ��� �+��%�,�
[0, 1[� 6���� �+������,�� 6�� %�,*� ��� �,%'�� ,%�, 6��� �,�� , 9�+��� �*�%� �+ ��� �+��%�,� [1, 2[�
3,*� �+������,� �+��%'��� , +�( �% �/ �%�,�� �,*� 6��� ,+ ��,��,���+ ��(� ��(��� tf ��� �� 4(�+����� ��+*� �,*� �+������,� 6,� '���+ (,&�(�( 240 ��%��,� ��*�+�� �% 2.400 *�+�%�� *�*���
�� %�,*� ��� �,%'�� ,%�,�
��% �,*� �/ ��� ���� �+ ��� �+���,� ��� ������ �+ ��*���+ �� 6� %,+ � ��������+� 6��� ��A�%�+�
�+���,� %,+��( ����� ,+� %�*�%��� ��� ���� 6�%��� ,+� ,��%,'� 9�+��� �*�%� /�% �,*� '�+�%,���+�
�����
)�� %������ �/ ��� ��������+,%� %�+� �,%��� �+ ��� ��+�� ��,� ��A�%�+� ��%,��'��� 6��%� /��+�
/�% %�+� 6��� ��A�%�+� �+���,� %,+��( ������ � /�6 ��� ��������+,%� %�+� %������� �+ *�+�%����%�
%����+' �+ -%�(���+' ��%,��'���� �+ �&,(-�� �� ���6+ �+ ��'�%� ��H,I� F�6���%� ��� (,7�%���
�/ ��� ��������+,%� %�+� '�� ���*1 �+ , ��*,� �-��(�(� 6��%� ��� �6,%(� �� 6���� ,���� ���
9%�� ���� ,+� (��� ,� /,�� ,� -���� �� ��6,%�� �� ��� ��*�+� ���� �+ /%�+� �/ ��� ��'�� ,+� /,��
�+� �+ �&,(-�� �/ ���� ��,���% �� ���6+ �+ ��'�%� ��H I�
Light
−1
−0.5
0
0.5
1
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
S
F
S
F
S
F
S
F
’gnuplot_renderer_arena.dat’
Light
−1
−0.5
0
0.5
1
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
F
F
’gnuplot_renderer_arena.dat’
SS
SS
H,I H I
Figure 4-5: Examples of behaviors evolved using the fitness function, flight. (a)shows a successful strategy, where the target area is reached, while(b) shows an example of the result similar to the majority of the evolvedcontrollers. A few evolutions resulted in successful strategies, while itwas common for evolution to get struck in local optima with a resultingbehavior similar the one shown in (b).
����� &�� ��� /� � 0 ����
)�� 9�+��� /�+*���+� flight� ���� �+ ��� -%������ ��*���+ %�-%���+�� ��% � 7�*����� +,(��� ��,�
��� �6,%(� �� ������ (��� ��6,%�� ��� ��'�� ���%*�� �� ���� +�� ��,-� ��� 9�+��� �,+��*,-�
�+ ��*� , 6,� ��,� , '��� �������+ *,+ � /��+� �,����� )��%�/�%�� 6� �,�� �� *�,+'� ���
9�+��� /�+*���+ �% ,�� *�(-�+�+��� 6��*� *�,+'� ��� 9�+��� �,+��*,-� ,+� ��� /�,��%�� ��
(,1� �� �,���% /�% ,+ ��������+,%� ,�'�%���( �� 9+� '��� �������+�� �� 6���� � *�+��+��+� �/
6� *���� �� �� ,���(,��*,���� �� �� ��% 1+�6���'� +� �����(,��* �% ,���(,��* (����� �&���
/�% ��������+,%� *�(-��,���+ ,--���� �� ��� ��(,�+ �/ (� ��� %� ���*�� F�+*�� 6� �,�� �� ���
��% �+��%��,+��+' �/ ��� �,�1 ,+� ��*�(-��� �� �+�� , ��� �/ �� ��,�1��
��
4.3 Fitness Function Evolving Controllers
5+� �/ ��� -%� ��(� 6��� ��� %��,������ ��(-�� 9�+��� /�+*���+ ���� �+ ��� -%������ ��*���+ 6,�
��,� ��� ��������+,%� ,�'�%���( �/��+ �+�� �- �+ , ��*,� �-��(�(� �*,��� ��� �6,%(� �� 6����
/,�� �+�� ��� ���� 7��� �+ /%�+� �/ ��� ��'��� F�+*�� , 9%�� ���- 6���� � �� �&��+� ��� 9�+���
/�+*���+ 6��� , *�(-�+�+� ��,� ,���'+� , ��6�% 9�+��� �� �+������,�� 6�� /,�� �+�� ������ 8�
��,�� *,�� ���� 9�+��� /�+*���+ fstayalive�
fstayalive =
{0.5 if the swarm-bot falls into a hole during the evaluation,1.0 otherwise.
H�.I
)��� 9�+��� /�+*���+ %�6,%�� �+������,�� 6�� ��,� *��,% �/ ������ 8��+ 6� *�( �+� �� 6��� ���
9�+��� /�+*���+� flight� 6��*� %�6,%�� �+������,�� ��-�+��+' �+ ��� (�+�(�( ����,+*� �� , ��'��
���%*� � �,�+�� ��%�+' , ��(��,���+ %�+� 6� '�� ��� /����6�+' 9�+��� /�+*���+�
flightandstayalive = flight · fstayalive H��I
)���� 6� ��(-�� (����-�� ��� �6� 9�+��� /�+*���+� �� � �,�+ ��� ���%��
�����
)�� (,7�%��� �/ ��� ��������+,%� %�+ ������� -%�(���+' %������ ���+' ��� *�(-���� 9�+���
/�+*���+ flightandstayalive� ��'�%� �#H,I ���6� , ��-�*,� ��%,��'� /��+� � ��������+� 6��%�
��� �6,%(� �� �� , �� �� (��� /%�( ��� �+���,� ��*,���+ �� ��� �,%'�� ,%�, 6���� ,�����+' ������
��'�%� �#H I� �+ ��� ����% �,+�� ���6� ��� -�%/�%(,+*� �/ ��� �,(� *�+�%����% ,� �+ H,I� ��
�+ , ��A�%�+� ,%�+,� �� *,+ � ���+ /%�( ��� %������ ��������+ �,� /��+� , ��%,��'� ��,� ��
�����&�� /�% ��� ,%�+, �+ 6��*� ��� *�+�%����% �,� ��+ �������� )��� �� , -%� ��( ��+*�
��� *�+�%����% ���� +�� �(-��� , ��%,��'� '�+�%,� �+��'� �� ����� ��� �,�1 �+ ���'���� ��A�%�+�
�����+'�� 8� ���*��� ���� ����� ,+� 6�� �� �� �(-�%�,+� �� ������ (�%� '�+�%,� *�+�%����%� �+ ���
+�&� ��*���+�
����� 1���� ��� �� �� ��2�� 2 "� #������
8� 6���� ��1� �� ������ *�+�%����%� %����+' �+ '�+�%,� ��%,��'��� ,+� ��� *�+�%����%� ������ �
�%,+�/�%, �� �� -����*,� %� ���� �� ��(��,��% �� -�%/�*� �+ ��� ��+�� ��,� �� ��(��,��� %�,����
6��� *�(-���� ,**�%,����� ,+� ���%�/�%� 6� (��� � ,6,%� �/ ��� %����,+� ���*%�-,+*��� ��6��+
��(��,���+ ,+� ��� %�,� 6�%���
�/ 6� �+�� �*�%� �+������,�� �+ ��� ,%�+, ���6+ �+ ��'�%� �#H,I 6� ,%� -%�+� �� ������ *�+�%����%��
6��*� ,%� ��'��� �-�*�,��K�� /�% ���� ,%�+,� �+ �%��% �� *��+��% ���� ��� �6,%(� �� �� -������+��
,+� �%��+��� ��A�%�+��� �+ ��� ��,%� ,%�, ,� ��� �'�++�+' �/ �,*� �%�,��� F�6���%� �+ ���� *,��
�� ,--�,%� +�� �� � �+��'� �� ������ '�+�%,� ��%,��'���� �+ �&,(-�� �/ ��� -�%/�%(,+*� �/ ,+
������� (�����,��% +��%,� +��6�%1 *�+�%����% 6��� � �����+ +���� ���+' ��� flightandstayalive
9�+��� /�+*���+ *,+ � ���+ �+ ��'�%� �#� ����*� ��6 ��� ������� *�+�%����% *�%%�*��� ����%�
��� �6,%(� �� �� ��� �,%'�� ,%�, �+ ��� ,%�+, 6��%� �� 6,� ������� H,I� 6���� /�% ��� +�6
2*�� �� �$� � �� ���� ��$�� ����� ���� �� �$ �� �� �� �� ��� �+ �� � �� ��� ������# ���� ��� ��$�� ��� � ���� �$� � �� �� ��������� � ������� �� �+ �� ��� � �� � �
��
Evolving Controllers 4.3 Fitness Function
Light
−1
−0.5
0
0.5
1
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
S
F
S
F
S
F
S
F
’gnuplot_renderer_arena.dat’
Light
−1
−0.5
0
0.5
1
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
S
F
S
F
S
F
S
F ’gnuplot_renderer_arena.dat’
H,I H I
Figure 4-6: A controller evolved in the virtual arena shown in (a) can success-fully steer a swarm-bot from the starting arena to the light source in(a). When the same controller is tested in a different arena (b) it failsand steers the swarm-bot over the side of the arena. Hence, the con-troller evolved for arena (a) appears to be highly specialized for (a) eventhough the initial conditions such as random positioning and orientationhave been used throughout the evolution of the controller.
,%�+, H I �� /,��� ,+� ����%� ��� �6,%(� �� ��� �/ ��� ,%�+,� �+ -,%��*��,% +���*� ��6 �+ H I
��� �6,%(� �� �� ����%�� ���� /%�( ��� ��'�� �/�%� �� /,��� ���% ��� ���� �/ ��� ,%�+,� )����
��� ��%,��'� /��+� � ,%��9*�,� ��������+ ,--�,%� �� � ��'��� �-�*�,��K�� /�% ��� ,%�+, �+ 6��*�
��������+ ���1 -�,*��
5 �������� 6� 6���� ��1� �� ������ *�+�%����%� ��,� ��� (�%� '�+�%,� ��%,��'���� ��+*� ���%� 6���
,�6,�� � ��A�%�+*�� ��6��+ ��(��,���+ ,+� %�,����� , *�+�%����% 6��� , (�%� '�+�%,� ��%,��'�
�� �,���% �� �%,+�/�% ��**���/���� �� -����*,� %� ���� � *�+�%����% ��,� ���� , '�+�%,� ��%,��'�
�� +�� ,� -%�+� �� %��� �+ /�,��%�� �-�*�9* �� , '���+ ,%�+,� 6��*� (�'�� � ��A�%�+� �+ , %�,�
,%�+,� ��,+ , �-�*�,��K�� *�+�%����%� :�%����%� �/ 6� 6,+��� , *�+�%����% ��,� �+�� �,� �� 6�%1
/�% , ��+'�� ,%�+,� 6� 6���� -%� , �� � , �� �� ������- �+� � �,+� /,���%�
�+ �%��% �� ������ , %� ��� *�+�%����%� 6��*� %����� �+ , '�+�%,� ��%,��'�� 6� �,�� �� ,--�� ,+
,--%�-%�,�� ��������+,%� -%����%�� )��� *,+ � ��+� � ��,��,��+' �,*� �+������,� �+ ����%,�
,%�+,� �+���,� �/ , ��+'�� ,%�+, �+�� D)��(-��+� ��E� 8� �,�� *����+ ��� /��% ,%�+,� ���6+
�+ ��'�%� ��� )���� ,%�+,� ������ � ��A�%�+� /%�( �+� ,+����% �� , ��'%��� 6��*� (,1��
��������+ /,��% '�+�%,� ��%,��'��� ���% *�+�%����%� ��,� ,%� �-�*�,��K�� /�% �+� �/ ��� ,%�+,� �+���
)�� /��% ,%�+,� ,%� ���� �+ ��� /����6�+' (,++�%� 8��+ , *�+�%����% �� ��+' ��,��,��� �� ��
��,��,��� �6�*� �+ �,*� �/ ��� ,%�+,� ,+� ��� 9�+��� �� %�*�%��� ���% , -�%��� �/ . ��*�+��
�+ ��(��,���+� ��% �,*� �%�,� ��� 9�+��� �� %�*�%���� ,+� ��� 9�+��� ���� � ��� ��������+,%�
��%,��'� �� ����%(�+� ,+ �+������,�>� %,+1 �� ���+ ��� ,��%,'� �/ ��� 9�+��� �*�%�� /�% ,�� �
�%�,����
3%��� �� ��� �������� ��� � ��� ��� 7����� ������ ���� �$������� � � ��� ����2 �� ��� � ������� ����� �� ��� �� �$� � �� �� ��� ����� ���� ����� ��8� ��� ��� �� ��� ��� � � � �� �� ��� ������ '���# �$�������=���2�� 7� � ��� ���� �� � ���2� ���� ��� ��� �� ��� ��� � ��� ��� ��� ����� ��8� �� ����� ��� � �� ������� ��� � �� ��� # �� �+�������� ���� =���� �����# ����� � �� �� ��� ����� �� ���� ��� �# ���� �� ���� ��2����� � ���� �� �� ��� ��� ������� 7����� ��� ��� ����� �� ��� $�� ��# �� � � $�� ���� ����� ��8 ����
��
4.3 Fitness Function Evolving Controllers
Light
−1
−0.5
0
0.5
1
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
’gnuplot_renderer_arena.dat’
Light
−1
−0.5
0
0.5
1
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
SF
’gnuplot_renderer_arena.dat’
H,I H I
Light
−1
−0.5
0
0.5
1
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
SF
’gnuplot_renderer_arena.dat’
Light
−1
−0.5
0
0.5
1
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
SF
’gnuplot_renderer_arena.dat’
H*I H�I
Figure 4-7: Four arenas used to evolve general controllers. When a controller isevaluated, it receives a fitness that reflects its performance in all ofthe arenas. Thus, in order to obtain a high fitness, a controller mustimplement a general strategy, which works in the most or all arenas.
��
Evolving Controllers 4.3 Fitness Function
� ��-�*,� ��%,��'� /��+� � ��������+ *,+ � ���+ �+ ��'�%� ��� )��� %����� �+��*,��� ��,�
��������+ �,� �+���� /��+� , '�+�%,� ��%,��'�� +,(���� 4� +�%�� �+��� , ���� �� /��+� ,+� ���+
/����6 ��� ��'� �+��� ��� ��'�� �� %�,*���� )��� ��%,��'� �� ��(��,% �� ��� ��(-�� (,K�������+'
��%,��'� /�% (,K�� 6������ ���-�� ��� ���% �,+� �+ ��� ��/� �% %�'�� 6,�� ,+� /����6 ��� 6,���
Light
−1
−0.5
0
0.5
1
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
S
FSF
SFS
F
’gnuplot_renderer_arena.dat’
Light
−1
−0.5
0
0.5
1
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
S
F
SF
S
FS F
’gnuplot_renderer_arena.dat’
H,I H I
Light
−1
−0.5
0
0.5
1
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
S
FS
F
S
FS F
’gnuplot_renderer_arena.dat’
Light
−1
−0.5
0
0.5
1
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
S
F
S F
S
F
S F
’gnuplot_renderer_arena.dat’
H*I H�I
Figure 4-8: Example of how a controller behaves in four arenas using a simple,but general and successful, hole-following strategy. During evolution ofthe controller, each individual was tested in each of the arenas twiceand the average of the fitness scores for all the arenas makes up theindividual’s final fitness.
)���� ��� �� ��� � ������� �
��*,�� ��,� 6� (,�� ��� ,���(-���+ �+ ��% ��(��,��% ��,� *�++�*���+� ��6��+ �� ��� ,%�
*�(-������ %�'��� )��� �� � ������� , *%��� ,--%�&�(,���+ �/ %�,����� 5�% �+���,� ,���(-�� ��
�%,+�/�% *�+�%����%� �� %�,� %� ��� �+��*,��� ��,� ��� ��A�%�+*� ��6��+ ��� -����*,� ��,���%
�+ ��(��,���+ ,+� %�,���� �� ,+ ����� ��,� %�;��%�� �-�*�,� ,���+���+� $,��*,���� ��� -����*� �/
��� ��(��,��% �+, ��� ��������+ �� �&-���� ��(� �� ������� �+ ��� ��%��,� 6�%�� �+ , 6,� 6��*�
�� +�� -���� �� �+ ��� %�,� 6�%�� � �% ,� ��,�� %�;��%�� (�*� (�%� ���,���� (����� �� ��(��,��
,**�%,����� �+ �&,(-�� �/ ��� ��,���% �/ , *�+�%����%� 6��*� ���� , %��,������ ��**���/�� ��%,��'�
�+ ��(��,���+� �� ���6+ �+ ��'�%� �� �+ %�,���� *�++�*���+� ��6��+ �� ��� ,%� +�� %�'��� ���
�%���� ,%� +�� *�(-������ ���+� -,�*��� �/ ���� *�,+'� ��� /%�*���+� ,+� �� �+� ��� ,�� �/ �����
+�������� *,+ � *�(-�+�,��� /�% � ,���+' +���� �� ��� ��+��%�� ,*��,��%�� ,+� �� ��� -����*��
B���$��# ������� ����� � � ���� ������ ������� ��� �� ��� � ��# �������� ��� 7����� ����� � �� �� ��� $�� �� ������� ��� �� ��� ��� � ���$� �� ���2 ����
��
4.3 Fitness Function Evolving Controllers
y
x
1
2
Figure 4-9: �� ���� �� �� �� �� ��� ��� �� ��� ��������� ����� ��� ��� ���� ����� � �������� �� ��� ������������ �� ������ �� ����������� ������ ������� ��� �������� �� 0���� ���� � ��������� �������� �� ���������� �������� ����� ���� ���� �� ���� �� ������ ����� ���� ����� �� ����� ������ �� ������� �� �� ������ ��� ��� ����� ��� ���� ���� ����� ������� �� �� ��������� � �� ������ �� ������ �� ������ � ���- ��� ��� ��� ����� ������ �� �� ������� �� �����; ����� �$� ������ ��� ����� � ������ ��� ����� -$� ������ ��� ����� ���������� ������ ������ ��� ����$� �������� ��� � �� ��������� �� ������������ ����� � �� ���������� <������� ���� �� ���� � ������ ����� �� �� 0��� ����� �� �� ����� ������� �������� ��� �� ������ �������� �������� ����� �� ����� �� �� ���������� ��� �� � ������ ����� - ���� ����������� ���������� ��� ���� �� ��� �� �� ���=����� ����� ����������� �� ������� ���"� �������� ���� ��� ������ ���� � ���������� � ��� ������ � ������ � ������ ���� ������ ����� ��� ���� � �������� ��7���� � �� ������� ������� � ������ � ��� ������ ��� �������� =�� �� ������ �� �������� ���� � ������� ��� ���� ����� �������� �� �� ������ �� �� ������ ���� � ���� � ������� �� �� ����������� ������ � �������� 0���� ���������������� ���������
��
Evolving Controllers 4.3 Fitness Function
8��+ 6� ,���(-��� �� ��� ��� *�+�%����%� 6���� ��,���% �� ���6+ �+ ��'�%� ��� 6��*� -,%���
%����� �+ ��� ��%,��'� /�% ,�����+' ����� ���6+ �+ ��'�%� �� ��(� �/ ��� ��A�%�+*�� ��6��+
��(��,���+ ,+� %�,���� �*,(� �����+�� � -���� �/ /��% �� ��� �+ �6,%(� �� /�%(,���+ ����%��
� ��� *�+�%����% �� ���6+ �+ ��'�%� �� � ����*� ��6 ��� �%���� �/ ��� �� �� �� ��� /,% %�'��
,%� +�� �+ *�+�,*� 6��� ��� '%��+� ��%/,*�� )��� �,--�+� �*,��� ��� ����% �� ��� ,%� (���+'
�+ , ��A�%�+� ��%�*���+ ,+� ���%�/�%� ,%� -����+' ��� �� �� �� ��� /,% %�'�� �A�*������ ��--�+' ���
8���� ���� �� , *�((�+ ����,���+ �+ %�,����� �+ ��(��,���+ ��� �%���� ,%� ,���(�� �� ,�6,�� �
�+ *�+�,*� 6��� ��� '%��+� ��%/,*� �+���� ���� ,%� *�%%�+��� ���% , �����
Figure 4-10: �� ���� �� �� � �>������ ������� �������� ��� ����� � ,� �������������� ��� ������� �� ���� � ��� �� ������ �� �� ������� ������ ������ � ��� � �� ��� �� ����� � � �� ��� ��� ����� ������ ��������� �� ������� ��� �� �� ������ �� ���� �������
)��%� ,%� �6� 6,�� �+ 6��*� ��� ������ %������+' /%�( ��� ���*%�-,+*��� ��6��+ ��(��,���+ ,+�
%�,���� *,+ � ���%*�(�� +,(��� �� ���� (�%� ,**�%,�� ��(��,��%� �% �� �+��%� ��,� ��� ,%��9*�,�
��������+ ���� +�� %��� �+ /�,��%�� �,��� �+�� �+ ��(��,���+� �� �� ;������+, �� �/ �� 6���� �
/�,�� �� �� ���� ��(��,��%� �� ,**�%,�� ��,� ��%,��'��� ��1� ��� �+� ���6+ �+ ��'�%� � *����
� ��%�*��� ,+� ��**���/���� �%,+�/�%%�� �� %�,� %� ���� ��%�� �/ ,�� �� 6���� %�;��%� , ��'� �A�%�
�� (���� ���%� -,%� �/ ,+ �� �� �+ ��'� ���,��� �(-��(�+� ��� *�+�%�� ��'�*� ,+� 9+,��� ��%�/�
,+� 9+����+� ��� �(-��(�+�,���+� ��*�+���� �/ �� �� -���� �� ,� ,�� �� ���� , ��(��,��% 6��� ,
*�(-��&��� ��@*��+��� ��'�� ��� -�%/�%(,+*� 6���� ��1��� � �� ��6� ��,� �� 6���� � �(-%,*��*,�
�� %�+ ,%��9*�,� ��������+� ���+' ��� �+ ,+� *,��� +�+� �/ ��� ��(��,��%� ������-�� ��%�+' ���
��/����(� �/ ��� �6,%(� ��� -%�7�*�� �,�� ,��,�+�� ���� ,**�%,*��
)�� ��*�+� �������+� +,(��� �� ����% ��������+ ��6,%�� �������+� +�� %����+' �+ �+,**�%,��
,+�"�% �+%�,�����* /�,��%��� ���(� �� � , (�%� -�,��� �� �������+� �+ �%��% �� ,���� ��,�
�
4.4 Neural Network Type and Structure Evolving Controllers
��������+ 9+� �������+� ��,� %��� �+ %���� �+�� �,��� �+ ��� ��%��,� 6�%��� 6� �&��+� ��� 9�+���
/�+*���+ 6��� , *�(-�+�+� ��,� -%�(���� *��%��+,����(����+ ��%��'� (�+�(�K,���+ �/ �%,*���+�
)��� ,--%�,*� �� ������+' *��%��+,����(����+ �� ��(��,% �� )%�,++� �� ,�� D. ,E� )�� �%,*���+
��+��% ���-��� /��% �,���� ��6��+ ,+� �� 6��%� (�,+� +� �%,*���+ ,+� � (�,+� ��,�
��� (,&�(�( �%,*���+ /�%*� -�%*���, �� �� -�%*������ )���� �+ �%��% �� (�+�(�K� ��� �%,*���+
��6��+ �� ��� �+ , �6,%(� �� /�%(,���+� 6� �,�� �� (�+�(�K� ��� ��'���� �%,*���+ -�%*�����
� ,+� �� �� /�% �,*� *�+�%�� *�*��� �/ 6� ��� τmaxi ��+��� ��� (,&�(�( �%,*���+ ����*��� �
,+� �� �� ,� ��(��,���+ ���- si� ���+ ��� 9�+��� /�+*���+ /�% (�+�(�K�+' �%,*���+ �� ��9+�� ,�
/����6��
fminimizetraction =∑
1 − τmaxi
|S| H�I
)���� ��� ��( ���% � (�+�� ��� ��'���� �%,*���+ -�%*����� � ,+� �� �� /�% ���%� ��(��,���+
���-� ������� � ��� ���,� +�( �% �/ ��(��,���+ ���-�� |S|�8��+ 6� *�( �+� ���� 9�+��� /�+*���+ 6��� ��% -%������ 9�+��� /�+*���+� 6� � �,�+ ��% 9+,�
9�+��� /�+*���+� 6��*� ,���6� ,%��9*�,� ��������+ �� 9+� �%,+�/�%, �� ��%,��'����
ffinal = flight · fstayalive · fminimizetraction H��I
)���� ��% 9�+��� /�+*���+ *�+����� �/ ��%�� *�(-�+�+��� �+������,�� ,%� %�6,%��� /�% (���+'
��6,%�� ��� �,%'�� ,%�, (,%1�� � , ��'�� ���%*�� ���� ,%� %�6,%��� /�% +�� /,���+' �+�� ������
,+� 9+,��� /�% (�+�(�K�+' �%,*���+��
��� &����� &�����# � (� �! ���������
�+ ���� ��*���+ 6� �+�����',�� ��� -�%/�%(,+*� �/ �,%���� +��%,� +��6�%1 ��-�� ,+� ��%�*��%��
6��� ��� �+��+� �/ 9+��+' ��� ������� ���� �# ��� �� �� �� ���� � ���������� � ��� ���
���#� 8��%�,� /�% ��(� /�+*���+�� ��1� ��� �+,%� �&*��������% /�+*���+� , /�%(,� ,%'�(�+�
*,+ � '���+ ��,� ���� *,++�� � %�-%���+��� � *�%�,�+ ��-�� �/ +��6�%1� H-�%*�-�%�+�I� �+
��������+,%� %� ���*� 6� �/��+ �,�� ������ �% +� -%��% 1+�6���'� ,� �� 6�,� ��%,��'��� ��������+
(�'�� 9+� � ��� ,��+� 6�,� �� +�*���,%� /�% �����+' , '���+ �,�1� )��%�/�%�� 6� *,++��� �+ ���
'�+�%,� *,��� /�%(,��� -%��� ��,� , +��%,� +��6�%1 �/ , *�%�,�+ *�(-��&��� �� %�;��%�� �� ����� ,
'���+ �,�1� �� , %����� 6� ,%� +�����% , �� �� (,1� ,+� *�,�(� ��,� 6� �,�� /��+� ��� ��(-����
+��6�%1 *,-, �� �/ �����+' , �,�1 H�+���� , ��+'�� +��%�+� ��� ��(-���� +��%,� +��6�%1 �/ ,��� ��
���6+ �� � *,-, �� �/ �����+' ��� �,�1 �/ *��%��I� F�6���%� � -%��%���K�+' �� ������� ,+�
������ 6� �,�� �6� (��%�*� � 6��*� ��� %��,���� -�%/�%(,+*� �/ ��A�%�+� +��6�%1� *,+
4�� �� ������ �� �� � 2� ���� �� ��� � �� �� � �� ����� ����� ��� � �� ���������# fminimizetraction# �� ��� ������$������� ���� �+������� ���� ��� ������ ����� � ��� ������ ���� ��=���� �� ����� �� �� ��� ���� �� �������� ������ ��� �+����� ����� � $� ���� ������ �� � ��� ���� ���� ���� ���� 7����� ��������� ����� ��� #��� ����� �$��$��� �� ����� ��� ����������� ������� �� ���� ��� ������ ��=����� $��� ������+ ����� ����# ������������ ���������� �� ���� � �� ����# ����� ����� �� �� �$��$� ����������� �� � � ���$� ��� � �2 � ����� �� �� ����� ���
��
Evolving Controllers 4.4 Neural Network Type and Structure
� ��,��,���� �+ ���� 6,� ��� (��%�*�� �����, ����� ,+� ��(-��*���� ������ � �+��%����� �+ ,
-%,*��*,� *�+��&� ,� �--���� �� , ����%���*,� �+��
�+ �%��% �� 9+� , ����, �� +��%,� +��6�%1 ��%�*��%�� 6� ��,%� 6��� ��� ��%�*��%�� /%�( ��� ,����+�
��� H��� ��*���+ �.�� �+ -,'� �I� )�,� ��� , ��+'�� �,��% -�%*�-�%�+� ,+� ��%�� (�����,��%
-�%*�-�%�+� 6��� .� � ,+� � �����+ +����� %��-�*������� )� ����%(�+� ����% -�%/�%(,+*���
6� �,��� /�% �,*� ��� /��% ��-�� �/ +��%,� +��6�%1�� %�+ . ��������+� �/ � '�+�%,���+� 6���
��%�� ��A�%�+� (��,���+ %,��� ,� ���*%� �� �+ -,'� # � )���� /�% �,*� *�( �+,���+ �/ +��%,�
+��6�%1 ��%�*��%� ,+� (��,���+ %,�� �+ ��% ,����+� ���� 6� �,�� %������ �/ . ��������+�� ,+�
6� ,%� �+��%����� �+ *�(-,%�+' ����% -�%/�%(,+*��� )�� -�%/�%(,+*� �/ ,+ ��������+,%� %�+ ��
����%(�+�� � ��� ,��%,'� �/ ��� 9�+��� �*�%�� � �,�+�� � ��� ������ ���#�� ������� � ���
���� ������� � '7888��* ����� 788 � ���������� � ����� �+ , -������,��,���+ %�+ ,+ �+������,�
�� ��,��,��� �+ ��� �,(� (,++�% ,� �+������,�� ,%� ��%�+' ��������+� ��6���%� � �� 7�*��+' ���
�+������,� �� , ��'��% +�( �% �/ �%�,�� H� ��%�+' ��� -������,��,���+ %�+ ��%��� � ��%�+'
��������+I , (�%� ,**�%,�� (�,��%� �/ ��� '�+�%,� -�%/�%(,+*� �� � �,�+���
8� ��� �%���(,+>� ���� �� *�(-��� ��,�����*,� ��'+�9*,+*� �/ ��% %������ ,+� �� ����%(�+� 6��*�
+��%,� +��6�%1 ������ ��� ��� %������ D!�+���%� �E� )�� �%���(,+ ���� �� +�+-,%,(��%�* ,+�
�+�� %�;��%�� � ��%�,���+� �� � (���,��� �+��-�+��+� ,+� %,+1, �� ,**�%��+' �� ��(� *%���%��+
�� � ,--��*, ��� 5�% � ��%�,���+�� ��,� �� 9�+��� �*�%�� � �,�+�� ��%�+' -������,��,���+ %�+��
,%� (���,��� �+��-�+��+� ,+� *,+ � %,+1�� ,**�%��+' �� ��� 9�+��� �*�%�� � �,�+��� 5+� �/
��� �+�9�� �/ ���+' ��� �%���(,+ ���� ,� �--���� �� 5+��6,� ��5Q� H��,����� 5/ Q�%�,+*�I
,+� )�1��>� ���� D:�+�'�(�%�� . �E� �� ��,� +� ,���(-���+� +��� �� � (,�� , ��� ���
����%� ����+� �+��%���+' ��� -��+�(�+�+ �/ �+��%���� :�%����%� ��� �%���(,+ ���� �+�� ����
��� %��,���� %,+1� �/ ��� � ��%�,���+� ,+� ���%�/�%� +� �+��%-%��,���+ �% ,���(-���+� *�+*�%+�+'
��� 9�+��� �*�%��> +�(�%�*,� �,���� ,%� +�*���,%��
)�� %,+1�+' 6�%1� ,� /����6�� ��% �,*� ��������+,%� ����-� Ei� 6� �,�� . �� #�� 3,*� ��*1
*�%%��-�+�� �� , ��,%��+' *�+�����+ H�+���,� %,+��( ����I� 8� *,+ ,%%,+'� ��� -������,��,���+
%������ �+ , (,�%�&�
�� # E1 E2 . . . En
1 f11 f12 . . . f1n
2 f21 f22 . . . f2n
3 f31 f32 . . . f3n
. . . . . . . . . . . . . . .
m fm1 fm2 . . . fmn
6��%� fxy �� ��� -������,��,���+ 9�+��� � �,�+�� /%�( ��������+,%� ����- Ex 6��� �+���,� ��,%��+'
*�+�����+� y� )�� %,+1�+' �� ���+ ��+� �+ , -�%� ��*1 ,��� H-�%�%�6 ,��� �+ ��� (,�%�& ���6+
, ���I� F�+*�� �,*� ��������+,%� ����- �,� , ���,� �/ . %,+1� ��+*� 6� �,�� -�%/�%(�� .
��������+,%� %�+� /�% �,*� ����-� )�� �%���(,+ ���� ���+ -�%/�%(� , ��,�����*,� ���� �+ �����
%,+1�� ��% �,*� ��*1 %,+1 � �� ,���'+�� �� ��� ��������+,%� ����- 6��� ��� ��'���� -�%/�%(,+*�
/�% ��,� ��*1� 6���� %,+1 . �� '���+ �� ����- 6��� ��� ��*�+� ��'���� -�%/�%(,+*�� ,+� �� �+�
8� �,�� ���� ��� ��/�6,%� -,*1,'� � �� -�%/�%( ��� ��,�����*,� ������ ��% /�%���% �+/�%(,���+
�+ � 6� %�/�% �� /����6�+' ����%,��%�� ��,1, ,+� 4�+���(,+ D�#E� ��-��� D. �E� �,�',,%�
�
4.4 Neural Network Type and Structure Evolving Controllers
D. .E� :,�+��+,�� ,+� $%,�+ D. �E� ,+� Q�%K,+� D. �E�
����� !�����
$�/�%� 6� ,+,��K� ��� 9�+��� �*�%�� /�% ��� ��A�%�+� +��6�%1 ��%�*��%��� 6� �,1� , ���1 ,� ���
��%,��'��� /��+� � ��������+� )�� ��'���� -�%/�%(�+' *�+�%����%� �/ ,�� ��� ��������+,%� %�+�
*,+ � ������� �+�� ��%�� '%��-� ,**�%��+' �� ��� ��%,��'� ���� �(-���� 3&,(-��� �/ ��� ��%��
��%,��'��� ,%� ���6+ �+ ��'�%� ����
Light
−1
−0.5
0
0.5
1
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
SFS
FS F
S
F
’gnuplot_renderer_arena.dat’ ����� � ��%,��'� 6��%� ��� �� ��� ��**���/����*��%��+,�� ,+� ��,%� (���+'� �� ,� , ���� ������*��� ���� ��,%� %��,��+' , ��� ����% *�+��%�/ (,�� ,+� /,�� �� *��%��+,�� ����% (���(�+���+ , +�6 ��%�*���+� )���� ��� �6,%(� �� '������*1 *���� �� , ���� ,+� /,��� �� %�,*� �� �,%'��,%�,�
Light
−1
−0.5
0
0.5
1
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
SFS
F
SFS
F
’gnuplot_renderer_arena.dat’ ���� ��� � ��%,��'� �+ 6��*� (����+ �� %����%��� *�(-������ 6��+ , ���� �� ����*���� ����� ��� %�,*���� +,��%� �/ ��� +��%,� +��6�%1����� ���� *,���� , B ��+*�+'C ��,���%� ��+*���� �� ��� (��� ��6,%�� ��� ��'�� ,� ��+' ,�+�+� �/ ���( ����*� , ����� ��%�+' ��� ��(���� ���� �� ����*���� ��� �6,%(� �� %���%����)��� *,���� ��� -,�� �/ ��� �� ��� �� %���( ���,6 ����� �+ ��� %�'��+� 6��%� ��� �6,%(� �� ��*���� �� , �����
Light
−1
−0.5
0
0.5
1
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
S
F
S
F
S
F
S
F
’gnuplot_renderer_arena.dat’ �� �� � ��%,��'� ��,� %����� �+ *�,+'�+' ��%�*����+� ��6���%� ��� ��%�*���+ �� +�� *�(-������%���%��� ,� �� �� ��� *,�� 6��� ��� ��%,��'� ����*%� �� , ���� �� �+���,� ��� ,�� ��� �� �����%+ ,6,� /%�( ��� ���� �+��� �� �� +� ��+'�%����*���� )��� *,���� ��� �%,7�*��%� �� %���(� �� ��(��*�%*���� 6��+ ��� �6,%(� �� �� *���� ����� ��'� �/ , �����
Figure 4-11: Examples of the three different strategies found by evolution:fail, re-verse, and turn.
)�� ��%�� ��%,��'���� 6��*� 6� ��+��� ���� �������� ,+� ����� ,�� %�-%���+� ��*,� �-��(, �+ ���
9�+��� �,+��*,-�� /�% ��� +��6�%1 ��%�*��%��� )�� ��� ��%,��'� �� ,+ �+����%, �� ��*,� �-��(�(
�
Evolving Controllers 4.4 Neural Network Type and Structure
��,� %������ �+ *�+�%����%�� 6��*� �� +�� ����� ��� �,�1� )�� 9�+��� �*�%�� �/ ��*� *�+�%����%�
%�0�*� ����% �+,��;�,*� � ��+' ��6� !�+�%����%� %����+' �+ �+� �/ ��� �6� ����% ��%,��'����
+,(��� ��� ������� ,+� ��� ���� ��%,��'�� ,%� *,-, �� �/ �����+' ��� �,�1 ,+� ��� 9�+��� �*�%� /�%
, '���+ *�+�%����% ���� +�� ,��+� %���,� 6��*� �/ ��� �6� ,%� ���� � ��� *�+�%����%� ������'� ����
*���� �+��*,�� ��,� ��� �6� ��%,��'��� ,%� �3����� � �� ��+*� ���� %����� ,%� *�(-,%, �� �+ ��%(�
9�+��� �*�%��� ����% -�%/�%(,+*�� �+ -����*,� %� ��� ,%� ��A�%�+�� !�+�%����%� �(-��(�+��+' ���
������� ��%,��'� �� +�� �%,+�/�% ,� �,���� ,� *�+�%����%� �(-��(�+��+' ��� ���� ��%,��'�� ��*,��
��,� �+ ��(��,���+ ��� *�+�%�� *�*��� ,%� ��+*�%�+���� 6��*� �� +�� ��� *,�� �+ %�,� %� ����
(�%����% ��� �-�,1�%�� (�*%�-��+��� ,+� ��� /%�;��+*� ,+,����� *��� -%���� +�� �� � ,�
%���, �� ,� ,+��*�-,���� ,+� ���%�/�%� ��� ��+*�%�+��� ��,���%� �+ 6��*� ��� ������� ��%,��'�
%������ �� +�+��&����+� �+ %�,����� 5+ %�,� %� ��� ��� -�%/�%(,+*� �/ *�+�%����%� ,��� �+ ���
������� ��%,��'� �� ���%�/�%� +�� ,� '��� ,� *�+�%����%� ,��� �+ ��� ���� ��%,��'�� F,� ����
����� ��+ 1+�6+ ��%�+' ��� ������-(�+� �/ )6���� �% ��%�+' ��� �+'�+��%�+' �/ ��� 9�+���
/�+*���+� 6� (�'�� �,�� �,1�+ (�,��%�� �� -%���+� ��*� ��%,��'��� /%�( ��+' �&-��%�� �
��������+� F�6���%� 6� *,+ +���% '�,%,+��� , ���,� *�%%��-�+��+*� ��6��+ ��(��,���+ ,+�
%�,����� ,+� ���%�/�%� 6� *,++�� -%���+� ��,� ��������+ ��(���(�� 9+� �������+� ��,� ,%� ,���
�+ /�,��%�� �&����+' �+ ��(��,���+ �+���
���� �, ! ���
$�&�-���� /�% �,*� �/ ��� +��%,� +��6�%1 ��%�*��%�� ,%� ���6+ �+ ��'�%� ��.� )�� 9'�%� *�+�,�+�
/��% �&�-����� �+� /�% �,*� +��%,� +��6�%1 ��%�*��%�� ,+� �,*� �/ ��� �&�-���� *�+�,�+� ��%��
-�-��,���+�� �+� /�% �,*� �/ ��� ��A�%�+� (��,���+ %,��� �������
��'�%� ��� �� , �%���(,+ �&�-��� �/ ��� %������ /�% ,�� �/ ��� +��%,� +��6�%1 ��%�*��%�� ,+�
(��,���+ %,���� )�� %������ �,�� ��+ �%��%�� ,**�%��+' �� ��� ,��%,'� %,+1�+' �/ ��� ������
���+,%� ����-� ,+� ��,�����*,� �+��'+�9*,+*� ��6��+ ��� ���( �� �+��*,��� � ��� ����� ��%��*,�
��+�� �+ ��� ��/���,+� ���� �/ ��� 9'�%� H����� ��������+,%� ����-� *���%�� � ��� �,(� ��%��*,�
��+� ,%� +�� ��'+�9*,+��� ��A�%�+�I� )�� %������ ���6+ �+ ��� 9'�%� ��''��� ��,� ��� ��(-��%
+��6�%1� -�%/�%( ;���� 6���� :�%� �-�*�9*,���� ��� (�����,��% +��6�%1 6��� . �����+ +���� ,+�
��� -�%*�-�%�+ ,--�,% �� � ,��;�,�� �+ �����+' ��� �,�1� ,+� *��,%�� ���-�%/�%( ��� �,%'���
+��6�%1 ��%�*��%� �+ ��% ,����+� ���� +,(��� ��� (�����,��% +��6�%1 6��� � �����+ +�����
��'�%� ��� ,��� ��''���� ��,� , (��,���+ %,�� �/ 1% �� ��� *�+��%�,���� �� (��� ��� ��,+�,%�
'�+���* ,�'�%���( 6��� *%������% ,+� %,+1�-%�-�%���+,� ����*���+ �� %�'��+� �/ ��� 9�+��� �,+��
�*,-�� *�+�,�+�+' ��**���/�� ��%,��'��� ,� ��**���/���� '�+���* ,�'�%���(� 6��� ��'��% (��,���+
%,����
$,��� �+ ��� %������ ���6+ ��'�%� ��� , -�%*�-�%�+ ���( �� ��@*� /�% �����+' ��� �,�1 6����
��+' ��� ��(-���� +��6�%1 ��%�*��%� ��,� 6� �,�� ������� 8� (�'�� � *�+��%�,���� ,+�
-�*1 ��� (������,��%�� +��%,� +��6�%1 6��� . �����+ +��%�+�� 6���� ,��%,'� -�%/�%(,+*� 6,�
(�,��%�� �� � ���'���� ��'��% ��,+ ��,� �/ -�%*�-�%�+�� ,�����'� ���%� �� +� ��%�+' ��,�����*,�
�����+*� ��,� �� ���� �+ /,*� -�%/�%( ����% ��,+ -�%*�-�%�+� �+ '�+�%,��
�� (�+���+�� �,%���%� ��� ��%,��'��� /��+� � ��������+ *,+ � ������� �+�� ��%�� '%��-� H���
��'�%� ���I� ��6 �/ 6� *�+����% ��� +�( �% �/ ��%,��'��� /��+� ��� ��A�%�+� ��������+,%� ����-�
���+'�+' �,*� '%��-� , ��A�%�+� -�*��%� �(�%'��� ), �� �� ����� ��� +�( �% �/ ��%,��'��� /%�(
�
4.4 Neural Network Type and Structure Evolving Controllers
perceptron (1%) perceptron (5%) perceptron (10%)
0.1
0.2
0.3
0.4
0.5
Perceptron
Multilayer 2h (1%) Multilayer 2h (5%) Multilayer 2h (10%)
0.0
0.1
0.2
0.3
0.4
0.5
0.6
Multilayer with 2 hidden nodes
H,I H I
Multilayer 10h (1%) Multilayer 10h (5%) Multilayer 10h (10%)
0.1
0.2
0.3
0.4
0.5
Multilayer with 10 hidden nodes
Multilayer 19h (1%) Multilayer 19h (5%) Multilayer 19h (10%)
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Multilayer with 19 hidden nodes
H*I H�I
Figure 4-12: One box-plot for each of the four network structures, where each box-plot contains three populations, one for each set of evolutionary runwith a given mutation rate.
�
Evolving Controllers 4.4 Neural Network Type and Structure
2 4 6 8 10 12
Rank
multilayer 10h (1%)multilayer 19h (10%)
multilayer 19h (1%)perceptron (1%)
multilayer 19h (5%)multilayer 2h (1%)
perceptron (5%)multilayer 10h (5%)
multilayer 10h (10%)perceptron (10%)
multilayer 2h (5%)multilayer 2h (10%)
ANN
Figure 4-13: 9������ ���� ��� �� ��� ������ ������" ���������� ������� �� �>������������ ����� ������� �������� �� ��� ������� ���"�� � -? ����������� ���� ���� ��� ��� �� �� ������ ������" ����������� �� ���� ����������� �� �� �������� ��� ������� ��������� ����0����� �� � ����0����� ����� �� 95%� �� ������� ��� ��� �� ������ �� ������" ��- ���� ����� ��� ����� ������� �� � ������ ������� ��� � �������� ���� �� 10% ������� �� ���� ������� ���"��� ��� ���������� �� ������� ��� �� ���� ��� ��� �>����� ���� �� ���� ���� ���������� ���� � ������ ������� � ���� ���� ���� ����� ���� ������� �� �������� ���� �� 10%�
1% 5% 10% ����
���� ���� ���� ���� ���� ���� ���� ����
)�������� � �# �
,� �� �*�� � � . �. � �� � �. #
,� �� �*�� �6 � � � # �� # � ��
,� �� �*�� �� � � � � # �� ��
Table 4-1: The number of turn and reverse strategies found for the evolutionarysetups out of 20 evolutions. Notice, that for the perceptron controller, nota single evolution found the turn strategy. This could be an indication thata perceptron cannot encode such a strategy efficiently or, alternatively,that the strategy is (very) hard to find in the fitness landscape for theperceptron.
�
4.5 Neuro-Evolution Method Evolving Controllers
�,*� '%��- /��+� � ��� ��������+,%� ����-� %�+ . ��(�� 6��� ��A�%�+� �+���,� *�+�����+�� �+
��'�%� �� ��� ��������+,%� ����-� �,�� ��+ ,%%,+'�� ,**�%��+' �� ���%� ,��%,'� %,+1 '��+'
/%�( ��6��� �� ��'����� ����*�� ��,� /�% ��� -�%*�-�%�+ *�+�%����%� +�� , ��+'�� ��������+,%� %�+
�,� %������� �+ , *�+�%����% %����+' �+ ��� ���� ��%,��'�� )��� *���� �+��*,�� ��,� , -�%*�-�%�+
*,++�� �+*��� ��*� , ��%,��'� �@*��+���� �% ��,� ��� ��%,��'� �� H��%�I �,%� �� 9+� �+ ��� 9�+���
�,+��*,-� /�% ��� -�%*�-�%�+�
Reverse strategyTurn strategy
0
5
10
15
20
mul
tilay
er 2
h(10
%)
mul
tilay
er 2
h(5%
)
perc
eptr
on(1
0%)
mul
tilay
er 1
0h(1
0%)
perc
eptr
on(5
%)
mul
tilay
er 1
0h(5
%)
mul
tilay
er 2
h(1%
)
mul
tilay
er 1
9h(5
%)
perc
eptr
on(1
%)
mul
tilay
er 1
9h(1
%)
mul
tilay
er 1
9h(1
0%)
mul
tilay
er 1
0h(1
%)N
umbe
r of
str
ateg
ies
foun
d ou
t of
20 e
volu
tions
Figure 4-14: 8����� �� ���� ��� ������� ����� � -? ��������� �� �>����� ������������ ��� ��� ���� � �� ���������� ���� � ��� ���� ���������������� �� �� ������� ���" ���� ���� ������ �� ����� 8���� ������� �� �� ���������� ���� � ������� ���� ����� ����� ���� �����������
)����� ��
)�� ��(-���� +��6�%1 ��%�*��%� ��,� 6� �,�� ������� ��� -�%*�-�%�+� ,--�,%� �� � �+*,-, ��
�/ %�-%���+��+' ��� ���� ��%,��'�� �% ,� ��,�� %�-%���+� �� �+ ,+ �@*��+� (,++�% �,���� /��+� �
,%��9*�,� ��������+� )�� ��*�+� ��(-���� +��6�%1 ��%�*��%�� 6��*� 6� �,�� ������� , (�����,��%
+��6�%1 6��� . �����+ +���� 6,� %,+1�� ��� ,+� .+� �+ ��%(� �/ ,��%,'� -�%/�%(,+*� /�%
,�� ��������+,%� %�+� H��� ��'�%� ���I� � (�����,��% +��6�%1 6��� . �����+ +���� �� *,-, ��
�/ %�-%���+��+' ��� ��� ���� ,+� ��� ������� ��%,��'� ,+� �� *,+ � ��**���/���� ��������
)��%�/�%�� 6� *����� ���� +��6�%1 ��%�*��%� ,+� (��� ��% /�*�� �� ��� +��%����������+ (�����
,+� ��������+,%� -,%,(���%��
�� &������������ +����!
�+ ���� ��*���+ 6� ���/� ��% /�*�� �� ��� +��%����������+ (������ �+ ��� -%������ ��*���+ 6� �,��
/��+� ,+ ,��;�,�� 9�+��� /�+*���+ ,+� , ��(-�� +��%,� +��6�%1 /�% 6��*� �� �� -���� �� �� ������
�
Evolving Controllers 4.5 Neuro-Evolution Method
��**���/�� ��%,��'��� ��,� ,%� �%,+�/�%, �� �� %�,� %� ���� �� /,% 6� �,�� �+�� *�+����%�� '�+���*
,�'�%���(� 6��� �+��-��+� *%������%� %,+1�-%�-�%���+,� ����*���+� ������(� ,+� ��%�� ��A�%�+�
(��,���+ %,���� 8� *,�� ���� , �������� 9�� �+ ��� /����6�+' 6� *�(-,%� ��� -�%/�%(,+*� �/
, ��,+�,%� 4� 6��� ��,� �/ , [μ, λ] ��������+,%� ,�'�%���(�� ,+� ��� +��%����������+ (�����
1+�6+ ,� ������� �� ��� ���� ����� ��� ���� H!!4�I�� :�%����%� 6� ���� �,%����
,--%�,*��� �� �+*%�(�+�,� ��������+ ,+� , (����,% (����� 1+�6+ ,� �� ���� ������ ��������
8� 9%�� *�(-,%� ��� -�%/�%(,+*� �/ +��%����������+ (������ �+ 6��*� ��� 6���� �,�1 �� ��,%+�
� �+� +��6�%1 ,+� ��%��'� , ��+'�� ��������+,%� %�+� :�%� �-�*�9*,���� 6� *�(-,%� ��� -�%�
/�%(,+*�� �/ ��,+�,%� 4��� [μ, λ] ,�'�%���(�� ,+� !!4�� �+ ��% �,�1� )�� ��'���� -�%/�%(�+'
,--%�,*� 6��� ���+ � ���� 6��+ 6� ��,��,�� ��� -�%/�%(,+*� �/ �+*%�(�+�,� ��������+ ,+�
������+' +��%,� ,%%,��� )�� *�+�%����%� ������� *�+���� �/ (�����,��% +��6�%1� 6��� �6� �����+
+���� �+ ,�� ��% ������ �&*�-� /%�( ����� *�+*�%+�+' ������+' +��%,� ,%%,�� /�% 6��*� 6� ,���
������ ��� -�%/�%(,+*� �/ *�+�%����%� *�+�����+' �/ (����-�� -�%*�-�%�+��
��.�� � �� �� 1� '�� [μ, λ] '�� ##1�
�+ �%��% �� *�(-,%� ��� -�%/�%(,+*� �/ ��,+�,%� 4��� [μ, λ] ��������+,%� ,�'�%���(�� ,+�
!!4�� �+ ��% �,�1� 6� �,�� *����+ , �� ��� �/ ��������+,%� -,%,(���%� /�% �,*� (����� ,+�
*�+��*��� . ��������+,%� %�+� /�% ���%� �+� �/ ��� %������+' ����-�� )�� ,--%�,*� �� ��(��,% ��
��� ,--%�,*� �,1�+ /�% 9+��+' ,+ ,--%�-%�,�� +��%,� +��6�%1 ��%�*��%� ���*%� �� �+ ��*���+ ��
������� 5�% )�� ��,+�,%� 4� �� ��� ��������+,%� ,�'�%���( ��,� 6� �,�� ���� �� /,% �� 9+�
, ����, �� 9�+��� /�+*���+ ,+� �� 9+� , ��(-�� +��%,� +��6�%1 ��%�*��%�� �+ ��% -%������
���� %�+� 6��� ��� ��,+�,%� 4�� 6� /��+� ��,� , (��,���+ %,�� �/ 1% �+ ,�� *,��� 6,� ���
*�+��%�,����� 6���� '��� %������ 6�%� � �,�+�� /�% (��,���+ %,��� �/ ��� 5% ,+� 10%�
)�� �&�-��� ���6+ �+ ��'�%� ��.H I �+ -,'� �. ,*��,��� �+��*,��� ��,� , (��,���+ %,��
��'��% ��,+ 10% *���� -�%/�%( 6��� H��� ,��%,'� 9�+��� �/ �+������,�� ������� 6��� ,
(��,���+ %,�� �/ 10% �� ��'��% ��,+ ��� ,��%,'� 9�+��� /�% �+������,�� ������� 6��� ,
(��,���+ %,�� �/ 5%I� )��%�/�%�� 6� �,�� �+*����� ��������+,%� %�+� 6��� , (��,���+
%,�� �/ 15%� ��% ,�� ��� ��,+�,%� 4��� ��� [μ, λ] ,�'�%���(�� ,+� /�% ��� !!4��� 6� �,��
%�+ ���� 6��� (��,���+ %,��� 5%� 10%� ,+� 15%�
[μ, λ] � � ������* � ������% ��*,�� ��,� ��� [μ, λ] ,�'�%���( �� ,+ ��������+,%� ,�'�%���(
/�% 6��*� ��� ��� μ �+������,�� /%�( , '�+�%,���+ ,%� ����*��� /�% %�-%���*���+ �/ ���
+�&� '�+�%,���+� � +�6 �+������,� �� *%�,��� /%�( , ��+'�� -,%�+�� ,+� ��+*� ��,%*� �+ ���
�-,*� �/ �������+� �� ��+� ������ ��%��'� (��,���+ ,+� 6������ *%������%� λ ��+���� ���
-�-��,���+ ��K�� 6��*� 6� �,�� 9&�� ,� 100 �+������,��� 8� �,�� *����+ 3 ��A�%�+� �,����
/�% μ� ��+*� ��� -�%/�%(,+*� �/ [μ, λ] ��������+,%� ,�'�%���( �� ��1��� ��%� ��-�+��+� �+
��� +�( �% �/ -,%�+�� ����*���� :�%� �-�*�9*,���� 6� �,�� %�+ ����� /�% 6��*� ��� 5� 10,+� 20 ��'���� -�%/�%(�+' �+������,�� ,%� ����*��� /�% %�,%�+' ��� +�&� '�+�%,���+� �/ �+��
, /�6 -,%�+�� ,%� ���� H��,� ��� ��6 �,���� �/ μI �� (�,+� ��,� ��� ��,%*� �� -�%/�%(��
5��� ������� ��� �� � �� ) ��� ���� �� [μ, λ] �$������� �� ���������6��� ������� ��� �� � �� � ��� ���� �� ��I*�7��� ������� ��� �� � �� � ��� ���� �$��$��� ���� � �� ��
�
4.5 Neuro-Evolution Method Evolving Controllers
,''%�������� �*,��� �� �� *�+*�+�%,��� ,%��+� /�6�% -��+�� �+ ��� �������+ �-,*�� �/ (�%�
-,%�+�� ,%� ����*��� /�% %�-%���*���+� , ��'��% ����� �/ -�-��,���+ ����%���� �� (,�+�,�+���
�� *�+��%'�+*� �� '��� �������+� *���� � ���6�% ��+*� ���� �&-��%,���+ �� ��+� ,%��+�
��� ��'���� �*�%�+' �������+� /�% , '���+ '�+�%,���+� ��% �,*� �/ ��� ��%�� ����*��� �,����
�/ μ� 6� �,�� %�+ . ��������+,%� %�+� /�% �,*� �/ ��� ��%�� (��,���+ %,���� )���� /�%
��� [μ, λ] ��������+,%� ,�'�%���( 6� �,�� , ���,� �/ 9 × 20 ��������+,%� %�+�� 6���� /�%
��� ��,+�,%� 4� ,+� /�% ��� !!4� 6� �,�� 3 × 20 ��������+,%� %�+� /�% �,*��
!!5�% ��% ��� !!4� 6� �,�� , �� �-�-��,���+ /�% �,*� +�+��+-�� +��%�+� �+���,� �/ ,
��+'�� -�-��,���+ ,� �� �� ��� *,�� /�% ��� ��� ��,+�,%� 4� ,+� ��� [μ, λ] ��������+,%�,�'�%���(� )��%�/�%�� 6� �,�� , ���,� �/ 4 �� �-�-��,���+�J �+� /�% �,*� �/ ��� �6�
�����+ +����� ,+� �+� /�% �,*� �/ ��� �6� ���-�� +��%�+�� 3,*� �/ ��� �� �-�-��,���+�
�,� , ��K� �/ 25 �+������,��� )���� �+ �,*� '�+�%,���+ ��� -�%/�%(,+*�� �/ 4 × 25 = 100+��%,� +��6�%1� ,%� ��,��,���� �+ ��� �%�'�+,� -� ��*,���+ �+ ��� �� 7�*� �/ *�( �+�+'
!!4�� ,+� +��%,� +��6�%1� D�����% ,+� �� L�+'� . E� ��� ,����%� ���� �� �-�-��,���+�
�/ 50 �+������,�� �,*�� F�6���%� �+ �%��% /�% ��� (����� �� � �*,�, ��� ��� +�( �% �/
�+������,�� �+ , �� �-�-��,���+ �,� �� � 1�-� %�,��+, �� ��6� 8��� 25 �+������,�� �+ �,*�
�� �-�-��,���+ 6� ,*����� ��� �,(� +�( �% �/ ��,��,���+� -�% '�+�%,���+ ,� 6��� ���
����% +��%����������+ (������ ,+� ���� 6� ,%� , �� �� ��%�*��� *�(-,%� ��� -�%/�%(,+*�
�/ ��� %������+' �+������,���
)�� (,�+ ��A�%�+*� ��6��+ ��� ��,+�,%� 4� ,+� ��� [μ, λ] ��������+,%� ,�'�%���( �� ��,� �+ ���
/�%(�% *%������% �� ����� 6���� �+ ��� �,���% (��,���+ �� ��� �+�� '�+���* �-�%,��% ���� �� -�%/�%(
��� ��,%*�� )�� !!4� ��A�%� /%�( ��� ��� ��,+�,%� 4� ,+� ��� [μ, λ] ,�'�%���(� �*,���
(����-�� �� �-�-��,���+� ,%� ����� $� ���+' �� �-�-��,���+� ,+� ���%� � 1��-�+' +��%�+� /�%
��A�%�+� -������+� �+ ��� +��%,� +��6�%1 ��-,%,��� ��� ���, �� �� ��� ��� ���( �-�*�,��K� ,+�
,�,-� �� �,*� ����%>� �-�*�,��K,���+�� �+ ����% 6�%��� ��� ���, �� �� ��� ��� +��%�+� ��� ����
)��� ������ %����� �+ ����% �������+� ��+' � �,�+�� /,���% D�����% ,+� �� L�+'� . E� ��6���%
��% %������ -%���+��� ���6 �+��*,�� ��,� �� �� +�� ,�6,�� ���
�����
� �&�-��� �/ ,�� ��������+,%� ����-� �� ���6+ �+ ��'�%� ���� �+ ��'�%� ��# ��� ��������+,%�
����-� �,�� ��+ ,%%,+'�� ,**�%��+' �� ��� ,��%,'� %,+1�+' ,*������ ��%�+' ��� -������,��,���+
%�+� ,+� ��,�����*,� �+��'+�9*,+*� H6��� , *�+9��+*� ����� �/ 95%I �� �+��*,��� � ��� �����
��%��*,� ��+�� �+ ��� ��/���,+� ���� �/ ��� 9'�%�� )�� ��'���� -�%/�%(�+' ��������+,%� ����-� ,%�
����� �+�����+' ��� [μ, λ] ��������+,%� ,�'�%���(� /����6�� � ��� ��,+�,%� 4� 6��� *%������%
,+� %,+1�-%�-�%���+,� ����*���+� ��+,���� ��� !!4� -�%/�%(� ;���� -��%�� /�% ,�� ��%�� (��,���+
%,��� �������
)�� ��6 -�%/�%(,+*� �/ ��� !!4� *,+ �/ *��%�� � ��� �� ��� ��������+,%� -,%,(���%� ��,� 6�
�,�� ����*��� /�% ��� ,�'�%���(� ��*� ,� ��� ��K� �/ �,*� �� �-�-��,���+� ��� ����*���+ �*��(��
,+� +�( �% �/ ������ *�-��� /%�( �+� '�+�%,���+ �� ��� +�&�� ,+� �� �+� �� (�+���+�� , ����
6� �,�� ���� , -�-��,���+ ��K� �/ 25 �+������,�� /�% �,*� �� �-�-��,���+� ��%���%(�%�� , %,+1�
-%�-�%���+,� ����*���+ 6,� ����� %�-%���*���+ �,--�+�� ������ ��%��'� (��,���+ H� � �� ���I�
�
Evolving Controllers 4.5 Neuro-Evolution Method
Sta
ndar
d G
A (
5%)
Sta
ndar
d G
A (
10%
)
Sta
ndar
d G
A (
15%
)
[mu=
5,la
mbd
a] (
5%)
[mu=
5,la
mbd
a] (
10%
)
[mu=
5,la
mbd
a] (
15%
)
[mu=
10,la
mbd
a] (
5%)
[mu=
10,la
mbd
a] (
10%
)
[mu=
10,la
mbd
a] (
15%
)
[mu=
20,la
mbd
a] (
5%)
[mu=
20,la
mbd
a] (
10%
)
[mu=
20,la
mbd
a] (
15%
)
CC
GA
(5%
)
CC
GA
(10
%)
CC
GA
(15
%)
0.0
0.1
0.2
0.3
0.4
0.5
Standard GA, [mu,lambda], and CCGA
Fitn
ess
Figure 4-15: 2��� ��� �� �� ���������� ��� �� �������� 3�� �� [μ, λ] ���������� ������� '@���������A)� ��� �� !!3�� �� ������� ��� ���� ���������������� �� �������������� ������ ,� 9���� B��C �� �� ���� ����� ������� ��� ���� �������� �������� �� ��� ������� ���"���
4.5 Neuro-Evolution Method Evolving Controllers
2 4 6 8 10 12 14
Rank
CCGA (5%)CCGA (15%)CCGA (10%)
[mu=5,lambda] (5%)[mu=20,lambda] (5%)
Standard GA (5%)Standard GA (15%)
[mu=10,lambda] (5%)Standard GA (10%)
[mu=5,lambda] (15%)[mu=5,lambda] (10%)
[mu=20,lambda] (10%)[mu=10,lambda] (10%)[mu=10,lambda] (15%)[mu=20,lambda] (15%)
Neuro−evolution method
Figure 4-16: 9������ ���� ��� �� �� ���"�� ��� �� �������� 3�� �� [μ, λ] ����������� ������� '@���������A)� ��� �� !!3� �� ������ ������������ ��� ��� -? ���������� ����� �� ���� ������� ���� �� �� ����������� ������ ��������� ����0����� �� � ���0����� ����� �� 95%� ��������� ��� ��� �� [μ, λ] ���������� ������� ������ �� ����������� ���"��� ��� ��� ������� ���������� ���� � ������� �� [μ, λ]������� ������ ������ '�� ��������� ���0�����) ��� �� ��������3� ��� �� !!3�� ������� � �� !!3� ������� ��� ���� ��������� ���� ������ ������� ���"����
�
Evolving Controllers 4.5 Neuro-Evolution Method
,+� 6� *�-� ��� ��� �6� �+������,�� /%�( �+� '�+�%,���+ �� ��� +�&�� )���� ��� ��������+,%�
,�'�%���( ���� /�% ��� �� �-�-��,���+� �� *���� �� , [μ, λ] ,�'�%���( �&*�-� ��,� ��� ����*���+
�*��(� �/ �����+' ��� μ ��� �+������,�� �,� ��+ %�-�,*�� � , %,+1�-%�-�%���+,� ����*���+
�*��(��
)��%�/�%�� 6� ������ ��,� ��� -��% -�%/�%(,+*� �/ ��� !!4� �� ��� �� ��� /�+�,(�+�,�
6,� �+ 6��*� ��� �� �-�%,��� *�( �+�� 6��� ��� -%�-�%���� �/ ��% 9�+��� /�+*���+� 8��+ ,+
�+������,� H, +��%�+I /%�( , �� �-�-��,���+ �� ��,��,���� , +��%,� +��6�%1 �� *�+��%�*��� /%�(
��� ������ ���� ���� ���� �� /%�( ��� ����% �� �-�-��,���+�� ��+*� ��% 9�+��� /�+*���+
�� %,���% +����� ��� ��'���� -�%/�%(�+' +��%�+ �+ ��(� '�+�%,���+ �� +�� +�*���,%��� ��� ���
�+ , (�%� '�+�%,� ��+��� F�6���%� �� *���� � ��,� *�+�����+� 6�%� ��*� ��,� �� %�*����� ���
��'���� 9�+��� -,%��� � *�,+*� �*,��� �/ ��� +���� 9�+��� /�+*���+� )��� (�,+� ��,� ���
-�%/�%(,+*� �/ ��� ����% +��%�+� �� (�,��%�� 6��� %��-�*� �� ���� �� ��-��(,� +��%�+ ,+�
���� *���� ���%�/�%� -�%/�%( �� ��-��(,��� ���(������� -���� �� �� , ��'%�� 6��%� ��� %,+1�+'
6����+ ����% �� �-�-��,���+� �*�(�� �*%�6�� ��6,%�� , ��A�%�+� �-�*�,��K,���+ ��,��+' �� ,+
���%,�� %�'%�����+ �+ -�%/�%(,+*�� �+ ����% 6�%��� � +���� 9�+��� /�+*���+ *���� ��,� �� ���
!!4� �*�(�+' �+��, �� ��� �� ��� 6,� �+ 6��*� +��%�+� ,%� ��,��,���� ������'�� 6� �,��
+�� ,+,��K�� ���� -��+�(�+�+ �+ ���,��� 6� � ��%��� ��*���,���+� �+ ��%(� �/ 9�+��� �*�%�� �+
����%,� �/ ��� ��������+,%� %�+� 6� *�+��*���� �+ �&,(-�� �� ���6+ �+ ��'�%� ���� )��� *����
�+��*,�� ��,� !!4�� �+���� ��A�% /%�( ��� ����� ���*%� �� , ����
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
0 100 200 300 400 500 600 700 800 900 1000
Fitn
ess
Generation
Fitness plot (CCGA, mr = 15%, run 1)
BestAverage
Figure 4-17: �� ���� �� �� � 0����� ��� ��� � !!3�� 8���� �� �� 0����� �������������� ��� ��� � ������� ��� �������� �� --?� � 6-?�� ��� �� ����� �� C??� ����������
)�� ��,+�,%� 4� ,+� ��� [μ, λ] ,�'�%���( ��A�% �+�� 6��� %��-�*� �� ��� ����*���+ �*��(� ,+� ��
��� ��� �/ *%������%� !%������% �� ���� �+�� �+ ��� ��,+�,%� 4� ,+� +�� �+ ��� [μ, λ] ,�'�%���(�
8?B������ ���������� ������A ������ �� ��� ������ �� � � � � �� �� ��� ���� � ������2# ����� ��� ��� ���������� 7����� �����# �� �� ��� ������� �� ��� ��������� ����# ����� ��� � ���� ����� ����
9F�� � �+ ���� �� ���� �� ��� 7����� �$������� �� �� ��I* ��� ��� ���� ��� F����� ��; J+ ����� �� ���7����� �$������� �� �� �� � � I* �� ����� �� F����� ��� �� � �� <�
4.5 Neuro-Evolution Method Evolving Controllers
)�� ����*���+ �*��(� �+ ��� ��,+�,%� 4� �� %,+1�-%�-�%���+,�� 6��*� �+ ��� [μ, λ] ,�'�%���( ���
μ ��� �+������,�� %�-%���*�� �/ 6� *�+����% ��,� ���%� ,%� ��������+,%� ����-� /�% ,�� ��� ������
�,���� �/ μ H5� 10 ,+� 20I� 6��*� -�%/�%( ����% ��,+ ��� ��,+�,%� 4� H��� ��'�%� ��#I� ��
���(� ��,� ��� ����*���+ �*��(� -�,�� , (�+�% %��� *�(-,%�� 6��� ��� %��� �/ *%������%� )��
���, ���+� *%������% �� �� *�( �+� '��� -,%��,� �������+� �+ �%��% �� *%�,�� ����% *�(-����
�������+�� F�6���%� ��% %������ �+��*,�� ��,� *%������% �+�� ��� ��������+,%� ��,%*� � /%�;��+���
-%���*�+' -��%�� -�%/�%(�+' �+������,��� :�%����%� �� �� ;������+, �� �/ �,�1�+' , ��� B-,%��,�
�������+�C ���� � ����� ������ ���� �# (,1�� (�*� ��+��� ��%���% ������� (�'�� �+*���% ���
��+,(�*� 6����+ �,*� �/ ��� +��%����������+ (������� F�6���%� /�% ��% -�%-���� �� ��@*�� ��
9+��+' ��� ��� (������ 6��*� ��%+�� ��� �� � ��� [μ, λ] ,�'�%���( 6��� , (��,���+ %,�� �/
15% ,+� μ = 20�
��.�� %������� � &'����
�+*%�(�+�,� ��������+ %�/�%� �� (������ �+ 6��*� ��������+ �'�+� 6��� , -�-��,���+ ��,� �,�
��+ �%,�+�� /�% , ��(-��% �� ��(���6 %��,��� �,�1 DF,%��� �� ,��� �E� $� -%�'%��������
(,1�+' ��� �,�1 (�%� ,+� (�%� *�(-��&� �����%,--�+' -%� ��(� *,+ -���� �� � ���%*�(�
,+� ��������+ *,+ � �-�� �-� F�6���%� ��� ��� �/ �+*%�(�+�,� ��������+ *,+ �+ (,+� *,���
%�;��%� , �� ��,+��,� �+'�+��%�+' �A�%�� �*,��� ��� '�,���,�1 �,� �� � ������� ��6+ �+��
�� ��,�1�� 6��*� ,',�+ �,� �� � �%��%�� '��+' /%�( ��(-�� �� *�(-��& �� ��,�1�� �� �� +��
'���+ ��,� ��*� ,+ �%��% *,+ � /��+� �% ���+ ��,� ��� '�,���,�1 *,+ � �-��� �+�� �� ��,�1��
����%�������� 6� �,�� �&-�%�(�+��� 6��� �,%���� ,--%�,*��� /�% �+*%�(�+�,� ��������+� 6���
%��-�*� �� ��% �,�1� $���6 6� ���*��� ��(� �/ ��� %��,��� %���,%*� ,+� -%������ �&-�%�(�+��
6��� �+*%�(�+�,� ��������+� /����6�� � , -%���+�,���+ �/ ��% �&-�%�(�+�,� ����- ,+� ��� %������
6� �,�� � �,�+���
F,%��� �� ,�� D�E ������� *�+�%����%� �+*%�(�+�,��� �� �����+'���� ��6��+ 6���� �%�,+'��� ,+�
%�*�,+'��� �+ , �,%1 ,*1'%��+�� )�� '�,� 6,� �� ������ *�+�%����%� ��,� 6���� �+�� (���
%� ��� ��6,%�� �%�,+'���� )�� �,�1 6,� ������� �+�� �� ��,�1� 6��%� ��� %� ��� 6���� 9%�� ��,%+
�� �%��+� ���(������ �� /,*� , �,%'� %�*�,+'�� �,���� ����*�, �� � ����% ��+��%�� ���+ �� /,*� ,+�
(��� ��6,%�� , �(,���%� (���+' %�*�,+'��� ,+� 9+,��� �� �����+'���� ��6��+ %�*�,+'��� ,+�
�%�,+'���� ,+� �+�� (��� ��6,%�� �%�,+'���� )���� *�+�%����%� 6��%� 9%�� �%,�+�� �� /����6 6����
%�*�,+'��� ,+� ���+ �,��% �%,�+�� +�� �� /����6 ���(� �� �+���,� �� /����6 �%�,+'��� �+��� )��
,����%� ������� ��� '�,���,�1 �+�� �� ��,�1� �+ 6��*� %�*�'+����+ ,+� -�%���� 6�%� -%��%���K��
���% ���*%�(�+,���+ ��6��+ ��� �6� '��(��%�* ��,-�� �+ ��� 9%�� -�,���� )�� *�+�%����%�
� �,�+�� 6��� �+*%�(�+�,� ��������+ 6�%� ���6+ �� � (�%� %� ��� ��,+ *�+�%����%� �%,�+�� �+
��� *�(-���� �,�1 /%�( ,+ �+���,� %,+��( -�-��,���+�
���9 �� ,�� D�E ���� �+*%�(�+�,� ��������+ �� ���%*�(� ��(� �/ ��� ���*%�-,+*��� ��6��+
��(��,���+ ,+� ��� %�,� 6�%��� !�+�%����%� ������� �+ ��(��,���+ 6��%� �%,+�/�%%�� �� %�,�
%� ��� ,+� ��������+ 6,� *�((�+*�� �+ %�,� %� ���� �/��% , /�6 '�+�%,���+� ��� -�%/�%(,+*�
�/ ��� *�+�%����%� �+ %�,� %� ��� %�,*��� ��� �,(� ����� ,� ,*������ �+ ��(��,���+� )����
�+*%�(�+�,� ��������+ 6,� ���� �� ,�,-� *�+�%����%�� �%,�+�� �+ ��(��,���+� �� ��� +���� ��'+,��%�
,+� ��,���% �/ ��� -����*,� %� �� �,%�6,%��
��
Evolving Controllers 4.5 Neuro-Evolution Method
4�(�K ,+� :��11��,�+�+ D��E ���� �+*%�(�+�,� ��������+� *�( �+�� 6��� �+/�%*�� �� �
-�-��,���+�� ,+� ����,�*���+'� �� ������ � ��,*�� ,����,+*� ,+� -%��,��% ��,���+� �+*%�(�+�,�
��������+ 6,� -�%/�%(�� � 9%�� ������+' -�-��,���+� �/ +��%�+� *,-, �� �/ ,�����+' , ��+'��
�+�(� (���+' ,� ��6 �-��� �+ , ���*%��� � &� '%��� )�� ��K� �/ ��� '%�� 6,� ���+ �+*%�,���
�� , ��&�� '%�� ,+� ,+����% �+�(� 6,� ,����� )6� �+*%�(�+�� /����6�� �+ 6��*� ��� �-��� �/
��� �6� �+�(��� 6,� �+*%�,���� )�� ,����%� ���6�� ��,� ������+' *�+�%����%� /�% ��� *�(-����
�,�1 ��%�*��� 6,� �+/�,�� ��� 6���� �+*%�(�+�,� ��������+ ������� �,���/,*��%� %�������
�+ ��� +�&� ��*���+ 6� ���*%� � �6� ��A�%�+� 6,�� �/ �� �������+' ��% '�,���,�1 ,+� ��� %������
� �,�+�� /�% �+*%�(�+�,� ��������+ ,��� �+ ����� �������+��
����� ������ #����
8� �� ������� ��% �,�1 �+ �6� 6,���
� ������� ���� �.��*% 3�������+ �� ��,%��� �+ , ��(-�� ,%�+, 6��� , ��'�� ���%*� ,+� +�
������ F���� ,%� ,���� �+*%�(�+�,��� 6��+ ��� �,�1 *,+ � ������ �+ ��� -%������ ,%�,�
)�� -�%-��� �/ ,--���+' �+*%�(�+�,� ��������+ �+ ���� (,++�% �� �� ��,-� ��� �+���,� 9�+���
�,+��*,-�� �+ ��*� , 6,� ��,� �������+� ,%� �,���% �� 9+� �*,��� ���%� ,%� +�+� �% �+��
/�6 ������ 8��+ ��� *�(-��&��� �/ ��� ,%�+, �� �+*%�,���� 6� �&-�*� ��� ��������+,%�
��,%*� 6��� ��,%� �+ %�'��+H�I �/ ��� 9�+��� �,+��*,-�� *����% �� , '��� �������+ ��,+ ,
%,+��( -�-��,���+ 6����� ��% �+��,+*�� ���� 6,� �/ -�%/�%(�+' �+*%�(�+�,� ��������+
*���� -%���+� ��������+,%� %�+� �+ 6��*� ��� �� ��� /,�� �� *��%��+,�� ,+� (���� �*,���
�+ ��� 9%�� �+*%�(�+� ���%� ,%� +� ����� �+�� 6��*� �6,%(� ��� *,+ /,�� ,+� �+������,��
6�� (��� 6��� ���%�/�%� � %�6,%���� )�� ,%�+,� ���� /�% ��� �+��%�+(�+�,� *�(-��&���
�+*%�(�+�,� ��������+ ,%� ���6+ �+ ��'�%� ���� 8� ��� ��� ffinal 9�+��� /�+*���+�
��� ���� ������������% �/ �� �� ,���(�� ��,� , ��**���/�� ��,���% *,+ � ��*�(-����
�+�� �� � ��,���%�� !��%��+,����(����+� �����,����,+*�� ,+� -�����,&��� �� �� -���� ��
��,� ����� ��,���%� *���� � ��,%+� �+ ,+ �+*%�(�+�,� /,����+� )�,� ��� ��� 9%�� ��,%+�+'
�,�1 �� *�+*�%+�� 6��� *��%��+,����(����+ �+ ,+ ,%�+, 6������ ����� �+��% , 9�+���
/�+*���+ ��,� %�6,%�� *��%��+,����(����+��� 5+*� , �,���/,*��%� �������+ �,� ��+ /��+��
����� ,%� ,���� ,+� ��� 9�+��� /�+*���+ �� �&��+��� 6��� , *�(-�+�+� 6��*� %�6,%��
*�+�%����%� ��,� ��,� *��,% �/ ����� HfstayaliveI� ��+,���� -�����,&�� �� %�6,%��� ,+� ���
������� *�+�%����%� ������ � , �� �� ����� ��� '�,���,�1 HffinalI�
$��,���%,� ��*�(-������+ %�;��%�� (�%� �/ ,+ �+'�+��%�+' �A�%� ��,+ �+*%�(�+�,� ��������+
��%��'� �+��%�+(�+�,� *�(-��&���� �*,��� 6� �,�� �� (,1� *�%�,�+ ,���(-���+ , ��� ��6
10J������ ��������� ���� �� ������ � �� ��� ������ ��$� ���$������� �� ������� ��������� �� ����� � �� ������, � ��� �������� �������0 �� ���������� �� ��� �� �$� � � �� ��� ��� ��������� ���� � ��� �$ �� �� �� ���� �������2� ���������� �� ������� ���� �� ��������� ����� ��� ������� ��� �� � �� �
11'�� 7����� �������� ��� � � ���� �� �� ������� �� �� ������ ��� ��� ��� ��$� # �� ��� ���� ����# ����� � �9����� ���� �����$ �� J$��� ;# �� � �� ����� �# ��� �������� �� ��� �� ������ �� ���� �� �� ��� ��������#;# ��# � �� ����� � ������# � ��� ���������� ����$�� � ������ �� 7����� � �� �� ��� ��� ���� ��$��� ����� ����� �����$ �� ����� � ����� ����� �� � �������� ���� �����$ �� �� ������ �� �� �� �� �� ���$��� ������ �� ���
��
4.5 Neuro-Evolution Method Evolving Controllers
Light
−1
−0.5
0
0.5
1
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
Light
−1
−0.5
0
0.5
1
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
H�I H.I
Light
−1
−0.5
0
0.5
1
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
Light
−1
−0.5
0
0.5
1
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
H�I HI
Figure 4-18: The arenas used for incremental evolution based on environmentalcomplexity. A population is first trained in (1) until an acceptable per-formance is achieved, then in (2) and so on. After an acceptableperformance has been achieved in (4), the arenas (a) and (b) shownin Figure 4-7 on page 64 are used. The final incremental step con-sists of all the arenas shown in Figure 4-7 are used in different trialsin order to obtain controllers based on general strategies (see Sec-tion 4.3.3 on page 62).
��
Evolving Controllers 4.5 Neuro-Evolution Method
��,���% *,+ � ��*�(-����� �+ �%��% �� �� �� ��**���/���� 6� +��� ���%��'� �+��%��,+��+'
�/ ��� �,�1 ,+� -���� �� ��%,��'���� 6��*�� �� , *�%�,�+ ��'%��� *�+�%,��*�� ��� -�%-��� �/ ���+'
��������+,%� %� ���*�� +,(��� �� ��� ��������+ 9+� �A�*���� ��%,��'��� � �,1�+' ,��,+�,'�
�/ +���� �+��%�+(�+�,� /�,��%�� ,� ���� ,%� ��+��� � ��� %� ���� F�6���%� � ��,���%,�
��*�(-������+ �� /�,�� �� �� *���� -%��� , -�6�%/�� ���� /�% ������-�+' *�(-��& ��,���%� ��+*�
+�6� (�%� ,��,+*�� ��,���%� *���� � ,���� �+*%�(�+�,����
�+ ��� ��-�� �/ �+*%�(�+�,� ��������+ 6� �,�� �� ��*��� �+ , ��%(�+,���+ *%���%��+ /�% �,*�
�+*%�(�+�� )�,� ��� 6� �,�� �� ��*��� 6��+ �� (��� /%�( �+� �+*%�(�+� �� ��� +�&�� 8� *,+
�� �� ,��� �����% �+ , *�%�,�+ +�( �% �/ '�+�%,���+� �% �+ ��� -�%/�%(,+*� �/ ��� -�-��,���+�
�/ 6� ��(-�� ,���� , +�( �% �/ '�+�%,���+� �� �,*� �+*%�(�+�� 6� *,++�� � ��%� ��,� , �,�1
�,� ��+ ��,%+� �/�%� ��������+ *�((�+*�� 6��� , (�%� *�(-��& �+�� �+ ��(� *,���� ��6���%�
�� ���� (,1� ��+�� �� ,�� ��� ��(� �-�+� �+ �,*� �+*%�(�+� �+ , +�( �% '�+�%,���+� ,+�
+�� �+ ��� -�%/�%(,+*� �/ , -�-��,���+� +,(��� 6��+ ��� ��������+,%� *�(-��,���+ �� %� ���
,+� -%���*�, �� �+ ��� ��+�� ��,� ��������+,%� %�+� �+ '�+�%,� /����6 ��(��,% -,���%+�� 5�%
��������+,%� %�+� ,%� /,% /%�( %� ��� �+ ���� 6,�� )6� 9�+��� -���� /%�( ��� -%������ -�,��
*�+*�%+�+' ��� +��%,� +��6�%1 ��-� ,+� ��%�*��%� ,%� ���6+ �+ ��'�%� ��� )�� 9�+��� -���
,%� ��� /�% , (�����,��% +��6�%1 6��� . �����+ +���� ,+� , ��,+�,%� 4� 6��� , (��,���+ %,��
�/ 10%� �� ��� -���� ,%� /�% ��������+,%� %�+� ��,%��� 6��� ��A�%�+� �+���,� -�-��,���+�� �� ���
%������ ���6� �+� ��������+,%� %�+ ��,%�� *��( �+' ����-�� ,%��+� ��� � �� '�+�%,���+� 6����
��� ����% �+�� ��,%�� ,%��+� ��� �� �� '�+�%,���+� )���� �6� ���+�� �+��*,�� ��� *%�*�,� -��+��
�+ ��� ��������+,%� %�+� 6��%� ��� ��������+,%� ��,%*� �,� /��+� , ���� �/ ��� 9�+��� �,+��*,-�
*�+�,�+�+' , ��**���/�� ��%,��'��
0
0.1
0.2
0.3
0.4
0.5
0.6
0 100 200 300 400 500 600 700 800 900 1000
Fitn
ess
Generation
Fitness plot (multilayer w/ 2hidden, mr = 10%, run 1)
Best fitnessAverage fitness
0
0.1
0.2
0.3
0.4
0.5
0.6
0 100 200 300 400 500 600 700 800 900 1000
Fitn
ess
Generation
Fitness plot (multilayer w/ 2hidden, mr = 10%, run 19)
Best fitnessAverage fitness
Figure 4-19: Two plots of fitness scores for the same evolutionary setup (multilayernetwork with two hidden nodes, a standard GA with a 10% mutationrate), but with different initial random seeds. The plots show that theevolutionary runs can progress rather differently in terms of the pointat which a region of the solution space containing successful strate-gies is reached. The evolutionary run shown on the left-hand sidereached such a region around generation 140, while the run on theright-hand side only managed to do so around generation 550.
4���+ ��,� ��% ��������+,%� %�+� *,+ � ,� �+-%���*�, �� ,� ��� �&,(-�� �+ ��'�%� �� ���6��
6� �,�� *����+ �� ��� -�%/�%(,+*� �/ ��� �+������,�� �+ , '�+�%,���+ �� ����%(�+� 6��+ ,+
��
4.5 Neuro-Evolution Method Evolving Controllers
�+*%�(�+�,� ���- ������ � �,1�+ ,� �--���� �� ,������+' , 9&�� +�( �% �/ '�+�%,���+� �� �,*�
�+*%�(�+�� )�� /�+*���+� 6� ��� ,%� ,�� %��,���� +���� ,+� 6� �,�� �� ,���� ��,� B�-�1��C /�%*�
�� �� �,1� ��� +�&� �+*%�(�+�,� ���- �/�%� ��� �,�1 /�% ��� *�%%�+� ���- �,� ��+ �%��� ��,%+����
)��%�/�%�� 6� %�;��%� ��� 9�+��� �*�%� �/ ��� ��� -�%/�%(�+' �+������,� �� � , ��� , *�%�,�+
��%������ /�% � *�+��*����� '�+�%,���+� �/�%� ,+ �+*%�(�+� �� -�%/�%(����� )�� ��%������� ,%�
��A�%�+� /�% �,*� �+*%�(�+� ,+� ���� 6�%� ����%(�+�� ,��� �+ ��� 9�+��� /�+*���+� ��,'+,���+
�/ 9�+��� �*�%�� ��%�+' �%�,� %�+�� ,+� ����,� �+�-�*���+ �/ ��%,��'��� /��+� ��%�+' ��� �%�,� %�+��
)���� ��� �,�1 �/ 9+��+' ����� ��%������� ��� ��1� 9+��+' , ����, �� �� ��������+ �/ ��� '�,���,�1�
,+ �+'�+��%�+' �A�%��
�+ ,�� *,��� 6� �,�� ���� , [μ, λ] 6��� μ = 20 ,+� , (��,���+ %,�� �/ 15%� ��+*� ���� ����-
6,� /��+� �� � ��� ��'���� -�%/�%(�+' �+ ��*���+ �����
�����
�+ �&,(-�� �/ ��� ��������+ �/ 9�+��� �*�%�� /�% ,+ �+*%�(�+�,� ��������+ ,��� �+ �+*%�(�+�,�
*�(-��&��� �� ���6+ �+ ��'�%� �. � �+ ��� 9'�%�� 6� �,�� �+��*,��� 6��%� �+*%�(�+�� �,1�
-�,*�� ��+*� ��� �,(� 9�+��� /�+*���+ �� ���� �+ ,�� �+*%�(�+�� �� �� +,��%,� ��,� ��� 9�+��� �*�%��
� �,�+�� � �+������,�� ��%�+' ��� 9%�� �+*%�(�+�� ,%� ��'��% ��,+ ����� �+ �,��% �+*%�(�+���
61 2 3 4 5
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
0 100 200 300 400 500 600 700 800 900 1000
Fitn
ess
Generation
BestAverage
Figure 4-20: � 0����� ��� ��� �� ���������� ��� ����� �� ���������� �������� ��������� � ���������� �������� �� ������������ ��� ���� � ������� � ����� �� 6 ��������� ��� �� ������ ���� ��� �������� �� ������ ��"� ���� �� ��������� 60� 288� 399� 473� ��� 737 �� ������� ��� 0�����
������'� ��� �&,(-�� ���6+ �+ ��'�%� �. *���� '��� ��� �(-%�����+ ��,� �+*%�(�+�,� ��������+
��%��'� �+*%�,��� �+��%�+(�+�,� *�(-��&��� 6�%1� %��,������ 6���� , �,%'� +�( �% �/ ��������+,%�
12���2�� ����� ���� ��� �� ���� �� �$� � �� �����$� ���� 7����� ����� �� �� ������ �� ������ ����� � ������ ��� ��� ���������� �� =������� �� � � ��� �� ���$��� ��� � �2 �� ����� � '��� � � �� ��� � �� �� � �� �$� � �� � � $�� ��� �� ����� ��������# �� �� ��� ��$�� �� ��� ����� ��������# � �� ��
13'��� �������� ���� �� � �� �� ��� ����� ���# '��H��
��
Evolving Controllers 4.5 Neuro-Evolution Method
%�+� ��� +�� '� ��%��'� ,�� 6 �+*%�(�+�� �/�%� '�+�%,���+ 1000� 5+�� �+ 11 ��� �/ ���
20 ��������+,%� %�+� ��� ��������+ %�,*� ��� 9+,� �+*%�(�+�� )��� ����� �+0��+*�� ��� -����
��,��,���+ %������� �*,��� ��� *�+�%����%� ������� ��%�+' ��� 9 ��������+ %�+�� 6��*� 9+�����
,� ,+ �,%���% �+*%�(�+�� �,�� +�� �,� ��� *�,+*� �� B��,%+C ��� �+��%�+(�+�� �+ 6��*� -����
��,��,���+ �,1�� -�,*��
�+ ,+ ,���(-� �� ���%*�(� ���� ����� 6� %���*�� ��� +�( �% �/ �+*%�(�+�� /%�( 6 �� 3���,%��+' 6��� ,+ ,%�+, *�+�,�+�+' , ��+'�� ����� ���+ ,+ ,%�+, 6��� (����-�� ������ ,+� 9+,���
/��% ,%�+,���� P��+' 3 �+*%�(�+�� �+���,� �/ 6� 17 �/ ��� 20 ��������+,%� %�+� %�,*��� ��� 9+,�
�+*%�(�+� �/�%� '�+�%,���+ � ,+� ���� �,� ��� �--�%��+��� �� ��,%+ ��� ,%�+,� �+ 6��*�
-������,��,���+ 6,� -�%/�%(���
)�� %������ /�% �+*%�(�+�,� ��������+ ��%��'� ��,���%,� ��*�(-������+ ,+� ��%��'� �+��%�+�
(�+�,� *�(-��&��� ,%� ���6+ �+ ��� �&�-��� �+ ��'�%� �.�� 8� �,�� �+*����� ��� %������
/�% ��� [μ, λ] ��������+,%� ,�'�%���( 6��� μ = 20� � �,�+�� 6������ ��� ��� �/ �+*%�(�+�,�
��������+� )���� %������ �,�� ��+ �+*����� �� ��,� %������ *,+ � *�(-,%�� �,�����E
nviro
nmen
tal
com
plex
ity (
6)
Env
ironm
enta
l c
ompl
exity
(3)
Beh
avio
ral
dec
ompo
sitio
n
[mu=
20,la
mbd
a] (
15%
)
0.0
0.1
0.2
0.3
0.4
Incremental evolutions
Fitn
ess
Figure 4-21: 2��� ��� ��� ���������� �������� ����� �������� ������������ ���� ���� '������� ��� ��� C ��� 6 ���������� ��� ����) ��� ������������� ������ :� ��� ������� �� ������� ��� �� [μ, λ] ���������� ������� �� μ = 20� ������� ����� �� ��� �� ���������� ����������� ����� ��� ��� ��� ����� �� ��������
�� �� *,+ � ���+ �+ ��'�%� �.� +�+� �/ ��� �+*%�(�+�,� ��������+ ,--%�,*��� �+ '�+�%,� ��,�
�� ����% *�+�%����%� ��,+ ��� ��(-��% ��������+,%� ����- 6������ �+*%�(�+��� �� �� -���� �� ��,�
14'�� ��� ��� �� ��� 7��� ��������� �� ����� �� F����� ��<,�0# ��� ��� ����� ��������� ��� ��� �� ��F����� ��<,0 � � ��� # � �� ���� ��� � ����� �� F����� �; �� � �� ! ���� ��� ��� ��� 7� � ���������
��
4.5 Neuro-Evolution Method Evolving Controllers
6� *���� ��+� , +�( �% �/ ��� ��������+,%� -,%,(���%� %��,��� �� ��� �+*%�(�+�,� ��������+
,+� ��� ��������+,%� ,�'�%���( �� ��,� �+� ��� �+*%�(�+�,� ,--%�,*��� 6���� �� ,� ��,�� ,�
6��� ,� ,+ �+*%�(�+��/%�� ,--%�,*�� ��6���%� ��� ,������+,� �A�%� %�;��%�� �� ����'+ ,+� ����
��� ����- 6���� �+�� � 7����9�� �+ *,�� �+*%�(�+�,� ��������+ -%���� �� � ��'+�9*,+��� ����%
��,+ ��� ��(-�� ,--%�,*�� 8� ���*��� ����� %������ /�%���% ,+� 6�� ���� �� +�� -�%/�%( ����%
��,+ , +�+��+*%�(�+�,� ,--%�,*� ,/��% ��*���+ ���� ���6 �+ ������+' +��%,� ,%%,���
��.�� &'�'��� ���� � ��� ��
3�����+' +��%,� ,%%,�� H��� ��*���+ .�� �+ -,'� .�I ������ +�� � *�+/���� 6��� �+*%�(�+�,�
��������+� ���+ ����'� ��������+ �,1�� -�,*� �+ ��,'��� �+ �+*%�(�+�,� ��������+ ��� �,�� '�+�%�
,���+ �/ ��� -%������ �+*%�(�+� �� ���� ,� ��� 9%�� '�+�%,���+ �+ ��� +�6 �+*%�(�+�� 6���� /�%
������+' +��%,� ,%%,�� , +�6 +��%,� +��6�%1 �� ,���� �� ��� ,%%,� ,� �,*� B�+*%�(�+�C� )�� +�6
+��%,� +��6�%1 �� ������� /%�( , %,+��( -�-��,���+ 6���� ��� +��6�%1� ������� ��%�+' -%������
��,'�� ,%� ���� *�+��,+�� )���� ��� ���, �� �� �,�� ,+ ,%%,� �/ �-�*�,��K�� +��%,� +��6�%1��
6��%� �,*� �/ ���( �� �%,�+�� /�% , �-�*�9* �� ��,�1 ,+� ��� ��,%+�+' /�% �,*� �� ��,�1 �,1��
-�,*� �+ ����,��� ��,'���
$��% ,+� 4,��,'��% D��E ,--%�,*��� ��� ��������+ �/ ��*�(����+ �/ , ��&���''�� ��(��,���
%� �� �+ , ��(��,% /,����+� � *�+�%����% 6,� 9%�� �%,�+�� �� (��� , ��+'�� ��' /����6�� � ,+����%
�%,�+�+' -�,�� /�% ��� ��*�(����+ �/ ��� �+��%� %� ��� �� 6��� ��� ��+'�����' -,%,(���%� 6�%�
���� *�+��,+�� )�� -�%/�%(,+*� �/ ��� �6��-�,�� ,--%�,*� 6,� /��+� �� � �+/�%��% �� ,
*�+�%����% /�% 6��*� ,�� -,%,(���%� 6�%� ������� ��(���,+������� F�6���%� ��� %������ � �,�+
�+ , ����� *�+*�%+�+' ��� ��� �/ ������+' +��%,� ,%%,�� /�% , %� �� +,��',���+ �,�1 D!�% ,�M+
,+� ?,+K,%�+�� . �E� ���6�� ��,� �� 6,� ��-�%��% �� ���3� 6��*� �+ ��%+ �,� ��+ ���6+ ��
-�%/�%( ����% ��,+ , +�( �% �/ ����% +��%����������+ (������ -�-��,% ,� ��� ��(� D:�%�,%��
,+� :��11��,�+�+� �#E�
)�� ���, ���+� ������+' +��%,� ,%%,�� �� �� ��� +��6�%1� �+ , �,��% -�,�� ��,%+ 6�,� ����,���+�
���� ,%� , �� �� �,+��� ,+� 6��+ �� ����',�� ��� *�+�%�� �� -%�������� ������� +��6�%1� ��6�
�/ ��*� , +��%����������+ (����� *���� � ,--���� �� *�(-��& �,�1� �� 6���� ����� , +�( �% �/
������ ��,� 6� ,%� /,*�� 6��� �/ 6� �%� �� ������ *�(-��& ��,���%� :�%� *�(-��& �,�1� %�;��%�
(�%� *�(-��& *�+�%����%� ,+� ���%�/�%� (�%� *�(-��& +��%,� +��6�%1�� )�� ��,%*� �-,*� /�%
*�(-��& +��%,� +��6�%1� �� �,%'�% ��,+ /�% ��(-��% �+��� 6��*� �� ��1��� �� �,�� ,+ �(-,*� �+
��� -�%/�%(,+*� �/ +��%����������+��� �/ 6� �+���,� *,+ 1��- �,*� *�(-�+�+� �/ ��� �������+
H�,*� +��%,� +��6�%1 �+ ��% ������+' +��%,� ,%%,�I ��(-�� ,+� ������ ��� +��6�%1� �+� ,� ,
��(�� �� 6���� � , -%�(���+' (����� /�% �&��+��+' ,+� %�9+�+' /�+*���+,����� P���(,����� ����
(����,%�K�� ,--%�,*� *���� ��,� �� ��� +��%����������+ �/ *�(-��& ��,���%��
�+ �%��% �� ���� ������+' +��%,� ,%%,�� /�% ��% �,�1� 6� %���� ��� ����-� /%�( ��� �+*%�(�+�,�
��������+ ,--%�,*� ���*%� �� �+ ��*���+ ���.� F�6���%� �+���,� �/ ��,%��+' /%�( , -%��������
������� -�-��,���+� 6� ,�� ,+����% +��%,� +��6�%1 �� ��% ,%%,� ,� �,*� B�+*%�(�+�C� ��% �,*�
15'�� ������ ��� ������2 ���� �� �� �� �� ��# ��� ���� ������+ ������2 �� � �� ����� �� ������� ��� �� !<# � ������� ��� �����7� ���� ����� �� � ��� ������� ������ ��� ������2 ���� � �� �� �� �� I�$���� � �� � $� ��� ��� ���� ������ ��� ��� ��� ��$��� ������ � �2# �� ���� �� $��� ���������� �� �� ���� �� �����
�� �$��$� ���� ������+ ��� $���� �� ���� ������+ ������2�
��
Evolving Controllers 4.5 Neuro-Evolution Method
��������+,%� -�,��� 6� ��� , [μ, λ] ,�'�%���( 6��� μ = 20 ,+� , (��,���+ %,�� �/ 15% ,� ����
����- 6,� /��+� �� � ��� �+� 6��� ��� ��� -�%/�%(,+*� �/ ����� ������ �+ ��*���+ �����
�����
)�� %������ � �,�+�� �+ ��% ���� �/ ������+' +��%,� ,%%,�� ,%� ���6+ �+ ��'�%� �..� �%�( ���
%������ � �,�+��� �� �� � ����� ��,� ������+' +��%,� ,%%,�� �� +�� -�%/�%( +�,%�� ,� 6��� ,� ,
��(-��% ��������+,%� ����- �+ 6��*� ��� 6��'��� /�% , ��+'�� +��6�%1 ,%� ������� /%�( , %,+��(
-�-��,���+�
Per
cept
ron
EN
AE
nv. c
omp.
(6)
Per
cept
ron
EN
AE
nv. c
omp.
(3)
Mul
tilay
er E
NA
Env
. com
p. (
6)
Mul
tilay
er E
NA
Env
. com
p. (
3)
Per
cept
ron
EN
AB
ehav
. dec
omp.
Mul
tilay
er E
NA
Beh
av. d
ecom
p.
[mu=
20,la
mbd
a] (
15%
)
0.0
0.1
0.2
0.3
0.4
Evolving Neural Arrays
Fitn
ess
Figure 4-22: 2��� ��� �� �� ���������� �� ������� ������ ���� �� �� ���" ������ ��������� � ��� �� �# .�� ��������� ������������ ��� ���� '6 ��� C ��� �) ��� ��� ��������� �������� ����� ������ D��������� ���� ��� ������� ������ ���� � �������� �� ���� ����� ��� ���������� ������ ���� � �������� �� ������ �� ������"� �� ��� ���������� :� ��� ������� �� ������� ��� �� [μ, λ] ���������� ��������� μ = 20� ������� ����� �� ��� �� ������� ������ ���� �� �� �������� ��� ��� ����� �� ��������
8� 6���� �,�� ��1�� �� �,�� ��+ , �� �� *�(-,%� ��� -�%/�%(,+*�� �/ ������+' +��%,� ,%%,��
*�+�����+' �/ (�����,��% +��6�%1� 6��� ,%%,�� *�+�����+' �/ -�%*�-�%�+�� F�6���%� ��� %������+'
*�+�%����%� /�% ��� ���� �/ ����� 6�%� �/ ��*� , ��6 -�%/�%(,+*�� ��,� ��*� , *�(-,%���+ 6����
�
4.5 Neuro-Evolution Method Evolving Controllers
+�� � (�,+�+'/��� �+ ��� /����6�+' ��*���+ 6� ,���(-� �� ,+�6�% ��� ;������+ ,� �� 6��
������+' +��%,� ,%%,�� H,+� �� , �����% ��'%�� �+*%�(�+�,� ��������+I /,���
��.�� #�������
8� �,�� ������ , +�( �% �/ ��A�%�+� +��%����������+ (������ ,+� /��+� ��,� �/ ����� ������
�+� �/ ��� ��(-��% ,--%�,*���� +,(��� , [μ, λ] ,�'�%���(� ������� ��� ��� %������� ������% (�%�
,��,+*�� ,--%�,*��� ��1� !!4� �+ 6��*� �+������,� +��%�+� ,%� �%�,��� ,� �+������,�� �+ ����%
�6+ �� �-�-��,���+� +�% �+*%�(�+�,� �% (����,% ,--%�,*��� ��,� �� ����% *�+�%����%�� ����
��,� (�,+ ��,� 6� *,+ ���(��� ����� (�%� ,��,+*�� (������ �+ ��������+,%� %� ���*�= 5/
*��%�� +��� �� 6� *,+ *�+*���� ��,� ��� (�%� ,��,+*�� +��%����������+ (������ ������ ���
+�� %����� �+ ����% *�+�%����%� ��,+ , ��(-�� ��������+,%� ����-� ,� ��,�� /�% ��% �,�1 ,+� /�%
��� ���� �/ ��������+,%� -,%,(���%�� 6��*� 6� �,�� �������
$�/�%� 6� �%,6 ,+� /�%���% *�+*�����+� �� �� �(-�%�,+� �� -�� ��% %������ �+�� -�%�-�*���� 6���
%��-�*� ��� �,�1 ��,� 6� �,�� ������� *�+�%����%� �� ������ ��� *�(-��&���� ,+� ��� �����, �����
�/ �������+�� 5+� 6,� �/ ���1�+' ,� ��� �,�1 �/ -�%/�%(�+' -�����,&�� ,+� �����,����,+*� �+
, �6,%(� �� �� � ��*�(-���+' , ��**���/�� ��,���% �+�� *��%��+,����(����+� �����,����,+*��
,+� -�����,&��� ,� 6� ��� �+ ��*���+ ���. �+ �+*%�(�+�,� ��������+� �/ 6� �,1� , *����% ���1 ,�
��� �������+� /��+� � ,%��9*�,� ��������+� �� �� ;������+, �� �/ , 9+,� ��**���/�� ��,���%� 6��*�
������ ��� �,�1� *,+ � ��-,%,��� �+�� ��*� �� � ��,���%�� �+ �&,(-�� �/ , ��%,��'� /��+� �
��������+ �� ���6+ �+ ��'�%� �.�� ��',%����� �/ ��� �+���,� -������+ �/ ��� �6,%(� ��� ��� �+���,�
�%��+�,���+ �/ ��� �� ��� ,+� ��� ,%�+,� ��� %����� �� ,�6,�� ��,� ��� �6,%(� �� ��,%�� (���+'
��/� 6��� %��-�*� �� ��� ��'�� H��/� *�%%��-�+�� �� �- �+ ��� 9'�%�I� )��� *���� �+��*,�� ��,�
��� �� ��� (,�+�� *��%��+,�� ,��� �+ ��� ��+��� ��%�*���+ �/ ��� ��'��� ,+� +�� ,��� �+ ���
%�,��+'� �/ ��� �%,*���+ ��+��% ��1� �� �,� ��+ ��� *,�� /�% -%������ ������� �+ *��%��+,����
(����+ ,+� �����,����,+*� /�% �6,%(� ��� D)%�,++� �� ,��� . E� D)%�,++�� . �E� )���� ����
��''���� ��,� *��%��+,����(����+ �� -,%��� , ��-%���*� �/ -�����,&�� ,+� �� �� ���%�/�%� +��
�+�9*�,� �� ������ *��%��+,����(����+ ,+� -�����,&�� �+��-�+��+����
�+����% �+��%����+' � ��%�,���+ %�',%��+' ��� �������+� /��+� � ��������+ �� ��,� ��� *�+�%����%�
�� +�� ����% ��� �� ��� ��%�*��� ��6,%�� ��� ��'��� �� (�+���+�� , ���� ��� *�+�%����% 6��*�
%������� �+ ��� -,�� ���6+ �+ ��'�%� �.� ,�6,�� ����% ��� �� ��� ��/� 6��+ , ��(��,���+ ��
��,%���� ��(� ��**���/�� ��%,��'��� /��+� � ����% ��������+,%� %�+� ����% �� ��� %�'��� ��
����%6��� ���6 ��(��,% ��,���%�� ��+� �/ ��� *�+�%����%�� 6��*� ����� ��� �,�1� (��� ��%�*���
��6,%�� ��� ��'�� ,� ,+� -��+���� )��� *���� �&-�,�+ 6�� �+*%�(�+�,� ��������+ ��%��'� �+*%�,��
�+' �+��%�+(�+�,� *�(-��&��� ���� +�� -�%/�%( ����% ��,+ , +�+��+*%�(�+�,� ����-� +,(���
�*,��� �+ ,%�+,� 6��� /�6�% ,+�"�% �(,���% ������ ����% ��%,��'��� ,%� /��+�� 6��*� �� %���
�+ ��� �� ��� (���+' ��%�*��� ��6,%�� ��� ��'��� �+ ���� 6,�� �+*%�(�+�,� ��������+ ��%��'�
�+*%�,��+' �+��%�+(�+�,� *�(-��&��� (,1�� ��������+ �,1� , �����%�
�+*%�(�+�,� ��������+ ,+� (����,% ��������+ H��%��'� ��� ��� �/ ������+' +��%,� ,%%,��I �� +��
-�%/�%( 6��� �+ ��% �,�1 �*,��� ��� ��**���/�� �������+� ,%� ��� �+������ �� ,+� �-�*�,��K�� /�%
��� *�(-��&��� �/ ��� ,%�+,� �+ 6��*� ��� �,�1 �� ������� :�%����%� ��� 9+,� �������+� 6�%� �,��
16.� ������ ���� ������ � �� ��� ����� � ���� ������# �� ������ �� �� ������ ����� �$�� � �� ��� ����� � ���� �� ����# ��� ���� ���� � ���� ����� ���� �� ������� �� $�� �����
��
Evolving Controllers 4.6 Test on Physical Robots
Light
−1
−0.5
0
0.5
1
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
S
F
S
F
S
F
S
F
’gnuplot_renderer_arena.dat’
Figure 4-23: �� ���� �� �� � ���������� ������� � 8���� ��� �� ��������� ���� ������� ������ ������� �� ��� ��� ����� ���� �� ��� ��� �� �� ��� '��� � �� 0����)� ���� ���������� ��������� �� ��� ������ �������� ����� ������ ������� �� ��� ��� ���� ���������������� �"�� � � � � ������ �� ���������� �� ��� ��� �� �� ���� ���������� ���������� �������� ���� ��� ������ ������ ��� � �� ��� ���������� ���� �
�+��'� �� 9+� /%�( , %,+��( -�-��,���+ ���+' , ��(-�� ��������+,%� ,�'�%���(� F�6���%� �,�
��� �,�1 ��+ ������ ��� /�% �+��,+*� �/ ��� �� ��� �,� �� ,���( �� �+�� , �6,%(� �� �/�%� (���
�+' ��6,%�� ��� ��'�� ���%*�� (����,% ��������+ (�'�� �,�� ����-�%/�%(�� , ��(-��% ,--%�,*��
?�1�6���� �/ 6� �,� +�� ��+ , �� �� ������ , �������+ �/ ��@*��+� ;�,���� /%�( , %,+��( -�-�
��,���+� 6� *���� �,�� ��+ /�%*�� �� ��� ,+ �+*%�(�+�,� ,--%�,*�� 8� *,+ ���%�/�%� *�+*����
��,� '���+ ��� +,��%� �/ ��% �,�1� 6��� %��-�*� �� ��� ������ ����� ,+� *�(-��&���� �+*%�(�+�,� ,+�
(����,% ��������+ �� +�� -�%/�%( ����% ��,+ , ��(-��% ,+� �%,�����+,� ,--%�,*�� F�6���%�
/�%���% %���,%*� ������ '� �+�� ,--���+' ����� (�%� ,��,+*�� +��%����������+ (��������'���
�� (�%� *�(-��& �,�1��
��0 ���� � �� ���� ������8� �,�� *�+��*��� , +�( �% �/ ����� �+ -����*,� %� ��� �+ ,+ ,%�+, ���6+ �+ ��'�%� �.H,I�
�+���,� �/ ����� 6� ���� �,*1 ��*1 �,-�� � �,*1 ��%/,*� ,+� ����� ,%� -�%*����� �+ ��� �,(�
(,++�% � ��� �� ���> '%��+� ��+��%�� 6���� ���+' ��*1 �,-� �+���,� �/ ����� -%���+�� -����*,�
�,(,'� �� ��� %� ��� �+ *,�� ���� ������ B/,�� �+C� )�� ,%�+, 6� �,�� ���� �� , %�-��*, �/ ��� �+�
���� �+ ��(��,���+� ��� ��'�%� �.H I� )�� (�,��%�� �/ ��� ,%�+, ,%� ���6+ �+ ��'�%� �� �+
-,'� �#�
)�� �� ��� ,%� -%������-�� ���� /�% ��� �6,%(� ��� -%�7�*�� ��%�+' ��� ��/����(� �/ ��� -%�7�*�
��� �,%�6,%� ,+� ��/�6,%� �,�� �������� F�6���%� ��� �� ��� (��� ����� � *�+����%�� -%����
��-� �,%�6,%� '���+ ��� /%,'����� ,+� �+������,� ��A�%�+*�� ��6��+ ��� %� ���� )�� -%�7�*� �,�
�@*�,��� �+��� ,+� ���%�/�%� ��--�%� �+ ��� �,%�6,%� �� ��%� ��(����� )���� ������ (�,+� ��,�
�/�%� ����� *���� � %�+ �+ ��� -����*,� %� ��� ���� �,� �� � ���%��'��� ������ ,+� ��+��%�
,+� ,*��,��%� �,� �� � %��*,�� %,���� Q,%���� �����+'�� ��*� ,� ��� �*,��+' �/ ��� �+-��� /%�(
��� �%,*���+ ��+��%�� �,� �� � ,�7����� �+������,��� /�% �,*� %� ���
�
4.6 Test on Physical Robots Evolving Controllers
H,I H I
Figure 4-24: A photo of the arena used for the experiments on real s-bots is shownin (a). The corresponding simulated arena is shown in (b).
������'� 6� %����� -,%�� �/ *�+�%�� -%�'%,(� ��,� �,�� ,�%�,�� ��+ ������-�� ,+� ������� 6�
����� �,� �� ����'+� �(-��(�+�� ,+� ���� , +�+��%���,� ,(��+� �/ *��� �� � , �� �� *�+��*� ��%
�&-�%�(�+�� �+ ��� �� ���� ������-�+' ��/�6,%� /�% �( ����� �����(� �� �/��+ ;���� *�,���+'�+'�
��-�*�,��� ��%�+' ��� �����+' ,+� �� �''�+' -�,��� 6��%� ��� *��� �� %�+ �+ ��� �( �����
-�,�/�%( �����/� )� �,�� ���� �,�1� 6� /��+� ��,� ���+' ��� *���%�� ���� �+ ��� %� �� 6�%1��
;���� 6���� ��'� �� ����,��� �,���,�� ��,� %� ��� ����*��� ��� ��'�� *�%%�*���� ��,� ���� ��+���
��'+,�� /%�( ����% %� ��� 6��+ ����� 6�%� -�%*������ ,+� ��,� ��� %� ��� �,� +�� *%,�����
)��� �*��(� -%���� �@*��+� ,+� �+������� *�(-,%�� �� ��(-�+' �� �''�+' �+/�%(,���+ �� ,
��%(�+,� �% , ��' 9���
�� , -%��/��/�*�+*�-�� 6� ���1 ,+ ������� ,%��9*�,� +��%,� +��6�%1 *�+�%����% � , (�����,��%
+��6�%1 6��� . �����+ +���� ,��� �+ ��� ���� ��%,��'� � ,+� %,+ ����� 6��� �+�� �6�� ,+�
��%�� %� ������
��3�� !�����
)�� -����*,� %��-�+�� �/ ,+ ,%�+, 6��� ����� ��A�%� /%�( ��,� �/ ,+ ,%�+, �+ 6��*� ����� ,%�
%�-�,*�� � �,*1 ��*1 �,-�� �+ ,+ ,%�+, 6��� %�,� ������ ,+ �� ��� 6��*� �� ���% , ����� *,++��
��%�*��� �+0��+*� ��� %��� �/ ��� �6,%(� �� � (���+' ��� �%����� 6��%�,� �/ ��*1 �,-� �� ����
17%� ���� � $� �������� �� � $� ��� ����� ���� ������ ������ �� ������# ��� � ��� ���� �� ������� �� ����� $� ����� �� ����� ������ �� ����� ��� ������� � ��� ����# ����� �� ���# �������� ��������
�
Evolving Controllers 4.6 Test on Physical Robots
�+���,� �/ ������ �� ��� ����� �,�� ��%/,*� *�+�,*� 6���� (���+' �+ ��� ��*1 �,-�� )�� (����+
�/ ����% �%����� ���%�/�%�� �+0��+*�� ��� �6,%(� �� 7��� ��1� �� ��� ��,� ,%� +�� ���% , B����C�
���-��� ���� /�+�,(�+�,� ��A�%�+*�� ��% �+���,� ����� �+ %�,� %� ��� ���6�� ��,� ��� �������
*�+�%����%� ,%� �+���� �%,+�/�%, �� ,+� ��,� ��� ��%,��'��� � ��%��� �+ ��(��,���+ (,�*� �����
� ��%��� �+ ��(��,���+�
8� �,� �� %���*� ��� (,&�(�( �-��� �/ ��� %�,� %� ��� ���'���� /�% ��� ������� *�+�%����%�
�� 6�%1 �+ %�,� �,%�6,%�� $� %���*�+' �-��� +���� 6,� �(�����+�� ,+� ��� �(-,*� �/ �,*�
,*���+ H�% *�+�%�� *�*��I 6,� %���*��� )��� ���(�� �� *�(-�+�,�� /�% ��� ��A�%�+*�� �+ +����
��'+,��%��� ��+��% ���,��� ,+� �� �+� ��6��+ ��(��,���+ ,+� %�,�����
�+ �&,(-�� �/ , ���� %�+ �+ ��� �� ��� �� ���6+ �+ ��'�%� �.�� �+ ��� 9'�%� 6� ,��� ���6
,+ �&,(-�� �/ , ��(��,% ��,���% �+ ��(��,���+� ����*�� ��,� �+ ��(��,���+ ��� �6,%(� �� ����
+�� ��%+ ,� /,% ,6,� /%�( ��� ��'� �/ ��� ,%�+, ,� �� �� ��� *,�� �+ ��� %�,� %� ���� �� *,+ �
�,%� �� ���� /%�( ��� -,�� *�(-����� � ��� %� ��� �+ ��(��,���+ �%,6+ �+ ��� �--�% ��/� *�%+�%
�+ ��'�%� �.�� ��,� ��� *�+�%����% ,*��,��� %����� �+ ��� ���� ��%,��'�� )�� �6,%(� �� ��(-��
���(� �� � /����6�+' ��� ��'� �/ ��� ,%�+,� F�6���%� ��� *�+�%����% ���� %��� �+ ��� ����
��%,��'�� ,�����'� ��� ��%+� ,%� ��%� �(,�� 6��� ��� �� �� *������ �� ��� ��'� ����*��+' ��� ����
/%�;��+���� ��,� �� ���%� ��. ��*�+��� 5+ ��� %�,� %� ��� ��� ��%+� ,6,� /%�( ��'�� ,%� �,%'�%�
)�� %�,��+ ���+� ���� ��A�%�+*� �� ��1��� ��,� ��� %�,*���+ ��(� �+ %�,� %� ��� �� ��+'�% ��,+
,+��*�-,��� ��%�+' ��� ������-(�+� �/ ��% ��(��,��%� :�%����%� , +�( �% �/ *�+�%�� *�*��� -,��
/%�( ��� ��(� ,� 6��*� , ���� �� ����*��� �+��� ��� ����% %� ��� ����*� ��� ���+� ��'+,� �(�����
� ��� �� �� ����*��+' ��� ����� )��� (�,+� ��,� ,+ �� �� �� -����� , �� /�%���% ���% ��� ��'�
�/ , ���� ��,+ �+ ��(��,���+ ,+� �� ���%�/�%� �,1�� ��+'�% �/�%� ��� ����% �� ��� (,+,'� ��
-��� ��� �� �� ����*��+' ��� ���� �+�� ��� ,%�, ,',�+� �,%�� �/ ��� ��%,��'� �(-����� � ���
������� *�+�%����% 6�%1� ��*� ��,� 6��+ �� ��� ����*� , ���+� ��'+,� ���� ��%+ ,6,� /%�( ���
��'��� ��+*� , ���� �� ����*��� /�% , ��+'�% -�%��� �/ ��(� �+ %�,� %� ��� ��,+ �+ ��(��,���+�
��� ����% �� ��� ��%+ /�%���% ,6,� /%�( ��� ����� ,+� ��� ��%+� ���%�/�%� �*�(� �,%'�%�
������'� ���%� ,%� ��A�%�+*�� ��6��+ ��� -�%/�%(,+*� �+ ��(��,���+ ,+� �+ %�,� %� ���� ���
/�+�,(�+�,� ��%,��'� �� ��� �,(� ,+� ��� ������� *�+�%����%� �� -�%/�%( -�����,&�� ,+� ������
,����,+*� 6��+ %�+ �+ %�,� %� ���� 5�% ����� 6��� �+� ,+� �6� %� ��� ���6�� ��(��,% %�������
8� �,6 *�%%��-�+��+*� ��6��+ ��� ��,���% �+ ��(��,���+ ,+� �+ %�,����� 4���+ ��,� ��� �-���
6,� %���*�� ��� %�,� %� ��� �+ '�+�%,� ���1 ��+'�% �� %�,*� ��� �,%'�� ,%�,� ��% �&,(-�� ���
-,��� ���6+ �+ ��'�%� �.� ���1 �( � /�% ��� %�,� �� ���� 6���� �+�� .��� �+ ��(��,���+�
F�6���%� �� �� ��% ������ � ��,� �����,����,+*� ,*��,��� �� (�%� �@*��+� �+ ��� %�,� %� ���
��,+ �+ ��(��,���+� �*,��� �/ ��� %���*�� �-���� ��� �� ��� ��6�% �-���� ���� (�(�+��( ��
���� �- �+ ��� %�,� %� ��� ,+� ���� �,�� (�%� ��(� �� %�,*� ��,+ ����% ��(��,��� *����+�� F�+*��
;�,+���,������ ��� -�%/�%(,+*� �+ %�,� %� ��� �� +�� �+ -,% 6��� ��� -�%/�%(,+*� �+ ��(��,���+
H6��*� �� +�� �+*�((�+ �+ ��������+,%� %� ���I� 6���� ;�,���,������ ��� -�%/�%(,+*� ,--�,%�
�� � ,� ��,�� ,� '��� ,� �+ ��(��,���+�
�+ �%��% �� �%,6 (�%� '�+�%,� *�+*�����+� �+ ��� -�%/�%(,+*� �/ ��% ������� *�+�%����%� �+
-����*,� %� ��� ,+� ��� ��A�%�+*�� ��6��+ -�%/�%(,+*� �+ ��(��,���+ ,+� %�,����� 6� 6����
18�������� ��� 2��� ��� ������ � ��� �+�������� ���� � � ���� ��� � ��# ��� � ���� ���� ������������2���� ���� ���� ���� � �� �����
�
4.6 Test on Physical Robots Evolving Controllers
Figure 4-25: �� ���� �� �� � ���� ��� �� ���� ������� � ����� �������� ��� � ����� �� � �� ���� �������
�
Evolving Controllers 4.7 Discussion
+��� �� ���� ,+ ,%�+, 6��� %�,� ����� ,+� �� �,�� ,**��� �� ,������+,� ,+� /���� �-�%,���+,�
�� ���� �/ ��*� /,*������� ������ �*�(� ,�,��, ��� /�%���% ������� 6��� � *�+��*����
$,��� �+ ��� %������ �/ ��% �+���,� ������ 6� *,+ *�+*���� ��,� *�+�%����%� ������� �+ ��% ��(��,�
���+ *,+ � �%,+�/�%%�� ��**���/���� �� -����*,� %� ���� )�,� ��� 6� �,�� ���6+ -����*,� �� ���
����%�� � *�+�%����%� ������� �+ )6���� -�%/�%( -�����,&�� ,+� �����,����,+*��
��2 -������
�+ ��� *�,-��% 6� (����,��� ��� ��� �/ , -�,��� (����� /�% ����%(�+�+' , ����, �� ��������+,%�
����-� �+ �+��%����+' ;������+ �� ,�1 �� 6�����% /����6�+' ���� (����� �+�9��� ��� -%�*��� ,+�
��� %������ *�(-,%�� �� /����6�+' , (�%� �%,�����+,�� ,����* ,--%�,*�� 5/ *��%�� ���� ;������+
*,++�� � ,+�6�%�� �,����� �� �+� �/ ��� ,��,+�,'�� �/ �,��+' ,--%�,*��� ��� ��������+ �/
*�+�%����%� �+ , ��%�*��%�� /,����+ �� ��,� 6� �,�� , ,��� /�% *�(-,%���+ ,+� ���*�����+� �/
,���%+,������ ��%���%(�%�� � �%�,��+' �,*� *�(-�+�+� �/ ��� ��������+,%� ����- ��-,%,����� 6�
�,�� ��+ , �� �� *�(-,%� , +�( �% �/ ��A�%�+� +��%����������+ (������� ��A�%�+� 0,��%� �/
*�,���* ��������+,%� ����-�� 6��%� �+� �+������,� *�%%��-�+�� �� ��� 6��'��� �+ ,+ �+��%� +��%,�
+��6�%1� *��-�%,���� *���������+,%� '�+���* ,�'�%���(�� �+*%�(�+�,� ��������+� ,+� ������+'
+��%,� ,%%,��� )�� ��%�� �,���% (������ �,�� ,�� ��+ -%,���� � ����% �+��+��%� ,� ��+'
��-�%��% �� (�%� *�,���*,� ,--%�,*���� )���% *�+*�����+� 6�%� ,��� �+ , ��+'�� �% ��%� /�6
�&-�%�(�+��� F�6���%� �+ +�+� �/ ��% ����� 6� � �,�+�� %������ ��,� ���6�� ��� (�%� ,��,+*��
+��%����������+ (������ �� � ����% ��,+ , ��(-��% ,--%�,*�� )�,� *���� ��%� 6��� � ���
�� ��� +,��%� �/ ��% �,�1 ,� 6� �,�� ���*����� �,%���% �+ ���� *�,-��%� F�6���%� /����6�+'
��� (����� ��''������ 6��%� ��� ��A�%�+� ,�-�*�� �/ ��� +��%����������+ ����- ,%� �%�,���
�����(,��*,��� �+� ,� , ��(�� 6� ���� ,%� ��%�+'�% ,��� /�% �%,6�+' *�+*�����+�� �/ +�� /�%
����% %�,��+� ���+ ��(-�� ��� �� ��� ,(��+� �/ �(-�%�*,� �,�, *����*��� ,+� -%���+����
8��� %��-�*� �� ��% �&-�%�(�+�,� %������� 6� (,+,'�� �� ������ *�+�%����%� �+ ��% ��(��,��%
)6����� 6��*� 6�%� �%,+�/�%%�� �� �� ��� ,+� ,���6�� , �6,%(� �� �� -�%/�%( -�����,&�� ,+�
�����,����,+*�� ������'� (�%� �&-�%�(�+�� �+ ��� %� ��� 6���� � +����� �+ �%��% �� �%,6
/�%���% *�+*�����+� �+ ��� -�%/�%(,+*� � �,�+��� �+���,� %������ �+��*,�� ��,� ;�,+���,������ ���%�
�� , -�%/�%(,+*� �%�- 6��+ '��+' /%�( ��(��,���+ �� %�,����� �� ;�,���,������ ��� -�%/�%(,+*�
,+� ��%,��'��� ,--�,% �� (,�*� ����� �+ ��(��,���+�
�
�����������������
�+ ���� �3� ������ 6� �,�� /�*���� �+ ������+' , *�+�%����% *,-, �� �/ -�%/�%(�+' �����,����,+*�
,+� -�����,&�� �+ , '%��- �/ *�++�*��� %� ���� 8� �,�� �,1�+ , %�,� -�%�-�*���� �+ ���
�� 7�*� ,+� ���*����� -,%�� �/ ��� ����%���*,� /��+�,���+� �+ !�,-��% .� 6� ������-�� ��%
�6+ ��/�6,%� -�,�/�%(� )6����� /�% ������+' *�+�%����%� ,� ���*%� �� �+ !�,-��% �� ,+� �+
!�,-��% 6� ��''����� , (��������'� /�% 9+��+' , ����, �� ��������+,%� ����-� 8� ,--����
���� (��������'� �+ ��% �,�1� +,(��� �� ������ , *�+�%����% ��,� *���� ����% , �6,%(� �� �� ,
�,%'�� 6������ /,���+' �+�� ����� �+ ��� 6,�� �+ ��� -%�*��� 6� ������ ����%,� ��A�%�+� +��%��
��������+ (������ ,+� 6� ���6�� ��,� , *�+�%����% ������� �+ )6���� *���� �+���� (��� ,
'%��- �/ %�,� �� ��� ��6,%�� , ��'�� ���%*� 6���� ,�����+' ������
$������ /%�( ������+' *�+�%����%� *,-, �� �/ �����+' ��� �,�1� 6� ,��� 6,+��� �� �,1� , *����
���1 ,� ��� -%�*��� �/ ������+' *�+�%����%� 6��� ��� ,�( �/ �-��(�K�+' ��� �+ �%��% �� �� �� 6�
,+,��K�� , +�( �% �/ �&����+' ��/�6,%� -�,�/�%(�� �� /��+� ��,� ���� 6�%� �����% ��� *�(-��&
H����� %����+' �+ ���%��-,%�� ��/�6,%� ��+,(�*� �+'�+��I �% ��� �-�*�,��K�� �� � ���/�� /�% ��%
-�%-����� 8� ���%�/�%� ������-�� ��% �6+ ��(��,��%� )6����� 6��*� %����� �+ , *����(�K��
��+,(�*� �+'�+�� $,��*,���� 6� �,*%�9*�� ��� ,**�%,*� ,+� '�+�%,���� �/ ��� ��+,(�*� ,�,��, ��
�+ ��� *�(-��& ��(��,��%� ,+� ',�+�� -�%/�%(,+*� �+���,�� �� ��� ��(� �/ 6%���+'� )6����
���� +�� ��(��,�� %��'� ��%%,�+� �� �+�� 0,� ��%%,�+ 6��� ������ 5+ ��� ����% �,+�� 6�
,%� , �� �� ��(��,�� �����,+�� �/ %� ��� H*�++�*��� �% +��I� �*,��� ��� ��(� *�(-��&���
�/ ��% *����(� ���� ��+,(�*� �+'�+� �� ��+�,% �+ ��� +�( �% �/ ��(��,��� � 7�*��� )��� �� ,
�%,(,��* �(-%���(�+� ���% ��(��,��%� ,���(-��+' �� ��(��,�� ��+,(�*� ,**�%,���� ,� ����%
��(� ,+� �-,*� *�(-��&��� ���,��� ,%� *� �* ,+� ;�,�%,��*� %��-�*������� �+ ��� +�( �% �/
� 7�*�� ��(��,���� ��%���%(�%�� �� �� ;������+, �� �/ ��%��,� (����� �/ ��� %� ��� ,+� ���
,%�+,� *,+ � ���� �+ ��*� ��'� ���,�� ��,� �+� *,+ %�,��� �+�9� �/ ��� *�(-��&��� �/ '�+�%,�
��/�6,%� ��+,(�*� �+'�+��� ����� /%�( ��� �+�9�� �/ �*,�, ������ 6��� )6���� 6� �,�� ,���
� �,�+�� , � �/��� -�%/�%(,+*� �+*%�,�� ��(��,��+' *�++�*��� �� ��� *�(-,%�� �� ��� 6��*�
�� ,+����%� +�6�� ������-��� ���%��-,%�� ��+,(�*� �+'�+�� ,���� �� �� ��(��,��%� )� -�� ���+'�
�+�� -�%�-�*����� F,� 6� %����� �+ �+� �/ ��� (�%� *�(-��& ��(��,��%� ��1� �� ,+� �/ 6� ,���(�
��,� 6� �,� �,� �&*������� �+�+��%%�-��� ,**��� �� ��% *�%%�+� �. !�P 5-��%�+ *�����%� ���
��������+,%� %�+� -%���+��� �+ !�,-��% 6���� �,�� �,1�+ �� . �,���� �% ,�(��� ��� +�(�+,���
��(� /�% ��*��%,� ������� ,� ��% �+���%����� �� *�(-�����
1J �� ��� � � ��� �" $���� � ����� � *���� ��� �� ��� ������ �2 ������� ����� �� ' ��� ��� �� � �� ������ ���� ������ ��� �" ����� � �� ����� ���� ���� ���� � 2� � �� �� ) ����� � ����� ��� 5� ����� ���%� � $� ��� < � ����� ��� �� �$� � �# �"" �� �$� � �� ��� ����� ���� � �""" ����� ����� �� � �� �$������� ����� �� �� ���� ��� �$������� �� ���� ��� ���� ����� ��� ����������� �� ��� 7����� ��������# �� � $� ��� � ��;�" �$������� �� ���� '��� �=� �� <""""" �3G �����# �� �"� �� �� �� � $� ����� �� �� �3G� '��� ������ ����� � � ��� ������ �� ���� ����# ��� �3G ���� ��� � �� ������� ��� ������� �� ��� ���� � ������2�#������� ��� ������$ �� ���� � ��8��# �����# �"� �� �� � ���� ���������� ����� ��
�
5.1 Future Work Conclusion
��/�6,%� ����� ��,� ,���6 /�% ���%� ��%+,%��+� ��(�� �� +�� �+�� �-��� �- ��������+� ����
,��� ,���6 /�% %�,��% *�(-,%���+� �/ 9�+��� /�+*���+�� +��%,� +��6�%1 ��%�*��%��� ,+� +��%��
��������+ (������� )�� (����� ��,� 6� ���*%� �� �+ !�,-��% /�% 9+��+' , '��� ��������+,%�
����- ��-�+�� �+ ��� , ����� �� *�+��*� , �,%'� +�( �% �/ ��������+,%� %�+�� )� ��% 1+�6���'�
���%� *�%%�+��� �&��� +� (����� �% ��%�*��%�� ,--%�,*� /�% -�%/�%(�+' ,%��9*�,� ��������+ �/ %� ��
*�+�%����%�� 8� (����,��� , -�,��� (��������'� �+ 6��*� ��� ��������+,%� ����- �*�(��
-%�'%�������� (�%� �-�*�9*� ��%�� 6� ������-��� ������� ,+� (���9�� 9�+��� /�+*���+� �+���
, ����, �� �+� 6,� /��+�� ���%�,/��% ��� /�*�� 6,� ���/��� �� ��� +��%,� +��6�%1 ��-� ,+�
��%�*��%�� ,+� 9+,��� �� ��� +��%����������+ (����� ,+� ��� -,%,(���%�� $� /����6�+' ����
(������ 6� /��+� ��,� , (�����,��% +��6�%1 6��� �+�� . �����+ +���� 6,� *,-, �� �/ �����+'
��% �,�1 ,+� �,���% �� ������ ��,+ (�%� *�(-��& +��6�%1�� :�%����%� �� 6,� /��+� ��,� , [μ, λ]��������+,%� ,�'�%���( -�%/�%(�� ����% ��,+ ��� '�+���* ,�'�%���(� %����+' �+ *%������%� �+ ��%
�&-�%�(�+�� �+�����+' (�%� ,��,+*�� +��%����������+ (������� 6� /��+� ��,� ��� -�%/�%(,+*�
�/ *��-�%,���� *���������+,%� '�+���* ,�'�%���(� ��(���(�� %�'%��� ��%�+' ��������+,%� %�+�
6��+ ��� 9�+��� /�+*���+ �� +����� 8� ,��� /��+� ��,� +�����% �+*%�(�+�,� +�% (����,% ��������+
��%,��'��� -�%/�%(�� ����% ��,+ , ��(-��% ,--%�,*� �+ ��% �,�1� 8� ������ ��,� ��� (,�+
%�,��+ /�% ��� -��% -�%/�%(,+*� �/ �+*%�(�+�,� ,+� (����,% ��������+,%� ����-� �� ��,� ��� �,�1
6� �,�� /�*���� �+ *,++�� � ������� �+�� �� ��,�1� H�% �� � ��,���%�I �+ , �+�9*�,� 6,�� )���
�� �*,��� ��� ��**���/�� �������+� ��,� ��������+ /��+� 6�%� ,�� ��(-��� *���%�+� ��,���%�� ��%
(�%� *�(-��& ,+� ������ �� �,�1� ,+�"�% ��,���%�� ��6���%� �+*%�(�+�,� ��������+� (����,%
��������+�� �% ��(� ����% �*��(�� 6��*� �� *,-, �� �/ �����+' ��� ������ %��,��� �� *�(-��&���
,+� �����, ������ 6��� 6������ ��� � �*�(� +�*���,%� �/ 6� 6��� �� ,--�� ��������+,%� %� ���
�� (�%� *�(-��& -%� ��(� ��,+ ����� �,*1��� ���,��
�� /����� "��#8� ��%�+'�� ������ ��,� %���,%*� �+�� (������*,� ,--%�,*��� �� +�*���,%� �/ ��������+,%�
%� ���*� �� �� � ���� /�% ,+����+' �� ��� -%� ��(�� )�� %�,��+ ��� ��,� *�%%�+��� ���
9��� �/ ��������+,%� %� ���*� %���( ��� ��� 8��� 8���� 6��%� , ��� �/ 6�%1 �� ��+' ��+�
�+ (,+� ��A�%�+� ��%�*���+�� �� /�% 6��*� +� (������ �% %���� �&���� :,+� %���,%*��%� *�,�(
��,� ����% +�6�� ������-�� +��%,� +��6�%1 ��%�*��%�"+��%����������+ (�����"(��,���+ �-�%,�
��%"�+*%�(�+�,� ��������+ �*��(�"��*� �� ��-�%��%� 5/ *��%�� ���� *,++�� ,�� � ��-�%��% ,+��
,� ��% %������ ���6� ����% ,--��*, ����� (�'�� � ;���� -%� ��(���-�+��+�� �� , 9%�� ���-� �� ��
�(-�%�,+� ��,� ,����%� ������ ��(� ��(� ,+� �-,*� �+ -� ��*,���+ �� � �&-��*�� , ��� ����%
(����� /�% *�����+' , '���+ ��������+,%� ����-� )��� 6���� ,���6 /�% *�(-,%���+�� %�-��*,���+��
���*�����+�� ,+� %���� �/ ���,�� �� , %������ ��% �+��%��,+��+' �/ ��� �+��%���+' (�*�,+��(�
*���� �+*%�,�� ,+� �+� 6���� � , �� �� %��� �+ ��� -%,*��*�� /�% 9+��+' ,+� ���+' ����, ��
��������+,%� ����-��
����� /%�( ��� '�+�%,� �+'�+��%�+' ,�-�*�� �/ ��������+,%� %� ���*�� ���%� ,%� , +�( �% �/ ���,�
,+� -%,*��*,� ,+� ����%���*,� ������ %��,��� �� ��� 6�%1 -%���+��� �+ ���� ������� 6��*� 6� 6����
��1� �� �+�����',�� /�%���%�
)��#��� ����� 2�� ��� � ��% �+ ��% ����� �/ ��� *�+�%����%� �+ %�,� %� ���� 6� ���� �,*1
��*1 �,-� �� �%,6 �- ��� ,%�+,� $�,*1 ��*1 �,-� ,+� ����� ,%� -�%*����� �+ ��� �,(�
�
Conclusion 5.1 Future Work
(,++�% � ��� '%��+� ��+��%� �+ ,+ �� ��� ��6���%� ��� -����*,� ��,���% �/ ��� �6,%(�
�� 6���� � ��A�%�+� �+ ��� -%���+*� �/ %�,� ������ )��%�/�%�� , /���%� �,�1 �� �� ����
,+ ,%�+, 6��� %�,� ����� ,+� ���� ��� ������� *�+�%����%� ��%��+�
)��#��� ����� 2�� ���� ��/���% 8� �+�� �,� ,**��� �� ��%�� �� �� 6��� ��� +�*���,%� ��+�
��%� 6�%1�+'� �� 6���� � �+��%����+' �� ���� �/ ��� ��,���% �*,��� 6��� ��� +�( �% �/
%� ��� ,� �� ���� ��(��,���+� ,+� �� ���*���% 6�,� ��� ��A�%�+*�� �+ ��%(� �/ -�%/�%(,+*�
(�'�� ��
��� * ��� ������ ��* � � ���� ���� �. ���1% 8� ������ , +�( �% �/ ,��,+*�� +��%��
��������+ (������� �� /��+� ��,� +�+� �/ ���( 6�%1�� 6��� /�% ��% �,�1� �*,��� ���
�����+� �� ��� �,�1 6� /�*���� �+ *���� +�� � ��*�(-���� �,����� �+ �%��% �� ����
��� (��������'� ,+� ��� ,��,+*�� +��%����������+ ,--%�,*��� ���*%� �� �+ !�,-��% �
6� ������ ����� (�%� *�(-��& -%� ��(�� )��� *����� /�% �+��,+*�� �+����� /�+*���+,�
���/�,���( �� ,+� (����-�� �,�1� ��+' -�%/�%(�� � , �6,%( �/ %� ����
� � � �� ���� ��2��1 ���������% )�� +��%����������+ (������ ��,� 6� �,�� ������
�,�� ,�� 6�%1�� �+ , 9&�� +��%,� +��6�%1 ��%�*��%�� �+ ����% (������� ��*� ,� ��4���
��� ��%�*��%� �/ ��� +��6�%1 �����/ �� �+��% ��������+,%� *�+�%��� �/ ��*� (������ �+ '�+�
�%,� -�%/�%( 6���� �� *���� %���*� ��� ,(��+� �/ ��(,+ �+��%��+���+ +�*���,%�� ,+� ���
-�,�� �+ ��% (����� *�+*�%+�� 6��� *�����+' , ����, �� +��%,� +��6�%1 ��%�*��%� 6����
�*�(� � �������
2��� ������� ��� �� � �� �� ��� ���� �� �*I*
5.1 Future Work Conclusion
�
������������
4� $,��,��,%%�� �� ���9� ,+� �� �,%���� 3�����+' (� ��� %� ��� , �� �� ���-�,� *����*���� ��
�,����%�� �+ !� F�(��%�71 ,+� 3� $�+, �,�� �����%�� )� ������ � ��� 5������� ��� " �#�
�� � � .����-������� � ��� ,� ��� � � . �� :���� ��� -,'�� ��2..� :�+�� Q�%��U�
��*�+,� �6��K�%�,+�� ��-�� ����� . .� P+���%���� �/ V�%�*��
�� �� $��%� 5+ ��� ��+,(�*� �/ �(,�� *�+��+�������(� %�*�%%�+� +��%,� +��6�%1�� �������
:���� �� ����2���� ���
�� �� $��% ,+� L� !� 4,��,'��%� 3�����+' ��+,(�*,� +��%,� +��6�%1� /�% ,�,-���� ��,���%�
������� :���� �� ���2�..� ���
�� �� !����� �� 5��� ��� � � 9���� ��� ����� � � .������ ��� ,�������� 8�%�� �*��+��9*
�� �����+' !�(-,+�J $1W���1 ������+� ���
8� L� !�+���%� )����� � ��������� .������� 8���� W ��+�� ��6 <�%1� �%� ������+� ��
?� !�% ,�M+ ,+� ?� ?,+K,%�+�� 3�����+' +��%,� ,%%,�� , +�6 (�*�,+��( /�% ��,%+�+' *�(-��&
,*���+ ��;��+*��� ;%,5 '%��������� ;����� � � 5�� ����� .�����* ,���� � + ������ #
H�I� . ��
�� �,�',,%�� 5��� ��� �� .������ ��� <� �-%�+'�%� . .�
�� )���� ��+'� :,���% ������� ��(��,���+ �� �>�+ '%��-� �� %� ���� =������> %��� ��
:�� ������ $����> �� .��� ����3�>��� . ��
L� ?� 3�(,+� ��+��+' ��%�*��%� �+ ��(�� ; ����� .���� �H.I���2.��� � �
?� Q� �,������ $����������� � ������ ���� �#� '7�� ,�� �*� �%�+��*� F,��� ��
�� 3� 4��� �%'� 9���� ��� ����� � .����� -���&�� �� ��� (���� %������� ������+�
8����� �� �����+' !�(-,+�� ��,��+'� :�� ���
�� 3� 4��� �%'� ��� ����� � 5�� ��� �! %��� �� �� � ��� � � ; ������� 9���� ��� ������
G��6�% �*,��(�* �� �����%�� $����+� :�� . .�
�� 4�(�K ,+� �� :��11��,�+�+� �+*%�(�+�,� ��������+ �/ *�(-��& '�+�%,� ��,���%� �������
:���� �� �����2�.� ���
�� 4%�N ,+� :� ��%�'�� !��-�%,���� �%,+�-�%� �/ � 7�*�� �/ ��A�%�+� ��,-�� ,+� ��K��� �+
:� ��%�'�� :� $�%,��,%�� !� $��(� ?� :� 4,( ,%����,� �� :�+�,�,� ,+� )� ��X�K��� �����%��
��� ; � �� -���&�� � ��� .���� 5���������� ?�� 5������� ��� " �#�� �� ���. @88?�
����(� ���. �/ %����� � ��� � ; ������ .���� -,'�� � �2���� �-%�+'�% Q�%�,'� $�%��+�
4�%(,+�� . ,�
BIBLIOGRAPHY BIBLIOGRAPHY
�� 4%�N ,+� :� ��%�'�� 3�����+' , *��-�%,���� �%,+�-�%� ��,���% /�% �6� ��(-�� %� ���� �+
�� ?�,%���� �� !������ !� ��+��-�� 3� ?����+� ,+� :� �*���+,��%� �����%�� ������ ,� ��� �
A B�� 5������� ��� ; �������� ,� ��� � �������� ',� @88C*� ����(� .�# �/ %�����
� ��� � ; ������ .���� -,'�� � �2���� �-%�+'�% Q�%�,'� $�%��+� 4�%(,+�� . �
�� 4%�N ,+� :� ��%�'�� 4%��- �%,+�-�%� �/ ,+ � 7�*� �� , �,%'�� ��,� �+�� ��(� '%��- (�( �%�
(,� ��+��� �+ O� <,�� 3� $�%1�� L� �� ?�K,+�� L� �(���� L� L� :�%����4��%�Y�� L� �� $����+,%�,�
L� ��6�� �� )� �� G, M+� ,+� F���� �*�6�/��� �����%�� )������� )� ���� . ���� �� � ������
A D�� 5������� ��� ; ������� ')).� 2555*� ����(� �.. �/ %����� � ��� � ; ������
.���� -,'�� ��.2�#�� �-%�+'�% Q�%�,'� $�%��+� 4�%(,+�� . *�
�� F,%���� �-�*��� ,�,-�,���+ '�+���* ,�'�%���(�� , ,��� /�% , *�+��+��+' ��4�� �+ �� L� Q,%��,
,+� �� $��%'�+�� �����%�� )� ������ � ��� $��� ,�� ���� ; ������� � ������ %���
� ���� � )���� � ��� � � �� .������� -,'�� �#2��� �,%��� �%,+*�� ����� �.� :�)
�%���� !,( %��'�� :��
�� F,%���� �� F�� ,+��� ,+� �� !��A� ������ �+ ��������+,%� %� ���*�� )�*�+�*,� ��-�%� !�'+�����
�*��+*� ����,%*� �,-�% !���.�� $%�'���+ $�� ZF� 3+'�,+�� PG� �.�
�� F,%���� �� F�� ,+��� ,+� �� !��A� ����+' ��� ��'��� ,%��9*�,� ��������+� %�,� �����+� �+
)� ������ � ��� ���� ������� ��� ������� � .����� � � ������� ����� �! $� �
������ � ������ C� -,'�� �.2 �� !,( %��'�� :�� �� :�) �%����
�� F,�1�+� ������ ���� �#�! � ; ���������� $ ����� � '@�� ,�� �*� �%�+��*� F,��� ���
!� F�*1�%� �����*�� -,%� �� )�� +�6 /%�+���%� 9��� ����� ��� (���&��� -�1� �� �#,�
!� F�*1�%� �����*�� -,%� .� �+'��,% �A�*�� 9��� ����� ��� (���&��� ��1+��� �# �
!� F�*1�%� �����*�� -,%� �� !�������+ %��-�+��� 9��� ����� ��� (���&��� $��1(��� ��,�
!� F�*1�%� �����*�� -,%� � )�� ���%� ��(�+���+� 9��� ����� ��� (���&��� +���� �� �
�� F�*�%����% ,+� L� �*�(���� �%� $%��'�+' ��+' ��(� �,'� � 6��'�� '�����+' ,+� B��+'
���%����%( (�(�%�C� -,'�� #�2�.� �(���%�,(� �����%�,+��� �#� �5� �%����
L� F�-9���� ���%,� +��6�%1� ,+� -����*,� �����(� 6��� �(�%'�+� *����*���� *�(-��,���+,�
, �������� �+ )� ������ � ��� ��� ��� ������ � .���� 8,���+'��+� �!� ��.� �,���+,�
�*,��(� �%����
G� F�%+�1� :� ���+*�*�( �� ,+� F� 8����� :�����,��% /���/�%6,%� +��6�%1� ,%� �+���%�,�
,--%�&�(,��%�� ������ ���� �#�� .H�I���2�##� ��� ���� ���# � �
�� ��,1, ,+� �� 4�+���(,+� �� � �,+'�,'� /�% �,�, ,+,����� ,+� '%,-��*�� + ����� � ; ����
��� ��� ��� 9������ .������� �H�I�.2��� �#�
�� L,1� �� F,�/� ,1��� ,����* ,+� +����� :�+�(,� ��(��,���+� /�% ��������+,%� %� ���*�� �+
�� F�� ,+�� ,+� �� F,%���� �����%�� )� ������ � ��� $ ���� ,�� ���� ; ������� �
������ %��! ,;�%EF� -,'�� ��2���� :�) �%���� !,( %��'�� :�� ���
���
BIBLIOGRAPHY BIBLIOGRAPHY
:� �� L�%�,+� ���%,*��% ��+,(�*� ,+� -,%,������( �+ , *�++�*���+��� ��;��+��,� (,*��+�� �+
������ ������ ���� �#�! ���� �������� -,'�� ��.2�.�� ���*,�,6,�� �L� � � �333
�%����
)� G���+�+� .����-����&�� (���� ����(� � � �-%�+'�% ��%��� �+ �+/�%(,���+ �*��+*���
�-%�+'�%� $�%��+� F����� �%'� ��6 <�%1� ���%� �&��+��� ������+ ������+� . ��
�� �� G%����+'� <� V���� ,+� �� :� )�%%���� 3�����+' /-',� ,��� %� �� *�+�%����%� ���+' ,+
��������+,%� ,�'�%���(� �+ L� )�((�� ,+� �� L� $�+����� �����%�� )� ������ � ��� 7��
5������� ��� ; ������� � ������ 5����� .������ '5;�<5.*� -,'�� �2#� P+���%���� �/
G�+� ,� !,+��% �%�� ��-��( �% . .� P+���%���� �/ G�+� ,� !,+��% �%� �%�+��+' P+���
)� ?, ���,� :� ��%�'�� ,+� L��?� ��+�� ��%'� 3@*��+*� ,+� �,�1 ,���*,���+ �+ -%�� %��%���,��
�+ �� �7�-��%�� �� :,+'�� :� :�%,�,� ,+� �� ������� �����%�� )� ������ � ��� $��� 5�����
��� ��� " �#�� � � : � ����� 5������ ���� ���� � ������� 5�� ���� � ���� � ��
': ���5�@88?*� ?�*��%� ����� �+ !�(-���% �*��+*�� -,'�� �.2�� �-%�+'�% Q�%�,'� F������
�%'� 4�%(,+�� . ,�
)� ?, ���,� :� ��%�'�� ,+� L��?� ��+�� ��%'� ���/��%',+���� �,�1 ,���*,���+ �+ , '%��- �/
%� ���� �+ �� ��,(�� �����%� )� ������ � ��� F�� 5������� ��� .��� ��� � ���������
��� � � �� < � � .������ '��<.8?*� )�������� �%,+*�� L�+�.�2.� . �
L� :,�+��+,�� ,+� L� $%,�+� ���� ������� ��� 9����� =��� <� !,( %��'� P+���%���� �%����
!,( %��'�� . ��
8� :*!����*� ,+� 8� ������ � ��'�*,� *,�*���� �/ ��� ���,� �((,+�+� �+ +�%���� ,*�������
:������ � (��������� : ������ -,'�� ���2���� ���
V� :�*�,��6�*K� 9���� ��� ����� G ���� .�������� H ,� ��� � )� ������ �-%�+'�%�Q�%�,'�
$�%��+� 4�%(,+�� ��
5� :�'��+�� �� ��+,%�� 4� ),�*�+�� ,+� �� �,%���� �����% ��,����% �+ ������+' %� ���� �%�
�+��%+,� %�-%���+�,���+� +�*���,%�= �+ �� F�� ,+�� ,+� L���� :���%� �����%�� ,� < � ���
����(� �#� �/ %����� � ��� � ; ������ .���� -,'�� �2� � �-%�+'�%� ���
5� :�'��+�� F� F� ?�+�� ,+� �� ���9� 3�����+' (� ��� %� ��� �+ ��(��,��� ,+� %�,� �+��%�+(�+���
������ %��� .HI���2�� ��� ���� � #��#.�
:� :�+�1� ,+� �� �,-�%�� )������ ��� :�) �%���� !,( %��'�� :�� �#�
:� :��*����� �� 5��� ��� � � 9���� ��� ������ :�) �%���� !,( %��'�� :�� �#�
�� :�+�,�,� �� 4��'+,%�� :� $�+,+�� �� $[%� :� ?,�%�,� ,+� �� ���%�,+�� �6,%(� ��� �%�(
*�+*�-� �� �(-��(�+�,���+� �+ )� ������ � ��� @88C 5,,,1<.+ 5������� ��� ; �������
� 5��������� < � � ��� .������ '5<-. @88C*� -,'�� �#.#2�#��� ?,� Q�',�� ���,�,� P��
5*�� �% .� � ��� . � . �� �333 �%����
�� :�+�,�,� 4� !� �����+,%�� �� 4��'+,%�� �� G6��� �� ���%�,+�� L��?� ��+�� ��%'� �� ���9�
?� 4,( ,%����,� ,+� :� ��%�'�� �6,%(� ��� , +�6 ����%� ���� %� ���* *�+*�-�� ��� � � ��
< � ��� ��H.2�I���2..�� . �
���
BIBLIOGRAPHY BIBLIOGRAPHY
�� !� :�+�'�(�%�� ����� ��� ������� � , ��������� L��+ 8���� W ��+� �+*�� ��6 <�%1�
P�� . ��
�� 3� :�%�,%�� ,+� �� :��11��,�+�+� 3@*��+� %��+/�%*�(�+� ��,%+�+' ��%��'� ��( ����* ������
���+� (���� %������� ..���2�.� �#�
�� ���9 ,+� �� ���%�,+�� ,� ��� ���� < � ��! ��� : � ��� 5���������� ��� ���� � �� �
.����-����&�� (������ :�) �%���"$%,�/�%� $��1�� !,( %��'�� :�� . �
�� ���9� �� ���%�,+�� 5� :�'��+�� ,+� �� :�+�,�,� F�6 �� ������ ,���+�(��� %� ���� ��A�%�+�
,--%�,*��� �+ ��������+,%� %� ���*�� ������ %�� 52� -,'�� � 2��� ��
�� ����,+ ,+� :� ��%�'�� !�,�+ /�%(,���+ �+ , �6,%( �/ %� ���� )�*�+�*,� ��-�%�
)�"������". ���� ������� P+���%���\ ?� %� �� $%�&������ :,%*� . �
:� �� �����% ,+� G� �� L�+'� � *��-�%,���� *���������+,%� ,--%�,*� �� /�+*���+ �-��(�K,���+�
�+ <� �,����%� F���� �*�6�/��� ,+� �� :[++�%� �����%�� )������� )� ���� . ���� �� � ������
A )).� 555� -,'�� .2.��� $�%��+� �� �-%�+'�%�
:� �� �����% ,+� G� �� L�+'� 3�����+' +��%,� +��6�%1� 6��� *���, �%,���� �-�*���� �+ )� �
� ��� 7EEI .����� ; ������ .����� � ; ���� -,'�� � 2��� )�� ��*���� �/ !�(-���%
��(��,���+� ���
:� �� �����% ,+� G� �� L�+'� !��-�%,���� *���������+� �+ ,%*����*��%� /�% ������+' *�,�,-���
�� *�(-�+�+��� ,� ��� ���� ; ������ �� -,'�� �2.� . �
$� �� ��-���� )�� � -%�7�*� �+ ��,�����*,� *�(-���+'� (.-< ; ���� ��� ��� ���������� �
��� %�.� (����� .���� J -< ���� �#�� �H�I�.�2.�� �� %�,%� . ��
�� ����+ �,��� )�� -�%*�-�%�+� � -%� , ������* (���� /�% �+/�%(,���+ ���%,'� ,+� �%',+�K,���+
�+ ��� %,�+� )��� � ��� <����� -,'�� ��#2 �� ���
�� ����+ �,��� )������ � ���� ������� �-,%�,+ $��1�� ��6 <�%1� �#.�
F���� �*�6�/��� ,� ��� � ��� -����� .��#��� 8���� W ��+�� ��6 <�%1� ���
�� �� �����+ ,+� �� 4� $,%��� <��� ������ %������! �� 5��� ��� �� )�� :�) �%����
!,( %��'�� :�� ���
�� )��(-��+� 5+ ��� ,���(,��* ����'+ �/ %� ��� ���*�%�+�*� ��%��'� ,%��9*�,� ��������+� �+
5;,. �ED! )� ������ � ��� .� �� 5������� ��� ; ������� � ,� ������ .������� -,'��
��2.� ?�+��+� PG� ��� �-%�+'�%�Q�%�,'�
Q� )%�,++�� 3�������+ �/ *��%��+,��� (����+ ��,���%� �+ , '%��- �/ ���/�,���( ��� %� ����
)�*�+�*,� ��-�%� )�"������". ��.�� ������ � P+���%���\ ?� %� �� $%�&������ $��'��(� :,�
. �� �3� )������
Q� )%�,++�� �� 4%�N� )� ?, ���,� 3� ],��+� ,+� :� ��%�'�� 3�����+' �''%�',���+ $��,���%� �+
, �6,%( �/ �� ���� �+ 8� $,+K�,/� )� !�%���,���%� �� ����%�*�� L� )� G�(� ,+� L� V��'��%�
�����%�� ������� � ������ %�� � )� ������ � ��� F�� ,�� ���� ; ������� � ������
���
BIBLIOGRAPHY BIBLIOGRAPHY
%�� ',;�%*� ����(� .� � �/ %����� � ��� � ������ 5���������� -,'�� �#�2��� �-%�+'�%
Q�%�,'� F����� �%'� 4�%(,+�� . ��
Q� )%�,++�� )� F� ?, ���,� ,+� :� ��%�'�� 3�������+ �/ ��%�*� *�((�+�*,���+ /�% , �6,%(�
�� -�%/�%(�+' ���� ,����,+*�� �+ :� ��%�'�� :� $�%,��,%�� !� $��(� ?� :� 4,( ,%����,�
�� :�+�,�,� ,+� )� ��X�K��� �����%�� ��� ; � �� -���&�� � ��� .���� 5��������� A
)� ������ � ���. @88? A $ ���� 5������� ��� " �#�� �� ����(� ���. �/ %����� � ���
� ; ������ .���� -,'�� ���2�.� �-%�+'�% Q�%�,'� $�%��+� 4�%(,+�� . ,�
Q� )%�,++�� �� ���9� ,+� :� ��%�'�� F��� ,����,+*�� 3&-�%�(�+�� �+ *��%��+,��� (����+ �+
%��'� ��%%,�+� �+ �� 4%��+� �� �(,��� �� $�+,%�+�� 3� <�����,� ,+� $� G%^��� �����%��
5��������� ��� � � �� .������ D� -,'�� .2�#� �5� �%���� �(���%�,(� )�� �����%�,+���
. �
Q� )%�,++�� �� ���9� ,+� :� ��%�'�� !��-�%,���� ���� ,����,+*� �+ , ������� �� < � �� ���
��� � � �� .������� . �� �� ,--�,%�
Q� )%�,++�� 3� )�*�� ,+� :� ��%�'�� 3�����+' /�+*���+,� ���/�,���( ��+' �+ , �6,%( �/ ,��
��+�(��� %� ���� �+ �� �*�,,�� �� �7�-��%�� �� $���,%�� �� Q�7,�,1�(,%� L� F,��,(� ,+� L����
:���%� �����%�� $� � ������ � ������ V III� )� ������ � ��� 8th 5������� ��� ; ��
������ � .����� � � ������� :���� �� -,'�� �2�� :�) �%���� !,( %��'�� :��
. *�
L� Q�%K,+�� =��� < � � 5��� ��� �� .������� !�,-(,+ W F,��"!�!� $�*, �,��+� �?� . ��
:� �� Q���� ��� .���� 9���� ��� ����! $ ����� �� ��� ��� ��� :�) �%���� !,( %��'��
:�� ��
$� <,(,�*�� ,+� �� $��%� �+��'%,��+' %�,*����� ��;��+��,� ,+� ��,%+�+' ��,���% ���+' ��+,(�*,�
+��%,� +��6�%1�� �+ $� � ������ � ������ C! )� ������ � ��� ���� 5������� ���
; ������� � .����� � � ������� :���� � '.�: E?*� -,'�� ��.2��� !,( %��'�� :��
�� :�) �%����
���