Вы находитесь на странице: 1из 9

Dynamic Evolution of Non-Player Character on Space Shooter Game Using

NSGA-II for Distribution Equalization of Enemy Player Behaviour

Darmawan Aditama Rizqi Putri Nourma Budiarti


Graduate Student of Electrical Engineering Graduate Student of Electrical Engineering
Institut Teknologi Sepuluh Nopember Institut Teknologi Sepuluh Nopember
Surabaya, Indonesia Surabaya, Indonesia
darmawan14@mhs.ee.its.ac.id mardi@its.ac.id

Supeno Mardi Susiki Nugroho Mochamad Hariadi


Lecnpcer of Electrical Engineering Lecnpcer of Electrical Engineering
Institut Teknologi Sepuluh Nopember Institut Teknologi Sepuluh Nopember
Surabaya, Indonesia Surabaya, Indonesia
mardi@its.ac.id mardi@its.ac.id

Abstrak – To win the game, all player need to


destroy all of the obstacles, especially in Space I. INTRODUCTION
Shooter game. In the Space Shooter game, there is
NPC (non-player character) that has an easy or Space Shooter game is an FPS (First Person
difficult behavior while faced by the player, so the Shooter) genre game that has the purpose of
game becomes tedious because the NPC has static destroying the enemy and avoiding the enemy
behavior. In order to maximize and improve the attacks. During the game, the player has to adapt to
behavior of the NPC in the game, we provide the the behavior and the type of the weapon that is used
ability of adaptation to the behavioral evolution of by the NPC. Therefore, the game would be boring if
the npc speed and health, so that the Space Shooter it is too difficult or too easy to play.
game can be more interesting and fun. Therefore, the The concept of a fairness distribution of the
NPC has ability to adapt and change the speed and ability between different strategies or several player
health dynamically according to player behavior. To is the equality of the game[1]. The evolution of
provide the dynamic evolution of NPC, we proposed adaptive behavior to change the speed and health on
to use Non-dominated Sorting Genetic Algorithm II the NPC is needed, in order to match the ability of
(NSGA-II). NSGA-II is a genetic algorithm for the player. The game will be more interesting
multi-objective optimization based on non- because the NPC can evolve towards the speed and
domination. NSGA-II is used to determine the health by seeing the behavior of the player.
optimizations that should be done on the parameters To provide the behavioral evolution of
that are owned by the players such as score, npcmiss, NPC, we use Non-dominated Sorting Genetic
heatlh, and damage. The multi-objective Algorithm II (NSGA-II). NSGA-II is a genetic
optimization which are given on these parameters algorithm for multi-objective optimization based on
becoming objective functions as "point of evolution" non-domination. NSGA-II is used to determine the
on the NPC's fitness function such as speed and optimizations on the NPC’s parameters such as speed
health. Research over NSGA-II produce optimal and health.
solution for 2 objectives which is performed
graphically. Based on simulation result, stability of
simulation result is obtained after the five generation II. PREVIOUS RESEARCH
with simulation parameter: population size =50,
crossover probability (pc)=0.9, mutation probability The previous research has been carried out by
(pm)=1/n, index of distribution crossover (ηc)=20, Ariyadi in papers entitled "Creep Offenses Evolution
index of distribution mutation (ηm) =20. in Tower Defense Games using NSGA-II". In this
paper that conducted by Ariyadi, used Dynamic
Difficulty Adjustment (DDA) to control the evolution
Keywords: Genetics Algorithm, Artificial Intelligent, of creep assaulted by examining the ratio of the
Damage Evolution amount of dead creep within the amount of the
raising creep[2].
III. IMPLEMENTATION METHOD NPCs has ability to be determined by itself. So
the NPC is able to grow by itself by studying the
1. Design Game ability of the player and the cycle of constant
FPS (First Person Shooter) is a type of changes of the player.
shooting game, with a view of the character in Dynamic evolution of NPC that has the
the game that we are playing, usually from the complex ability will be useful for the
point of view in the eyes showed only hands and development of the pattern of the game that can
arms. The FPS game picks the missions for a be more interesting.
particular purpose. The characteristic of this The evolution of the speed and health that
game is the use of long-range weapons[3]. intended is the dynamic evolution of NPC when
In the game Space Shooter, the NPC has the faced with the player, that can increase speed and
ability to follow the movement of the player and optimal health by itself while facing the player.
can be fired towards the player, as seen in Figure
1.

