第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

最一般的高階約束,描述相對于關(guān)系有序的整數(shù)序列。

最一般的高階約束,描述相對于關(guān)系有序的整數(shù)序列。

最一般的高階約束,描述相對于關(guān)系有序的整數(shù)序列。在CLP(FD)中,我們經(jīng)常需要聲明:“這是整數(shù)和有限域變量的列表(有時:嚴格)上升/降序。“是否有任何CLP(FD)系統(tǒng)為此任務(wù)提供一個通用(可參數(shù)化)內(nèi)置約束?Swi-prolog提供了一個名為chain/2,這和我要找的東西很相似。但是,名稱過于具體,不能包含約束可以描述的所有關(guān)系(例如:#<不是偏序,但在chain/2,導(dǎo)致序列-作為一組整數(shù)-不再像數(shù)學(xué)秩序理論中定義的鏈那樣計算)。因此,名稱并不完全描述約束實際實現(xiàn)的內(nèi)容。請給最一般定義通常的二進制CLP(FD)約束-或至少包含以下內(nèi)容的適當子集#<, #>, #=<和#>= — 包括根據(jù)約束定義的代數(shù)結(jié)構(gòu)指定的專有名稱。施加的條件是,約束描述實際數(shù)學(xué)結(jié)構(gòu),在文獻中有正確名稱的數(shù)學(xué)結(jié)構(gòu)。首先,考慮使用SICStus Prolog或SWI::- use_module(library(clpfd)). connex(Relation_2, List) :-     connex_relation(Relation_2),     connex_(List, Relation_2). connex_relation(#=). connex_relation(#<). connex_relation(#=<). connex_relation(#>). connex_relation(#>=). connex_([], _). connex_([L|Ls], Relation_2) :-     foldl(adjacent(Relation_2), Ls, L, _). adjacent(Relation_2, X, Prev, X) :- call(Relation_2, Prev, X).抽樣案例:?- connex(#<, [A,B,C]). A#=<B+-1, B#=<C+-1. ?- connex(#=, [A,B,C]). A = B, B = C, C in inf..sup. ?- maplist(connex(#<), [[A,B],[C,D]]). A#=<B+-1, C#=<D+-1.請注意,允許#\=,因為這種關(guān)系仍然描述在數(shù)學(xué)秩序理論中所知的康奈。因此,對于通常的二進制CLP(FD)約束,上面的代碼并不是最通用的。
查看完整描述

3 回答

?
慕工程0101907

TA貢獻1887條經(jīng)驗 獲得超5個贊

胡格爾不是很有用,但是是的!

foldcmpl

這是一種特殊的折疊形式,但不適用。length list一次少一次。

isSortedBy

它的名字并不是完全通用的,而是在它的簽名上。也許堅持使用最普通的名字也沒什么用。否則我們就到處都是實體?

定義如下:

isSortedBy函數(shù)返回True當且僅當謂詞返回列表中所有相鄰元素對的true。

也許:all_adjacent_pairs(R_2, Xs)..,這聽起來有點像循環(huán)構(gòu)造adjacent_pair作為某種改性劑。


查看完整回答
反對 回復(fù) 2019-06-21
?
翻翻過去那場雪

TA貢獻2065條經(jīng)驗 獲得超14個贊

mapadj/4在先前的回答中.。也許這個名字更好。

forallAdj(P_2,Xs) :-
   list_forallAdj(Xs,P_2).

list_forallAdj([],_).
list_forallAdj([X|Xs],P_2) :-
   list_forallAdj_prev(Xs,P_2,X).

list_forallAdj_prev([],_,_).
list_forallAdj_prev([X1|Xs],P_2,X0) :-
   call(P_2,X0,X1),
   list_forallAdj_prev(Xs,P_2,X1).

樣本使用:

:- use_module(library(clpfd)).
:- use_module(library(lambda)).

?- Ls = [0,_,_,_,_,_], forallAdj(\X0^X1^(X0 + 1 #= X1), Ls).
Ls = [0, 1, 2, 3, 4, 5].

那能帶我們?nèi)ツ模?/trans>

  • forallAdj => existAdj

  • 可能有索引的變體(

    forallAdjIexistAdjI

    )像.

    List模塊(F#)

  • findfirstAdj/pickfirstAdj

    也像F#

    find/pick


查看完整回答
反對 回復(fù) 2019-06-21
  • 3 回答
  • 0 關(guān)注
  • 749 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號