{"title":"Alternative Approach to Achieve a Solution of Derangement Problems by Dynamic Programming","authors":"Thitivatr Patanasakpinyo, Adel Sulaiman","doi":"10.29007/1j3g","DOIUrl":null,"url":null,"abstract":"Derangement is one well-known problem in the filed of probability theory. An in- stance 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 gener- ate 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.","PeriodicalId":93549,"journal":{"name":"EPiC series in computing","volume":"1 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2023-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"EPiC series in computing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.29007/1j3g","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Derangement is one well-known problem in the filed of probability theory. An in- stance 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 gener- ate 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.