The kind of confusing part is that I am not actually using the Transducer object defined, but instead loading the TransExe version from a file stream, and afterwards iterate through the states with the step method of the State class (that's from the Wiki How-to).
The step method does call epsilonClosure(), but I didn't dive yet into the code to see what it does, since it worked properly until now. On Tue, Jun 19, 2012 at 4:24 PM, Francis Tyers <[email protected]> wrote: > El dt 19 de 06 de 2012 a les 16:19 +0200, en/na Hrvoje Peradin va > escriure: >> Hello to all, >> >> I am currently working on the rule-based finite state disambiguation >> task for GSoC, and I'm making some additions to lttoolbox for >> constructing FST's from regexes. >> >> Right now I'm trying to implement the complement, however I've ran >> into a strange problem. The algorithm is determinize + complete + >> invert_final/nonfinal, and the implementation should be fine. >> >> e.g. for the foma regex ~[{ab}] the transducer that gets built is (the >> .png of the graph in the attachment): >> 0 4 ε ε >> 0 1 a a >> 0 2 b b >> 1 4 ε ε >> 1 3 b b >> 1 2 a a >> 2 4 ε ε >> 2 2 a a >> 2 2 b b >> 3 2 a a >> 3 2 b b >> 4 >> >> I'm executing the transducer with the recipe described on the wiki [ >> http://wiki.apertium.org/wiki/Lttoolbox_API_examples ], this is my >> code [ http://pastebin.com/tkehc0VV ]. >> >> On the alphabet {a, b} this transducer should recognise anything >> except "ab", however, with the code I am using to execute it it >> recognises only Ø and "a" (?). It seems that the execution algorithm >> does not take into account the ε-transition 2->4. Does anybody have an >> idea what could be going wrong here? > > I think you explicitly have to do the epsilon closure. Here is some code > from the 'recognise()' method in the Transducer class: > > if(l.find(*it) != wstring::npos || l == L"") > { > set<int> myclosure = closure(it3->second, 0); > new_state.insert(myclosure.begin(), myclosure.end()); > //wcerr << L"Size alives: " <<new_state.size() << endl; > } > > If something like this doesn't work, email the list again :) > > F. > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Apertium-stuff mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/apertium-stuff ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Apertium-stuff mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/apertium-stuff