Player’s Plane Npc’s Plane

Figure 1. Space Shooter Game Plan Figure 3. Flowchart of dynamic evolution of


NPC
Start
3. Multi-Objective Optimization
Optimization of Multi-Objective (also
Find Target known as the programming of multi-purpose,
optimization of vectors, optimization of multiple
criteria, optimization of multi-attribute or
optimization Pareto) is an area of several
Destroy Target
decision-making criteria. In here, the issues that
related to mathematical optimization involving
more than one objective function to be optimized
Target Initialization simultaneously.
No
Destroyet Spawn
By minimizing the attack while maximizing
Yes
protection of the troops in this research is an
example of a multi-objective optimization
End problem that involving two or three objectives in
each purpose. In practical problems, there can be
Figure 2. Flowchart of Space shooter Game more than three objectives [4].

2. The Dynamic Evolution of the NPC Speed and 4. NSGA II


Health The main step in the NSGA-II is the n
The game that cannot be changed adaptively offspring (St) is created from the n parent (Pt)
is very tedious because the player will be easy or using the standard of genetic algorithm. Overall
too difficult to face the NPC. Therefore, an the population (Wt) measuring 2n formed by
adaptive ability in the game is needed, where merging St and Pt.
𝑊𝑡 = 𝑃𝑡 ∪ 𝑆𝑡 (1) types of weapons. There are gun and missiles
Sorting Sorting non-domination applied by and also bonus items such as health, damage and
Wt, then the new population will be loaded one at an active shield if the player can pick up bonuses
a time by differently non-domination solutions. that dropped by NPC's plane while successfully
Because the population of Wt is 2n, only half of destroyed by the player's plane. In the NPC's
these amount that will be the new population. plane, there are four types of weapons such as a
After that, choose the non-domination solution gun, missile, rocket, and suicide.
of Pareto front with the high diversity and
discard the remaining solution [3]. 2. Skenario In Space Shooter Game
In the game space shooter that has existed,
IV. THE SCOPE OF RESEARCH the election scenario on the level of difficulty in
In a game, It's become very needed for a player the game is tend to be static (easy, medium, and
to learn the game control, so it becomes important to hard) which changes the type of speed and health
improve the player's ability progressively in the game of the enemy into static. So the player can easily
to maintain the flow conditions [6]. Flow become a guess the pattern of NPC's attacks because it is
popular technique for measuring the "fun" of a game, too easy to deal with or NPC can be very
however measuring challenge and competence to difficult while faced by the player when the
provide flow is not an easy thing. player made a mistake when choosing the level
of difficulty when playing the game. So it can
give a tedious effect if during playing the game,
the NPC is too easily defeated or too hard to
defeat.

Figure 4. Flow Zone and Design Flow Adaptation


Experiences
Figure 4 shows the flow diagram, which is the
visual graph of the flow zone and design adaptation
of the player experience through the choice of flow
that is deliberately constructed by the players and
becomes an experience for the player.
Figure 5. Scenario of Difficulty Level In The
Static Game
1. Gameplay
Space shooter is a game that aims to provide
3. Scenario Dynamic Evolution of NPC
an active experience response to the behaviour of
In this paper, the dynamic evolution
the NPC, in which the player must destroy as
scenario of NPC that can adapt to the behavior of
many NPC so the player can defeat the boss at
players, the game scenario in this paper was
each level to be able step up to the next level
designed as follows. Player is assigned to destroy
without running out of health. The basic concept
as many enemies (NPC) to reach the final stage
of this game is to create an environment
or meet the boss. If the player can destroy the
spaceship battles between players and npc. boss, the player can continue the game at the
Where both of these planes (npc and the player)
next level. But if the player's plane is destroyed
have been equipped with the weapons to destroy
before defeating the boss, the player must repeat
each other. In the player's plane there are two
the game and started all over again.
Table 2. Specification of The Player’s Plane
Player’s
Player’s Plane NPC’s Plane Player’s Player’s Items Type of
Items Damage
Speed Health Function Weapons
Weapons
Health +10
Gun 10
10 100 Weapon +1
Armor 10 s Rudal 30

