• 제목/요약/키워드: 동적프로그래밍

검색결과 248건 처리시간 0.034초

스몰베이직 언어의 동적 타이핑 구조 분석 및 표준 라이브러리 개발에 관한 연구 (A Study on Dynamic Typing and Development of Standard Library in Small Basic Programming Language)

  • 김가영;최광훈
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2017년도 춘계학술발표대회
    • /
    • pp.690-693
    • /
    • 2017
  • 본 연구는 다양한 운영체제와 플랫폼에서 스몰베이직 프로그래밍을 할 수 있는 환경을 제공하고, 라이브러리를 사용하고 확장하는 것을 목표로 진행 중인 연구 내용을 요약한다. 마이크로소프트 스몰베이직은 처음 컴퓨터 프로그래밍을 배우는 사람에게 쉽게 다가갈 수 있는 프로그래밍 언어이다. 단 14개의 키워드로 구성되어 있어 매우 간단하고 배우기 쉽다. 하지만 프로그래밍 환경을 윈도우즈 운영체제에서만 사용해야하는 단점이 있다. 소스 코드가 공개되어 있지 않아 새로운 요구사항을 맞추기도 어렵다. 이러한 문제점을 해결한 다양한 운영체제에서 사용이 가능하며 라이브러리 확장이 가능한 스몰베이직 환경을 설계하고 구현하고자 한다. 또한 마이크로소프트 스몰베이직의 동적 타이핑 구조에 대한 분석을 통해 명확한 규칙을 설명하고자 한다. 다양한 운영체제에서 스몰베이직 프로그램을 작성하고 PC 뿐만 아니라 안드로이드 기반 스마트폰에서 실행할 수 있다.

관점지향 프로그래밍 및 리플렉션 기반의 동적 웹 서비스 조합 및 실행 기법 (A Dynamic Web Service Orchestration and Invocation Scheme based on Aspect-Oriented Programming and Reflection)

  • 임은천;심춘보
    • 한국컴퓨터정보학회논문지
    • /
    • 제14권9호
    • /
    • pp.1-10
    • /
    • 2009
  • 웹 서비스 조합 분야는 단일 서비스를 재사용하여 가치 있는 서비스를 생성하기 위해 등장했으며, 최근에는 차세대 웹 서비스인 시멘틱 웹을 구현하기 위해 IOPE를 기반으로 단순 검색 및 조합 대신에 규칙이나 AI를 통한 검색 및 조합 방법이 제안되고 있다. 또한 보다 효율적인 모듈화를 위해 기존의 객체지향 프로그래밍 방식보다는 관점지향 프로그래밍 방식이 도입되고 있다. 본 논문에서는 시멘틱 웹을 위해 관점지향 프로그래밍(Aspect-Oriented Programming, AOP) 및 리플렉션(Reflection)을 적용한 동적 웹 서비스 조합 및 실행 기법을 설계한다. 제안하는 기법은 웹 서비스의 메타 데이터를 동적으로 획득하기 위해 리플렉션 기법을 사용하고 아울러 동적으로 웹 서비스를 조합하기 위해 AOP 기반 접근방식을 통해 바이트 코드를 생성한다. 또한 리플렉션을 이용한 동적 프록시 객체를 통해 조합된 웹 서비스를 실행하는 방식을 제안한다. 제안하는 기법의 성능 평가를 위해 비즈니스 로직 계층과 사용자 뷰 계층 측면에서 조합된 웹 서비스를 검색하는 것에 대한 실험을 수행한다.

동적 프로그래밍을 이용한 자율이동로봇의 최소시간 경로계획 (Near-Time-Optimal Path Planning of Mobile Robot Using Dynamic Programming)

  • 윤희상;박태형
    • 대한전기학회:학술대회논문집
    • /
    • 대한전기학회 2008년도 학술대회 논문집 정보 및 제어부문
    • /
    • pp.355-356
    • /
    • 2008
  • 자율이동로봇의 기구학 및 동력학 모델을 통해 로봇의 특성을 고려하여 목표점까지 이동시간이 최소화 되는 경로 생성 방법을 제안한다. 본 논문에서는 초기 전역 경로를 골격선 그래프와 딕스트라알고리즘으로 설정하고, 로봇 기구학 및 동력학 제악조건을 고려하여 동적 프로그래밍으로 경로를 개선한다. 개선된 경로는 자율이동로봇이 이동하는데 걸리는 시간을 단축한다. 마지막으로 시뮬레이션을 통해 제안하는 방법의 성능을 검증한다.

  • PDF

