• Title/Summary/Keyword: divide and conquer

Search Result 88, Processing Time 0.019 seconds

An Efficient Falsification Algorithm for Logical Expressions in DNF (DNF 논리식에 대한 효율적인 반증 알고리즘)

  • Moon, Gyo-Sik
    • Journal of KIISE:Software and Applications
    • /
    • v.28 no.9
    • /
    • pp.662-668
    • /
    • 2001
  • Since the problem of disproving a tautology is as hard as the problem of proving it, no polynomial time algorithm for falsification(or testing invalidity) is feasible. Previous algorithms are mostly based on either divide-and-conquer or graph representation. Most of them demonstrated satisfactory results on a variety of input under certain constraints. However, they have experienced difficulties dealing with big input. We propose a new falsification algorithm using a Merge Rule to produce a counterexample by constructing a minterm which is not satisfied by an input expression in DNF(Disjunctive Normal Form). We also show that the algorithm is consistent and sound. The algorithm is based on a greedy method which would seek to maximize the number or terms falsified by the assignment made at each step of the falsification process. Empirical results show practical performance on big input to falsify randomized nontautological problem instances, consuming O(nm$^2$) time, where n is the number of variables and m is number of terms.

  • PDF

A Device of Parallelism Control in POSIX Based Parallelization of Recursive Algorithms (POSIX스레드에 의한 재귀적 알고리즘의 병렬화에서 병렬성 제어 방안)

  • Lee, Hyung-Bong;Baek, Chung-Ho
    • The KIPS Transactions:PartA
    • /
    • v.9A no.2
    • /
    • pp.249-258
    • /
    • 2002
  • One of the jai or purposes of multiprocessor system is to get a high efficiency in performance improvement. But in most cases, it is unavoidable to use some special programming languages or tools for full use of multiprocessor system. In general, loop and recursive call statements of algorithms are considered as typical parts for parallelization. Especially, recursive call statements are easy to parallelize conceptually without support of any special languages or tools. But it is difficult to control the degree of parallelism caused by high depth of recursive call leading to execution crash. This paper proposes a device to control Parallelism in the process of POSIX thread bated parallelization of recursive algorithms. For this, we define the concept of thread and process in UNIX system, and analyze the results of experimental application of the device to quick sorting algorithm.

Implementation and Analysis of Power Analysis Attack Using Multi-Layer Perceptron Method (Multi-Layer Perceptron 기법을 이용한 전력 분석 공격 구현 및 분석)

  • Kwon, Hongpil;Bae, DaeHyeon;Ha, Jaecheol
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.29 no.5
    • /
    • pp.997-1006
    • /
    • 2019
  • To overcome the difficulties and inefficiencies of the existing power analysis attack, we try to extract the secret key embedded in a cryptographic device using attack model based on MLP(Multi-Layer Perceptron) method. The target of our proposed power analysis attack is the AES-128 encryption module implemented on an 8-bit processor XMEGA128. We use the divide-and-conquer method in bytes to recover the whole 16 bytes secret key. As a result, the MLP-based power analysis attack can extract the secret key with the accuracy of 89.51%. Additionally, this MLP model has the 94.51% accuracy when the pre-processing method on power traces is applied. Compared to the machine leaning-based model SVM(Support Vector Machine), we show that the MLP can be a outstanding method in power analysis attacks due to excellent ability for feature extraction.

The Procedure for Improving Structural Methodology or Information engineering Methodology (구조적 또는 정보공학 소프트웨어 개발 방법론 개선 절차)

  • Jung, Byung-Kwon;Yoon, Seok-Min
    • The KIPS Transactions:PartD
    • /
    • v.9D no.6
    • /
    • pp.1083-1090
    • /
    • 2002
  • The software development methodology has not caught up with the rapid change of information technology. Most of the software development projects use structural methodology or information engineering methodology. If established software development methodologies don't reflect technologies applied to the project, the project may be performed ineffectively. This paper describes a model in which we can apply a new information technology to an already existed structural methodology or information engineering methodology. This model uses the technique of the divide and conquer that software development life cycle is divided into phases, each phase is divided into viewpoint- areas and the software development processes of a new information technology are applied to each small area. By using the design phase this paper shows application example, in which I applied web-based development processes to CS@RoadMap Methodology of KCC Information & Communication, a system provider in Korea. The CS@RoadMap Methodology reflecting the Web technology, Web@RoadMap Methodology, has been applied to the public-domain projects.

