unification

    45熱度

    4回答

    我正在研究一個更高階的定理證明器,其中統一似乎是最困難的子問題。 如果Huet的算法仍然被認爲是最先進的,那麼是否有人有解釋它的任何鏈接,這些鏈接被程序員而不是數學家所理解? 甚至任何它在哪裏工作的例子和通常的一階算法都沒有?藝術—的

    3熱度

    4回答

    Unification的(實際)應用是什麼?它在現實世界中真正被使用的地方? 我無法理解它是什麼以及爲什麼它被認爲是人工智能的一部分的整個想法。例如,

    13熱度

    2回答

    統一算法看似不必要的情況下 我想了解SICP here 特別描述的,在程序的統一算法「延長-IF-可能」,有一個檢查(第1名標有星號「*」),其檢查,看看是否右手「表達」是已經被綁定到的東西在當前幀中一個變量: (define (extend-if-possible var val frame) (let ((binding (binding-in-frame var frame)))

    2熱度

    1回答

    有沒有人一個想法如何的類型推斷問題 E > hd (cons 1 nil) : α0 與定型環境 E={ hd : list(α1) → α1 , cons : α2 → list(α2) → list(α2), nil : list(α3), 1 : int } 可以在統一的問題被轉移? 任何幫

    4熱度

    2回答

    爲什麼這項工作: power(_,0,1) :- !. power(X,Y,Z) :- Y1 is Y - 1, power(X,Y1,Z1), Z is X * Z1. 這給出了一個堆棧溢出異常? power(_,0,1) :- !. power(X,Y,Z) :- power(X,Y - 1,Z1), Z is X * Z

    11熱度

    1回答

    爲什麼這會失敗L is [1,2,3,4],這工作:L = [1,2,3]? 但是L is 1和L = 1都工作相同。

    4熱度

    2回答

    爲什麼在C#中不允許這樣做? alt text http://img706.imageshack.us/img706/7360/restriction.png 其實我希望能寫 alias Y<A, B> : X<A, B>, X<B, A> 的統一實際上是期望在這裏;如果A = B,那麼應該定義一種方法。

    3熱度

    3回答

    我試圖讓我的腦袋知道如何實現類型推斷。 特別是,我不太清楚「統一」的重要起因在哪裏/爲什麼發揮作用。 我會在「僞C#」舉個例子,以幫助澄清: 用簡單的方式做這將是這樣的: 假設你用「解析」你的程序變成一個表達式樹使得它能夠與執行: class Multiply : IExpression { IExpression lhs; IExpression rhs; //

    16熱度

    4回答

    我正在通過我的AI教科書工作,並且我已經來到我的部分的最後作業問題: 「以您選擇的任何語言實現第69頁的統一算法。」 在第69頁,您已經爲統一的算法如下僞代碼: function unify(E1, E2); begin case both E1 and E2 are constants or the empty list: if E1 = E2