• 1.首家专业真正意义的悬赏问答赚钱网站!
  • 2.我们相信:重金之下必有勇者,钱能促进回答!
  • 3.购买答案别害怕,网站有担保,不满意可退款,拒绝恶意操作!
  • 4.回答售出就有收益,永久不限次数为您持续产生收益!
  • 5.提问也可以赚钱了,提问所属答案被购买确认,也可产生收益!
  • 6.收益计量都是不限次数、时间、地点,真正意义上的摇钱树!
  • 7.购买者是提问者本人,回答者享有百分百收益!
  • 8.自问自答模式已开启!经验/文章博客/聊天记录变问答赚钱!
    未登录
    当前位置: 首页 在线答疑 企划文书 问题详情

    遗传算法计算味源位置代码(java语言)

    期望1000.00金币,托管 0.00金币
    • 发布时间 2019-05-07 21:53
    • 期望完成时间 2019-05-14
    • 首次回答(共1个回答) 2019-05-08 11:06
    • 首次成交(共0笔成交)
    • 永无止息 预计100元成交金额

    用户尹*华, 曾经在<< 毕设论文-嗅觉机器人定位策略研究.doc >>文档页看到了我站,但是可能是该文档无法满足的其具体需求, 现在她通过我站悬赏问答网发布了一个紧急帮助信息,标题是:【遗传算法计算味源位置代码(java语言)】,具体需求内容是【基于机器嗅觉,利用遗传算法,计算出气味源大概位置,代码最好用java写】,但是由于本站人力物力有限,由于其问题太过于专业性太强,也或者是我们根本无暇顾及该用户的具体需求,导致本站根本无法为该用户提供最有效的服务。现在她(他)通过本站悬赏问答网平台发布了这一需求,希望有能人之士能够帮他解决这一个问题,并愿意付出100元作为报酬,不甚感激。

    如果您觉得这个提问很好,可以点击左方的按钮进行推广,支持微信,短信和邮件推广。

    注:100元只是象征性的价格标示,不代表实际成交价格,实际成交价格以能回答之人的定价为准。如果答案确实好,并且列出了一部分可信的免费内容(足以让购买回答答案者用户放心购买),则您可以放心购买。如果通过本站购买产生了交易纠纷,本站愿意承担一切线上交易的成交财务风险(限定在悬赏以后发生的购买金额范围以内,不承担线下交易的人身风险以及财务风险等任何风险)。

    如果你无法确定或者不知道回答的内容是不是你想要的,可以在线咨询回答者以确定具体情况,根据具体情况请回答者做必要的修改或者补充。 如果确实已经发生了交易纠纷,您可以联系本站 仲裁处理

    提问详情
    基于机器嗅觉,利用遗传算法,计算出气味源大概位置,代码最好用java写
    显示全部
    我来回答 注:回答售价不受提问人的期望和托管资金影响,您可以按照自己的意愿定价。 订阅 收藏
    加入备选
    187*****318 187*****318 2019-05-08 11:06:16

    3)轮盘选择

    基本思想:个体被选中的概率与其适应度值成正比,即按由个体适应度值所决定的某个规则选择将进入下一代的个体。(详细解析

    Java实现代码:

    ?

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    /**

     * 轮盘选择

     * 计算群体上每个个体的适应度值;

     * 按由个体适应度值所决定的某个规则选择将进入下一代的个体;

     */

    private void select() {

        double evals[] = new double[ChrNum]; // 所有染色体适应值

        double p[] = new double[ChrNum]; // 各染色体选择概率

        double q[] = new double[ChrNum]; // 累计概率

        double F = 0; // 累计适应值总和

        for (int i = 0; i < ChrNum; i++) {

            evals[i]   = calculatefitnessvalue(ipop[i])[2];

            if (evals[i] < bestfitness){  // 记录下种群中的最小值,即最优解

                bestfitness   = evals[i];

                bestgenerations   = generation;

                beststr   = ipop[i];

            }

     

            F   = F + evals[i]; // 所有染色体适应值总和

        }

     

        for (int i = 0; i < ChrNum; i++) {

            p[i]   = evals[i] / F;

            if (i == 0)

                q[i]   = p[i];

            else {

                q[i]   = q[i - 1] + p[i];

            }

        }

        for (int i = 0; i < ChrNum; i++) {

            double r = Math.random();

            if (r <= q[0]) {

                ipop[i]   = ipop[0];

            }   else {

                for (int j = 1; j < ChrNum; j++) {

                    if (r < q[j]) {

                        ipop[i]   = ipop[j];

                    }

                }

            }

        }

    }

    4)组合交叉(杂交)

    单点杂交:设定杂交概率与杂交个体,按照断裂点进行染色体杂交

    示例:
      杂交前:a=<0101|0000>, b=<0111|1111>
      杂交后:a=<0101|1111>, b=<0111|0000>

    Java实现代码:

    ?

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    /**

     * 交叉操作 交叉率为60%,平均为60%的染色体进行交叉

     */

    private void cross() {

        String   temp1, temp2;

        for (int i = 0; i < ChrNum; i++) {

            if (Math.random() < 0.60) {

                int pos = (int)(Math.random()*GENE)+1;     //pos位点前后二进制串交叉

                temp1   = ipop[i].substring(0, pos) + ipop[(i + 1) % ChrNum].substring(pos);

                temp2   = ipop[(i + 1) % ChrNum].substring(0, pos) + ipop[i].substring(pos);

                ipop[i]   = temp1;

                ipop[(i   + 1) / ChrNum] = temp2;

            }

        }

    }


    展开阅读全文
    遗传算法详解及Java实现的代码.docx 预览 下载  13.35kb
    遗传算法详解及Java实现.docx 预览 下载  151.84kb
    0 ID:2109 0人购买 0人评价 好评率:0%
    返回顶部 联系客服 消息中心0