Time Slot Assignment Algorithm with Graph Coloring (그래프 채색에 의한 타임 슬롯 할당 알고리즘)

  • Kwon, Bo-Seob
    • The Journal of the Korea Contents Association
    • /
    • v.8 no.5
    • /
    • pp.52-60
    • /
    • 2008
  • A simple Time Division Multiplex(TDM) switching system which has been widely in satellite networks provides any size of bandwidth for a number of low bandwidth subscribers by allocating proper number of time slots in a frame. In this paper, we propose a new approach based on graph coloring model for efficient time slot assignment algorithm in contrast to network flow model in previous works. When the frame length of an initial matrix of time slot requests is 2's power, this matrix is divided into two matrices of time slot requests using binary divide and conquer method based on the graph coloring model. This process is continued until resulting matrices of time slot requests are of length one. While the most efficient algorithm proposed in the literature has time complexity of $O(N^{4.5})$, the time complexity of the proposed algorithm is $O(NLlog_2L)$, where N is the number of input/output links and L is the number of time slot alloted to each link in the frame.

Hardware-Software Cosynthesis of Multitask Multicore SoC with Real-Time Constraints (실시간 제약조건을 갖는 다중태스크 다중코어 SoC의 하드웨어-소프트웨어 통합합성)

  • Lee Choon-Seung;Ha Soon-Hoi
    • Journal of KIISE:Computer Systems and Theory
    • /
    • v.33 no.9
    • /
    • pp.592-607
    • /
    • 2006
  • This paper proposes a technique to select processors and hardware IPs and to map the tasks into the selected processing elements, aming to achieve high performance with minimal system cost when multitask applications with real-time constraints are run on a multicore SoC. Such technique is called to 'Hardware-Software Cosynthesis Technique'. A cosynthesis technique was already presented in our early work [1] where we divide the complex cosynthesis problem into three subproblems and conquer each subproblem separately: selection of appropriate processing components, mapping and scheduling of function blocks to the selected processing component, and schedulability analysis. Despite good features, our previous technique has a serious limitation that a task monopolizes the entire system resource to get the minimum schedule length. But in general we may obtain higher performance in multitask multicore system if independent multiple tasks are running concurrently on different processor cores. In this paper, we present two mapping techniques, task mapping avoidance technique(TMA) and task mapping pinning technique(TMP), which are applicable for general cases with diverse operating policies in a multicore environment. We could obtain significant performance improvement for a multimedia real-time application, multi-channel Digital Video Recorder system and for randomly generated multitask graphs obtained from the related works.

Quicksort Using Range Pivot (범위 피벗 퀵정렬)

  • Lee, Sang-Un
    • Journal of the Korea Society of Computer and Information
    • /
    • v.17 no.4
    • /
    • pp.139-145
    • /
    • 2012
  • Generally, Quicksort selects the pivot from leftmost, rightmost, middle, or random location in the array. This paper suggests Quicksort using middle range pivot $P_0$ and continually divides into 2. This method searches the minimum value $L$ and maximum value $H$ in the length n of list $A$. Then compute the initial pivot key $P_0=(H+L)/2$ and swaps $a[i]{\geq}P_0$,$a[j]<P_0$ until $i$=$j$ or $i$>$j$. After the swap, the length of list $A_0$ separates in two lists $a[1]{\leq}A_1{\leq}a[j]$ and $a[i]{\leq}A_2{\leq}a[n]$ and the pivot values are selected by $P_1=P_0/2$, $P_2=P_0+P_1$. This process repeated until the length of partial list is two. At the length of list is two and $a$[1]>$a$[2], swaps as $a[1]{\leftrightarrow}a[2]$. This method is simpler pivot key process than Quicksort and improved the worst-case computational complexity $O(n^2)$ to $O(n{\log}n)$.

An Exact Division Algorithm for Change-Making Problem (거스름돈 만들기 문제의 정확한 나눗셈 알고리즘)

  • Lee, Sang-Un
    • The Journal of the Institute of Internet, Broadcasting and Communication
    • /
    • v.22 no.3
    • /
    • pp.185-191
    • /
    • 2022
  • This paper proposed a division algorithm of performance complexity $O{\frac{n(n+1)}{2}}$ for a change-making problem(CMP) in which polynomial time algorithms are not known as NP-hard problem. CMP seeks to minimize the sum of the xj number of coins exchanged when a given amount of money C is exchanged for cj,j=1,2,⋯,n coins. Known polynomial algorithms for CMPs are greedy algorithms(GA), divide-and-conquer (DC), and dynamic programming(DP). The optimal solution can be obtained by DP of O(nC), and in general, when given C>2n, the performance complexity tends to increase exponentially, so it cannot be called a polynomial algorithm. This paper proposes a simple algorithm that calculates quotient by dividing upper triangular matrices and main diagonal for k×n matrices in which only j columns are placed in descending order of cj of n for cj ≤ C and i rows are placed k excluding all the dividers in cj. The application of the proposed algorithm to 39 benchmarking experimental data of various types showed that the optimal solution could be obtained quickly and accurately with only a calculator.