Fermé

Python - Conversion of DFA to min DFA using subset construction

If we start with a DFA A for L? Applying subset construction to the

reversal of the DFA gives a DFA for L

R. Then applying again subset construction to

the reversal of the DFA for L

R gives a minimum DFA for L.

In this question, you are asked to come up with a functional program, or a design of

a functional program, that will implement all the relevant operations for computing

the minimum DFA.

If you cannot fully debug your functional program, that’s ok. You just have to explain

your design clearly, together with the submission of the codes (even though it may

still be buggy) that you have written.

Please use Haskell or Python for your functional language.

You should try to make use of the features in a functional language as much as

possible. In particular, you should use list comprehension. If you are not familiar

with list comprehension, you can google about it. Wikipedia and Python docs both

give good explanations of the concept.

Employing list comprehension is like writing program using the mathematics language.

For example, given a set of states P ⊆ Q and an input symbol a ∈ Σ, we define

δ(P, a) = {q | (p, a, q) ∈ δ, p ∈ P}. In fact, one can actually write the codes in the

exact same mathematical that we just give for defining δ(P, a).

You should aim for an ultra-clean program for computing subset construction, reversal

and minimum DFA of a finite automaton.

Note that you should try not to generate all possible subsets when computing the

subset constructions. That will be inefficient. For a 20-state NFA, there are 220 ≈ 106

subsets.

Compétences : Python

Voir plus : p.c.l. construction, finite it, concept design & construction, using file python, using mdm python, using javascript python pyramid, using html python, sms subscription service using twillos python module, othello code using min max, using ruby database conversion, python conversion, dial number using asterisk python, php python conversion

Concernant l'employeur :
( 9 commentaires ) Las Cruces, India

N° du projet : #8518943

3 freelance ont fait une offre moyenne de 60 $ pour ce travail

ithuang2014

제안이 아직 제공되지 않았습니다

126 $ USD en 3 jours
(6 Commentaires)
3.3
belive12358

Hi I am Dinh. I am senior in c and java. I can do it in 1 day. Hope to work with you >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

60 $ USD en 1 jour
(2 Commentaires)
3.0
kinimod

Hello, I'm computer science student from Charles University in Prague, Czech Republic. This year I passed a course of Automatons and Grammars, I got A grade :) I also passed a course of Nonprocedural Programming, we l Plus

60 $ USD en 5 jours
(0 Commentaires)
0.0
hindmostone

Hello! I had some time and already implemented reversal & subset operations on haskell.-------------

60 $ USD en 1 jour
(0 Commentaires)
1.2