WEBVTT 00:00:00.000 --> 00:00:04.000 As always, I find the easiest way to answer such a question 00:00:04.000 --> 00:00:06.000 is to draw the finite-state machine. 00:00:06.000 --> 00:00:09.000 We come in in state 1, and on a we go to state 2. 00:00:09.000 --> 00:00:12.000 And on b we go to state 3, 00:00:12.000 --> 00:00:15.000 and then from state 2 on c 00:00:15.000 --> 00:00:18.000 we go to 4, and state 3 on d we go to 5, 00:00:18.000 --> 00:00:22.000 and 5 on e goes back to 2, and 5 on f 00:00:22.000 --> 00:00:26.000 goes to state 6, and 5 on g 00:00:26.000 --> 00:00:30.000 goes all the way back here to 1, and our only accepting state is 6. 00:00:30.000 --> 00:00:32.000 Well, how can we get to state 6? 00:00:32.000 --> 00:00:35.000 If we go up here to the right, 00:00:35.000 --> 00:00:38.000 this is like the place of no return. 00:00:38.000 --> 00:00:41.000 We go here, and then there's no way to ever get back down or get to 6, 00:00:41.000 --> 00:00:43.000 so we don't want to go to 4. 00:00:43.000 --> 00:00:45.000 We don't want to get to 2. 00:00:45.000 --> 00:00:49.000 How about instead if we go 1, 3, 5, 6 or b, d, f? 00:00:49.000 --> 00:00:51.000 But now I need to give another string 00:00:51.000 --> 00:00:54.000 that's different but that's also accepted. 00:00:54.000 --> 00:00:56.000 One way to do that would be to take this 00:00:56.000 --> 00:01:01.000 go to start back loop here, pass go, start again. 00:01:01.000 --> 00:01:04.000 1, 3, 5, 1, 3, 5, 6. 00:01:04.000 --> 00:01:08.000 So b, d, g, b, d, f. 00:01:08.000 --> 00:01:11.000 Those are 2 strings that are both accepted but that are different. 00:01:11.000 --> 00:01:16.000 And if you are feeling exotic, you could actually have gone around these loops more times. 00:01:16.000 --> 00:01:20.000 You can add b, d, g, b, d, g, b, d, g at the beginning as often as you'd like 00:01:20.000 --> 99:59:59.999 and make longer and longer strings.