Cut_(邏輯編程)

Prolog編程中的cut操作 ， 用!表示 ， 該操作總能夠成功 ， 但是不能夠回溯位於該操作左邊的子句 。 Cut操作被廣泛的用於減掉不希望回溯的分支 ， 例如 ， 避免找到程序不需要的額外的答案和避免額外的計算 。 應當保守的應用cut操作 ， 當程序不正確會有一種誘惑來插入cut來檢驗cut能否讓程序正確 。 如果一個測試是不必須的因爲有cut來保證這是真的 ， 那麼最好在合適的地方加上註釋說明這一點 。 Cut被某些人認爲是有爭議的邏輯程序控制方式 ， 因爲該操作是因爲效率問題被加入的而且不是一個Horn clause.