Newsgroups: comp.ai.nat-lang,comp.lang.prolog
Path: cantaloupe.srv.cs.cmu.edu!nntp.club.cc.cmu.edu!hudson.lm.com!news.pop.psu.edu!news.cac.psu.edu!howland.reston.ans.net!pipex!uknet!festival!edcogsci!usenet
From: et@cogsci.ed.ac.uk (Tomaz Erjavec)
Subject: Re: code for finite automata
In-Reply-To: pereira@radish.research.att.com's message of Sat, 11 Feb 1995 03:24:52 GMT
Message-ID: <ET.95Feb12104515@burns.cogsci.ed.ac.uk>
Sender: usenet@cogsci.ed.ac.uk (C News Software)
Nntp-Posting-Host: burns
Organization: Centre for Cognitive Science, University of Edinburgh
References: <3hfq8c$9cf@lyra.csx.cam.ac.uk> <PEREIRA.95Feb10222452@radish.research.att.com>
Date: Sun, 12 Feb 1995 10:45:15 GMT
Lines: 33
Xref: glinda.oz.cs.cmu.edu comp.ai.nat-lang:2878 comp.lang.prolog:12250

> In article <3hfq8c$9cf@lyra.csx.cam.ac.uk> etg10@cl.cam.ac.uk
> (Edmund Grimley-Evans) writes: Does anyone know of any public-domain
> code for manipulating finite automata, i.e. intersecting them,
> minimising them, doing unions, etc?  Prolog would be best.

In article <PEREIRA.95Feb10222452@radish.research.att.com> pereira@radish.research.att.com (Fernando Pereira) writes:

> I wouldn't hold my breath for really efficient FSA intersection,
> determinization or minimization in Prolog. All those algorithms
> depend on imperative algorithms to achieve decent
> performance. Imperative algorithms in Prolog require using assert
> etc, which have awful constant multipliers. Either Prolog extensions

Ages ago I wrote a Prolog library to do these operations on FSAs (as
part of a two-level compiler), and the performance was in fact
abysmal. So bad, in fact, that I kept hacking at the code to optimise
it and even I don't understand now what the data structures were and
how to make the whole thing work again.... So having a good library in
eg C and interfacing it to Prolog is probably the way to go.

Still, Pereira's answer does not answer the original query: is a FSA
library available? I find it really bizarre that such basic algorithms
of computer science that are taught to undergraduates are not
available in the public domain.
--
Tomaz Erjavec                          | Language & Speech Technologies Lab.
tel: (+386 61) 1259-199 ext. 768,693   | Jozef Stefan Institute
fax: (+386 61) 219-385                 | Jamova 39
%%EMail: tomaz.erjavec@ijs.si          | 61111 Ljubljana, Slovenia
For now please use: et@cogsci.ed.ac.uk



