2009/8/18 Raphael Collet <[email protected]> > Dear Dmitry, > > On Tue, Aug 18, 2009 at 3:04 PM, Dmitry Negius <[email protected]>wrote: > >> No, I need non-linear constraints to solve also. GLPK seems target the >> linear programming as the name implies. My main idea is to solve >> constraints, wich are expressed not only by algebral operations on >> variables, but also by praedicates and logical connectiveness. >> You can see implication "=>" in the example, but I need and, or, xor, <=, >> <=>, compound data types of constraint variables such as lists, arrays, >> maps, dictionaries, and operations on that types in the constraints >> specification. Prolog is an attempt to solve such problems, >> but many tested by me implementations of Prolog (Chao, GNU, YAP, B) >> freezes on simple recursive queries or their stack overflows. In the complex >> program recursive definitions will occure and Prolog will fail. >> Consequantly, Prolog is inappropriate for my needs. This is the reason I >> downloaded Mozart-Oz to study and subscribed to the mozart-users list. In >> parallel I study Mercury interpreter comparing to Mozart-Oz. >> > > I am working with Mercury on everyday basis, so I can comment on it. This > is not a real logic programming language, but rather a functional language > with Prolog syntax. >
I suppose that there are no logical programming languages at current time at all. Prolog is just the parody to logic. Try to express in the Prolog: "If one has beard then he is adult xor he is old". Prolog is not expressive enough to be used as intellect module. Also Prolog inference algorithm is based on the it's non-expressive clause model, witch is called "rules" or "productions". They are only little subclass of possible clauses of natural languages! Praedicate model of clause is also wrong, which can be proven by next: Suppose "I am writting" is fact. then "Not me is writting" and "I am not writting" are false conclusions from that fact and negations of that conclusions are true. But in the praedicate clause model fact is written next way: writting(I_am). Negation is: not(writting(I_am)). In praedicate model other conclusion "not (not me) writing" is impossible to obtain. In Russian language not only praedicates but objects can be negated. So "Not me" is right clause. But me is not praedicate! It is the object! Relation theory is not adecvate model of clauses and is used in the Computer Science and Linguistic wich implies falsity of many computer languages and Spoken languages like Logban. For the AI project logic inference can be implemented using algorithmical operations and must not use embedded language inference engine, because most of all of them are false. > And there is few support for solving logic problems (much like a basic > Prolog). The developers tried to introduce solver libraries (like > constraint solvers), but they failed and gave up on that. > > Cheers, > Raphael > > > > > _________________________________________________________________________________ > mozart-users mailing list > [email protected] > http://www.mozart-oz.org/mailman/listinfo/mozart-users > -- Normal people grows o...@#
_________________________________________________________________________________ mozart-users mailing list [email protected] http://www.mozart-oz.org/mailman/listinfo/mozart-users
