机器人

Rasa学习之旅 01

北慕城南 提交于 2019-11-30 02:58:07
目录 Rasa的安装和简单的测试 什么是Rasa: 安装Rasa: 测试自带的数据 查看项目里的文件内容 举一反三(自己的第一个机器人) Rasa的安装和简单的测试 怪雨是新手,新接触Rasa,以下内容不一定正确。有错误的地方欢迎指出。 什么是Rasa: ​ 我的理解是一开源的机器学习框架用于AI助手和机器人。基于两个主要的模块 NLU:自然语言理解(Natural Language Understanding,简称 NLU )技术 Core:核心 保存对话并决定下一步做什么 安装Rasa: 怪雨的系统:manjaro18+kde 安装前先更新同步数据库: sudo pacman -Syy 系统已经安装过一下内容哦你的可以跳过(这一步也只是确保不会因为缺少什么而报错) ​ 安装pip3 sudo pacman -S python-pip ​ 安装相关的依赖的python3的库 pip install numpy pandas jieba sklearn 安装Rasa和Rasa-x 并初始化Rasa ​ pip install rasa-x --extra-index-url https://pypi.rasa.com/simple ​ rasa init ​ rasax就是Rasa 带界面的工具安装后终端运行 rasax 会自动弹出浏览器进入Rasax界面 测试自带的数据

Akka简介与Actor模型(一)

て烟熏妆下的殇ゞ 提交于 2019-11-30 02:47:40
前言...... Akka是一个构建在JVM上,基于Actor模型的的并发框架,为构建伸缩性强,有弹性的响应式并发应用提高更好的平台。本文主要是个人对Akka的学习和应用中的一些理解。 Actor模型 Akka的核心就是Actor,所以不得不说Actor,Actor模型我通俗的举个例子,假定现实中的两个人,他们只知道对方的地址,他们想要交流,给对方传递信息,但是又没有手机,电话,网络之类的其他途径,所以他们之间只能用信件传递消息,很像现实中的的邮政系统,你要寄一封信,只需根据地址把信投寄到相应的信箱中,具体它是如何帮你处理送达的,你就不需要了解了,你也有可能收到收信人的回复,这相当于消息反馈。上述例子中的信件就相当于Actor中的消息,Actor与Actor之间只能通过消息通信。当然Actor模型比这要复杂的多,这里主要是简洁的阐述一下Actor模型的概念。 Akka中Actors模型 对并发模型进行了更高的抽象 异步、非阻塞、高性能的事件驱动编程模型 轻量级事件处理(1GB内存可容纳百万级别个Actor) 为什么Actor模型是一种处理并发问题的解决方案? 一开始我也不怎么理解,脑子里的一贯思维是处理并发问题就是如何保证共享数据的一致性和正确性,为什么会有保持共享数据正确性这个问题呢?无非是我们的程序是多线程的,多个线程对同一个数据进行修改,若不加同步条件,势必会造成数据污染

Codeforces Round #575 (Div. 3) B. Odd Sum Segments 、C Robot Breakout

痞子三分冷 提交于 2019-11-29 23:23:57
传送门 B题题意: 给你n个数,让你把这n个数分成k个段(不能随意调动元素位置)。你需要保证这k个段里面所有元素加起来的和是一个奇数。问可不可以这样划分成功。如果可以打印YES,之后打印出来是从哪里开始断开的。 否则打印出NO 题解: 加上奇数可以使和的性质改变,原来使偶数则变为奇数,奇数则变为偶数。加上一个偶数就不会有这样的变化。所以第一步就找出来有多少个奇数。因为要保证k个段的和都为奇数,所以每个段得先有一个奇数 剩下来的奇数数量如果是偶数那就不影响,这样就可以成功划分。如果是奇数那就划分不成功 代码: 1 #include<stdio.h> 2 #include<string.h> 3 #include<iostream> 4 #include<algorithm> 5 #include<map> 6 #include<math.h> 7 using namespace std; 8 typedef long long ll; 9 const int maxn=2e5+5; 10 const int mod=26; 11 const int block=300; 12 int v[maxn]; 13 int main() 14 { 15 int t; 16 scanf("%d\n",&t); 17 while(t--) 18 { 19 int n,m,sum=0,a; 20

