XDLX: A Memory-Efficient Solution for Backtracking Applications in Big Data Environment using XOR-based Dancing Links

Main Article Content

Varalakshmi M
Peer Mohideen P U
Thilagavathi M
Daphne Lopez

Abstract

Interactive and Backtracking applications often require undoing certain recent operations and updates made to the underlying data structures. The concept of dancing links has made such reverting operations easier and efficient by repeatedly performing unlinking and re-linking of pointers in complex data structures involving circular multiply linked lists. This paper extends the idea of dancing links to XOR linked lists, the memory efficient counterpart of doubly linked lists to develop XDLX, a more space efficient algorithm than DLX to solve exact cover problems without compromising the timing efficiency. Owing to the NP-Complete nature of the exact cover problem, any NP-complete problem can be reduced to it and solved using the proposed memory-efficient dancing links based algorithm, XDLX. The algorithm can be effectively used to solve any backtracking application and will prove to be a significant contribution towards the programming of memory-constrained environments such as embedded systems.

Article Details

How to Cite
M, V. ., P U, P. M. ., M, T. ., & Lopez, D. . (2023). XDLX: A Memory-Efficient Solution for Backtracking Applications in Big Data Environment using XOR-based Dancing Links. International Journal on Recent and Innovation Trends in Computing and Communication, 11(1), 88–94. https://doi.org/10.17762/ijritcc.v11i1.6054
Section
Articles

References

Garey MR., Johnson DS. Computers and Intractability: A Guide to the Theory of NP-Completeness. W.H. Freeman. 1979; 187-285.

Karp RM. Reducibility among combinatorial problems. Complexity of Computer Computations, Springer US. 1972; 85–103.

Floyd RW. Nondeterministic algorithms. Journal of the ACM (JACM). 1967; 14(4):636–644, 1967

Knuth DE. Dancing Links. arXiv preprint cs/0011047. 2000.

Hitotumatu H, Noshita K. A technique for implementing backtrack algorithms and its application. Information Processing Letters. 1979; 8(4):174–175.

Dahl OJ, Dijkstra EW, Hoare CAR. Structured Programming. Academic Press Ltd.,. 1972.

Knuth DE. Estimating the efficiency of backtrack programs. Mathematics of Computation. 1975; 29(129):122–136.

Golomb SW, Baumart LD. Backtrack programming. Journal of the ACM. 1965; 12(4):516-524.

Harrysson M, Laestander H. Solving Sudoku efficiently with Dancing Links. Bachelor Degree Thesis, 2014.

Doyle M, Rawe B, Rogers A. JDLX: visualization of dancing links. Journal of Computing Sciences in Colleges. 2008; 24(1):9-15.

Barua A, Patra A and Sinha S. PMD—An Algorithm for Finding Determinant of a Polynomial Matrix with New Data Structure. IETE Journal of Research. 2015; 39(1):51-53.

Sinha P. A memory-efficient doubly linked list. Linux Journal. 2005; 2005(129);10.