|
Starting from the bottom:
Quote: the set of signals that you triggered during transitions are the output tape of a FST" - are you saying that I write out each transition? In some cases, yes. Here is a simple example: a FST that decodes a quadrature encoder[^]. The input alphabet consists of the states of the 2 inputs: 00, 01, 10, 11. The output alphabet is composed of the numbers 0 to 2N-1, where N is the number of bits in the counter. The states space is 0 to 2N-1 plus E, the error state. With the input 00 01 11, the final state is "2" and the output tape shows 0, 1, 2. From the same initial state, if input is 00 01 10, the output tape showa 0, 1 but the final state is E, the only non-accepting state so we scrap the output tape (or blow a whistle, call the fire brigade, etc.).
Quote: However, the output only gets emitted on Accept. This still qualifies as a FST. The transitions space of an FST is defined over (input alphabet and the empty string) X (output alphabet and the empty string) X (state space). In other words you are allowed to have transitions that don't produce any output and your model produces output only on the transition to an accepting state.
Quote: At that point I yield the input I've received so far, which is not exactly (forensically speaking) a map of my transitions, but rather what the transitions gathered from the input tape, so close, but not quite the same thing. (I could modify it to record state transitions easily but I don't understand why I'd do that.)
You are doing right. There is no need to output every transition. Your output represents a word in the output alphabet which doesn't need to be the same as the states set.
One of the references you provided in the first message, sent me to a pretty good description of FSTs: Index 1,600,000,000 Keys with Automata and Rust - Andrew Gallant's Blog[^] Take a look.
Mircea
|
|
|
|
|
Thanks so much! This is very helpful.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
One is glad to be of service
Mircea
|
|
|
|
|
It's interesting because you basically suggested to me (if I understand you), that a lexer/tokenizer is essentially an FST.
FA wspace = FA.Parse("[ \\t\\r\\n]+");
FA ident = FA.Parse("[A-Za-z_][A-Za-z0-9_]*");
FA num= FA.Parse(@"(0|-?([1-9][0-9]*))((\.[0-9]+[Ee]\-?[1-9][0-9]*)?|\.[0-9]+)");
FA lexer = FA.ToLexer(new FA[] { wspace, ident, num });
foreach(FAMatch match in lexer.Run("foo 100 bar baz )#($")) {
Console.Write("{0} ",match.SymbolId);
}
Ergo, that qualifies as an FST, no?
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Quote: It's interesting because you basically suggested to me (if I understand you), that a lexer/tokenizer is essentially an FST. It's not only my opinion. According to Finite-state transducer - Wikipedia[^]: Quote: FSTs are used in the lexical analysis phase of compilers to associate semantic value with the discovered tokens. As I was saying in a previous message, you were probably doing FSTs without knowing it . In the immortal words of Moliere:
Quote: My faith! For more than forty years I have been speaking prose while knowing nothing of it, and I am the most obliged person in the world to you for telling me so. (translation from Wikipedia)
Mircea
|
|
|
|
|
Ha that quote is perfect! Thanks again.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
I recently learned that you say something like "inf, innit?", but "fine, aight!"
These are almost the same words, but they contradict each other.
It's a pair, so to say.
Why are they pronounced so differently?
Another weird one like that, with very different meanings though, are tome and epitome.
Only learned that relatively recently too
English is weird.
|
|
|
|
|
Wordle 943 4/6*
β¬π©π©β¬π©
π©π©π©β¬π©
π©π©π©β¬π©
π©π©π©π©π©
|
|
|
|
|
Wordle 943 X/6
β¬β¬β¬π¨β¬
β¬π¨β¬π¨π¨
β¬β¬π©π¨π©
π¨β¬π©β¬π©
π©π©π©β¬π©
π©π©π©β¬π©
Lost today after a streak of 147. Now, back to zero.
|
|
|
|
|
Wordle 943 2/6
β¬β¬β¬β¬π©
π©π©π©π©π©
|
|
|
|
|
Wordle 943 4/6
β¬β¬β¬β¬π¨
β¬β¬π©π¨π©
π©π©π©β¬π©
π©π©π©π©π©
|
|
|
|
|
Wordle 943 3/6
π©π©β¬π©π©
π©π©β¬π©π©
π©π©π©π©π©
|
|
|
|
|
Wordle 943 3/6
β¬β¬β¬β¬π¨
π¨π©β¬π¨β¬
π©π©π©π©π©
βThat which can be asserted without evidence, can be dismissed without evidence.β
β Christopher Hitchens
|
|
|
|
|
Three for me - my luck couldn't last!
Wordle 943 3/6*
β¬β¬π©π¨π©
π©β¬π©β¬π©
π©π©π©π©π©
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Wordle 943 2/6*
π¨β¬β¬β¬π¨
π©π©π©π©π©
Lucky guess
Happiness will never come to those who fail to appreciate what they already have. -Anon
And those who were seen dancing were thought to be insane by those who could not hear the music. -Frederick Nietzsche
|
|
|
|
|
β¬β¬β¬β¬π©
β¬β¬π©β¬π¨
β¬β¬π©π¨π©
π©β¬π©β¬π©
π©π©π©π©π©
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
|
|
|
|
|
Wordle 943 6/6
β¬β¬β¬β¬π¨
β¬β¬π¨β¬π¨
β¬π¨π¨β¬π¨
π¨π¨π¨π¨β¬
π©β¬π¨π¨β¬
π©π©π©π©π©
Phew!
|
|
|
|
|
Wordle 943 3/6
β¬β¬🟩β¬🟩
🟩🟨🟩β¬🟩
🟩🟩🟩🟩🟩
Ok, I have had my coffee, so you can all come out now!
|
|
|
|
|
Wordle 943 5/6
β¬π¨β¬β¬π¨
π¨β¬π¨β¬β¬
π©π©π©β¬π©
π©π©π©β¬π©
π©π©π©π©π©
Jeremy Falcon
|
|
|
|
|
Through an unhappy accident of life, I've got in possession of 3 (three) LaCie 2big drives. They are about 10 years old but haven't been used for the past eight. Despite their age, they look absolutely gorgeous and are heavy like hell with their solid aluminum cases.
The question is obviously what to do with them? Should I try to use them, although I'm not starved for disk space, try to sell them or just dump them to the local e-recycle.
Edit: Specs - each unit has 2 7200rpm 1TB drives in RAID0, RAID1, or JBOD mode. USB3, Thunderbolt and eSata interface.
Mircea
|
|
|
|
|
Capacity, speed, interface?
|
|
|
|
|
You are right, I added those to the initial message.
Mircea
|
|
|
|
|
Find a local school or charity organisation.
CI/CD = Continuous Impediment/Continuous Despair
|
|
|
|
|
If the cases look awesome and you don't donate them (which is a good idea), another idea is gut them to keep the case and replace the drives with modern ones. Maybe like a homebrew project with a raspberry pi in it to work as the controller.
Jeremy Falcon
|
|
|
|
|
Jeremy Falcon wrote: homebrew project with a raspberry pi Beer and pies, yum!
|
|
|
|