Finite Automaton P34

node v10.24.1
version: 1.0.0
endpointsharetweet
// states, P34 const states = ['q1', 'q2', 'q3'] const startState = 'q1' const endState = 'q2' // rules const q1 = (input) => { switch (input) { case '0': return 'q1' case '1': return 'q2' } } const q2 = (input) => { switch (input) { case '0': return 'q3' case '1': return 'q2' } } const q3 = (input) => { switch (input) { case '0': case '1': return 'q2' } } // machine business const check = (string) => { let arr = string.split("") let currState = startState for (let i = 0; i < arr.length; i++ ) { currState = eval(currState)(arr[i]) } return currState == endState }
Test your strings
check('011')
check('0110')
check('01101')
check('01100')
Loading…

no comments

    sign in to comment