ROS机器人编程--七.ROS编程基础 学习笔记

好久不见. 提交于 2019-11-29 22:57:48
7.2 发布者节点和订阅者节点的创建和运行 1.创建功能包 $ cd ~/catkin_ws/src $ catkin_create_pkg ros_tutorials_topic message_generation std_msgs roscpp 创建ros _ tutorials _ topic功能包,依赖于message_generation(创建新消息的功能包,std_msgs(ROS标准消息功能包)和roscpp(在ROS中使用C/C ++的客户端程序库),且必须在创建功能包之前安装。 创建功能包时,将在~/catkin_ws/src目录中创建ros_tutorials_topic功能包目录。 $ cd ros_tutorials_topic $ ls include → 头文件目录 src → 源代码目录 CMakeLists.txt → 构建配置文件 package.xml → 功能包配置文件 2.修改配置文件 ROS的必备配置文件package.xml是一个包含功能包信息的XML文件,其中包含用于描述功能包名称、作者、许可证和依赖包的信息。利用编辑器(gedit、vim、emacs等)打开文件,并修改它以匹配当前节点。 $ gedit package.xml ROS的构建系统catkin基本上使用CMake,它在功能包目录中的CMakeLists

线程与进程的区别,举个例子让你快速理解

别来无恙 提交于 2019-11-29 21:58:57
参考资料: http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html 进程是资源分配和管理的基本单位,进程中包含的一个或多个执行单元叫做线程。 一个程序至少有一个进程,一个进程至少有一个线程 理解线程与进程 如果把CPU比喻成工厂,单核CPU就是指工厂的电力有限,一次只能给一个车间供应电力,当CPU给某个车间供电的时候,其他车间都要暂时停工。 如果是多核CPU,就相当于这个工厂的电力可以一次供应多个车间 这时车间就相当于 进程 一个车间里,可以有很多个机器人,他们一起完成这个车间的任务 机器人就相当于 线程 一个车间可以有多个机器人,一个进程可以有多个线程 但是机器人需要供电才能运作,单核CPU就相当于一次只能给一个机器人供电 所以在实际生产中,工厂一次只能给一个车间的一个机器人供电,下一次给另外一个机器人供电(可以是相同车间或者不同车间),就这样交替供电来完成工厂中所有的任务 在系统中也一样,单核CPU一次只能给一个进程的一个线程调度,然后不同的线程交替执行,来完成系统中所有的任务 车间的空间是这个车间的机器人们共享的,相应地,一个进程中的内存空间可以给这个进程中的所有线程共享 但不同车间的空间不能共享,所以不同进程不能共享内存空间 来源: CSDN 作者: sun_ljz 链接: https://blog

算法学习之机器人的运动范围

天涯浪子 提交于 2019-11-29 21:52:50
地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子? 这个题目与上一道算法题类似。 使用dfs回溯法。 public class Solution { public int movingCount(int threshold, int rows, int cols) { if(threshold<1||rows<1||cols<1){ return 0; } boolean[][] visit = new boolean[rows][cols]; return getCount(threshold,rows,cols,0,0,visit); } public int getCount(int threshold,int rows,int cols,int r,int c,boolean[][] visit){ int count = 0; if(r>=0&&c>=0&&r<rows&&c<cols&&!visit[r][c]&&sum(r)+sum(c)<=threshold){ visit[r

机器人达到指定位置的方法数(hard)

戏子无情 提交于 2019-11-29 21:49:14
思路 dp[i][j]: 走i步,到j位置的方案数量 dp[i][j] = dp[i-1][j-1]+dp[i-1][j+1] 每个位置方案数,都等于上个时刻左右两边方案数,注意n+2和0的位置的padding,可以处理边界情况 #include <iostream> #include <vector> using namespace std; // n:总数,m:起点,k:k步,p:终点 int getPathNum(int n,int m,int k,int p){ int mod = 1e9+7; if(n < 1 || m < 1 || k < 1 || p < 1 || p > n) return 0; vector<vector<int>> dp(k+1,vector<int>(n+2,0)); dp[0][m] = 1; for(int i = 1;i <= k;i++){ for(int j = 1;j <= n;j++){ dp[i][j] = (dp[i-1][j-1]+dp[i-1][j+1])%mod; } } return dp[k][p]; } int main(){ int n,m,k,p; cin >> n >> m >> k >> p; int res = getPathNum(n,m,k,p); cout << res << endl; } 来源

RPA风潮下企业财务工作模式的变革

大憨熊 提交于 2019-11-29 21:30:12
RPA(机器人流程自动化)在财务领域的应用,正给企业财务带来前所未有的改变。 前RPA时代,财务领域面临的痛点 在RPA机器人应用之前,企业财务工作进程的推进,主要通过财务人员人工操作或信息系统自动化的方式予以实现。人工操作场景常面临工作效率低、错误率高、人员占用高三大痛点。 而通过信息系统进行自动化操作,一旦出现跨系统的数据流转需求,就需要在多个异构系统间进行系统改造和API开发。系统改造和API开发往往投资成本高、部署周期长、对需求响应缓慢。在改造开发完成之前,所有工作仍然依赖人工操作。特别是在系统对接较多的情况下,改造难度更是成倍增加。如果系统之间不允许开放接口,不开放源代码,又或者遗留系统源码已经无处可寻,那么改造根本无从谈起,最终只能依赖人工操作完成业务。 针对财务的业务内容和流程特点,RPA机器人代替财务手工操作,辅助财务人员完成交易量大、重复性高,易于标准化的基础业务,从而优化财务流程,提高业务处理效率和质量,减少财务合规风险,使资源分配在更多的增值业务上,促进财务转型。 RPA带来的财务工作模式新变革 在RPA风潮下,企业财务的工作模式将会迎来哪些变革? 一、人力劳动逐渐削弱 RPA机器人在大量的基础任务中代替了人力,人工操作逐渐减少,流程节点的业务处理实现了自动化。伴随人工操作的弱化,财务的自助式服务或将成为常态。另一方面,企业对便捷

【POJ2632】Crashing Robots

前提是你 提交于 2019-11-29 20:04:29
题目传送门 本题知识点:模拟 模拟机器人的运作过程,分别有三种功能,L 则是左转90°,R 则是右转90°,L 则是前进1格。让我们去模拟并判断它们的状态。 输入: 第一行是测试样例 第二行分别是矩形的长、宽(比如,5 4) // 题目是讲得很清楚的 // 4 // 3 // 2 // 1 // 1 2 3 4 5 第三行分别是机器人的个数以及指令条数 接下来是先输入每个机器人的初始状态(有多少个机器人就多少行),3个数值分别对应机器人所在位置的(x, y)以及机器人所面向的方向(因为 F 指令只能让机器人向前,所以懂得东南西北是很重要的一件事) 同样,接下来有多少条指令就输入多少行,3个数值分别对应机器人的号数,对应指令,以及执行该指令的次数。 等一切输入完后就可以执行(模拟)了。 输出有三种情况 一种是撞墙的 一种是撞机器人的 剩下的是每条指令都通过并没有发生意外(撞墙或撞机器人)的 对于前两种,我们得只输出一次就可以不管后面的了,因为 题目要求只输出一次情况 但如果在输入时就开始模拟的话,中断了就会影响后面的输入,所以我弄了个结构体去存执行指令 剩下的,就看自己是否细心与耐心了 我语言比较菜,所以代码写得很长,很暴力,感觉有些地方还可以写的简练一点,但由于自己懒,想快水过去好睡觉了。 数据很小。 // POJ 2632 #include<iostream> #include

机器人渠道

不问归期 提交于 2019-11-29 19:08:19
机器人渠道(1: 图灵机器人,2: 一个AI ,3 : 青云客,4 腾讯智能闲聊,5:天行机器人,6:海知智能,7:思知机器人) bot_channel: 7 来源: https://www.cnblogs.com/si812cn/p/11527561.html