Not only the player but also the NPC.


Because during the game, the NPC's plane also
has many variants weapons despite not having
the items to support the NPC's player while
facing the player's plane as shown in Table 3.

Table 3. The Variations of NPC’s Weapons


Figure 6. Scene from Space Shooter Game Weapons Functions
In Figure 6 that shows the player is facing Gun Weapon that used by NPC to
an enemy in the next level after the player can face the player
defeat the boss at the previous level, so the
player can step up to the next level. Missile Weapon that used by NPC
to face the player
Table 1. Items and Player’s Weapons
Rocket Weapon that used by NPC
Items Fuction
to face the player
Items for Adding a Missile In
Weapon Stocks Suicide Weapon that used by NPC
to face the player

Items for Adding The Player’s


Health
Table 4. Specification of NPC’s Plane
Speed Health Type of Damage
Npc Npc NPC’s Weapon
Items for Activating The Weapon of NPC
Player’s Shield 10 100 Gun 10
Missile 20
Gun Weapon that used by The Rocket 30
Player to face the enemy Suicide 40
In Table 4 are shown the specification of
Rocket Weapon that used by npc's plane in detail. Start of speed, health, the
The player to face the enemy types of NPC's weapons that belonging to NPC
and also the damage weapons that available in
NPC.
During the game progresses the player's There are 10 levels in this research trial,
plane equipped with two types of weapons, there which at each level chromosome NPC will
are the gun and missiles, as well as three kinds of always change according to the player's
items that can be obtained by the player if the behaviour.
player can destroy enemies and pick up items However in the first level of the space
that fell. In Table 2 are described in detail, the shooter game, all four variants of the weapon
specification of the player's plane. Starting from would come out with speed and constant health
the names of items and weapons and also the that is still appropriate in Table 3. Due to the
function during the game. first level, is used as the test data on the behavior
of the player, so that at the second level up to
tenth level, the constant value of speed and
health of the NPC can be change according to
player behavior.
The purpose of the paper is to determine the NPC's dynamic evolution scenario, multi-
dynamic evolution of the NPC at the next level objective optimization of the dynamic evolution
by looking at the parameters of the players in the of the NPC.
previous level. These parameters include score The evolutionary scenario of the dynamic
(x1), heatlh (x2), npcmis (x3), and the damage evolution of the NPC behavior using NSGA II in
(x4). These parameters are used to determine the the Space Shooter game as shown in Figure 7.
dynamic evolution of the NPC at the next level.
During the game was played, the parameters
of the NPC such as speed (f1) and heatlh (f2) will
be changed according to parameters of the
player. Because of these three genes used for the
dynamic evolution of the NPC while facing the
player.
If the player wins at the previous level with
the condition of its heatlh in low level, gets a
medium score, npcmiss in high status and too
much damage with an average value is less than
30, then in the next level, NPC will increase the
level of difficulty R3 which can be likened to the
interval value in the dynamic evolution of the
NPC (Rn) such that shown in table 5.

Table 5. The Interval value of dynamic evolution


