非确定性编程

✍ dations ◷ 2025-07-08 14:27:35 #非确定性编程

非确定性编程,是一种编程范型,它可以在程序的特定点(叫做选择点)上,指定各种可交替的程序流程。不像if…then语句,在这些交替者(alternative)的之间选择的方法,不能直接由编程者来指定;程序必须通过应用到所有选择点上的某种通用方法,在运行时间于这些交替者之间做出决定。编程者指定有限数目的交替者(英语:Alternation (formal language theory)),而程序此后必须在它们之间做出选择,(事实上“Choose”是非确定性算子的典型名字)。可以形成选择点的一个层级,具有着高层选择引出的包含其中低层选择的诸分支。

选择的一种方法,体现为回溯系统(比如Amb,或Prolog中的合一),其中一些交替者可能“失败”,导致程序回溯并尝试其他交替者。如果所有交替者在一个特定选择点上都失败了,则整个分支失败,程序将进一步回溯到一个更早的选择。一种复杂的问题是,由于任何选择都是试探性的而可以被重做,系统必须能够通过撤销执行一个最终失败了的分支所导致的副作用,恢复早先的程序状态。

选择的另一种方法是强化学习,体现在系统如Alisp中。在这种系统中,不做回溯,系统跟踪某种对成功的衡量,并学习在哪种条件下(可以影响选择的内部程序状态和环境输入二者),哪种选择经常导致成功。这些系统适合于应用到机器人和一些其他领域,其中回溯会涉及到,所尝试撤销的行动是在动态环境中进行的,而这将是困难或不实际的。

相关

  • 电脑断层摄影计算机断层成像(Computed Tomography,简称CT),是一种影像诊断学的检查。这一技术曾被称为计算机轴向断层成像(Computed Axial Tomography)。X射线计算机断层成像(X-Ray Computed To
  • 紫醛试剂紫醛试剂(英语:purple aldehyde reagent),是由台湾卫生署所研发出用来检测鱼类中所含甲醛的一种试剂。切下一小块鱼肉至不需要的纸盘上,并滴入一滴紫醛试剂,原先淡紫色的紫醛试剂
  • 伊德里斯伊德里斯王朝(阿拉伯语:الأدارسة‎ al-Adārisah) 是公元788年,伊德里斯一世以非斯为中心,在摩洛哥建立的第一个阿拉伯王朝。后被西班牙科尔多瓦哈里发国家所征服。
  • 茭白笋茭白(学名:Zizania latifolia),又名茭白笋、加泽笋、葩白笋、菰、菰蒋、菰蒋草、美人腿、籧蔬‘尔雅’、菰菜、菰笋、茭笋、茭粑、茭瓜、高笋、茭首、茭草、茭耳菜、茭儿菜、古
  • 朱莉亚·沃德·豪朱莉亚·沃德·豪(英语:Julia Ward Howe,1819年5月27日-1910年10月17日)是美国的废奴主义者、行动主义者、诗人以及爱国歌曲《共和国战歌》的作词者。出生于纽约市,原名朱莉亚·沃
  • 盖斯贝格山 (萨尔茨堡州)坐标:47°48′18″N 13°6′43″E / 47.80500°N 13.11194°E / 47.80500; 13.11194盖斯贝格山(德语:Gaisberg),是奥地利的山峰,位于该国中部,由萨尔茨堡州负责管辖,属于萨尔兹卡默
  • 高凌霄 (光绪进士)高凌霄(1848年-1909年),直隶省天津府天津县人,清朝政治人物、进士出身。光绪六年(1880年),参加庚辰科殿试,登进士二甲第64名。同年五月,改翰林院庶吉士。光绪十二年四月,散馆,著以知县
  • 鸟取藩鸟取藩(日语:鳥取藩/とっとりはん  */?)是日本江户时代的一个藩。位于因幡国及伯耆国(今鸟取县一带),藩厅是鸟取城。石高32万5千石。自江户时代起,藩主是池田氏。初时只有6万石,161
  • HAYIM (协会)HAYIM协会 癌症儿童在以色列(希伯来语:.mw-parser-output .script-hebrew,.mw-parser-output .script-Hebr{font-size:1.15em;font-family:"Ezra SIL","Ezra SIL SR","Keter A
  • 皆川睦雄皆川睦雄(1935年7月3日 - 2005年2月6日)为日本的棒球选手,出生于山形県米沢市。他曾效力于日本职棒福冈软件银行鹰等,守备位置为投手,1971年退休,生涯通算221胜。