Thread View: comp.ai.genetic
4 messages
4 total messages
Started by AZAXV
Tue, 12 Jan 1993 01:37
Black Jack - a first pass
Author: AZAXV
Date: Tue, 12 Jan 1993 01:37
Date: Tue, 12 Jan 1993 01:37
69 lines
3875 bytes
3875 bytes
Hi,
I've been thinking about the black jack problem and I'd like to
offer a starting point, if not a solution...
OBJECTIVE: to develop a population of very good (to be defined in
terms of %wins) black jack players, genetically, through some
evolutionary process, using what I understand to be a genetic
algorithm.
At the start, some number of players will be given a genetic code
(see below) and paired with an honest dealer, with an honest deck,
that gets reshuffled after each hand. Each player is associated
with a running %win value; when a player wins 5 (or?) hands in a
row, it gets to mate with another player with the highest %win
value that is still alive. (Mating is described below.) E.g., as
your simulator cycles through each living player, making a single
decision/play each time one is selected, it gets to mate with the
first other player that has the highest %win value. When a player
loses 5 (or?) hands in a row, it dies. Mating results in a newly
created player with a %win=0 and a combination of the genetic codes
from the two mating players. (Still with me?)
The genetic code is exactly two integers, between zero and 11. The
first integer is the highest value that the player may hold, and
still take another card from the dealer (zero is a special case,
described below). UNLESS, the dealer is SHOWING an amount that is
greater than the second integer in the genetic code array. A zero
in either of the two integer values means that the value is really
calculated each time a decision is needed, as the average value of
the UNSEEN cards; i.e., the number/values (ace=1|11?) of cards that
the player cannot know about: dealer's down cards and those in the
deck. Note that the player makes a decision to request another card
based on the value of the first integer in its genetic code, but a
decision to draw might be blocked by the value (or calculated value,
remember) of the second integer. I leave the dealer's algorithm up
to the reader; perhaps this may be a variable that one might wish
to examine and optimize in order to produce (evolve) better players.
Mating produces a genetic code that is an arithmetic average of the
values from each of the mating players; when one (or both) player
is a "calculator" (a zero value causes it to dynamically evaluate
the value from the card values it can "see"), the offspring (as a
first pass anyway) might take on that trait. (I fear that the en-
tire population might become calculators very quickly if this is a
rule, but I have not yet tried to code this.)
Finally, I remember something about "splits/doubles", "dealer wins"
in a tie, and other such rules that I will leave to those who better
understand the game.
Your original population might be normally distributed about reasonable
values for first and second integer codes, reserving say 2% for some
initial calculators.
An example player might be created with an array containing /17,8/ with
an initial %wins=0.0. The first number in its genetic code (17) says it
will decide to draw another card if it holds (down + shown card values)
at most 17 points, but it will NOT draw in that case if the dealer has
cards totaling 9 or better showing (tens and face cards are 10 points,
and aces are 1 or 11; I'm not sure yet how to handle ace values).
I am suited up, but I hope I'll get at least partial credit for taking
a crack at this. I plan to try this in C, probably under DOS.
./alex
azaxv@asuvm.inre.asu.edu
CS graduate student
Re: 2-D Chromosomes
Author: James Rice
Date: Tue, 12 Jan 1993 12:41
Date: Tue, 12 Jan 1993 12:41
21 lines
1309 bytes
1309 bytes
In article <1993Jan12.185333.20195@cm.cf.ac.uk> David.Beasley@cm.cf.ac.uk (David Beasley) writes: Does anyone know of any published GA work which has used 2-dimensional chromosomes? I've read significant proportions of all four ICGA proceedings, but didn't notice anything on this. -- Do you mean 2-dimensional in the sense of simply non-linear (for which GP's tree structures are a good example) or specifically a kind of rectangular character "string"? If it's the latter, I'm not sure how this would be different from a simple character string, since you can always linearise a k-dimensional array. The interpretation of the coding scheme might change. Mind you, sounds like the sort of thing that someone would have done. Rice.
2-D Chromosomes
Author: David Beasley
Date: Tue, 12 Jan 1993 18:53
Date: Tue, 12 Jan 1993 18:53
13 lines
943 bytes
943 bytes
Does anyone know of any published GA work which has used 2-dimensional chromosomes? I've read significant proportions of all four ICGA proceedings, but didn't notice anything on this. -- David Beasley (David.Beasley@cm.cf.ac.uk) Department of Computing Mathematics University of Wales College of Cardiff __o PO Box 916 \<, CARDIFF CF2 4YN ___________________()/ ()___
Re: 2-D Chromosomes
Author: Kate Juliff
Date: Wed, 13 Jan 1993 02:12
Date: Wed, 13 Jan 1993 02:12
26 lines
1377 bytes
1377 bytes
In article <1993Jan12.185333.20195@cm.cf.ac.uk> David.Beasley@cm.cf.ac.uk (David Beasley) writes: > >Does anyone know of any published GA work which has used 2-dimensional >chromosomes? > >I've read significant proportions of all four ICGA proceedings, but >didn't notice anything on this. I have submitted a couple of papers for the next ICGA on multi-chromosome GAs. There is also a TR obtainable from anonymous ftp at arch.archsci.su.oz.au /pub/ausga/ausga-TRs/ausga-TR-kcj.9201 These papers report results of research on mapping a combinatorial constraint satisfaction problem onto chromosomes such that an individual is represented by more than one chromosome. This may be of interest to you. --Kate -- Kate Juliff | kcj@matilda.vut.edu.au Victoria University | P.O. BOX 14428, | MELBOURNE MAIL CENTRE, AUSTRALIA 3000 |
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads