Is it possible to convert LBA into DFA?












3












$begingroup$


Today I learned about an abstract class of machines called linear bounded automata.



It is intended to model real-world computers that have a limited amount of memory. I have always thought that real computers are DFAs due to the finite memory (but the DFA is a terribly poor abstraction).



Is it possible to convert LBA into an equivalent DFA by making every possible tape configuration into a state of the DFA?










share|cite|improve this question











$endgroup$

















    3












    $begingroup$


    Today I learned about an abstract class of machines called linear bounded automata.



    It is intended to model real-world computers that have a limited amount of memory. I have always thought that real computers are DFAs due to the finite memory (but the DFA is a terribly poor abstraction).



    Is it possible to convert LBA into an equivalent DFA by making every possible tape configuration into a state of the DFA?










    share|cite|improve this question











    $endgroup$















      3












      3








      3





      $begingroup$


      Today I learned about an abstract class of machines called linear bounded automata.



      It is intended to model real-world computers that have a limited amount of memory. I have always thought that real computers are DFAs due to the finite memory (but the DFA is a terribly poor abstraction).



      Is it possible to convert LBA into an equivalent DFA by making every possible tape configuration into a state of the DFA?










      share|cite|improve this question











      $endgroup$




      Today I learned about an abstract class of machines called linear bounded automata.



      It is intended to model real-world computers that have a limited amount of memory. I have always thought that real computers are DFAs due to the finite memory (but the DFA is a terribly poor abstraction).



      Is it possible to convert LBA into an equivalent DFA by making every possible tape configuration into a state of the DFA?







      finite-automata linear-bounded-automata






      share|cite|improve this question















      share|cite|improve this question













      share|cite|improve this question




      share|cite|improve this question








      edited 2 days ago









      David Richerby

      66.6k15102191




      66.6k15102191










      asked 2 days ago









      juhistjuhist

      1494




      1494






















          2 Answers
          2






          active

          oldest

          votes


















          4












          $begingroup$

          No, you can't do this. A single LBA can process inputs of any possible finite length. For any individual input, there are only finitely many possible tape configurations but, over all possible inputs or all possible lengths, there are there are infinitely many possible tape configurations. A finite automaton can't have one state for each of these configurations.



          In particular, LBAs can accept non-regular languages, such as ${a^nb^nmid ngeq 0}$ so there are LBAs that can't be converted to a single DFA.



          What you could do is produce an infinite family of DFAs, one for each possible input length. Each of these would have a finite number of states. However, such an infinite family could recognize any language – even undecidable ones! – because every language contains only finitely many strings of each length and every finite language is regular.






          share|cite|improve this answer









          $endgroup$





















            1












            $begingroup$

            Yes, you just modelled the LBA by a finite state device. You have to decide what are the actions of that model, probably the instructions of the LBA ("in state $q$ on reading $a$ on the tape do ...").



            But there is a catch. You have modelled the LBA together with its input. That means you will get a different finite state automaton for each input of the LBA. Which is drastically different from DFA: they can accept strings of arbitrary length.



            I will not start the discussion whether real computers are finite state automata. Oh boy. That question has been asked: "Are real computers finite state machines?" (and was closed as "unclear what you're asking"), and several times before: "Does our PC work as Turing Machine?". Check the responses there.






            share|cite|improve this answer









            $endgroup$













              Your Answer





              StackExchange.ifUsing("editor", function () {
              return StackExchange.using("mathjaxEditing", function () {
              StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
              StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
              });
              });
              }, "mathjax-editing");

              StackExchange.ready(function() {
              var channelOptions = {
              tags: "".split(" "),
              id: "419"
              };
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function() {
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled) {
              StackExchange.using("snippets", function() {
              createEditor();
              });
              }
              else {
              createEditor();
              }
              });

              function createEditor() {
              StackExchange.prepareEditor({
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: false,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: null,
              bindNavPrevention: true,
              postfix: "",
              imageUploader: {
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              },
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              });


              }
              });














              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcs.stackexchange.com%2fquestions%2f103132%2fis-it-possible-to-convert-lba-into-dfa%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              4












              $begingroup$

              No, you can't do this. A single LBA can process inputs of any possible finite length. For any individual input, there are only finitely many possible tape configurations but, over all possible inputs or all possible lengths, there are there are infinitely many possible tape configurations. A finite automaton can't have one state for each of these configurations.



              In particular, LBAs can accept non-regular languages, such as ${a^nb^nmid ngeq 0}$ so there are LBAs that can't be converted to a single DFA.



              What you could do is produce an infinite family of DFAs, one for each possible input length. Each of these would have a finite number of states. However, such an infinite family could recognize any language – even undecidable ones! – because every language contains only finitely many strings of each length and every finite language is regular.






              share|cite|improve this answer









              $endgroup$


















                4












                $begingroup$

                No, you can't do this. A single LBA can process inputs of any possible finite length. For any individual input, there are only finitely many possible tape configurations but, over all possible inputs or all possible lengths, there are there are infinitely many possible tape configurations. A finite automaton can't have one state for each of these configurations.



                In particular, LBAs can accept non-regular languages, such as ${a^nb^nmid ngeq 0}$ so there are LBAs that can't be converted to a single DFA.



                What you could do is produce an infinite family of DFAs, one for each possible input length. Each of these would have a finite number of states. However, such an infinite family could recognize any language – even undecidable ones! – because every language contains only finitely many strings of each length and every finite language is regular.






                share|cite|improve this answer









                $endgroup$
















                  4












                  4








                  4





                  $begingroup$

                  No, you can't do this. A single LBA can process inputs of any possible finite length. For any individual input, there are only finitely many possible tape configurations but, over all possible inputs or all possible lengths, there are there are infinitely many possible tape configurations. A finite automaton can't have one state for each of these configurations.



                  In particular, LBAs can accept non-regular languages, such as ${a^nb^nmid ngeq 0}$ so there are LBAs that can't be converted to a single DFA.



                  What you could do is produce an infinite family of DFAs, one for each possible input length. Each of these would have a finite number of states. However, such an infinite family could recognize any language – even undecidable ones! – because every language contains only finitely many strings of each length and every finite language is regular.






                  share|cite|improve this answer









                  $endgroup$



                  No, you can't do this. A single LBA can process inputs of any possible finite length. For any individual input, there are only finitely many possible tape configurations but, over all possible inputs or all possible lengths, there are there are infinitely many possible tape configurations. A finite automaton can't have one state for each of these configurations.



                  In particular, LBAs can accept non-regular languages, such as ${a^nb^nmid ngeq 0}$ so there are LBAs that can't be converted to a single DFA.



                  What you could do is produce an infinite family of DFAs, one for each possible input length. Each of these would have a finite number of states. However, such an infinite family could recognize any language – even undecidable ones! – because every language contains only finitely many strings of each length and every finite language is regular.







                  share|cite|improve this answer












                  share|cite|improve this answer



                  share|cite|improve this answer










                  answered 2 days ago









                  David RicherbyDavid Richerby

                  66.6k15102191




                  66.6k15102191























                      1












                      $begingroup$

                      Yes, you just modelled the LBA by a finite state device. You have to decide what are the actions of that model, probably the instructions of the LBA ("in state $q$ on reading $a$ on the tape do ...").



                      But there is a catch. You have modelled the LBA together with its input. That means you will get a different finite state automaton for each input of the LBA. Which is drastically different from DFA: they can accept strings of arbitrary length.



                      I will not start the discussion whether real computers are finite state automata. Oh boy. That question has been asked: "Are real computers finite state machines?" (and was closed as "unclear what you're asking"), and several times before: "Does our PC work as Turing Machine?". Check the responses there.






                      share|cite|improve this answer









                      $endgroup$


















                        1












                        $begingroup$

                        Yes, you just modelled the LBA by a finite state device. You have to decide what are the actions of that model, probably the instructions of the LBA ("in state $q$ on reading $a$ on the tape do ...").



                        But there is a catch. You have modelled the LBA together with its input. That means you will get a different finite state automaton for each input of the LBA. Which is drastically different from DFA: they can accept strings of arbitrary length.



                        I will not start the discussion whether real computers are finite state automata. Oh boy. That question has been asked: "Are real computers finite state machines?" (and was closed as "unclear what you're asking"), and several times before: "Does our PC work as Turing Machine?". Check the responses there.






                        share|cite|improve this answer









                        $endgroup$
















                          1












                          1








                          1





                          $begingroup$

                          Yes, you just modelled the LBA by a finite state device. You have to decide what are the actions of that model, probably the instructions of the LBA ("in state $q$ on reading $a$ on the tape do ...").



                          But there is a catch. You have modelled the LBA together with its input. That means you will get a different finite state automaton for each input of the LBA. Which is drastically different from DFA: they can accept strings of arbitrary length.



                          I will not start the discussion whether real computers are finite state automata. Oh boy. That question has been asked: "Are real computers finite state machines?" (and was closed as "unclear what you're asking"), and several times before: "Does our PC work as Turing Machine?". Check the responses there.






                          share|cite|improve this answer









                          $endgroup$



                          Yes, you just modelled the LBA by a finite state device. You have to decide what are the actions of that model, probably the instructions of the LBA ("in state $q$ on reading $a$ on the tape do ...").



                          But there is a catch. You have modelled the LBA together with its input. That means you will get a different finite state automaton for each input of the LBA. Which is drastically different from DFA: they can accept strings of arbitrary length.



                          I will not start the discussion whether real computers are finite state automata. Oh boy. That question has been asked: "Are real computers finite state machines?" (and was closed as "unclear what you're asking"), and several times before: "Does our PC work as Turing Machine?". Check the responses there.







                          share|cite|improve this answer












                          share|cite|improve this answer



                          share|cite|improve this answer










                          answered 2 days ago









                          Hendrik JanHendrik Jan

                          20.9k2565




                          20.9k2565






























                              draft saved

                              draft discarded




















































                              Thanks for contributing an answer to Computer Science Stack Exchange!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid



                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.


                              Use MathJax to format equations. MathJax reference.


                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcs.stackexchange.com%2fquestions%2f103132%2fis-it-possible-to-convert-lba-into-dfa%23new-answer', 'question_page');
                              }
                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              "Incorrect syntax near the keyword 'ON'. (on update cascade, on delete cascade,)

                              Alcedinidae

                              Origin of the phrase “under your belt”?