• 喵哈哈村的代码传说 第二章 神经网络


    (不想读废话的,可以直接跳到最后。)

    造数师,是天玄大陆五大职业中的一种。该职业往往需要凡人不可拥有的强大精神力,因为造数师需要看破对手的斗技,然后迅速用自己的精神力凝结出数字,攻击到敌方的斗技弱点上。

    相传强大的造数师,会瞬间创造出以PB记数量级的数据,这些数据就算毫无控制的直接扔下去,就足以暴力破坏掉他所能看见的任何事物,山崩地裂。而还有另外一些强大造数师,利用数据能创造出另一方世界,也许这个世界,便是某个强大的造数师所创造的。

    而王晔,便是一名造数师,只不过他现在实在是太弱了。

    王晔的上一场战斗,虽说一下子掏出了100000个元素,但是他自己也知道,其实那100000个元素全是0,他的精神力根本造不出那么多自定义的数字。

    如果沈宝宝的斗技预先检查一遍的话,输的恐怕就是王晔了。

    ---

    之后过了四五天,王晔虽然斗技不精,但也凭着自己低阶造数师的身份,辅佐强大的精神力,打入了八强。

    他的造数师身份,也被大家熟知。

    ---

    接下来这一场八强之战,将会是他面对的一场恶战,因为对手,叫做徐告。

    徐告,天玄徐家之后,虽说只有十四五岁的年纪,但是他已通过了天玄大陆第一门派谷歌派的招生筛选,成为了谷歌派的实习弟子,今年七月,他便要去谷歌派修习。

    虽说还未去修习,但是就凭他能通过那0.1%不到的招生筛选,就知道徐告的实力不容小觑。

    ---

    “八强第三场战斗,徐告对阵王晔,现在开始!”,只听裁判一声吆喝,就宣布了这对于王晔异常凶险的一场比赛开始了!

    那徐告一身白衣,手握静电容键盘,站在挑战台的一端,望着蓝天,仿佛根本没有注意到这场比赛开始了一般。

    王晔也不敢乱动,他知道,徐告的实力肯定在他之上,硬拼斗技的话,肯定是他输。

    他在等,等徐告的出手。

    两人就这样,站着。

    一个望着天,一个望着他。

    ---

    “你我差距太大,一招,如果身为造数师的你,能看破这一招,便算你赢。”徐告仿佛回过了神,淡淡的说道。

    “在下实力虽然……”王晔这句话还未说完,徐告就拿出键盘攻了过来。

    仿佛徐告根本不在乎王晔的回复,他说的话只是一种宣告罢了,根本不在乎你的回复,这或许就是徐家的高傲吧。

    徐告的纤细手指飞舞在静电容键盘上,带着“嗒嗒”的声音。

    一个光影,从静电容键盘中飞了出来。光影瞬间变得很大,笼罩了王晔的全身。

    ---

    这个光影好像并无伤害能力,只是一个控制斗技,牢牢的困住了王晔。

    王晔也不慌张,随手一招天玄大陆人人都会的A与B问题就朝着光影扔了上去。

    那光影仿佛根本不会A与B一样,被打了个闷响,被打散了少许。

    王晔一看这一招A与B居然有效果,于是迅速凭着自己的精神力,又造了一堆A与B的数据击打过去。

    这光影被连连击退,但是击退的部分却越来越小。

    王晔感觉渐渐掌握了节奏,又迅速的造了一些数据,击打了过去。

    但是第三波数据之后,光影就纹丝不动了。

    “这是?”,王晔感到一丝诧异。

    “正是”,徐告拿着键盘站在光影之外,静静地说道,“这是神经网络斗技,玄阶中级斗技,是隶属于机器学习的一种,具有学习能力,可谓你越强,这光影就会越强。这斗技虽然只是玄阶中级,但是练就深处,恐怕地阶的一些斗技也挡不住此招。”

    王晔一听,仿佛听出了什么。王晔大声问道,“这神经网络的隐含层有几层?”

    “只有一层,告诉你也无妨。”徐告淡淡答道。

    ---

    只见王晔的精神力,迅速凝结成几个组数据就扔了过去。

    光影挣扎了几下,便被打散了。

    神经网络便消失在空中。

    徐告仿佛知道这一切的样子,淡淡说道,“看来你看破了。”

    “不敢当,不敢当,在下只是恰好在书中看过罢了。神经网络的感知机只会由输出神经元进行激活函数的处理,即只拥有一层功能神经元,实际上该神经网络的学习能力很有限。感知机的学习过程一定是会收敛的,所以感知机能够处理大部分问题。比如A与B,就是一个线性可分的问题,他存在一个线性超平面能够将他们分开。”

    徐告说道,“但是,他不能处理非线性可分问题。”

    王晔点了点头,“没错,所以只要造出非线性可分问题的数据便能击破神经网络,比如A异或B问题。”

    “胜利者,王晔,晋级四强!”

    ---

    现在,假设你就是徐告,你会怎么应对这异或问题呢?

    如果不知道异或是什么,那就百度吧。

    本题包含若干组测试数据。
    第一行一个整数n,表示王晔所制造的数据位数。
    第二行两个n位二进制数a,b,保证只含有0或者1.

    满足 1<=n<=1000

    输出n位数,表示异或之后的答案。

     
    3
    000 111
    5
    01010 01010
    111
    00000
    题解
    #include<bits/stdc++.h>
    using namespace std;
    string a,b;
    int n;
    int main()
    {
    while(cin>>n)
    { cin>>a>>b;
      for(int i=0;i<n;i++)
      { if(a[i]==b[i])
        cout<<"0";
       else
      cout<<"1";
      }
       cout<<endl;
      }
    }

  • 相关阅读:
    如何将 CentOS 8 升级为 CentOS Stream 8
    在 Windows 中启用 NTP 时间同步服务并在 Linux 中设置时间同步
    在 linux 命令行中查询本机访问互联网使用的IP地址
    在 nginx 中配置 HSTS 并禁用 TLS 1.0、1.1
    使用 WinDbg 打开 Windows 蓝屏后转储 dmp 文件
    在 asp.net core 中,更换使用 Newtonsoft.Json 并阻止驼峰化命名
    .Net 线程内变量(数据存储)的方法
    使用 docker 部署 nextcloud
    如何为 docker 配置代理以提升访问速度或解决不可访问的问题
    使用 WinSW 将 Windows 下的软件程序转为服务
  • 原文地址:https://www.cnblogs.com/gfdybz/p/6555183.html
Copyright © 2020-2023  润新知