• Title/Summary/Keyword: 함수형 언어

Search Result 88, Processing Time 0.027 seconds

Reusing AP Node in G-machine (G-machine 에서의 AP 노드 재사용)

  • Joo, Sung-Yong;Woo, Gyun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2002.11c
    • /
    • pp.2329-2332
    • /
    • 2002
  • G-machine은 지연 함수형 언어를 효율적으로 구현하기 위한 추상기계이다. G-machine은 축약 과정에서 생성되는 그래프를 저장하기 위해서 많은 기억장소를 필요로 한다. 본 논문은 힙에 할당되는 그래프 노드 중 AP 노드를 재사용하는 방법을 제시한다. 일반적으로 AP 노드를 루트로 하는 그래프가 한 단계 축약된 후 다시 AP 노드를 루트로 하는 그래프로 구성되어지는 경우 루트 노드를 재사용할 수 있다. 이를 위해서는 기존 G-machine을 약간 확장 시켜야 하는데, 본 논문에서는 AP 노드의 일부를 변경하기 위한 명령어 UPDL과 UPDR을 제시하고, 이들 명령어의 상태변환 규칙과 이들 명령어 생성을 위해 수정된 R-변환 규칙을 제시한다. 본 논문에서 제시하는 방식으로 기 생성된 AP 노드를 재사용함으로써 힙 기억공간의 사용량을 줄일 수 있고, 이 과정에서 힙 기억장소 할당과 쓰기 연산의 수를 줄일 수 있다.

  • PDF

The Design and Implementation of C++ Classes Wrapping ODBC API (ODBC API의 C++ 클래스 설계 및 구현)

  • 김승민;홍은지;이재호;박현주;김선호;전준범;정소영;유석인
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 1998.10b
    • /
    • pp.306-308
    • /
    • 1998
  • PC를 클라이언트로, UNIX등의 운영체제를 탑재한 워크스테이션을 서버 플랫폼으로 구축되는 데이터베이스 응용 프로그램들은 데이터베이스 접근 API로 대부분 ODBC를 사용한다. 그런데, ODBC API에서 제공하는 자료형과 관련 함수들이 아주 복잡해서 이해와 사용이 어렵고, C 함수 형태의 API를 제공하기 때문에 C++나 자바와 같은 객체 지향 언어로 ODBC를 이용하여 클라이언트 시스템을 구현할 때는 OLE DB나 JDBC등의 클래스 라이브러리 API를 사용하는 것에 비해 이해하기 쉬운 프로그램 원시코드 생성이 어렵다. 본 연구에서는 데이터베이스 응용 프로그래머의 요구사항을 효과적으로 반영하여 ODBC API들을 C++클래스 형태로 설계 및 구현하였다. 구현된 C++ 클래스 형태의 데이터베이스 인터페이스를 사용하면, 보다 더 간결한 프로그램 원시 코드로 데이터베이스 응용 프로그램을 작성할 수 있다.

Semi-supervised GPT2 for News Article Recommendation with Curriculum Learning (준 지도 학습과 커리큘럼 학습을 이용한 유사 기사 추천 모델)

  • Seo, Jaehyung;Oh, Dongsuk;Eo, Sugyeong;Park, Sungjin;Lim, Heuiseok
    • Annual Conference on Human and Language Technology
    • /
    • 2020.10a
    • /
    • pp.495-500
    • /
    • 2020
  • 뉴스 기사는 반드시 객관적이고 넓은 시각으로 정보를 전달하지 않는다. 따라서 뉴스 기사를 기존의 추천 시스템과 같이 개인의 관심사나 사적 정보를 바탕으로 선별적으로 추천하는 것은 바람직하지 않다. 본 논문에서는 최대한 객관적으로 다양한 시각에서 비슷한 사건과 인물에 대해서 판단할 수 있도록 유사도 기반의 기사 추천 모델을 제시한다. 길이가 긴 문서 사이의 유사도를 측정하기 위해 GPT2 [1]언어 모델을 활용했다. 이 과정에서 단방향 디코더 모델인 GPT2 [1]의 단점을 추가 학습으로 개선했으며, 저장 공간의 효율과 핵심 문단 추출을 위해 BM25 [2]함수를 사용했다. 그리고 준 지도 학습 [3]을 통해 유사도 레이블링이 되어있지 않은 최신 뉴스 기사에 대해서도 자가 학습을 진행했으며, 이와 함께 길이가 긴 문단에 대해서도 효과적으로 학습할 수 있도록 문장 길이를 기준으로 3개의 단계로 나누어진 커리큘럼 학습 [4]방식을 적용했다.

  • PDF

