Patanasakpinyo T.Sulaiman A.Mahidol University2023-05-232023-05-232023-01-01EPiC Series in Computing Vol.91 (2023) , 98-107https://repository.li.mahidol.ac.th/handle/123456789/82651Derangement is one well-known problem in the filed of probability theory. An instance of a derangement problem contains a finite collection C of n paired objects, C = {(x1, y1), …, (xn, yn)}. The derangement problem asks how many ways to generate a new collection C′ ≠ C such that for each (xi, yj ) ∈ C′, i ≠ j. We propose an efficient dynamic programming algorithm that divides an instance of the derangement problem into several subproblems. During a recursive process of unrolling a subproblem, there exists a repeated procedure that allows us to make a use of a subsolution that has already been computed. We present the methodology to formulate a concept of this subproblem as well as parts of designing and analyzing an efficiency of the proposed algorithm.Computer ScienceAlternative Approach to Achieve a Solution of Derangement Problems by Dynamic ProgrammingConference PaperSCOPUS10.29007/1j3g2-s2.0-8515262814823987340