ActiveX 콘트롤패드를 이용한 웹페이지 설계와 구현 사례 (Case Study of Building Webpage Using ActiveX Control Pad)

  • 우원택
    • 한국정보시스템학회:학술대회논문집
    • /
    • 한국정보시스템학회 2003년도 춘계학술대회
    • /
    • pp.253-270
    • /
    • 2003
  • 본 연구는 마이크로소프트사가 개발한 ActiveX 콘트롤 기술을 이용하여 동적인 홈페이지를 제작하는 사례를 설계하고 구현 해 봄으로써 ActiveX 콘트롤의 사용가치와 이의 활용방안을 알아보고자 함에 있다. 이를 위해 첫째, 비주얼베이직과 자바를 이용한 웹프로그래밍 기술과 ActiveX 콤포넌트의 기능을 알아보고 둘째, 웹프로그래밍의 역사와 ActiveX프로그램과의 관련성과 현재 대두되고 있는 XML웹서비스기술과의 비교를 통하여 웹프로그래밍기술을 이해하고 셋째, ActiveX콘트롤 패드를 이용하여 실제로 동적홈페이지를 구성하는 사례를 설계하고 구현해 봄으로써 이의 활용가치를 알아보고자 하였다. 연구결과 자바 애플릿에 대응하는 기술로 마이크로소프트가 OLE기술을 확장하여 만든 ActiveX콘트롤은 프로그램의 재사용, 개발시간단축과 프로그램의 기능과 품질향상에 기여하여 인터넷 내지 인트라넷용 프로그램개발 등에 쉽게 이용될 수 있는 가능성을 보여 주었으나 플랫폼 독립적이지 못하고 윈도우에서만 사용 가능한 제한점을 보여주었다.

  • PDF

메타프로그래밍 제어를 통한 제약 중심의 코스 스케줄링에 관한 연구 (Constraint Directed Course Scheduling in Meta-Programming)

  • 정종진;조근식
    • 지능정보연구
    • /
    • 제1권1호
    • /
    • pp.111-122
    • /
    • 1995
  • 전통적으로 스케줄링 문제를 해결하기 위해 LP(Linear Programming) 기법이 주로 적용되어 왔으나, 스케줄링 문제의 많은 자원과 지식, 제약조건의 복잡한 상관 관계를 LPrl법으로 표현하고 처리하기가 쉽지 않다. 따라서 최근에는 AI 기법을 스케줄링 문제에 많이 적용하고 있고, AI 기법은 지식 표현 및 휴리스틱을 다루기에 효과적이므로 문제를 모델링하고 해결하는데 용이하다 할 수 있다. 본 논문에서는 AI 기법을 기반으로 하여 스케줄링에 적합한 휴리스틱 및, 탐색기법, 지식표현 방법등을 연구하고, 이를 바탕으로 코스 스케줄링 시스템을 구현하였다. 먼저 시스템은 전체적으로 메타프로그래밍을 통하여 초기 스케줄링(initial scheduling)과 동적스케줄링 (reactive scheduling)을 수행하도록 하였다. 메타프로그램이 초기 스케줄링을 수행할때에는 휴리스틱과 자체적인 도메인 여과기법을 적용하여 탐색 공간의 불일치 요소(inconsistency)를 제거시킴으로써 백트랙킹의 발생을 최소화시켰다. 또한 초기 스케줄링의 결과를 가지고 메타프로그래밍이 동적 재스케줄링을 수행할때에는 제약조건을 통한 휴리스틱을 이용하여 초기해에 대한 조정을 최소화할 수 있는 메카니즘을 제시하였다. 이에 대한 적용 결과는 실험을 통하여 기존의 논리 언어가 제공하는 탐색 알고리즘과 비교하고 분석하였다.

  • PDF

동적 프로그래밍 정합을 이용한 효율적인 필기 단어 인식 방법 (An Approach for Efficient Handwritten Word Recognition Using Dynamic Programming Matching)

  • 김경환
    • 전자공학회논문지C
    • /
    • 제36C권4호
    • /
    • pp.54-64
    • /
    • 1999
  • 본 논문에서는 실제 응용분야에서 사용될 수 있는 효율적인 필기 영어 단어 인식 방법을 제안한다. 필기 단어인식과 관련된 대부분의 응용분야에서 제공되는 사전의 활용을 극대화하기 위해 사전단어들을 인식의 초기 단계에서부터 사용한다. 초과 분할된 단어의 세크먼트들과 사전단어들 사이의 정합을 위해 동적 프로그래밍을 사용하며, 정합구간을 가변적으로 조정할 수 있도록 학습단계에서 추출한 문자 분할과 관련된 통계를 활용한다. 또한, 사전단어의 각 문자와 세그먼트들 사이의 정합 결과를 저장하여 반복되는 계산을 피한다. 제안하는 방법의 효용성을 입증하기 위해 다양한 서체를 갖는 실험용 필기 단어영상을 사용하여 실험을 수행한 결과, 사전에 기반한 단어 인식 과정을 최대로 활용하기 위한 가변정합구간 개념 및 문자단위 정합결과 저장 방법이 동적 프로그래밍과 함께 인식 속도 및 정확도 향상에 모두 크게 기여함을 확인하였다.

  • PDF

객체 지향 언어를 위한 의미 명세 (Specification of Semantics for Object Oriented Programming Language)

  • 한정란
    • 인터넷정보학회논문지
    • /
    • 제8권5호
    • /
    • pp.35-43
    • /
    • 2007
  • 의미 기반 표기법은 새로운 프로그래밍 언어를 명세하여 그 언어를 구현하기 위한 정적이고 동적인 의미를 명세하는데 필요한 것이다. 프로그래밍 언어에 대한 의미를 보다 실제적으로 정의하면 그 의미에 따라 언어를 구현함으로써 번역기를 쉽게 만들 수 있다. 본 논문에서는 번역기를 쉽게 만들 수 있는 정적이고 동적인 의미를 명세 하고자 한다. 객체 지향 언어를 위한 정적이고 동적인 의미를 적절하게 명세 할 수 있도록 속성 문법을 확장하고 변형하여 실제적인 의미 기반의 작용식을 제시하였고 기존의 연구 방법과 비교하여 제시된 작용식의 의미 명세가 우월함을 알 수 있었다.

  • PDF

클러스터링 기반 다중 서열 정렬 알고리즘 (Algorithm of Clustering-based Multiple Sequence Alignment)

  • 이병일;이종연;정순기
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2005년도 춘계학술발표대회
    • /
    • pp.27-30
    • /
    • 2005
  • 3개 이상의 DNA 혹은 단백질의 염기서열을 정렬하는 다중 서열 정렬(multiple sequence alignment, MSA)은 서열들 사이의 진화관계, 단백질의 구조와 기능에 관한 연구에 필수적인 도구이다. 최적화된 다중서열 정렬을 얻기 위해 사용되는 가장 유용한 방법은 동적 프로그래밍이다. 그러나 동적프로그래밍은 정렬하고자 하는 서열의 수가 증가함에 따라 시간도 지수함수($O(n^k)$)로 증가하기 때문에 다중 서열 정렬에는 효율적이지 못하다. 따라서, 본 논문에서는 최적의 MSA 문제를 해결하기 위해 클러스터링 기반의 새로운 다중 서열 정렬 (Clustering-based Multiple Sequence Alignment, CMSA) 알고리즘을 제안한다. 결과적으로 제안한 CMSA 알고리즘의 기여도는 다중 서열 정렬의 질적 향상과 처리 시간 단축($O(n^3L^2)$)이 기대된다.

  • PDF

구식 싱글턴 혼합기수 고속푸리에변환 코드에 대한 간단한 동적메모리 할당방법 프로그래밍 (A Simple Implementation of Dynamical Memory Allocation in Old-fashioned Singleton's Mixed-radix Fast Fourier Transformation Code)

  • 김인기
    • 한국자기학회지
    • /
    • 제22권2호
    • /
    • pp.33-36
    • /
    • 2012
  • 1968년에 발표된 구식 싱글턴 혼합기수 고속푸리에 변환 포트란 서브루틴에 존재하는 일반적인 $N$ 문제에 대한 간단한 처치법을 제안하였다. 주어진 문제에 대한 간략한 검토를 마친 후에, 새로운 처치법을 동적메모리 할당방법의 입장에서 최악상황분석법을 통해 논의하였다. 본 논의를 통해 여기서 제시된 프로그래밍 기법은 최소한 다차원 데이터 집합에 대해 지금까지 제시된 여타 처치법보다 우월함을 보였다.

훅과 Decorator 패턴을 이용한 Aspect 동적 위버 아키텍처 설계 (Aspect Dynamic Weaver Architecture Design using Hook and Decorator Pattern)

  • 김진향;송영재
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2005년도 한국컴퓨터종합학술대회 논문집 Vol.32 No.1 (B)
    • /
    • pp.400-402
    • /
    • 2005
  • 동적 Aspect 프로그래밍(Aspect-Oriented Programming : AOP)은 로깅과 같은 비 기능적인 부분을 모듈화할 수 있도록 해주는 새로운 프로그래밍 기법이다. AOP는 절러 클래스에 영향을 미치는 행위들을 재사용 가능하도록 Aspect로 캡슐화 시켜준다. 기존의 Aspect 위버(weaver)에서는 Aspect를 위빙 할 경우, 새로운 서비스나 메소드를 추가하고자 한다면 서브클래스를 별도로 상속을 해주어야하며, 이로 인해 코드의 라인수가 증가되며, 수행 시간도 느려지게 된다. 이러한 문제점을 해결하기 위하여 동적 Aspect 위버 상에 Decorator 패턴을 적용하여 별도의 서브클래스를 상속하지 않고, 필요한 메소드만을 추가하여 위빙시키고, Aspect의 join point에 훅(hook)을 첨가하여 불필요한 메소드의 실행을 제거해준다. 이로 인해 수행속도와 재사용성을 증가시킬 수 있게 된다.

  • PDF