Deterministic Parallelism for Symbolic Execution Programs based on a Name-Freshness Monad Library

  • Ahn, Ki Yung
    • Journal of the Korea Society of Computer and Information
    • /
    • v.26 no.2
    • /
    • pp.1-9
    • /
    • 2021
  • In this paper, we extend a generic library framework based on the state monad to exploit deterministic parallelism in a purely functional language Haskell and provide benchmarks for the extended features on a multicore machine. Although purely functional programs are known to be well-suited to exploit parallelism, unintended squential data dependencies could prohibit effective parallelism. Symbolic execution programs usually implement fresh name generation in order to prevent confusion between variables in different scope with the same name. Such implementations are often based on squential state management, working against parallelism. We provide reusable primitives to help developing parallel symbolic execution programs with unbound-genercis, a generic name-binding library for Haskell, avoiding sequential dependencies in fresh name generation. Our parallel extension does not modify the internal implementation of the unbound-generics library, having zero possibility of degrading existing serial implementations of symbolic execution based on unbound-genecrics. Therefore, our extension can be applied only to the parts of source code that need parallel speedup.

Design and Implementation of a Translator for Translating Java Bytecode into MSIL (자바 Bytecode 에서 MSIL 로의 변환을 위한 번역기의 설계 및 구현)

  • Min, Jung-Hyun;Oh, Se-Man
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2001.04b
    • /
    • pp.743-746
    • /
    • 2001
  • 자바는 객체지향 언어이고, 한번 작성된 프로그램은 자바 가상 기계가 있는 모든 곳에서 수정없이 실행될 수 있기 때문에 소프트웨어의 개발과 유지 보수에 많은 장점을 가진 언어이다. 이러한 특징으로 인하여 개발되는 제품들이 자바로 구현되는 경우가 많다. 그러나 아직 대다수 소프트웨어 개발자들은 주로 C 언어나 C++ 언어를 사용하고 있으며, 최근에는 C#이라는 언어를 사용하고 있다. 자바가 플랫폼에 독립적인 장점은 가지고 있지만, 다수의 개발자 및 사용자가 마이크로소프트 윈도우 운영체제를 사용하고 있다는 것을 감안한다면 그리 탁월한 장점만은 될 수 없다. 또한, 최근의 개발동향이 COM(Component Object Model)을 지향하고 있고, 이는 더 이상 개발자들에게 프로그래밍 언어에 구애를 받지 않고 오직 개발 제품에 대한 집중력을 가질 수 있는 환경을 제공할 수 있다면, 그 개발 효율에 있어서 상당한 이점을 가질 수 있다는 의미이다. 따라서, COL(Component Object Language)을 기반으로 하고 있는 C# (C sharp)언어를 사용하여 개발을 함에 있어서 자바의 언어를 C# 언어로 변환할 수 있다면, 신생 언어인 C#에 있어서 기존 자바로 되어 있는 유용한 개발 제품들을 보다 효율적으로 이용할 수 있을 것이다. 본 논문에서는 두 언어(자바, C#)를 하나로 잇는 교량(bridge)역할을 할 수 있도록 자바의 중간 언어인 Bytecode를 C#의 중간 언어인 MSIL(Microsoft Intermediate Language)로 바꿀 수 있는 중간 언어 번역기를 설계하고 구현하였다. 이를 위한 방법으로는 먼저, 자바 Bytecode 와 MSIL 의 어셈블리 형태에서의 명령어 매칭과정을 매핑 테이블을 이용하여 처리하였고, MSIL 에서 자바 Bytecode 의 함수와 같은 기능을 하는 메소드의 변환을 위하여 마크로 변환기법을 이용하여 해결하였다.I/O ratio 2.5). BTEX의 상대적 함량도 실내가 실외보다 높아 실내에도 발생원이 있음을 암시하고 있다. 자료 분석결과 유치원 실내의 벤젠은 실외로부터 유입되고 있었고, 톨루엔, 에틸벤젠, 크실렌은 실외뿐 아니라 실내에서도 발생하고 있었다. 정량한 8개 화합물 각각과 총 휘발성 유기화합물의 스피어만 상관계수는 벤젠을 제외하고는 모두 유의하였다. 이중 톨루엔과 크실렌은 총 휘발성 유기화합물과 좋은 상관성 (톨루엔 0.76, 크실렌, 0.87)을 나타내었다. 이 연구는 톨루엔과 크실렌이 총 휘발성 유기화합물의 좋은 지표를 사용될 있고, 톨루엔, 에틸벤젠, 크실렌 등 많은 휘발성 유기화합물의 발생원은 실외뿐 아니라 실내에도 있음을 나타내고 있다.>10)의 $[^{18}F]F_2$를 얻었다. 결론: $^{18}O(p,n)^{18}F$ 핵반응을 이용하여 친전자성 방사성동위원소 $[^{18}F]F_2$를 생산하였다. 표적 챔버는 알루미늄으로 제작하였으며 본 연구에서 연구된 $[^{18}F]F_2$가스는 친핵성 치환반응으로 방사성동위원소를 도입하기 어려운 다양한 방사성의 약품개발에 유용하게 이용될 수 있을 것이다.었으나 움직임 보정 후 영상을 이용하여 비교한 경우, 결합능 변화가 선조체 영역에서 국한되어 나타나며 그 유의성이 움직임 보정 전에 비하여 낮음을 알 수 있었다. 결론: 뇌활성화 과제 수행시에 동반되는 피험자의 머리 움직임에 의하여 도파민 유리가 과대평가되었으며 이는 이 연구에서 제안한 영상정합을 이용한 움직임 보정기법에 의해서 개선되었다. 답이 없는 문제, 문제 만들기, 일반화가 가능한 문제 등으로 보고, 수학적 창의성 중 특히 확산적 사고에 초점을 맞추어 개방형 문제가 확산적 사고의 요소인 유창성, 독창성, 유연성 등에 각각 어떤 영향을 미치는지 20주의 프로그램을 개발, 진행하여 그 효과를

  • PDF

