KR102011094B1 - 인공지능의 신경가소성 및 자가적응 유연성을 구현하기 위하여 자가적응형 동적 다차원 배열을 관리하는 방법과 이를 이용한 컴퓨터 소프트웨어 - Google Patents

인공지능의 신경가소성 및 자가적응 유연성을 구현하기 위하여 자가적응형 동적 다차원 배열을 관리하는 방법과 이를 이용한 컴퓨터 소프트웨어 Download PDF

Info

Publication number
KR102011094B1
KR102011094B1 KR1020170081667A KR20170081667A KR102011094B1 KR 102011094 B1 KR102011094 B1 KR 102011094B1 KR 1020170081667 A KR1020170081667 A KR 1020170081667A KR 20170081667 A KR20170081667 A KR 20170081667A KR 102011094 B1 KR102011094 B1 KR 102011094B1
Authority
KR
South Korea
Prior art keywords
self
adaptive
dynamic multidimensional
event
adaptive dynamic
Prior art date
Application number
KR1020170081667A
Other languages
English (en)
Other versions
KR20190001711A (ko
Inventor
백옥기
Original Assignee
백옥기
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 백옥기 filed Critical 백옥기
Priority to KR1020170081667A priority Critical patent/KR102011094B1/ko
Publication of KR20190001711A publication Critical patent/KR20190001711A/ko
Application granted granted Critical
Publication of KR102011094B1 publication Critical patent/KR102011094B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 자율적인 의사 결정을 위하여 자가적응형 동적 다차원 배열(saDMA; self-adaptive dynamic multidimensional array)을 관리하는 방법 및 이를 이용한 컴퓨터 소프트웨어 및 컴퓨팅 엔티티에 관한 것이다. 상기 자가적응형 동적 다차원 배열에 포함된 개별 셀(cell)은, 적어도 개별 이벤트, 개별 상태 및 개별 정황을 포함하는 파라미터들에 의하여 구분되고, 상기 개별 셀은 상기 개별 셀에 대응되는 상기 파라미터들에 따라 수행될 작동들을 포함한다. 또한, 본 발명에 따른 방법에서는, 적어도 하나의 발생 이벤트가 획득되면, 컴퓨팅 엔티티가, 상기 자가적응형 동적 다차원 배열을 참조하여 상기 발생 이벤트에 적합한 작동들의 목록을 획득하고, 상기 적합한 작동들의 목록에 속한 개별 작동을 수행하며, 그 수행의 결과에 기초하여 상기 자가적응형 동적 다차원 배열을 재조정한다. 그럼으로써, 인간 두뇌의 신경 가소성 및 자가적응 유연성을 인공지능에 관련된 컴퓨터 소프트웨어 및 컴퓨팅 엔티티에 구현할 수 있다.

Description

인공지능의 신경가소성 및 자가적응 유연성을 구현하기 위하여 자가적응형 동적 다차원 배열을 관리하는 방법과 이를 이용한 컴퓨터 소프트웨어{METHOD FOR MANAGING SELF-ADAPTIVE DYNAMIC MULTIDIMENSIONAL ARRAY TO ENABLE NEUROPLASTICITY FOR SELF-ADAPTIVE AND PROGRESSIVE MACHINE LEARNING AND COMPUTER SOFTWARE USING THE SAME}
본 발명은 전체적으로 정보 기술 및 관련 분야에 관한 것이며, 구체적으로 기계 학습 혹은 "딥 러닝(Deep Learning)"을 가능하게 하는 인공지능, 인지적 컴퓨팅 또는 인지적 분석 및 관련 컴퓨터 소프트웨어 및 애플리케이션의 분야에 있어서의 소프트웨어 엔지니어링 접근법, 방법, 모델, 아키텍처 및 시스템에 관한 것인바, 더 상세하게는, 자가적응형 동적 다차원 배열(saDMA; self-adaptive dynamic multidimensional array)을 관리하여 인공지능의 신경가소성 및 자가적응 유연성을 구현하는 방법, 이를 수행하도록 지시하는 컴퓨터 소프트웨어의 구현에 관한 것이다.
정보 기술이 일상 생활에 뒤얽힌 인류 문명의 중요 부분이 되는 지식-기반 경제 정보 시대의 여명에 의하여 종래의 정보 기술 모델과 아키텍처는 비효율적이고 불충분한 것이 되고 있는데, 그 이유는 이제 환경 및 기계에 의하여 개시된 이벤트들과 환경 및 기계에 의하여 발생된 데이터를 취급하여야 할 필요가 생겼기 때문이다. 이 환경 또는 기계에 의하여 개시된 이벤트들은 조합과 순열의 무한 집합으로 귀결되는바, 환경 또는 기계에 의하여 발생된 데이터는 다양성, 분량, 속도, 및 더 중요하게는 진실성의 측면에서 비구조화되어 있어 취급하기 힘들다. 인간은 모든 가설들의 집합을 생각해낼 수 없으며, 사이버 물리 시스템 또는 IoT(Internet of Things)에 관련된 가능한 모든 이벤트와 데이터를 예기할 수 없는바, 이런 점에서 인간은 너무 많은 미지수와 불확실성에 조우하게 된다. 결국 인간은 그것들을 취급하는 로직과 알고리즘을 미리 결정할 수 없다.
이 정보 시대에는 알려지지 않은 것들을 발견하고 그것들에 자가적응할 수 있고, 인간의 두뇌와 같이 새로운 정보 및 경험들을 반영하여 그 자체를 재배선할 수 있는, 즉, 딥 러닝을 통한 진정 인공지능 또는 신경 가소성 및 자가적응 유연성으로써 "경험"이 반영되는 학습 기계, 지식 기반을 끊임없이 재구축할 수 있는 학습 기계가 필요하다.
이러한 자가적응형 및 자체관리형(self-managed) 시스템의 화두는 광범위한 응용 분야에서 50년이 넘도록 널리 연구되어 왔는데, 그 연구의 공통 목표는 미예기되고 예기 불가능한 상황들에 따라 소프트웨어의 거동(behavior)을 자동으로 조절함으로써 다양한 이벤트들과 상황에 자율적으로 적응하게 하는 소프트웨어 기능을 실현하는 것이다.
자가적응형 시스템을 설계함에 있어서 가장 심각한 문제는 대부분의 적응이 사전에 결정되거나 예측될 수 없으며, 결과적으로 높은 불확정성으로 인하여 시스템 요구조건들이 완전하게 구체화될 수 없다는 점에 있다.
공통 목적과 목표를 가진 여러 비영리 기구들, 그리고 학술 및 기업 컨소시움이 국제적 협력을 통하여 이와 같은 문제점과 난점을 해결하기 위하여 전세계적으로 설립되었다. 그 중에서도 “혁신을 위한 유럽 동맹(European Alliance for Innovation)”은 자가적응형 시스템(SAS; Self-Adaptive Systems)에 대한 논문 및 제안서들을 요청해 왔으며, 전세계의 학술 및 연구 단체들에 덧붙여 “자가적응형 시스템을 위한 소프트웨어 엔지니어링(Software Engineering for Self-Adaptive Systems(self-adaptive.org)” 및 “적응형 및 자체관리형 시스템을 위한 소프트웨어 엔지니어링(Software Engineering for Adaptive and Self-Managing Systems(SEAMS)”와 같은 여러 컨소시움들이 자가적응형, 자기관리형, 자기치유형(self-healing), 자기최적화형(self-optimizing), 자기구성형(self-configuring), 및 자기조직형(self-organizing) 시스템에 대한 참여를 요청하고 있다.
본 발명자는 종래 기술에 따른 예비검색을 하는 과정에서, 자가적응형 시스템 및 소프트웨어 자율적 시스템, 동적 시스템, 인지적 시스템, 인공지능, 기계 학습, 딥 러닝 등에 관련된 수많은 산업 학술지, 논문들과 특허들을 검색하였다. 그러나, 이들 대부분의 학술지 및 논문들은 자가적응형 시스템의 개념을 실체화하는 것에 연관된 문제점 및 난점들만을 주로 제시하고 있을 뿐, 명확한 해결 방안을 제시하지 않고 있다.
극소수의 학술지, 논문과 특허에 컴퓨터 소프트웨어의 자가적응에 관련된 모델들 또는 방법들이 제안되고 있다. 예를 들면, 자가적응형 시스템(Self-Adaptive System; SAS)을 위한 방법 및 정책기반과 자가적응형 모델(Policy-based Self-Adaptive Model; PobSAM)이라고 불리는 것들이 시스템 거동을 통제 및 적응시키기 위한 정책들을 채용함으로써 자가적응형 시스템들을 개발 및 구체화하기 위한 접근법을 다루고 있다. 그러나 그 적응 로직 및 구성은 소프트웨어 프로그램 내에 고정되어 있으며 그 소프트웨어의 설치 이후에 동적으로 변화되지 않는다.
서포팅 벡터 머신(Supporting Vector Machine; SVM)에 관한 몇몇 선행기술이 사전 조사에서 밝혀졌지만, 그러한 선행기술들은 미리 선정된 주요 키워드들, 어구들, 및 정보 단위들을 공통 "벡터"을 통하여 관리함으로써 선형 지도 학습(linear supervised learning)에 기초하여 빅데이터를 분석하는 데에 서포팅 벡터 머신으로 이용하고 있을 뿐이다. 따라서 이러한 기술들은 본 발명과는 그 접근 방법에서부터 근본적인 차이가 있다.
요컨대, 이 선행기술에서 설명되는 방법 및 시스템들은 예견되지 못한 상황에 자율적으로 적응하는 소프트웨어 기능을 제공하지 못하며, 특히 다음 2가지 핵심 문제점 및 난점이 여전히 미해결된 상태인 것이다.
첫 번째는, 다양한 이벤트들 및 이에 연관된 상태들이 저수준의 추상화로써 정의되고 상태들의 적응 및 이행(transition)을 위한 알고리즘이 소프트웨어 프로그램 내부에 하드 코딩(hard-coded)되어 있다는 점이다.
두 번째는, 지속상태(steady-state) 로직 및 구성이 소프트웨어의 초기 구현에 고정되어 실행 중에 변화될 수 없다는 점이다.
이에 본 발명자는 위에서 언급한 근본적 문제점 및 난점을 해결하고자 인간 두뇌의 신경가소성 및 자가적응 유연성에 착안한 전혀 상이한 접근법을 제시하고자 본 발명을 제안하는바, 본 발명에는 이벤트-상태 연관성 및 상관 관계를 동적으로 관리하기 위한 다차원 배열이 도입되며, 미예기된 이벤트와 예기 불가능한 상황들에 따라 소프트웨어의 거동을 조정함으로써 다양한 이벤트들 및 상황에 자율적으로 적응할 수 있는 방법 및 시스템이 도입된다. 즉, 본 발명자는 소프트웨어가 다양한 이벤트들과 상황에 자율적으로 적응하여 자율적인 의사 결정을 수행함으로써 소프트웨어의 개발 및 설치 이후에 그 프로그램 로직을 변경할 필요가 없는 방법 및 이를 이용하는 컴퓨터 소프트웨어 구현 방법을 제안하고자 한다.
본 발명은 컴퓨터 소프트웨어로 하여금 새로이 발견한 사항들, 미예기된 이벤트들 또는 예기 불가능한 상황에 대하여 자가적응하여 경험으로부터 학습하는 것을 가능하게 함으로써 인공지능에 있어서 신경가소성 및 자가적응 유연성의 개념을 구현하는 것을 목적으로 한다.
더 구체적으로 본 발명은, 자가적응형 동적 다차원 배열(saDMA)에 기반한 자율적 기계 학습을 통하여 인공지능에 있어서의 신경가소성 및 자가적응 유연성을 가능하게 하는 것을 목적으로 한다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한 본 발명의 특징적인 구성은 하기와 같다.
본 발명의 일 태양에 따르면, 자가적응형 동적 다차원 배열(saDMA; self-adaptive dynamic multidimensional array)을 관리하여 인공지능의 신경가소성 및 자가적응 유연성을 구현하는 방법이 제공되는바, 상기 자가적응형 동적 다차원 배열에 포함된 개별 셀(cell)은, 적어도 개별 이벤트, 개별 상태 및 개별 정황을 포함하는 파라미터들에 의하여 구분되고, 상기 개별 셀은 상기 개별 셀에 대응되는 상기 파라미터들에 따라 수행될 작동(action)들을 포함하고, 상기 방법은, (a) 적어도 하나의 발생 이벤트가 획득되면, 적어도 하나의 컴퓨팅 엔티티(computing entity)가, 상기 자가적응형 동적 다차원 배열을 참조하여 상기 발생 이벤트에 적합한 작동들의 목록을 획득하는 단계; (b) 상기 컴퓨팅 엔티티가, 상기 적합한 작동들의 목록에 속한 개별 작동을 수행하는 단계; 및 (c) 상기 컴퓨팅 엔티티가, 상기 (b) 단계의 수행의 결과에 기초하여 상기 자가적응형 동적 다차원 배열을 재조정하는 단계를 포함한다.
본 발명의 다른 태양에 따르면, 자가적응형 동적 다차원 배열(saDMA; self-adaptive dynamic multidimensional array)을 관리하여 인공지능의 신경가소성 및 자가적응 유연성을 구현하는 컴퓨터 소프트웨어가 제공되는바, 상기 자가적응형 동적 다차원 배열에 포함된 개별 셀은, 적어도 개별 이벤트, 개별 상태 및 개별 정황을 포함하는 파라미터들에 의하여 구분되고, 상기 개별 셀은 상기 개별 셀에 대응되는 상기 파라미터들에 따라 수행될 작동들을 포함하고, 상기 컴퓨터 소프트웨어는, (i) 상기 컴퓨터 소프트웨어가 실행되는 적어도 하나의 컴퓨팅 엔티티로 하여금, 적어도 하나의 발생 이벤트가 획득되면, 상기 자가적응형 동적 다차원 배열을 참조하여 상기 발생 이벤트에 적합한 작동들의 목록을 획득하도록 지시하는 코드(code); (ii) 상기 컴퓨팅 엔티티로 하여금, 상기 적합한 작동들의 목록에 속한 개별 작동을 수행하도록 지시하는 코드; 및 (iii) 상기 컴퓨팅 엔티티로 하여금, 상기 (ii) 코드의 수행의 결과에 기초하여 상기 자가적응형 동적 다차원 배열을 재조정하도록 지시하는 코드를 포함한다.
본 발명에 의하면, 컴퓨터 소프트웨어로 하여금 새로이 발견한 사항들, 미예기된 이벤트들 또는 예기 불가능한 상황들에 대하여 자가적응하여 경험으로부터 학습하는 것이 가능하게 되는바, 자가적응형 동적 다차원 배열(saDMA)에 기반한 자율적 기계 학습을 통하여 인공지능에 있어서의 신경가소성 및 자가적응 유연성이 가능해지는 효과가 있다.
즉, 본 발명에 따른 신규 소프트웨어 엔지니어링 모델, 방법 및 시스템은 미예기된 이벤트들 및 연관되는 상태들 중 새로이 발견한 사항들에 대하여 소프트웨어 구성요소들이 자가적응할 수 있게 함으로써 결과적으로 자율적 기계 학습을 통한 인공지능에 있어서의 신경가소성 및 자가적응 유연성의 개념을 구현할 수 있도록 하는 것이다.
구체적으로, 본 발명에 의한 자가적응형 동적 다차원 배열에 기반한 신규한 접근법, 모델, 방법 혹은 시스템은 새로이 발견한 사항들에 기초할 뿐만 아니라 이벤트들에 대하여 앞서 이루어진 프로세싱의 결과(경험들)에 기초함으로써 소프트웨어로 하여금 스스로 거동(behavior)을 변경할 수 있게 하는 효과가 있다.
또한, 본 발명에 의하면, 소프트웨어 설계에 있어서 의사 결정 트리 및 이와 연관되는 분기 인스트럭션들이 이벤트들의 프로세싱을 위하여 수행될 작동들의 집합을 자가적응형 동적 다차원 배열들로부터 찾는 색인화된 검색들로 대체되므로, 소프트웨어 알고리즘에 있어서의 의사 결정 트리가 단순화되고, 종래의 소프트웨어 엔지니어링 방법 및 시스템의 프로그래밍 로직에 있어서의 분기 인스트럭션들이 제거됨으로써, 전술한 효과뿐만 아니라 그 소프트웨어의 안전성, 탄력성, 성능 및 확장성도 개선되는 효과가 있다.
본 발명의 실시예의 설명에 이용되기 위하여 첨부된 아래 도면들은 본 발명의 실시예들 중 단지 일부일 뿐이며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 사람(이하 “통상의 기술자”라 함)에게 있어서는 발명적 작업이 이루어짐 없이 이 도면들에 기초하여 다른 도면들이 얻어질 수 있다.
도 1은 본 발명에 이용되는 자가적응형 동적 다차원 배열(saDMA; self-adaptive dynamic multidimensional array)을 개념적으로 도시한 도면이다.
도 2는 본 발명의 자가적응형 동적 다차원 배열을 설명하기 위하여 상기 배열의 개별 셀에 포함된 작동들을 개념적으로 도시한 도면이다.
도 3은 본 발명에 따라 자율적인 의사 결정을 위하여 인공지능의 신경가소성 및 자가적응 유연성을 구현하도록 자가적응형 동적 다차원 배열을 관리하는 방법의 일 실시예를 예시적으로 나타낸 흐름도이다.
도 3a는 도 3에 도시된 단계들(301 내지 304)을 더 상세하게 나타낸 흐름도이며, 도 3b는 도 3에 도시된 단계들(305 내지 309)을 더 상세하게 나타낸 흐름도이다.
도 4는 본 발명에 따른 자가적응형 동적 다차원 배열의 관리 방법에 있어서 예기하지 않은 신규의 이벤트에 대하여 자가적응형 동적 다차원 배열을 재조정하는 경우를 개념적으로 도시한 도면이다.
도 5는 본 발명에 따른 자가적응형 동적 다차원 배열의 관리 방법이 적용된 소프트웨어에 있어서 입출력 및 제어의 관계를 개념적으로 도시한 도면이다.
도 6은 본 발명에 따라 자율적인 의사 결정을 위하여 인공지능의 신경가소성 및 자가적응 유연성을 구현하도록 자가적응형 동적 다차원 배열을 관리하는 방법의 다른 실시예를 예시적으로 나타낸 흐름도이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명의 목적들, 기술적 해법들 및 장점들을 분명하게 하기 위하여 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 통상의 기술자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다.
본 발명의 상세한 설명 및 청구항들에 걸쳐 '학습'은 절차에 따라 머신 러닝(machine learning), 특히 본 발명에 있어서는 딥 러닝을 수행함을 일컫는 용어인바, 인간의 교육 활동과 같은 정신적 작용을 지칭하도록 의도된 것이 아님을 통상의 기술자는 이해할 수 있을 것이다.
그리고 본 발명의 상세한 설명 및 청구항들에 걸쳐, '포함하다'라는 단어 및 그 변형은 다른 기술적 특징들, 부가물들, 구성요소들 또는 단계들을 제외하는 것으로 의도된 것이 아니다. 통상의 기술자에게 본 발명의 다른 목적들, 장점들 및 특성들이 일부는 본 설명서로부터, 그리고 일부는 본 발명의 실시로부터 드러날 것이다. 아래의 예시 및 도면은 실례로서 제공되며, 본 발명을 한정하는 것으로 의도된 것이 아니다.
더욱이 본 발명은 본 명세서에 표시된 실시예들의 모든 가능한 조합들을 망라한다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 사상 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 사상 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
본 명세서에서 달리 표시되거나 분명히 문맥에 모순되지 않는 한, 단수로 지칭된 항목은, 그 문맥에서 달리 요구되지 않는 한, 복수의 것을 아우른다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
본 발명의 설명에 앞서 종래 기술을 개략적으로 살펴볼 필요가 있다. 우선, 종래에는 다수의 상태들에 있어서 다수의 이벤트들을 취급하는 전형적인 경우에 종래 소프트웨어 엔지니어링 방법 및 시스템에 따라 다음과 같은 슈도 코드(pseudo code)와 같은 구성이 이용되었다.
IF event=e1
THEN
IF state1=S1
THEN
IF state2=S2
THEN
IF state3=S3
THEN
......
IF staten=Sn
THEN 작동 X1을 수행함
상태 S1로 이행(transition)함
사전 정황을 C1로 재조정(revise)함
ELSE 작동 X2를 수행함
상태 S2로 이행함
사전 정황을 C2로 재조정함
ELSEIF event=e2
THEN
IF state1=S1
THEN
IF state2=S2
THEN
IF state3=S3
THEN
......
IF staten=Sn
THEN 작동 X3을 수행함
상태 S3로 이행함
사전 정황을 C3으로 재조정함
ELSE 작동 X4를 수행함
상태 S4로 이행함
사전 정황을 C4로 재조정함
ELSE
예외를 발생(raise)시킴
경고 알림(alert notification)을 개시함
그런데, 이와 같이 구성된 소프트웨어 프로그램은 넓고 깊은 프로그램 구조 및 분기 인스트럭션들의 복잡한 집합을 가지게 되는바, 매우 복잡해질 수 있어 실수 또는 에러가 나기 쉬우며 장시간 동작하는 트랜잭션으로 이어질 수도 있다.
결과적으로, 이와 같은 종래 소프트웨어 엔지니어링 방법 및 시스템은 소프트웨어 결함으로 인하여 안전성 및 탄력성이 현저히 제한되며, 넓고 깊은 프로그램 구조와 복잡한 분기 인스트럭션들로 인하여 성능 및 확장성에 부정적인 영향이 미친다. 즉, 종래 엔지니어링 방법 및 시스템으로 개발된 소프트웨어는, 미리 기술되어 있지 않은 상태에서 미예기된 새로운 이벤트를 수용할 수 있을 만큼 유연하고 적응적으로 되지 않는다.
또한 소프트웨어 로직에 있어서 조그마한 변화를 꾀하기 위하여는, 설계, 프로그래밍, 컴파일링, 단위 테스트 및 디버깅, 통합 테스트, 성능 및 확장성 테스트, 네거티브 테스트(negative test), 운용 테스트, 회귀 테스트, 선행 소프트웨어 및 공통 필수 소프트웨어의 전개뿐만 아니라 최종 기계 코드, 및 새로운 프로그램의 실행을 포함하는 소프트웨어 개발에 있어서의 라이프사이클 전체 프로세스를 거치게 된다.
본 발명은, 이와 같은 종래의 방식, 즉 소프트웨어 프로그래밍에 있어서 의사 결정 트리 및 분기 인스트럭션들(예컨대, IF … THEN … ELSE; CASE)은 하기에서 설명하는 자가적응형 동적 다차원 배열(saDMA)에 대한 직접 접근, 및 이벤트를 위하여 수행될 작동들의 대응되는 집합 및 이벤트들을 프로세싱하기 위하여 요구되는 정황들 및 상태들의 색인화된 검색으로 대체한다.
본 발명은 다양한 실시예들로 실시될 수 있는바, 그와 같은 실시예들에서 언급되는 "컴퓨팅 엔티티(computing entity)"는, 본 명세서의 상세한 설명 및 청구항들에 걸쳐, 많은 양의 데이터를 고속으로 처리할 수 있는 기계(machine)인 데이터 프로세싱 장치를 지칭하는 용어이다.
예를 들어, 컴퓨팅 엔티티는 컴퓨터, 워크스테이션, 포터블 또는 모바일 컴퓨팅 장치일 수 있다. 그러한 컴퓨팅 엔티티는 인터넷 연결 또는 다른 네트워크들(예컨대, LAN(local area network), 또는 WAN(wide area network))에 연결될 수 있다. 컴퓨팅 엔티티들의 인터넷, 인트라넷 또는 내부 네트워크에 대한 연결은 무선 연결이거나 유선 연결일 수 있다. LAN, WAN, 인트라넷, 내부 네트워크 및 인터넷 연결은 상세하게 설명될 필요가 없는바, 이는 통상의 기술자에게 잘 알려져 있기 때문이다. 컴퓨팅 엔티티가 데이터 네트워크의 일부인 노드로 지칭될 수 있다는 점이 이해될 것인바, 그러한 데이터 네트워크는 통신 경로에 의하여 연동되는 다수의 노드들을 포함할 수 있다.
달리 말하자면, 컴퓨팅 엔티티는 무선 또는 유선의 통신 링크를 통하여 데이터 네트워크 내에서 다른 노드들과 데이터를 교환할 수 있는 노드로서 작동하며, 소프트웨어를 실행하는 프로세서를 포함하는 컴퓨터 플랫폼일 수 있다. 컴퓨팅 엔티티는 모바일 장치이거나 정적인 장치일 수 있다.
부연하면, 본 명세서에서 지칭하는 컴퓨팅 엔티티와 그 네트워크는 다른 노드들간에 데이터를 교환할 뿐만 아니라, 소프트웨어가 스스로 그 소프트웨어에 부여된 특정한 목적을 수행하기 위하여 제반 노드들을 방문하고 (mobile software migrating to various system node based on its itinerary) 각 노드에서 특정한 작업을 수행할 수 있다. 이 경우, 그 이동 소프트웨어는 각 노드의 특정한 환경과 주어진 제약에 스스로 자가적응형 유연성으로 대처(self-discover and self-adapt to the specific characteristics and constraints of individual system nodes)하게 된다.
컴퓨팅 엔티티의 다른 몇몇 실시예에서는, 상기 컴퓨팅 엔티티는 컴퓨터 판독가능 메모리에 저장된 하나 이상의 데이터베이스들을 가지는 적어도 하나의 포터블 또는 논-포터블(non-portable) 컴퓨터에 의하여 구현될 수 있는바, 그 적어도 하나의 포터블 또는 논-포터블 컴퓨터 또한 소프트웨어로써 프로그램된 적어도 하나의 컴퓨팅 유닛 또는 프로세서를 구비할 수 있으며, 그 소프트웨어가 실행되는 때에는 상기 소프트웨어 내에 포함된 일련의 단계들이 실행된다.
다만, 통상의 기술자는 이와 같은 "컴퓨팅 엔티티"가 폰 노이만식 컴퓨터에 국한되지 않으며, 본 발명에 따른 소프트웨어 전체 또는 적어도 일부를 실행할 수 있는 장치라면 무엇이든 이 "컴퓨팅 엔티티"에 포함될 수 있을 것이라는 점, 그리고 그와 같은 "적어도 하나의 컴퓨팅 엔티티" 의 상호 연동에 의하여 본 발명에 따른 소프트웨어 전체가 실행되는 경우가 본 발명의 일 실시예로서 포함될 것이라는 점을 이해할 수 있을 것이다. 또한 그러한 상호 연동은 앞서 설명된 무선 연결 또는 유선 연결을 통하여 이루어질 것이라는 점은 자명하다.
이하, 통상의 기술자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명에 이용되는 자가적응형 동적 다차원 배열(saDMA; self-adaptive dynamic multidimensional array)을 개념적으로 도시한 도면이다.
도 1의 참조부호 100은 어느 이벤트를 연관 상태들 및 사전 정황들과 결부시켜 프로세싱하는 것과 관련된 프로세스들 및 의사 결정 로직을 관리하기 위하여 이용되는 본 발명에 따른 동적 다차원 배열을 나타낸다. 또한, 참조부호 101은 컴퓨팅 엔티티가 프로세싱할 필요가 있는 다양한 비즈니스/과학적 이벤트들 또는 환경적 현상을 나타낸다. 참조부호 102는 이벤트의 프로세싱을 위하여 관련되는 비즈니스, 과학적 또는 환경적 맥락에 관한 다양한 상태들을 나타낸다. 참조부호 103은 특정 상태들에서 이벤트를 프로세싱하기 위하여 충족되어야 할 필요가 있는 다양한 사전 정황을 나타낸다. 그리고 참조부호 104는 동적 다차원 배열에 포함된 셀을 나타내는바, 셀은 특정 사전 정황들의 집합 및 특정 관련 상태에서 이벤트를 프로세싱하기 위하여 컴퓨터 소프트웨어에 의하여 수행될 작동들의 목록을 제공한다.
상기 자가적응형 동적 다차원 배열의 개별 셀들은 특정 이벤트를 프로세싱하기 위하여 수행될 예기 또는 예측된 작동들의 집합 및 이와 연관된 상태 및 사전 정황들로써 초기화되는바, 이는 도 2에 도시된 바와 같다.
도 2는 본 발명의 자가적응형 동적 다차원 배열을 설명하기 위하여 상기 배열의 개별 셀에 포함된 작동들을 개념적으로 도시한 도면이다.
도 2의 참조부호 200에는 특정 이벤트(En)에 대한 자가적응형 동적 다차원 배열의 일 단면이 나타난다. 참조부호 201은 사전 정황들의 특정 집합 및 특정 상태에서 특정 이벤트를 프로세싱하기 위하여 수행될 작동들의 목록을 관리하는 셀로서, 상기 일 단면에 포함된 하나의 셀을 나타낸다. 참조부호 202 및 203은 사전 정황의 특정 집합(Cx, Cy, Cz) 및 특정 상태(S1, S2 또는 S3)에서 특정 이벤트(En)에 대하여 수행될 작동들의 목록(Aj, Ak 또는 Al)을 관리하는 상기 자가적응형 동적 다차원 배열 내 셀들의 내용을 예시적으로 도시한 것이다.
이제 본 발명에 따라 자율적인 의사 결정을 위하여 인공지능의 신경가소성 및 자가적응 유연성을 구현하도록 자가적응형 동적 다차원 배열을 관리하는 방법을 도 3, 3a 및 3b를 참조하여 구체적으로 설명하기로 한다.
도 3은 본 발명에 따라 자율적인 의사 결정을 위하여 자가적응형 동적 다차원 배열을 관리하는 방법의 일 실시예를 예시적으로 나타낸 흐름도이다.
도 3을 참조하면, 앞서 언급한 복잡한 구조의 IF… THEN …ELSE or CASE와 같은 분기 인스트럭션들을 요하는 종래의 소프트웨어 엔지니어링 모델을 이용하지 않고, 동적 다차원 배열에 기초하여 비즈니스/과학적 이벤트들을 프로세싱하는 것에 관련된 의사결정을 위한 소프트웨어 구조 전체가 참조부호 300으로 개략적으로 도시되어 있다. 도 3의 구체적인 개별 소프트웨어 모듈들 및 그 기능의 속성들이 도 3a 및 3b에 더 구체적으로 도시되어 있다.
도 3을 참조하면, 본 발명에 따른 자가적응형 동적 다차원 배열 관리 방법은, 적어도 하나의 발생 이벤트가 획득(301)되면, 적어도 하나의 컴퓨팅 엔티티가, 상기 자가적응형 동적 다차원 배열을 참조하여 상기 발생 이벤트에 적합한 작동들의 목록을 획득하는 단계(302 내지 305)를 포함한다. 더 구체적으로, 도 3a의 참조부호 301는 발동 시스템(System of Engagement)의 일부로서의 에지 시스템(edge system)으로부터 이벤트를 획득하기 위한 단계에 해당된다.
바람직하게는, 본 발명에 따른 방법은, 단계(301) 전에, 상기 컴퓨팅 엔티티가, 상기 자가적응형 동적 다차원 배열을 초기 구성하는 단계를 더 포함할 수 있다. 이와 같은 초기 구성은 이미 알려진 이벤트들, 상태들 및 정황들 사이의 연관성 및 상관 관계에 대한 이력 데이터(historical data)의 통계적 분석에 기초하여 수행될 수 있다.
또한 바람직하게는, 본 발명에 따른 방법에서, 상기 자가적응형 동적 다차원 배열은 색인화(indexed)되어 있는 것일 수 있다.
이를 보다 구체화된 일 실시예에서, 상기 단계(302 내지 305)는, 상기 컴퓨팅 엔티티가, 획득된 상기 적어도 하나의 발생 이벤트 중 특정 이벤트, 현재 상태 및 사전 정황을 포함하는 제반 파라미터로부터 상기 자가적응형 동적 다차원 배열의 특정 셀에 대한 직접 접근을 위한 색인을 획득하는 단계(302) 및 상기 컴퓨팅 엔티티가, 획득된 상기 색인에 기초하여 상기 특정 이벤트, 상기 현재 상태 및 상기 사전 정황에 대하여 취해질 작동들의 목록을 상기 자가적응형 동적 다차원 배열로부터 추출하는 단계(303)를 포함하는 것으로 세분화될 수 있는바, 도 3a를 참조하면, 단계(302)는 특정 사전 정황 및 특정 상태에서 이벤트에 대하여 취해질 작동들의 목록을 추출하기 위하여 상기 동적 다차원 배열에 대한 직접 접근(direct access)이 이루어지는 때에 그 직접 접근을 위한 색인들(indices)로서 이용될 변수값들, 즉 파라미터들을 할당하는 단계에 해당되며, 단계(303)는 특정 사전 정황 및 특정 상태에서 이벤트에 대하여 취해질 작동들의 목록을 추출하는 단계에 해당된다.
이 실시예에서, 상기 단계(302 내지 305)는, 상기 적어도 하나의 발생 이벤트 중 상기 특정 이벤트로 고려되지 않은 이벤트인 추가 이벤트가 있다면, 상기 컴퓨팅 엔티티가, 상기 추가 이벤트를 상기 특정 이벤트로 하여 단계(302) 및 단계(303)를 더 수행하는 단계(304)를 더 포함할 수도 있다. 더 구체적으로, 도 3a를 참조하면, 단계(304)는 상기 이벤트를 프로세싱하기 위하여 다수의 상태들 및 연관된 사전 정황들이 충족되어야 할 필요가 있는지의 여부를 판정하는 단계라고 할 수 있으며, 만약 충족되어야 할 필요가 있다면, 상기 컴퓨팅 엔티티는 단계(302)로 다시 돌아가고, 추가적 상태에서 이에 대응하여 상기 이벤트에 대하여 취해질 작동들의 목록들을 추출할 필요가 있다.
한편, 상기 단계(302 내지 305)에서 상기 적합한 작동들의 목록은 소정의 부울 기능방정식의 연산을 통하여 상기 자가적응형 동적 다차원 배열로부터 획득(305)될 수도 있다. 구체적으로, 도 3b를 참조하면, 단계(305)는 상기 이벤트를 연관되는 상태들의 집합 및 이에 대응되는 사전 정황들의 집합에 기초하여 상기 이벤트를 프로세싱하기 위하여 수행될 가장 적합한 작동들의 집합을 찾기 위하여 상기 부울 기능방정식을 연산한다. 예를 들어, 종래 소프트웨어 엔지니어링 모델 및 방법에 있어서 “IF state = (S1 AND S2) OR (S3 AND S4) THEN perform A1”이라는 분기 인스트럭션은 본 발명의 신규한 소프트웨어 엔지니어링 모델 및 방법에 따른다면, “perform (saDMA[S1] ∩ saDMA[S2]) ∪ (saDMA[S3] ∩ saDMA[S4])”로 대체될 것인바, 여기에서 saDMA는 상기 자가적응형 동적 다차원 배열을 지칭한다.
다시 도 3을 참조하면, 본 발명에 따른 방법은, 상기 단계(302 내지 305)의 수행 후에, 상기 컴퓨팅 엔티티가, 상기 적합한 작동들의 목록에 속한 개별 작동을 수행하는 단계(306)를 더 포함하고, 상기 컴퓨팅 엔티티가, 단계(306)의 수행의 결과에 기초하여 상기 자가적응형 동적 다차원 배열을 재조정하는 단계(307 내지 309)를 더 포함하는바, 더 구체적으로 도 3b를 참조하면, 단계(306)는 주어진 상태들의 집합 및 연관된 사전 정황들에 있어서 상기 이벤트를 프로세싱하기 위하여 단계(305)에서 도출된 작동들의 집합을 수행하는 단계에 해당된다.
바람직하게는, 단계(307 내지 309)에서 상기 자가적응형 동적 다차원 배열은, 단계(306)의 수행의 결과인 사후 상태 및 사후 정황에 기초하여 재조정될 수 있다.
또한, 바람직하게는, 단계(307 내지 309)에서 고려되는 단계(306)의 수행의 결과는, 현 회차에서의 단계(306)의 수행의 결과 및 이전 회차에서의 단계(306)의 수행의 결과 중 적어도 일부를 포함할 수 있다.
상기 단계(307 내지 309)를 더 구체화한 일 실시예에서, 단계(307 내지 309)는, 상기 컴퓨팅 엔티티가, 단계(306)에서의 상기 개별 작동의 수행 중에 예외(exception) 또는 에러가 야기되었는지를 판정하는 단계(307), 상기 예외 또는 에러가 야기되지 않았다면, 상기 컴퓨팅 엔티티가, 상기 자가적응형 동적 다차원 배열을 재조정하는 단계(308), 및 상기 예외 또는 에러가 야기되었다면, 상기 컴퓨팅 엔티티가, 예외 또는 에러를 발생시키고, 에러 복구 프로세스를 개시하는 단계(309)를 포함하는바, 도 3b를 참조하여 더 구체적으로 설명하면, 단계(307)는 단계(306)에서 상기 작동들을 수행한 현황(status)을 체크하는 단계이며, 만약 단계(306)에서 상기 작동들의 수행 중에 에러가 발생했거나 예외가 야기되었다면, 단계(309)에 따른 예외 취급(exception handling) 또는 에러 복구(error recovery) 프로세스가 개시될 것이다. 한편, 도 3b를 참조하면, 단계(308)는, 적용 가능한 한, 현 상태 및 정황을 사후 상태 및 사후 정황의 집합으로 조정(adjust)하는 단계를 포함하는바, 이는 다음 이벤트의 프로세싱을 위한 것이다.
전술한 바와 같이 종래의 소프트웨어 엔지니어링 모델에서 의사결정을 위하여 이용되던 분기 인스트럭션들의 거대한 집합은 배열로부터 작동들의 목록을 추출하는 색인화된 추출로 단순화될 것인바, 이와 같은 단순화는 고속으로 시간 임계적 이벤트들을 취급하기 위한 소프트웨어의 높은 안정성, 탄력성, 성능 및 확장성으로 이어질 수 있다.
앞서 설명한 단계(307 내지 309)에서 수행되는 자가적응형 동적 다차원 배열의 재조정을 도 4를 참조하여 더 구체적으로 설명하자면 다음과 같다.
도 4는 본 발명에 따른 자가적응형 동적 다차원 배열의 관리 방법에 있어서 예기하지 않은 신규의 이벤트에 대하여 자가적응형 동적 다차원 배열을 확장하는 경우를 개념적으로 도시한 도면이다. 도 4에 도시된 바와 같이 본 발명에 따른 방법에 이용되는 자가적응형 동적 다차원 배열(saDMA)은 미예기되고 예기 불가능한 이벤트들 및 연관된 상태들과 정황들에 대한 추가적인 발견 사항들을 수용하도록 시스템적으로 더 확장될 수 있다.
도 4를 참조하면, 추가적인 이벤트들의 발견 사항들 및 관련 상태들 및/또는 사전 정황들을 반영하여 그 구조 및 내용을 계속적으로 업데이트 및 재조정함으로써 시스템적으로 더 확장되는 동적 다차원 배열이 참조부호 400으로 도시되어 있다.
도 4를 참조하여 인간에게 익숙한 언어로 표현하자면 시스템이 성숙하거나 더 학습하거나 더 많은 경험들을 얻음으로써, 앞선 이벤트 프로세싱과 연관된 상태들 및 정황들의 결과에 대한 시스템적 추가 반영으로써 자가적응형 동적 다차원 배열(saDMA)의 개별 셀들은 지속적으로 채워지고, 재조정되거나 그리고/또는 업데이트된다.
도 4의 참조부호 401에는 사전에 예기되지 않았지만 운용중에 발견된 추가적인 이벤트들을 반영하여, 그 구조 및 내용의 계속적인 업데이트 및 재조정을 통하여 시스템적으로 더 확장되는 동적 다차원 배열의 특징들이 나타나 있다. 또한, 참조부호 402에는 특정 이벤트에 대하여 사전에 예기되지 않았지만 운용중에 발견된 추가적인 상태들을 반영하여, 그 구조 및 내용의 계속적인 업데이트 및 재조정을 통하여 시스템적으로 더 확장되는 동적 다차원 배열의 특징들이 나타나 있다. 그리고 참조부호 403에는 특정 이벤트에 대하여 사전에 예기되지 않았지만 운용중에 발견된 추가적인 정황들을 반영하여, 그 구조 및 내용의 계속적인 업데이트 및 재조정을 통하여 시스템적으로 더 확장되는 동적 다차원 배열의 특징들이 나타나 있다.
이와 같이 상기 동적 다차원 배열의 개별 셀들은 시스템이 점진적 기계 학습(progressive machine learning)을 통하여 성숙되어 감에 따라 앞서 취해진 작동들의 결과 및 관련된 상태들 및 정황들을 시스템적으로 반영함으로써 계속적으로 업데이트 및 재조정된다.
이 신규한 소프트웨어 엔지니어링 접근법, 방법, 모델, 아키텍처 및 시스템의 효율성은 신뢰할 수 있고 효과적인 추론 알고리즘에 의하여 더 강화될 수 있다. 그런데, 그와 같은 추론 알고리즘들은 비즈니스 영역 또는 과학 분야에 따라 전혀 상이할 수 있는바, 하기에서는 그 일반화된 개념이 개략적으로 설명될 것이다.
우선, 등식 A = saDMA[event, state, condition]이 비즈니스 이벤트(event) 또는 환경적 현상의 어느 시점에서의 상태(state) 및 정황(condition)에 기초한 이벤트 프로세싱에 의하여 결정되는 적응적 작동(A)을 표현한다면, 다음 등식은 시점 t에 비즈니스적/과학적/환경적 이벤트(e), 상태(s), 정황(c)을 취급하는 이벤트 취급 프로세스(P)에 기초하여 취해져야 할 필요가 있는 적응적 작동(A)을 표현한다.
At = saDMAt[et, st, ct], 여기에서 saDMA는 동적 다차원 배열을 의미한다.
앞선 경험으로부터의 학습에 기초하여 더 효율적인 작동이 취해질 수 있도록 동작 다차원 배열은 앞선 이벤트, 상태, 정황, 정정적 작동(corrective action) 및 결과(상기 이벤트를 취급하도록 취해지는 정정적 작동들의 효과)에 기초하여 기계 학습 또는 추론을 통하여 프로그램적(계획적)으로 업데이트될 수 있다. 즉,
At+1=F(At, et, st, ct, Ot), 여기에서 A는 작동들의 목록, F는 추론 알고리즘, e는 이벤트, s는 상태, c는 정황, O는 결과이다.
미래 시점 t+n에 유사한 이벤트가 유사한 상태 및 정황으로써 검출되는 때에는, 관련 이벤트들 및 조건들에 대하여 이전에 취해졌던 작동들 및 대응되는 결과들에 의한 추론으로부터 도출된 재조정 프로세스에 기초하여 상이해진 작동이 취해질 것이다. 즉,
At+n=saDMAt +n-1[et+n, st+n, ct+n], 여기에서 시점 t+n에 발생한 이벤트에 대하여 취해질 작동에 대한 재조정된 정책(policy)은 다음 등식을 통하여 계산될 수 있다.
At+n-1 = Σi = 0..n -1 F(At+i, et+i, st+i, ct+i, Ot +i)
이와 같이, 시점 t+n에 발생된 이벤트에 대하여 취해질 정정적 작동은 다음 등식을 통하여 계산될 수 있다.
At+n = saDMAt +n-1[et+n, st+n, ct+n] ∩ {Σi = 0..n -1 F(At+i, et+i, st+i, ct+i, Ot +i)}
초기에 동적 다차원 배열은 알려진 이벤트들, 상태들 및 정황들 사이의 연관성 및 상관 관계에 대한 이력 데이터의 통계적 분석에 기초하여 saDMA0으로서 설정될 수 있다. 시점 t에 정황 c인 상태 s에서 이벤트 e를 취급하기 위하여 하나 이상의 작동들 At(e, s, c)이 취해질 것이다. 이벤트 et에 대한 작동들 At(et, st, ct)의 완료시에, 상기 상태 및 정황은, 시점 t에 At에 기초하여 취해진 작동의 효과에 대하여 시점 t+1에 평가될 이전 상태(post-state) 및 사전 정황(post-condition)으로 전이(transition)될 것이다.
시점 t에 이벤트 et에 대하여 At에 기초하여 취해진 작동이 효율적이지 않은 것으로 판명된 경우에, Aj(ej, sm, cn)는 A"j(ej, sm, cn)로 조절(adjust)될 것이다.
동일한 정황 cn인 동일한 상태 sm에 있어서 미래 시점 t+m에 동일한 이벤트 ej가 제공될 때, 시점 t+m에 상기 재조정된 A"j(ej, sm, cn)가 수행될 것이다.
비즈니스 이벤트들, 과학적 또는 환경적 현상을 취급하는 가능한 유한 개의 작동들이 있다는 점, 그리고 미지(unknown)이거나 예기 불가능한 비즈니스 이벤트들, 과학적 또는 환경적 현상들이 있을 수 있음에도 불구하고 상기 가능한 작동들이 미리 결정될 수 있다는 점에 주목하여야 한다. 즉, 가능한 작동들은 미리 결정될 수 있으며, 사전에 구현될 수 있다.
이를 위한 추론-기반의 이벤트 관리를 위한 방법 및 시스템은 소프트웨어 서비스의 출력으로부터 상기 소프트웨어 서비스의 추가적 입력 인터페이스로의 피드백 루프를 통한 기계 학습을 가능하게 하는 소프트웨어 엔지니어링 모델을 요구할 수 있다. 이와 같은 신규한 소프트웨어 엔지니어링 모델은, 적어도 하나의 컴퓨팅 엔티티로 하여금 본 발명에서 설명된 방법을 수행할 수 있게 하는 컴퓨터 프로그램, 혹은 컴퓨터 소프트웨어를 구성하기 위하여 제공되는 것으로서, 도 5에 개념적으로 도시되어 있다.
도 5는 본 발명에 따른 자가적응형 동적 다차원 배열의 관리 방법이 적용된 소프트웨어에 있어서 입출력 및 제어의 관계를 개념적으로 도시한 도면이다.
도 5를 참조하면, 이와 같은 자가적응형 소프트웨어 엔지니어링 모델에는 소프트웨어 구성요소에 있어서 입력 데이터 및 출력 데이터에 관한 기존의 인터페이스들에 추가적으로 "제어" 인터페이스가 도입될 수 있다.
이와 같은 새로운 구성요소의 모델링에 있어서, 각각의 소프트웨어 구성요소는 3개의 외부 인터페이스를 구비하는바, 이들은 (1) 상기 구성요소에 의하여 프로세싱될 입력 데이터를 수신하기 위한 기존 인터페이스; (2) 상기 입력 데이터를 프로세싱하고 출력 데이터를 생성하는 것과 연관되는 비즈니스 규칙들을 제공함으로써 상기 구성요소의 내부 거동을 제어하기 위한 추가 인터페이스; 및 (3) 출력 데이터를 생성하기 위한 기존의 인터페이스이다.
상기 소프트웨어 구성요소는 3개의 외부 인터페이스를 통하여 상호작용하는바, 하나는 입력 데이터에 접근하기 위한 것("입력" 인터페이스)이고, 다른 하나는 출력 데이터를 생성하기 위한 것("출력" 인터페이스)이며, 또 다른 하나는, 유사한 정황들 및 유사한 상태에서 유사한 이벤트들에 대하여 취해진 이전의 작동들에 따라 상기 소프트웨어 구성요소의 내부 거동을 조절하도록 앞선 출력(경험된 데이터)을 수용하기 위한 것("제어" 인터페이스)이다.
이 자가적응형 동적 소프트웨어 구성요소 모델은 예외들의 적응적 취급을 위한 기계 학습뿐만 아니라 비즈니스 정책들 및 과학적 예외들의 증거-기반 채용도 가능하게 하는바, 도 5에 도시된 바와 같다.
도 5에는 입력을 수신하고 출력을 산출하는 것에 덧붙여 비즈니스 촉발 요인(business triggers) 또는 환경적 현상을 수용하기 위한 추가적인 외부 인터페이스를 갖춘 자가적응형 동적 소프트웨어 구성요소가 참조부호 500으로 개념적으로 도시되어 있다.
도 5의 참조부호 501는 상기 소프트웨어 구성요소에 의하여 프로세싱될 입력 데이터를 나타내며, 참조부호 502는 입력 데이터를 수신하기 위한 상기 소프트웨어 구성요소의 외부 인터페이스(즉, “입력” 인터페이스)를 나타낸다. 참조부호 503는 상기 입력 데이터를 프로세싱한 결과로서 상기 소프트웨어 구성요소에 의하여 생성되는 출력 데이터를 나타내며, 참조부호 504는 상기 출력 데이터를 전달하기 위한 상기 소프트웨어 구성요소의 외부 인터페이스(즉, “출력” 인터페이스)를 나타낸다. 도 5의 참조부호 505는 비즈니스 촉발 요인 또는 환경적 현상을 나타내며, 참조부호 506는 상기 소프트웨어 구성요소의 내부 거동을 변경시킬 수 있는 추가적 입력으로서 상기 비즈니스 촉발 요인 또는 환경적 현상을 수용하기 위한 외부 인터페이스(즉, “제어” 인터페이스)를 나타낸다. 참조부호 507는 본 발명의 일 실시예에서 상기 소프트웨어 구성요소의 결과를 피드백함으로써 상기 소프트웨어 구성요소의 거동을 조절하는 피드백 루프를 나타내고, 참조부호 508는 본 발명의 일 실시예에서 추가적 제어 입력에 의하여 그 거동이 영향을 받는 상기 동적 소프트웨어 구성요소의 결과를 나타내는 방정식에 해당된다.
종래의 소프트웨어 엔지니어링 모델에서 함수 F를 제공하는 소프트웨어 구성요소의 출력 O은 다음 등식으로 보여진 바와 같이 입력 I에 의하여 결정되었다.
O = F(I)
상기 자가적응형 동적 소프트웨어 엔지니어링 모델에서는, 함수 F를 제공하는 소프트웨어 구성요소의 출력 O은 입력 I을 프로세싱하기 위하여 앞선 결과(경험) C에 의하여 조절되는바, 다음 등식으로 보여지는 바와 같으나, 상기 소프트웨어 구성요소를 수정하여야 할 필요는 없다.
O = F(I, C)
따라서, 동일한 소프트웨어 구성요소가 사전의 결과에 따라 동일한 입력에 대하여 상이한 출력을 산출할 수 있다.
예외적 이벤트들이 발생한 시점에 상기 예외적 이벤트들과 비즈니스, 과학적 또는 환경적 조건들에 기초하여 작동들을 결정하는 관리 정책은, 인간에 의하여 판독 가능하고 기계에 의하여 판독 가능한 규칙 정의(rule definitions)의 생성 및 유지를 위한 자연인 인터페이스(natural human interface)를 통하여 적용 및 관리될 수 있다.
한편, 전술한 바와 같이 자가적응형 동적 다차원 배열이 확장되는 과정의 구체적인 일 방안은 아래에서 도 6을 참조하여 설명하는 바와 같다.
도 6은 본 발명에 따라 자율적인 의사 결정을 위하여 자가적응형 동적 다차원 배열을 관리하는 방법의 다른 실시예를 예시적으로 나타낸 흐름도이다.
이 도 6은 본 발명의 동적 다차원 배열을 초기화하고, 추가적인 이벤트들의 발견 사항들 및 앞선 이벤트 프로세싱의 결과를 반영하는 지속적인 시스템적 업데이트, 재조정 및 확장을 위하여 동적 다차원 배열을 동적으로 관리하기 위한 방법의 구체적인 단계를 도시한 것인바, 도 6의 참조부호 600은 이와 관련된 전체 방법 및 프로세스들을 개략적으로 보여준다.
도 6을 참조하면, 전술한 단계(302 내지 305)에 대응되는 이 다른 실시예(601 내지 609)는, 이벤트들의 목록, 연관된 상태들 및 사전 정황들과 그 이벤트들을 프로세싱하기 위하여 수행될 작동들에 기초하여 동적 다차원 배열을 생성하는 데에 이용되는 단계(601)를 포함한다. 상기 동적 다차원 배열의 초기 구성을 위한 입력 소스(input sources)는 비즈니스 모델 및 아키텍처, 정보 모델 및 아키텍처, 비즈니스 시나리오들 및 이용 케이스들(use cases), 구성요소 모델 및 애플리케이션 아키텍처뿐만 아니라 이력 데이터도 포함한다.
다음으로, 이 실시예(601 내지 609)는, 발생 이벤트가 미리 정의되지 않은 신규의 이벤트인지 여부를 판정하는 단계(602)를 포함한다. 이 단계(602)에서 정의된 모든 이벤트들은 시스템적인 고속 비교(systematic and fast comparison)을 위하여 소수(prime number)들에 의하여 표현될 수 있다.
그 후, 이 실시예(601 내지 609)는, 상기 신규의 이벤트가 상기 발생 이벤트에 포함되어 있지 않으면(602), 상기 컴퓨팅 엔티티가, 이전 회차에서의 단계(306)에서의 상기 발생 이벤트의 수행의 결과에 따른 피드백에 의한 분석을 수행하는 단계(603 및 604)를 더 포함하는데, 구체적으로, 단계(603)는 도 5에 도시된 바와 같은 “제어 인터페이스”를 통하여 앞선 결과에 대한 피드백을 수신하는 단계에 해당되며, 단계(604)는 개념적으로 위에서 설명된 바와 같이 추론을 통해 앞선 결과의 효과에 대한 피드백을 분석하는 단계에 해당된다.
한편, 이 실시예(601 내지 609)는, 예기하지 않은 신규의 이벤트가 상기 발생 이벤트에 포함되어 있으면(602), 상기 컴퓨팅 엔티티가, 상기 신규의 이벤트에 대하여 최근접 이벤트-상태 조합(event-state pair)을 찾아 상기 자가적응형 동적 다차원 배열을 확장하는 단계(605 및 606)를 더 포함하는데, 구체적으로, 단계(605)는 새로이 발견된 이벤트를 위하여 상기 배열을 증가시켜 현재의 동적 다차원 배열을 확장하는 단계에 해당되며, 단계(606)는 현재 동적 다차원 배열로부터 가장 근접한 이벤트 및 관련 상태의 집합을 찾아 이에 대응되는 상기 동적 다차원 배열의 셀로부터 동작들의 집합을 복사하여 새로이 발견된 이벤트에 대한 초기 구성으로 설정하는 단계에 해당된다.
다음으로, 이 실시예(601 내지 609)는, 단계(605 및 606)에서 상기 자가적응형 동적 다차원 배열이 확장되거나, 단계(603 및 604)에서의 상기 피드백이 음성 피드백(negative feedback)이라면(607), 상기 컴퓨팅 엔티티가, 상기 자가적응형 동적 다차원 배열에 포함된 이벤트-상태 조합에 대한 최적의 작동들의 목록을 추론(608)함으로써, 상기 자가적응형 동적 다차원 배열을 재조정(609)하는 단계(608 및 609)를 포함하도록 구성된다. 더 구체적으로, 단계(607)는 앞선 이벤트 프로세싱의 결과를 평가하고, 현재 작동들의 집합이 음성 결과(negative results)를 산출했는지 여부를 판정하는 단계에 해당되며, 단계(608)는 앞선 작동들 및 관련 결과들 사이에 추론을 통하여 작동들의 목록을 최적화하는 단계에 해당되는바, 이는 앞서 개념적으로 설명했던 바와 같으며, 단계(609)는 상기 동적 다차원 배열의 셀을 최적화된 작동들의 목록 및 연관된 상태들 및 정황들로 업데이트하는 단계에 해당된다.
이와 같이 본 발명은 전술한 모든 실시예들에 걸쳐, 의사 결정 트리 및 분기 인스트럭션들(예컨대, IF … THEN … ELSE; CASE)이, 자가적응형 동적 다차원 배열(saDMA)에 대한 직접 접근(direct access); 및 이벤트를 위하여 수행될 작동들 및 상기 이벤트들의 프로세싱에 대한 요구되는 정황들 및 상태들의 대응되는 집합의 색인화된 검색으로 대체되는 효과가 있다.이로써 얻어지는 본 발명 기술의 이점은, 프로그램 구조 및 로직이 극적으로 단순화되어 결과적으로 의사 결정 로직의 복잡성뿐만 아니라 프로그래밍 오류 및 실수의 여지도 제거될 수 있다는 점이다. 이로 인하여 소프트웨어의 신뢰도가 현저하게 향상될 것이며, 이는 소프트웨어 안정성 및 탄력성을 향상시킬 것이다.
게다가, 종래의 소프트웨어 엔지니어링 모델에 따라 의사 결정에 이용되던 분기 인스트럭션들의 거대한 집합도 제거된다. 이와 같은 단순화는 고성능 및 고확장성으로 귀결될 것이며, 고속의 시간 임계적 이벤트들을 취급하기 위한 프로세싱 시간을 현저하게 개선할 수 있을 것이다.
본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
그와 같이 균등하게 또는 등가적으로 변형된 것에는, 예컨대 본 발명에 따른 방법을 실시한 것과 동일한 결과를 낼 수 있는, 논리적으로 동치(logically equivalent)인 방법이 포함될 것이다.
본 발명이 적용된 신규한 소프트웨어 엔지니어링 모델, 방법 및 시스템은 하기의 다양한 효과를 얻기 위한 산업간 용례들에 적용될 수 있다.
1. 프로그래밍 로직에 어떠한 변경도 필요하지 않으면서도 새로이 발견된 사항들, 미예기되거나 예기 불가능한 이벤트 및 상황들에 자가적응할 수 있게 함
2. 유사한 환경에서 유사한 이벤트들에 대한 작동의 결과에 기초하여 경험으로부터 소프트웨어의 거동을 조절하는 결과 기반 학습
3. 임무 수행에 필수적인 운용(operations)에 대한 안전성 및 탄력성; 및
4. 시간 임계적 이벤트들을 고속으로 취급하기 위한 고성능 및 고확장성.
예를 들어, 본 발명은 경험 및 작동의 결과로부터 기계 학습을 통한 유연성 및 자가적응성, 안전성, 탄력성, 고성능 및 고확장성이 요구되는 하기와 같은 용례들에 적용될 수 있다.
1. 인간두뇌의 인지능력과 신경가소성 및 자가적응 유연성에 기반을 둔 인공지능
2. 스마트홈 및 사이버마을의 구현을 위한 사이버 물리 시스템(Cyber Physical System) 및 IoT(Internet of Things)
3. 인체내 세포변화의 초정밀 검사와 사전 징후분석을 통한 조기진단으로 예방적 보건복지 및 의료서비스
4. 금융사기 및 자금세탁 방지를 포함한 실시간 금융거래관리
5. 자동차 또는 군용차량의 무인운영 및 자율주행 시스템
6. 무인 생산공장 운영과 사이버 비서 및 사이버 간호사 구현을 위한 로봇
7. 육해공군의 공동작전을 위한 통합통신과 지휘통제(CCC) 시스템
8. 실시간 수요에 적응하는 전력 분배 및 관리 시스템
9. 비행기부품 및 합성기관의 복잡한 구조물의 3D 인쇄
10. 무인 정찰기 및 대륙간 탄도탄의 자동 항해 시스템
11. 지능형 전자장치 또는 수치 제어시스템의 내재 소프트웨어(embedded software)
12. 비행기, 전투기, 항공모함, 잠수함의 자율주행용 온보드 소프트웨어
실질적인 사례를 들면, 본 발명을 이용하여 전력 배전 및 송전 관리운영에서 지역별 실시간 수요를 반영한 서비스를 구현할 수 있다. 이 원천 기술을 이용한 전력 배전 및 송전 관리운영 시스템은 지리적 위치, 계절, 요일, 날씨(예컨대, 섭씨 37도의 무더위), 사회적 대행사(예컨대, 올림픽 게임 중계)를 고려한 전력 수요를 지역별로 실시간 예측하여 정전 사태를 미연에 방지할 수 있다. 뿐만 아니라, 그 시스템을 사람이 변경하지 않고도, 소비자 요구의 변화에 따라 전력 배전 및 송전 관리 운영을 자율적으로 적응하도록 한다. 따라서, 국가별 그리고 지역별 특정한 요구 사항이나 예기치 못했던 환경 변화에 자율적으로 대처하고 적응해 나가게 한다. 즉 사람의 개입 없이, 시스템이 자율적으로 제반 수요나 환경 변화에 대응한다는 것이다
또 다른 예로는, 인터넷 기반 전자상거래의 실시간 가격책정에 이 원천기술을 적용할 수 있다. 이 경우 제반 정책과 규정, 그리고 각 개인의 특성을 반영하여 보다 개인화된 최적가격을 제공할 수 있다. 결과적으로, '고객단위 맞춤형 온라인쇼핑'을 위한 “정밀 마케팅(Precision Marketing)” 을 구현할 수 있다.
전자 상거래 외에도, 이 원천기술을 은행 업무에 적용할 수 있다. 각 개인의 은행과의 관계와 특수한 요구사항을 반영하여, 각 개인별로, 최적의 가격과 서비스를 제공할 수 있는 '맞춤형 고객중심 뱅킹서비스'도 구현할 수 있다.
다만, 본 발명의 사상이 이와 같이 예시한 실제적 용례들에 국한되는 것으로 이해되어서는 아니된다는 점은 명백하다.

Claims (18)

  1. 적어도 하나의 컴퓨팅 엔티티가, 자가적응형 동적 다차원 배열(saDMA; self-adaptive dynamic multidimensional array)을 관리하여 인공지능의 신경가소성 및 자가적응 유연성을 구현하는 컴퓨팅 엔티티 동작 방법으로서,
    상기 자가적응형 동적 다차원 배열에 포함된 개별 셀(cell)은, 적어도 개별 이벤트, 개별 상태 및 개별 정황을 포함하는 파라미터들에 의하여 구분되고, 상기 개별 셀은 상기 개별 셀에 대응되는 상기 파라미터들에 따라 수행될 작동(action)들을 포함하고,
    상기 방법은,
    (a) 적어도 하나의 발생 이벤트가 획득되면, 상기 적어도 하나의 컴퓨팅 엔티티(computing entity)가, 상기 자가적응형 동적 다차원 배열을 참조하여 상기 발생 이벤트에 적합한 작동들의 목록을 획득하는 단계;
    (b) 상기 컴퓨팅 엔티티가, 상기 적합한 작동들의 목록에 속한 개별 작동을 수행하는 단계; 및
    (c) 상기 컴퓨팅 엔티티가, 상기 (b) 단계의 수행의 결과에 기초하여 상기 자가적응형 동적 다차원 배열을 재조정하는 단계를 포함하고,
    상기 (a) 단계는,
    (a1') 예기하지 않은 신규의 이벤트가 상기 발생 이벤트에 포함되어 있으면, 상기 컴퓨팅 엔티티가, 상기 신규의 이벤트를 위하여 상기 자가적응형 동적 다차원 배열을 확장하고, 상기 자가적응형 동적 다차원 배열로부터 상기 신규의 이벤트와 가장 근사한 이벤트-상태 조합을 이벤트들 사이의 연관성 및 상관 관계에 대한 이력 데이터(historical data)의 통계적 분석에 기초하여 찾아 대응되는 상기 동적 다차원 배열의 셀로부터 작동군을 추출하여 상기 신규한 이벤트에 대한 초기 구성으로 설정하는 단계;
    (a2') 상기 신규의 이벤트가 상기 발생 이벤트에 포함되어 있지 않으면, 상기 컴퓨팅 엔티티가, 이전 회차에서의 상기 (b) 단계에서의 상기 발생 이벤트의 수행의 결과에 따른 피드백을 획득하는 단계; 및
    (a3') 상기 (a1') 단계에서 상기 자가적응형 동적 다차원 배열이 확장되거나, 상기 (a2') 단계에서의 상기 피드백이 음성 피드백(negative feedback)이라면, 상기 컴퓨팅 엔티티가, 상기 자가적응형 동적 다차원 배열을 재조정하는 단계를 포함하는
    컴퓨팅 엔티티 동작 방법.
  2. 제1항에 있어서,
    상기 (a) 단계 전에,
    (a0) 상기 컴퓨팅 엔티티가, 상기 자가적응형 동적 다차원 배열을 초기 구성하는 단계를 더 포함하는
    컴퓨팅 엔티티 동작 방법.
  3. 제2항에 있어서,
    상기 초기 구성은 이미 알려진 이벤트들, 상태들 및 정황들 사이의 연관성 및 상관 관계에 대한 이력 데이터(historical data)의 통계적 분석에 기초하여 수행되는 것을 특징으로 하는
    컴퓨팅 엔티티 동작 방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 자가적응형 동적 다차원 배열은 색인화(indexed)되어 있는 것을 특징으로 하는
    컴퓨팅 엔티티 동작 방법.
  6. 삭제
  7. 삭제
  8. 삭제
  9. 제1항에 있어서,
    상기 (c) 단계에서,
    상기 자가적응형 동적 다차원 배열은, 상기 (b) 단계의 수행의 결과인 사후 상태 및 사후 정황에 기초하여 재조정되는 것을 특징으로 하는
    컴퓨팅 엔티티 동작 방법.
  10. 제1항에 있어서,
    상기 (c) 단계에서,
    상기 (b) 단계의 수행의 결과는, 현 회차에서의 상기 (b) 단계의 수행의 결과 및 이전 회차에서의 상기 (b) 단계의 수행의 결과 중 적어도 일부를 포함하는 것을 특징으로 하는
    컴퓨팅 엔티티 동작 방법.
  11. 자가적응형 동적 다차원 배열(saDMA; self-adaptive dynamic multidimensional array)을 관리하여 인공지능의 신경가소성 및 자가적응 유연성을 구현하는 컴퓨터 소프트웨어가 실행되는 컴퓨팅 엔티티로서,
    상기 자가적응형 동적 다차원 배열에 포함된 개별 셀(cell)은, 적어도 개별 이벤트, 개별 상태 및 개별 정황을 포함하는 파라미터들에 의하여 구분되고, 상기 개별 셀은 상기 개별 셀에 대응되는 상기 파라미터들에 따라 수행될 작동(action)들을 포함하고,
    상기 컴퓨터 소프트웨어는,
    (i) 적어도 하나의 발생 이벤트가 획득되면, 상기 자가적응형 동적 다차원 배열을 참조하여 상기 발생 이벤트에 적합한 작동들의 목록을 획득하도록 지시하는 코드(code);
    (ii) 상기 적합한 작동들의 목록에 속한 개별 작동을 수행하도록 지시하는 코드; 및
    (iii) 상기 (ii) 코드의 수행의 결과에 기초하여 상기 자가적응형 동적 다차원 배열을 재조정하도록 지시하는 코드를 포함하고,
    상기 (i) 코드는,
    (i-1') 예기하지 않은 신규의 이벤트가 상기 발생 이벤트에 포함되어 있으면, 상기 신규의 이벤트를 위하여 상기 자가적응형 동적 다차원 배열을 확장하고, 상기 자가적응형 동적 다차원 배열로부터 상기 신규의 이벤트와 가장 근사한 이벤트-상태 조합을 이벤트들 사이의 연관성 및 상관 관계에 대한 이력 데이터(historical data)의 통계적 분석에 기초하여 찾아 대응되는 상기 동적 다차원 배열의 셀로부터 작동군을 추출하여 상기 신규한 이벤트에 대한 초기 구성으로 설정하는 코드;
    (i-2') 상기 신규의 이벤트가 상기 발생 이벤트에 포함되어 있지 않으면, 이전 회차에서의 상기 (ii) 단계에서의 상기 발생 이벤트의 수행의 결과에 따른 피드백을 획득하는 코드; 및
    (i-3') 상기 (i-1') 단계에서 상기 자가적응형 동적 다차원 배열이 확장되거나, 상기 (i-2') 단계에서의 상기 피드백이 음성 피드백(negative feedback)이라면, 상기 자가적응형 동적 다차원 배열을 재조정하는 코드를 포함하는 컴퓨터 소프트웨어가 실행되는 컴퓨팅 엔티티.
  12. 제11항에 있어서,
    상기 컴퓨터 소프트웨어는,
    (i-0) 상기 (i) 코드의 수행 전에, 상기 자가적응형 동적 다차원 배열을 초기 구성하여 보유하도록 지시하는 코드를 더 포함하는 것을 특징으로 하는
    컴퓨터 소프트웨어가 실행되는 컴퓨팅 엔티티.
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 제11항에 있어서,
    상기 (iii) 코드에서,
    상기 자가적응형 동적 다차원 배열은, 상기 (ii) 코드의 수행의 결과인 사후 상태 및 사후 정황에 기초하여 재조정되는 것을 특징으로 하는
    컴퓨터 소프트웨어가 실행되는 컴퓨팅 엔티티.
  18. 제11항에 있어서,
    상기 (iii) 코드에서,
    상기 (ii) 코드의 수행의 결과는, 현 회차에서의 상기 (ii) 코드의 수행의 결과 및 이전 회차에서의 상기 (ii) 코드의 수행의 결과 중 적어도 일부를 포함하는 것을 특징으로 하는
    컴퓨터 소프트웨어가 실행되는 컴퓨팅 엔티티.
KR1020170081667A 2017-06-28 2017-06-28 인공지능의 신경가소성 및 자가적응 유연성을 구현하기 위하여 자가적응형 동적 다차원 배열을 관리하는 방법과 이를 이용한 컴퓨터 소프트웨어 KR102011094B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170081667A KR102011094B1 (ko) 2017-06-28 2017-06-28 인공지능의 신경가소성 및 자가적응 유연성을 구현하기 위하여 자가적응형 동적 다차원 배열을 관리하는 방법과 이를 이용한 컴퓨터 소프트웨어

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170081667A KR102011094B1 (ko) 2017-06-28 2017-06-28 인공지능의 신경가소성 및 자가적응 유연성을 구현하기 위하여 자가적응형 동적 다차원 배열을 관리하는 방법과 이를 이용한 컴퓨터 소프트웨어

Publications (2)

Publication Number Publication Date
KR20190001711A KR20190001711A (ko) 2019-01-07
KR102011094B1 true KR102011094B1 (ko) 2019-08-14

Family

ID=65016731

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170081667A KR102011094B1 (ko) 2017-06-28 2017-06-28 인공지능의 신경가소성 및 자가적응 유연성을 구현하기 위하여 자가적응형 동적 다차원 배열을 관리하는 방법과 이를 이용한 컴퓨터 소프트웨어

Country Status (1)

Country Link
KR (1) KR102011094B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008517362A (ja) 2004-10-18 2008-05-22 マンザトロン−アイピー リミテッド サブジェクトシステムへの作用

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008517362A (ja) 2004-10-18 2008-05-22 マンザトロン−アイピー リミテッド サブジェクトシステムへの作用

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Mostarda, Leonardo, et al. "A state machine-based approach for reliable adaptive distributed systems." Engineering of Autonomic and Autonomous Systems (EASe), IEEE, 2010.*

Also Published As

Publication number Publication date
KR20190001711A (ko) 2019-01-07

Similar Documents

Publication Publication Date Title
Gerasimou et al. Synthesis of probabilistic models for quality-of-service software engineering
Zhang et al. Adaptive fault diagnosis and fault-tolerant control of MIMO nonlinear uncertain systems
Borrajo et al. Multi-agent neural business control system
Su et al. Deep belief network enabled surrogate modeling for fast preventive control of power system transient stability
Ahmed et al. Machine learning in cyber-physical systems in industry 4.0
CN112422699B (zh) 一种基于动态调整的无人机集群行动方案生成方法
Li et al. Risk assessment model based on multi-agent systems for complex product design
Gheibi et al. Lifelong self-adaptation: Self-adaptation meets lifelong machine learning
Aleti Designing automotive embedded systems with adaptive genetic algorithms
Atif et al. Soft computing techniques for dependable cyber-physical systems
CN115705322A (zh) 一种数据库管理系统、数据处理方法及设备
Khan et al. An empirical study of modeling self-management capabilities in autonomic systems using case-based reasoning
Afzaal et al. Formal analysis of subnet-based failure recovery algorithm in wireless sensor and actor and network
Jain et al. Threshold N-policy for degraded machining system with multiple type spares and multiple vacations
Khan et al. Enabling self-configuration in autonomic systems using case-based reasoning with improved efficiency
Abro et al. Artificial intelligence enabled effective fault prediction techniques in cloud computing environment for improving resource optimization
KR102011094B1 (ko) 인공지능의 신경가소성 및 자가적응 유연성을 구현하기 위하여 자가적응형 동적 다차원 배열을 관리하는 방법과 이를 이용한 컴퓨터 소프트웨어
Houzé et al. A generic and modular reference architecture for self-explainable smart homes
Gheibi et al. Dealing with drift of adaptation spaces in learning-based self-adaptive systems using lifelong self-adaptation
Tripathi et al. An efficient metrics based self‐adaptive design model by multiobjective gray wolf optimization with extreme learning machine for autonomic computing system application
Riaz et al. Challenges with Providing Reliability Assurance for Self-Adaptive Cyber-Physical Systems
Hafaiedh et al. A distributed formal-based model for self-healing behaviors in autonomous systems: from failure detection to self-recovery
Martins et al. On a multisensor knowledge fusion heuristic for the Internet of Things
Dumitrache et al. Intelligent cyber-enterprise in the production context
Jamsheed et al. An improved neuro‐adaptive‐optimal control for oscillation damping in wind‐integrated power systems

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant