Cut (逻辑编程)

✍ dations ◷ 2025-06-27 07:28:59 #Cut (逻辑编程)

Prolog编程中的cut操作,用!表示,该操作总能够成功,但是不能够回溯位于该操作左边的子句。Cut操作被广泛的用于减掉不希望回溯的分支,例如,避免找到程序不需要的额外的答案和避免额外的计算。

应当保守的应用cut操作,当程序不正确会有一种诱惑来插入cut来检验cut能否让程序正确。如果一个测试是不必须的因为有cut来保证这是真的,那么最好在合适的地方加上注释说明这一点。

Cut被某些人认为是有争议的逻辑程序控制方式,因为该操作是因为效率问题被加入的而且不是一个Horn clause.

如果一个cut操作只是为了提高性能,那么它就被称为green cut,例如:

 gamble(X) :- gotmoney(X),!. gamble(X) :- gotcredit(X), + gotmoney(X).

上述操作被称为green cut操作符。!只是简单的告诉Prolog解释器停止寻找其他的答案。但是你会注意到如果gotmoney(X)子句失败的话,那么解释器将会检查第二条规则。第二个规则中的gotmoney(X)似乎显得多余,因为只有当第一个规则失败的时候,第二个规则才会被查看,但是,显式地写上 + gotmoney(X),你就能确保第二个规则总是能正确地工作,即使在第一条规则被恰巧移除或改变的情况下也是正确的。

Green cut的目的是让程序变的效率更高,而不会改变程序的输出。

如果一个cut操作不是green的,那么它就是red cut,例如:

 gamble(X) :- gotmoney(X), !. gamble(X) :- gotcredit(X).

那么程序的运行结果将依赖于cut操作符的位置和关联子句的顺序,这些将决定这个程序的含义。如果任何情况下地一个关联子句被移除了(例如,剪切粘贴的时候的错误),第二个子句将不会表达和上述green cut例子中一样的意思,因为该子句将不能保证 + gotmoney(X)。


相关

  • 亚甲基蓝亚甲蓝(Methylene blue),又称亚甲基蓝、次甲基蓝、次甲蓝、美蓝、品蓝、甲烯蓝、瑞士蓝(Swiss blue),国际非专利药品名称(INN)为methylthioninium chloride。是一种芳香杂环化合物。
  • 皮特·乌斯蒂诺夫皮特·亚历山大·乌斯蒂诺夫爵士,CBE(Sir Peter Alexander Ustinov,原名是Peter Alexander von Ustinow,1921年4月16日-2004年3月28日),英国电影演员,小说家。曾因出演《斯巴达克斯
  • 圆柱形数学上,圆柱(古称圆堡壔、圆囷,英语:cylinder)是一个二次曲面,也就是说,一个三维曲面,满足以下直角坐标系中的方程:这个方程是用于椭圆柱的,是对于普通圆柱(a=b)的一个推广。更一般的是
  • 1960年冬季世界大学生运动会第一届冬季世界大学生运动会于1960年2月28日至3月6日在法国霞慕尼举行。这是霞慕尼继1924年冬季奥林匹克运动会后,举办的又一项国际冬季综合体育赛事。 *  主办国家/地区(
  • 史克威尔电子游戏列表史克威尔是日本电子游戏开发与发行公司,由宫本雅史于1983年9月建立。公司最初为电友社——宫本其父的电气设备公司——的电脑游戏软件部门。史克威尔第一部游戏《死亡陷阱》
  • 土耳其排球联合会土耳其排球联合会(土耳其语:Türkiye Voleybol Federasyonu,TVF)是1958年成立的负责管理土耳其各种排球事务的组织机构,位于首府安卡拉。它是国际排球联合会(FIVB)和欧洲排球联合会
  • Civis romanus sum拉丁文短语civis romanus sum(,古典拉丁语:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Lucida Sans Unicode","Code2000",
  • 本因坊秀悦本因坊秀悅(1850年-1890年8月23日),日本围棋棋手,为本因坊秀和的长子,本名土屋秀悅。法名日妙。秀和的迹目、门下第一高徒秀策死后,与秀策并称龙虎双弟子的村赖秀甫(上手)被认为定是
  • 德米特里·斯捷潘诺维奇·丘瓦欣德米特里·斯捷潘诺维奇·丘瓦欣(俄语:Дмитрий Степанович Чувахин,1903年-1997年),是苏联外交官,曾担任驻以色列大使、驻阿尔巴尼亚大使、驻加拿大大使、
  • 乌尔勒路一位论派教堂乌尔勒路一位论派教堂(Ullet Road Unitarian Church)是一座一位论派教堂,位于英国利物浦塞夫顿公园乌尔勒路57号。1975年3月14日列为I级登录建筑。这是英国第一座为一对同性恋配偶举行民事结合宗教仪式的教堂。。该堂会起源于在17世纪后期英国内战之后的一批长老会教徒。他们在19世纪初成为一位论派,在1894年迁移到当时的郊区。建筑师托马斯·沃辛顿和Percy ·沃辛顿设计该堂和相关建筑物。教堂于1899年6月开幕。该堂用红砖和红色砂岩建造,内部使用砂岩。建筑风格是哥特复兴风格,带有