Application of GIS Engine for Runoff Parameter Analysis (유출 매개변수 분석을 위한 GIS 엔진의 적용)

  • Kim, Sang-Ho;Choi, Keun-Ho;Kim, Seong-Joon
    • Proceedings of the Korean Association of Geographic Inforamtion Studies Conference
    • /
    • 2008.06a
    • /
    • pp.101-108
    • /
    • 2008
  • 본 연구의 목적은 분포형 추문모형에 있어 공간변수의 디테일함을 고려하기 위해 GIS와 결합된 SCS-CN 값 산정 모형을 개하는데 있다. 모형은 (주)한국공간정보통신의 GIS 소프트웨어 개발도구인 IntraMap/Objects를 사용하였고 마이크로소프트사의 닷넷 플랫폼 개발 언어인 C#으로 개발하였다. 모형의 입력자료인 토지이용도와 토양도의 지형학적 가공을 위해 클립(Clip), 디졸브(Dissolve), 인터섹션(Intersection)과 같은 지형전처리 모듈(GeoPreprocessing Module)을 개발하였다. 또한 전처리된 토지이용도(토지이용항목필드)와 토양도(추문학적 토양그룹필드)를 CN 값 기준도표에 매치시킴으로서 유역의 선행토양함수조건에 따른 분포형 CN 값 및 개략적인 유출량을 산정하는 모형을 개발하였다. 본 연구의 모형은 지형, 토양도 토지이용도, 토지피복도 변화에 따른 미래 유출량을 예측하는데 사용될 수 있을 것이다.

  • PDF

