Hello,
I'm trying to figure out how to increase the memory space used by the Ciao
system. I'm running some very large programs.
Mike
Michael M. Groat
Doctoral Student
Department of Computer Science
University of New Mexico
Cell: (510) 676-9235
==============================================================================
Message: Address: Action:
help majordomo(a)clip.dia.fi.upm.es Info. on useful commands
subscribe ciao-users-request(a)clip.dia.fi.upm.es Subscribe to this list
unsubscribe ciao-users-request(a)clip.dia.fi.upm.es Unsubscribe from this list
<whatever> ciao-users(a)clip.dia.fi.upm.es Send message to list
-----------------------------------------------------------------------------
Archived messages: http://www.clip.dia.fi.upm.es/Mail/ciao-users/
-----------------------------------------------------------------------------
Isn't this a homework that you are supposed to do by yourself ?
Else. There are ressources on the Internet/Web to help you along to solve this.
Cheers
René
-----Original Message-----
From: owner-ciao-users(a)clip.dia.fi.upm.es [mailto:owner-ciao-users(a)clip.dia.fi.upm.es] On Behalf Of Nickarim
Sent: Montag, 27. November 2006 13:19
To: ciao-users(a)clip.dia.fi.upm.es
Subject: BAYESIAN UPDATING & FUZZY LOGIC
Dear Colleagues;
Can anyone help me find solution for this program in Prolog:
The purpose of this is to design and build a small Expert System that uses both BAYESIAN UPDATING and FUZZY LOGIC as its inferencing strategy. The area of application is that of a simple automotive fault finder that is able to determine the cause of an engine not starting.
For this system, there are only two possible causes that would prevent an engine from starting :-
The ignition system OR The fuel system
For the ignition system there are 3 strands of evidence that are used to determine the strength of this hypothesis :-
The condition of the spark plugs with max LS = 8 & min LN = 0.1
The condition of the HT leads with max LS = 6 & min LN = 0.8
The condition of the ignition timing with max LS = 5 & min LN = 0.6
The prior ODDS for an ignition system fault is 0.6
For the fuel system there are 2 strands of evidence that are used to determine the strength of this hypothesis :-
The condition of the fuel pump with max LS = 9 & min LN = 0.7
The condition of the carburettor with max LS = 7 & min LN = 0.6
The prior ODDS for a fuel system fault is 0.5
The system should elicit, from the user, the certainty for each strand of evidence, both for fuel and ignition, on a scale of -10 to 10, with 0 as don't know.
An example might be:
. How sure are you that the fault may be the spark_plugs,
on a scale of -10 to 10 with 0 as don't know.
And the user should respond with a value from -10 to 10.
After all the strands of evidence are collected, the system should then report the result with its PROBABILITY. An example might be:
The suspected fault is fuel_system
with a probability of 0.72
Design Hints.
Having collected the 'certainty' for a strand of evidence you must then decide how that certainty effects the original LS or LN of that evidence. This can be determined from the following input function.
This function can be represented by 2 equations, one for LS and one for LN. The LN equation will be used for user values below 0 and the LS equation for
values above 0. The function for LS might be something like y = mx + c.
For a 0 user certainty (don't know) the value will always be 1.
Once the LS/LN values have been collected for each strand of evidence, for a particular hypothesis, they combine with the prior odds in order to give the overall odds for that hypothesis. You will need to find one value for ignition and one value for fuel. Each value must then be converted into a probability and an application of Fuzzy Logic will provide you with the fault.
--
View this message in context: http://www.nabble.com/BAYESIAN-UPDATING---FUZZY-LOGIC-tf2711222.html#a75584…
Sent from the Ciao Prolog - Users mailing list archive at Nabble.com.
==============================================================================
Message: Address: Action:
help majordomo(a)clip.dia.fi.upm.es Info. on useful commands
subscribe ciao-users-request(a)clip.dia.fi.upm.es Subscribe to this list
unsubscribe ciao-users-request(a)clip.dia.fi.upm.es Unsubscribe from this list
<whatever> ciao-users(a)clip.dia.fi.upm.es Send message to list
-----------------------------------------------------------------------------
Archived messages: http://www.clip.dia.fi.upm.es/Mail/ciao-users/
-----------------------------------------------------------------------------
==============================================================================
Message: Address: Action:
help majordomo(a)clip.dia.fi.upm.es Info. on useful commands
subscribe ciao-users-request(a)clip.dia.fi.upm.es Subscribe to this list
unsubscribe ciao-users-request(a)clip.dia.fi.upm.es Unsubscribe from this list
<whatever> ciao-users(a)clip.dia.fi.upm.es Send message to list
-----------------------------------------------------------------------------
Archived messages: http://www.clip.dia.fi.upm.es/Mail/ciao-users/
-----------------------------------------------------------------------------
Dear Colleagues;
Can anyone help me find solution for this program in Prolog:
The purpose of this is to design and build a small Expert System that uses
both BAYESIAN UPDATING and FUZZY LOGIC as its inferencing strategy. The area
of application is that of a simple automotive fault finder that is able to
determine the cause of an engine not starting.
For this system, there are only two possible causes that would prevent an
engine from starting :-
The ignition system OR The fuel system
For the ignition system there are 3 strands of evidence that are used to
determine the strength of this hypothesis :-
The condition of the spark plugs with max LS = 8 & min LN = 0.1
The condition of the HT leads with max LS = 6 & min LN = 0.8
The condition of the ignition timing with max LS = 5 & min LN = 0.6
The prior ODDS for an ignition system fault is 0.6
For the fuel system there are 2 strands of evidence that are used to
determine the strength of this hypothesis :-
The condition of the fuel pump with max LS = 9 & min LN = 0.7
The condition of the carburettor with max LS = 7 & min LN = 0.6
The prior ODDS for a fuel system fault is 0.5
The system should elicit, from the user, the certainty for each strand of
evidence, both for fuel and ignition, on a scale of -10 to 10, with 0 as
don't know.
An example might be:
. How sure are you that the fault may be the spark_plugs,
on a scale of -10 to 10 with 0 as don't know.
And the user should respond with a value from -10 to 10.
After all the strands of evidence are collected, the system should then
report the result with its PROBABILITY.
An example might be:
The suspected fault is fuel_system
with a probability of 0.72
Design Hints.
Having collected the 'certainty' for a strand of evidence you must then
decide how that certainty effects the original LS or LN of that evidence.
This can be determined from the following input function.
This function can be represented by 2 equations, one for LS and one for LN.
The LN equation will be used for user values below 0 and the LS equation for
values above 0. The function for LS might be something like y = mx + c.
For a 0 user certainty (don't know) the value will always be 1.
Once the LS/LN values have been collected for each strand of evidence, for a
particular hypothesis, they combine with the prior odds in order to give the
overall odds for that hypothesis. You will need to find one value for
ignition and one value for fuel.
Each value must then be converted into a probability and an application of
Fuzzy Logic will provide you with the fault.
--
View this message in context: http://www.nabble.com/BAYESIAN-UPDATING---FUZZY-LOGIC-tf2711222.html#a75584…
Sent from the Ciao Prolog - Users mailing list archive at Nabble.com.
==============================================================================
Message: Address: Action:
help majordomo(a)clip.dia.fi.upm.es Info. on useful commands
subscribe ciao-users-request(a)clip.dia.fi.upm.es Subscribe to this list
unsubscribe ciao-users-request(a)clip.dia.fi.upm.es Unsubscribe from this list
<whatever> ciao-users(a)clip.dia.fi.upm.es Send message to list
-----------------------------------------------------------------------------
Archived messages: http://www.clip.dia.fi.upm.es/Mail/ciao-users/
-----------------------------------------------------------------------------
[Apologies for multiple messages]
PADL'07: Preliminary Program
colocated with POPL'07 in NICE, France
January 14-15, 2007
http://www.informatik.uni-kiel.de/~mh/padl07/
Sunday, January 14, 2007
Opening: 8:45 - 9:00
Session 1: 9:00 - 10:00 (Invited Talk)
* John Hughes. (Chalmers Univ. of Tech.)
QuickCheck Testing for Fun and Profit
Coffee break
Session 2: 10:30 - 12:30
* Duncan Coutts, Don Stewart and Roman Leshchinskiy.
Rewriting Haskell Strings
* Takeshi Morimoto, Yasunao Takano and Hideya Iwasaki.
Instantly Turning a Naive Exhaustive Search into Three
Efficient Searches with Pruning
* Jens Fisseler, Gabriele Kern-Isberner, Christoph Beierle,
Andreas Koch and Christian M|ller.
Algebraic Knowledge Discovery using Haskell
* Per Gustafsson and Konstantinos Sagonas.
Applications, Implementation and Performance Evaluation of Bit
Stream Programming in Erlang
Lunch
Session 3: 14:00 - 15:30
* Michael Eichberg, Matthias Kahl, Diptikalyan Saha, Mira Mezini
and Klaus Ostermann.
Automatic Incrementalization of Prolog based Static Analyses
* Elvira Albert, Miguel Gsmez-Zamalloa, Laurent Hubert and German Puebla.
Verification of Java Bytecode using Analysis and
Transformation of Logic Programs
* Edison Mera, Pedro Lopez-Garcia, German Puebla, Manuel Carro and
Manuel Hermenegildo.
Combining Static Analysis and Profiling for Estimating Execution Times
Coffee break
Session 4: 16:00 - 17:30
* Ricardo Rocha.
On Improving the Efficiency and Robustness of Table Storage
Mechanisms for Tabled Evaluation
* Beata Sarna-Starosta and C.R. Ramakrishnan.
Compiling Constraint Handling Rules for Efficient Tabled Evaluation
* Vitor Santos Costa.
Prolog Performance on Larger Datasets
Evening: Informal PADL Dinner
Monday, January 15, 2007
Session 5: 9:00 - 10:00 (Invited Talk)
* Pedro Barahona. (Universidade Nova de Lisboa)
A Constraint Programming Approach to Bioinformatics Structural Problems
Coffee break
Session 6: 10:30 - 12:30
* Alan Bond.
BAD, a Declarative Language for Brain Modeling
* Reza Rafeh, Maria Garcia de la Banda, Kimbal Marriott and Mark Wallace.
From Zinc to Design Model
* Chongbinbg Liu and Enrico Pontelli.
Inductive Logic Programming by Instance Patterns
* Andreas Podelski and Andrey Rybalchenko.
ARMC: A Logical Choice for Software Model Checking with
Abstraction Refinement
Lunch
Session 7: 14:00 - 15:30
* Claudio Russo.
The Joins Concurrency Library
* Liwen Huang, Paul Hudak and John Peterson.
HPorter: Using Arrows to Compose Parallel Processes
* Pablo Berdaguer, Alcino Cunha, Hugo Pacheco and Joost Visser.
Coupled Schema Transformation and Data Conversion for XML and SQL
Coffee break
Session 8: 16:00 - 17:00
* Chuck Liang.
Aspect-Oriented Programming in Higher-Order and Linear Logic
* Karl Klose, Klaus Ostermann and Michael Leuschel.
Partial Evaluation of Pointcuts
==============================================================================
Message: Address: Action:
help majordomo(a)clip.dia.fi.upm.es Info. on useful commands
subscribe ciao-users-request(a)clip.dia.fi.upm.es Subscribe to this list
unsubscribe ciao-users-request(a)clip.dia.fi.upm.es Unsubscribe from this list
<whatever> ciao-users(a)clip.dia.fi.upm.es Send message to list
-----------------------------------------------------------------------------
Archived messages: http://www.clip.dia.fi.upm.es/Mail/ciao-users/
-----------------------------------------------------------------------------
Hi I'm pretty new to Prolog, and just wanted to give a shout out and see
who's on the mailing list.
ta'o(btw) genius idea to offer registering for mailing list just before
downloading
ta'onai(returning to main point)
I want to translate lOjban: an artificial human-to-human language; based on
predicate logic; which is syntactically and semantically unambiguous into
prolog. So it would be possible to create lOjban programs.
.a'o(hope) You feel as much .ai(intent) as I do, at being able to think in
the programming language you are using.
some preliminary translation I've started on:
http://lokiworld.org/repos/jbosam/krasi/syntax.html
I've decided to use Ciao because of it's extendable and modular nature.
example of lOjban string:
mifAnvazocoila.Anglic.la.lOjban.zoi.gy.Hello.gy.
which parses syntactically to become:
mi fAnva zo coi la .Anglic. la .lOjban. zoi .gy. Hello .gy.
which means:
I translate the lOjban word coi into English, from lOjban, as the english
string "Hello"
which can be translated into prolog as:
fAnva(mi,zo(coi),la(Anglic),la(LOjban),zoi(gy,'Hello').
I'd love some help, and if you have any questions feel free to ask and I
will answer as best I can.
--
ta'o(by the way) We With You Network at: http://lokiworld.org .i(and)
more on Lojban: http://lojban.org
mu'oimi'e.lOkadin (Over, my name is lOkadin)
Hello,
we have problem with java-prolog interface. If we use our very simple modul
"mymodul1.pl" than ciao fall down.
If we use a standard predicate (eg. is/2) without using modules than program
runs ok.
our preticate:
?- pred(X).
PLTerm t = new PLStructure("pred",new PLTerm[] {currentSolution});
-> ciaoengine.exe falls down
Console:
PLSocketReader: Socket broken
PLMultithreadSocketReader: Socket broken
?- is(X,2).
PLTerm t = new PLStructure("is",new PLTerm[] {currentSolution, new
PLInteger(2)});
-> ok.
Console:
Solution for: is(_0{2}, 2) is 2
There are no more solutions
We found also a problem in executing example "queens.java". If we don't
change dimension and click on "Next sol." button fourtimes then it appears
an error and program terminates.
Console:
PLMultithreadSocketReader: Socket broken
Thank You very much for your suggestion!
Ondrej Kohut, Marek Mensik
mymodul1.pl file:
--------------------------------------------------------------------------------
:- module(mymodul1, [pred/1]).
pred(1).
pred(5).
pred(7).
--------------------------------------------------------------------------------
MainPl.java file:
--------------------------------------------------------------------------------
import ciao.CiaoExecutor;
import CiaoJava.*;
public class MainPl {
private static PLConnection plServer = null;
public static void main(String[] args0) {
System.out.println("Start...");
try {
String argv []= {"i:\\prog\\ciao-
1.10p5Win32\\Win32\\bin\\ciaoengine.exe", "-C", "-b", "i:\\prog\\ciao-
1.10p5Win32\\library\\javall\\plserver.cpx"};
plServer = new PLConnection(argv);
} catch (Exception e) {
System.err.println("Problems starting java server: " +
e);
e.printStackTrace();
System.exit(1);
}
PLVariable currentSolution = new PLVariable();
PLTerm t = new PLStructure("pred",new PLTerm[]
{currentSolution});
//PLTerm t = new PLStructure("is",new PLTerm[]
{currentSolution, new PLInteger(2)});
PLGoal goal = new PLGoal(plServer,t);
try {
goal.useModule("mymodul1");
goal.query();
while (goal.nextSolution() != null)
System.out.println("Solution for: " + t + " is "+
currentSolution.getBinding());
System.out.println("There are no more solutions");
} catch (Exception e) {
System.err.println("Problems launching goal: " + e);
System.exit(1);
}
try {
plServer.stop();
System.exit(0);
} catch (Exception e) {
System.err.println("Problems stopping Prolog server: " +
e);
System.exit(1);
}
}
}
--------------------------------------------------------------------------------
--
Marek Mensik
~~~~~~~~~~~~~~~~~~~~~~~~
Student
Department of Computer Science
FEI, VSB - Technical University of Ostrava, CZ
email: mensikm(a)gmail.com
www: http://homel.vsb.cz/~men059/