Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. Artificial Intelligence
  3. A* vs Dijkstra

A* vs Dijkstra

Scheduled Pinned Locked Moved Artificial Intelligence
visual-studioalgorithmsquestion
7 Posts 4 Posters 18 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Offline
    C Offline
    Calin Negru
    wrote on last edited by
    #1

    Could A* be regarded as a Dijkstra algorithm that has the visited node chain spreading in all directions from the start point?

    Richard Andrew x64R L K 3 Replies Last reply
    0
    • C Calin Negru

      Could A* be regarded as a Dijkstra algorithm that has the visited node chain spreading in all directions from the start point?

      Richard Andrew x64R Offline
      Richard Andrew x64R Offline
      Richard Andrew x64
      wrote on last edited by
      #2

      Of course, what's wrong with you?

      The difficult we do right away... ...the impossible takes slightly longer.

      C 1 Reply Last reply
      0
      • C Calin Negru

        Could A* be regarded as a Dijkstra algorithm that has the visited node chain spreading in all directions from the start point?

        L Offline
        L Offline
        Lost User
        wrote on last edited by
        #3

        No, it's the other way around. Dijkstra could be regarded as a special case of A*, with a heuristic of zero, resulting in a "circular" node visiting pattern (when possible), thanks to the heuristic of zero not "preferring" any particular direction. Some pedants may say "it's actually UCS that is a special case of A*, not Dijkstra", but UCS is a fancy name for how Dijkstra is normally implemented in practice. The original version of the algorithm that Edsger W. Dijkstra wrote down is rarely, if ever, used in practice, because it always touches *all* nodes, not just nodes that are dynamically encountered during the search.

        C 2 Replies Last reply
        0
        • Richard Andrew x64R Richard Andrew x64

          Of course, what's wrong with you?

          The difficult we do right away... ...the impossible takes slightly longer.

          C Offline
          C Offline
          Calin Negru
          wrote on last edited by
          #4

          alright [confidence++]

          1 Reply Last reply
          0
          • L Lost User

            No, it's the other way around. Dijkstra could be regarded as a special case of A*, with a heuristic of zero, resulting in a "circular" node visiting pattern (when possible), thanks to the heuristic of zero not "preferring" any particular direction. Some pedants may say "it's actually UCS that is a special case of A*, not Dijkstra", but UCS is a fancy name for how Dijkstra is normally implemented in practice. The original version of the algorithm that Edsger W. Dijkstra wrote down is rarely, if ever, used in practice, because it always touches *all* nodes, not just nodes that are dynamically encountered during the search.

            C Offline
            C Offline
            Calin Negru
            wrote on last edited by
            #5

            Thanks for setting me on the track.

            1 Reply Last reply
            0
            • L Lost User

              No, it's the other way around. Dijkstra could be regarded as a special case of A*, with a heuristic of zero, resulting in a "circular" node visiting pattern (when possible), thanks to the heuristic of zero not "preferring" any particular direction. Some pedants may say "it's actually UCS that is a special case of A*, not Dijkstra", but UCS is a fancy name for how Dijkstra is normally implemented in practice. The original version of the algorithm that Edsger W. Dijkstra wrote down is rarely, if ever, used in practice, because it always touches *all* nodes, not just nodes that are dynamically encountered during the search.

              C Offline
              C Offline
              Calin Negru
              wrote on last edited by
              #6

              >>The original version of the algorithm that Edsger W. Dijkstra wrote down is rarely, if ever, used in practice, because it always touches all nodes Is processing all nodes making the algorithm slow when you deal with large maps?

              1 Reply Last reply
              0
              • C Calin Negru

                Could A* be regarded as a Dijkstra algorithm that has the visited node chain spreading in all directions from the start point?

                K Offline
                K Offline
                Kate X257
                wrote on last edited by
                #7

                I like A*. I've build pathfinding with it for an AR HoloLens application. Easy to build, easy to scale, easy to tweak. It's also kinda crappy. Just look at the AI in Red Alert 2: it's serviceable but never amazing.

                1 Reply Last reply
                0
                Reply
                • Reply as topic
                Log in to reply
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes


                • Login

                • Don't have an account? Register

                • Login or register to search.
                • First post
                  Last post
                0
                • Categories
                • Recent
                • Tags
                • Popular
                • World
                • Users
                • Groups