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

en 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

2 freelance font une offre moyenne de $60 pour ce travail

hindmostone

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

%bids___i_sum_sub_32% %project_currencyDetails_sign_sub_33% USD en 1 jour
(1 Évaluation)
2.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

%bids___i_sum_sub_35% %project_currencyDetails_sign_sub_36% USD en 5 jours
(0 Commentaires)
0.0