Path: utzoo!mnetor!uunet!husc6!mit-eddie!ll-xn!ames!amdahl!nsc!taux01!shahaf From: shahaf@taux01.UUCP (Shahaf Moshe) Newsgroups: comp.lang.prolog Subject: Re: mine embarrassingly simple problem Message-ID: <512@taux01.UUCP> Date: 21 Mar 88 09:26:04 GMT References: <500@taux01.UUCP> <764@cresswell.quintus.UUCP> <503@taux01.UUCP> <13364@comp.vuw.ac.nz> Reply-To: shahaf%taux01@nsc.COM Organization: National Semiconductor (Israel) Ltd. Home of the 32532 Lines: 36 Summary: Followup-To: Hdate: 3 Nisan 5748 In article <13364@comp.vuw.ac.nz> lindsay@comp.vuw.ac.nz (Lindsay Groves) writes: >I'll save Richard saying it -- this doesn't say much about the program, and >certainly doesn't explain why ancestral cuts are supposed to be necessary. >Could you describe the problem in a bit more detail and illustrate just >how the need for ansectral cuts arises? Perhaps a simplified version of the >problem could be used to illustrate the point. An example would certainly >help. First I would like to make two comments: * I am a NOVICE (in Prolog). * I do not claim that in my application Ansectral Cut are a MUST. I wrote it on a system were it was a feature and I used it. Since its not available in Quintus Prolog, I asked for help. About the application, The program looks for best mapping of a Boolean function onto a set of logic primitives such as X * Y * Z maps to: 2inputAnd( 2inputAnd( X, Y) , Z) or: 3inputAnd( X, Y, Z) Since the search space is huge I used Ansectral Cut to abort mapping once I get some "STOP CONDITIONS". The program looks like: map(Function,Network) :- generate(Function,Network), test(Network). test(Network) :- lemma(Network,StopCondition), !(map). %this cut aborts the process. I hesitate to post longer description on the net. If anyone would like to get more elaborated data I will mail upon request. shahaf%taux01@nsc.com