passero
Legacy Member
Ik ben me wat aan het verdiepen in AI en begin bij het begin: search algoritmes.
Voor mijn algoritme te testen heb ik een applicatie die een 8 puzzle (3*3) oplost. Eerst worden er 100000 random stappen uitgevoerd en dan maak ik gebruik van mijn algoritmes.
Momenteel heb ik er 4:
breath first, depth first, limited depth first en iterative depth.
Ik voer hetzelfde algoritme uit op dezelfde puzzel om het verschil in performantie en geheugen te meten.
Nu, ik had verwacht dat een iterative depth search een oplossing zou geven op dezelfde diepte als breath first.
Bijvoorbeeld als mijn breath first een oplossing vind op diepte 23 en ik voer een limited depth uit met max diepte van 23 zou ik toch diezelfde oplossing moeten vinden?
Ik merk echter dat dit niet zo is. Als ik een iterative depth uitvoer dan vind hij niets op 23 maar duurt het soms tot 30 of meer eer die een oplossing vind.
Klopt dit of zou er iets mis zijn met mijn implementatie? Of is er iets mis met mijn redenering?
Voor mijn algoritme te testen heb ik een applicatie die een 8 puzzle (3*3) oplost. Eerst worden er 100000 random stappen uitgevoerd en dan maak ik gebruik van mijn algoritmes.
Momenteel heb ik er 4:
breath first, depth first, limited depth first en iterative depth.
Ik voer hetzelfde algoritme uit op dezelfde puzzel om het verschil in performantie en geheugen te meten.
Nu, ik had verwacht dat een iterative depth search een oplossing zou geven op dezelfde diepte als breath first.
Bijvoorbeeld als mijn breath first een oplossing vind op diepte 23 en ik voer een limited depth uit met max diepte van 23 zou ik toch diezelfde oplossing moeten vinden?
Ik merk echter dat dit niet zo is. Als ik een iterative depth uitvoer dan vind hij niets op 23 maar duurt het soms tot 30 of meer eer die een oplossing vind.
Klopt dit of zou er iets mis zijn met mijn implementatie? Of is er iets mis met mijn redenering?