A Study on the Verification Scheme of SMS Encoding and Decoding Module (SMS 부호화 복호화 모듈 검증 방법에 대한 연구)

  • Choi, Kwang-Hoon
    • Journal of the Korea Society of Computer and Information
    • /
    • v.15 no.6
    • /
    • pp.1-9
    • /
    • 2010
  • This paper proposes a test method for compliance of SMS encoder and decoder modules with 3GPP (3rd Generation Partnership Project) specification on SMS PDU (Protocol Data Unit). The existing tools have focused on providing an SMS gateway and on helping to view and edit a single SMS PDU, which rarely help to resolve the compliance test problem. The proposed compliance test method is based on an automatic generation of SMS PDUs fully compliant with the 3GPP specification by using QuickCheck library written in Haskell. By applying the proposed method to a C-based SMS encoder and decoder in Linux Mobile platform, we have found out several critical bugs such as wrong interpretation of time stamps in BCD format. The automatic SMS PDU generator is reusable in that it only depends on the 3GPP SMS specification. The QuickCheck library is also applicable for testing other network protocol data encoders and decoders, as used in this paper.

Analysis of muddy water generation status using R (R을 이용한 흙탕물 발생현황 분석)

  • Park, Woon Ji;Oh, Seung Min;Lim, Kyoung Jae
    • Proceedings of the Korea Water Resources Association Conference
    • /
    • 2022.05a
    • /
    • pp.350-350
    • /
    • 2022
  • R은 통계 및 빅데이터 분석에 널리 사용되는 오픈 소스 프로그래밍 언어로, 통계와 그래픽스에 관련된 기능을 확정할 수 있어 다양한 분야에 활용되고 있다. 특히, 수자원 분야의 연구에서 그 활용이 늘어나고 있으며, 최근 들어 다양한 수자원 관련 R 패키지가 발표되고 있다. 이중, 미국 지질조사국(U.S. Geological Survey, USGS)이 개발한 EGRET은 수질 및 유출량 자료의 장기 추세 변화 분석을 위한 패키지로 R 프로그래밍 언어를 기반으로 구동되며, 분석·처리한 데이터에 대하여 광범위한 그래픽 프리젠테이션을 제공하여 탐색적 자료 분석에 매우 효과적인 도구이다. 특히, EGRET 패키지는 농도와 유출 사이의 관계 특성, 수집된 자료의 계절성 존재 및 특성, 점진적 또는 급격한 경향의 존재를 검토할 수 있는 그래픽 결과를 제시하며, 가중 회귀(Weighted Regressions on Time, Discharge, and Season, 이하 WRTDS) 모델을 적용하여 농도와 부하의 상태와 경향을 특성화한다. 시간, 유량 및 계절에 대한 WRTDS 모델은 농도 및 부하의 상태와 경향을 특성화하는 데 사용할 수 있는 수질 데이터 세트의 분석 방법으로, 근본적으로 탐색적 데이터 분석 방법으로 다양한 유형의 트렌드 시나리오에 민감하도록 설계되었으며 선형 또는 2차 함수형에 맞지 않을 수 있는 시간적 추세를 탐지하여 설명할 수 있고, 불규칙한 간격의 자료를 사용하기에 적합한 장점이 있다. 본 연구에서는 북한강 상류의 지속적인 흙탕물 발생으로 문제가 되고 있는 자운지구의 자운천을 대상으로 흙탕물 발생 현황을 분석하기 R을 이용하여 탐색적 자료 분석을 실시하였다. 자료 분석은 EGRET 패키지를 사용하여 수집된 자료(2016년 4월 - 2021년 7월까지 수집된 191개의 SS 자료와 인근 유량측정망의 유량자료)의 유량과 SS 농도 간의 관계, 시간에 따른 SS 농도 분포, SS 농도의 월별 특성 분석 및 유황별 SS 농도 변화 등을 검토하였으며, WRTDS 모델로 SS와 부하량을 예측하고 검토하여 자운천 유역의 흙탕물 부하 특성을 검토하였다.

  • PDF

