CN110268686B - 物机系统以及方法 - Google Patents
物机系统以及方法 Download PDFInfo
- Publication number
- CN110268686B CN110268686B CN201780085944.5A CN201780085944A CN110268686B CN 110268686 B CN110268686 B CN 110268686B CN 201780085944 A CN201780085944 A CN 201780085944A CN 110268686 B CN110268686 B CN 110268686B
- Authority
- CN
- China
- Prior art keywords
- action
- machine
- performable
- computer
- thing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 82
- 238000003306 harvesting Methods 0.000 claims abstract description 3
- 230000009471 action Effects 0.000 claims description 527
- 230000004044 response Effects 0.000 claims description 73
- 230000009850 completed effect Effects 0.000 claims description 65
- 238000004891 communication Methods 0.000 claims description 63
- 230000006870 function Effects 0.000 claims description 20
- 230000003993 interaction Effects 0.000 claims description 5
- 238000004422 calculation algorithm Methods 0.000 description 70
- 230000001537 neural effect Effects 0.000 description 70
- 230000003044 adaptive effect Effects 0.000 description 69
- 230000000875 corresponding effect Effects 0.000 description 56
- 241001465754 Metazoa Species 0.000 description 48
- 238000010586 diagram Methods 0.000 description 40
- 230000003287 optical effect Effects 0.000 description 32
- 238000012384 transportation and delivery Methods 0.000 description 23
- 238000011156 evaluation Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 20
- 230000027455 binding Effects 0.000 description 19
- 238000003860 storage Methods 0.000 description 18
- 230000014509 gene expression Effects 0.000 description 17
- 230000033001 locomotion Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 16
- 238000007726 management method Methods 0.000 description 15
- 238000013473 artificial intelligence Methods 0.000 description 14
- 230000008859 change Effects 0.000 description 14
- 239000000126 substance Substances 0.000 description 14
- 238000009739 binding Methods 0.000 description 13
- 235000008429 bread Nutrition 0.000 description 12
- 238000013475 authorization Methods 0.000 description 10
- 239000008186 active pharmaceutical agent Substances 0.000 description 8
- 239000003607 modifier Substances 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 239000000463 material Substances 0.000 description 7
- 238000013499 data model Methods 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 239000003795 chemical substances by application Substances 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000009434 installation Methods 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 102000018120 Recombinases Human genes 0.000 description 4
- 108010091086 Recombinases Proteins 0.000 description 4
- 238000005266 casting Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 239000002243 precursor Substances 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000002085 persistent effect Effects 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 206010020751 Hypersensitivity Diseases 0.000 description 2
- 235000011034 Rubus glaucus Nutrition 0.000 description 2
- 244000235659 Rubus idaeus Species 0.000 description 2
- 235000009122 Rubus idaeus Nutrition 0.000 description 2
- 208000026935 allergic disease Diseases 0.000 description 2
- 230000007815 allergy Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 235000012791 bagels Nutrition 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 235000019219 chocolate Nutrition 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 2
- 235000014510 cooky Nutrition 0.000 description 2
- 239000013256 coordination polymer Substances 0.000 description 2
- 238000005553 drilling Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 235000012907 honey Nutrition 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000004615 ingredient Substances 0.000 description 2
- 235000012459 muffins Nutrition 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 235000013606 potato chips Nutrition 0.000 description 2
- 238000004886 process control Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 239000007858 starting material Substances 0.000 description 2
- 230000008093 supporting effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000003442 weekly effect Effects 0.000 description 2
- 244000118350 Andrographis paniculata Species 0.000 description 1
- 102400000303 Collagen-like Alzheimer amyloid plaque component Human genes 0.000 description 1
- 101800001122 Collagen-like Alzheimer amyloid plaque component Proteins 0.000 description 1
- UHDGCWIWMRVCDJ-CCXZUQQUSA-N Cytarabine Chemical compound O=C1N=C(N)C=CN1[C@H]1[C@@H](O)[C@H](O)[C@@H](CO)O1 UHDGCWIWMRVCDJ-CCXZUQQUSA-N 0.000 description 1
- 241000196324 Embryophyta Species 0.000 description 1
- 238000004971 IR microspectroscopy Methods 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000012152 algorithmic method Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 239000011324 bead Substances 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000011230 binding agent Substances 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 235000012970 cakes Nutrition 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- ADYPXRFPBQGGAH-UMYZUSPBSA-N dihydroergotamine mesylate Chemical compound CS(O)(=O)=O.C([C@H]1C(=O)N2CCC[C@H]2[C@]2(O)O[C@@](C(N21)=O)(C)NC(=O)[C@H]1CN([C@H]2[C@@H](C=3C=CC=C4NC=C(C=34)C2)C1)C)C1=CC=CC=C1 ADYPXRFPBQGGAH-UMYZUSPBSA-N 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000001035 drying Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 210000003811 finger Anatomy 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000012060 immune response imaging Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000003973 irrigation Methods 0.000 description 1
- 230000002262 irrigation Effects 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000002844 melting Methods 0.000 description 1
- 230000008018 melting Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 239000011664 nicotinic acid Substances 0.000 description 1
- 101150090922 orgA gene Proteins 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000011164 ossification Effects 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 230000000803 paradoxical effect Effects 0.000 description 1
- 235000014594 pastries Nutrition 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 230000004936 stimulating effect Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Molecular Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Machine Translation (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Massaging Devices (AREA)
- Confectionery (AREA)
- Prostheses (AREA)
Abstract
一种用于收获知识的第一(P(TM))的由计算机实施的方法。所述方法包括:完成与P(TM(thing))交互的第一P(TM(i)),以设置表示内容的第一物;完成与所述P(TM(thing))交互的第二P(TM(i)),以将所述第一物的所述内容解析为表示声明的第二物;完成与所述P(TM(thing))交互以评估所述第二物的所述声明的第三P(TM(i)),以计算表示可完成的声明的第三物;以及完成与所述P(TM(thing))交互的第四P(TM(i)),以完成所述第三物的所述可完成的声明。在完成所述可完成的声明时,所述第四P(TM(i))与所述P(TM(thing))交互,以设置表示后验知识的一个或多个物。
Description
相关申请的交叉引用
本申请要求于2016年12月7日提出的发明名称为“THING MACHINE SYSTEM ANDMETHOD”、序列号为62/431,143的美国临时专利申请的权益,该申请的全部内容通过引用并入本文。
技术领域
本发明涉及计算机架构以及设计,更具体地,涉及物机(Thing Machine),其表示物机能够完成(perform)的动作(action),以及动作所作用的物(Thing),作为物的实例使用多维图形(graph)模型在非暂时性存储器中进行管理。
背景技术
二十五年以来,网页一直是使用网页浏览器来进行呈现的。25年以来,浏览器有了显著的演进。但是,迄今为止,浏览器仍然使用客户端-服务器模型来对网页进行呈现。最新的浏览器中的饼干文件(cookie)信息,现在能够被同步到云设备(cloud)中,以在我们使用的不同装置间共享我们的状态信息。
这25年间,主要通过使用桌面以及笔记本电脑来接入网页。提供有网页浏览器的移动装置开始于1996年左右。九年后,谷歌(Google)宣布(至少在美国境内)超过半数的谷歌搜索源于移动装置。
请注意,在这超过50亿的网页中,相当一部分并不是移动友好的。例如,根据2016年的估计,54%的小企业具有网站。在这些网站中,仅64%是移动友好的。从而,仅37%的小企业具有移动友好的网站。而每年美国境内超过半数的销售额是由小企业贡献的。
由于缺乏移动友好的网页,很多用户下载了零售商移动应用程序,以图改善用户体验。每个应用程序专门用于一具体的业务。应用程序图标消费屏幕显示的空间。随着越来越多的应用程序被下载,最终导致杂乱。终端用户必须花费时间组织手机上的应用程序,以便能够在无数的图标中导航发现所要搜索的应用程序。手机操作系统应用程序编程接口(API)不断更新,这要求专门的开发团队,以确保手机应用程序是最新的。由此所添加的费用是很多小企业所无法负担的。
网页使能(enabled)的语音启用(activated)装置越来越常见。正在长大的这代孩子知道可以向手机询问如何到达其朋友的家。智能电话、闹钟、智能手表、智能电视、亚马逊智能音箱(Amazon Echo)、家庭自动化系统以至摩托车头盔仅是语音启用装置的几个示例。
经由网络使能的装置包括恒温器(thermostat)、锁、摄像头、发电机、咖啡机、洗衣机和烘干机、电灯开关、安全保障系统、玩具、灌溉系统,以及无数其它装置以及传感器。该互相连接的世界有时被称为物联网(Internet of Things)。
假设站在该互联网的中心朝外看向边缘,你会看见连接到该互联网的全部物。我们称其为装置以及传感器的物联网。如果你走到边缘,捡起一装置,并回头看向中心,你会看见所提供的服务,其称为服务网(Internet of Services)。
当人们意识到服务是被提供的物,并且装置以及传感器的物联网和服务的物联网之间突然存在灰色区域时,世界变复杂了。物理的物以及虚拟的物添加了物联网的含义的模糊性。这在市场上造成了混乱。
使事情进一步复杂化的是,很多物理的装置经常可以使用诸如GSM、CDMA、LTE、SS7、紫蜂(Zigbee)、Z波(Z-Wave)、微蒙(WeMo)、近场通信(NFC)、蓝牙(Bluetooth)、家庭物联网通讯协定技术(Thread)、BLE等多种协议进行通信。使用我们的手机,我们能够通过简单地将我们的手机伸向收银机,来使用例如NFC完成支付。类似地,我们可以使用蓝牙将我们的手机与汽车音响系统进行配对(pair)连接。在这两种情况下,装置都没有使用互联网协议,尽管如此,我们仍然会将手机视为物联网中的物。
自2005以来,已有超过三千五百万可互相操作的Z-Wave装置被售出(Z-Wave联盟,Z-Wave Alliance)。Z-Wave网络控制器用于管理你的Z-Wave装置网。技术上,互联网就绪的Z-Wave网络控制器用于经互联网进行通信。但是所述控制器仍然使用Z-Wave与Z-Wave装置通信。这又添加了物联网定义的混乱程度,因为Z-Wave装置是物,但是与控制器通信,而该控制器可以是物联网中的物,也可以不是物联网中的物。
由于上述物联网定义的混乱,国际电信联盟在描述物联网时甚至未使用互联网这一关键词。相反,其将物联网定义为:通过基于现有的以及演进中的可互相操作的信息以及通信技术、对(物理的以及虚拟的)物进行互相连接、而使能先进服务的、针对信息社会的全球基础设施(ITU-T)。我们能够达成的共识是:存在物。
我们对物进行分类,以对其进行描述和归类。一些物是概念,比如属性/所有物(property)、销售票据(bill of sale)、称号(title)、版权、诸如出生证书等文档、法定标的(legal tender)或者货币(money)的值。物可能表示事件、警报、或者测量单位、地理位置,或者甚至时间。另一些物是诸如装置以及传感器、手机、Ipad或者网页等的对象(object)。甚至动作也是物,像以下句子中的动作:别光站那儿,做点什么。
图1是示出人对祈使式(imperative)命令可能如何反应的原初(primitive)流程图。首先,由(诸如听训练者告诉你接下来要做什么的)动词动作使能我们的一个或多个感官。你会使用针对具体的语言的听词汇(listening vocabulary)解析(parse)被说出的字词(word),并创建表示所述祈使式命令的想法。接下来,你评估(evaluate)所述命令,以确定接下来要做什么。我对该命令的理解正确吗?我能够完成该命令吗?我想要完成该命令吗?可能我累了需要休息。
有时我们生成响应(response),例如确认我们理解了我们被问什么。有时响应是完成动作本身。我们可能竖起拇指、做面部表情,以表明同意或者不满,或者使用我们针对给定的语言的说话(speaking)词汇,以传达OK。替换地,响应于原地慢跑的指示,我们只是开始原地慢跑。
字词“动词”本身是名词,其通常是句子主要部分之一并且表达动作、发生或者存在的状态,见梅里曼韦伯斯特(Merriman Webster)词典。动作是做某事的事实或进程。
一些物表达动作。另一些物是动作能够作用的物。从而物的奇特性(Singularity)是:全部物都是物。
在现有技术状态下,词组“物联网”具有多种定义,其主要聚焦于连接到该互联网的装置以及传感器,而不是诸如向订户提供的服务等的物。其中,订户是通过其订户识别码及口令(password)进行识别的。而这些都是物。这限制了要体现为机器代码的算法程序的实施所能够被建模的方式,从而降低了效率,添加了成本。
发明内容
本发明的实施例提供物机,其表示物机能够完成的动作,以及动作所作用的物,作为物的实例使用多维图形模型在非暂时性存储器中进行管理。
根据一方面,一种用于收获知识的第一(P(TM))的由计算机实施的方法包括:完成与P(TM(thing))交互的第一P(TM(i)),以设置表示内容的第一物;完成与所述P(TM(thing))交互的第二P(TM(i)),以将所述第一物的所述内容解析为表示声明的第二物;完成与所述P(TM(thing))交互以评估所述第二物的所述声明的第三P(TM(i)),以计算表示可完成的声明的第三物;以及完成与所述P(TM(thing))交互的第四P(TM(i)),以完成所述第三物的所述可完成的声明。在完成所述可完成的声明时,所述第四P(TM(i))与所述P(TM(thing))交互,以设置表示后验知识的一个或多个物。
根据另一方面,一种基于计算机的系统包括:一个或多个基于计算机的处理器;以及偶联到所述一个或多个基于计算机的处理器的基于计算机的存储器。所述基于计算机的存储器存储有计算机可读指令。当被所述一个或多个基于计算机的处理器执行时,所述计算机可读指令导致所述一个或多个基于计算机的处理器完成一方法。所述方法包括:通过执行对应于第一P(TM(i))的所述计算机可读指令的第一段以与对应于P(TM(thing))的所述计算机可读指令的另一段交互,来完成所述第一P(TM(i)),以设置表示内容的第一物;通过执行对应于所述第一P(TM(i))的所述计算机可读指令的第二段以与对应于所述P(TM(thing))的所述计算机可读指令的所述另一段交互,来完成第二P(TM(i)),以将所述第一物的所述内容解析为表示声明的第二物;通过执行对应于所述第一P(TM(i))的所述计算机可读指令的第三段以与对应于所述P(TM(thing))的所述计算机可读指令的所述另一段交互,来完成评估所述第二物的所述声明的第三P(TM(i)),以计算表示可完成的声明的第三物;以及通过执行对应于所述第一P(TM(i))的所述计算机可读指令的第四段以与对应于所述P(TM(thing))的所述计算机可读指令的所述另一段交互,来完成与所述P(TM(thing))交互的第四P(TM(i)),以完成所述第三物的所述可完成的声明。
在一些实施方式中,在完成所述可完成的声明时,P(TM)可以与对应于所述P(TM(thing))的计算机可读存储器的所述其它段交互,以设置表示后验知识的一个或多个物。
此外,在典型的实施方式中,所述P(TM(thing))对应于所述计算机可读存储器的又一段。当被执行时,所述计算机可读存储器的所述又一段导致所述一个或多个基于计算机的处理器组织或者管理物以及/或者所述物之间的任意可变关系。
在一示例性实施方式中,物机包含处理器、非暂时性存储器以及/或者非暂时性计算机可读介质,以及可完成的机器代码P(TM)。P(TM)由第一组可完成的机器代码动作构成,该组具有一个或多个可完成的机器代码动作P(TM(i))。其中,各可完成的机器代码动作P(TM(i))被配置为模型的算法程序的实施。其中,第一P(TM(i))提供的动作是:自行配置在所述物机的非暂时性存储器中的物的第一词汇,所述物表示所述处理器能够作为动作完成的物以及动作能够作用的一组物,其中,完成至少一P(TM(i))机器代码动作,以配置物机的非暂时性存储器中的物的第二词汇,该词汇表示核心词汇,通过核心词汇能够提供应用。
附图说明
附图提供对本发明的进一步的理解,被并入并构成说明书的一部分。附图中的各组成部分不一定是按比例绘制的,而是着重于清楚地示出本发明的原理。附图示出本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是示出人对祈使式(imperative)命令可能如何反应的原初流程。
图2是根据本发明一实施例的物机的部件的示意图。
图3是物机的启动(boot)进程的示意图。
图4是用于展示物机根据启动进程创建图形的图形。
图5是示出物B独立于物A存在的关系的图形。
图6是示出关系thing:sttia的图形。
图7是示出使用关系thing:is-a将与可完成的动作有关系的物分类为thing:verb的图形。
图8是支持分类的图形。其中,物Namespace(命名空间)被分类为thing:namespace。thing:namespace是thing:class(类)。
图9是示出支持分类的图形。其中,物被分类为thing:context。
图10是将http URI示例性地绑定到物的示意图。
图11是示出thing:graph的图形。其中,空白节点表示满足(satisfaction)宣称(claim)。所述宣称可能引用thing:object。
图12是示出thing:assertion断言thing:subject具有数值的值的图形。因此,不要求有thing:object。
图13是示出thing:assertion宣称thing:subject的值小于thing:object的值的图形。
图14是具有连接器的图形的示例。
图15是例示由物机完成的最少的运行时步骤的流程图。
图16是thing:graph,其使得P(TM(i))是动作P(TM(parse)),其解析XML文档得到thing:graph,使得以下断言为真:存在名为core:print的物,使得存在名为“message(消息)”的物,且值等于“Hello,World(你好,世界)”。
图17是图形,使得P(TM(config))作用于由物request namespace(请求命名空间)限定的物,也即G.id(示出为空白节点),使得存在G.request和G.urr。
图18是示出作用于由URI request:statement(声明)识别的物的P(TM(config))的版本my:configure(配置)的图形。
图19是示出物x是物y的先驱(predecessor),y是物x的接替者(successor)的有向图形。谓语是关系物such that there is a(使得存在),记为thing:sttia。
图20是示出物x是物z的先驱的有向图形。谓语是“such that there is aninstance(使得存在实例)”,记为thing:sttiai。
图21是用英语阐释的有向图形。
图22是示出物x是thing:table的有向图形。
图23是示出多个物与单个物有关系的有向图形。
图24是示出物“x”为物类“c”的成员的有向图形。
图25是示出关系的有向图形。所述关系指示物“x”的名字是物类“b”的成员。
图26是示出关系的有向图形。所述关系指示物“x”的值是物类“c”的成员。
图27是示出上下文(context)包括请求命名空间、响应命名空间以及本地(local)命名空间的有向图形。
图28是示出分类默认为request:class=“thing:thing”的动词图形。
图29是对应于默认为request:class=“thing:class”的分类的动词图形。
图30是示出G.request(P(TM(i)))表明P(TM(i))能够作用于限定于请求命名空间中的物的图形。
图31是示出G.request(P(TM(i)))表明P(TM(i))能够作用于由限定于请求命名空间中的物statement限定的物Contact(联系人)的图形。
图32是示出示例性G(P(TM(i)))是生根的(rooted)有向thing:graph的图形。该thing:graph包括子图形G.request(P(TM(i)))以及子图形G.urr(P(TM(i)))。所述子图形指示P(TM(perform))是如何请求P(TM(i))完成其动作的。
图33是作为通用图灵(Turing)机的物机的示意图。
图34是作为自适应神经机器人(Neural Bot)的物机的示意图。
图35是示出在初始化期间,P(TM(thing))分配名为monad(单子)的物并对其进行初始化,作为物机的thing:graph的根的图形。
图36是示出上下文量化一组物的图形。该组物用于分辨(resolve)由一个或多个自由变量及其间关系的表达构成的列表。
图37是示出物context(上下文物)是thing:stack的图形。通过thing:stack,P(TM(thing))能够通过算法将物推到堆栈(stack)上,或者使物弹出堆栈,从而改变上下文。
图38是示出表示引用可完成的动作的物被分类为主动(Active)物的图形。
图39是示出G(P(TM(i)))可以包括附加的物信息的图形。该附加的物信息例如是包括来自完成P(TM(i))的响应的物的描述。
图40是图形G(P(TM(thing.set))),其对应于用于设置非暂时性存储器中的物的程序P(TM(thing.set))。
图41是图形G(P(TM(thing.get))),其对应于程序P(TM(thing.get))。该程序用于获得非暂时性存储器由列表request:uri给定的物的表示。
图42是图形G(P(TM(thing.unset))),其对应于程序P(TM(thing.unset))。该程序用于从非暂时性存储器取消设置物的表示。
图43是示出G.request指示动作能够作用于request:statement的图形。其中,request:statement是thing:statement。
图44是子图形G.request,其表明动作能够作用于物request:using。其中,物request:using是thing:listing。
图45是示出P(TM(eval))通过算法与P(TM(thing))交互的图形。
图46是示出通过列表request:stream进行识别的物的值是要解析的流的图形。
图47是示例性图形,其示出解析示例性XML片段。
图48是示出由列表request:input给定的物的值是要解析的输入的图形。
图49示出图形G(P(TM(request)))。
图50是子图形G.request,其表明P(TM(bind))能够作用的物。
图51是被阐释为断言的thing:graph。该断言描述成员资格要求。该成员资格要求用于使物被绑定为类ImageObject的成员。
图52是由列表local:object给定的未被绑定的thing:graph。
图53是示出请求的thing:graph,请求将local:object thing:graph绑定为物schema(纲要):ImageObject。
图54是描述被分类为BroadcastService对于物的含义的断言。
图55是子图形G.request,其表明动作P(TM(perform))作用于request:statement。
图56是示出P(TM(task.set))的图形,P(TM(task.set))与P(TM(thing))交互以通过算法作用于通过列表request:statement.task进行识别的物,其值是要设置为thing:task(任务)的物的列表。
图57是示出P(TM(task.perform))的图形,P(TM(task.perform))与P(TM(thing))、P(TM(eval))以及P(TM(perform))交互。
图58是示出request:statement.listing的图形,request:statement.listing识别其值是列表的物,该列表表示P(TM(format)所要格式化的thing:graph。
图59是示出物URI限定限定物header(包头)的物request、物path(路径)以及物domain(域)的图形。
图60是生成的HTTP Get方法请求的示意图。
图61是通过P(TM(http:get))收到的响应的示意图。
图62是通过解析响应及与P(TM(thing))交互而得到的一组thing:graph。
图63是P(TM(parse.html))的示意图,P(TM(parse.html))作用于其值是列表的物request:content(内容),该列表表示其值是待解析的HTML内容的物。
图64是HTML内容中的示例性微数据的示意图。
图65是thing:graph,其表示来自P(TM(parse.html))的微数据,P(TM(parse.html))提供与P(TM(thing))交互以解析内容的动作。
图66示出P(TM)解析以物语言表达的内容,其描述期望的P(TM)配置。
图67是示例性实施的示意表示,根据该实施,动作P(TM(i))生成可完成的声明,且P(TM(perform))完成该声明。
图68是示出动作P(TM(i))能够与P(TM(thing))交互以设置物statement的示例性流程图。
图69是示例性动作P(TM(thing))的示意表示,该动作将物组织为有向图形,该图形的节点表示物,连接节点的弧线(或者边缘)表示物之间的可变关系。
图70是示例性动词词汇及其所涉及的交互的示意表示。
图71是示例性智能物机的示意表示,该智能物机能够完成作为请求的动词动作parse,以根据协议解析收到的内容。
图72是示例性智能物机通信以及协议的示意表示。
图73是示出示例性P(TM(i))生成可完成的声明的流程图。其中,P(TM(perform))能够完成该可完成的声明。
图74是示例性实施的流程图,示出P(TM(i))与P(TM(thing))交互以使P(TM(thing))能设置表示可完成的声明的物。
图75是示例性P(TM(thing))管理物及其间关系的示意表示。
具体实施方式
本系统以及方法提供的新颖的改进针对计算机的功能以及能力、乃至计算机的定义,其在本文中被称为物机。
描述可完成的动作的物可以用图灵机来加以表达。图灵机是能够完成从一组输入变量确定一组结果的程序的假设性的计算机器的数学模型。
针对i=(1,n),TM(i)是计算机器,其能够接收一组输入,完成程序性的动作P(TM(i)),并生成一组输出。
可能有任意数目的这样的机器。其中,各P(TM(i))完成程序性的动作,并且有可能生成输出。第一P(TM(i))的输出可以是第二P(TM(i))的输入。并且,一组P(TM(i))经常能够并行完成。
我们能够以与我们命名诸如说(talk)、听、评估、响应等动词的方式类似的方式为这些动作分派有意义的名字。通过添加动词动作perform,我们能够让机器完成所命名的具体动作。一些诸如亚马逊智能音箱或者苹果智能语音助手(Apple Siri)的机器能够以这种方式响应语音命令。亚历克萨,再采购些纸巾。西丽,几点了?在各示例中,我们让机器完成诸如采购物品的动作或者回答问题。
为了满足请求,机器首先需要评估被请求的是什么。在某些方面中,这类似于让二年级学生从21减去7。包括的顺序如下。使用英语听词汇将语素集合(lexicon)解析为想法,评估想法的意思,选择动作,完成动作,并且使用英语说话词汇传达响应。替换地,二年级学生可以耸肩并回应:我不知道。
还注意到,请求机器完成某动作并不意味着(imply)为提出请求的每个人完成相同的动作。考虑例如被输入到网页浏览器中的诸如http://www.thinglanguage.com/v1/index.html的URL。通过输入URL,你实质上是请求浏览器获得并显示通过所述URL进行识别的物。识别码以及对应的资源二者都是物。
请求其浏览器获得并显示相同的URL的两个人可能接收到两个不同的结果,虽然二人都输入了相同的URL。在一情况下,内容可以是针对于具体个人的。在另一情况下,HTTP请求包头可以包括状态信息,其用于由网页服务器构建资源内容。要认识到URL可以识别的物和被显示的物是不同的。
物机提供独特的方式,基于适应于物机交互的启动物机词汇对收到的请求进行管理以及阐释,得到对物机的词汇的修饰。其中,物机能够基于所述词汇完成动作。结果,如本文所展示的,物机能够阐释、做动作并适应于接收的请求,同时增加阐释以及动作能力。基于物的归类,收到的请求、交互以及对物机的请求的响应或者是作为动作物(其是动作动词)被完成,或者是作为可以被动作物作用的物(在本文中也被称为非动作物)被完成。
如上所述,由于物的奇特性,物可能表示可完成的动作,或者表示可完成的动作能够作用的物。如本文所解释及示出的,物机将物组织为thing:graph。其中,图形的节点表示物,thing:graph内的弧线表示物之间的可变关系。
在本文中,表示可完成的动作的物被称为动词物(thing:verbs)。thing:verbs的集合是动词词汇物。动词词汇以及动词动作能够作用的物是词汇物。简言之,使用最少的词汇,本系统以及方法可以使用通用量化进行断言:如果有物是物机收到的请求,物机解析请求,然后在物机的可用的词汇的上下文中评估请求,以选择合适的动词,并完成动词对应的动作。由被完成的动作得到表示响应的一组物。该概括使得针对未生成符合语法规则的响应的动作,响应能为空的物集。有时,诸如在动词关停(shutdown)的情况下,奉行正在被完成的动作即是足够的响应。
一般概述
以下提供对物机以及相关联的词汇的概述,包括三个主要部分:
1、物图形数据模型描述,其将物描述为具有不可变组成部分。所述不可变组成部分包括一组关系。该组关系包括物之间的可变关系。
2、架构概述,其提供对物机架构的高度概述。
3、物语言部分,其引入在物语言中写文档。
物机结构
图2是根据本发明一实施例的物机100的部件的示意图。如图2所示,物机100包含存储器102、处理器104以及非暂时性次级存储装置106。存储器、处理器以及非暂时性次级存储装置经由本地总线或者本地接口108彼此通信偶联,允许物机100内通信。
存储器102存储有软件120。该软件定义本文所描述的功能。物机100还包含输入输出(I/O)装置110(或者外围设备)。本地接口108可以为诸如但不限于本领域中公知的一个或多个总线或者其它有线或者无线连接。本地接口108可以具有诸如控制器、缓冲器(缓存器),驱动程序、转发器以及接收机等附加的元素(为简单起见略去),以便能进行通信。进一步地,本地接口108可以包括地址连接、控制连接以及/或者数据连接,以便能在前述各组成部分之间进行合适的通信。
处理器104是硬件装置,用于执行软件,具体地用于执行被存储在存储器102中的软件。处理器104可以是任意定制或者市售的单核或者多核处理器,中央处理器(CPU)、位于与物机100相关联的若干处理器之间的辅助处理器、(形式为一组芯片或者微芯片的)基于半导体的微处理器、宏处理器,或者一般地,用于执行软件指令的任意装置。
存储器102可以包括诸如随机接入存储器(RAM,诸如DRAM、SRAM、SDRAM等)的易失性存储器元素以及诸如ROM、硬盘、磁带、CDROM等非易失性存储器元素中的至少一项。此外,存储器102可能并入有电子存储介质、磁存储介质、光学存储介质以及/或者其它类型的存储介质。注意存储器102可以具有分布式架构。其中,各种组成部分彼此远离,但是可以被处理器104接入。
软件120定义根据本发明的由物机完成的功能。存储器102中的软件120可以包括一个或多个单独的程序。各程序包含用于实施物机100的逻辑功能的可执行指令的有序列表,如下所述。作为示例,软件120可能定义解析器122、评估器124、完成器126以及格式化器128,其功能在本文中进行描述。
存储器102可能包含操作系统(O/S)122。操作系统实质上控制执行物机100内的程序,并提供调度、输入-输出控制、文件以及数据管理、存储器管理、通信控制以及相关的服务。
I/O装置110可以包括诸如但不限于键盘、鼠标、扫描器、麦克风等输入装置。而且,I/O装置110还可以包括诸如但不限于打印机、显示器等输出装置。最后,I/O装置110可能进一步包括诸如但不限于用于接入另一装置、系统或者网络的调制解调器(modem),射频(RF)收发机或者其它收发机、电话接口、桥、路由器或者其它装置等经由输入以及输出进行通信的装置。
当该系统物机100操作时,处理器104被配置为执行存储在存储器102内的软件120,以与存储器102通信数据,并依据软件120一般地控制物机100的操作(如上所述)。
当操作物机100的功能时,处理器104被配置为执行存储在存储器102内的软件120,以与存储器102通信数据,并依据软件120一般地控制物机100的操作。处理器104被操作系统122读取,或许在处理器104内进行缓冲,然后被执行。
当物机100被实施为软件120时,要注意用于实施物机100的指令可以被存储在用于任意计算机相关的装置、系统或者方法、或者与之关联的任意计算机可读介质上。在一些实施例中,这样的计算机可读介质可能对应于存储器102和/或存储装置106。在本文中,计算机可读介质是电子装置、磁装置、光学装置或者其它物理的装置或者手段,其可以包含或者存储用于计算机相关的装置、系统或者方法、或者与之关联的计算机程序。用于实施该系统的指令可能体现在用于处理器或者其它这样的指令执行系统、设备或者装置、或者与之关联的任意计算机可读介质中。尽管是示例地提及处理器104,在一些实施例中,这样的指令执行系统、设备或者装置可以是任意一种基于计算机的系统、包含处理器的系统或者其它系统,其能够从指令执行系统、设备或者装置取得指令并加以执行。在本文中,计算机可读介质可以是任意手段,其能够存储、传达、传播或者运输用于处理器或者其它这样的指令执行系统、设备或者装置、或者与之关联的程序。
这样的计算机可读介质可以为诸如但不限于电子、磁、光学、电磁、红外或者半导体系统、设备、装置或者传播介质。所述计算机可读介质的更具体的示例(非穷举列表)会包括:具有一个或多个电线的(电子)电气连接、便携式计算机(磁)盘、(电子)随机接入存储器(RAM)、(电子)只读存储器(ROM)、(电子)可擦除可编程只读存储器(EPROM、EEPROM或者闪存)、(光学)光纤以及便携式(光学)光盘只读存储器(CD ROM)。注意所述计算机可读介质甚至可以是其上打印有该程序的纸或者其它适合的介质,因为可以经由诸如光学扫描所述纸或者其它介质以电子方式对该程序进行捕获,然后如果必要,再对其进行编译、阐释或者以适合的方式进行其他处理,然后在计算机存储器中进行存储。
在替换的实施例中,物机100被实施为硬件。可以用任意以下各为本领域中熟知的技术或其组合对物机100加以实施:具有用于对数据信号实施逻辑功能的逻辑门的各别的逻辑电路、具有合适的组合逻辑门的针对于具体应用的集成电路(ASIC)、可编程门阵列(PGA)、现场可编程门阵列(FPGA)等。
根据本发明的第一示例性的实施例,最初,存储器102包含由一组物机程序P(TM(i))构成的可执行物机程序P(TM)。本领域中的技术人员会理解,多个P(TM(i))可以体现为诸如但不限于运行视窗(Windows)10的戴尔维度(Dell Latitude)15 3000系列笔记本电脑等单个计算机器;使用诸如树莓派(Raspberry Pi)3等芯片上的系统体现;使用单个机器中多个计算组成部分体现,或者使用能够直接或者间接通信的多种截然不同的单独的机器体现。物机可能使用诸如但不限于在美国专利号6363437即插即用I2C从机中定义的即插即用架构体现,该专利的全部内容通过引用并入本文。
由多个P(TM(i))构成的第一P(TM)可以被配置为第二P(TM)的P(TM(i))。
物机(TM)具有程序P(TM)。程序P(TM)能够作用于一组物(例如诸如请求等输入),完成动作,并生成一组物(例如诸如生成的响应等输出)。根据图灵的可计算性模型,并根据通用图灵机能够模拟图灵机,我们能够假定该模型表明我们能够构建P(TM)通过安排其中的一数目n作为具体来说,如本文更详细地描述的,如果物机的第一程序请求物机的第二程序完成动作。其中,第二程序的物机可能是第一程序的物机,也可能不是第一程序的物机。相应地,该第二程序完成动作并向该第一程序的物机提供响应。响应于接收该响应,必要时,所述第一程序的物机的程序可能重新配置P(TM)。必须再次重申,该示例中使用的第一程序以及第二程序将是第一P(TM(i))以及第二P(TM(i))。
各P(TM(i))表达为完成截然不同的步骤顺序的可完成的机器代码的、模型或者其组成部分的算法实施。其中,可通过P(TM(perform))完成各P(TM(i))。替代数目,根据本发明,物机使用字词描述发生在给定的P(TM(i))中的动作的类型。本文更详细地定义了P(TM(perform))。
模型可以为(例如被建模来解决业务问题的应用等)诸如话语领域中问题声明模型、理论模型、数据模型或者现象模型等对所选的世界的部分的表示。这些模型并非独有的,因为可以同时被科学模型表示。其中的模型可以用本文公开的物模型来加以表达。(关于“模型”,请见https://plato.stanford.edu/entries/models-science/)
具有表达为P(TM(i))的程序P的给定的TM(i)不必主要是数字处理器动作,而可能使用数字处理器来导致:机械波形、电气波形、电磁波形;压力波的生物、化学生成或者接收;电磁辐射的生成或者接收。
示例地,处理器动作导致施加电压于电气接口,使能向前或向后推进物机的电机动作。所述动作可能持续到第二P(TM(i))处理器动作重置所述电压。从而,物机持续完成所述机械动作,同时使P(TM)能响应其它thing:statements。
进一步示例地,P(TM(i))能够完成与基于重组酶(recombinase)的状态机(RSM)交互的动作。RSM使用输入驱动的重组酶操纵由重组酶辨别站点(site)的正交配对以及交叠配对组成的DNA寄存器(register)。从而,可以查询编码在RSM中的状态信息或是对其进行排序。
如具体在本文的“启动”一节内所述,P(TM)存储器包含初始化所要求的最少一组P(TM(i))。简言之,根据本发明的第一示例性的实施例,P(TM)包含以下P(TM(i)):P(TM(boot))、P(TM(thing))、P(TM(parse))、P(TM(eval))、P(TM(perform))以及P(TM(configure))。P(TM)的主要逻辑要完成P(TM(boot)),然后停止。应注意,P(TM)存储器中最初可以提供附加的或者更少的P(TM(i))。
物机被启动时带有有限的可自行配置的物启动词汇。动作P(TM(thing))将物及其间可变关系组织为thing:graph。一些物表示可完成的动作。可完成的动作的完成能够作用于物。动作P(TM(i))可以请求P(TM(thing))完成诸如但不限于设置、获得以及取消设置物以及/或者物之间的可变关系等与管理物相关的动作。可以通过获得物并对其进行设置来改变物。另外,可以设置物以及取消设置物。就其而言,物图形可以被视为是物机的词汇,所述词汇表示其知识库(物机知道如何完成的动作及其能够作用的物)。
应注意,在本文的范围中,术语”交互”是指P(TM(i))导致完成相关的机器代码。例如,如果A与B“交互”,则A导致完成与B相关的机器代码。
动作P(TM(input))以及P(TM(output))与电磁波形装置交互,以向P(TM)提供双向通信。所述动作与P(TM(thing))交互,使得进入的内容是物request,出去的内容是物response。
动作P(TM(parse))解析物content,并与P(TM(thing))交互,以创建表示声明的thing:graph。在作为阐释器的机器的第一示例性的实施例中,thing:graph将是可完成的thing:graph。在物机的第二示例性的实施例中,动作P(TM(eval))与P(TM(thing))交互,在可接入词汇的上下文中评估thing:graph,以生成可完成的thing:graph。注意P(TM(input))以及P(TM(parse))的算法步骤可以组合为由诸如P(TM(parse.input))等合适的P(TM(i))给定的单个程序。
动作P(TM(perform))与P(TM(thing))交互,以在上下文内完成物的可完成的动作,其中所述上下文为可以在其上完成所述动作的物的上下文。
动作P(TM(format)与P(TM(thing))交互,以将物response namespace格式化为动作P(TM(output))输出的出去的物content response。注意P(TM(format)以及P(TM(output))的算法步骤可以组合为由诸如P(TM(format.output))等合适的P(TM(i))给定的单个程序。
动作P(TM(configure))与P(TM(thing))交互,以将P(TM(i))配置为可完成的物,也被称为主动物,或者动词。这使可完成的动作的词汇得以更新。可以在复杂性范围中添加、移除或者改变机器现在能够完成的物。注意P(TM(i))提供算法动作,i指示表示该动作的名字。所述动作可以是神经网络分类动作、电子交易动作或者任意其它可以被还原实行的算法动作。
启动
在使用物机100之前,物机100完成启动进程,以便允许适应环境,以及将来适应于物机的环境以及收到的请求的来源。
每次物机开机时,动作P(TM(boot))与P(TM(thing))交互,以自行配置表示由一组thing:verbs构成的词汇的thing:graph,各thing:verb表示动作P(TM(perform))能够导致完成的动作及其能够作用的物,以引导(bootstrap)带有表示诸如关机前最后已知的状态等P(TM)的先验知识的物的机器。如果我们将经验定义为物机做了什么并使物发生的动作(管理thing:graph的P(TM(thing))),则我们可以说物机收获了作为完成物的结果的经验(表示其能够完成的动作的物,或者表示为物的知识)。
物机使用所述词汇配置核心词汇,物机能够基于核心词汇完成应用。从而P(TM(i))的完成能够与P(TM(thing))交互,以改变thing:graph。所述改变可以视为是后验(posterior)知识,即其从经验习得的(learned)物。
动作能够遍历thing:graph,格式化内容,并与次级存储装置交互,以保留thing:graph信息,然后该信息可以被动作取回并用于重新构建所述thing:graph。
在一实施例中,核心词汇可以被配置为包括预先确定的一组物。所述词汇是有限的预先确定的大小以及范围。在第二实施例中,所述词汇中的该组物由物机进行动态管理。其中,物被设置(被习得并被添加到thing:graph),其它物被取消设置(被遗忘并从thing:graph被移除)。
物机将物组织为图形。(被称作上下文图形的)图形包括表示命名空间的物。命名空间是被命名的图形,用于表示对诸如请求、响应、一组任务(task)、服务、动词词汇或者甚至应用词典等物进行概念性的组团。命名空间词汇可以被视为是一种形式的本体存在(ontology)。然而,使用各别的词汇的若干命名空间可能针对其部分词汇分享一本体承诺。
自行配置图形时,P(TM(boot))请求P(TM(thing))配置表示动词动作的物。其中,所述具有引用可完成的动作的表示的物,其中,P(TM(perform))能够导致完成可完成的动作。示例性动词动作包括但不限于解析、评估、完成及配置。所述物被统称为词汇,所述物的图形是启动词汇。物机的启动进程自行配置有限的物机的词汇,以表示所述机器的先验知识(其词汇中的初始物)。所述有限的词汇包括动词以及所述动词能够作用的物。根据本发明的第一示例性的实施例,物机的基本的动词词汇至少包括动词“输入”、“输出”、“解析”、“评估”、“完成”以及“配置”。与各动词相关联的物机程序分别被称为P(TM(parse))、P(TM(eval))、P(TM(perform))以及P(TM(configure))。如下文具体所述的,这使物机能在自行配置的thing:verbs的上下文中评估请求,完成向动词词汇添加附加的动词的配置动作。使用该模型,物机的动词词汇变得动态可配置,其大小以及范围能够根据需要增加或者减少。
自行配置的进程不仅包括接收所述有限的词汇,还包括为每个动词创建至少一thing:graph。具体来说,thing:graph中的动词和非动词(二者都是物)都是节点,thing:graph内的弧线表示物之间的可变关系。进而,thing:graph定义所跟踪的物之间的关系。
动作P(TM(thing))将物及其间可变关系组织为thing:graph。一些物表示动作、发生或者存在状态,另一些物是动作能够作用的物。物机被启动时带有有限的自行配置物启动词汇。使用所述启动词汇,物机配置包括核心词汇的先验知识,其中,核心词汇由物构成。
动作P(TM(input))与电磁波形装置交互,以提供到P(TM)的通信。本发明的实施例可能将P(TM(input))与P(TM(parse))进行组合。动作与P(TM(thing))交互,使得进入的内容是可以通过解析动作被解析的物request。
动作P(TM(output))是可选的物。其动作与电磁波形装置交互,以提供源自P(TM)的通信。
动作P(TM(parse))解析物content,并与P(TM(thing))交互,以创建表示声明的thing:graph。在作为阐释器的简单的机器中,thing:graph将是可完成的thing:graph。在自适应物机中,P(TM(eval))与P(TM(thing))交互,在可接入词汇的上下文中评估thing:graph,以生成可完成的thing:graph。注意P(TM(input))以及P(TM(parse))可以组合为由诸如P(TM(parse.input))等合适的P(TM(i))给定的单个动作。
动作P(TM(perform))与P(TM(thing))交互,以在物的上下文内完成物动作,其中,所述动作可以针对该物被完成。
动作P(TM(configure))与P(TM(thing))交互,以将P(TM(i))配置为可完成的物。这使可完成的动作的词汇得以更新。可以在复杂性范围中添加、移除或者改变机器现在能够完成的物。注意P(TM(i))提供算法动作,i指示表示该动作的名字。所述动作可以是神经网络分类动作、电子交易动作或者任意其它可以被还原实行的算法动作。
参照图3的示意图以及启动进程,当物机100启动时,P(TM(boot))请求P(TM(thing))为物机创建启动词汇(方框202)。P(TM(thing))接收请求,并创建表示启动词汇(示例地称为“boot:”)的物(方框204)。由初始化大小为一物的大小的单位存储器的P(TM(thing))完成物的创建,其中,该物(即boot:)限定所述启动词汇中的物。
物图形数据模型
图4是用于展示物机100根据启动进程创建图形的图形。本节定义抽象句法,其用于基于RDF对全部基于物的语言、规范及参照实施方式进行链接。RDF用于表示网页中信息的框架(W3C,2014)。RDF图形是一组三联词(triple),各三联词由主语、谓语以及对象组成,如图4所示。RDF提供三种类型的节点。节点可以是IRI节点(见RFC 3987)、字面意义(literal)节点或者空白节点。IRI或者字面意义指示世界中的物,并且被叫做资源。
RDF物图形是关于物的RDF图形。其描述物的不可变组成部分。尽管所述各组成部分不可变,但其值是可变的。一些物是具有可完成的动作的主动物,常常被称为动词。另一些物是动词动作能够作用的物。物可能表示RDF资源、概念、事实、理念、实体,对象、实例、事件、发生、装置、传感器,服务、任务、服务、用户、网页资源等。
物由不可变组成部分构成。物由具有所述不可变组成部分的知识的P(TM(thing))进行管理。物的第一示例性不可变组成部分是名字,其是用于在话语领域中将一物与另一物进行区分的识别码,不过可能存在重复命名的物,诸如为表示列表的物的成员的重复命名的物。
物的第二示例性不可变组成部分是值。在一实施例中,所述值是如RDF 1.1规范中定义的RDF字面意义。本领域一般技术人员会熟悉所述RDF 1.1规范,其全部内容通过引用并入本文。另外,本领域一般技术人员可能使用如由替换的说明书定义的替换的值表示。应注意,物的不可变组成部分值的值可以是空的。
物的第三示例性不可变组成部分是一组关系。当物具有一组空的关系时,则物表示空图形。一组关系是第一物以及第二物间成立的一组关系。主要关系是关联关系。关联的形式可以是组分或者聚合。如果物A由物B组成,则所述关系是不可变的。如果物A是包括物B的聚合体,则所述关系是可变的。其中,示例地,物B可能独立于物A存在,如图5所示。如前所述,物由具有所述不可变组成部分的知识的P(TM(thing))进行管理。
第一示例性关系是关系thing:sttia,其使用存在性量化指示:存在该主语物使得存在对象物。所述关系是可变的。如图6所示。
物object(对象物)可以表示诸如物的列表或者一组物等物的集合。所述关系可以使用实例修饰语表达,使得:存在该主语物使得存在对象物的实例。依赖于物的分类,物的实例可以具有不同含义。在一情况下,实例可以为成员。在另一情况下,实例可以为某事的发生。
关系thing:is-a表达第一物是一种类型的第二物。这在本文中“作为元数据的属性”一节进行了进一步的描述。一般而言,关系thing:is-a允许物的分类。
关系thing:depends-on指示主语物依赖于对象物。诸如来自UML的关系等附加的关系可以被添加到RDF物图形数据模型。这些关系会包括关联、聚合、有向关联、组分、反身性(reflexive)关联、继承、多重性以及实现。
识别码以及列表
列表表示对物的引用。列表可以是诸如识别码等未被绑定的名字,或者表达为传递两个或更多个物之间的关系。列表“this”是简单的识别码,其指示我们是在引用名为“this”的物。列表“this.that”可以表明存在名为“this”的物,使得存在名为“that”的物。列表的确切阐释依赖于列表所绑定的命名空间,这将在如下所述关于URI(见RFC 3986)的一节中进行更具体的论述。
作为元数据的属性
属性描述物的品质或者固有特征。属性被表达为元数据。thing:metadata是识别一类型的属性的物,物的值描述属性值。
属性可以被识别为thing:metadata,并且后续在三联词中使用。作为示例,属性thing:class用于指示物的分类。类是满足成员资格标准的一组物,所述标准指定在给定的时刻物为类的成员的要求是什么。意图是时间依赖的标准。在给定的时刻的扩展(extension)是当时的全部成员的列表。
属性可能描述状态。例如,可以宣告(declare)物而不指示其分类,绑定动作能够作用于该“未被绑定的”物,以将其绑定于绑定动作能够辨别的东西,即使是被绑定为“未知的”物。绑定动作将物从未被绑定的状态转变为被绑定的状态。被绑定的物可以被发现,或者未被发现。被发现的被绑定的物表明绑定动作能够将该物绑定于其理解的东西。未被发现的被绑定的物表明:对该物施加了绑定动作,但是,绑定动作不能够理解该物。
主动物
表示引用可完成的动作的物被分类为主动物。在该上下文中,可完成的动作是机器能够导致其被完成以达成一些结果的动作,并且可以主要地是计算、电气、化学、光学、生物、机械、电磁波形性质的,或其组合性质的。
本文中的主动物经常被称为thing:verb,因为动词是描述动作的名词,而主动物描述动作。从而,主动物的名字是动词,其中,该动词的识别码描述可以被完成的动作。
在支持分类的实施方式中,使用关系thing:is-a将与可完成的动作有关系的物分类为thing:verb,如图7所示。
动词能够作用于一组物。可以在RDF物图形中明确地指定可以被作用的物,或者通过分类暗示可以被作用的物。可以用量词将话语领域中的物的范围限制于动词动作能够作用的物。
命名空间
命名空间是物,其表示以某种方式逻辑地相关的物的被命名的图形,即使所述物是仅通过同为相同的命名空间的成员而相关。该图形包括物及其关系。如图8所示,在支持分类的图形中,命名空间物被分类为thing:namespace。thing:namespace是thing:class.
上下文
上下文是量化具有当前范围的一组命名空间的物。如图9所示,在支持分类的图形中,物被分类为thing:context。
上下文允许一组命名空间具有当前范围,用于取消引用(dereference)表示物的IRI。例如,request:statement是可以相对于上下文被分辨的IRI。在英语中,这会表达为:存在名为请求的命名空间,使得存在名为声明的物。
URIs
URI识别资源,物是该资源在物机中的表示。物或者具有可完成的动作,或者是可完成的动作能够作用的物。URI的一般化形式被给定为:
scheme:scheme specific part(方案指定部分)
在物机中,scheme(方案)被阐释为对物namespace的引用,该物的名字遵循如下所示的URI方案的命名常规。其好处是,可以使用RDF物图形表示现有的方案名字。
命名空间名字由字符序列组成,该序列以字母开头,后为字母、数字、加号(“+”)、句号(“.”)或者连字符(“-”)的任意组合(RFC 3986)。
互联网号码分配机构(Internet Assigned Numbers Authority)公布的全部永久的URI方案都是预留的命名空间名字。预留的命名空间中的物的建模应该符合针对该命名空间所公布的RFC的含义。例如,为了对命名空间nntp:andnews:中的物进行建模,应该查阅RFC5538。公布的URI方案的列表由IANA维护,并可以从以下网址在线查询:
http://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml
“URN”命名空间是预留的命名空间,其方案指定部分被阐释为按照针对该URN命名空间所公布的RFC文档进行定义。公布的URN的列表由IANA维护,并可以从以下网址在线查询:
http://www.iana.org/assignments/urn-namespaces/urn-namespaces.xhtml
列表的命名空间指定部分根据命名空间(方案)的规范进行阐释。
普通URI句法的解析器能够解析对其主要组成部分的任意URI引用。一旦确定方案,可以针对各组成部分完成进一步的方案指定的解析。换言之,URI普通句法是全部URI方案的句法的超集(RFC 3986)。
然而,命名空间http:、https:以及file:使用字符定界符“/”,使得引用:http://www.THINGlanguage.com/request被阐释为:
存在名为“http”的THING:NAMESPACE,使得存在名为“www.THINGlanguage.com”的物,使得存在名为“request”的物。
命名空间mail to根据RFC6068阐释引用。例如,引用:mailto:info@thinglanguage.com被阐释为:
存在名为“mailto”的thing:namespace,使得存在名为info@THINGlanguage.com的物。
OSX以及IOS中支持的THINGs:scheme也能够被建模。THINGs:URI被给定为:THINGS:command?parameterl=valuel¶meter2……这会被阐释为:
存在名为“THINGs”的THING:NAMESPACE,使得存在名为“command”的物,使得存在名为“parameter1”以及值等于“value1”的物的实例,以及存在名为“parameter2”的物的实例。
命名空间物的名字遵循IRI方案的命名要求(见RFC 3987)。这可以用于将URI(RFC3986中所描述的一种形式的IRI)绑定于物。URI方案名字被绑定于物namespace。例如,全部http:URI,被绑定于物http:namespace内。图10示出将http URI示例性地绑定到物。
满足宣称
基本的断言是表示满足宣称的thing:assertion,其断言给定的宣称为真。在物图形模型中,断言是物而不是有向边缘标签。参照图11,在thing:graph中,空白节点表示满足宣称。所述宣称可能引用thing:object。
如图12所示,thing:assertion断言thing:subject具有数值的值。因此,不要求有thing:object。
如图13所示,thing:assertion宣称thing:subject的值小于thing:object的值。
满足宣称的真实性由对应于所述宣称的计算程序确定。就其而言,满足宣称是具有描述动作能够作用的物的对应thing:graph的主动物。
示例性满足宣称包括但不限于以下表1示出的:
表1
简单谓语的“is”部分后可以为“not”,以表明对谓语的否定。例如,thing:is-not-equal-to。对thing:matches的否定会被指定为thing:does-not-match。
连接器
逻辑连接器用于连接两个满足宣称。示例性连接器包括但不限于and、or、not、implies以及iff。类似于满足宣称,逻辑连接器被表达为物,而不是有向边缘标签。逻辑连接器物是主动物。图14示出具有连接器的图形的示例。
简单的连接器的示例包括但不限于以下表2示出的。
表2
尽管在程序图形中,满足宣称评估为真(满足)或者假(不满足),在宣告图形中的满足宣称则能够拓展为包括该宣称所涵盖的一组物。
图形类型
当物图形描述如何做某事时,物图形的性质是程序性的。例如,设置物的值的图形、以及描述完成任务的必要动作的声明序列二者都是程序性的声明。
当物图形是表示宣告的声明时,物图形是宣告性的。HTML是宣告性的声明的示例。HTML源代码描述期望的文档布局,HTML呈现引擎对源代码进行处理,以完成实际布局。
当物图形描述对象及其方法时,物图形是面向对象的。作为示例,指示对象以及设置、获得以及取消设置所述对象的方法的图形会是面向对象的。
当诸如消息或者状态等事件驱动物图形的评估时,物图形是事件驱动的。当物图形表达用于有限的状态机的状态以及状态间转变时,物图形是有限的状态图形。
物图形可以是诸如Harel状态图表、XML状态图表或者UML状态图表等一个或多个上述类型的图形的组合。
Modeling Reactive Systems with Statecharts:The STATEMATE Approach ByD.Harel and M.Politi.McGraw-Hill,1998.
(见http://www.wisdom.weizmann.ac.il/~dharel/reactive_systems.html。)
表达为可完成的机器代码的物机程序P(TM(thing))提供管理非暂时性存储器中的物及其间关系的动作。具有引用可完成的动作的表示的物是动词。表达为可完成的机器代码的物机程序P(TM(perform))提供动作,该动作是:与P(TM(thing))交互以获得对动词物的引用、并导致该动词的可完成的动作(P(TM(i))的完成。该动作的完成能够与动作P(TM(thing))交互,以作用于非暂时性存储器中的物。表达为可完成的机器代码的物机程序P(TM(configure))提供与P(TM(thing))交互以设置动词物的动作。从而我们能够描述问题声明,并用物机能够作为动作完成的物以及动作能够作用的物来架构解决方案。
图15是例示由物机完成的最少的运行时步骤的流程图250。应注意,流程图中任意进程描述或者方框应该理解为表示模块、分段、代码的部分或者步骤,所述模块、分段、代码的部分或者步骤包括用于实施进程中指定逻辑功能的一个或多个指令。本发明领域一般技术人员会理解,本发明的范围包括替换的实施方式,其中,依赖于所涉及的功能,可以不按照示出的或者讨论的顺序执行功能,包括基本上并发地时或者以颠倒的顺序执行功能。
具体来说,要注意至少以下步骤是由物机完成的。如方框252所示,动作P(TM(i))通过算法(例如通过解析输入,或者与传感器交互,或者通过请求物机完成动作)生成表示声明的thing:graph。该声明待物机评估并完成动作。
这对于获取传感器生成的数据的P(TM(i))是有用的,以逐步增加地构建要评估的thing:statement以及对应的要完成的可完成的thing:statement,所述传感器例如是温度传感器、加速度传感器、海拔传感器、经度以及/或者纬度传感器、运动传感器、热传感器、烟雾传感器或者其它这样的传感器。类似地,被告知诸如事件、计时器、中断或者报警等信号的P(TM(i))能够与P(TM(request))交互,以构建要评估的thing:statement以及对应的要完成的可完成的thing:statement,以使P(TM)能响应接收。
这样的P(TM(i))的第一示例性的实施例是动作P(TM(parse)),其解析XML文档得到thing:graph,使得以下断言为真:
存在名为core:print的物,使得存在名为”message”且值等于“Hello,World”的物。
对应的thing:graph在图16中示出。
如方框254所示,动作P(TM(eval))与P(TM(thing))交互,以接入所述thing:graph以及当前动词词汇,并与所述thing:graph以及当前动词词汇交互,以通过算法选择合适的动词动作,构建并设置可完成的thing:graph。应注意,当前动词词汇可以是初始动词词汇或者可以是动态改变的动词词汇。
如方框256所示,动作P(TM(perform))与P(TM(thing))交互以获得并完成可完成的thing:graph。
根据本发明的替换的实施例,物机可能不包含动作P(TM(eval))。在这样的实施例中,P(TM(parse))阐释祈使式声明。
改变thing:graph/核心词汇
如前所述,P(TM(i))能够与P(TM(thing))交互以设置thing:graph。物架构可以使用动词动作对输入以及输出的具体细节进行抽象并形成存在。语言、语法、句法的选择以及通信动作本身只是物。
任意数目的语言以及句法可以在输入流中收到,并可以被解析,只要动作P(TM(PARSER))能够通过算法将语法句法的元素解析为thing:graph。
语言是物,更加精确地描述,是包括语素集合以及语法的通信系统。语素集合是诸如语言中的字词组或者词组等词汇。所述语法强加诸如词法、语义以及句法等规则。
动作是为了沟通而必须被完成的物。可以使用诸如读以及观察等视觉沟通技巧。可以使用诸如写或者签署等物理的动作。可以使用演讲以及声音沟通技巧。替换地,可以使用Braille写系统。这些全部是物。由于它们是物,其动作可以被建模,并被配置为物机(即P(TM))能够完成的动作。
作为一种形式的沟通动作,肢体语言跨越了各社群。一般都理解指向一方向的手指、跺脚或者脸上的笑容的含义。肢体语言截然不同于手语,因为后者使用具有明确定义的含义的运动以及已经确立的表达。肢体语言是物。
类似于人,物机可以具有针对给定的语言的读词汇、写词汇、听词汇以及说话词汇。各词汇可以是不同程度的。当物机听到字词时,物机可以由被配置物知道该字词的意思,但是不能够发该字词的音或者正确拼写该字词。类似地,物机可以读东西,并看见其无法辨别的字词。例如,字词ossify是英语中的动词字词,意思是骨化,但是可能是该语言中最不常使用的动词之一,因此,物机的动词词汇中可能不配置被建模的实施例。
当物机识别不熟悉的字词时,其可能试图通过与该字词的音节交互来阐释该字词的含义。如果物机能够探测词根,则能够推断含义。随着物机习得新的字词及其用法,物机能够将它们添加到物机的各种词汇中。
多语言物机可以具有针对其知道的各语言的不同词汇能力。可以仿效Arubian(阿鲁宾)学生的语言教育系统为物机建模,所述学生在学校学习帕皮阿门托语、荷兰语、西班牙语以及英语。各物机能够针对各语言,以不同速率开发其读词汇、写词汇、听词汇以及说话词汇,并且有可能开发为不同的能力。
物机能够根据语法以及句法将声明解析为令牌物;并将令牌物绑定于其对应词汇中的物。一些物可以立即被分类,而另一些要求查看周围的字词,以推断含义。
声明的含义仍然可能模棱两可。考虑声明:“Let’s eat honey”。其意思可能是吃蜂蜜,又或者可能是在邀请爱人开始吃东西。如本文详细解释的,为帮助管理声明的阐释以及含义,我们引入动词图形物的理念,动词图形中,开始节点是动词名字,所连接的节点是动词动作能够作用的物。
请注意除了P(TM(parse)),后续能够配置其它动词动作(P(TM(i))),使得当被完成时,该动作与P(TM(thing))交互以创建thing:graph。所述thing:graph后续能够被评估,以创建可完成的图形。可完成的thing:graph的完成能够导致动作与P(TM(thing))交互,以改变P(TM(thing))管理的物的thing:graph。这样的P(TM(i))的示例性的实施例是P(TM(config)),其提供的动作是:与P(TM(thing))交互以配置一组主动物(其中,一组是一个或更多个)。
P(TM(i))的动作能够与环境交互,生成一thing:graph,其表示请求改变P(TM(thing))管理的thing:graph的请求。相应地,P(TM(config))与P(TM(thing))交互,以改变P(TM(thing))管理的thing:graph。从而,P(TM(config))的动作改变当前词汇(其在本文中也被称为核心词汇)。
参照图17,P(TM(config))作用于由物request namespace(请求命名空间)限定的物,也即G.id(示出为空白节点),使得存在G.request和G.urr。
物G.id的名字是P(TM(config))要配置的动词物的识别码。G.request是一图形,其描述动词物的完成能够作用的物。物G.urr的值是被阐释为统一资源请求(UniformResource Request,URR)的URI,URR用于请求完成动词物。
参照图18,P(TM(config))的版本my:configure作用于由URI request:statement识别的物,使得存在物vocabulary.id(词汇识别码)以及图形ID物,使得存在G.request以及G.urr。词汇识别码可以被分类器用于通过算法选择话语领域中的一组动词物,以供P(TM(eval))用于评估thing:statement。
在实施例中,P(TM(config))能够与表示诸如动态链接库等共享库的物交互,使得所述共享库被动态加载到进程存储器中,对功能的引用被分辨并被执行,以提供一组程序以及对应图形,从而允许多种动词物被配置。
在实施例中,P(TM(config))能够通过算法与P(TM(eval))以及P(TM(perform))交互,以评估并完成作为配置一组动词物的先决条件的必须被满足的thing:statement。所述thing:statement可以表示一请求,其请求检查可接入性、版本信息、修订信息、依赖关系、与现有的动词物的冲突、识别、授权、认证、安全保障、硬件能力、操作系统能力,或者其它这样的活动。
在支持身份、认证及授权的实施例中,动作P(TM(config))能够与P(TM(i))交互,以识别并认证thing:statement,并强制执行配置动词物要求满足的授权要求。示例地,thing:statement可以要求具有可以被认证的身份的数字签名,以确定所述身份是否被授权请求P(TM(config))完成其动作。可以通过算法使能各种安全保障模型。所述模型可以要求对指定硬件以及P(TM(i))配置的动词物的使用,例如如2016年1月29日提出的发明名称为“Optical Identity System and Methods”、序列号为62/288,545的待决(pending)美国专利申请所公开的。该申请的全部内容(光学识别码专利申请)通过引用并入本文。实施例可能使用P(TM(openssl))提供由OpenSSL工具包使能的身份、认证及授权动作(见www.openssl.org网站)。
物的类型的示例
动作方框是表示声明序列的thing:graph。被命名的动作方框被称为任务。以这种方式,语言语法能够表达一请求,其请求物机配置其后续能够完成的被命名的任务。通过完成所述动作方框而完成所述任务。通过评估各声明以生成可完成的thing:graph,而完成动作方框。通过完成对应于可完成的thing:graph中的thing:verb的动作,而完成可完成的thing:graph。
物机可以被配置为双语,因为多种语言语法解析器可以被配置为可完成的动作。替换地,翻译器动作可以用于将第一语言翻译为第二语言。所述第二语言可以通过配置的解析器动作被解析。
从而说物机能够读书,是说物机能够完成动作,以与从输入装置获取的内容交互,以将所述内容表示为thing:graph。通过将thing:graph作为整个物机的子图形进行留存,物机动作后续能够接入该内容并与之交互。
物机能够读描述如何完成任务的书,并保留该知识,以防所述机器将来万一被要求完成这样的任务。任务可以按照主题进行分类。任务可以是诸如与使用http协议相关的任务、与诸如accounting:accounts.receivable、accounting:accounts.payable、banking:debits、banking:credits以及banking:balance等活动相关的任务等一组分类的成员。
第一物机能够发送意图针对第二物机的通信,请求关于主题或者分类的知识。响应于接收表示所述知识的内容,第一物机能够与所述内容交互,以相应配置其自身的知识。以这种方式,第一物机能够向第二物机学习。
物机能够提供服务。服务是响应于接收请求而提供的物。服务和任务之间的细微的区别是,任务是被完成的,而服务是被提供的。借助上下文进行任务相对服务的分隔,其能够防止未经授权完成诸如移除文件或者改变动词的含义等任务。
如前所述,物context对处于话语领域中的一组可用的命名空间物进行量化。命名空间物限定一组相关的物,即使所述物是仅通过同为相同的命名空间的成员而相关。命名空间物的名字用于分辨对物的引用。
身份是物,因此我们能够对识别码、认证、授权及审计的概念进行建模,以体现身份模型。身份模型的示例包括对公钥基础设施、Open PGP(开放的PGP)的信任网页、生物识别、第三方授权等的使用。使用身份,我们能够将市场作为物引入,并使能交易。交易变成支付方和收款方、买方和卖方之间的物。交易可能涉及提供物的服务、物理的物、概念性的物或者逻辑的物。
身份模型使能图形或者子图形的认证。考虑例如表示请求的图形,该请求包括请求方识别码(即请求发起方)、内容以及所述内容的数字签名。可以证实对应所述识别码的证书。可以证实所述内容的数字签名。这使评估动作能通过算法证实请求并选择相应的合适的动作。身份模型就绪后,我们还能够提供安全的通信模型。
可以使用密码动作对保障请求内容进行建模,以对内容进行加密并后续进行解密。请求图形可以包括密钥以及密码动作描述子图形。可以施加作为先决条件的评估动词动作,即,要解密内容,必须首先以指定的钥完成指定的密码。通过将请求的各种组成部分组织在合适的子图形中,两个或更多个物机能够通过算法使用身份模型以及安全的通信进行通信。
当集成有光学识别码SIM卡或者类似装置时,即使是在点对点(ad-hoc)的基础上,物机也能够被建模为在覆盖网络中的具有独特的身份的物。物能够脱离网络,并从别的地方重新加入该网络,而依然保留其光学身份。
光学身份可以不同于用户身份。这使物机能在覆盖网络上验证其本身,以及使用网络可用的内容基于用户的身份重新配置其本身。
即使是在点对点的基础上,物机也能够对其词汇进行动态配置以及重新配置。共享针对至少其语素集合的子集的本体承诺的一组物机能够使用该子集(或者至少其中一部分)与物交互。假如所述词汇表示为物,并且物机具有对所述词汇进行配置以及重新配置的动词动作,则物机能够学习本文提供的示例。
以下示例性定义适用参照本文中示意性描述的示例性RDF物。
图形——点和连接所述点的(可能是空的)子集的线的集合。图形的点通常被称为图形顶点,但是还可以被叫做“节点”或者仅“点”。类似地,连接图形的顶点的线通常被称为图形边缘,但是还可以被叫做“弧线”或者“线”。
图形节点被称为graph:node。图形边缘被称为graph:edge。边缘可以具有标签,被称为graph:edge-label(标签)。
有向图形——有向图形是图形,即连接在一起的(被叫做顶点或者节点)的一组对象,其中,全部所述边缘(有向图形边缘)是从一顶点指向另一顶点。有向图形有时被叫做digraph或者有向网络。
有向图形被称为graph:directed。
有向图形边缘被称为graph:directed-edge。
无向图形——无向图形是图形,即连接在一起的(被叫做顶点或者节点)的一组对象,其中,全部所述边缘(无向图形边缘)都是双向的。无向图形有时被叫做无向网络。无向图形被称为graph:undirected。无向图形边缘被称为graph:undirected-edge。
子图形——子图形是其顶点以及边缘是另一图形的子集的图形。
生根的图形——生根的图形是其中一节点被区分为开始(根)节点的有向图形。
根据本系统以及方法,ABNF用于描述由P(TM(thing))管理的物的不可变组成部分的表示。另外,RDF用于进一步示出由P(TM(thing))管理的物的不可变组成部分以及可变组成部分的含义。
——ABNF
在本文提供的示例性图示中,如下所示的增广的巴科斯形式(Augmented Backus-Naur Form,ABNF)规范用于描述由P(TM(thing))管理的物。具体来说,以下描述由P(TM(thing))管理的物以及其不可变组成部分。
scheme:scheme-name=ALPHA*(ALPHA/DIGIT/"+"/"-"/".")
scheme:scheme-specific-part=这是方案指定的。方案指定部分的细节见对应于方案名字的RFC。如果这样的RFC不存在,则方案指定部分被解析为由物语言定义的物识别码。否则,根据方案对方案指定部分进行令牌化。
以下ABNF规则适用。
thing:identifier=1*1(scheme:scheme-name/scheme:scheme-specific-part)
thing:char-literal=char-val
thing:num-literal=num-val
thing:bin-literal=bin-val
thing:dec-literal=dee-val
thing:hex-literal=hex-val
thing:value=1*(thing:char/thing:num/thing:bin/thing:dec/thing:hex)
类id识别物的类。默认类id是URI,由所述URI识别的物是所述分类。默认为thing:thing。
thing:class.id=URI
thing:set(i)是一组物i。普通组thing:set.of(thing:thing)是一组物。组没有重复命名的物。
thing:set.of(i)=0,*(i)
thing:listing(i)是作为类i的成员的物的列表。普通组thing:listing.of(thing:thing)是物的列表。列表可以具有重复(i)。
thing:listing.of(i)=0,*(i)
注意,在实施例中,参数可以被引用为thing:value.of(i),thing:name.of(i),thing:thing(thing:name.of((thing:value.of(i)))等。
——物RDF
资源描述框架(Resource Description Framework,RDF)用于表示网页中的信息。一个RDF三联词由三个组成部分组成:主语,其是IRI或者空白节点;谓语,其是IRI;以及,对象,其是IRI、字面意义或者空白节点。RDF三联词按照常规以主语、谓语、对象的顺序书写。RDF图形是一组RDF三联词。
以下章节中,RDF三联词用于描述物。在物图形中,谓语指示主语和对象之间的关系类型。关系类型thing:is-a指示主语是由对象识别的物的类的成员。关系类型thing:has-a指示主语具有由对象给定的不可变组成部分。注意组成部分的值可以改变,但是所述组成部分不可以改变。细节见关系类型。
引用P(TM(i))是对物机子i的算法程序的引用。其中,识别码i从物机的第二程序限定物机的第一程序。
物是由P(TM(thing))管理的图形中的节点。
thing:thing thing:is-a graph:node
物具有名字、值、类以及关系组。在提供对万维网的后向兼容性的优选的实施例中,命名空间物名字是scheme:name。P(TM(thing))能够设置、获得或者取消设置物。
thing:thing thing:has-a thing:name
thing:thing thing:has-a thing:value
thing:thing thing:has-a thing:class.id
thing:thing thing:has-a thing:relationship-set
thing:name thing:is-a thing:identifier
以下规则指示:关系组由零个或更多个关系构成。具有零个关系的关系组是空组。具有为空组的关系组的thing:thing的生根的thing:graph是thing:thing的空图形(thing:graph.empty)。
thing:relationship-set=thing:set.of(thing:relationship(s,r,o))
在以下规则中,s、r以及o是指示thing:subject(s)和thing:object(o)之间存在关系类型(r)的参数。P(TM(thing))能够设置、获得或者取消设置关系。
thing:relationship(s,r,o)=thing:subject(s)thing:relationship-type(r)thing:object(o)
以下规则要被阐释为:存在名为s的物。
thing:thing(s)=thing:thing where is:equal.to=(thing:name.of(thing:thing),(s))
以下规则要被阐释为:存在名为s、值等于v的物。
thing:thing(s,v)=thing:thing where(is:equal.to=(thing:name.of(thing:thing),(s))and is:equal.to=(thing:value.of(thing:thing),(v)))
在实施例中,可以引用物的各组成部分。以下规则例如被阐释为存在物,其中,名字=a以及值=b。
thing:thing(0,1[name=a]0,1[value=b])=thing:thing where is:equal.to=(thing:value.of(thing:name),(s))and is:equal.to=(thing:value.of(thing:value),(v))
thing:subject thing:is-a thing:thing
thing:subject(s)thing:is-a thing:thing(s)
thing:object thing:is-a thing:thing
thing:object(o)thing:is-a thing:thing(o)
在以下规则中(s,c,o)是参数,所述参数指示由c给定的宣称被(s)以及可选的thing:object(o)满足。作为物,规则被阐释为存在主语物(s),使得存在满足宣称c,使得存在可选的对象(o)。
thing:assert(s,c,o)=*(thing:subject(s)thing:predicate(c)thing:object(o))
以下规则等同于parameter(i)给定的物的名字组成部分的值
thing:name.of(i)=thing:value.of((i):name)
以下规则等同于parameter(i)给定的物的值组成部分的值
thing:value.of(i)=thing:value.of((i):value)
以下是示例性关系类型(thing:relationship-type)。
thing:is-a主语物是由对象指示的类的成员。
thing:has-a主语物具有由对象识别的不可变组成部分。
thing:sttia存在主语物,使得存在对象物。
thing:sttiai存在主语物,使得存在对象物的实例。
thing:sttmb存在主语物,使得可能存在对象物。
thing:sttiana存在主语物,使得不存在对象物。
thing:parent对象物是主语物的亲物。
thing:child对象物是主语物的子物。
thing:next对象物是主语物的下一同胞物。
thing:prior对象物是主语物的前一同胞物。
断言thing:is以及thing:is.not是满足宣称thing:predicate。满足宣称的形式可以是以下表达:
thing:expression=thing:subject thing:satisfaction-claim 0,l(thing:object)
满足宣称由作用于该宣称的thing:verb进行断言。这使一组可接入满足宣称能自行配置用于具体的实施例。满足宣称的子集包括:
thing:is.lt主语物的值小于对象物的值。
thing:is.lteq主语物的值小于或者等于对象物的值。
thing:is.eq主语物的值等于对象物的值。
thing:is.gteq主语物的值等于或者大于对象物的值。
thing:is.gt主语物的值大于对象物的值。
thing:is.not.empty主语物的值不是空的
thing:graph(s)是thing:subject(s)的图形。thing:graph(monad)是相关的物的超图形。
thing:directed-edge thing:is-a graph:directed-edge
thing:directed-edge(s,r,o)thing:is-a graph:directed-edge with graph:edge-label(r)of thing:relationship(s,r,o)
thing:blank.node thing:is-a thing:thing
thing:rgraph(s,r,o)=thing:subject(s)thing:directed-edge(s,r,o)thing:object(o)
thing:graph.empty(s)=thing:subject(s)
thing:graph(s,r,o)=thing:rgraph(s,r,o)/thing:graph.empty(s)
thing:class(class.id)是由thing:nameclass.id给定的thing:thing。其与存在于该类的上下文中的纪律(discipline)有关系。
thing:class(class.id)thing:is-a thing:subject(class.id)
thing:class(class.id)thing:has-a thing:relationship(thing:class(class.id),thing:sttia,thing:discipline(class.id,d))
thing:class(class.id)thing:has-a
thing:relationship(thing:class(class.id),thing:sttia,
thing:binding.urr)
thing:discipline(class.id,d)thing:is-a thing:context(thing:class(class.id),thing:verb(d))
thing:class(c)thing:may-have-a thing:relationship(thing:class(c),thing:sttia,G.criteria(c))
G.criteria(c)thing:is-a thing:graph denoting the set of criteria forbeing a member of the thing:class(指示一组thing:class的成员准绳的thing:graph)
示例性thing:class包括
a)thing:class(thing:char)
b)thing:class(thing:num)
c)thing:class(thing:bin)
d)thing:class(thing:dec)
e)thing:class(thing:hex)
示例性纪律包括
a)thing:discipline(c,thing:set)
b)thing:discipline(c,thing:get)
c)thing:discipline(c,thing:unset)
实施例可以添加一组修饰语,以修饰P(TM(discipline(c,d))。示例性修饰语包括:
a)thing:before(thing:discipline(c,d),thing:urr(u))
b)thing:as(thing:discipline(c,d),thing:urr(u))
c)thing:after(thing:discipline(c,d),thing:urr(u))
在评估thing:discipline(c,v)之前对thing:before urr进行评估,如果被满足,则对thing:discipline(c,v)进行评估。
将thing:as urr当成G(urr(d))进行评估。
在成功评估G.urr(d)或者thing:as urr(如果被指定的话)之后,对thing:afterurr进行评估。
通过为类thing:class(class.id)图形配置合适的与纪律的关系,来配置新的分类。
thing:verb是P(TM(thing))管理的thing:thing,使得存在引用可完成的动作的表示,该动作可以被分辨为能够由P(TM(perform))导致完成的可完成的动作。我们说P(TM(perform))是通过导致可完成的动作的完成而完成thing:verb的。
thing:verb(i)thing:is-a G(P(TM(i)))
G(P(TM(i)))thing:is-a thing:subject(i)
G(P(TM(i)))thing:has-athing:relationship(thing:subject(i),thing:sttia,G(request(i)))
G(P(TM(i)))thing:has-athing:relationship(thing:subject(i),thing:sttia,G(urr(i)))
G(request(i))thing:is-a thing:graph of the things P(TM(i))can actupon(P(TM(i))能够作用的物的thing:graph)
G(urr(i))thing:is-a thing:graph of a thing:urr(i)(thing:urr(i)的thing:graph)
thing:urr(i)是用于请求完成P(TM(i))的统一资源请求。动作P(TM(i))将thing:urr(i)的值绑定于P(TM(perform))能够完成的可完成的动作。在示例性实施例中这可以包括绑定于非暂时性存储器中指令的地址。进一步地,所述实施例的特征可能在于使用诸如fork(复刻)、exec(执行)、pthread-create(创建线程)、connect(连接)、open(打开)、send(发送)、write(写)、receive(接收)、read(读)、close(关闭)、wait(等待)以及/或者disconnect(断开连接)等一个或多个操作系统调用。
评估请求完成P(TM(i))的请求时,P(TM(eval))与P(TM(thing))交互以确定P(TM(i))通过算法准备需要能被P(TM(i))接入的P(TM)物的图形。在一实施例中,所述图形是在为动作P(TM(i))期间具体生成的请求命名空间的上下文中被生成的。响应(如果有的话)是在响应命名空间的上下文中进行设置的。这使P(TM(eval))能将新的上下文推到P(TM(i))的上下文堆栈上,并通过算法与响应命名空间交互,以相应更新P(TM(thing))管理的物。
thing:verb.vocabulary是使得存在与一组thing:verbs的关系的thing:thing。
thing:verb.vocabulary(c)thing:is-a thing:subject(c)
thing:verb.vocabulary(i)thing:has-a thing:relationship(
thing:subject(i),thing:sttia,thing:set.of(thing:verb)
)
thing:verb.vocabulary(i)thing:has-a thing:relationship(
thing:subject(i),thing:sttia,G(urr(i))
)
G(urr(i))thing:is-a thing:graph of a thing:urr(i)
由P(TM(i))完成对应thing:urr(i)的可完成的动作,以配置针对动词词汇的动词物。
示例性thing:relationship
以下进一步示出物关系的实施例。如图19的有向图形所示,物x是物y的先驱,y是物x的接替者。谓语是关系物such that there is a(使得存在),记为thing:sttia。阐释为:存在名为x的物,使得存在名为y的物。关系“使得存在”记为边缘标签thing:sttia。
如图20的有向图形所示,物x是物z的先驱。谓语是“such that there is aninstance(使得存在实例)”,记为thing:sttiai。阐释为:存在名为x的物,使得存在名为z的物的实例。
如图21的有向图形所示,阐释为:存在名为x的物,使得存在名为y的物,使得存在名为z的物,使得存在对名为x的物的引用。关系such that there is a reference to记为边缘标签thing:sttiart。引用的形式可以是可以被阐释为列表的URI。
如图22的有向图形所示,物x是thing:table。使用边缘配对next(下一)、last(上一)以及边缘配对parent(亲)、child(子),可以双向遍历该图形。
如图23的有向图形所示,多个物与单个物有关系。
如图24的有向图形所示,物“x”是物类“c”的成员。
谓语能够指示关于物的不可变组成部分的关系。如图25的有向图形所示,所述关系指示物“x”的名字是物类“b”的成员。
如图26的有向图形所示,所述关系指示物“x”的值是物类“c”的成员。
以下是在管理图形中的物时,P(TM(thing))管理的示例性的物。
thing:monad——monad是第一物,P(TM(thing))管理的全部其它物都可以从该第一物被识别。有向图形的节点是物。有向边缘标签是在所连接的物之间成立的命题。monad有向图形指示物机的状态。monad连接的边缘指向物context,该上下文物具有有向边缘标签“such that,there is a(使得存在)”,该标签记为“thing:sttia”。
thing:context——上下文物context表示被组织为堆栈的一组物。其中,堆栈的顶部是表示当前上下文的物。新的上下文物可以通过算法被推到堆栈上,或者通过算法被弹出堆栈,以改变当前上下文。上下文物的实例是一组物的有向图形的根,该组物是该上下文的范围内的命名空间。
thing:namespace——命名空间是物,其表示以某种方式逻辑地相关的物的被命名的图形,即使所述相关的物是仅通过同为相同的命名空间的成员而相关。该图形的名字符合国际资源识别码(International Resource Identifier,IRI)方案的命名要求。命名空间的生根的有向图形以作为根的物namespace开始,所连接的节点是由物namespace限定的物。有向边缘标签指示在所连接的物之间成立的关系。
物context量化一组可用的命名空间物。示例性命名空间包括请求命名空间、响应命名空间、本地命名空间、服务命名空间、核心命名空间以及启动命名空间。可以通过P(TM(thing))的动作配置附加的命名空间。以下图形针对上下文的各命名空间均为真。其中,图形的未被命名的节点被绑定于由上下文限定的命名空间。如图27的有向图形所示,上下文包括请求命名空间、响应命名空间以及本地命名空间。实施例能够自行配置该组命名空间。
以下表3提供示例性命名空间。
表3
将IRI映射到命名空间物
IRI方案名字被映射到物namespace。IRI的方案指定部分则根据具体的命名空间的规则进行映射。默认行为是使用点(“.”)字符定界符指示关系“使得存在”,及括号定界符(“[”以及“]”)指示关系“使得存在实例”。例如,reference:request:statement[1].word被阐释为:
存在名为“request”的命名空间物,使得存在名为“statement”的物,使得存在名为“1”的物的实例,使得存在名为“word”的物。
如以上在物图形中数据模型章节所述,互联网号码分配机构公布的全部永久的URI方案都是预留的命名空间名字。预留的命名空间的完整列表在线公布于http:// www.iotnamespaces.com/reserved。还可以从以下网址查询IRI到预留的命名空间的映射:www.iotnamespace.com/mappings。
使用XML识别物
基本的XML被解析并被绑定在命名空间中。这对诸如由使用基本的XML格式的URLhttp://w1.weather.gov/xml/current_obs/index.xml识别的气候服务等服务而言很重要。为示出所述映射,考虑以下片段:
通过解析所述简单的XML,以下三联词为真,如表4所示。
表4
在基本的XML映射中,元素被映射到物,属性被映射为该物的属性的实例。
XML纲要定义
从我们的使用气候站XML数据的前一示例,物local:station.xml_url具有的值识别表示站的本地数据的资源。在取回该资源时,我们发现其是XML版本1.0文档,其部分包含:
<current_observation version="1.0"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNSL="http://www.weather.gov/view/current_observation.xsd">
解析XML时,默认动作将元素阐释为物,将属性阐释为关于该物的属性的实例。以下三联词为真,如表5所示。
表5
作为形式断言,三联词可以表达为:
存在名为“current_observation”的物,使得
存在
名为“xmlns:xsd”、
值等于“http://www.w3.org/2001/XMLSchema”的物的实例,以及
存在
名为“xmlns:xsi”、
值等于“http://www.w3.org/2001/XMLSchema-instance”的物的实例,以及
存在
名为“xsi:noNamespaceSchemaLocation”、
值等于“http://www.weather.gov/view/current_observation.xsd”的物的实例。
XSD引用使能取回XSD纲要,从而使得对象元素、子元素以及属性的有效的结构能够被表示为命名空间中的物。
XML命名空间
在XML中,被限定的名字是受制于命名空间阐释的名字。元素以及属性二者都是被限定的名字。在解析服从于XML命名空间规范的XML文档时,所述文档被解析成请求命名空间、被证实有效、并使用被限定的名字作为物名字留存所述文档的结构。
考虑例如下述XML文档。书元素包括二命名空间属性。第一命名空间属性定义默认XML命名空间。第二命名空间属性定义isbn XML命名空间。XML1.1规范不要求IRI为经验证的IRI,而是被指定为句法上正确的IRI。因此,解析动作并不将XML IRI引用映射到物命名空间。
使用速记符号,以下为真,如表6所示。
表6
request:book[xmlns] | THING:equals | urn:loc.gov:books |
request:book[xmlns:isbn] | THING:equals | urn:ISBN:0-395-36341-6 |
request:book.title | THING:equals | Cheaper by the Dozen |
request:book.isbn:number | THING:equals | 1568491379 |
request:book.notes[xmlns] | THING:equals | http://www.w3.org/1999/xhtml |
形式满足宣称为
存在名为“request”的命名空间物,使得
存在名为“book”的物,使得
存在
名为“xmlns”、
值等于“urn:loc.gov:books”的物,以及
存在
名为“xmlns:isbn”、
值等于“urn:ISBN:0-395-36341-6”的物。
物语言
在物图形模型中,全部物都是物。一些物是命名空间,一些是动词。另一些物是动词动作能够作用的物。动词及其能够作用的一组物之间的关系被表达为动词图形物。
分类使能对意图的动作的含义进行推断。在以下示例声明中,意图的动作要使用物以及时间单位“设置”东西;然而,各声明所要求的动作大不相同。
将计时器设置为6:00分钟。
将时钟设置为6:00AM。
设置6:00PM报警。
完成解析动作,以将声明解析为物图形thing:graph。评估动词在动词词汇图形的上下文中评估thing:graph,以选择候选动词。评估动词动作将请求图形中的物绑定于候选动词图形中的物,以识别需要被完成的动词图形的实例。触发完成动作,以导致识别出的动词动作在被绑定的物的上下文中被完成。
物声明
物语言提供祈使式声明结构以及宣告性声明结构。一般而言,最少的启动词汇适于使用祈使式声明,而更富有表达力的核心词汇允许使用宣告性的声明。针对物声明的ABNF定义如下。ABNF句法在RFC2234中定义。
thing:statement=statement-1/statement-2
statement-1=ne-pair
statement-2=listing expression[“;”]
nv-pair=listing=DQUOTE value DQUOTE[“;”]
ne-pair=listing=OP expression CP
expression=*(ne-pair/nv-pair)
listing=namespace“:”namespace-specific-part
OP=“(“
CP=“}”
DQUOTE=‘”’
作为示例,以下祈使式声明指令物机将由列表request:my.name识别的物设置为值John。
set=(request:uri=”request:my.name”request:value=”John”)
动作P(TM(bind))可以用于将列表绑定于动作能够作用的物,使得上述声明可以被指定为:
set=(request:my.name=”John”)
一般地,相同的句法适用于物语言中的任意声明。注意动词动作能够作用的物包含定界符“(”以及“)”。
物语言的简单句法易于翻译为其它语言。例如,上述声明可以被表达为JSON,如下所示。
类似地,示例声明可以使用THING/XML进行表达。
可以使用任意数目的语言以及句法,只要解析器动作能够将数据解析成thing:graph。
如下所示,支持多部分数据。在本示例中我们展现基于设置的动词的简单声明。注意request:listing未被指定。评估动词动作将与request:graph以及动词词汇中的对应的动词图形交互,以将request:graph中的物绑定于动词能够与之交互的物。在本示例中,request:listing的值默认为rcd:Contact,request:class的值默认为thing:thing。
上述声明等价于:
宣告性的声明与祈使式声明遵循相同的一般句法。为示出区别,我们将简单示例开始,使用三个祈使式声明将列表painting:Gallery初始化为自动实例化物。被分类为thing:auto-instance的物将在每次物用于一组动词动作时自动添加新的实例。
以下宣告性的声明则是用于表达我们想要的东西,而不详述要求的各步骤。
上述的输出为:
Van Gogh Almond Blossom
Ylli Haruni Cherry Blossom
命名空间范围
命名空间是物,其表示以某种方式逻辑地相关的物的被命名的图形,即使所述物是仅通过同为相同的命名空间的成员而相关。命名空间物由上下文物限定,该图形的名字(命名空间的名字)符合IRI方案的命名要求。互联网号码分配机构公布的全部永久的URI方案都是预留的命名空间名字。
分类
物可以被分类为物的类的成员。全部物都是物。一些物是整数,一些物是浮点数,一些物是设置,等等。命名空间系统自行组装有一组核心类,其上可能存在附加的类。第2章节提供关于类的详细的信息。
以下示例被阐释为:完成设置动作,使得存在名为local的物。该物是命名空间,使得存在名为scores(得分)的物。在该上下文中,scores是物。
·set=(listing=”local:scores”)
以下示例描述一请求,其请求将scores设置为浮点数。
·set=(class=float listing=”local:scores”value=”83.25”)
通信原语(Communication Primitives)
通信原语是物,其提供用于通信的接口。原语使能诸如连接、发送、接收以及断开连接等常见动作。提供用于各种类型的通信的通信原语,包括网页物、套接字(socket)、文件、RS232、URI方案以及统一资源请求列表。
通信点
通信点是通信原语与其交互以导致通信发生的物。
常见的本地文件
·connect=(listing=file://~/mydocuments/scores.txt as=compoint:1)
·send.line=(compoint=”compoint:1”value=”93”)
·send.line=(compoint=”compoint:1”value=”87”)
·send.line=(compoint=”compoint:1”value=”92”)
·close=(compoint=”compoint:1”)
使用未加密的标准电子邮件
·connect=(listing=”email:johnkingburns@gmail.com”as=compoint:2)
·send=(compoint=”compoint:2”value=”Subject:Meeting”)
·send=(compoint=”compoint:2”value=”John,let’s meet on Tuesdayat10:00am to discuss the plan.”)
·close=(compoint=”compoint:2”)
使用加密的主动命名空间
·connect=(listing=”activeNamespace:john.king.burns”as=”compoint:jkb”)
·send=(compoint=”compoint:jkb”value=”Subject:Meeting”)
·send=(=”compoint:jkb”value=”John,let’s meet on Tuesday at 10:00am to discuss the plan.”)
·close=(=”compoint:jkb”)
声明
在物语言中,声明包括动词以及零个或更多个Objectname=expression(对象名字-表达)配对。各表达是值表达或者name=expression配对。绑定器能够绑定由点定界的动词修饰语。
通过包含名字表达的名字量化所述名字表达。从而a=(b=1)被阐释为:存在名为a的物,使得存在名为b、值等于1的物。诸如a=(b=1c=2)等多部分声明被阐释为:存在名为a的物,使得存在名为b、值等于1的物以及名为c、值等于2的物。
值表达是字面意义,并可以被引述。包括空格字符的字面意义值必须被引述。从而,a=house、a=”house”、a=’house’是等价的。类似地,a=”red house”和a=’redhouse’是等价的。
数学表达被双括号围起来,而不必被引述。作为示例a=((10+-2*(6/3)))。操作的正常顺序适用,且表达可以与插入语一起被围起来。不支持函数,但是支持数学动词。从而,只要sqrt是数学动词词汇中的动词,则a=((2*sqrt(4)))会一如预期地进行评估。
为了明确地表示声明,格式为:
动作方框
动作方框是要作为一单位被评估的声明序列。这使命名空间系统能完成所述方框,并允许逻辑处置真假类型声明。动作方框的一般句法为:
在以下示例中,提供简单动作方框序列:
·action=(
set=(listing=”local:counter”value=”1”)
print=(listing=”local:counter”)
)
条件词(Conditionals)
命名空间系统提供对动作的有条件的评估。支持条件词IF、ELSE-IF以及ELSE。
·if=(condition=(is.less.than=(listing=”local:number”value=’10’))
action=(increment=(listing=”local:number”)))
else.if=(condition=(is.less.than=(listing=”local:number”value=’20’))
action=(increment=(listing=”local:number”by.value=”2”)))
else=(action=(break))
迭代
迭代是由条件动词动作for以及while使能的。
·for=(
condition=(
is.less.than=(lhs=”local:number”rhs=’5’)
)
action=(
increment=(var=”local:number)
)
)
·while=(
condition=(is.less.than=(lhs=”local:number”rhs=’5’)
action=(
increment=(var=local:number)
)
)
设置
设置动词动作将根据识别为request:class的值的分类的规则设置由request:listing的值给定的物。当未明确地指定类时,评估动词动作将基于声明中的物确定合适的分类。
在以下声明中,分类默认为request:class=”thing:thing”,对应的动词图形如图28所示。
在以下声明中,分类默认为request:class=”thing:alarm”,对应的动词图形如图29所示。
这里示出针对该设置的动词声明。随着新的分类被添加,可能需要支持分类的含义的附加的动词动作,其可以使用动词修饰语被添加到所述词汇。
thing:graph——thing:graph是物及其相关的物的有向图形,并可以被表达为来自根有向图形的全部可能的物及其关系的子图形。未被命名的顶点标签被阐释为thing:identifier。否则,一个或多个被命名的不可变组成部分以及表示可以用作顶点标签。在优选的实施例中,name:name以及value:value分别用于指示thing:identifier以及thing:value(当要求这样的区别时)。
thing:graph中的未被命名的顶点是话语领域中的一组物,该组物由满足未被命名的顶点有向图形的先驱(如果有的话)进行限定。
thing:subgraph——P(TM(i))可以作用于monad生根的有向图形的thing:subgraph。
thing:statement——表示要评估的声明的thing:graph。
thing:statement.declarative——宣告性的thing:statement。
thing:statement.imperative——祈使式thing:statement。
thing:statement.interrogative——查询性的thing:statement。
thing:statement.exclamatory——感叹性thing:statement。
thing:listing——列表表示对物的引用。被限定的列表包括对命名空间的引用的表示,并具有一般格式“namespace:namespace-specific-part”,该格式可比于由“scheme:scheme-specific part”构成的URI。未被限定的列表(也被称为未被绑定的列表)可以由P(TM(bind))通过算法进行限定。thing:listing由P(TM(thing))的算法动作进行分辨。
命名空间指定部分可以使用针对给定的命名空间的纪律get、set以及unset进行分辨。这使可预测的算法动作甚至在命名空间指定部分的阐释依赖于在被建模的命名空间时,也能分辨一引用。
自由变量
对物的引用的表示被视为是自由变量。P(TM(bind))通过算法将该引用绑定于由上下文定义的一组物内。遍历thing:graph时,通过算法对物的上下文进行更新,以反映适用于话语领域内的物的当前范围的物。考虑以下断言:
存在物,使得存在名为Contact的物以及存在名为电子邮件的物。
打开引用“There is a Thing,such that”(存在物,使得)表明由P(TM(thing))管理的在话语领域中的全部可能的物被视为是在当前一组物中。P(TM(bind))然后取消限定当前组中使限制“使得存在名为Contact的物以及存在名为电子邮件的物”不成立的全部物。
参照图30,G.request(P(TM(i)))表明P(TM(i))能够作用于限定于请求命名空间中的物。未被命名的节点指示P(TM(i))能够作用于限定于请求命名空间中的一些物,而不通过名字对物进行识别。
参照图31,G.request(P(TM(i)))表明P(TM(i))能够作用于由限定于请求命名空间中的物statement限定的物Contact(联系人)。
参照图32,示例性G(P(TM(i)))是生根的有向thing:graph,其包括子图形G.request(P(TM(i)))以及子图形G.urr(P(TM(i)))。所述子图形指示P(TM(perform))是如何请求P(TM(i))完成其动作的。注意物request:statement的各组成部分满足由http://www.schema.org/Thing定义的物schema的各组成部分。
统一资源请求
物URR(Uniform Resource Request,统一资源请求)是URI,其可以被P(TM(thing))阐释为请求完成可完成的动作的请求。示例地:
stdlib:load///usr/local/lib/libboot.so?entry=’init’
http:get//www.iotsystems.com/index.hml
http://www.iotsystem.com/index.html
task:list.my.contacts?request:pattern=’[A-M].*’
URR和常规的URI之间的区别是,在thing:namespace中的物(而不是请求服务器提供被识别的资源)的上下文中对URR进行评估。
物stdlib:load是主动物,其可完成的动作动态加载对应的库,将对物entry的值的引用分辨为可完成的动作,并完成该动作。典型地,对视窗、Linux、BSD、iOS或者其它这样的操作系统使用调用dlopen()以及dlsym()、或者等价调用,来对该动作进行体现。见http://pubs.opengroup.org/onlinepubs/009695399/functions/dlopen.html
来自动作的完成的响应是一组thing:statement,其请求物机配置相关到被加载的动作的thing:verbs。P(TM(bind))可以用于使用dlsym()或者等价的操作系统调用将入口点引用绑定于可完成的动作。
物stdlib:unload是主动物,其可完成的动作卸载对应的库。典型地,使用dlclose对该动作进行体现。见http://pubs.opengroup.org/onlinepubs/009695399/functions/ dlclose.html
使用URR时,相对于URI,必须注意客户端以及服务器之间在资源分辨上的区别,URR由物机分辨为资源,而URI常由服务器分辨为资源。
P(TM(i))能够生成URR,并请求P(TM)评估并完成合适的动作。作为示例,P(TM(parse))能够与内容交互,以解析并发现其格式或者语言是不被解析器动作理解的。此时,P(TM(parse))可以请求评估并完成能够解析所述内容的第二动作P(TM(i))。
具有通信能力的第一物机能够向第二物机传达一请求,以请求识别物(或者其内容)。第二物机能够教导第一物机:东西表示什么;能够作用于该东西上的动作;以及/或者可以使用该东西完成的任务。
核心POSIX词汇
核心POSIX.1-2008定义标准操作系统接口以及环境,包括命令阐释器(或者“shell”),以及在源代码级别支持应用程序便携性的常见实用程序。意图由应用程序开发方以及系统实施方二者使用。见:http://pubs.opengroup.org/onlinepubs/9699919799/
核心词汇遵循POSIX.1-2008系统API,不过不是全部应用程序编程接口都是当前提供的。参数是物,其中,由对应的动词动作提供字符字符串以及真实整数之间的合适的转换。物的实施例包括用于系统指定数据的不可变组成部分,使得必要时可以提供指向数据结构的指针。示例地,定义函数unlink()的POSIX标准被定义为“int unlink(const char*path)”,其体现为动词动作“unlink”,其作用于由列表request:path识别的物。在实施例中,所述函数被实施为动词物(即thing:verbs)并被配置在动词命名空间中,不过也可以使用诸如posix等适合的命名空间,并以合适的方式设置上下文用于分辨引用。
可以配置具体针对于应用域的算法程序。诸如http:get等常使用的动词动作可以被配置为使用http协议的GET方法取回由URI指定的资源。
可以使用进程间通信或者标准文件描述符将可执行程序配置为动词动作。例如,可以配置Unix以及Linux社区中熟知的/bin/date(l)命令,不过可能需要将输出解析为便于实施解析的适合的格式。列表bin:date例如可以具有可完成的动作,其要对单独的地址空间中的/bin/date可执行程序进行exec(2),并将输出用管道输送(pipe)回来作为响应的值。URR bin:date//response:as=”data:date”被阐释为对要完成的动词动作bin:date的请求,以及(从所述命令的标准输出读出的)响应,该响应要被配置为由列表data:date给定的物的值。
使用明确定义的动词动作组,任务序列可以被翻译为源代码,其可以被编译并作为可执行程序被完成,以消除评估声明以及绑定物的步骤。
thing:machine
描述物机的实施例的物是thing:machine。参照图66,P(TM)解析以物语言表达的内容,其描述期望的P(TM)配置。P(TM)与P(TM(thing))交互以构建表示P(TM)的thing:graph,所述thing:graph是物thing:machine。
公钥基础设施领域中的技术人员能够体现认证动作,诸如通过使用X509证书、数字签名以及OpenSSL身份、认证及授权算法动作等,来确保所述内容的真实性。
参照图66,描述thing:machine的thing:graph由指示词汇的一组物构成,包括:
a)启动词汇;
b)核心词汇;以及,
c)应用程序运行时词汇;
来自该组的可选的物包括:
d)硬件物;以及,
e)操作系统物。
注意硬件物可以包括描述处理器的处理器物以及一个或多个组成部分物。硬件物可以包括词汇物。
描述词汇的该组物可能由以下构成:
a)统一资源请求,其用于请求要加载的动词词汇可完成的动作;
b)内容,其描述thing:verbs的thing:graph;
c)针对所述词汇的列表;
d)先决条件物;
e)纪律物;
f)识别作者的物;
g)识别经销商的物,经销商可以不同于所有者;
h)识别所有者的物,所有者可以不同于作者;
i)用于认证内容的物;
j)用于授权内容的使用的物;以及,
k)来自https://www.schema.org/SoftwareApplication的所有物
注意,应用程序词汇URR使用stdfile:parse,其完成的动作为:读文件并将其解析为待评估的thing:statement。在实施例中,该声明包括待配置的一组任务、运行时任务以及待提供的一组服务。在实施例中,所述任务以及所述服务包括动作方框,通过完成所述任务的动作方框而完成所述任务。类似地,通过完成所述服务的动作方框而提供所述服务。本领域中的技术人员能够配置多种任务以及服务。
以下是以物语言表达的内容的示例。其中,所述内容描述TM(i)。
TM:RaspberryPi3
以下是以物语言表达的内容的示例。其中,所述内容描述TM(i)。
TM(RaspberryPi3)是计算机器,该机器被配置为完成P(TM),包括动作:完成自行配置的thing:machine.boot.vocabulary可完成的动作,以配置与thing:machine.hardware.component.parts交互的thing:machine.core.vocabulary,配置thing:machine.application.vocabulary,并完成应用程序运行时间。
TM(AMS.TMD26723)
以下是以物语言表达的内容的示例。其中,所述内容描述TM(i)。TMD26723是由AMS公司(见http://www.ams.com)提供的光学模块1.8v I2C接口中的IR LED、LED驱动程序以及数字接近探测器。所述产品数据表可以从以下网址查询:http://ams.com/eng/content/ download/364923/1210537/207915
TM(AMS.TMD26723)是计算机器,该机器被配置为使用按照该数据表指定的方式被配置的i2c通信与TM2671交互,并提供如以下表7所列出的动作P(TM(AMS.TMD26723))。
表7
注意在优选的实施例中,P(TM(i))将通过算法与P(TM(thing))交互,以接入动作P(TM(i))能够作用的物并与之交互。P(TM(i))与P(TM(thing))交互以针对任意不在动作P(TM(i))许可的值的范围内的值,将状态设置为FAILED,并将原因设置为INVALID VALUE。在优选的实施例中,动作的引用名字被配置在TMD26723命名空间中,不过第二实施例可能使用不同命名空间。
实施例可以包括附加的动作,包括使用i2c接口打开到TMD26723的通信信道的动作,从而使动作能作用于表示所述信道的物。这在实施例中使用多种TMD26723传感器时是有用的。
TM(piborg.ultraborg)
Ultraborg是具有i2c通信的接口板以及具有超声波模块支持的精确伺服控制。所述板提供4HC-SR04超声波距离传感器连接器以及多达4个伺服电机连接器。HC-SR04具有30度角的视野。
以下是以物语言表达的内容的示例。其中,所述内容描述TM(i)。
TM(piborg.ultraborg)是计算机器,该机器被配置为使用按照该数据表指定的方式被配置的i2c通信与Ultraborg交互,并提供如表8所列出的动作P(TM(piborg.ultraborg))。
表8
注意在优选的实施例中,P(TM(i))将通过算法与P(TM(thing))交互,以接入动作P(TM(i))能够作用的物并与之交互。P(TM(i))与P(TM(thing))交互以针对任意不在动作P(TM(i))许可的值的范围内的值,将状态设置为FAILED,并将原因设置为INVALID VALUE。
在优选的实施例中,动作的引用名字被配置在指定的命名空间中,不过第二实施例可能使用不同的列表。
在一实施例中,HC-SR04超声波传感器安装于可以被伺服电机运动转动的表面。以这种方式,所述伺服电机能够诸如以30度逐步增加的方式转动所述表面,使超声波传感器能逐步增加地覆盖更宽的区域。
在第二实施例中,HC-SR04超声波传感器安装于诸如朝前等固定的位置,以固定的30度视野测量多达4米的距离。
TM(Ublox.neo-6m-gps)
Neo-6M-GPS是ublox 6GPS模块ROM,晶体使用标准GPIO接口。
以下是以物语言表达的内容的示例。其中,所述内容描述TM(i)。
TM(Ublox.neo-6m)是计算机器,该机器被配置为使用按照该数据表指定的方式被配置的一般用途i/o与u-blox Neo 6M GPS交互,并提供如表9所示的动作P(TM(Ublox.neo-6m))。
表9
注意在优选的实施例中,P(TM(i))将通过算法与P(TM(thing))交互,以接入动作P(TM(i))能够作用的物并与之交互。P(TM(i))与P(TM(thing))交互以针对任意不在动作P(TM(i))许可的值的范围内的值,将状态设置为FAILED,并将原因设置为INVALID VALUE。在优选的实施例中,动作的引用名字被配置在指定的命名空间中,不过第二实施例可能使用不同的列表。
TM(HC-SR501)
HC-SR501热释电红外PIR运动传感器探测器模块。以下是以物语言表达的内容的示例。其中,所述内容描述TM(i)。
TM(HC-SR501)是计算机器,该机器被配置为使用由该数据表指定的一般用途I/O接口与PIR交互,并提供表10示出的动作P(TM(HC-SR501))。
表10
P(TM(i)) | 提供的动作 |
Init | 初始化HC-SR501通信 |
detect.motion | 探测是否有运动 |
注意在优选的实施例中,P(TM(i))将通过算法与P(TM(thing))交互,以接入动作P(TM(i))能够作用的物并与之交互。P(TM(i))与P(TM(thing))交互以针对任意不在动作P(TM(i))许可的值的范围内的值,将状态设置为FAILED,并将原因设置为INVALID VALUE。在优选的实施例中,动作的引用名字被配置在指定的命名空间中,不过第二实施例可能使用不同的列表。
Cirrus逻辑音响卡
由e络盟(Element14)公司与凌云逻辑(Cirrus Logic)公司合作生产的Cirrus逻辑音响卡提供树莓派(Raspberry )用户类似PC声卡的灵活性,以捕获伴随其摄像头的声音,并试验立体声数字捕获以及回放。
以下是以物语言表达的内容的示例。其中,所述内容描述TM(i)。
TM(Element14.CLAC)是计算机器,该机器被配置为按照该数据表指定的方式与Cirrus逻辑音响卡接口交互;立体声麦克风连接到立体声线路输入;二外部供电的立体声扬声器连接到立体声线路输出,并提供如表11所示的动作P(TM(Element14:CLAC))。
表11
注意在优选的实施例中,P(TM(i))将通过算法与P(TM(thing))交互,以接入动作P(TM(i))能够作用的物并与之交互。P(TM(i))与P(TM(thing))交互以针对任意不在动作P(TM(i))许可的值的范围内的值,将状态设置为FAILED,并将原因设置为INVALID VALUE。在优选的实施例中,动作的引用名字被配置在指定的命名空间中,不过第二实施例可能使用不同的列表。
Cirrus逻辑音响卡TM(Element14.CLAC)的示例性的实施例示出如下:
https://www.element14.com/community/servlet/JiveServlet/downloadBody/65689-102-2-291406/Wolfson%20Audio%20Card%20Schematic%20Diagram.pdf
TM(TI.TMP007)
TMP007是晶圆芯片级封装(Wafer Chip-Scale Package,WCSP)中的集成数字热电堆温度传感器,其通过远程对象的红外(IR)发射探测所述对象的温度。见http:// www.ti.com/lit/ds/symlink/tmp007.pdf。
以下是以物语言表达的内容的示例。其中,所述内容描述TM(i)。
TM(TI.TMP007)是计算机器,该机器被配置为按照TMP007数据表指定的方式与TITMP007交互,并提供如表12所示的动作P(TM(TI.TMP007))。
表12
P(TM(i)) | 提供的动作 |
Initialize | 初始化与TI TMP007的通信 |
Calibrate | 校准TMP007 |
validate.calibration | 证实校准的有效性 |
alert.on.high | 如果温度超过指定的高温度,则向P(TM)发出警报 |
alert.on.low | 如果温度是低于指定的低温度,则向P(TM)发出警报 |
validate.alert | 证实警报条件的有效性 |
alert.clear | 清除警报条件 |
set.mode | 将TMP007操作模式设置为INT或者COMP |
get.temperature | 将物的值设置为记录的温度 |
P(TM(i))的示例
如上所述,物机由多种TM(i)构成。其中,各TM(i)是具有程序P(TM(i))的计算机器。不同P(TM(i))的示例包括但不限于以下。
动作P(TM(format)与P(TM(thing))交互,以将物response namespace格式化为动作P(TM(output))输出的出去的物content response。注意P(TM(format)以及P(TM(output))的算法步骤可以组合为由诸如P(TM(format.output))等合适的P(TM(i))给定的单个程序。
P(TM(runtime))动作与P(TM(thing))交互以完成表示声明序列的被配置的任务thing:graph,由P(TM(eval))对各声明进行评估,其中P(TM(eval))具有要由P(TM(perform))完成的对应的可完成的thing:graph。
P(TM(runtime))提供动作,以通过算法:
1、与P(TM(thing))交互,以将由状态列表给定的物的值设置为值“satisfied”;
2、当所述物的值等于“satisfied”时,迭代地完成以下序列:
a、与P(TM(parse))交互,以从输入装置读内容,解析所述内容,并与P(TM(request))交互,以生成对应的图形thing:statement;
b、与P(TM(eval))交互,以在主动物的上下文中评估所述图形,以生成可完成的图形thing:statement;以及,
c、与P(TM(perform))交互,以完成所述可完成的图形thing:statement。
P(TM(runtime))可以被配置为一组启动主动物中的主动物。动作P(TM(bootstrap))能够初始化通信信道并设置表示该通信信道的物。动作P(TM(parse))能够与P(TM(thing))交互,以接入作为从其读内容的通信信道的所述物并与该物交互。
P(TM(runtime))可以被配置为一组启动主动物中的主动物。动作P(TM(bootstrap))能够初始化通信信道并设置表示该通信信道的物,然后请求P(TM(runtime))的完成。动作P(TM(parse))能够与P(TM(thing))交互,以接入作为从其读内容的通信信道的所述物并与该物交互。
针对未知的物,P(TM)能够与P(TM(bind))交互,P(TM(bind))提供的动作是:与P(TM(thing))交互,以将未被绑定的物绑定为P(TM)知道的物的分类的成员。
P(TM(classifier))通过算法将其被要求评估的声明的类型分类为关心的分类,并逐步增加关心的分类的计数。在预先确定的阈值处,P(TM)将该分类作为主题添加到P(TM)应该了解的物的列表。P(TM)能够通过算法确定了解主题的合适的时间。使用通信装置,P(TM)可以请求涉及所述主题的内容。该使P(TM)能确定其想要学习的主题的类型,以及想要的学习速率。例如,以75%存储器容量、65%处理容量以及/或者60%联网容量运行的物机可能将花费附加的资源去学习的时间推迟到以后的时间。在很多情况下,典型地,物机会坚持其完成环境所关心的区域。然而,通过向要学习的主题的列表添加随机选择,物机能够将其能力拓展得更加一般化。例如,作为出售产品的售货机的物机能够学习提供租车要求的动作。虽然表面上似乎可能很荒谬,设想忙碌机场中的具有随时可用的多个租车代理机构的售货机。这样的机器能够学习使用网页服务发现哪家租车公司具有适合消费者的选择,预约租赁,向消费者收费以及通过电子邮件向其发送收据。P(TM(classifier))能够提供对thing:statement进行分类的动作,P(TM(eval))使用所述分类对P(TM(eval))在选择满足thing:statement的主动物时可用的一组主动物进行识别。可以集成有其它形式的人工智能(AI)。例如,可以使用符号AI算法程序、子符号AI算法程序以及统计AI算法程序。
P(TM(eval))能够生成以及导致完成第一可完成的thing:statement以及使用其响应完成第二可完成的thing:statement。在实施例中,第一可完成的thing:statement能够完成P(TM(classifier)),以对诸如主题等被评估的thing:statement的类型进行分类。相应地,P(TM(eval))可以使用分类生成第二可完成的thing:statement,或者设置生成的可完成的thing:statement的可接入主动物的上下文。
参照图33,P(TM(parse))与输入装置(未示出)以及P(TM(thing))交互,以提供生成请求thing:graph的动作;P(TM(eval))与P(TM(thing))交互以提供在可接入可完成的动作的上下文中评估请求thing:graph的动作,以生成可完成的thing:graph;P(TM(perform))与P(TM(thing))交互以提供完成可完成的thing:graph的动作。其中,所述图形要完成P(TM(configure)),以改变P(TM)能够完成的可完成的动作的图形。在实施例中,输入装置是文件系统装置,内容是句法上服从于语言语法、描述至少一待配置的主动物的配置文档。在优选的实施例中,解析器动作以及格式化动作服从于物语言语法。在该配置中,从一组配置文档动态配置主动物的词汇。
参照图34,P(TM(env))与输入装置(未示出)以及P(TM(thing))交互,以提供生成请求thing:graph的动作;P(TM(eval))与P(TM(thing))交互以提供在可完成的动作的上下文中评估请求thing:graph的动作,以生成可完成的thing:graph;P(TM(perform))与P(TM(thing))交互以提供完成可完成的thing:graph的动作。其中,所述图形要完成P(TM(configure)),以改变P(TM)能够完成的可完成的动作的图形。
在优选的实施例中,输入装置是电磁波形装置。在该配置中,基于环境输入通过算法对thing:graph(monad)的部分进行修饰,因此,P(TM)适应其完成环境的需要。
在一环境中,动作P(TM)播放声音消息询问用户“我能为您服务什么”,第二动作录制用户响应。语音到文本动作将所述声音转换为文本,该文本被解析成thing:graph。分类器动作通过算法对谈话的主题进行分类。P(TM)向第二物机传达针对涉及所述主题的任务的请求。响应于接收所述信息,第一P(TM)通过算法配置所述任务,并完成所述任务。
在第二实施例中,物机包括接收机光学子系统组件,用于查询用户提供的光学识别码(OI),并相应地将thing:graph(monad)的部分配置为包括具体用于该用户的可完成的thing:graph。当用户诸如通过从光学阅读器移除所述OI而完成肯定动作时,P(TM)遗忘具体用于该用户的thing:gram(monad)的该部分。
在第三实施例中,物机包括诸如眼锁等识别用户的生物识别装置,并完成动作,该动作将thing:graph(monad)的部分配置为包括具体用于该用户的可完成的thing:graph。当用户诸如通过离开所述生物识别装置的区域而完成肯定动作时,P(TM)遗忘具体用于该用户的thing:gram(monad)的该部分。
P(TM(thing))提供的动作通过算法对非易失性存储器中的物及其间关系的表示进行初始化并组织为thing:graph。在支持类的实施例中,P(TM(thing))由纪律程序P(TM(thing:class))构成,该纪律程序诸如是:P(TM(thing:class.set)),其设置满足要求的物,该要求是成为所述类的成员对所述物的实例的含义;P(TM(thing:class.get)),其获得对该类物的引用;以及P(TM(thing:class.unset)),其取消设置指定的类的物的实例。修饰语动作使程序P(TM(thing))能被修饰,诸如“before”(之前)或者“after”(之后),从而使能“before set,perform this action”(设置之前,完成该动作)或者“after set,performthis action”(设置之后,完成该动作)。
物的各实例由P(TM(thing))使用的一组不可变组成部分构成。在优选的实施例中,所述组包括:thing:name、thing:value以及thing:relationship-set。实施例能够扩展该组,以并入诸如配置文件中的内容等由P(TM(thing))能够交互的内容指定的附加的各组成部分。
参照图35,在初始化期间,P(TM(thing))分配名为monad的物并对其进行初始化,作为物机的thing:graph的根,分配并初始化名为context的物,以及设置使断言:“存在名为monad的物,使得存在名为context的物”为真的关系。
参照图36,上下文量化一组物,该组物用于分辨由一个或多个自由变量及其间关系的表达构成的列表。示例地,http://www.iotnamespace.com/thing以及request:statement以及statement.thing[1]是列表的示例。
参照图37,在优选的实施例中,物context是thing:stack。通过thing:stack,P(TM(thing))能够通过算法将物推到堆栈(stack)上,或者使物弹出堆栈,从而改变上下文。在量化用于分辨列表的一组物时,P(TM(thing))通过算法使用处于堆栈的顶部的物作为当前上下文。
再次参照图36,在优选的实施例中,物current context具有一组关系,其包括与一个或多个被称为命名空间物的物的关系。该物的名字是该命名空间的名字。P(TM(thing))通过算法使用命名空间物作为表示相关的物的被命名的物图形的物,即使是仅通过被限定于相同的命名空间中而相关。URI方案名字可以是命名空间物的名字。URI方案指定部分是识别限定于该命名空间中物的列表。
参照图38,表示引用可完成的动作的物被分类为主动物。主动物是thing:verb并具有对应的主动物图形G(P(TM(i)))。主语节点名字被换成对应主动物名字,G.request作用的空白节点被换成P(TM(i))能够作用的物的图形。各G(P(TM(i)))包括:
a)物G.identifier(P(TM(i)),其名字为识别P(TM(i))的识别码,以及是有向图形中的根节点(主语物);
b)物G.urr(P(TM(i)))URI,其值指示一请求,其请求P(TM(i))作用于G.request;以及,
c)物图形G.request(P(TM(i))),其指示P(TM(i))能够作用的一组物。
参照图39,在实施例中,G(P(TM(i)))可以包括附加的物信息。该附加的物信息例如是包括来自完成P(TM(i))的响应的物的描述。
实施例可以包括表明P(TM(i))能够作用的物的各种置换的、给定的G(P(TM(i)))的多种G.request图形。这样的实施例可以进一步包括多种G.response图形,其表明构成对应的响应图形的物。
图40是图形G(P(TM(thing.set))),其对应于用于设置非暂时性存储器中的物的程序P(TM(thing.set))。物request:uri的值是待设置的物的列表,该物的值将被设置为物request:value的值,如果被指定的话。如果物request:using被指定,则其值是表示物的列表,该物用于设置由物request:uri的值识别的物。
图41是图形G(P(TM(thing.get))),其对应于程序P(TM(thing.get))。该程序用于获得非暂时性存储器由列表request:uri给定的物的表示。修饰语名字、值,或者关系组,或者关系可以用于指示所请求的关于物的具体信息。所述信息保存为由列表给定的物的值,该列表由物request:as的值指示。
图42是图形G(P(TM(thing.unset))),其对应于程序P(TM(thing.unset))。该程序用于从非暂时性存储器取消设置物的表示。待取消设置的物由物request:uri的值给定。
本领域中的技术人员能够将P(TM(thing))换成管理物及其关系的替换的算法程序,以进一步使能诸如并发、持续存在、缓存、同步、锁(诸如读/写锁)、所有权、准许(诸如所有者、团组或者全部进行读/写/执行)等特色特点。
P(TM(eval))
如图45所示,P(TM(eval))通过算法与P(TM(thing))交互,以提供以下动作:
a)选择待评估的thing:statement;
b)从一组可接入主动物选择G(P(TM(i)))作为可完成的主动物;
c)将新的物context初始化为可完成的物context;
d)在可完成的物context的上下文中完成可完成的G(P(TM(i)))的G.urr;
e)将可完成的物context重置为物current context;以及,
f)取消设置所述新的物context。
在实施例中,步骤a以及步骤b由选择满足如下断言的主动物组成:(存在thing:statement,其中,列表等于request:statement,使得存在名为.name的物)以及(存在物,其中,列表等于verb:vocabulary,使得存在名为.name的thing:verb,且物为主动物)。
在优选的实施例中,当不满足所述断言时,步骤b可以包括选择默认主动物的步骤。
针对具有实例的主动物,P(TM(eval))可以包括步骤:选择主动物的实例,其中,thing:statement是该实例的G.request图形的子图形。
在实施例中,P(TM(eval))能够与P(TM(bind))交互,以包括步骤:使用可完成的主动物对应的G.request图形作为所述主动物动作能够作用的在可完成的物context中的物,绑定由物thing:statement限定的物。
在实施例中,P(TM(eval))通过算法将声明的类型分类为祈使式声明、宣告性的声明、查询性的声明或者感叹性声明,并完成评估所述声明的类的主动物。这使程序P(TM(eval.delcarative))能通过算法评估宣告性的声明;使程序P(TM(eval.imperative))能通过算法评估祈使式声明;使程序P(TM(eval.interrogative))能通过算法评估查询性的声明;以及使程序P(TM(eval.exclamatory))能通过算法评估感叹性声明。
动作P(TM(eval))能够通过算法针对可完成的thing:statement选择默认主动物,以及能够通过算法评估thing:statement,以确定更加合适使用的主动物。默认动作能够与P(TM(thing))交互以逐步增加与针对其完成默认动作的thing:statement的分类相关联的计数器物,以表示物机被要求完成thing:statement的该分类的次数。使用可完成通信动作,P(TM(i))能够与第二机器通信,以获取涉及所述分类的内容。动作P(TM(parse))能够解析成待评估并完成的thing:statement。以这种方式,物机能够适应其完成环境的需要。(这里的目标是,你要求机器做某事。所述机器选择默认动作,然后评估你的要求,看是否存在更好的动作去完成。如果没有,其完成默认动作。默认动作对主题进行分类,并逐步增加针对其被要求做涉及该主题的某事的次数的计数器。这样,当所述计数器达到阈值时,所述机器能够就该主题请教于人,或者购买并阅读相关书籍。
实施例能够合并上下文之间的图形,使得如果物response.as被指定,P(TM(eval))能够在取消设置新的物context之前,将物response.as的子图形绑定在新的上下文中,作为物response.as在当前上下文中的子图形。
在实施例中,在完成G.urr的步骤之前,P(TM(eval))可以包括步骤:将新的上下文推到上下文堆栈上作为当前上下文。在第二实施例中,并行处理计算机领域中的技术人员会使用表示进程控制方框物的线程指定的数据的图形的物,所述数据包括对由P(TM(thing))分辨列表的当前上下文的引用。
参照图43,G.request指示动作能够作用于request:statement。其中,request:statement是thing:statement。从而,物request:statement的子图形得满足物thing:statement的类的成员资格要求。
参照图44,子图形G.request表明动作能够作用于物request:using。其中,物request:using是thing:listing。当存在请求命名空间物,使得不存在名为statement的物(thing:sttiana),且存在名为using的物时,该图形适用。该子图形G.request提供用于选择评估主动物的替换的方法。
明确考量人工智能的算法使用。P(TM(classifier))提供对thing:statement进行分类的动作,P(TM(eval))使用所述分类对P(TM(eval))在选择满足thing:statement的主动物时可用的一组主动物进行识别。可以集成有其它形式的人工智能(AI)。例如,可以使用符号AI算法程序、子符号AI算法程序以及统计AI算法程序。
谷歌研究发布了TensorFlow(张量流)开源机器学习库,主要用于学术研究活动。机器学习计算机科学技术领域的技术人员可以使用TensorFlow API开发用于深度学习的P(TM(classifier))。TensorFlow API可以被修饰为直接与作为一组主动物的P(TM(thing))交互,该组主动物表示待配置的TensorFlow程序。可以由该组主动物提供训练数据。
P(TM(eval))提供以下动作:a)与P(TM(thing))交互以生成一请求分类器thing:statement,该请求分类器请求完成P(TM(classifier)),以对当前请求thing:statement进行分类;b)与P(TM(bind))交互,以将该分类器thing:statement绑定为可完成的thing:statement;c)与P(TM(perform))交互,以完成该可完成的thing:statement;以及,d)与P(TM(thing))交互,以与所得结果交互。
所得结果识别涉及当前请求thing:statement的分类(类)。针对P(TM)已知的物的类,P(TM(eval))与P(TM(thing))交互以设置上下文,以包括涉及该类的词汇并在该上下文中评估当前请求thing:statement。
P(TM(eval))逐步增加表示所述主题的计数器,以指示该主题应用于当前请求thing:statement的次数,这使该分类器能根据最常使用的主题对所述thing:statements进行分类。当P(TM)不具有针对给定的主题的词汇时,P(TM(eval))能够生成待评估的thing:statement,其表示默认动作。
第一P(TM)能够诸如通过WiFi通信与第二P(TM)通信,以请求涉及P(TM)常被要求评估并完成的thing:statement的类的内容。所述内容可以表示物,例如主动物以及诸如任务等主动物的动作能够作用的物。
实施例能够将P(TM(eval))换成通过算法完成合适实施例的评估的评估动作,所述评估动作例如支持给定的语言;实施具体的机器学习算法;体现多种机器学习算法;提供性能改进,或者与第二机器交互以评估thing:statement;与第三机器交互以完成thing:statement。本领域中的技术人员会理解本发明的范围内的多种算法修饰是可能的。
修饰语可以用作thing:statement中修饰默认的程序性的动作P(TM(eval))的物。替换地,P(TM(eval))能够与P(TM(classifier))交互,以通过算法对在评估的物的类型进行分类,物的所述类型可以用作选择以及完成主动物的修饰语。示例地,对诸如“完成清理(cleanup)任务”等祈使式声明进行评估截然不同于对诸如“宣告清理任务包括步骤1:刷新compoint I/O;步骤2:关闭compoint I/O”等宣告性的声明进行评估。
通过将动作能够作用的物的类型并入到P(TM(i))的thing:graph中,以及并入动作能够响应的物的类型,可以针对诸如打开等常见动词名字选择合适的动作。示例地,以下分别具有截然不同的动作,不过各使用常见动词名字:打开我的电子邮件;开门;以及,开银行账户。选择正确的动作部分依赖于要打开的是什么。通过包括动作能够作用的物的类型的描述,P(TM(eval))能够合适地选择其应该生成的可完成的thing:graph。
P(TM(parse))
P(TM(parse))提供的动作是:解析表示请求的输入,并通过算法与P(TM(request))交互,以设置表示经解析的输入的物。在优选的实施例中,P(TM(parse))是XML1.1解析器。
参照图46,通过列表request:stream进行识别的物的值是要解析的流。由物request:as的值识别的物,默认为request:statement,被设置为表示解析出的输入请求的thing:statement。
参照图47,示例性XML片段被解析成示例性图形。注意元素属性由关系“使得存在实例”(thing:sttiai)指示,而元素由关系“使得存在”(thing:sttia)指示。
参照图48,由列表request:input给定的物的值是要解析的输入。TM(eval)能够基于请求图形选择合适的G.request(P(TM(parse)))图形,协助合适的绑定。
注意,Parse-1以及Parse-3之间存在细微但是重要的区别,具体来说,在1中,动作将从流读取。替换地,在3中,动作使用列表request:input的值(即待解析的内容)。
这是需要的,因为在一定情况下,你会从文件获取内容,以及其它情况下,动作生成所述内容并存储为物值。
P(TM(reguest))
P(TM(request))提供的动作是:通过算法与P(TM(thing))交互,以设置由给定为物request:as的值的列表识别的物,使用由给定为物request:using的值的列表识别的物作为thing:statement物图形。
第一P(TM(i))可以用于迭代地构建物thing:statement,然后通过算法与P(TM(request))交互,以设置物request:statement。图49示出图形G(P(TM(request)))。物request:as的值默认是request:statement。
P(TM(bind))
P(TM(bind))通过算法施加一组绑定规则,尝试将物绑定为给定的物的类的成员。
示例地,其值匹配样式“[0-9]{1,}”的物能够被绑定为thing:integer(具有整数值的物),而其值匹配样式“[0-9A-Fa-f]”的物能够被绑定为thing:hexadecimal(具有十六进制值的物)。除了诸如thing:thing、thing:text、thing:integer、thing:float以及thing:string等基本的物的类外,附加的类型可以使用推断规则或者纲要进行表达。
参照图50,子图形G.request表明P(TM(bind))能够作用的物。由request:using给定的物的值是识别一组绑定规则的列表。由request:bind.listing给定的物的值是识别待绑定的thing:graph的列表。由request:response.as给定的物的值是识别其中响应待设置的thing:graph的列表。当request:response.as为空时,更新被绑定的物的图形。
P(TM(bind))可以使用诸如未被绑定的或者被绑定的等状态信息指示是否物早就被绑定了。这使P(TM(bind))能检查状态,并仅对未被绑定的物完成绑定规则。P(TM(bind))可以进一步包括状态“已被发现”以及状态“未被发现”,以指示是否物已经被绑定以及被发现,或者被绑定而未被发现。在优选的实施例中,P(TM(unbind))与P(TM(thing))交互以将物重置为未被绑定、未被发现状态。
在第一实施例中,计算机科学逻辑领域中的技术人员使用推断规则将物绑定为物的类的成员。规则由断言以及类识别码构成。P(TM(bind))与P(TM(thing))交互以通过算法施加作为关于待绑定的物的断言的规则,如果被满足,则P(TM(bind))与P(TM(thing))交互以将物分类为所述类识别码的成员。
在第二实施例中,计算机科学标记语言领域中的技术人员可以使用thing:schema标记语言描述物class。可从http://schema.org/docs/schemas.html查阅产业标准标记纲要。所述纲要是一组类型,其中各类型分别与一组属性相关联。可从http://schema.org/docs/documents.html查阅schema.org纲要信息,其通过引用并入本文。
参照图51,thing:graph被阐释为断言。该断言描述成员资格要求。该成员资格要求用于使物被绑定为类ImageObject的成员。阐释是断言,其表达:存在名为schema的物,使得存在名为ImageObject的物,且物是thing:schema,使得(存在名为Caption、thing:value是thing:text的物)以及(存在名为exifData、thing:value是thing:text的物)以及(存在名为representatativeOfPage、thing:value是thing:Boolean的物)以及(存在名为thumbnail、thing:thing是schema:ImageObject的物)。
参照图52,展现由列表local:object给定的未被绑定的thing:graph。
参照图53,thing:graph示出请求,请求将local:object thing:graph绑定为物schema:ImageObject(如http://www.schema.org/ImageObject所描述的)。P(TM(bind))与P(TM(thing))交互以确定是否local:object thing:graph的各组成部分满足作为schema:ImageObject的要求。物local:object从未被绑定的状态转变到被绑定的状态。如果被满足,节点“bound.found”被添加到local:object thing:graph,该节点的值被设置为schema:ImageObject。
计算机科学逻辑领域中的技术人员能够使用推断规则通过算法做关于物的推断。推断规则由程序组成,该程序作用于表示前提的thing:graph,并生成表示结论的thing:graph。参照图54,断言描述被分类为BroadcastService对于物的含义。所述断言被解析并表示为针对指定的分类的推断规则。P(TM(bind))提供的动作是:通过算法评估是否被指定的thing:graph满足该推断规则,如果被满足,则将thing:graph分类为指定的分类的成员。再次参照图54,纲要计算机科学领域中的技术人员能够生成针对诸如由http:// www.schema.org公布、可从http://schema.org/docs/full.html查阅的一组纲要的推断规则。
注意http://www.schema.org/PerformAction涉及的作用是:(不是针对完成可完成的动作的机器)参与完成技术。还要注意,schema.org动作涉及词汇,其使网站能描述其使能的动作、以及客户端如何能够调用所述动作。见http://blog.schema.org/2014/04/ announcing-schemaorg-actions.html,其通过引用并入本文。
P(TM(perform))
P(TM(perform))通过算法,通过在thing:statement中定位对P(TM(i))的引用并导致动作P(TM(i))被完成,而完成可完成的thing:statement。来自动作的响应或者是被满足,或者是未被满足,或者是故障。动作P(TM(perform))设置物status值,以表明该响应。
参照图55,子图形G.request表明动作P(TM(perform))作用于request:statement。
P(TM(task))
P(TM(task))通过算法与P(TM(thing))交互以管理作为thing:task的thing:graph,所述thing:task由包括thing:statement的thing:listing的一组子图形构成。在实施例中,P(TM(task))的动作可能由以下构成:
a)P(TM(task.set)),其与P(TM(thing))交互以设置thing:task;
b)P(TM(task.get)),其与P(TM(thing))交互以获得对thing:task的引用;
c)P(TM(task.unset)),其与P(TM(thing))交互以取消设置thing:task;以及
d)P(TM(task.perform)),其与P(TM(thing))、P(TM(eval))以及P(TM(perform))交互,以评估并完成thing:task的thing:statement。
参照图56,P(TM(task.set))与P(TM(thing))交互以通过算法作用于通过列表request:statement.task进行识别的物,其值是要设置为thing:task(任务)的物的列表。request:statement.task的动作子图形被设置为物thing:task的子图形。实施例可以包括作为request:statement.task.G.request的子图形G.request,所述子图形表示所述任务要作用的物。
P(TM(task.get))与P(TM(thing))交互以通过算法获得thing:task的表示,并主要由诸如P(TM(task.perform))等需要接入该图形的其它P(TM(i))使用。
P(TM(task.unset))与P(TM(thing))交互以通过算法从thing:thing(monad)图形取消设置(移除)被指定的任务。
参照图57,P(TM(task.perform))与P(TM(thing))、P(TM(eval))以及P(TM(perform))交互,以通过算法评估并完成由request:statement.task的值识别的thing:task的动作子图形给定的thing:statement子图形的序列。
在实施例中,thing:task图形可以包括thing:statement子图形,其可以被评估,并作为评估并完成thing:task动作子图形的先决条件被完成。这使能完成一组主动物,以获取表示该动作子图形的内容,将所述内容解析为待评估以及完成的动作子图形的thing:statement的序列。其它动作可以包括识别、认证及授权,用于证实其有效性、授权或者拒绝完成thing:task。类似地,先决条件动作可以用于确保先决条件在评估thing:task之前被满足,诸如配置主动物。
在实施例中,thing:task可以包括依赖于物status的值的、表示待评估并完成的thing:statement的on.status子图形。各thing:statement被评估以及被完成后,实施例能够与动作P(TM(thing))交互,以通过算法测试该状态的值是否被满足、未被满足或者故障,并评估并完成对应的on.status.satisfied、on.status.unsatisfied或者on.status.failed thing:statement子图形。
实施例可以包括依赖于物status的值的、表示待评估并完成的thing:statement的on.status子图形。各thing:statement被评估以及被完成后,实施例能够与动作P(TM(thing))交互,以通过算法测试该状态的值是否被满足、未被满足或者故障,并评估并完成对应的on.status.satisfied、on.status.unsatisfied或者on.status.failed thing:statement子图形。
P(TM(format)
P(TM(format)提供的动作是:与P(TM(thing))交互以遍历thing:graph并生成thing:graph的格式化的表示。示例地,thing:graph的表示可以被格式化为XML文档、HTML文档、物文档或者实施例要求的其它这样的格式。
参照图58,request:statement.listing识别其值是列表的物,该列表表示P(TM(format)所要格式化的thing:graph。request:statement.as识别一物,该物的值表示thing:graph,该thing:graph表示得到的格式响应。request:statement.using识别其值表示期望的格式的物。
默认使用的P(TM(format)是Thing-XML。被遍历的thing:graph的节点被格式化为根元素。实例子图形被格式化为属性,而非实例子图形被格式化为内元素。
在实施例中,P(TM(format)能够与P(TM(thing))交互以遍历thing:graph,以生成文本流以及用于将所述文本流合成为可听流的P(TM(text-to-speech)),该可听流包含合成的口头文本表示。P(TM(play-audio))将该可听流传达给声音子系统,以产生可听回放。
P(TM(http:get))
P(TM(http:get))提供的动作是:通过算法与P(TM(thing))交互以生成URI;传达用于请求由URI识别的资源的HTTP GET方法请求;接收HTTP响应;以及生成表示HTTP响应的thing:graph,该响应包括response.headers thing:subgraph以及response.entitything:subgraph。
网页服务计算机科学领域中的技术人员可以使用一组HTTP方法主动物提供诸如所述词汇中的connect(连接)、delete(删除)、get(获得)、head(头)、options(选项)、post(张贴)、put(放)以及trace(追溯)等HTTP方法。可以相对于命名空间http:配置该组方法。类似地,本领域中的技术人员能够提供涉及HTTPS协议的方法组,该组可以被配置为https:namespac的主动物。
参照图59,物URI限定限定物header(包头)的物request、物path(路径)以及物domain(域)。P(TM(http:get))与P(TM(thing))交互以通过算法与物URI交互,以生成HTTPGet方法请求(如图60所示)以及通信所述请求,以所述域网页服务。相应地,P(TM(http:get))收到响应(见图61)。
参照图61,P(TM(http:get))完成动作:接收来自HTTP Get方法请求的响应,解析该响应,并与P(TM(thing))交互以设置表示该响应的thing:graph(如图62所示)。
物request.header可以被配置有分别表达为由request.header限定的物的一组请求包头字段组成部分。类似地,响应于接收以及解析响应包头,物request.header可以被配置有分别表达为物的一组响应包头字段组成部分。
在实施例中,P(TM(http:get))完成的动作是:与P(TM(thing))交互以获得表示响应中可以接受的介质类型的一组物,并相应向请求包头thing:subgraph添加Accept请求包头字段。在第二实施例中,P(TM(http:get))完成的动作是:与P(TM(thing))交互以获得响应中可以接受的一组编码,并相应向请求包头添加Accept-Encoding包头字段。
P(TM(parse.html))
P(TM(parse.html))与P(TM(thing))交互,以通过算法提供将表示HTML内容的thing:graph解析为一组thing:graph的动作。
参照图63,P(TM(parse.html))作用于其值是列表的物request:content(内容),该列表表示其值是待解析的HTML内容的物。与HTML内容一起限定于相同的域的、内嵌于HTML的锚链接被分类为内部链接并被添加到由物值request:links.internal识别的物的thing:graph。类似地,外部链接被添加到由物值request:links.external识别的物的thing:graph。将无标签文本保存到由物值request:text识别的物的值。HTML标签被添加到由物值request:architecture识别的物的thing:graph。微数据被添加到由物值request:microdata识别的thing:graph。
参照图64,示出HTML内容中的示例性微数据。P(TM(parse.html))提供的动作是:与P(TM(thing))交互以解析所述内容,并将微数据表示为thing:graph(如图65所示)。
如所示,第一纲要可以包括第二纲要,诸如组织可以包括地址,如http://www.schema.org所描述的。
TM(openssl)
P(TM(openssl))的部分在本文所包括的OpenSS执照协议中进行论述。TM(openssl)是计算机器,其被配置有OpenSSL开源软件以及程序P(TM(openssl))。OpenSSL是现有技术状态中熟知的,广泛用于网页服务,以提供TLS以及SSL协议动作、一般用途加密库以及公钥基础设施支持程序。详见http://www.openssl.org。
在学习P(TM(openssl))thing:verbs时,P(TM)能够完成常由证书机构提供的一组动作。例如,公钥基础设施计算机科学领域中的技术人员可以使用P(TM(openssl))动词动作:加密内容;解密内容;生成散列代码;生成证书签署请求;签署证书;创建自签署的证书;证实证书请求的有效性;证实证书的有效性;撤消证书;通过算法审查证书的组成部分;生成数字签名;证实数字签名的有效性;提供正常与证书机构相关联的一组服务;授权用途的证书使用;以及使能使用SSL/TLS协议。
为了用于P(TM),OpenSSL源代码被修饰为原始C源代码函数能够与P(TM(thing))交互以引用参数物。计算机科学领域中的技术人员能够修饰类似的现有的源代码库并使用配置动作配置附加的P(TM(i))。
一般地,OpenSSL命令被配置为P(TM)能够完成的动作,其中,命令名字被配置为thing:verb,命令所作用的参数被配置为动作thing:verb能够作用的物。
若干的P(TM(i))能够作用于表示数据的内容,其可以进一步被分类为:证书签署请求;证书;口令;私钥;公钥;配置信息;待撤消证书;扩展;随机数据;或者动作能够作用的一些其它类型的物。在一些情况下,内容由P(TM(i))解析,并表示为物图形中的物,而其它情况下,内容用作由列表给定的物的值。在很多情况下,动作能够作用的物可以被指定为thing.urr,其被阐释为针对该物的统一资源请求。类似地,P(TM(i)可能通过算法生成表示数据的内容,其可以例如如上所述地进一步被分类。
在一些情况下,内容可以由P(TM(i))解析,并被表示为thing:graph中的物,而其它情况下,内容可以用作由列表给定的物的值。动作可能与系统装置驱动程序交互,以在第二存储装置中获取或者存储内容,向第二P(TM)、传感器或者装置传达内容。
一般地,在由P(TM(evaluate))评估以生成可完成的thing:graph的thing:statement中,可以具有值的物可以被指定为thing:name.urr=URR(其中,URR是统一资源请求)。清楚起见,这将被叫做步骤1、
遍历thing:statement thing:graph时,P(TM(evaluate))将看见thing:name.urr并评估URR,以生成可完成的thing:graph。完成可完成的thing:graph,以生成响应thing:graph。在步骤1中,P(TM(evaluate))将响应thing:graph用于评估以及绑定物thing:statement。
以下提供动作P(TM(openssl))的具体示例,以提供足够的解释,然后提供遵循相同的格式的其余openssl命令。
若干的动作P(TM(i))能够作用于以下表13中提供的常见的一组物。
表13
P(TM(openssl.ca))
P(TM(openssl.ca))提供最少的证书机构的动作。动词动作openssl.ca能够作用的物包括以下表14中所列出的。
表14
P(TM(openssl.x509))
P(TM(openssl.x509))提供的动作是:提供证书信息、将证书转换为各种形式、签署证书请求(类似于迷你证书机构)或者编辑证书信任设置。
其可以用于显示证书信息、将证书转换为各种形式、签署证书请求比如“迷你CA”或者编辑证书信任设置。表15列出openssl.x509动词动作能够作用的物。
表15
P(TM(openssl.genrsa))
P(TM(openssl.genrsa))提供的动作是:生成RSA私钥。表16中包括动作P(TM(openssl.genrsa))能够作用的物。
表16
P(TM(openssl.req))
P(TM(openssl.req))提供证书请求以及证书生成动作。动作P(TM(openssl.req))能够作用的物包括表17中列出的。
表17
P(TM(OI))
TM(OI)是计算机器,该机器具有程序P(TM(OI)),该程序被配置为与光学阅读器装置驱动程序交互,以提供包括下列的动作:
a、设置读角度P(TM(OI:set.angle));
b、设置位置(P(TM(OI:set.position));
c、以光学方式查询光学识别码(P(TM(OI:interrogate));
d、生成对应数字数据的比特图P(TM(OI:generate));以及,
e、与P(TM(thing))交互以生成表示代码页的thing:graph。
类似地,‘545IOT-模块的算法动作可以体现为待配置用于P(TM)内的一组P(TM(i))。从而,'545的教导可以体现为表示动作及其能够作用的物的一组物。
示例性P(TM)
示例性P(TM)包括如下所述的步骤:开启、主要及关停。
1、P(TM(startup));
2、P(TM(main));以及,
3、P(TM(shutdown))。
在实施例中,P(TM)被存储在物机的非暂时性次级存储装置中。在第二实施例中,在光学识别码的代码页中编码P(TM),如于2016年1月29日提出的发明名称为“OpticalIdentifier System and Methods”、序列号为62/288,545的美国专利申请中所述的,该申请的全部内容通过引用并入本文。具有光学子组件的物机能够以光学方式查询光学识别码,以呈现可执行存储器中的程序指令的表示。
诸如引导程序等TM的第一程序导致处理器完成向可执行处理器存储器中加载诸如来自代码页、次级非暂时性存储或者使用电磁波形装置收到的P(TM)的动作,并导致处理器完成P(TM)。
P(TM(startup))提供以下动作:
1、完成P(TM(thing)),以将非暂时性存储器中的P(TM)thing:subject(monad)初始化为thing:graph的根,该thing:graph表示在一时刻的P(TM)的状态;
2、完成P(TM(boot)),其提供的动作为:与P(TM(thing))交互以自行配置一组启动主动物,该组物表示启动计算程序,包括P(TM(eval)、P(TM(perform))以及P(TM(configure));以及,
3、完成P(TM(bootstrap)),其提供的动作为:与P(TM(eval))交互,以在启动主动物的上下文中评估thing:statement,以生成可完成的thing:statement,以及P(TM(perform))导致完成对应于所述可完成的thing:statement的主动物的计算程序,以引导要在配置的主动物的上下文中完成的主要应用程序。
在优选的实施例中,P(TM(boot))完成动作,以自行配置表示启动计算程序的启动主动物,包括:
1、P(TM(eval)),其提供的动作为:与P(TM(thing))交互,以在P(TM(thing))管理的非暂时性存储器中的一组被配置的主动物的上下文中评估图形thing:statement,以构建包括表示所述组中的主动物的至少一物的可完成的图形thing:statement;
2、P(TM(perform)),其提供的动作为:与P(TM(thing))交互,以通过导致主动物的对应G.urr可完成的动作的完成,而完成可完成的图形thing:statement;
3、P(TM(request)),其提供的动作为:与P(TM(thing))交互,以设置表示待评估的thing:statement的thing:graph;
4。P(TM(parse)),其提供的动作为:解析输入,并与P(TM(request))交互,以设置所述请求thing:statement;以及,
5。P(TM(configure)),其提供的动作为:与P(TM(thing))交互以改变该组被配置的主动物。
P(TM(bootstrap))完成的动作为通过算法:
1、与P(TM(parse))交互,以解析内容,并与P(TM(request))交互,以生成对应的图形thing:statement;
2、与P(TM(eval))交互,以在主动物的上下文中评估所述图形,以生成可完成的图形thing:statement;以及
3、与P(TM(perform))交互,以完成所述可完成的图形thing:statement。
在实施例中,至少一请求表示配置对应于P(TM(i))的主动物的请求。
在实施例中,至少一主动物表示一程序,该程序提供的动作是:与P(TM(thing))交互以引用thing:graph(monad)的子图形作为表示thing:statement序列的thing:graph;与P(TM(eval))交互,以评估所述thing:statement;以及与P(TM(perform))交互,以完成对应可完成的thing:statement。在优选的实施例中,所述主动物名字的名字等于动作,所述主动物的G.urr的值是stdlib://usr/local/lib/libaction.so?entry=action。P(TM(configure))使用Linux操作系统的dlopen函数调用来动态地加载库libaction.so,并使用Linux操作系统的dlsym函数调用来将对条目的值的引用(在本示例中,所述值是动作)分辨为存储器中的可执行指令。
P(TM(action))作用于thing:graph,其表示要评估的thing:statement的列表,所述thing:graph是thing:action。针对thing:action的各thing:statement,P(TM(action))与P(TM(eval))交互,以评估thing:statement,P(TM(perform))完成对应的可完成的thing:statement。
在所述实施例中,至少一请求要配置thing:action。响应于完成对应的可完成的thing:statement,P(TM(eval))与P(TM(perform))交互,以完成配置该thing:action的计算程序。可以诸如在thing:task、thing:conditional或者thing:while的上下文中那样,在thing:thing图形的上下文中配置thing:action,。
P(TM(main))与P(TM(eval))交互,以评估该thing:graph。在第一优选的实施例中,使用列表main:main识别待评估的该thing:graph。在第二优选的实施例中,使用列表task:main识别待评估的该thing:graph。评估该图形时,P(TM(eval))定位thing:thing图形的thing:action子图形,P(TM(perform))与P(TM(action))交互,以评估并完成thing:action的声明。
P(TM(shutdown))与P(TM(eval))交互,以评估thing:thing图形。在优选的实施例中,使用列表task:shutdown识别待评估的thing:task。
第二示例性P(TM)可以包括P(TM(i)),其提供的动作涉及诸如进行支付、接收支付以及调整钱包余额等电子支付以及处理。可以使用一般针对诸如比特币钱包等数字钱包的使用所提供的API来实施这样的实施例。这使能表示请求接收支付或者进行支付的thing:statement。示例地,如其网站:https://www.block.io/docs/basic上的Block.IO所描述的,https://block.io/api/v2/get_balance/?api_key=BITCOIN,DOGECOIN or LITECOINAPI KEY是获得BitCoin账户、DogeCoin账户或者LiteCoin账户的余额的API调用。替换地,可以使用Go Coin API(钱包以及可用的API的描述见http://www.gocoin.com)。从而,物机能够做支付、接受支付、观看交易历史、检查余额、或者以一种形式的数字货币、优惠券或者(诸如类似于由美国运通公司或者其它信用卡提供方提供的奖励点等)点进行工作。毫无疑问,支付或者接收支付是本公开不可分割的组成部分,且这样的API通过主动物进行体现。
操作系统领域一般技术人员能够设计以及开发物操作系统P(TM(os))。操作系统设计计算机科学领域的技术人员可以使用本发明,本发明能够将TM(os)体现为具有程序P(TM(os))的计算机器,提供动作:通过算法与P(TM(thing))交互以管理要表示操作系统的根的物thing:subject(os)。该操作系统的各组成部分作为该thing:subject(os)的子图形进行管理。
P(TM(os))可以由提供一组程序的一组P(TM(l,n))构成,该组程序涉及诸如进程管理、I/O管理、存储器管理、同步、存储器管理、误差处理、启动、保护及运行底层的硬件组成部分的核等操作系统的动作。本领域中的技术人员会理解,可以集成P(TM(scheduler))以使能工作调度。明确考量程序依赖图形、系统依赖图形以及其他这样的图形的算法使用,以进一步提高物操作系统的能力。
可以体现诸如单个用户或者多个用户、单个任务或者多个任务、分布式、内嵌式、实时的或者虚拟的操作系统等各种类型的操作系统。示例性组成部分包括针对进程管理、存储器管理、文件系统管理、输入/输出管理,次级存储管理、联网、保护系统以及命令阐释器系统的程序。
物可以表示进程控制方框,其子图形表示诸如进程id、状态、优先级、程序计数器、cpu寄存器、i/o信息、会计信息或者操作系统实施例要求的其它信息等进程信息。物可以表示线程控制方框。
装置驱动程序、运行队列、就绪的队列、等待队列、文件系统、文件、存储装置、存储器、中断、事件、用户、团组以及其它这样的操作系统组成部分全部都能够表示为物。
鼓励读者开始阅读Nick Blundell的“Writing a Simple Operating Systemfrom Scratch”、H.M.Deitel的“Operating Systems 2nd Edition”,并注意操作系统设计类别的多样性,以理解本申请范围以外的操作系统设计。
本系统以及方法提供人工智能的算法使用。P(TM(classifier))提供对thing:statement进行分类的动作。P(TM(eval))使用所述分类对P(TM(eval))在选择满足thing:statement的主动物时可用的一组主动物进行识别。可以集成有其它形式的人工智能。例如,可以使用符号AI算法程序、子符号AI算法程序以及统计AI算法程序。
NeurBots以及机器学习
本系统以及方法可以包括由例如NeurBot使用。
我们的成长伴随着诸如锁、手表、分发机等无数机械装置,其实质上经常响应于用户推动的机械事件完成动作。
在简单示例中,我们将钥匙插入锁中并转动钥匙,以或者锁上或者打开锁。我们向口香糖机器中投币并转动把手,于是该机器分发口香糖。
期望建造装置,其实质上首先评估:装置被请求什么。如果所述机器能够在完成动作之前评估这样的请求,则可以达成很多目标。假如物机能够将请求表示为物,且通信、协议、解析器以及格式化器全都是物,第一物机能够通过算法向第二物机学习。这些物机在本文中被称为神经机器人(NeurBots)。
学习被定义为通过经验、钻研或者通过被教导来获取知识或者技巧。物机将知识建模为表示动作及其能够作用的物的物。物机的先验知识包括表示为机器初始化期间的物的事实、信息、动词(意思是主动物)以及技巧(意思是任务以及服务)。如果我们建造像具有有限的先验知识的孩子那样的机器,我们能否使该机器基于其经验学习到新东西(后验知识)?根据本系统以及方法,回答是肯定的。
示例地,以售货机开始。针对分别具有诸如提供批量折扣、激励政策、订购预付款、赎回点、多产品折扣等一个或多个特色特点的售货机,存在无数可能的配置。其示例由美国专利6575363提供,该专利的全部内容通过引用并入本文,其描述以及引用这样的售货机设计。
在很多情况下,售货机所有者仍然依靠送货人收款以及做补货决定。为加快速度,售货机可以被设计为物机。向物机添加运动传感器、扬声器、麦克风、GPS定位器、LCD显示以及WiFi互联网连接。在另一示例中,可以添加红外热探测器。
配置涉及库存管理的一组主动物,使得当库存低或者缺货时,所述机器能够告知网页服务。所述所有者/承包商则将调度司机从所述机器收款并将附加的产品放入售货机中进行销售的送货日期。本质上,所述机器是在为所有者工作,而所有者对货币、库存以及一般地,所述机器进行维护。
本发明将物机改变成NeurBot,并允许所述机器为本身而不是为所有者工作。即,所述NeurBot必须学习适应其环境。为此,要求所述NeurBot具有身份并对货币有一定程度的控制。
在该示例性实施例中,所述NeurBot使用光学识别码作为SSIM卡的对等物,以具有识别码。所述NeurBot被设计为仅接受电子支付以及添加的涉及交易的主动物,所述主动物包括用于接受支付、进行支付以及支付处理的电子钱包。根据本发明一实施例,所述NeurBot能够仅仅从其电子钱包账户进行开销,不过,也可能使用其它金融资源方法。
所述NeurBot使用其账户中的货币针对购买附加的库存进行支付。使用简单的网页服务提供产品列表,供所述NeurBot挑选。该列表可以包括例如:产品名字、UPC代码、制造商、成分列表、单位价格、预期的最佳使用期限、最低采购量、尺寸、重量、存货量以及过敏声明。所述NeurBot选择所述物品。使用其识别码,我们能够确定所述NeurBot的地理位置并确定装运成本。
所述NeurBot购买货物并以电子方式进行支付。送货司机上门将所述产品安装到所述机器中。通过打开所述API,其它供应商能够为其自身的待通过售货机售出的产品打广告。供应商能够使能诸如谷歌等搜索引擎索引其网站。所述NeurBot能够用谷歌搜索新的供应商。所述NeurBot将能够搜索供应商并拓宽可以通过售货机购买的物的类型。
然而,为使所述NeurBot超越提供网页服务的原始产品,要求所述供应商知道所述NeurBot的位置,以确定装运以及安装产品到所述NeurBot中的方式。所述NeurBot可以配置有GPS装置,使得所述NeurBot能够传递其位置。
所述NeurBot还可以配置有温度计,以测量24小时温差。使用其地理位置将其温度与经由诸如wunderground.com等网络可用的气候服务进行比较,所述NeurBot能够确定其是处于建筑内还是建筑外,以及其是否处于直射日光中。替换地,具有光传感器的NeurBot能够尝试减小一天中各时间的光线变化,以确定其是处于建筑内还是建筑外。所述NeurBot可以使用该信息或者来自不同输入/输出装置的其它信息确定合适的产品选择。例如,如果处于直射日光中,所述NeurBot可能在薯片和巧克力产品之间选择前者,因为后者在高温下更容易出问题。
位于建筑外的NeurBot可能注意到销售额由于恶劣气候而显著下降。通过使用其地理位置,所述NeurBot能够与基于网页的气候服务交互,以预料到坏天气并相应调整其采购指令,以确保待售产品尽可能新鲜。
假设,送货服务可以外包,则Uber司机送货服务的对等服务运送以及安装所述产品。替换地,亚马逊无人机能够将包裹放入预先配置的容器中进行运送,该容器可以被投放到售货机中,并以机械方式放入插槽中,以便分发。无论哪种方式,假设我们关注如何运送以及安装附加的库存并聚焦其它环境相关的任务。
在通过算法计算货物的成本以及送货和安装成本时,所述NeurBot能够通过算法标高产品价格,以便能从每次销售中赚得利润。典型地机器所有者会确定利润率,但是此时,我们让所述NeurBot来做该决定。所述NeurBot保持全天预先定义的间隔期间运动传感器熄闭次数的计数。通过比较一周每天的间隔计数,其能够通过算法确定日常潜在消费者的流量计数。其也能够发现一天中其最忙的时间以及一天中最不忙的时间。
在其一天中最不忙的时间期间,所述NeurBot能够购买在线书,以了解库存跟踪、招标、价格比较、送货服务,甚至学习如何分析销售趋势。为此,所述NeurBot开一具有在线书店的账户,所述书店当前是作为网页服务进行管理的。在线书提供内容。我们早就知道,当内容以NeurBot解析器能够解析成thing:statement的语法书写时,则所述NeurBot能够评估该声明。
使用后验知识,所述NeurBot会能够就附加的库存进行招标、在线寻找出价最佳的供应商、装运以及处理成本因素,或者甚至雇佣送货服务,以适量补充库存。其可以使用该信息确定其货物成本并基于期望的利润率设置零售价格。
所述NeurBot能够收集销售额数据并分析销售趋势,以调整销售价格,以确定再采购量以及完成采购所需时间。其甚至可以确定产品即将过期的时间并做出营销决定,诸如购买第二产品时打折出售第一产品,或者径直打折出售单个产品以清仓。其能够查看滞销产品,并对其进行促销(最低标价、打折、买一赠一等)。其能够基于需求设置价格。例如,中午消费者更多,所以加价5%直至下午1点。
当所述NeurBot准备好进行采购时,其能够查看库存并确定,基于当前销售趋势以及送货时间,虽然产品A的库存计数仍然高于其再采购点,其应该再采购产品A。这涉及装运以及安装成本。当基于现有的销售趋势,预计产品A在2天后即达到其再采购点时,如果当下仅再采购产品B并具有三3天送货时间,则是不合常理的。此时,所述NeurBot能够决定同时采购产品A和产品B。
分析趋势时,所述NeurBot能够查看销售历史,以确定是否产品A的销售最常包括产品B的销售,并发现当产品B缺货时产品A销售也下降。此时,其能够确保产品B的恰当采购量,以鼓励消费者同时购买产品A和产品B。如果产品C的销售常常包括产品B的销售,则所述机器能够在半数的A以及半数的C已经售出时再采购产品B。
所述NeurBot能够与用户交互。其能够询问消费者是否接下来的时间其会偏好不同类型的产品。使用分类器,其能够对产品的类型进行分类,并对给定类型的产品被请求的次数进行计数。这样,当进行新的采购时,所述NeurBot能够搜索相关的产品,从而开始适应其环境(意思是所述NeurBot在提供更好的服务)。
没有东西防止所述NeurBot了解关联(针对常见用途组织起来的物机的团组)。NeurBot能够阅读书籍,其描述关联以及提供关联所要求的任务,例如:
1)如何创建关联;
2)如何广告其可用性;
3)如何向其它NeurBot营销自己;
4)成员资格要求;
5)如何识别、认证并授权成员参与;
6)如何收取成员资格费用;以及,
7)如何利用其成员数量谈判并达成协议。
两个或更多个NeurBots能够开始一关联并开始共享诸如各年各时期畅销产品等信息。它们可能共享诸如及时供货的供应商、最佳供货选择的供应商、提供批量折扣的供应商等附加的数据。所述关联收集数据并对其进行相关。使用一段时间中足够的数据,所述关联使用标准模板打开网站服务,并向订户提供该信息。其它NeurBots可以订购以获取该数据,用于决策自身的购买。所述关联能够以电子方式收取订户成员资格费用,并管理自身的可收款账户。所述关联能够代表成员征求产品报价,以传递任何批量订单节省额并随后分给各成员。当前,这可以在受控环境中完成,但是我们能够轻易移除所述控制以允许所述NeurBot独立这样做。
使用运动传感器,所述NeurBot能够确定给定的区域内是否存在移动,并自动播放售货机中产品的广告。通过对运动传感器触发进行计数,其能够估计附近客流,并向其它代理机构征求广告报价,以有偿显示所述机构的广告。
所述NeurBot总是能够询问用户所述NeurBot还能为用户做什么。用户可以进行响应,所述NeurBot会尽力满足其请求。否则,所述NeurBot可以使用分类器尝试确定请求涉及的主题。例如通过保持对被要求租车的次数进行计数,其能够寻找并阅读电子书,以学习如何使用企业租车网页服务租车。
所述NeurBot能够学习如何管理其自身的词汇以基于硬件限制确保合适的处理。当NeurBot存储空间过低时,其能够向第二NeurBot询问与增加第二存储相关的信息。所述第二NeurBot能够教导其开亚马逊云存储服务账号所要求的任务。
假设购买前有一个月免费试用时间,则最初不需要支付。如果云账户服务接受电子支付,则NeurBot可以一直开着该账户,只要有足够的利润支持对账户进行支付。
类似地,如果所述NeurBot需要更多处理能力,则其同样能开一物机账户,以添加附加的处理能力。假定第二NeurBot工作很好,让客户很满意,但并不需要其全部的处理能力。其能够学习如何销售其过剩的容量,并将其提供给另一NeurBot(可以是有偿地)。
关心的其它区域包括随机性。NeurBot能够随机地了解其他不相关的主题。如果有足够多数目的机器能够完成工作并赚到钱,所述机器能够拓展其能力。事实上,所述机器能够学习如何实质上开拓不同应用领域中的新业务。物机能够获知存在称为自主割草机的东西,包括约翰迪尔探戈E5(John Deere Tango E5)型自动割草机或者胡斯华纳(Husqvarna)自动割草机。
所述NeurBot理解送货服务将东西从点A运送到点B。结果,其能够运送自主割草机。所述机器能够购买自主割草机,打开订户注册网站,对割草机进行支付,并使用送货服务将割草机从正确的发货地运输到正确的收货地。无人机或者其它手段可以用于运输。
最后,考虑厨房面包机的职能。面包机用于烤面包、百吉饼、松饼、糕点等等。面包机是相当简单的机器,你会以为它作为NeurBot没有多少创新空间。然而考虑一通常站得很近的烤面包的人。所述面包机能够与主NeurBot通信,以获取内容,并简单地经由音响或者在面包机屏幕上进行中转。所述面包机能够告诉人们关于气候、新闻、事件、消息、电子邮件、新的产品提供等其它这样的信息。
相同的原理适用于能够预料到其用户在附近的任意机器。如果你在使用克里格(Keuring)咖啡机,你可能离该机器相当近,但是如果你是在冲泡一整壶的咖啡,则你可能离开房间,在泡咖啡的同时出去遛狗。NeurBot可以使用电磁波形同步彼此之间的通信,并使用算法确定用户的接近数据。这样,所述装置能够使用人可能听不到的声波通信。这会使所述机器能基于所述通过算法生成的用户的接近数据调整其音量。
尽管这些示例看起来不那么实用,但是物机架构使能所述示例以及更多。本发明提供的机器能够读书、相互学习、对自身进行重新编程以使自身在其环境中变得更有用。可以被编程去了解金融的机器能够学习利润率的价值并赚得利润。其可以花钱买书学习更多东西,或者开云账户获得附加的存储以及/或者处理能力。
在一示例性实施中,TM是物机,被配置为完成程序P(TM),该程序由第一组P(TM(i))构成,包括例如P(TM(boot))、P(TM(thing))、P(TM(receive))、P(TM(parse))、P(TM(perform))、P(TM(evaluate))以及P(TM(configure))。
在典型的实施中,P(TM(thing))可以包括(例如在基于计算机的存储器中的)一段计算机可读指令,当所述指令被基于计算机的处理器执行时,导致处理器管理(例如在基于计算机的存储器中的)存储器的可寻址的单位的知识库,被称为(或者表示)根据存储器模型物的物。
在一些实施中,存储器模型物,各物满足所成员资格准绳,其定义使用一组声明表达的物含义的确切要求,所述声明使用通用量化描述物。声明“全部物都具有X”表明(例如在非暂时性存储器中的)物的结构具有不可变组成部分“X”。在示例性实施例中,所述不可变组成部分可以是值,其表示对表示“X”的存储器的组成部分的可变引用。这允许全部物都具有“X”,不过“X”的值可以是空的。
在第一示例性物存储器模型中,全部物都具有识别码,其值是通过算法由动作P(TM(thing))使用,以将第一物与第二物进行区分,不过注意,第一物能够限定(诸如表示物的列表的物等)具有相等的识别码值的一组物;全部物都具有可为空的值;以及,全部物都具有一组关系,其由一组一个或多个可变关系构成,分别描述物的关系。
第一物可能由第二物构成。示例但不限制地,第一物可以表示物的组、物的列表、物的队列、物的堆栈、物的树、物的词汇,物的语素集合、物的基于坐标的图形或者物的多维图形。
第一物可以具有与第二物的关系其中,所述第二物是第一物的实例。从而,表示物的图形的第一物可以具有与物的图形的多个实例的关系。
一些物表示事实、理念、概念,或者仅表示临时物,诸如用于完成体现为机器代码的一个或多个算法方法的变量。
第一物和第二物之间的关系可以是可变的,意思是例如P(TM(thing))管理的物可以被组织并根据需要重新被组织。一般来说,物之间的关系使P(TM(thing))能量化话语领域中的一组物。
物可能表示可完成的动作并以类似于我们命名动词的方式分派有有意义的名字。动作是做某事的事实或进程。表示可完成的动作的物被称为动词。动词的集合是动词词汇物。动词以及动词动作能够作用的物的名字被叫做物词汇。
实施例可以具有多个物词汇。词汇的选择可以依赖于通信的类型、通信中涉及的成员以及/或者通信发生的上下文。
P(TM(thing))可能由一组P(TM(i))构成,所述组用于管理被称为物的、存储器的可寻址的单位的知识库。示例但不限制地,P(TM(thing.set))提供的方法动作用于设置要表示物的存储器的单位;P(TM(thing.get))提供的方法动作用于获得表示物的存储器的单位;以及,P(TM(thing.unset)))提供的方法动作用于取消设置表示物的存储器的单位。管理物的动作被统称为动作P(TM(thing))或者仅称为物存储器模型方法。P(TM(i))能够与动作P(TM(thing))交互,以作用于物。
P(TM(perform))例如可以提供动作,导致动词动作的完成。这可能要求加载机器代码以及/或者在或者从被指定的地址执行所述机器代码。
P(TM(configure))例如可以提供动作,在动词词汇中配置附加的动词。在典型的实施中,动词词汇可以是动态可配置的,其大小以及范围能够根据需要增加或者减少。
现在参照图67,其示出示例性实施,根据该实施,动作P(TM(i))生成可完成的声明,P(TM(perform))导致完成该声明。P(TM(perform))与P(TM(thing))交互以获得对可完成的声明以及动词物词汇的引用。其定位并完成动词对应的动作P(TM(i))。接入上下文并完成P(TM(i))。上下文是物,其指示P(TM(i))可接入的物。
一般而言,大部分动作P(TM(i))与P(TM(thing))交互,P(TM(thing))分辨对物的引用(被称为列表)。各列表由一个或多个识别码构成。P(TM(thing))分辨对关心的物的引用。
现在参照图68,该示例性流程图示出诸如P(TM(parse))等动作P(TM(i))能够与P(TM(thing))交互以设置声明物statement。动作P(TM(evaluate))在可接入物的上下文中评估该声明,能够相应地生成待P(TM(perform))完成的可完成的声明,从而提供图1中示出的对人类想法进程的仿生。评估声明时,P(TM(evaluate))将通过算法选择待完成的动词并生成合适的可完成的声明。P(TM(perform))通过导致对应的动词动作被完成,而完成该声明。
现在参照图69,示例性动作P(TM(thing))将物组织为有向图形,该图形的节点表示物,连接节点的弧线(或者边缘)表示物之间的可变关系。第一物可以被称为单子“monad”(M)。
给定为M.G.G.G的列表告诉P(TM(thing))存在物M,使得存在物G,使得存在物G,使得存在物G。使用(例如图41中的)有向图形,该列表确切地识别唯一的物。
为后向兼容于现有的W3C标准,例如,所述识别码可能服从于国际资源识别码(IRI)的规范。IRI是针对统一资源识别码(URI)的国际化标准。统一资源定位器(URL)是一种形式的URI。动作P(TM(i))能够通过列表引用物,其句法类似于URI。
在典型的实施中,启动进程可能与P(TM(thing))交互以自行配置有限的词汇,以表示所述机器的先验知识(P(TM(thing))不需要经验或者教育就知道的物)。参照图70的示例性实施方式,示例性动词词汇包括但不限于完成动词以及配置动词。
使用最少的词汇,可以使用通用量化断言:如果有内容物,将所述内容解析为声明,在可用的词汇的上下文中评估该声明,以生成并完成可完成的声明。完成可完成的声明得到表示响应的一组物。该概括使得针对未能生成指定的响应物的动作,其响应能为物的空集。有时,诸如在动词关停的情况,奉行正在被完成的动作即是足够的响应。
内容可以根据给定的语言的语法规则进行表达。语言可以是物,更加精确地描述,是包括语素集合以及语法的通信系统。语素集合,在本示例中,可以是或者包括诸如语言中的字词组或者词组等词汇。语法,在本示例中,可以包括与例如以词法,语义以及/或者句法相关的规则。
可以使用最少一组动词建造动词词汇,机器(例如物机)能够用该最少词汇完成使用物(指机器能做的事)的基本的动作,以自行配置可以通过其提供应用服务的复杂的物词汇。
参照图71,示例性智能物机完成动词动作parse,以应请求根据协议解析收到的内容。本示例中的请求是物。动词动作evluate评估请求物request,以生成可完成的声明物statement。动词动作perform完成可完成的声明物。然后,能够根据期望的语法的规则对响应物response进行格式化,格式化的响应被传达。
接收(例如非暂时性存储器中)内容的动作(P(TM(receive))的实施可以包括使用P(TM(selector)),其动作尝试基于所述内容选择合适的解析器。在一示例性实施中,选择器的算法程序能够探测具体的协议或者语言语法的元素,选择合适的解析器将上下文解析为(例如非暂时性存储器中的)请求物request。
应注意,如果没有使能添加动词到词汇的动词动作,智能物机可能不能够更新或者改变其动词动作。在一定实施中,这可以是一要求,因为其提供了确定性解决方案。其它实施方式中,智能物机可以通过算法控制配置动词动作configure的使用,以防引入不正确的或者恶意的动作。
参照图72,由诸如电磁波形装置的低度装置驱动程序提供的动作可以被通信以及协议动词动完成。从而,一些物可以独立于物理的硬件,而另一些物将是硬件依赖的。
第一智能物机能够向第二智能物机传达内容,该内容表示所述第一智能物机知道的一组物(指由P(TM(thing)管理的物)。相应地,所述第二智能物机能够将所述内容解析为物图形,以由其自身的P(TM(thing))进行管理。这样,第一智能物机能够与第二智能物机共享物。清楚地,在一些情况下,所述第二智能物机可能无法理解一定物,诸如所述第一智能物机的硬件指定的在所述第二智能物机中不可用的物。
可完成的智能物机动作可以通过算法(诸如通过解析输入、与传感器交互或者通过请求智能物机完成诸如自行配置词汇等动作)生成表示请求的声明,该请求请求智能物机做某事。参照图73,P(TM(i))生成P(TM(perform))能够导致完成的可完成的声明。在一示例中,P(TM(i))是P(TM(evaluate))。但一般来说,与P(TM(perform))直接通信的任意P(TM(i))都可以请求P(TM(perform))完成可完成的声明。
参照图74中表示的示例性实施方式,P(TM(i))能够与P(TM(thing))交互以使P(TM(thing))能设置表示该可完成的声明的物。
基于物图形数据模型,我们能够建造智能物机。在一些实施中,P(TM)需要知道第一物的位置才能前进。由此能够发现其知道的全部其它物。
参照图75中表示的示例性实施方式,P(TM(thing))管理物的实例及其间的可变关系。在引导期间,P(TM(thing))初始化被称为monad的第一物。从P(TM(thing))的角度看,在本示例中,以下断言总是真的:存在名为monad的物。
再次参照图42,上下文物context对处于话语领域中的一组可用的命名空间物进行量化。命名空间物namespace是物,其用于量化一组相关的物,即使所述物是仅通过同为相同的命名空间的成员而相关。命名空间物的名字可以用于分辨对物的引用。系统可以使用请求命名空间表示被请求的是什么,并用响应命名空间表示动作的完成的结果。
为响应请求,评估动词动作可以在当前命名空间的上下文中评估声明图形,以生成可完成的声明图形。当设置了上下文时,完成动词动作完成可完成的声明。对响应(如果有的话)进行评估,以确定响应的合适的上下文。
在一示例性实施中,语言、语法、句法的选择以及通信动作本身都是物。这意味着可以使用任意语言词汇、语法以及句法,只要存在将语法句法的元素阐释为物声明、或者把响应格式化被传达的内容的对应动词动作。
在一示例性实施中,智能物机可完成的动作可以在图形中添加、改变或者移除物。就其而言,图形可以被视为是可完成的动作以及可完成的动作能够作用的物的知识库。
在一示例性实施中,智能物机自行配置最少的词汇,其用于启动智能物机。这可以视为是先验知识(独立于经验的知识)。如果经验被定义为智能物机做某事并使物发生(作为可修饰的图形被管理)的作用,则可以说,作为完成物的结果,智能物机收获了经验(表示为物的知识或者技巧)。
在一示例性实施中,使用该词汇,智能物机配置核心词汇。物机能够基于核心词汇完成例如应用。这可以视为是后验知识(从经验习得的物)。动作能够遍历图形,格式化内容,并与次级存储装置交互,以保留图形信息,然后该信息可以被动作取回并用于重新构建该图形。
核心词汇可以被配置为包括预先确定的一组物,且所述词汇具有有限的预先确定的大小以及范围。所述词汇中的物的组可以由P(TM(thing))动态管理,其中,物被设置(被习得并被添加到图形),其它物被取消设置(被遗忘并被从图形移除)。
在一些实施中,智能物机将物组织为有向图形。该图形变成P(TM(thing))管理的图形的整个有向图形的的子图形。子图形可以从图形脱离,以及后续被重新限定为整个图形的另一部分中的节点。
评估并完成P(TM(i))时,对应的动作可以仅能有限地接入整个有向图形,或者可以是限制于整个图形内的物或者一组物。
上下文图形可以包括表示命名空间的物。命名空间是被命名的有向图形物,并用于表示对诸如请求、响应、一组任务、服务、动词词汇或者甚至应用词典等物进行的概念性组团。命名空间词汇可以被视为是一种形式的本体存在(ontology)。然而,使用各别的词汇的若干命名空间可能分享针对其部分词汇的本体承诺。
在一示例性实施中,动作方框是表示声明序列的图形。被命名的动作方框被称为任务。以这种方式,语言语法能够表达一请求,其请求智能物机配置被命名的任务。请求则能够是完成所述任务。通过完成所述动作方框而完成所述任务。通过评估各声明以生成可完成的图形,完成动作方框。由完成对应于可完成的图形中的动词的动作,完成该可完成的图形。
智能物机可以被配置为双语,因为多种语言语法解析器可以被配置为可完成的动作。替换地,翻译器动作可以用于将第一语言翻译为第二语言。所述第二语言可以通过配置的解析器动作被解析。
从而当我们说智能物机能够读书时,我们是指机器能够完成的动作是:与(例如来自扫描该书的电磁波形装置的)获取的内容交互并将所述内容表示为图形。通过将图形留存为P(TM(thing))管理的图形的子图形,智能物机动作后续能够接入该内容并与之交互。
智能物机能够读描述如何完成任务的书,并在一些实例中,能保留该知识的一些或者全部,以防所述机器将来万一被要求完成这样的任务。任务可以按照主题进行分类。任务可以是诸如与使用http协议相关的任务、与诸如accounting:accounts.receivable、accounting:accounts.payable、banking:debits、banking:credits以及banking:balance等活动相关的任务等一组分类的成员。
在一些实施中,第一智能物机能够发送意图针对第二智能物机的通信,请求关于主题或者分类的知识。响应于接收表示所述知识的内容,所述第一智能物机能够与所述内容交互,以相应配置其自身的知识。以这种方式,第一智能物机能够向第二智能物机学习。
在一些实施中,智能物机能够提供服务。服务是响应于典型地从人或者另一机器接收请求而提供的物。服务和任务之间的细微的区别是,至少在一示例性实施中,任务是被完成的,而服务是被提供的。借助上下文进行任务相对服务的分隔,其能够防止未经授权完成诸如移除文件或者改变动词的含义等任务。
身份可以是物,因此系统能够对识别码、认证、授权及审计的概念进行建模,以体现身份模型。身份模型的示例包括对公钥基础设施、Open PGP的信任网页、生物识别、第三方授权等的使用。使用身份,作为物的市场的概念可以被引入并使能交易。交易变成支付方和收款方、买方和卖方之间的物。交易可能涉及提供物的服务、物理的物、概念性的物或者逻辑的物。
身份模型,在一示例性实施中,使能图形或者子图形的认证。考虑例如表示请求的图形,该请求包括请求方识别码(即请求发起方)、内容以及所述内容的数字签名。可以证实对应所述识别码的证书是有效的。可以证实所述内容的数字签名是有效的。这使评估动作能通过算法证实请求的有效性并选择相应的合适的动作。身份模型就绪后,我们还能够提供安全的通信模型。
使用对内容进行加密并后续进行解密的密码动作保障请求内容能够被建模。请求图形可以包括密钥以及密码动作描述子图形。可以施加作为先决条件的评估动词动作,即,要解密内容,必须首先以指定的钥完成指定的密码。通过将请求的各种组成部分组织在合适的子图形中,两个或更多个智能物机能够(例如通过算法)使用身份模型通信,并确保通信安全。
当集成有光学识别码SIM卡时,例如,即使是在点对点(ad-hoc)的基础上,智能物机也能够被建模为在覆盖网络中的具有独特的身份的物。光学识别码可以是编码在1mm玻璃珠中的体全息图,例如,其具有数以千计的比特的表示身份信息的数据,以及超过十亿的钥。各装置可以具有其自身的光学SIM卡并将其用作识别码;相当于给定的名字。物能够脱离网络,并从别的地方重新加入该网络,而依然保留其光学身份。光学身份可以不同于用户身份。这使智能物机能在覆盖网络上验证其本身,以及使用网络可用的内容重新配置其本身。
在一些实施中,用户可以具有其自身的光学SIM卡,一旦向智能物机示出,所述机器能够重新配置其知道的物,以更好的适应用户的偏好以及现有状态信息。使用例如二因素认证,用户能够示出其光学SIM卡并向键盘输入代码。物机读入所述代码以及光学识别码,以生成独特的用户识别码,其能够用于在可接入数据库中查找关于用户信息。使用该信息,所述机器能够具体根据用户需要重新配置本身。
在一示例性实施中,即使是在点对点的基础上,智能物机也能够对其词汇进行动态配置以及重新配置。共享针对至少其语素集合的子集的本体承诺的一组智能物机能够使用该子集(或者至少其中一部分)与物交互。假如所述词汇表示为物,并且智能物机具有对所述词汇进行配置以及重新配置的动词动作,则完全可以探究智能物机如何能够学习。
请求机器完成某动作不一定意味着针对各请求人完成相同的动作。考虑例如被输入到网页浏览器中的诸如http://www.thinglanguage.com/v1/index.html等URL。通过输入URL,用户实质上是请求浏览器获得并显示由URL识别的物。识别码以及对应的资源全都是物。
请求其浏览器获得并显示相同的URL的两个人可能接收到两个不同的结果,虽然二人都输入了相同的URL。在一情况下,内容可以是针对于具体个人的。在另一情况下,HTTP请求包头可以包括状态信息,其用于由网页服务器构建资源内容。要辨别URL可以识别的物和被显示的物是不同的。
自适应神经机器人以及机器学习
在一示例性实施中,通过算法评估声明,以计算可完成的声明(例如在P(TM(evaluate))的实施例中)可以包括算法步骤,其评估该声明是否:
I)服从于语言的语法规则;
2)本体完整;
3)具有动词;
4)具有相关到可完成的物的动词;
5)可以现在进行评估;
6)应该以后进行评估;
7)具有必须被满足的一组先决条件;以及/或者
8)可以以后进行评估。
在一示例性实施中,P(TM(evaluate))在所述机器知道如何作为动作完成的物以及动作能够作用的物的上下文中评估声明,构建所述机器能够完成的可完成的声明。有时,声明以及可完成的声明是等价的。另一些时间,可完成的声明是被构建以完成诸如默认动作等所请求的动作以外的动作。
假如智能物机能够将声明表示为物,且通信、协议、解析器以及格式化器全都是物,则第一智能物机能够通过算法向第二智能物机习得一些物。这些有能力相互学习的智能物机可以被称为"自适应神经机器人"。
在一些实例中,可以将学习定义为通过经验、钻研或者通过被教导来获取知识或者技巧。在示例性实施中,智能物机将知识建模为物,其表示所述机器能够完成的动作以及动作能够作用的物。示例性智能物机的先验知识可以包括表示为机器初始化期间的物的事实、信息、动词(意思是主动物)以及技巧(意思是任务以及服务)。
考虑售货机。针对分别具有诸如提供批量折扣、激励政策、订购预付款、赎回点、多产品折扣等一个或多个特色特点的售货机,存在无数可能的配置。对示例性售货机设计的描述以及引用见美国专利6575363。
在一些情况下,售货机所有者仍然依靠送货人收款以及做补货决定。为加快速度,提供智能物机。智能物机连接到(或者包括)运动传感器、扬声器、麦克风、GPS定位器LCD显示以及WiFi互联网连接。在另一实施例中,还存在红外热探测器。
在本示例中,可以构建一组主动物,其涉及库存管理,使得所述机器例如在库存低或者缺货时能够告知网页服务。所述所有者/承包商则将调度司机从所述机器收款并将附加的产品放入售货机中进行销售的送货日期。本质上,所述机器是在为所有者工作,而所有者对货币、库存以及一般地,所述机器进行维护。
智能物机然后被改变成自适应神经机器人并允许所述机器为本身而不是为所有者工作。即,所述自适应神经机器人必须学习适应其环境。为此,在一示例性实施中,会要求所述自适应神经机器人具有身份并对货币有一定程度的控制。
在该示例性实施例中,所述自适应神经机器人使用光学识别码作为SIM卡的对等物,以具有识别码。所述自适应神经机器人被设计为仅接受电子支付以及添加的涉及交易的主动物,所述主动物包括用于接受支付、进行支付以及支付处理的电子钱包。在任意时刻,所述自适应神经机器人能够仅仅从其电子钱包账户进行开销,不过,也可能使用其它金融资源方法。
在本示例中,所述自适应神经机器人使用其账户中的货针对购买附加的库存进行支付。使用简单的网页服务提供产品列表,供所述自适应神经机器人挑选。该列表可以包括例如:产品名字、UPC代码、制造商、成分列表、单位价格、预期最佳使用期限、最低采购量、尺寸、重量、存货量以及/或者过敏声明等。所述自适应神经机器人选择物品,并使用其识别码,所述提供方能够确定所述自适应神经机器人的地理位置并确定装运成本。
所述自适应神经机器人在本示例中可以购买并以电子方式对购买的货物进行支付。送货司机则会上门在所述机器中安装购买的产品。通过打开所述API,其它供应商能够为其自身的待通过售货机售出的产品打广告。供应商能够使能诸如谷歌等搜索引擎,以索引其网站;所述自适应神经机器人能够使用谷歌搜索新的供应商。所述自适应神经机器人在本示例中能够搜索供应商并拓宽可通过售货机购买的物的类型。
然而,为超越提供网页服务的原始产品,所述自适应神经机器人可以要求供应商知道所述自适应神经机器人的位置,以确定装运产品以及安将产品装到所述自适应神经机器人中。所述自适应神经机器人可以配置有GPS装置,使得所述自适应神经机器人能够传递其位置。
所述自适应神经机器人还可以例如配置有热敏电阻,以测量24小时温差。使用其地理位置将其温度与经由诸如wunderground.com等网络可用的气候服务进行比较,所述自适应神经机器人能够确定其是处于建筑内还是建筑外,以及其是否处于直射日光中。替换地,具有光传感器的自适应神经机器人能够尝试减小一天中各时间的光线变化,以确定其处于建筑内还是建筑外。所述自适应神经机器人可以使用该信息或者来自不同输入/输出装置的其它信息确定合适的产品选择。例如,如果处于直射日光中,所述自适应神经机器人可能在薯片和巧克力产品之间选择前者,因为前者在直射日光下更容易出问题(例如融化)。
位于建筑外的自适应神经机器人可能注意到销售额由于恶劣气候而显著下降。通过使用其地理位置,所述自适应神经机器人能够与基于网页的气候服务交互,以预料到坏天气并相应调整其采购指令,以确保待售产品尽可能新鲜。
在一些实例中,所述送货服务可以外包,则Uber司机送货服务的对等服务运送以及安装所述产品。替换地,亚马逊无人机,例如,能够将包裹放入预先配置的容器中进行运送,该容器可以被投放到售货机中,并以机械方式放入插槽中,以便分发。无论哪种方式,假设我们关注如何运送以及安装附加的库存并聚焦其它环境相关的任务。
在通过算法计算货物的成本以及送货和安装成本时,所述自适应神经机器人能够标高产品价格,以便能从每次销售中赚得利润。典型地机器所有者会确定利润率,但是在一些情况下,所述自适应神经机器人能够做该决定。
在一示例性实施中,所述自适应神经机器人保持全天预先定义的间隔期间运动传感器熄闭次数的计数。通过比较一周每天的间隔计数,其能够通过算法确定日常潜在消费者的流量计数。其也能够发现一天中其最忙的时间以及一天中最不忙的时间。
在其一天中最不忙的时间期间,所述自适应神经机器人能够,在一些实例中,购买(并可以阅读)在线书,以了解库存跟踪、招标、价格比较、送货服务,甚至学习如何分析销售趋势。为此,所述自适应神经机器人可能开一具有在线书店的账户,所述书店如是作为网页服务进行管理的。在线书提供内容。早就解释过,当内容以自适应神经机器人解析器能够解析成thing:statement的语法书写时,则所述自适应神经机器人能够评估该声明。
使用后验知识,所述自适应神经机器人在本示例中可能能够就附加的库存进行招标,在线寻找出价最佳的供应商,装运以及处理成本因素以及/或者甚至雇佣送货服务,以适量补充库存。其可以使用该信息确定其货物成本并基于期望的利润率设置零售价格。
所述自适应神经机器人在一些实施中能够收集销售额数据并分析销售趋势,以调整销售价格,以确定再采购量以及完成采购所需时间。在一些实施中,其甚至可以确定产品即将过期的时间并做出营销决定,诸如购买第二产品时打折出售第一产品,或者径直打折出售单个产品以清仓。其能够,在一些实施中,查看滞销产品,并对其进行促销(最低标价、打折、买一赠一等)。在一些实施中,其能够基于需求设置价格。例如,中午消费者更多,所以加价5%直至下午1点。
在一些实施中,当所述自适应神经机器人准备好进行采购时,其能够查看库存并确定,基于当前销售趋势以及送货时间,例如虽然产品A的库存计数仍然高于其再采购点,其应该再采购产品A。这涉及装运以及安装成本。当基于现有的销售趋势,预计产品A在2天后即达到其再采购点时,如果当下仅再采购产品B并具有三3天送货时间,则是不合常理的。此时,所述自适应神经机器人能够决定同时采购产品A和产品B。
在一些实施中,分析趋势时,所述自适应神经机器人能够查看销售历史,以确定是否产品A的销售最常包括产品B的销售,并发现当产品B缺货时产品A销售也下降。此时,其能够确保产品B的恰当采购量,以鼓励消费者同时购买产品A和产品B。如果产品C的销售常常包括产品B的销售,则所述机器能够在半数的A以及半数的C已经售出时再采购产品B。
在一些实施中,所述自适应神经机器人能够与用户交互。在一些实例中,其能够询问消费者是否接下来的时间其会偏好不同类型的产品。使用分类器,其能够对产品的类型进行分类,并对给定类型的产品被请求的次数进行计数。这样,当进行新的采购时,所述自适应神经机器人能够例如搜索相关的产品,从而开始适应其环境(意思是所述自适应神经机器人在提供更好的服务)。
在一些实施中,所述自适应神经机器人能够了解关联(例如包括有组织用于常见用途的一个或更多个智能物机的团组)。就其而言,自适应神经机器人能够阅读书籍,例如,其描述关联以及提供关联所要求的任务,例如:
I)如何创建关联;
2)如何广告其可用性;
3)如何向其它自适应神经机器人营销自己;
4)成员资格要求;
5)如何识别、认证并授权成员参与;
6)如何收取成员资格费用;以及,
7)如何利用其成员数量谈判并达成协议。
在一些实施中,两个或更多个自适应神经机器人能够开始一关联并开始共享诸如各年各时期畅销产品等信息。它们可能共享诸如及时供货的供应商、最佳供货选择的供应商、提供批量折扣的供应商等附加的数据。所述关联可能收集数据并对其进行相关。使用一段时间中足够的数据,所述关联可能使用标准模板例如打开网站服务,并向订户提供该信息。其它自适应神经机器人可以订购以获取该数据,用于决策自身的购买。所述关联可能以电子方式收取订户成员资格费用,并管理自身的可收款账户。所述关联能够代表成员征求产品报价,以传递任何批量订单节省额并随后分给各成员。这可以在受控环境中完成,但是能够轻易移除所述控制以允许所述自适应神经机器人独立这样做。
使用运动传感器,例如,所述自适应神经机器人能够确定给定的区域内是否存在移动,并自动播放售货机中产品的广告。通过对运动传感器触发进行计数(例如在给定的时间段中),所述神经机器人能够估计附近客流,并向其它代理机构征求广告报价,以有偿显示所述机构的广告。
在一些实施中,所述自适应神经机器人能够询问(例如在基于计算机的用户接口的)用户所述自适应神经机器人还能为用户做什么。用户可以进行响应,所述自适应神经机器人会尽力满足其请求。否则,所述自适应神经机器人可以使用基于计算机的分类器尝试确定请求涉及的主题。通过保持对所述神经机器人被要求租车的次数进行计数,例如,所述神经机器人可能,当被要求例如租车一定次数,寻找并阅读电子书,以习得如何使用例如企业租车网页服务租车。
在一些实施中,所述自适应神经机器人能够学习如何管理其自身的词汇以基于硬件限制确保合适的处理。例如当自适应神经机器人存储空间过低时,其能够(经由电子传输)向第二自适应神经机器人询问与增加第二存储相关的信息。所述第二自适应神经机器人能够教导所述第一自适应神经机器人例如开亚马逊云存储服务账号所要求的任务。
假设购买前有一个月免费试用时间,则最初不需要支付。如果云账户服务接受电子支付,则自适应神经机器人可以一直开着该账户,只要有足够的利润支持对账户进行支付。
类似地,如果所述自适应神经机器人需要更多处理能力,则在一些实施中,其同样能开一智能物机账户,以添加例如附加的处理能力。假定第二自适应神经机器人工作很好,让客户很满意,但并不需要其全部的处理能力。在一些实施中,其能够学习如何销售其过剩的容量,并将其提供给另一自适应神经机器人(可以是有偿地)。
关心的其它区域包括随机性。在一些实施中,自适应神经机器人能够随机地了解其他不相关的主题。如果有足够多数目的机器能够完成工作并赚到钱,例如,所述机器能够拓展其能力。事实上,所述机器能够学习如何实质上开拓不同应用领域中的新业务。智能物机能够获知存在称为自主割草机的东西,包括例如约翰迪尔探戈E5(John Deere TangoE5)型自动割草机或者胡斯华纳(Husqvarna)自动割草机。
在一些实施中,所述自适应神经机器人理解送货服务将东西从点A运送到点B。结果,其能够运送自主割草机。所述机器能够购买自主割草机,打开订户注册网站,对割草机进行支付,并使用送货服务将割草机从正确的发货地运输到正确的收货地。如上所述,无人机或者其它手段可以用于运输。
最后,考虑厨房面包机的职能。面包机用于烤面包、百吉饼、松饼、糕点等等。面包机是相当简单的机器,人们开始会怀疑它作为神经机器人没有多少创新空间。然而考虑一通常站得很近的烤面包的人。在一些实施中,所述面包机,能够与主自适应神经机器人通信,以获取内容,并简单地经由音响或者在面包机屏幕上进行中转。所述面包机能够告诉人们关于气候、新闻、事件、消息、电子邮件、新的产品提供等其它这样的信息。再次,由于用户的临近,所述装置可以为主自适应神经机器人的有用的免提代理。
相同的原理可能适用于能够预料到其用户在附近的任意机器。例如,如果你在使用克里格(Keuring)咖啡机,你可能离该机器相当近,但是如果你是在冲泡一整壶的咖啡,则你可能离开房间,在泡咖啡的同时出去遛狗。在一些实施中,自适应神经机器人可以使用电磁波形通信同步彼此之间的通信,并使用算法确定用户的接近数据。所述装置能够使用人可能听不到的声波通信。这会使所述机器能基于所述通过算法生成的用户的接近数据调整其音量。
所述模型使能的物包括但不限于:机器,其能够读书以习得物,相互学习;以及,对自身进行重新编程以使自身在其环境中变得更有用。可以被编程去了解金融的机器能够学习利润率的价值并赚得利润。其可以花钱买书学习更多东西,或者开云账户获得附加的存储以及/或者处理能力。
在一些实施中,智能物机在0到1的(或者在其它)尺度上测量状态。其使用物模拟诸如感觉被赏识等存在状态。其使用状态确定其距离要达成目标有多近。通过向智能机器描述工作的单位(待评估完成的声明的序列)以帮助所述机器达成目标,智能机器能够学习哪些物帮助其达成其目标,哪些物妨碍其达到其目标。当状态低于阈值时,本示例中智能物机可以开始工作以帮助回归达成其目标的正轨。
本领域中的技术人员显然知道,可以对本发明的结构进行各种修饰以及变化而不偏离本发明的范围或者精神。鉴于此,本发明意图覆盖落入所附权利要求及其等价方案范围内的针对本发明的修饰以及变化。
Claims (14)
1.一种用于基于计算机的第一机器收获知识的由计算机实施的方法,所述方法包括:
在计算机可读存储器中组织具有节点和边缘的有向图形,其中,每个节点表示多个物中的一个物,每个边缘表示物之间的可变关系,每个物表示能完成的动作或者能完成的动作能够作用的一些物,其中,与能完成的动作相对应的每个节点对应于用于完成能完成的动作的能完成的机器代码;
执行运行时间机器代码动作以:
与所述有向图形中表示的第一能完成的机器代码动作进行交互,以设置表示内容的第一物;
与所述有向图形中表示的第二能完成的机器代码动作进行交互,以将所述第一物的所述内容解析为表示声明的所述有向图形中的第二物;
与所述有向图形中表示的第三能完成的机器代码动作进行交互,以评估所述第二物的所述声明,以计算表示能完成的声明的所述有向图形中的第三物,所述能完成的声明包括用于识别能完成的物的识别码和所述能完成的物要作用的相关的一组物;以及
与所述有向图形中表示的第四能完成的机器代码动作进行交互,以访问所述能完成的声明,定位由所述能完成的声明的识别码所识别的所述能完成的物,并根据所述能完成的声明执行能完成的动作,以作用于所述相关的一组物,以设置表示后验知识的一个或多个物,其中,所述第四能完成的机器代码动作根据基于计算机的所述第一机器能访问的词汇的上下文来执行所述能完成的动作,以及
将表示后验知识的所述一个或多个物添加到所述词汇中,
所述后验知识是基于计算机的所述第一机器仅在完成所述第一能完成的机器代码动作、所述第二能完成的机器代码动作、所述第三能完成的机器代码动作以及所述第四能完成的机器代码动作之后拥有的知识。
2.根据权利要求1所述的方法,其中,由一个或多个基于计算机的处理器执行存储在计算机可读存储器中的计算机可读指令,来完成所述第一能完成的机器代码动作、所述第二能完成的机器代码动作、所述第三能完成的机器代码动作、所述第四能完成的机器代码动作中的每一个能完成的机器代码动作。
3.根据权利要求1所述的方法,
其中,所述第一能完成的机器代码动作由一个或多个基于计算机的处理器完成或者涉及一个或多个基于计算机的处理器,使得基于计算机的所述第一机器接收所述内容,
其中,所述第二能完成的机器代码动作由所述一个或多个基于计算机的处理器完成或者涉及所述一个或多个基于计算机的处理器,使得基于计算机的所述第一机器解析收到的所述内容,
其中,所述第三能完成的机器代码动作由所述一个或多个基于计算机的处理器完成或者涉及所述一个或多个基于计算机的处理器,使得基于计算机的所述第一机器评估解析出的所述内容,
其中,所述第四能完成的机器代码动作由所述一个或多个基于计算机的处理器完成或者涉及所述一个或多个基于计算机的处理器,使得基于计算机的所述第一机器完成与评估解析出的所述内容相关的功能。
4.根据权利要求1所述的方法,其中,所述交互包括一个或多个基于计算机的处理器执行基于计算机的存储器中的计算机可读指令,以组织或者管理物以及/或者所述物之间的可变关系中的任意可变关系。
5.根据权利要求1所述的方法,其中,当被完成时,所述第一能完成的机器代码动作导致基于计算机的所述第一机器与利用电磁能的装置交互以获取所述内容。
6.根据权利要求1所述的方法,其中,所述内容是从全息图中的编码获取的。
7.根据权利要求1所述的方法,其中,所述内容从基于计算机的第二机器被传达给基于计算机的所述第一机器。
8.根据权利要求7所述的方法,其中,响应于基于计算机的所述第一机器向基于计算机的所述第二机器传达针对所述内容的请求,所述内容从基于计算机的所述第二机器被传达。
9.根据权利要求1所述的方法,其中,基于计算机的所述第一机器通过算法计算所述内容。
10.根据权利要求1所述的方法,其中,收获的所述知识是关于服务的,包括如何从机器为所述服务打广告以及如何提供所述服务,其中,基于计算机的所述第一机器是所述机器的一部分,其中,所述方法进一步包括:
用所述机器的基于计算机的所述第一机器为所述服务打广告。
11.根据权利要求1所述的方法,其中,收获的所述知识是关于服务的,包括如何从机器订购所述服务,其中,基于计算机的所述第一机器是所述机器的一部分,其中,所述方法进一步包括:
用所述机器的基于计算机的所述第一机器订购所述服务。
12.一种基于计算机的系统,包括:
基于计算机的第一机器,其中,基于计算机的所述第一机器包括:
一个或多个基于计算机的处理器;以及
偶联到所述一个或多个基于计算机的处理器的基于计算机的存储器,其中,所述基于计算机的存储器存储有计算机可读指令,其中,当被所述一个或多个基于计算机的处理器执行时,所述计算机可读指令导致所述一个或多个基于计算机的处理器:
在计算机可读存储器中组织具有节点和边缘的有向图形,其中,每个节点表示多个物中的一个物,每个边缘表示物之间的可变关系,每个物表示能完成的动作或者能完成的动作能够作用的一些物,其中,与能完成的动作相对应的每个节点对应于用于完成能完成的动作的能完成的机器代码;
执行运行时间机器代码动作以:
与第一能完成的机器代码动作进行交互,以设置表示内容的第一物;
与第二能完成的机器代码动作进行交互,以将所述第一物的所述内容解析为表示声明的所述有向图形中的第二物;
与第三能完成的机器代码动作进行交互,以评估所述第二物的所述声明,以计算表示能完成的声明的所述有向图形中的第三物,所述能完成的声明包括用于识别能完成的物的识别码和所述能完成的物要作用的相关的一组物;以及
与第四能完成的机器代码动作进行交互,以访问所述能完成的声明,定位由所述能完成的声明的识别码所识别的所述能完成的物,并根据所述能完成的声明执行能完成的动作,以作用于所述相关的一组物,以设置表示后验知识的一个或多个物,其中,所述第四能完成的机器代码动作根据基于计算机的所述第一机器能访问的词汇的上下文来执行所述能完成的动作,以及
将表示后验知识的所述一个或多个物添加到所述词汇中,
所述后验知识是基于计算机的所述第一机器仅在完成所述第一能完成的机器代码动作、所述第二能完成的机器代码动作、所述第三能完成的机器代码动作以及所述第四能完成的机器代码动作之后拥有的知识。
13.根据权利要求12所述的系统,其中,当被完成时,所述第一能完成的机器代码动作导致基于计算机的所述第一机器与利用电磁能的装置交互以获取所述内容,或者
其中,所述内容从基于计算机的第二机器被传达给基于计算机的所述第一机器,或者
其中,基于计算机的所述第一机器通过算法计算所述内容。
14.一种用于第一机器的基于计算机的第一机器使其知识适应于环境的方法,所述方法包括:
在计算机可读存储器中组织具有节点和边缘的有向图形,其中,每个节点表示多个物中的一个物,每个边缘表示物之间的可变关系,每个物表示能完成的动作或者能完成的动作能够作用的一些物,其中,与能完成的动作相对应的每个节点对应于用于完成能完成的动作的能完成的机器代码;
执行运行时间机器代码动作以:
与第一能完成的机器代码动作进行交互,以设置表示主题的第一物,所述主题表示因使用电磁波形装置而收到的内容;
与第二能完成的机器代码动作进行交互,以设置第二物,所述第二物表示针对与所述主题相关的内容的请求;
与第三能完成的机器代码动作进行交互,以传达所述请求的表示,所述请求的表示为意图要传达给基于计算机的第二机器的内容;
与第四能完成的机器代码动作进行交互,以接收表示所请求的内容的通信,并设置表示所接收的所述内容的第三物;
与第五能完成的机器代码动作进行交互,以将所述第三物的所接收的所述内容解析为表示声明的所述有向图形中的第四物;
与第六能完成的机器代码动作进行交互,以评估所述第四物的所述声明,
以计算表示能完成的声明的所述有向图形中的第五物,所述能完成的声明包括用于识别能完成的物的识别码和所述能完成的物要作用的相关的一组物;以及
与第七能完成的机器代码动作进行交互,以访问所述能完成的声明,定位由所述能完成的声明的识别码所识别的所述能完成的物,并根据所述能完成的声明执行能完成的动作,以作用于所述相关的一组物,以设置表示习得的知识的一组物,其中,所述第七能完成的机器代码动作根据基于计算机的所述第一机器能访问的词汇的上下文来执行所述能完成的动作;
所述习得的知识是基于计算机的所述第一机器仅在完成所述第一能完成的机器代码动作、所述第二能完成的机器代码动作、所述第三能完成的机器代码动作、所述第四能完成的机器代码动作、所述第五能完成的机器代码动作、所述第六能完成的机器代码动作以及所述第七能完成的机器代码动作之后拥有的知识。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662431143P | 2016-12-07 | 2016-12-07 | |
US62/431,143 | 2016-12-07 | ||
PCT/US2017/065013 WO2018106863A1 (en) | 2016-12-07 | 2017-12-07 | Thing machine systems and methods |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110268686A CN110268686A (zh) | 2019-09-20 |
CN110268686B true CN110268686B (zh) | 2023-04-04 |
Family
ID=62243244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780085944.5A Active CN110268686B (zh) | 2016-12-07 | 2017-12-07 | 物机系统以及方法 |
Country Status (8)
Country | Link |
---|---|
US (2) | US11769062B2 (zh) |
EP (1) | EP3552357A4 (zh) |
JP (1) | JP7256742B2 (zh) |
CN (1) | CN110268686B (zh) |
AU (2) | AU2017370908A1 (zh) |
CA (1) | CA3084966A1 (zh) |
TW (1) | TWI797099B (zh) |
WO (1) | WO2018106863A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11416792B2 (en) | 2017-04-19 | 2022-08-16 | Uber Technologies, Inc. | Network system capable of grouping multiple service requests |
US11010814B2 (en) * | 2017-09-01 | 2021-05-18 | Walmart Apollo, Llc | Systems and methods for estimating personal replenishment cycles |
US11436554B2 (en) | 2017-11-02 | 2022-09-06 | Uber Technologies, Inc. | Network computer system to implement predictive time-based determinations for fulfilling delivery orders |
WO2019169039A1 (en) * | 2018-02-28 | 2019-09-06 | Northrup Charles | System and method for a thing machine to perform models |
US11132638B2 (en) * | 2018-08-31 | 2021-09-28 | Oracle International Corporation | Product predictions and shipments using IoT connected devices |
US11397911B2 (en) | 2018-11-15 | 2022-07-26 | Uber Technologies, Inc. | Network computer system to make effort-based determinations for delivery orders |
TWI734329B (zh) * | 2019-12-31 | 2021-07-21 | 技嘉科技股份有限公司 | 電子裝置及利用外部輸入信號的按鍵巨集之觸發方法 |
JP7232231B2 (ja) * | 2020-11-16 | 2023-03-02 | ミネベアミツミ株式会社 | 殺菌システム、殺菌装置、制御装置、制御方法および制御プログラム |
DE112021007474T5 (de) * | 2021-06-14 | 2024-02-01 | Mitsubishi Electric Corporation | Informationsbereitstellungseinrichtung, informationsbereitstellungsverfahren und informationsbereitstellungsprogramm |
CN118283148B (zh) * | 2024-06-04 | 2024-08-06 | 南京信息工程大学 | 一种跨平台应用层协议解析器自动生成方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1311936A (zh) * | 1998-05-07 | 2001-09-05 | 三星电子株式会社 | 网络中的用户及装置的命令和控制的方法和设备 |
CN101288128A (zh) * | 2005-07-01 | 2008-10-15 | 微软公司 | 声明性地响应交互式多媒体环境中的状态变化 |
CN101535983A (zh) * | 2006-10-16 | 2009-09-16 | 沃伊斯博克斯科技公司 | 协作会话语音用户界面的系统和方法 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05204649A (ja) * | 1992-01-24 | 1993-08-13 | Nec Corp | エキスパートシステム分散制御方式 |
US7421321B2 (en) | 1995-06-07 | 2008-09-02 | Automotive Technologies International, Inc. | System for obtaining vehicular information |
JP2002236681A (ja) * | 2001-02-09 | 2002-08-23 | Inst Of Physical & Chemical Res | 日常言語コンピューティングシステムおよびその方法 |
US7376739B2 (en) | 2004-02-11 | 2008-05-20 | International Business Machines Corporation | Persistence of inter-application communication patterns and behavior under user control |
MY150958A (en) | 2005-06-16 | 2014-03-31 | Astrazeneca Ab | Compounds for the treatment of multi-drug resistant bacterial infections |
US8874477B2 (en) | 2005-10-04 | 2014-10-28 | Steven Mark Hoffberg | Multifactorial optimization system and method |
WO2007147166A2 (en) | 2006-06-16 | 2007-12-21 | Quantum Leap Research, Inc. | Consilence of data-mining |
US20080033897A1 (en) | 2006-08-02 | 2008-02-07 | Lloyd Kenneth A | Object Oriented System and Method of Graphically Displaying and Analyzing Complex Systems |
WO2008054037A1 (en) * | 2006-11-03 | 2008-05-08 | Yeong-Ae Kim | A system of management, information providing and information acquisition for vending machine based upon wire and wireless communication and a method of management, information providing and information acquisition for vending machine using the system |
CA2669986C (en) * | 2006-11-20 | 2015-03-17 | Matrikon Inc. | Ontological database design |
BR112015006336B1 (pt) * | 2012-09-20 | 2020-01-28 | Ifwizard Corp | meio de armazenamento legível por máquina não transitório para engenharia do conhecimento simplificada |
EP2959383A1 (en) * | 2013-02-19 | 2015-12-30 | Interdigital Patent Holdings, Inc. | Information modeling for the future internet of things |
EP3000088A4 (en) * | 2013-05-23 | 2018-06-27 | Iphenotype LLC | Method and system for maintaining or improving wellness |
US10990894B2 (en) | 2013-07-11 | 2021-04-27 | Neura, Inc. | Situation forecast mechanisms for internet of things integration platform |
US9600571B2 (en) * | 2013-07-11 | 2017-03-21 | Neura, Inc. | Interoperability mechanisms for internet of things integration platform |
US9992721B2 (en) * | 2013-12-27 | 2018-06-05 | Futurewei Technologies, Inc. | System and method for distributed mobility management with GPRS tunneling protocol |
WO2016078861A1 (en) | 2014-11-17 | 2016-05-26 | Asml Netherlands B.V. | Process based metrology target design |
TW201633173A (zh) * | 2014-12-12 | 2016-09-16 | U3D有限公司 | 存取操作可存取操作的物件的方法以及應用該方法的系統與可存取操作的物件 |
US20160180240A1 (en) * | 2014-12-16 | 2016-06-23 | Kyndi, Inc. | Apparatus and method for high performance data analysis |
US9461976B1 (en) * | 2015-03-25 | 2016-10-04 | Mcafee, Inc. | Goal-driven provisioning in IoT systems |
KR101665861B1 (ko) * | 2015-04-02 | 2016-10-14 | 한국과학기술원 | IoT 환경에서의 데이터 처리 시스템 및 방법 |
KR102314272B1 (ko) | 2015-04-30 | 2021-10-20 | 삼성전자주식회사 | 서비스 공유 장치 및 방법 |
-
2017
- 2017-12-07 TW TW106142927A patent/TWI797099B/zh active
- 2017-12-07 US US15/834,311 patent/US11769062B2/en active Active
- 2017-12-07 CN CN201780085944.5A patent/CN110268686B/zh active Active
- 2017-12-07 JP JP2019530028A patent/JP7256742B2/ja active Active
- 2017-12-07 CA CA3084966A patent/CA3084966A1/en active Pending
- 2017-12-07 AU AU2017370908A patent/AU2017370908A1/en not_active Abandoned
- 2017-12-07 WO PCT/US2017/065013 patent/WO2018106863A1/en unknown
- 2017-12-07 EP EP17879200.8A patent/EP3552357A4/en active Pending
-
2022
- 2022-10-28 AU AU2022259839A patent/AU2022259839B2/en active Active
-
2023
- 2023-08-13 US US18/448,945 patent/US20230409925A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1311936A (zh) * | 1998-05-07 | 2001-09-05 | 三星电子株式会社 | 网络中的用户及装置的命令和控制的方法和设备 |
CN101288128A (zh) * | 2005-07-01 | 2008-10-15 | 微软公司 | 声明性地响应交互式多媒体环境中的状态变化 |
CN101535983A (zh) * | 2006-10-16 | 2009-09-16 | 沃伊斯博克斯科技公司 | 协作会话语音用户界面的系统和方法 |
Non-Patent Citations (1)
Title |
---|
"Natural language programming of industrial robots";Maj Stenmark;《IEEE ISR 2013》;20131024;正文第3-4节 * |
Also Published As
Publication number | Publication date |
---|---|
TW201835786A (zh) | 2018-10-01 |
WO2018106863A1 (en) | 2018-06-14 |
US20230409925A1 (en) | 2023-12-21 |
AU2017370908A1 (en) | 2019-07-25 |
JP7256742B2 (ja) | 2023-04-12 |
AU2022259839A1 (en) | 2022-12-08 |
CN110268686A (zh) | 2019-09-20 |
CA3084966A1 (en) | 2018-06-14 |
EP3552357A4 (en) | 2020-08-05 |
US11769062B2 (en) | 2023-09-26 |
EP3552357A1 (en) | 2019-10-16 |
US20180157993A1 (en) | 2018-06-07 |
TWI797099B (zh) | 2023-04-01 |
JP2020504371A (ja) | 2020-02-06 |
AU2022259839B2 (en) | 2024-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110268686B (zh) | 物机系统以及方法 | |
US11847495B2 (en) | Systems and methods configured to enable an operating system for connected computing that supports user use of suitable to user purpose resources sourced from one or more resource ecospheres | |
JP7563881B2 (ja) | シングマシン | |
US9904579B2 (en) | Methods and systems for purposeful computing | |
JP2021512444A (ja) | コミュニケーション用談話ツリーを用いる、説明の要求の検出 | |
TW202418102A (zh) | 用於事件機器執行模型的系統及方法 | |
Santos et al. | Blockchain-Based Loyalty Management System | |
Veisi | Visualizing provenance in a supply chain using ethereum blockchain | |
Tuovinen | From machine learning to learning with machines: Remodeling the knowledge discovery process |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |