3 小小何先生

学生身份

我要认证

一切有为法,如梦幻泡影;如露亦如电,应作如是观。

等级
TA的排名 7k+

Mujoco安装记录

文章目录注册安装mujoco_py参考注册在官网注册https://www.roboti.us/license.html,选用教育邮箱免费注册那一栏。填写相关的基本信息。填写好所有信息之后点击Request license按钮,之后等待接收邮件,邮件里面会有Account Number。  之后开启漫长的等待过程。之后需要填写接收到的Account Number到下图所示的框框中。  Computer ID运行文本框右侧对应平台的应用程序自动获得,命令如下:chmod +x geti

2020-10-26 17:02:02

安装mujoco报错:distutils.errors.DistutilsExecError: command ‘gcc‘ failed with exit status 1

  整个的报错记录如下:>>> import mujoco_pyrunning build_extbuilding 'mujoco_py.cymj' extensiongcc -pthread -B /home/hzq/anaconda3/envs/TianChi/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -Ianaconda3/envs/TianChi/li

2020-10-26 16:46:54

23种设计模式(二十四)领域规则之解析器

  在特定领域中,某些变化虽然频繁,但可以抽象为某种规则。这时候,结合特定领域,将问题抽象为语法规则,从而给出在该领域下的一般性解决方案。动机  在软件构建过程中,如果某一特定领域的问题比较复杂,类似的结构不断重复出现,如果使用普通的编程方式来实现将面临非常频繁的变化。  在这种情况下,将特定领域的问题表达为某种语法规则下的句子,然后构建一个解释器来解释这样的句子,从而达到解决问题的目的。模式定义  给定一个语言,定义它的文法的一种表示,并定义一种解释器,这个解释器使用该表示来解释语言中的句子。

2020-10-05 16:48:08

23种设计模式(二十三)行为变化之访问器

文章目录动机设计方法一设计方法二模式定义要点总结动机  在软件构建过程中,由于需求的改变,某些类层次结构中常常需要增加新的行为(方法),如果直接在基类中做这样的更改,将会给子类带来很繁重的变更负担,甚至破坏原有设计。  如何在不更改类层次结构的前提下,在运行时根据需要透明地位类层次结构上的各个类动态添加新的操作,从而避免上述问题?设计方法一#include <iostream>using namespace std;class Visitor;class Element{

2020-10-05 16:24:19

23种设计模式(二十二)行为变化之命令模式

文章目录动机模式定义要点总结  在组件的构建过程中,组件行为的变化经常导致组件本身剧烈的变化。”行为变化“模式将组件的行为和组件本身进行解耦,从而支持组件行为的变化,实现两者之间的松耦合。动机  在软件构建过程中”行为请求者“与”行为实现责“通常呈现一种”紧耦合“。但在某些场合–比如需要对行为进行”记录“、撤销/重(undo/redo)、事务等处理,这种无法抵御变化的紧耦合是不合适的。  在这种情况下,如何将”行为请求者“与”行为实现者“解耦?将一组行为抽象为对对象,可以实现二者之间的松耦合。模式

2020-10-05 16:11:42

23种设计模式(二十一)数据结构之职责链

动机  在软件构建过程中, 一个请求可能被多个对象处理,但是每个请求在运行时只能有一个接受者,如果显式指定,将必不可少地带来请求发送者与接受者的紧耦合。  如何使请求的发送者不需要指定具体的接受者?让请求的接受者自己在运行时决定来处理请求,从而使两者解耦。模式定义  使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递请求,直到有一个对象处理它为止。代码#include <iostream>#include <stri

2020-10-05 15:51:48

23种设计模式(二十)数据结构之迭代器