FPGA Implementation of Neural Network Controller for Position control of Humanoid Robot Arm (휴머노이드 로봇 팔의 위치 추종을 위한 FPGA 기반의 신경회로망 제어기 구현)

  • Kim, Jeong-Seob;Jung, Seul
    • Proceedings of the KIEE Conference
    • /
    • 2008.04a
    • /
    • pp.79-80
    • /
    • 2008
  • 본 논문은 FPGA 기반에서 실수형 프로세서의 설계 및 구현에 대한 내용과 이를 이용하여 휴머노이드 로봇 팔의 위치제어를 위한 PD 제어기반의 신경회로망 제어기의 구현에 대한 내용이다. 설계된 프로세서는 명령어 기반의 처리를 통해 산술 연산 뿐만 아니라 로봇의 제어에 사용되는 외부 모듈의 사용이 가능하도록 설계하였으며, 신경회로망 구현에 사용되는 지수함수를 효율적으로 근사화하기 위한 Taylor series를 이용한 알고리즘을 하드웨어 레벨에서 구현하였다. 휴머노이드 로봇 팔의 위치 추종을 위해 고전적인 PD 제어기를 설계하고 PD 기반의 신경회로망 제어기를 설계하였다. 로봇 팔의 6축 제어를 위한 신경회로망 제어기에 요구되는 많은 연산을 감당하도록 하기 위해 설계된 프로세서를 통해 정의된 프로그래밍언어로 제어 프로그램을 작성하였다. PD 제어기와 PD 기반의 신경회로망 제어기를 하드웨어에 설계하여 로봇팔의 위치 추종을 실험하였으며 성능을 비교 검증하였다. 프로세서는 Altera의 Stratix II EP2S180 DSP development board에 구현되었으며 실험적으로 25MIPS의 성능을 가지는 것으로 나타났다.

  • PDF

Implementation of Authentication Method for VOD (VOD에 적용 가능한 인증 방식 실현)

  • 염홍열;김상필;이종형
    • Proceedings of the Korea Institutes of Information Security and Cryptology Conference
    • /
    • 1996.11a
    • /
    • pp.19-35
    • /
    • 1996
  • VOD(Video on Demand) 에서의 인증 시스템은 기본적으로 공개키 증명서 방식과 공개키 암호 메카니듬을 이용한 인중 프로토콜에 바탕을 두고 실현될 수 있다. 본 논문에서는 VOD 에서의 인증 시스템을 실현하기 위한 인증 프로토콜 스택, 인증 프로토콜, 그리고 적용 가능한 인증 매카니듬을 분석한다 그리고 VOD 인증 시스템을 실현하기 위해 요구되는 서버 및 사용자 측면에서의 인증 관련 변수 및 타이머를 정의하고, 각 개체에서의 인증 절차를 규정한다 또한 국내 VOD 시스템에 적용될 수 있는 인증 방식의 기본 원칙을 재시한다. 그리고 인증을 위한 공개키 증명서의 형태를 정의하고, RSA서명 메카니듬을 이용하여 이를 구현하며, 인증 프로토콜을 768 비트 RSA서명 메카니듬 및 MD5 해쉬 함수를 이용하여 C 언어로 실현한 시뮬레이션한 결과를 제시한다. 본 연구의 논문의 결과는 VOD CA(Certificate Authority) 구축시 및 VOD 인증 시스템 실현시 유용하게 적용될 수 있다.

  • PDF