of the NPC Figure 7. Diagram Block of The Game
No Dynamic Evolution NPC (Rn)
1 R10 : If 90 < (f1 f2 f3) ≤ 100 5. Objective Function
2 R9 : If 80 < (f1 f2 f3) ≤ 90 Multi-objective optimization is an
3 R8 : If 70 < (f1 f2 f3) ≤ 80 optimization problem that contains more than
4 R7 : If 60 < (f1 f2 f3) ≤ 70 one objective function. Multi-objective
5 R6 : If 50 < (f1 f2 f3) ≤ 60 optimization can be defined in an mathematical
6 R5 : If 40 < (f1 f2 f3) ≤ 50 expression [5].
7 R4 : If 30 < (f1 f2 f3) ≤ 40 In this research, the function to be optimized
is the adaptive behavior of the NPC to face the
8 R3 : If 20 < (f1 f2 f3) ≤ 30
player behavior, where the goal is to be achieved
9 R2 : If 10 < (f1 f2 f3) ≤ 20
by maximizing and minimizing the evolution of
10 R1 : If 0 < (f1 f2 f3) ≤ 10
the NPC speed and health. In here, we
attempting to the objective value of the player, so
Starting a beginning of the game state, the
The objective function value of the player can be
initial spawn npc can be analogized as the seen in Table 6.
default, as the player's ability level test on the
Table 6. Objective Value of The Player
first level in the game. After the first level is Type of Damage
Speed Health Items
completed, then the existing parameters on the Player Player
Items
Function
Player’s Player’s
weapon weapon
player (x1 x2 x3 x4) will be calculated to Health +10
determine the dynamic evolution of the NPC, Gun 10
10 100 Weapon +1
where the NPC is raised at the next level using Armor 10 s Rocket 30
the weapon gun, missile, rocket, or suicide and
evolutionary parameters on npc (speed (f1) and However not only the objective function
health (f2)). value of the player which is used to the dynamic
evolution of the NPC. Because the objective
4. NSGA II Scenario In The Game function of the NPC is also necessary to find the
In the Space Shooter game, the research is point of maximum and minimum evolution
focused on the optimization of the dynamic NSGA II.
evolution of the NPC. Optimization of dynamic
evolution of the NPC must pass through the Table 7. Objective Value of The NPC
various steps or stages, starting from making Speed Health Type of Damage
space shooter game including with the item, Npc Npc NPC’s NPC’s
weapon weapon
10 100 Gun 10 function to calculate NpcMiss as follows:
Missile 20 𝑥3 = (𝑠𝑠 − 𝑠𝑑)/𝑠𝑠 (4)
Rocket 30
Suicide 40 sd = sum of npc destroyed
6. Fitness Function ss = sum of npc spawn
In here, the main purpose of the research d. Damage Player On NPC (x4)
study is contained at 3 fitness function as a Damage is one of the parameters that
parameter the dynamic evolution of the NPC, the used to facilitate changes of the fitness
fitness function is the speed (f1) and heatlh (f2). function in the dynamic evolution of the
The objective function value is needed to be NPC. Where the objective value is taken
able to change the fitness function corresponding from the parameter value to the player. The
to player's behaviours, so the objective function function to calculate the damage as follows:
value of the player's parameters score (x1), health 𝑥2 = (𝑐 ∗ 𝑑) − ((
0,3∗𝑎∗𝑏
) ∗ 100%) (5)
(x2), npcmiss (x3), and also damage (x4) that is 1+(0,03(𝑎∗𝑏))
used as a "point of evolution" for npc dynamic sp = sum of gun shot NPC's weapon to
can evolve to the next level. the player
The parameter value such as score, npcmiss, dp = demage NPC's weapon to the player
heatlh and damage of the player is used as the sn = sum of gun shot the player's
parameter to provide multi-objective weapon to the NPC
optimization value in the dynamic evolution of dn = demage player's weapon to the NPC
the NPC (changing composition of chromosomes
and genes the NPC to face the player). When the objective function of the player's
So the optimalization is really needed to
formula is made, then this formula will be used
increase the objective function at speed (f1) and
to optimize the objective function in the dynamic
health (f2) of NPC by distinguishing the
evolution of NPC. However, the main aim of this
parameter of player's objective function. Then it
can be made the equation of the player's research is to create the dynamic evolution from
objective function as follow: speed (f1) and health (f2) of the NPC, to
a. score of the player (x1) counterbalance the player's behavior when
Score is one of the parameters that used playing the game. Because of that, the objective
to facilitate changes of the fitness function function's formula is made to determine the
in the dynamic evolution of the NPC. Where dynamic evolution for speed (f1) and health (f2)
the objective value is taken from the of the NPC as follows:
parameter value to the player. The function a. Speed of the NPC (f1)
to calculate the score as follows: Speed is the parameter that used to
𝑥1 = 𝑠𝑑 ∗ 10 (2) improve the movement of the NPC. Speed is
sd = sum of npc destroyed one of the fitness function that becomes one
b. health of the player (x2) of the goals in the NSGA-II. Speed is
Health is one of the parameters that symbolized by f1. Objective function value
used to facilitate changes of the fitness of parameters player such as score (x1),
function in the dynamic evolution of the health (x2), npcmiss (x3), and the damage
NPC. Where the objective value is taken (x4) is used to control the appropriate
from the parameter value to the player. The changes of the speed parameter in the game
function to calculate the heatlh as follows: which can then be referred as a speed
set initialization ha=100 evolution (se).
𝑔𝑠
0,03∗𝑎∗𝑏
𝑓1 = ∗ 𝑥2 ∗ 𝑥4 ∗ 𝑠𝑒 (6)
𝑤
𝑥2 = ℎ𝑎 − (( ) ∗ 100%) (3)
1+(0,3∗(𝑎∗𝑏)) gs = gen speed
sp = the number of gun shots NPC's weapon se = speed evolution
to the player w=weight
dp = demage NPC’s weapon to the player 𝑤 = 𝑥1 + 𝑥2 + 𝑥3 + 𝑥4 (7)
c. Sum of NpcMiss (x3) 𝑥2 = health
NpcMiss is one of the parameters that 𝑥4 = demage
used to facilitate changes of the fitness in the b. Heatlh of the NPC (f2)
dynamic evolution of the NPC's speed and To add a number of health from the
health. Where the objective value is taken NPC. Health is one of the fitness function
from the parameter value to the player. The becomes one of the goals in the NSGA-II.
Health symbolized by f2. Objective function 2. Experimental on Game Testing for Expert Player
value of parameters player such as score Game testing on the expert player is used for
(x1), health (x2), npcmiss (x3), and also getting the data player in one game while facing the
damage (x4) that is used to control the dynamic evolution of the NPC speed and health at
appropriate changes of the health parameter each level. In order to obtain the data to determine
in the game which can then be called a flow zone for the expert player in one game.
health evolution (he). During the player plays the game, the data
𝑔ℎ 𝑥1 obtained to determine the changing parameters of the
𝑓2 = ∗( − 𝑥4 ) ∗ ℎ𝑒 (8)
𝑤 𝑥3 player during the game plays in each level that has
gh = gen health been passed by the player. The parameters of the data
he = health evolution will be processed as NSGA II trial in matlab. To find
w=weight the best solution in finding a flow zone for the expert
𝑤 = 𝑥1 + 𝑥2 + 𝑥3 + 𝑥4 (9) player. The data parameter of the expert player is
𝑥1 = score shown in Table 9.
𝑥2 = health Table 9. Data of Expert Player in One Game
𝑥4 = demage Level Health Scor
NPC
Damage
Game Level Miss
Game (𝑥2 ) (𝑥1 ) (𝑥4 )
(𝑥3 )
V. EXPERIMENT
In this paper, we examine the dynamic 1 1 default 75 100 2 50
evolutionary of the NPC speed and health using 2 2 R5 30 200 5 160
NSGA II which is doing by looking at the objective 3 3 R3 85 300 11 230
function of the player such as score(𝑥1 ), 𝑠𝑝𝑒𝑒𝑑(𝑥2 ), 4 4 R7 90 400 7 490
𝑛𝑝𝑐𝑚𝑖𝑠𝑠(𝑥3 ), and 𝑑𝑎𝑚𝑎𝑔𝑒 (𝑥4 ) in order to optimize 5 5 R9 0 430 15 320
the dynamic evolution of the NPC on the objective 6 1 R1 100 100 4 30
function as speed(𝑓1 ) and ℎ𝑒𝑎𝑙𝑡ℎ(𝑓2 ) to find 7 2 R8 - - - -
appropriate changes of the fitness value according to
In here, we chart the Dynamic evolution of the
find the flow zone in the game.
NPC speed and health that the flow zone of each
player is very different. There was drastically
1. Experimental on Game Testing for Beginner different in the performance of both players. In expert
Player player there is an increased activity on the chart and
Game testing on the beginner player is used for it is shown very high, which is easily reach the level
getting the data player in one game while facing the of the expert player with the dynamic evolution of the
dynamic evolution of the NPC speed and health at NPC supreme.
each level. In order to obtain the data to determine 3. Testing NSGA II Multi-Objective With Two
flow zone for the beginner player in one game. Leveling Behaviour
During the player plays the game, the data In the experiment, the results of the experiment
obtained to determine the changing parameters of the NSGA - II for multi-objective on the dynamic
player during the game plays in each level that has evolution of the NPC on objective function to
been passed by the player. The parameters of the data improve the function of speed(𝑓1 ) and health(𝑓2 ) of
will be processed as NSGA II trial in matlab. To find the NPC.
the best solution in finding a flow zone for the Genetic algorithm parameters used in this test
beginner player. The data parameter of the beginner was as follows:
player is shown in Table 8. a. The number of decision variables (n) = 10.
Table 8. Data of Beginner Player in One Game. b. The population size = 50.
NPC
Game Level
Level health Scor
Miss
Damage c. The generation size = 100.
Game (𝑥2 ) (𝑥1 ) (𝑥4 ) d. The probability of crossover (pc) = 0,9.
(𝑥3 )
1 1 default 50 100 20 93 Index of crossover distribution (nc) = 20.
2 2 R2 65 200 10 125 e. The probability of mutation (pm) = 1/n.
3 3 R3 70 300 13 80 Index of mutation distribution (nm)= 20.
4 4 R5 0 380 5 310 The result of the experiment NSGA-II In the
5 1 R1 100 100 0 230 dynamic evolution of the NPC have been able to find
6 2 R7 0 150 5 313 Pareto optimal solution which is good enough for
7 1 R1 - - - - simulating the dynamic evolution of the NPC. Which
is the optimal solution obtained in compliance with
the Pareto optimal in trials with 50 populations and
100 genes. Pareto sets have shown the rate of the quite high.
changing on Pareto-optimal front which is a set of
solutions in the testing objective function to get the
fitness value corresponding to the flow zone. By Table 10. Fitness Value within 50 Populations
using adaptive mutation in the dynamic evolution of and 10 Genes
the NPC, it can be repaired average fitness value Testing Fitness
significantly compared to previous generations to get Data f1 f2
some optimal solutions (multi-objective solution). In
Figure 8 shows a graph that showing the population 1 0.001 0.012
distribution or the changing of Pareto set on the 2 0.001 0.039
fourth generation to achieve Pareto optimum in
3 0.001 0.091
speed(𝑓1 ) and health(𝑓2 ).
4 0.020 0.029
5 0.012 0.43
6 0.003 0.26
7 0.058 0.27
8 0.002 0.079
9 0.74 0.24
10 0.002 0.13