动机  在软件构建过程中,集合对象内部结构常常变化各异。但对于这些集合对象,我们希望在不暴露其内部结构的同时,可以让外部客户代码透明地访问其中包含的元素;同时这种”透明遍历“也为”同一种算法在多种集合对象上进行操作“提供了可能。模式定义  提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露(稳定)该对象的内部表示。代码template<typename T>class Iterator{public: virtual void first() = 0; vi

2020-10-05 15:18:37

23种设计模式(十九)数据结构之组合模式

文章目录数据结构模式动机模式定义代码要点总结数据结构模式  常常有一些组件在内部具有特定的数据结构,如果让客户程序依赖这些特定的数据结构,将极大地破坏组件的复用。这时候,将这些特定数据结构封装在内部,在外部提供统一的接口,来实现与特定数据结构无关的访问,是一种行之有效的解决方案。动机  软件在某些情况下,客户代码过多地依赖于对象容器复杂的内部实现结构,对象容器内部实现结构(而非抽象接口)的变化将引起客户代码的频繁变化,带来了代码的维护性、扩展性等弊端。模式定义  将对象组合成树形结构以表示”部分

2020-10-05 15:07:15

23种设计模式(十八)状态变化之备忘录

文章目录动机模式定义要点总结动机  在软件构建过程中,某些对象的状态在转换过程中,可能由于某种需要,要求程序能够回溯到对象之前处于某个点时的状态。如果使用一些共有接口来让其他对象得到对象的状态,便会暴露对象的细节实现。模式定义  在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可以将该对象恢复到原先保存的状态。class Memento{ string state; //..public: Memento(const string

2020-10-05 14:38:40

23种设计模式(十七)状态变化之状态模式

文章目录动机设计方法一设计方法二模式定义要点总结  在组件构建过程中,某些对象的状态经常面临变化,如何对这些变化进行有效的管理?同时又维持高层模块的稳定?”状态变化“模式为这一问题提供了一种解决方案。动机  在软件构建过程中,某些对象的状态如果改变,其行为也会随之而发生变化,比如文档处于只读状态,其支持的行为和读写状态支持的行为就可能完全不同。设计方法一  假设有一个网络操作的功能,有三种状态:打开、关闭、连接。每种状态下的功能不一样。state1.cppenum NetworkState

2020-10-05 11:06:03

23种设计模式(十六)接口隔离之中介者

动机  在软件构建过程中,经常会出现多个对象互相关联互交的情况,对象之间常常会维持一种复杂的引用关系,如果遇到一些需求的更改,这种直接的引用关系将面临不断地变化。模式定义  用一个中介对象来封装(封装变化)一系列的对象交互。中介者使各对象不需要显式的相互引用(编译时依赖-> 运行时依赖),从而使其耦合松散(管理变化),而且可以独立地改变他们之间的交互。要点总结  将多个对象间复杂的关联关系解耦,Mediator模式将多个对象间的控制逻辑进行集中管理,变”多个对象互相关联“为”多个对象和一个中

2020-10-05 10:30:09

23种设计模式(十五)接口隔离之适配器

动机  在软件系统中,由于应用环境的变化,常常需要将”一些现存的对象“放在新的环境中应用,但是新环境要求的接口是这些现存对象所不满足的。  如何应对这种”迁移的变化“?如何既能利用现有对象的良好实现,同时又能满足新的应用环境所要求的接口?Adapter.cpp//目标接口(新接口)class ITarget{public: virtual void process()=0;};//遗留接口(老接口)class IAdaptee{public: virtual voi

2020-10-04 22:55:05

23种设计模式(十四)接口隔离之代理模式

  代理模式同样也是属于增加一层间接层的这样一种模式。动机  在面向对象系统中,有些对象由于某种原因(比如对象创建的开销很大,或者某些操作需要安全控制,或者需要进程外的访问等),直接访问会给使用者、或者系统结构带来很多麻烦。  比如一个分布式的系统,想要去访问另一台机器中的进程。  如何在不失去透明操作对象的同时来管理/控制这些对象特有的复杂性?增加一层间接层是软件开发中常见的解决方式。模式定义  为其他对象提供一种代理以控制(隔离,使用接口)对这个对象的访问。client.cppcla

2020-10-04 22:35:50

23种设计模式(十三)接口隔离之门面模式

  接口隔离模式:在组件构建过程中,某些接口之间直接的依赖常常会带来很多问题、甚至根本无法实现。采用添加一层间接(稳定)接口,来隔离本来互相紧密关联的接口是一种常见的解决方案。...

2020-10-04 21:55:50

23种设计模式(十二)对象性能之享元模式

  享元模式与与单价模式都属于性能模式。都是用来解决对象带来的性能成本的问题。动机  在软件系统中如果采用纯粹的对象方案,会存在大量细粒度的对象充斥在系统中,从而带来很高的运行时代价–主要指内存需求方面的代价。设计方法一flyweight.cppclass Font {private: //unique object key string key; //object state //.... public: Font(const

2020-10-04 21:16:07

23种设计模式(十一)对象性能之单件模式

文章目录动机模式定义要点总结  之前所述的方法都是在通过抽象的设计来实现松耦合的设计。面向对象很好地解决了“抽象”的问题,但是不可避免地要付出一定的代价。比如抽象里面有虚函数和继承,虚函数带来的内存的消耗还是比较多的。  对于通常情况来讲,这些消耗都可以忽略不计,但是在某些情况下,面向对象所带来的成本必须谨慎处理。动机  在软件系统中,经常有这样一些特殊类,必须保证它们在系统中只存在一个实例,才能确保他们的逻辑正确性,以及良好的效率。  如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例?

2020-10-04 20:47:17

23种设计模式(十)对象创建之构建器

文章目录模式定义要点总结  在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法却相对稳定。class House{ //....};class HouseBuilder {public: House* GetResult(){ return pHouse; } virtual ~HouseBuilder(){}pr

2020-10-04 10:53:25

23种设计模式(九)对象创建之原型模式

文章目录动机模式定义要点总结动机  在软件系统中,经常面临着“某些结构复杂的对象”的创建工作;由于需求的变化,这些对象经常面临着剧烈的变化,但是它们却拥有比较稳定一致的接口。  之前的工厂方法和抽象工厂将抽象基类和具体的实现分开。原型模式也差不多,但是原型模式将抽象基类合并。Prototype.cpp//抽象类class ISplitter{public: virtual void split()=0; virtual ISplitter* clone()=0; //通过克

2020-10-04 10:34:32

23种设计模式(八)对象创建之抽象工厂

文章目录动机设计方法一设计方法二设计方法三模式定义要点总结  抽象工厂与工厂方法极其类似,都是绕开new的,但是有些许不同。动机  在软件系统中,经常面临着“一系列相互依赖的对象”的创建工作;同时,由于需求的变化,往往存在更多系列对象的创建工作。  假设现在有这样一个需求,我们需要做一个数据访问层。设计方法一  在数据访问层需要创建一系列的对象,比如建立链接,创建数据库的命令对象,创建数据库的DataReader对象。但是数据库可能不只有Sql的,可能还有别的类型的。EmployeeDAO1

2020-10-04 09:50:12

机器博弈 (三) 虚拟遗憾最小化算法

我的微信公众号名称:深度学习与先进智能决策微信公众号ID:MultiAgent1024公众号介绍:主要研究分享深度学习、机器博弈、强化学习等相关内容!期待您的关注,欢迎一起学习交流进步!虚拟遗憾最小化算法(Counterfactual Regret Minimization)如果不能遍历计算机所有节点的遗憾值,那么可以采用虚拟遗憾最小化算法来进行模拟计算。假设:集合AAA...

2020-01-23 21:59:24

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证
    技术圈认证
    用户完成年度认证,即可获得
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。
  • 分享宗师
    分享宗师
    成功上传21个资源即可获取