Loading ...
Sorry, an error occurred while loading the content.

Re: Perl vs. Java (or Algorithm::Evolutionary vs. ECJ)

Expand Messages
  • jmerelo666
    ... Sorry, the , gets sucked into the URL. Make that http://www.flickr.com/photos/atalaya/2709131555/ JJ
    Message 1 of 15 , Jul 28, 2008
    • 0 Attachment
    • Bob MacCallum
      These kind of comparisons are always very difficult to do perfectly fairly. I ll just add my thoughts to the discussion... The evolutionary algorithm part of
      Message 2 of 15 , Jul 28, 2008
      • 0 Attachment
        These kind of comparisons are always very difficult to do perfectly fairly.

        I'll just add my thoughts to the discussion... The "evolutionary algorithm"
        part of a project (by this I mean the crossing over, mutations, sorting on
        fitness, selecting parents etc.) may use a relatively small amount of CPU.
        Fitness evaluation is usually the main drain on resources (for me at
        least). This will always scale to the "speed" of the language you are
        using. In any language you can use tricks to improve performance. In Perl
        I've done a lot with PDL (a compiled-in matrix-crunching library), with good
        results.

        Probably the only fair way to benchmark different systems is to have each
        author tune theirs to a suite of problems (text, floating point, logic etc)
        and then have them run by a third party of a range of hardware and OS
        platforms. Competition style. But that's never going to happen.




        On Mon, Jul 28, 2008 at 9:44 AM, jmerelo666 <jmerelo@...> wrote:

        > > http://www.flickr.com/photos/atalaya/2709131555/,
        >
        > Sorry, the , gets sucked into the URL. Make that
        > http://www.flickr.com/photos/atalaya/2709131555/
        >
        > JJ
        >
        >
        >


        [Non-text portions of this message have been removed]
      • jmerelo666
        Hi, ... In Perl ... with good ... That s true, but you can always call a program that evaluates fitness in the biggest number-cruncher you have at hand: farm
        Message 3 of 15 , Jul 28, 2008
        • 0 Attachment
          Hi,

          > Fitness evaluation is usually the main drain on resources (for me at
          > least). This will always scale to the "speed" of the language you are
          > using. In any language you can use tricks to improve performance.
          In Perl
          > I've done a lot with PDL (a compiled-in matrix-crunching library),
          with good
          > results.

          That's true, but you can always call a program that evaluates fitness
          in the biggest number-cruncher you have at hand: farm it to another
          machine, code it it FORTRAN, whatever. That's true for any Perl, Java,
          Python, IO or Lua library you can think of. Or, if the language allows
          it (Perl does, and Java through JNI), interface your program with a
          module written in another language.

          My point is that there are not languages that are massively better
          than others when raw evolutionary computation performance is
          concerned. Which gives you freedom to code in whatever language you
          feel more comfortable with (yep, Visual Basic too). QED.


          > Probably the only fair way to benchmark different systems is to have
          each
          > author tune theirs to a suite of problems (text, floating point,
          logic etc)
          > and then have them run by a third party of a range of hardware and OS
          > platforms. Competition style. But that's never going to happen.

          But my hunch would be that, if it does, there's no free lunch. You
          earn something, you lose something.

          JJ
        • Lucas, Simon M
          I think Bob s pretty much spot on there. Having said that, if you want to get empirical results on toy problems such as OneMax, then speed on very simple
          Message 4 of 15 , Jul 28, 2008
          • 0 Attachment
            I think Bob's pretty much spot on there.



            Having said that, if you want to get empirical results

            on toy problems such as OneMax, then speed on very simple problems

            could be important.



            I just benchmarked my own Java code for this using JJ's problem setup
            on OneMax

            (popsize = 200, nBits = 128, nGens = 500), and got the following
            timing (all in milliseconds)

            stats on 100 trials, using Java 1.6.0 on a 1.6ghz Intel Centrino laptop
            (single

            threaded, so only using a single core of the dual-core machine).



            min = 191.0

            max = 227.0

            ave = 197.0

            std. err. = 0.59



            JJ, if you were using a similar machine, then that's about 6 times
            faster than your

            fastest Perl version.



            However, I don't know whether these results are comparable. For
            example,

            the nature of the variation operators makes a big difference (e.g.
            mutation can

            be done in constant time, or can be linear in number of bits, depending
            on how it

            is implemented; I used a constant time one). For some implementations
            the

            efficiency of the random number generator can be the dominant factor.



            Also, you don't say whether these runs stopped as soon as a perfect
            solution was

            found. I note that in this ECJ tutorial:



            http://cs.gmu.edu/~eclab/projects/ecj/docs/tutorials/tutorial1/



            it stops once the solution is found. That

            makes a huge difference to the results, decreasing the time by a factor
            of 10

            on the above timings I gave.



            For the same algorithm, I'd be surprised if a carefully written Java
            version

            did not significantly outperform Perl, for anyone willing to make an
            effort.



            best wishes,



            Simon Lucas





            From: genetic_programming@yahoogroups.com
            [mailto:genetic_programming@yahoogroups.com] On Behalf Of Bob MacCallum
            Sent: 28 July 2008 10:30
            To: genetic_programming@yahoogroups.com
            Subject: {Disarmed} Re: [GP] Re: Perl vs. Java (or
            Algorithm::Evolutionary vs. ECJ)



            These kind of comparisons are always very difficult to do perfectly
            fairly.

            I'll just add my thoughts to the discussion... The "evolutionary
            algorithm"
            part of a project (by this I mean the crossing over, mutations, sorting
            on
            fitness, selecting parents etc.) may use a relatively small amount of
            CPU.
            Fitness evaluation is usually the main drain on resources (for me at
            least). This will always scale to the "speed" of the language you are
            using. In any language you can use tricks to improve performance. In
            Perl
            I've done a lot with PDL (a compiled-in matrix-crunching library), with
            good
            results.

            Probably the only fair way to benchmark different systems is to have
            each
            author tune theirs to a suite of problems (text, floating point, logic
            etc)
            and then have them run by a third party of a range of hardware and OS
            platforms. Competition style. But that's never going to happen.

            On Mon, Jul 28, 2008 at 9:44 AM, jmerelo666 <jmerelo@...
            <mailto:jmerelo%40geneura.ugr.es> > wrote:

            > > http://www.flickr.com/photos/atalaya/2709131555/,
            >
            > Sorry, the , gets sucked into the URL. Make that
            > http://www.flickr.com/photos/atalaya/2709131555/
            >
            > JJ
            >
            >
            >

            [Non-text portions of this message have been removed]





            [Non-text portions of this message have been removed]
          • jmerelo666
            Hi, ... It s probably better if you take into account just user time (which is what I used), not wallclock time. I don t really have a problem with this, 3-8
            Message 5 of 15 , Jul 28, 2008
            • 0 Attachment
              Hi,

              > I just benchmarked my own Java code for this using JJ's problem setup
              > on OneMax
              >
              > (popsize = 200, nBits = 128, nGens = 500), and got the following
              > timing (all in milliseconds)
              >
              > stats on 100 trials, using Java 1.6.0 on a 1.6ghz Intel Centrino laptop
              > (single
              >
              > threaded, so only using a single core of the dual-core machine).
              >
              >
              >
              > min = 191.0
              >
              > max = 227.0
              >
              > ave = 197.0
              >
              > std. err. = 0.59
              >
              >
              >
              > JJ, if you were using a similar machine, then that's about 6 times
              > faster than your
              >
              > fastest Perl version.

              It's probably better if you take into account just user time (which is
              what I used), not wallclock time. I don't really have a problem with
              this, 3-8 times faster is almost OK, because it's still in the same
              order of magnitude (but just almost)

              > However, I don't know whether these results are comparable. For
              > example,
              >
              > the nature of the variation operators makes a big difference (e.g.
              > mutation can
              >
              > be done in constant time, or can be linear in number of bits, depending
              > on how it
              >
              > is implemented; I used a constant time one). For some implementations
              > the
              >
              > efficiency of the random number generator can be the dominant factor.

              Still, method tweaks, in general, will just change a few percentage
              points the general performance.

              > Also, you don't say whether these runs stopped as soon as a perfect
              > solution was
              >
              > found. I note that in this ECJ tutorial:
              >
              >
              >
              > http://cs.gmu.edu/~eclab/projects/ecj/docs/tutorials/tutorial1/
              >
              >
              >
              > it stops once the solution is found. That

              Yep, I know. I changed the policy file to put them in the same
              conditions.

              >
              > makes a huge difference to the results, decreasing the time by a factor
              > of 10
              >
              > on the above timings I gave.

              However, I wasn't measuring the algorithmic efficiency, just the
              throughput.

              > For the same algorithm, I'd be surprised if a carefully written Java
              > version
              >
              > did not significantly outperform Perl, for anyone willing to make an
              > effort.

              I wouldn't be surprised it outperformed Perl, but my point here is
              that Perl can also outperform ECJ in some conditions, even slightly,
              so choosing a language for solving a particular problem is no longer a
              matter of raw performance, and you can't dismiss offhand Ruby, Perl or
              Python (well, maybe Ruby) "because they are slower than Java".

              JJ
            • Khaled Ahsan Polin
              Hi all, I was wondering yet there is any real life application of GA/GP. At least in industry ? One of my friend told me that these soft computing stuffs are
              Message 6 of 15 , Jul 30, 2008
              • 0 Attachment
                Hi all,

                I was wondering yet there is any real life application of GA/GP.
                At least in industry ? One of my friend told me that these "soft computing stuffs" are for science fiction enthusiasts? Is that true ?

                If not, then why don't we see big companies investing money on this research field ? But I am quite sure that GA/GP oriented market is much more smaller than other fields, (i.e. VLSI, Networking, WWW etc.).

                Actually what is the future ???



                jmerelo666 <jmerelo@...> wrote: Hi,

                > Fitness evaluation is usually the main drain on resources (for me at
                > least). This will always scale to the "speed" of the language you are
                > using. In any language you can use tricks to improve performance.
                In Perl
                > I've done a lot with PDL (a compiled-in matrix-crunching library),
                with good
                > results.

                That's true, but you can always call a program that evaluates fitness
                in the biggest number-cruncher you have at hand: farm it to another
                machine, code it it FORTRAN, whatever. That's true for any Perl, Java,
                Python, IO or Lua library you can think of. Or, if the language allows
                it (Perl does, and Java through JNI), interface your program with a
                module written in another language.

                My point is that there are not languages that are massively better
                than others when raw evolutionary computation performance is
                concerned. Which gives you freedom to code in whatever language you
                feel more comfortable with (yep, Visual Basic too). QED.

                > Probably the only fair way to benchmark different systems is to have
                each
                > author tune theirs to a suite of problems (text, floating point,
                logic etc)
                > and then have them run by a third party of a range of hardware and OS
                > platforms. Competition style. But that's never going to happen.

                But my hunch would be that, if it does, there's no free lunch. You
                earn something, you lose something.

                JJ






                ---------------------------------------------------------
                A.K.M. Khaled Ahsan Talukder
                Postgraduate Research Student
                Department of Computer Science and Software Engineering(CSSE)
                University of Melbourne
                Room No 3.08, ICT Building, 111 Barry Street, Carlton
                Melbourne, Victoria 3053
                Australia


                [Non-text portions of this message have been removed]
              • adil raja
                Hi, GA/GP are very strong optimization algorithms and have wider applicability than other much hyped machine learning algorithms, such as support vector
                Message 7 of 15 , Jul 30, 2008
                • 0 Attachment
                  Hi,
                  GA/GP are very strong optimization algorithms and have wider applicability than other much hyped machine learning algorithms, such as support vector machines and neural networks. One of the main advantages of these algorithms is that they can be tailored to a wider range of problem domains.

                  Given alone the fact that these are optimization algorithms, they remain at the hub of multi-disciplinary research. Thus, it may also not be fair to compare them with VLSI, networking, www etc. Indeed, the applications of these algorithms have been to many problems, including the fields that you have mentioned. They may be thought of to be as "hammers". Once held, everything in the world starts to look like a "nail". To this end, slight googling may reveal the wide range of applications of these algorithms.

                  Best regards,
                  Adil Raja



                  ----- Original Message ----
                  From: Khaled Ahsan Polin <polin_ruet@...>
                  To: genetic_programming@yahoogroups.com
                  Sent: Wednesday, July 30, 2008 11:07:07 PM
                  Subject: [GP] GA/GP and present industry market


                  Hi all,

                  I was wondering yet there is any real life application of GA/GP.
                  At least in industry ? One of my friend told me that these "soft computing stuffs" are for science fiction enthusiasts? Is that true ?

                  If not, then why don't we see big companies investing money on this research field ? But I am quite sure that GA/GP oriented market is much more smaller than other fields, (i.e. VLSI, Networking, WWW etc.).

                  Actually what is the future ???

                  jmerelo666 <jmerelo@geneura. ugr.es> wrote: Hi,

                  > Fitness evaluation is usually the main drain on resources (for me at
                  > least). This will always scale to the "speed" of the language you are
                  > using. In any language you can use tricks to improve performance.
                  In Perl
                  > I've done a lot with PDL (a compiled-in matrix-crunching library),
                  with good
                  > results.

                  That's true, but you can always call a program that evaluates fitness
                  in the biggest number-cruncher you have at hand: farm it to another
                  machine, code it it FORTRAN, whatever. That's true for any Perl, Java,
                  Python, IO or Lua library you can think of. Or, if the language allows
                  it (Perl does, and Java through JNI), interface your program with a
                  module written in another language.

                  My point is that there are not languages that are massively better
                  than others when raw evolutionary computation performance is
                  concerned. Which gives you freedom to code in whatever language you
                  feel more comfortable with (yep, Visual Basic too). QED.

                  > Probably the only fair way to benchmark different systems is to have
                  each
                  > author tune theirs to a suite of problems (text, floating point,
                  logic etc)
                  > and then have them run by a third party of a range of hardware and OS
                  > platforms. Competition style. But that's never going to happen.

                  But my hunch would be that, if it does, there's no free lunch. You
                  earn something, you lose something.

                  JJ





                  ------------ --------- --------- --------- --------- ---------
                  A.K.M. Khaled Ahsan Talukder
                  Postgraduate Research Student
                  Department of Computer Science and Software Engineering( CSSE)
                  University of Melbourne
                  Room No 3.08, ICT Building, 111 Barry Street, Carlton
                  Melbourne, Victoria 3053
                  Australia


                  [Non-text portions of this message have been removed]






                  [Non-text portions of this message have been removed]
                • Khaled Ahsan Polin
                  Hi, Yes, I did google but 90% of the entries are on academic research and experimentation on some toy problems. I was hoping to see some serious research in
                  Message 8 of 15 , Jul 30, 2008
                  • 0 Attachment
                    Hi,

                    Yes, I did google but 90% of the entries are on academic research and experimentation on some toy problems. I was hoping to see some serious research in industry. Actually I am looking for some research jobs in industry. But when I put "Genetic Algorithm" or "Evolutionary Optimization", as key words in job sites, I see very small number of jobs from some small game companies. On the other hand, this result is totally different when I put "VLSI", "Data Mining", "Bioinformatics", "Grid Computing" etc.

                    adil raja <adilraja@...> wrote:
                    Hi,
                    GA/GP are very strong optimization algorithms and have wider applicability than other much hyped machine learning algorithms, such as support vector machines and neural networks. One of the main advantages of these algorithms is that they can be tailored to a wider range of problem domains.

                    Given alone the fact that these are optimization algorithms, they remain at the hub of multi-disciplinary research. Thus, it may also not be fair to compare them with VLSI, networking, www etc. Indeed, the applications of these algorithms have been to many problems, including the fields that you have mentioned. They may be thought of to be as "hammers". Once held, everything in the world starts to look like a "nail". To this end, slight googling may reveal the wide range of applications of these algorithms.

                    Best regards,
                    Adil Raja

                    ----- Original Message ----
                    From: Khaled Ahsan Polin <polin_ruet@...>
                    To: genetic_programming@yahoogroups.com
                    Sent: Wednesday, July 30, 2008 11:07:07 PM
                    Subject: [GP] GA/GP and present industry market

                    Hi all,

                    I was wondering yet there is any real life application of GA/GP.
                    At least in industry ? One of my friend told me that these "soft computing stuffs" are for science fiction enthusiasts? Is that true ?

                    If not, then why don't we see big companies investing money on this research field ? But I am quite sure that GA/GP oriented market is much more smaller than other fields, (i.e. VLSI, Networking, WWW etc.).

                    Actually what is the future ???

                    jmerelo666 <jmerelo@geneura. ugr.es> wrote: Hi,

                    > Fitness evaluation is usually the main drain on resources (for me at
                    > least). This will always scale to the "speed" of the language you are
                    > using. In any language you can use tricks to improve performance.
                    In Perl
                    > I've done a lot with PDL (a compiled-in matrix-crunching library),
                    with good
                    > results.

                    That's true, but you can always call a program that evaluates fitness
                    in the biggest number-cruncher you have at hand: farm it to another
                    machine, code it it FORTRAN, whatever. That's true for any Perl, Java,
                    Python, IO or Lua library you can think of. Or, if the language allows
                    it (Perl does, and Java through JNI), interface your program with a
                    module written in another language.

                    My point is that there are not languages that are massively better
                    than others when raw evolutionary computation performance is
                    concerned. Which gives you freedom to code in whatever language you
                    feel more comfortable with (yep, Visual Basic too). QED.

                    > Probably the only fair way to benchmark different systems is to have
                    each
                    > author tune theirs to a suite of problems (text, floating point,
                    logic etc)
                    > and then have them run by a third party of a range of hardware and OS
                    > platforms. Competition style. But that's never going to happen.

                    But my hunch would be that, if it does, there's no free lunch. You
                    earn something, you lose something.

                    JJ

                    ------------ --------- --------- --------- --------- ---------
                    A.K.M. Khaled Ahsan Talukder
                    Postgraduate Research Student
                    Department of Computer Science and Software Engineering( CSSE)
                    University of Melbourne
                    Room No 3.08, ICT Building, 111 Barry Street, Carlton
                    Melbourne, Victoria 3053
                    Australia

                    [Non-text portions of this message have been removed]

                    [Non-text portions of this message have been removed]







                    [Non-text portions of this message have been removed]
                  • Nic McPhee
                    Check out the applications chapter of our free book _A field guide to genetic programming_: http://www.gp-field-guide.org.uk/ There are lots of cool examples
                    Message 9 of 15 , Jul 30, 2008
                    • 0 Attachment
                      Check out the applications chapter of our free book _A field guide to
                      genetic programming_:

                      http://www.gp-field-guide.org.uk/

                      There are lots of cool examples of successful applications there, from a
                      wide range of application domains. Several of these are even human
                      competitive.

                      And there are a number of big companies investing money in this sort of
                      research (Dow Chemical, for example, uses GP quite a lot, as do a number
                      of major pharmaceuticals). Certainly there's less investment in this
                      than in highly general areas such as "VLSI, Networking, WWW", but soft
                      computing techniques (include evolutionary computation) are used to
                      solve specific problems in all those areas.

                      Hope this helps,

                      Nic

                      Khaled Ahsan Polin wrote:
                      > Hi all,
                      >
                      > I was wondering yet there is any real life application of GA/GP.
                      > At least in industry ? One of my friend told me that these "soft computing stuffs" are for science fiction enthusiasts? Is that true ?
                      >
                      > If not, then why don't we see big companies investing money on this research field ? But I am quite sure that GA/GP oriented market is much more smaller than other fields, (i.e. VLSI, Networking, WWW etc.).
                      >
                      > Actually what is the future ???
                      >
                      >
                      >
                      > jmerelo666 <jmerelo@...> wrote: Hi,
                      >
                      > > Fitness evaluation is usually the main drain on resources (for me at
                      > > least). This will always scale to the "speed" of the language you are
                      > > using. In any language you can use tricks to improve performance.
                      > In Perl
                      > > I've done a lot with PDL (a compiled-in matrix-crunching library),
                      > with good
                      > > results.
                      >
                      > That's true, but you can always call a program that evaluates fitness
                      > in the biggest number-cruncher you have at hand: farm it to another
                      > machine, code it it FORTRAN, whatever. That's true for any Perl, Java,
                      > Python, IO or Lua library you can think of. Or, if the language allows
                      > it (Perl does, and Java through JNI), interface your program with a
                      > module written in another language.
                      >
                      > My point is that there are not languages that are massively better
                      > than others when raw evolutionary computation performance is
                      > concerned. Which gives you freedom to code in whatever language you
                      > feel more comfortable with (yep, Visual Basic too). QED.
                      >
                      > > Probably the only fair way to benchmark different systems is to have
                      > each
                      > > author tune theirs to a suite of problems (text, floating point,
                      > logic etc)
                      > > and then have them run by a third party of a range of hardware and OS
                      > > platforms. Competition style. But that's never going to happen.
                      >
                      > But my hunch would be that, if it does, there's no free lunch. You
                      > earn something, you lose something.
                      >
                      > JJ
                      >
                      >
                      >
                      >
                      >
                      >
                      > ---------------------------------------------------------
                      > A.K.M. Khaled Ahsan Talukder
                      > Postgraduate Research Student
                      > Department of Computer Science and Software Engineering(CSSE)
                      > University of Melbourne
                      > Room No 3.08, ICT Building, 111 Barry Street, Carlton
                      > Melbourne, Victoria 3053
                      > Australia
                      >
                      >
                      > [Non-text portions of this message have been removed]
                      >
                      >
                      > ------------------------------------
                      >
                      > Yahoo! Groups Links
                      >
                      >
                      >
                    • Sean Luke
                      Aha, a challenge! Before we establish firmly that under the right circumstances Perl can beat Java (which of course is true) it d be helpful to remove Stupid
                      Message 10 of 15 , Jul 30, 2008
                      • 0 Attachment
                        Aha, a challenge!

                        Before we establish firmly that under the right circumstances Perl can
                        beat Java (which of course is true) it'd be helpful to remove Stupid Code
                        by Sean in ECJ as a possibility. JJ, any chance you could throw me your
                        ECJ setup?

                        Sean, who is in Italy and cannot work on it until the 6th though...

                        On Mon, 28 Jul 2008, jmerelo666 wrote:

                        > Hi,
                        > I have just run a benchmark matching ECJ vs. Algorithm::Evolutionary,
                        > with somewhat surprising results. ECJ is in Java, AE
                        > (http://search.cpan.org/~jmerelo/Algorithm-Evolutionary-0.60/) in
                        > Perl. Usual benchmarks mark Perl as 20 time slower than Java, for
                        > general purpose stuff (floating point benchmarks, string processing
                        > and so on). I have run a benchmark using "tutorial1" from ECJ and this
                        > program that uses A::E
                        > (http://opeal.cvs.sourceforge.net/*checkout*/opeal/Algorithm-Evolutionary/benchmarks/onemax.pl)
                        > and I have found that not only performance is in approximately the
                        > same ballpark, but it can also be better if the latest perl VM,
                        > compiled without threads (which you can do issuing a couple of
                        > commands, no Perl/Linux wizardry here). I have posted the graphs at
                        > http://www.flickr.com/photos/atalaya/2709131555/, and, yes, since it's
                        > not a dedicated machine there's an outlier there that could have been
                        > eliminated (in ECJ), but, hey, there are also some outliers in the
                        > others. Paired t-tests prove that the difference is significative.
                        > Of course, this could vary if you really tweak ECJ, use a better or a
                        > tweaked VM, or profile the code in ECJ (which I have done for A::E) to
                        > eliminate bottlenecks, but my point is that, when all is said and
                        > done, the performance of a Perl library for evolutionary algorithms
                        > will be in the same ballpark as that of a Java library for the same
                        > subject, not 10 times slower (or 100 times).
                        >
                        > Cheers
                        >
                        > JJ
                        >
                        >
                      • petermrossyg
                        ... It s not true. In my experience -- in particular, I m thinking of non-academic events where I have had the opportunity to ask a large audience which of
                        Message 11 of 15 , Jul 31, 2008
                        • 0 Attachment
                          --- In genetic_programming@yahoogroups.com, Khaled Ahsan Polin
                          <polin_ruet@...> wrote:


                          > Hi all,
                          >
                          > I was wondering yet there is any real life application of GA/GP.
                          > At least in industry ? One of my friend told me that these "soft
                          > computing stuffs" are for science fiction enthusiasts? Is that true?
                          >
                          > If not, then why don't we see big companies investing money on this
                          > research field? But I am quite sure that GA/GP oriented market is
                          > much more smaller than other fields, (i.e. VLSI, Networking, WWW
                          > etc.).
                          >
                          > Actually what is the future ???

                          It's not true. In my experience -- in particular, I'm thinking of
                          non-academic events where I have had the opportunity to ask a large
                          audience "which of you have tried/used.." -- there are many users of
                          GA/GP techniques for industrial/commercial problems.

                          Why should we expect to see "big companies investing money on this
                          research field"? If it works for them, they don't want to tell
                          competitors about it. Publishing papers and bragging about technology
                          costs time and effort, in many cases bringing dubious returns. A few
                          companies that make their living by being able to do it better and
                          faster for you than you can yourself, do have an incentive to shout
                          about it. Most don't.

                          As for what the future might hold, we all have our own views. But
                          except for the few that earn their living by making oracular
                          pronouncements, most people would rather try to create new stuff
                          than to guess what others will be creating.

                          Peter Ross
                        • Anna Esparcia
                          ... this research field ? But I am quite sure that GA/GP oriented market is much more smaller than other fields, (i.e. VLSI, Networking, WWW etc.). It is
                          Message 12 of 15 , Jul 31, 2008
                          • 0 Attachment
                            > > If not, then why don't we see big companies investing money on
                            this research field ? But I am quite sure that GA/GP oriented market
                            is much more smaller than other fields, (i.e. VLSI, Networking, WWW etc.).

                            It is unlikely that you will find companies explicitly acknowledging
                            that they use techniques such as GA/GP. For starters, it's a matter of
                            having the competitive advantage.
                            Having said that, the case of Dow that Nic et al mention in their book
                            may be rare, but is not unique. Chevron is another example of a company
                            whose employees actively publish in the GP field. Or see for example
                            the websites of Natural Selection Inc, Solve IT or NuTech Solutions.

                            _Incidentally_ my institution is organising a workshop on business and
                            industry applications of Computational Intelligence, see
                            http://jican.iti.upv.es

                            Hope this helps,

                            Anna
                          • Mostafa Kalantar
                            Hi, you shouldn t compare a specific branch of computational intelligence (CI) like GA/GP with technologies like WWW or VLSI which include a broad spectrum of
                            Message 13 of 15 , Aug 2 1:01 PM
                            • 0 Attachment
                              Hi,
                              you shouldn't compare a specific branch of computational intelligence (CI) like
                              GA/GP with technologies like WWW or VLSI which include a broad spectrum of sub-technologies.
                              In fact you can compare GA/GP with other CI/Machine Learning approaches like Neural
                              Networks, Fuzzy Logic, or statistical methods like Support Vector Machines.

                              Pay
                              attention that Evolutionary Algorithms can be applied as an optimization tool
                              in a variety of fields including WWW and VLSI, or as a machine learning method.

                               

                              For
                              industrial case-studies see the books:

                              1.     
                              Soft
                              Computing Applications in Industry , Springer

                              2.     
                              Intelligent Control Systems Using Soft
                              Computing

                              3.     
                              Fusion of Neural Networks, Fuzzy Systems
                              and Genetic Algorithms: Industrial Applications

                              4.     
                              Industrial Applications of Genetic
                              Algorithms






                              [Non-text portions of this message have been removed]
                            • Peter Ross
                              Hi [private reply], ... I think the issue is that genetic algorithms and evolutionary optimization are too specific; VLSI , Data Mining ,
                              Message 14 of 15 , Aug 3 10:29 AM
                              • 0 Attachment
                                Hi [private reply],

                                On Thursday 31 July 2008, Khaled Ahsan Polin wrote:

                                > Yes, I did google but 90% of the entries are on academic research and
                                > experimentation on some toy problems. I was hoping to see some serious
                                > research in industry. Actually I am looking for some research jobs in
                                > industry. But when I put "Genetic Algorithm" or "Evolutionary
                                > Optimization", as key words in job sites, I see very small number of jobs
                                > from some small game companies. On the other hand, this result is totally
                                > different when I put "VLSI", "Data Mining", "Bioinformatics", "Grid
                                > Computing" etc.

                                I think the issue is that "genetic algorithms" and "evolutionary optimization"
                                are too specific; "VLSI", "Data Mining", "Bioinformatics", "Grid Computing"
                                are each broad categories. For example, if a company seeks someone with
                                talents in data mining, they would expect good applicants to be knowledgeable
                                about many computing techniques (including GAs, and maybe also GP), and also
                                know a good deal about statistics, data processing and cleaning and so on.

                                Companies are unlikely to advertise explicitly for expertise in GAs or
                                evolutionary methods, they would usually seek someone who is also familiar
                                with many other relevant techniques and who might have some sense of what's
                                best to use in any given circumstance and so might advertise for talents in
                                optimi[sz]ation, logistics, algorithm development and so on. Companies have to
                                be careful what they claim to be wanting, because once employed the person
                                has to be kept fed with work.

                                Although many universities offer components of computing or engineering
                                degrees that include significant stuff on evolutionary and bio-inspired
                                methods, they are not necessarily good at producing what industry wants.
                                It can be much easier and much cheaper to train several existing staff
                                in bio-inspired methods, perhaps by getting a consultant in for a while, than
                                to hire a new graduate and get them fitted into the company's working habits.
                                Hiring a lone person purely for specialist knowledge not shared by those
                                he/she will have to work alongside is often a recipe for discontent.

                                Although a lot of source code is produced by universities, a lot of it
                                is buggy and/or poorly documented and as such is not a great recommendation
                                -- I should know, I produced some of that myself in 20+ years at Edinburgh
                                University. It was a real eye-opener to observe that there were many grateful
                                users of some of the GA software I wrote, but not one of them spotted some
                                significant bugs that had been in the code for years before I noticed
                                them :-(, or if they did they didn't mention them.

                                Here is the most recent example I found in some public code produced by a
                                university research team at a highly-rated research university. The aim
                                of the fragment is to produce uniform-random permutations of 0..N-1; the
                                fragment has been rewritten by me to simplify it and to protect the original
                                author from shame:
                                for(i=0; i<N; i++)
                                a[i] = i; // a[] has been made big enough
                                for(i=0; i<N; i++) {
                                j = random(N); // uniform-random int in 0..N-1 inclusive
                                if(i != j)
                                swap(a[i], a[j]); // something that correctly
                                // swaps the two values
                                }
                                See the problem? It's not obvious, but this produces a significantly
                                biased sampling. I run a business, and I although I might mention
                                GA/GP in some further particulars of a job advert, I would also care
                                a lot about hiring someone who can avoid such mistakes. So I might look for
                                someone with a broader outlook and with evidence of good practical skills,
                                rather than trying specifically to target people looking for a job that
                                involves GA/GP. I might want good people who know a bit about GA/GP, but
                                that's probably not what I would say in an advert that I was wanting.

                                Best wishes,

                                Peter Ross
                              Your message has been successfully submitted and would be delivered to recipients shortly.