The optimization process that happens after


conducting the test is used for getting the value
of the fitness function according to the player's
ability so it can find the optimization objective
function of the NPC. In order to optimize the
dynamic evolution of the NPC to be able to face
an opponent.

VI. CONCLUSION
Based on the condition of the owned players,
the conditions that exist on the player, used as a
parameter and will be compared with each other, then
used as input to the NSGA-II to optimize the
selection of NPC dynamic evolution by looking at
some of these parameters.
In this research, the four parameters are used,
there are score, health, npcmis and damage of the
player who used to kill the NPCs.
Optimal behavior that was developed is
dynamic evolution of the NPC that can evolve the
fitness function of the NPC such as speed and health.
From the test data that has been done in this
research, and the test results that evidenced by the
graph that showing the spread of the Pareto chart
Figure 8. Experiment within 50 populations dan 100
which indicates a set of Pareto optimal stability of the
Genes
game where the font of pareto optimal has achieved
the best stability in order to obtain significant data
In figure 8 represent the result of increasing in
and find a solution to multi-objective dynamic
the spread of objective function of the NPC at the
evolution of the NPC.
speed 𝑔𝑒𝑛(𝑓1 ) which is considerably higher than the
The overall of optimal behavior that done
objective function of health (𝑓2 ). Due to the value of
having the objective of maximizing dynamic
the objective function 𝑠𝑐𝑜𝑟𝑒 (𝑥1 ) is quite high,
evolution of the NPC to face the player. So the NPC
objective function of ℎ𝑒𝑎𝑙𝑡ℎ (𝑥2 ) tend to be low, the has the adaptive ability to deal with the changing
objective function of NPCmissed (𝑥3 ) is quite high, behavior of the player.
and the objective function of damage (𝑥4 ) is also
based Affective Feedback”. International
Journal of Human–Computer Interaction, Vol.
25, hal. 506 - 529.
REFERENCES

[1] M. J. Osborne. An Introduction to Game


Theory, MIT Press, 1994
[2] Ariyadi (2014), Creep Offenses Evolution in
Tower Defense Games using NSGA-II,
International Conference on Information
[3] Adhityo Dewandoro, Genre (Tipe) permainan
pada Games. Universitas Gunadarma. 2016
[4] Cindy Taurusta (2014), Optimasi Untuk
Perilaku Pahlawan Berbasis NSGA – II.
International Conference on Information
[5] Abraham, A., Jain, L., & Goldberg, R., (2005)
Evolutionary multiobjective optimization:
Theoretical Advances and Applications.
London: Springer
[6] hen, J., (2007), “Flow in Games (and
Everything Else)”, Communications of the
ACM Viewpoint Paper, hal 31 – 34
[7] Gen M, and ChengR, Genetic Algorithms and
Engineering Design, New York: John Wiley &
Sons, Inc. 1997.
[8] Gen M, and ChengR, Genetic Algorithms and
Engineering Optimization, New York: John
Wiley & Sons, Inc. 2000.
[9] Lozano M, and HerreraF, Fuzzy Adaptive
Genetic Algorithms: Design, Taxonomy,Soft
Computing. 7: 545–562. 2003.
[10] Lozano, M., F. Herrera, N. Krasnogor, and D.
Molina, Real-Coded Memetic Algorithms with
Crossover Hill-Climbing. Evolutionary
Computation 12(3): 273-302, 2004.
[11] Lozano M, HerreraF, KrasnogorN, and
MolinaD, Real-Coded Memetic Algorithms
With Crossover Hill-Climbing, Evolutionary
Computation 12(3): 273-302, 2004.
[12] Jaszkiewicz A, Genetic Local Search for
Multi-Objective Combinatorial Optimization,
European Journal of Operational Research,
137(1) : 50-71, 2002.
[13] Mahmudy WF, Optimasi Fungsi Tanpa
Kendala Menggunakan Algoritma Genetika
dengan Kromosom Biner dan Perbaikan
Kromosom Hill-Climbing, Kursor, 4 (1) : 23-
29, 2008.
[14] Deb K, Agrawal S, Pratap A, Meyarivan T.
(2002), “A fast and elitist multi-objective
genetic algorithm : NSGA-II”, IEEE
Transactions on Evolutionary Computation,
Vol. 6 No. 2, hal. 182–197.
[15] Liu, C., Agrawal, P., Sarkar, N., & Chen, S.,
(2009), “Dynamic Difficulty Adjustment in
Computer Games through Real-time Anxiety-

Вам также может понравиться