검색
검색 팝업 닫기

Ex) Article Title, Author, Keywords

Article

Split Viewer

전자저널 논문

2021; 31(1): 109-130

Published online February 28, 2021 https://doi.org/10.29275/jerm.2021.02.31.1.109

Copyright © Korea Society of Education Studies in Mathematics.

Coding Environment and Exploration Curriculum for Max-Min Optimizations with an Evolution Strategy

진화전략(Evolution Strategy)을 활용한 최대 · 최소 탐구과정 및 코딩환경 연구

강한별, 이미숙, 조한혁

The purpose of this study is to develop a curriculum of school mathematics and artificial intelligence regarding max-min problems. We also developed a coding environment for a designed curriculum that can be accessed and utilized at codingmath.org without any additional installation. The curriculum uses an evolution strategy-based gradient descent method founded on a school probability and statistics curriculum with an experiment using dice; this curriculum is designed to work when the function is not differentiable and is ultimately linked to a calculus-based gradient descent method. The coding environment, in which even middle school students can visualize the min-max problem of f(x, y), uses a three-dimensional function graph with minimal coding inputs and explores the gradient descent process using a two-dimensional Python animation. This study, which is an attempt to combine mathematical problem solving and computational thinking in the context of max-min problems, further discusses ideas regarding the ways to integrate AI and coding in mathematics education.

4차 산업혁명 시대를 살아가는 우리는 영화ㆍ동영상ㆍ음악 추천 시스템, 스마트 폰의 시리(Siri)나 빅스비(Bixby), 기가지니, 무인자동차 등 삶의 대부분의 영역에서 인공지능(AI)을 활용한 기술들을 마주하며 살아가고 있다. 수많은 영역에서 마치 요술램프처럼 우리의 문제들을 해결해주고 있는 인공지능의 기저에는 사실 다름 아닌 수학이 자리 잡고 있다. 인공지능은 어제 오늘의 일이 아닌 1950년대부터 연구되어오던 것으로, 최근 컴퓨팅 파워의 비약적인 발전과 함께 수학적 모형 및 알고리즘의 개발, 네트워크의 발전으로 인해 그 연구와 성과가 더욱 활성화되고 있다(Ministry of Science and ICT, 2018).

이러한 변화의 흐름 속에서 교육부는 인공지능을 학교 교육에 적극 도입하는 2가지 방안으로 초등학교 저학년(1, 2학년)을 대상으로 인공지능을 활용한 ‘똑똑! 수학탐험대’ 서비스를 제공하였으며, 2021년 2학기부터 고등학교에서 ‘인공지능 기초’와 ‘인공지능 수학’으로 진로 선택과목을 신설함을 확정 고시하였다(Ministry of Education, 2020b). 이러한 방안은 기술적 측면에서 인공지능을 수준별 개별화 학습과 자기 주도적 학습을 위한 교육플랫폼에 적용하는 것과, 내용적 측면에서 인공지능을 교과 학습으로 포함하는 것이라 해석된다.

초ㆍ중등교육에서 인공지능을 사용한 국외 논문을 체계적으로 분석한 Shin(2020)의 연구결과 에 따르면, 관련된 국외 연구의 대부분은 인공지능을 교육시스템이나 교육플랫폼에 적용하는 것이었고 수학교육 맥락에서의 구체적인 사례로는 단계형 ITS(Intelligent Tutoring System, 이하 ITS), 대화형 ITS, 협력학습 시스템이 있었다. 다른 선행연구에서는 대부분의 국내 연구들이 주로 인공지능과 관련된 기술의 활용과 교육공학적 관점에서 이루어졌다고 하였다(Park, 2020; Shin, 2019). 또한 여러 선행연구에서 인공지능 관련 기술을 교육에 활용하는 것 못지않게 인공지능의 원리와 개념을 이해하기 위한 수학교육이 요구된다는 주장을 볼 수 있다(Heo, 2020; Ko, 2020; Lee, 2020; Lee & Huh, 2018; Lee, Lee, & Ham, 2020; Weintrop, Beheshti, Horn, Orton, Jona, Trouille, & Wilenskys, 2016). 이는 인공지능 분야에서 수학의 유용성을 인식하고 인공지능에 필요한 수학 개념을 통해 인공지능을 이해하고 활용할 수 있도록 인공지능 수학 과목의 내용을 편성하는 것을 목표로 하는 교육부의 취지와 부합한다고 볼 수 있다(Ministry of Education, 2020a, 2020b).

본 연구의 목표는 인공지능을 기술적으로 적용하기보다 수학교과와의 내용적 융합을 위하여 진화전략(Evolution Strategy)기반의 최대ㆍ최소 문제의 탐구과정과 이를 위한 코딩환경을 개발하고 구현하는 것이다. 인공지능의 지도학습은 input 데이터에 대응하는 output 데이터가 주어져 있는 상황에서, output 데이터와 인공지능의 예측 사이의 오차를 최소화하는 알고리즘으로 문제를 해결한다. 인공지능의 핵심적인 작동원리인 오차에 대한 손실함수의 최적화는 학교수학에서 다루고 있는 최대ㆍ최소의 문제와 연결되어 설명될 수 있다. 오차를 최소화하는 방법으로서 기존에 널리 알려진 미분 기반의 경사하강법(Gradient Descent)은 대학의 인공지능 관련 교과는 물론 향후 고등학교에 도입될 ‘인공지능 수학’ 과목에서도 핵심적인 개념이다. 하지만 미분을 활용한 경사하강법은 고등수학의 내용을 다루기 때문에 중학생들이 이해하기가 쉽지 않으므로, 이를 대체하는 방법으로 인공지능의 진화전략을 기반으로 하는 최대ㆍ최소 문제의 탐구과정과 이를 위한 코딩환경을 설계하였다.

본 연구의 내용은 2019년 S대 과학영재교육원 수리정보분과 중학교 2학년과 3학년 학생들을 지도한 것을 바탕으로 하였으나, 영재원 대상이 아닌 일반 학생들까지 쉽게 접근할 수 있도록 아주 친숙하고 낮은 수준부터 시작하여 심화 수준까지의 탐구과정으로 재구성하였다. 영재원 대상이 아닌 일반학생이 접근할 수 있도록 구성한다는 뜻은 f(x, y)와 같은 수학적 표현이나 정규분포의 엄밀한 수학개념을 도입하는 것이 아니라, 주사위와 로봇개미 등이 등장하는 탐구 상황에서 주변 높이의 데이터를 모아 평균 등으로 분석하고 또한 경사가 높은 곳으로 이동하는 스토리텔링 기반의 최적화 탐구로 시작한다는 것이다. 또한 영재원 학생 등을 위한 심화수준은 알고리즘의 이해를 포함하여 함수식으로 다루며 정규분포 등의 수학적 개념을 탐구하는 계단식의 과정으로 세분화한다. 다시 말해 미분을 다루지 않는 저학년 학생을 위해 확률ㆍ통계 기반의 진화전략으로 경사하강법을 도입하고 심화된 수준에서는 미적분 기반의 경사하강법까지 연계하여, 확률ㆍ통계와 미적분을 융합하는 탐구과정을 설계하는 것이다.

본 연구에서 설계된 탐구과정과 코딩환경은 필요한 현장교육에서 수정과 적용이 가능하도록 온라인 코딩환경으로 공개하여 제공한다.

1. 진화전략(Evolution Strategy)

선행연구에서 밝힌 진화전략은 블랙박스 최적화 알고리즘의 한 분류로서 자연 진화에 착안한 휴리스틱 탐색 절차(heuristic search procedures)를 가진다. 자연 진화와 같이 각 반복(세대)마다, 파라미터의 집단(유전형)은 작은 변화(돌연변이)를 가지며 비용함수(적합도)를 평가한다. 가장 높은 평가점수의 파라미터는 다음 세대로 전달하며, 비용함수가 완전히 최적화될 때까지 이와 같은 절차를 반복한다(Rechenberg & Eigen, 1973; Schwefel, 1977; Salimans, Ho, Chen, & Sutskever, 2017, p. 2에서 재인용). 여기서 말하는 블랙박스 최적화는 최적화하려는 비용함수(목적함수)에 대하여 파라미터 공간에 있는 개체에 대한 적합도 평가값 이외의 어떤 부가적인 정보를 필요로 하지 않는다(Sehnke, Osendorfer, Rückstieß, Graves, Peters, & Schmidhuber, 2010). 또한, 진화 알고리즘은 집단(population)을 어떻게 표현하는지와 돌연변이의 결합방식에 따라 다양하게 세분화된다. 본 연구에서 따르는 진화전략 알고리즘은 Salimans et al.(2017)Sehnke et al.(2010)의 논문에서 구현한 것으로 다음의 수식이 핵심 아이디어이다.1)

θf(θ)1σ2EεN(0,σ2)εf(θ+ε)

진화전략을 한마디로 표현하자면 표본이 정규분포를 따를 때, 개념적으로 표본의 함숫값을 이용해 미분에 근사시키는 것이다. 수식에서 살펴볼 수 있듯이 진화전략은 개체의 평가 방법 외에는 문제에 대한 정보를 거의 필요로 하지 않기 때문에, 거의 모든 종류의 최적화 문제에 적용될 수 있다. 비용함수(목적함수)는 해석적 형태일 필요는 없으며, 시뮬레이션 결과가 비용함수로 사용될 수도 있다. 또한 선형 및 비선형 제약조건을 갖는 고차원, 멀티모달의 비선형 문제를 해결하는 데에 활용되어 많은 시험 사례에서 반복적인 다른 방법에 비해 성공적임이 입증되었다(Hwang, 2002; Salimans et al., 2017).

본 연구는 이러한 진화전략의 아이디어를 재조직하여 중학교 수준에서 미분 없이도 평균의 개념만 가지고도 조작할 수 있는 활동부터 고등학교 수준에서 다루는 미분 및 다양한 확률ㆍ통계적 지식을 진화전략을 활용하여 통합하는 최대ㆍ최소 탐구과정을 설계한다. 나아가 고등학교 차원에서는 진화전략의 수학적 아이디어를 이해하고 추론하여 중학교 차원의 내용을 재조명하며 다양한 함수의 최대ㆍ최소 탐구로 나아가도록 나선형(spiral)으로 연계되는 탐구과정을 설계한다.

2. 최대ㆍ최소 탐구를 위한 스토리텔링

본 연구는 학생들이 탐구를 통해 얻는 결과의 타당성을 확보하기 위해 진화전략을 교육적으로 재해석하여 학생들의 수준에서 추론하고 이해할 수 있는 스토리텔링으로 해석하였다. 다음은 스토리텔링을 위해 제시되는 상황과 진화전략에 대한 재해석이다.

산 정상에서 평지에 있는 마을로 내려가는 도중 길을 잃었다고 상상해보자. 설상가상으로 안개가 자욱하게 깔려 코앞의 상황밖에 볼 수 없는데 가진 것이라고는 등산스틱뿐이다. 이러한 상황에서 마을로 내려가기 위해선 어떻게 해야 할까? 아마도 등산스틱으로 주변을 두드려보며 경사가 아래로 향하는 방향으로 한 걸음 한 걸음 내딛어가며 내려가야 할 것이다. 최적화 방법으로 널리 알려진 경사하강법은 비용함수의 값을 최소화하기 위해 경사(gradient)를 이용하여 현재의 위치에서 경사의 반대방향으로 일정 크기만큼 이동하는 것을 반복하는 것이다. 한마디로 미분을 통해 경사를 구하고 경사가 낮은 쪽으로 조금씩 내려가는 것으로, 수학적 개념이 인공지능에 활용되는 대표적인 예이다.

진화전략은 고등학교 미분이 다루는 경사를 미분 없이 확률ㆍ통계로 근사시키는 것으로, 안개가 자욱하게 깔려 있어 등산스틱으로 주변에 대한 정보를 얻듯이 등산스틱 대신에 여러 마리의 로봇개미를 주변에 뿌려서 그 주변위치의 높이(함숫값)에 대한 정보를 얻는 것으로 스토리텔링 할 수 있다. 높이(함숫값)에 대한 정보를 얻기 위한 표본의 분포는 확률의 영역에서 다루며 얻은 표본의 수치적 처리는 통계의 영역에서 분석하여 경사가 아래로 향하는 곳으로 반복하여 나아가는 것을 진화전략 알고리즘의 핵심적인 스토리텔링으로 삼을 수 있다.

θf(θ)1σ2EεN(0,σ2)εf(θ+ε)

본 연구는 앞 절의 (ㄱ)의 수식을 쉽게 스토리텔링하여 현재의 위치에서 주변에 로봇개미들을 random하게 뿌려 그 위치의 높이에 해당하는 정보를 얻고, 높이(함숫값)를 가중치로 삼아서 위치의 변화량의 평균을 구하는 것으로 해석하였다. (ㄱ)에서 ε 은 현재의 위치 θ 로부터 떨어진 로봇개미의 위치 또는 로봇개미가 나아가려는 방향이며, f(θ + ε)는 그 표본개미가 조사한 높이(함숫값)이다. 즉, [로봇개미의 위치 변화량]×[높이(함숫값)]의 간단한 계산 값들의 평균을 이용해 경사의 근삿값을 구할 수 있다는 것이다. 다시 말해 어느 방향으로 움직일지를 말하고 있는 위치 변화량에 대한 표본집단을 임의추출한 후 표본 위치의 높이로 가중치를 부여하여 평균을 구하면 나아갈 방향을 정할 수 있는 것이다. 본 연구는 위와 같은 스토리텔링을 통해 미분을 다루지 않는 중학교 차원에서도 평균만 가지고도 최대ㆍ최소 탐구를 시작해 볼 수 있는 가능성을 모색하였다.

3. Constructionism 기반 마이크로월드

수학자이자 컴퓨터 과학자, 교육자였던 Papert는 발달심리학자 Piaget와 3년간의 공동연구를 통해 Piaget로 대표되는 구성주의(Constructivism) 와 구별되는 구성주의(Constructionism) 교육철학을 정립하였다(Papert & Harel, 1991; Ackermann, 2001). Papert(1972)는 중학교 기하에 소개되는 도형의 핵심이 선분과 각이고, 그것을 흰 눈이 내린 운동장에서 발자국으로 만들려면 앞으로 가고 옆으로 도는 행동에 있음에 착안하여, 중학교 유클리드 기하의 5개의 공리(axiom)와 자와 컴퍼스라는 2개의 도구 대신에 “가자”와 “돌자”라는 2개의 핵심적인 스토리텔링(powerful idea) 명령으로 기하 도형을 만들고 거북 및 동료 학습자들과 수학적 의사소통을 할 수 있는 코딩환경으로 ‘Logo’ 수학나라(Mathland)를 개발하였다. 영어단어 ‘construction’은 기하에서 작도라는 뜻이 있는데, 이러한 이유로 Papert는 자신의 구성주의를 Constructionism이라 불렀다(Papert & Harel, 1991). Constructionism의 핵심은 지식은 단순히 전이되는 것이 아니라 학습자가 마음속에서 능동적으로 구성하는 것이라는 Constructivism의 기본 관점을 전승하면서, 학습자가 전략적으로 주어진 교수 환경을 도구(media)로 상호작용하며 수학적 지식과 기호를 물리적 구성 활동을 통해 내면화 하는 것에 있다(Papert, 1980; Ackermann, 2001; Choi, 2020; Chung, 2020). Logo는 이러한 학습자의 구성을 위해 ‘가자’와 ‘돌자’와 같은 거북이를 움직이는 명령어들과 조건, 제어, 반복 등의 명령을 통하여 화면에 그림을 그리는 컴퓨터 기반 학습 환경이다(Cho, 2003; Choi, 2020). Papert는 자신의 Logo를 실제의 세계에 존재하는 문제와 유사한 제한된 환경의 문제공간으로서 이상적인 마이크로월드(Microworld) 환경이 될 수 있다고 하였다(Papert, 1980; Kim, 2004).

마이크로월드는 적절한 과제와 교육 체계가 있을 때 제한된 환경 내에서 대상에 대한 조작(operations)을 통해 학습자의 수준에 맞게 자신에게 의미있는 세계를 구성하고, 조작에 의해 결합된 대상을 또 다른 하나의 대상으로 인식하면서 구조화해나가는 경험을 제공하는 컴퓨터 환경을 지칭한다(Clements & Sarama, 2002; Kim, 2004; Choi, 2020). 마이크로월드에서 학생들은 대상에 대한 조작을 통해 학습자에게 의미있는 세계를 구성하며 지식을 습득하고, 컴퓨터 화면을 통해 피드백을 돌려받아 학습과정의 사고를 반성할 수 있다(Hoyles, Noss, & Adamson, 2002). 수학적 마이크로월드는 수학적 대상물들(objects)과 대상물들의 수학적 조작(operations)의 법칙이 있는 마이크로 공간으로, 학습자가 수학적 개념과 구조를 능동적으로 구성하도록 유도하기 위해서는 수학적 objects와 operations을 학습자의 탐구 능력에 맞도록 고안되고 표현되어 제시되어야 한다(Cho, 2003).

본 연구에서는 특별히 부등식 영역에서의 최대ㆍ최소 문제 상황으로 이어질 수 있는 이변수 함수의 탐구를 위해, 원소나열법과 조건제시법으로 수학적 대상을 만들고 또한 자유로운 조작 활동이 가능하도록 설계된 Constructionism 기반 3차원 터틀크래프트(Turtlecraft) 마이크로월드 환경을 도입한다. 또한 온라인 환경에서 최대ㆍ최소 탐구를 파이썬 코딩으로 할 수 있도록 구글 코랩(Google Colab, 이하 Colab)을 활용하여 파이썬 코드의 핵심부분을 학생들이 직접 조작해보며 직관적인 이해와 수학 실험을 할 수 있는 환경을 설계한다. 과거의 마이크로월드가 PC 기반의 개인적 탐구환경이었다면, 본 연구에서는 온라인 기반의 수학적 마이크로월드 환경을 설계하여 교육현장에 바로 적용될 수 있도록 하였다.

1. 터틀크래프트를 통한 3차원 시각화

가. 터틀크래프트 마이크로월드

마인크래프트(Minecraft) 게임은 학생들에게 아주 인기 있는 3차원 게임환경이다. 터틀크래프트(Turtlecraft)는 마인크래프트와 유사한 3차원 좌표계 마이크로월드로 방정식과 함수 그리고 논리로 이루어진 조건식을 만족시키는 해집합을 통해 다양한 함수의 그래프와 입체적인 구조물 등을 조건제시법 코딩으로 만들 수 있도록 설계되었다(Chung & Cho, 2020; Chung, 2020). 이러한 특성을 바탕으로 터틀크래프트는 초등수학의 내용부터 고등수학 이상의 수학적 대상을 구현하는데 활용될 수 있으며, 실제로 공간능력(Lee, 2016; Jeong, Lee, & Cho, 2016), 자유학기제(Kim, Seo, & Cho, 2018), 대수적 코딩(Jeong & Cho, 2020), 수학적 창의성의 발현과의 관계(Chung & Cho, 2020)등 수학교육 현장에 연계하는 연구들이 있다.

본 연구에서는 최대ㆍ최소 문제의 시각화와 탐구를 위하여 3차원 터틀크래프트 코딩환경과 2차원 파이썬 애니메이션을 Colab 환경을 통해 접근한다. 터틀크래프트와 Colab 환경은 별도의 설치 없이도 인터넷 환경의 웹브라우저를 통하여 곧바로 사용할 수 있는 코딩환경이다.2)

최대ㆍ최소 문제 상황으로 연계되는 다양한 함수 f(x, y)의 그래프를 조건제시법, 집합 등의 수학적 표현을 기반으로 터틀크래프트 코딩환경에서 부등식의 영역에서 조건을 만족하는 3차원 해집합으로 구성하여 시각화 할 수 있다. 또한 파이썬 2차원 애니메이션과의 연계를 위해 3차원 대상을 등고선으로 시각화 할 수도 있다.3) 터틀크래프트 코딩환경은 마인크래프트 게임환경과 마찬가지로 3차원 복셀4) 기반의 직관적이고 이산(discrete)적인 그래픽 표현 방식으로 수학적 구조물을 만든다. 따라서 이산적으로 수학적 구조물을 조작하며 탐구할 수 있고 또한 직관적으로 설명하고 해석하는 스토리텔링에 용이하다(Chung & Cho, 2020). 터틀크래프트에서는 최대ㆍ최소 탐구에 핵심이 되는 이변수 함수를 대수적인 함수식으로 코딩하는 방법과 함께 또한 길이와 각도 등의 기하적인 개념으로 만들어진 내장(built-in)함수를 활용하여 저학년 학생들도 이 변수 함수에 직관적으로 접근할 수 있도록 진입장벽을 낮추어 설계되어 있다.

나. 최대ㆍ최소 문제의 시각화와 스토리텔링

본 절에서는 서로 다른 두 주사위의 눈의 합과 같은 교과서 내의 친숙한 예시에서 출발하여 수학적 표현을 기반으로 한 코드를 통해 간단한 이변수 일차함수 f(x, y)의 그래프를 시각화하며 스토리텔링으로 접근하는 탐구과정을 살펴본다. 이어 수학적 개념이 담긴 내장함수를 구성의 도구로 하여 중학교 차원에서 복잡한 수식으로 도입하기 어려울 수 있는 f(x, y)의 그래프를 탐구해본다. 나아가 Constructionism 기반 3차원 코딩환경에서 구성주의 학습전략으로 만든 사각뿔(피라미드), 원뿔 및 여러 지형이나 구조물 모양의 f(x, y)의 그래프를 다양한 최대ㆍ최소 문제 상황으로 연계하는 탐구과정을 설계한다.

먼저 교과서 내의 친숙한 예시인 서로 다른 두 주사위의 눈의 합에서 탐구를 시작해본다. Figure 1은 서로 다른 두 주사위 중 한 주사위의 눈은 x좌표로, 다른 주사위의 눈은 y좌표라 할 때, “좌표의 합은 몇 층?”이라는 스토리텔링을 통해 각 좌표마다 x + y의 값에 해당하는 층에 블록을 쌓아 이를 3차원으로 시각화한 것이다. Figure 1.

Figure 1.3D Turtlecraft visualization

3D Turtlecraft visualization 이는 두 주사위의 눈이 모두 1이 나오면 1 + 1 = 2층에 블록을 쌓고 두 눈이 모두 6이 나오면 6 + 6 = 12층에 블록을 쌓는 것으로, 빨간색 동그라미로 표시된 것과 같이 각각 3차원 좌표 (1, 1, 2), (6, 6, 1 2)에 대응한다. 아래의 코드는 1부터 6까지 x, y의 범위를 설정하고 간단한 함수식을 통해 표현한 것이다. 3차원에서 시각화된 그래프를 통해 학생들은 서로 다른 두 주사위의 눈들의 합으로 표현된 f(x, y) = x + y의 그래프가 평면을 이루고 주어진 영역에서의 최댓값과 최솟값은 각각 2와 12임을 알 수 있다.

터틀크래프트에서는 블록의 종류마다 번호가 매겨져 있어서 학생들은 Figure 2와 같이 f(x, y) = k의 등위곡선을 표시하거나 원하는 기준으로 그래프를 시각화할 수 있고, 또한 해당 블록의 번호에 대응하는 값으로 최댓값과 최솟값을 파악할 수도 있다. Figure 2는 정의역을 음수까지 확장하여 - 6에서 6까지의 x, y 에 대하여 좌표의 합이 같은 층끼리 구별되도록 z = x + y 의 그래프를 시각화한 것으로, x + y 의 값이 음수인 경우에는 지하(음수 층)에 그래프가 그려지므로 지상에는 피라미드의 한 옆면과 같은 그래프가 그려진다.5)

Figure 2.Graph of z = x + y on the given region

이는 두 주사위의 눈이 모두 1이 나오면 Figure 3은 서로 다른 두 주사위의 눈의 합에서 출발한 z = x + y에 대하여 대칭이동과 평행이동을 이용하여 4개의 이변수 일차함수들을 만들고, 부등식으로 표현하여 조건을 만족하는 해집합을 3차원으로 시각화 한 것이다. Figure 3의 입력창을 보면 z - 12 ≤ x + y, z - 12 ≤ x - y, z - 12 ≤- x + y, z - 12 ≤- x - y의 수식과 집합논리와 같은 수학적 표현을 기반으로 한 코드를 사용하여 피라미드 꼴의 수학적 구성물을 만든 것을 알 수 있고, 이는 z ≤ 12 - (|x | + | y |)와 같이 절댓값을 이용하여 간단히 나타낼 수도 있다.

Figure 3.Executable expression for square pyramid

터틀크래프트에는 수학적 개념이 담긴 다양한 내장함수들이 있다. 이 내장함수들은 최대ㆍ최소 탐구에 핵심이 되는 이변수 함수 f(x, y)의 복잡한 수식을 대수적으로 도입하기에 앞서 학습자의 수준에 맞는 놀이언어로서 제시되는 것으로, 좌표와 거리, 각, 최대ㆍ최소 등의 수학적 개념이 담긴 코드를 활용한 능동적인 구성활동을 통해 학습자에게 의미있는 지식을 조직하기 위한 도구이다.

예를 들어 Figure 4의 원뿔은 피타고라스 정리가 담긴 내장함수 sqrt(x, y)를 이용하여 표현한 것으로 이후 z=12x2+y2 와 같이 수식으로도 나타낼 수 있다. Chung(2020)은 “층(z)이 올라갈수록 원(혹은 정사각형)의 크기가 작아지도록 하면 어떤 도형이 만들어질까?”와 같은 스토리텔링과 터틀크래프트의 집합 명령어를 통해 중학교 학생들에게도 원뿔이나 사각뿔(피라미드) 등의 수학적 구성물들을 만들며 수학적인 원리를 탐구하도록 할 수 있다는 가능성을 제시하였다.

Figure 4.Executable expression for cone

이러한 탐구를 바탕으로 학생들에게 보다 현실감 있는 수학적 구성물의 예시로 산과 호수 등의 지형을 만들어보며 최대ㆍ최소 문제 상황을 접근해본다. Figure 5는 정규분포와 관계되는 e- x2 - y2x3 + y3 을 곱해서 만든 이변수 함수 f(x, y) = - 3 (x3 + y3) e- x2 - y2 의 그래프로, 그림과 같이 산봉우리와 호수가 있는 지형의 모습을 나타내며 최댓값은 산 정상의 높이로 스토리텔링을 할 수 있다. 아래의 코드들은 함수식과 집합, abs, exp와 같은 수학적 표현을 바탕으로 한 것이다.

Figure 5.f(x, y) = -3(x3+y3e-x2-y2)

이처럼 학생들은 조건제시법, 집합 등의 수학적 표현을 기반으로 한 코드를 활용하여 간단한 이변수 일차함수에서부터 피라미드, 원뿔, 여러 지형이나 구조물 등을 조건을 만족하는 해집합으로 접근하여, 창의적으로 코딩하고 탐구해보며 다양한 최대ㆍ최소 문제 상황을 시각화할 수 있다(learning by making). 이러한 터틀크래프트를 활용한 3차원 시각화 및 구성주의 학습은 다음 절에서 다루는 파이썬을 통한 2차원 시각화와 애니메이션을 통한 최대ㆍ최소 탐구로 연계된다.

2. 파이썬을 통한 2차원 애니메이션

가. Colab을 활용한 탐구 환경 설계

본 연구에서는 파이썬 언어로 된 코드의 실행을 위해서 별도의 설치 없이 사용자가 인터넷 환경의 웹브라우저를 통하여 바로 클라우드 컴퓨팅을 할 수 있는 Colab에 가상 실습환경 구현하였다.

수학적 실험탐구에서는 터틀크래프트에서 다루었던 다양한 함수에 대하여 2차원 등고선으로 표현하고 구체적인 계산과 함께 애니메이션을 만들어 최대ㆍ최소 탐구과정을 시각화하여 제공한다.

본 연구는 함수식 및 수학적 내용이 담긴 핵심 코드를 조작하며 최대ㆍ최소 문제 탐구는 물론 확률ㆍ통계적 지식이나 인공지능에 쓰이는 개념들을 안내하도록 스토리코딩하여 탐구환경을 설계하였다.6) Figure 6은 수학적 실험탐구의 한 입력화면으로, 이 화면에서 학생들은 주요한 설정을 선택하여 실행코드의 입력을 바꿀 수 있다. 이 탐구 환경은 필요한 입력 상황에 따라 체크박스나 드롭다운 입력뿐만 아니라 직접 정수를 입력값으로 받아서 실행하도록 구현하였다. 예를 들어 Figure 6의 입력화면에서 normal distribution에 체크가 되면 정규분포에 대한 표본추출을 이용하게 되며, 체크가 해지되면 균일분포에 대한 표본추출을 이용한 결과를 출력하는 조작을 할 수 있다.

Figure 6.Colab coding environment for 2D Python animations

또한, 탐색하고자 하는 여러 함수를 드롭다운 형식을 통하여 선택하도록 하면 학생들이 코딩언어로 표현한 수학식을 입력할 때 생길 수 있는 오류에 대한 통제가 가능하다. 이렇게 설계된 환경에서는 입력의 조합을 달리 선택하여 시행할 때마다 다른 출력 결과를 즉시로 확인할 수 있다.

더불어 Colab에서 제공하는 탐구환경은 파이썬 코드는 물론 주석, 이미지, 동영상 등을 첨부할 수 있어 교육용 자료를 제작하거나 학생들끼리 서로 공유하며 소통을 하며 협력학습을 하기에 유용한 환경을 제공한다.

나. 2차원 애니메이션 실험탐구

구현된 수학적 실험탐구의 다른 특징은 실행결과화면에서 함수의 그래프를 2차원 등고선으로 표현하며 주어진 초기 위치에서 최댓값 또는 최솟값으로 찾아가는 모습을 시간에 따라 화살표의 이동으로 표현한 애니메이션을 구현한 점이다.

Figure 7에서 상단의 왼쪽의 그림은 앞서 탐구하였던 f(x, y) = - 3 (x3 + y3) e- x2 - y2 의 터틀 크래프트를 통한 3차원 그래프를 위에서 바라본 것이다(Figure 5 참조). 나머지 3개의 그림들은 동일한 입력함수의 그래프를 파이썬을 통해 2차원 등고선으로 나타내고, 설정한 반복 횟수 안에서 시간에 따라 이동한 경로를 만들어가며 최댓값을 찾아 움직이고 있는 과정을 애니메이션으로 보여준다. 설계된 실험탐구환경에서는 입력의 조합을 달리 선택하여 시행할 때마다 다른 애니메이션의 출력 결과, 즉 최댓값 또는 최솟값을 찾는 경로를 즉시로 확인할 수 있다.

Figure 7.3D visualization and 2D Python animation

더 나아가 심화된 학습을 위해서는 구현된 입력 화면을 더블클릭하여 소스코드를 제공 받을 수 있으며, 스토리텔링으로 이해하고 있는 진화 전략의 알고리즘이 어떻게 구현되어 있는지 확인할 수 있다. 또한 이는 다른 설정을 적용한 실행 코드로 수정 가능하기 때문에 다양한 탐색으로 확장이 가능하다.

본 장에서는 중학교차원의 직관적인 모형에서부터 정규분포를 도입하는 진화전략의 단계별 도입전략 및 스토리텔링에 대해 살펴본다.

1. 중학교 차원의 직관적인 기초모형

본 절에서는 진화전략의 핵심 아이디어를 중학교 차원에서 재조직하여 단계적으로 탐구해본다. 먼저 일변수 함수에서 탐구를 시작하여 서로 다른 주사위를 던져서 나올 수 있는 두 눈의 합이 그렸던 z = x + y의 이변수 함수의 상황으로 나아가는 탐구과정을 설계한다. 이 과정에서 파이썬을 활용해 함수의 그래프를 시각화하고 복잡한 계산들을 해나감으로써 컴퓨터와 함께 탐구하는 것을 자연스럽게 유도한다.

앞서 진화전략의 수식 중 ε × f(x + ε)가 [로봇개미의 위치변화량]×[높이(함숫값)]임을 스토리텔링하여 제시하였다.7) εf(x + ε)의 이해를 위해 우선 Figure 8과 같은 일변수 함수에서 5마리의 로봇개미만 생각해본다.

Figure 8.One variable function whose domain is evenly distributed numbers

먼저 로봇개미를 뿌릴 때, 편향된 정보조사가 되지 않도록 고르게 뿌려야 함을 스토리텔링하여 제시할 수 있다. 이와 관련한 개념으로 초등학교부터 배우는 평균의 개념을 도입하면 Figure 8의 경우 학생들은 간단한 계산을 통해 현재위치 x로부터 로봇개미들이 떨어진 정도(위치변화량)에 해당하는 εi (i = 1, 2, ⋯, 5)들의 평균은 (2)+(1)+0+1+25=0임을 쉽게 확인할 수 있다. 다음으로 각각의 εi (위치변화량)과 각각이 보고하는 높이(함숫값)인 f (x + εi)을 곱하여 평균을 구해본다. 이 과정은 간단한 평균 이용해 나아갈 방향을 찾는 과정이다. Figure 8의 경우 x를 기준으로 ε1, ε2가 조사한 함숫값은 음의 값으로 보고되고 ε4, ε5는 양의 값으로 보고되기에 εi × f (x + εi)들의 평균을 구해보면 양수가 나온다. 이를 통해 현재 위치를 기준으로 상대적으로 오른쪽 부분에 높은 지형이, 왼쪽 부분에 낮은 지형이 포진해있음을 짐작하고 우측으로 나아가야함을 스토리텔링할 수 있다.

이제 앞에서 다루었던 서로 다른 주사위를 던져서 나올 수 있는 두 눈의 합의 상황으로 돌아가 이변수 함수로 나아가본다. Figure 9는 동그라미로 표시된 부분, 즉 (3, 2, 5)를 현재위치라 가정하고 현재위치를 기준으로 주변에 로봇개미를 8마리 뿌려 위치변화량을 조사하는 모습이다. 앞선 활동을 바탕으로 우선 x좌표만 따져보면 ε1, ε2, ε3은 위치 변화량이 - 1이고, ε4ε8은 0, ε5, ε6, ε7은 + 1이다. 이제 ε1부터 반시계방향으로 각각의 로봇개미들의 위치변화량에 높이 (함숫값)을 곱해 평균을 구해본다.

Figure 9.Min-max optimization by hand
mx=(5)+(4)+(3)+0+5+6+7+08=34
my=5+0+(3)+(4)+(5)+0+7+68=34

학생들은 간단한 산수를 통해 Figure 9와 같이 x축 방향, y축 방향의 평균값으로 모두 34 의 양의 값이 나옴을 알 수 있다. 이는 현재위치를 기준으로 x축 방향은 우측에 상대적으로 높은 지형들이 포진해 있기에 산을 오르려면 양의 방향(우측)으로, 내려가려면 음의 방향(좌측)으로 가야함을 뜻한다. y축 방향 역시 산을 오르려면 현재의 위치로부터 양의 방향(위쪽)으로, 내려가려면 음의 방향(아래쪽)으로 가야함을 말해주고, 이 둘을 종합하면 산을 오르기 위해서는 우상향으로, 내려가기 위해서는 좌하향으로 가야함을 알 수 있다. 물론 나아갈 방향으로의 크기와 관련하여 지금은 정의역이 이산(discrete)집합이기에 반올림으로 처리하여 한 칸씩 이동한다.

Figure 10의 사각형 모양의 영역은 앞서 Figure 2와 같이 피라미드를 만드는 데에 쓰였던 이변수 함수 z = x + y의 정의역을 조절하고 파이썬을 이용해 20 × 20 크기의 행렬로 시각화한 것으로, 빨간색에 가까울수록 높이가 높고 파란색에 가까울수록 높이가 낮은 것이다. Figure 10은 최댓값을 찾기 위해 컴퓨터의 계산능력을 활용하여 앞선 Figure 9의 과정을 반복적으로 적용한 것으로, 최적화를 진행하는 경로는 흰색 선을 따라 애니메이션으로 표현된다.

Figure 10.Min-max optimization by computer

일련의 과정은 간단한 평균의 개념만 가지고도 직관적인 스토리텔링과 컴퓨터의 계산능력을 활용해 기초적인 최적화를 진행한 것이다. 물론 기초적인 모형은 Figure 10z = x + y와 같이 경사가 확실한 간단한 경우에 적용이 가능한 것으로 여러 가지 문제점들이 있다. 이러한 기초모형의 장단점을 확인해보는 과정은 다양한 수학적 개념을 탐구해볼 수 있는 계기가 된다. 특히 Figure 11과 같은 여러 가지 가능성의 예시를 통해 학생들로 하여금 해당 모형의 개선을 위해 로봇개미의 개체수와 분포에 대한 탐구를 유도한다.

Figure 11.Even function whose domain is evenly distributed numbers

2. 표본추출(Sampling) 및 이산적 상황에서 연속함수로의 확장

로봇개미의 분포와 관련하여 학생들이 직관적으로 떠올릴 수 있는 로봇개미의 배치로 Figure 12와 같은 모양들을 생각할 수 있다. 같은 함수에 대해 동일한 개체수로 최적화를 진행해보면서 각 경우별 최댓값 혹은 최솟값에 수렴하는 속도(시행횟수)나 최댓값 혹은 최솟값 근처에서의 의사결정 등을 비교하며 효율적이고 유효한 방법을 탐구해 볼 수 있다. 앞장에서 살펴본 피라미드에 로봇개미의 개체수를 늘려 로봇개미의 배치를 바꿔가며 적용해 보면 square의 경우가 가장 수렴속도가 느리며 최댓값 근처에서 진동하는 가장 비효율적인 경로 선택임을 알 수 있다. 또한 다양한 그래프에 배치를 조작해보며 적용해보는 실험을 통해 분포에 따라 초기값에 영향을 받거나 원의 경우 반지름에 따른 진행속도나 진동여부 등을 탐구해볼 수 있다.

Figure 12.Robot ants distributed uniformly

한편 자원의 한정된 상황, 예를 들어 로봇개미를 작동시키기 위한 배터리 시간 제약 등의 효율성에 대한 스토리텔링을 통해 로봇개미의 표본추출(sampling)의 필요성을 제시하고, 로봇개미의 개체수를 줄이는 전략으로 균등분포(uniform distribution)와 정규분포(normal distribution)를 도입할 수 있다.8) 먼저 앞선 균일한 배치 내에서 random하게 선택을 하여 로봇개미를 배치하는 것은 균등분포를 따르는 것이고, 가까운 정보를 더 많이 반영하기 위해 아주 가까운 거리(표준편차 ± 1배), 근거리(표준편차 ± 2배), 원거리(표준편차 ± 3배) 범위 내에 각각 누적 68%, 95%, 99%의 로봇개미를 배치시키는 것은 정규분포를 따르는 것으로 스토리텔링 할 수 있다.

학생들에게는 정규분포보다는 균등분포가 직관적으로 randomness에 더 가까울 수 있다. 이에 먼저 균등분포를 적용한 탐구들을 통해 원하는 최댓값 혹은 최솟값 근처에서 진동 가능성, 가까운 정보를 더 많이 반영하는 것의 필요성 등을 살펴보고 그 과정을 스토리텔링하여 정규분포의 도입을 유도한다.

Figure 13은 random으로 뿌려진 10마리의 로봇개미(검은 점)들을 이용해 최댓값이 40인 피라미드에 대해 정규분포를 적용한 알고리즘이 흰색 점들을 이은 경로를 따라 23번 만에 최적화를 마친 것을 보여준다. 이는 동일한 함수에 대해 균등분포를 적용한 알고리즘이 36번 이동으로 최댓값 근처 38에 도달한 이후 진동하다가 39번의 이동 끝에 최댓값에 도달하는 것에 비해 훨씬 안정적이고 효율적임을 알 수 있게 해준다.

Figure 13.Gradient ascent animation for pyramid

물론 표준편차(σ), 학습률(learning rate) 등을 변화시키거나 적용되는 그래프의 모양에 따라 결과가 달라질 수 있으며, 또한 로봇개미가 random하게 추출되기에 모든 경우에서 정규분포를 적용하는 것이 유리하다고 할 수는 없을 것이다.9) 하지만 여러 상황들에 조작 및 적용해봄으로써 비교적 균등분포를 적용한 알고리즘에 비해 정규분포를 적용한 알고리즘이 진행과정은 물론 최댓값 혹은 최솟값 근처에서 안정적임을 탐구할 수 있고, 직관적으로는 최댓값ㆍ최솟값 근처에서는 가까운 정보를 더 많이 반영하는 방안으로 정규분포의 도입을 스토리텔링 할 수 있다. Figure 14는 앞에서 탐구한 원뿔에 정규분포를 따르는 표본을 도입한 경우의 최적화를 진행하는 모습이다.

Figure 14.Gradient ascent animation for cone

다. 연속함수로의 확장

지금까지는 여러 함수의 정의역이 이산집합인 경우로 함수의 그래프가 이산적(discrete)으로 그려졌다면, 정의역이 연속(continuous)인 경우를 포함하여 함수의 최대ㆍ최소 탐색을 확장한다. 앞선 장의 Figure 7Figure 5의 산과 호수의 지형을 갖춘 f(x, y) = - 3 (x3 + y3) e- x2 - y2 의 함 수에 적용하여 얻은 최적화 탐색경로의 결과이다. 이는 미분 가능한 함수이지만 미분의 과정이 복잡하다면 미분하여 값을 계산하기보다 오차한계가 허용하는 범위 내에서 근삿값을 유효하게 구하는 것으로, 해당 모형이 갖는 효율적인 측면이 될 수 있다. 또한 일련의 과정에서 학생들은 파이썬의 print 명령을 활용하여 각 시행마다 평균이나 합 등을 쉽게 볼 수 있으며, 현 교육과정에서는 빠졌지만 해당 알고리즘에서 로봇개미들의 정보를 행렬로 쉽게 처리하는 것에서 행렬의 개념이나 알고리즘과 순서도를 다뤄볼 수도 있다.

1. 진화전략과 미적분

앞선 과정들을 통한 알고리즘을 쉽게 표현하면 현재위치를 기준으로 정규분포를 따르는 로봇개미들을 주변에 random하게 뿌려 εf(θ + ε)값들의 평균을 조사해 나아갈 방향을 찾는 것으로, 이는 앞선 진화전략의 수식 (ㄱ)중에 뒷부분인 EεN(0,σ2)εf(θ+ε)에 해당한다. 이를 σ2으로 나누어 gradient에 근사시키기 위해 아래와 같이 (ㄴ)의 테일러 전개식의 양변에 ε을 곱해 ε에 대해 평균을 취하고, (ㄷ)에서 홀수 차 Gaussian 의 moment는 0임을 통해 진화전략의 (ㄱ)의 결과를 얻을 수 있다. 이를 가급적 고등학교 수학의 차원에서 스토리텔링하여 증명하는 과정은 좋은 탐구거리가 될 수 있으며 해당 자료는 탐구환경에 업로드 되어 있다.

이를 바탕으로 본 절에서는 진화전략을 미분 불가능한 경우의 다양한 연속함수 f(x, y)의 그래프에 확장하여 적용해본다. Figure 15는 앞서 탐구하였던 정의역이 이산인 경우의 피라미드꼴의 함수를 정의역이 연속인 경우로 확장하여 진화전략을 적용한 모습이다. 고등학교의 경우 미분을 배우기에 Figure 15의 모서리를 타고 가는 흰색 선의 경로는 미분 불가능한 경우에 대해 최적화를 진행한 것임을 알 수 있다.

Figure 15.Evolution strategy for non-differentiable function(pyramid)
f(θ+ε)f(θ)+f'(θ)ε+f"(θ)2!ε2 EεN(0,σ2)εf(θ+ε)EεN(0,σ2)f(θ)ε+f'(θ)ε2+f"(θ)2!ε3=σ2f'(θ)

확률ㆍ통계의 개념으로 미분 없이도 최대ㆍ최소를 탐구할 수 있는 진화전략은 고등학교를 넘어 대학교 수학교육까지 연계될 수 있다. 다음의 Figure 16은 대학의 미적분학에 나오는 데카르트 엽선(folium of Descartes) f(x, y) = x3 + y3 - 3xy 의 그래프가 그리는 지형으로, 우측 상단 그림의 중앙 부분에 있는 터틀 거북이의 위치에서 오른쪽 호수로 내려가는 경로를 찾아가는 스토리텔링을 생각해볼 수 있다. 이 역시 미분이 불가능한 경우에도 쓰일 수 있는 확률ㆍ통계적 방법으로, 진화전략 알고리즘을 통해 아래로 가는 경사가 급한 곳을 따라 Figure 17과 같이 최적화가 가능하다.

Figure 16.3D visualization for Descartes folium
Figure 17.2D python animation for Descartes folium

일련의 과정은 앞서 Constructionism 기반 코딩 환경에서 구성주의 학습으로 그렸던 다양한 f(x, y)에 진화전략을 적용하여 이전의 학습을 되짚어보며 점차 나아가는 나선형으로 연계되는 탐구과정을 도모한 것이다.

2. 스토리코딩을 통한 조작과 탐구

진화전략을 다양한 최대ㆍ최소 문제 상황에 적용하는 탐구와 더불어 진화전략의 알고리즘을 스토리코딩하며 코드를 분석하고 파라미터들을 조작하는 과정을 통해 고등학교 확률ㆍ통계의 수학적인 개념이나 인공지능에서 사용되는 여러 개념들을 살펴볼 수 있다.

먼저 지금껏 확률ㆍ통계의 학습에서 주로 교과서 내의 주어진 자료의 분산과 표준편차(σ)를 계산하는 것이 일반적이었다면, Figure 18과 같이 시각적 feedback을 바탕으로 상황에 따라 표준편차의 값을 조작해보는 것은 표준편차에 대한 직관적인 개념을 형성하는 데에 도움이 될 것이다.

Figure 18.σ = 1, σ = 3

다음으로 매 시행마다 로봇개미들을 통해 경사(gradient)의 근삿값을 얻었어도 그 값을 다르게 반영하면 최적화가 다르게 진행될 수 있음을 탐구할 수 있다. 이와 관련한 개념으로 학습률(learning rate)을 보폭(step size)이라 한다면 보폭이 너무 크면 Figure 19와 같이 진동하거나 낭떠러지에 떨어질 수 있고, 안전하게 가기위해 보폭을 줄이면 진행속도가 늦어진다고 스토리텔링할 수 있다. 이로서 로봇개미를 통해 현재의 위치로부터 gradient의 근삿값을 제공받고 그 방향으로 얼마만큼의 보폭으로 나아갈지를 학습률을 통해 조절하는 것으로 진화전략의 전체구조를 스토리텔링 할 수 있다.

Figure 19.Examples of overshooting and oscillation

앞서 학생들이 정의역이 이산집합인 경우에 εf(θ + ε)의 평균값을 직접 손으로 계산해보는 과정에서, 다양한 예시를 구성하여 동일한 학습률을 적용하더라도 Figure 20과 같이 주변상황에 따라 εf(θ + ε)의 평균값의 절댓값의 차이로 인해 진행속도가 달라질 수 있음을 탐구해 볼 수 있다. 이를 해결하기 위해 본 연구에 사용되는 진화전략 알고리즘은 고등학교 교육과정에서 다루는 표준화(standardization)를 사용하였고, 이는 교과서에서 배우는 개념이 적용되는 사례를 탐구할 수 있는 좋은 기회가 된다.

Figure 20.Standardization

지금까지의 과정에서 본 절의 알고리즘은 매 시행마다 200마리의 로봇개미들을 랜덤하게 뿌려서 각각의 [로봇개미의 위치변화량]×[높이(함숫값)]들의 평균을 구하며, 그 과정에서 함숫값에 대한 표준화를 한다. 사실 이 과정은 컴퓨터로는 몇 초 밖에 걸리지 않지만 손으로 일일이 계산하기에는 거의 불가능할 정도로 매우 방대한 양이다. 해당 알고리즘을 살펴보면 실제로 이 200개의 data를 R 이라는 행렬로 다루고 내적 등의 수학적 개념을 이용해 컴퓨터와 함께 단 몇 줄의 코드로 최적화를 진행한다. 학생들은 파이썬의 print 명령을 통해 각 단계별 수치정보들을 확인해보며 현 교육과정에서는 다루지 않지만 행렬과 알고리즘 순서도의 중요성을 느낄 수 있고, 나아가 알고리즘에 담겨있는 여러 수학적 개념을 살펴보며 수학의 중요성을 다시 한 번 체감할 수 있다.

마지막으로 실제 최적화에서 주요한 문제인 local maximum/minimum에 대해서도 살펴볼 수 있다. Figure 21은 local maximum에 빠져 우리가 원하는 global maximum으로 나아가지 못하고 그 주변을 맴도는 경우의 예시이다. 실제로 이러한 문제를 극복하기 위해 AdaGrad, RMSProp, Adam, Momentum등의 이미 많은 연구들이 활발히 이루어지고 있다.

Figure 21.Convergence to a local maximum/minimum

3. 최대ㆍ최소 탐구의 확장

로젠브록 함수(Rosenbrock function) 는 실제 인공지능에서 사용되는 최적화 연구자 차원의 함수로 그 그래프는 Figure 22와 같이 골짜기에 길고 좁은 y = x2 꼴의 계곡이 흐르는 모양이다. f(x, y) = (a - x)2 + b(y - x2)2의 함수식에서 알 수 있듯이 전역최솟값은 f(x = a, y = a2) = 0이고 일반적으로 a = 1, b = 100을 대입하여 사용한다. 여러 알고리즘을 적용해보면 골짜기를 찾는 것은 쉬우나 전역최솟값으로 수렴하는 것은 매우 어려워서 수학적 최적화에서 최적화 알고리즘을 시험해볼 용도로 사용한다(Rosenbrock, 1960).

Figure 22.3D visualization for Rosenbrock function

본 연구에서 다룬 진화알고리즘을 적용해보면 Figure 23과 같이 초기 몇 번 만에 골짜기로 진입하는 데는 성공하지만 1000번을 시행하는 동안 아주 더디게 최솟값을 향해 진행하는 것을 볼 수 있다. 이 과정에서 학생들은 로봇개미들이 골짜기 밖으로 나가지 않도록 표준편차(σ)값을 조절해보거나 진행속도를 늘리기 위해 학습률(learning rate)을 조작해볼 수도 있겠지만, 두 경우 모두 전문가에게 사용되는 함수인 만큼 녹록치 않음을 알 수 있다. 이는 해당 알고리즘이 몇 줄 안 되는 코드임에도 비교적 근사한 값을 찾아가는 것에서 진화전략의 강력함을 느낄 수 있도록 하는 한편, 우리가 사용하는 코드의 문제점을 발견할 수 있는 좋은 탐구거리가 된다.

Figure 23.2D Python animation for Rosenbrock function

지금까지 진화전략의 핵심 아이디어를 함수의 그래프가 그리는 지형의 최대ㆍ최소 문제에 적용해봄으로써 여러 긍정적인 측면과 함께 한계점 또한 탐구해보았다. 본 연구에서 사용한 진화 전략 파이썬 코드는 100줄도 안 되는 아주 짧은 것으로, 실제 인공지능에 활용되는 코드에 비하면 매우 단순한 코드이기에 한계점이 있는 것은 당연하지만 한편으로는 그 아이디어 하나만으로도 다양한 탐구가 가능하기에 진화전략이 실제로 왜 이렇게 각광을 받는지 알 수 있다.

2021년부터 인공지능 수학이 고등학교 선택과 목으로 도입되는 상황에 맞추어, 본 연구는 중학교 차원의 직관적인 최적화 방법에서부터 시작하여 확률ㆍ통계 기반의 진화전략으로 최대ㆍ최소 문제를 도입하였으며, 궁극적으로 인공지능 수학에 도입되는 미분 기반의 경사하강법으로 융합될 수 있도록 하였다. 구체적으로 본 연구는 피라미드와 원뿔 등과 관계된 최대ㆍ최소 문제 상황을 도입하고, 진화전략의 아이디어를 주사위 실험으로 재조직하여 미분 없이 평균의 개념만 가지고도 탐구를 시작할 수 있도록 하였으며, 나아가 인공지능 수학의 경사하강법과 융합될 수 있도록 탐구과정을 설계하여 제시하였다. 또한 codingmath.org 주소의 인공지능 수학 공지를 통해 학생들은 설계된 Colab 파이썬 코딩환경과 터틀크래프트 코딩환경에 접근할 수 있으며, 그곳에서 직접 코딩기반의 탐구를 수행할 수 있도록 본 연구에 사용된 모든 코드가 설명과 함께 제시되어 있다. 본 연구에서 제시한 진화전략 기반의 최대ㆍ최소 문제 탐구과정과 이를 위한 코딩환경은 다음과 같은 특징과 시사점을 내포하고 있다.

첫째, 미분을 다루지 않는 저학년 학생을 위해 확률ㆍ통계 기반의 진화전략으로 경사하강법을 도입하고, 심화된 수준에서는 미적분 기반의 경사하강법까지 연계시킨다. 이렇게 확률ㆍ통계와 미적분을 융합하는 탐구과정을 통해 서로 다른 영역이라고 여겨질 수 있는 미분과 확률ㆍ통계에 대한 통합적 시각을 제공한다.

둘째, 최대ㆍ최소 문제를 수학적 실험이 가능토록 재구성하여, 학습자의 직관적 이해와 코딩 기반의 수학적 탐구활동을 통해 접근한다. What-if 질문을 만들고 컴퓨터를 이용해 시각화하고 계산하며 수학적 논리로 뒷받침한다. 이러한 탐구활동을 통해 자연스럽게 3차원 좌표와 등고선, 함수 f(x, y)의 그래프와 최대ㆍ최소, 경사(gradient)와 관계된 미분개념, 미분이 불가능한 경우를 다루는 진화전략, 그리고 행렬과 평균과 분포에 기반한 확률ㆍ통계 개념과 상황에 접근할 수 있다.

셋째, 컴퓨터와 함께 자신의 문제를 해결하는 컴퓨팅 사고력(Computational Thinking) 역량을 키운다. 학생들이 수학적 아이디어를 바탕으로 컴퓨터와 함께 문제를 해결하는 자신감과 욕구를 키우는 것은 인공지능 기반의 4차 산업혁명 시대에 필요한 수학적 역량과 컴퓨팅 사고력 역량을 기를 수 있는 좋은 계기이다. 나아가 일련의 과정은 플래피버드 게임 코딩이나 주가탐구로 발전이 가능할 것이다.

요사이 인공지능 시대에 필요한 수학교육을 위해 기존 교육과정 내의 변화의 움직임은 물론 자유학년제, 방과 후 교실, 영재센터와 같은 교육기관 등에서도 다양한 시도들이 이루어지고 있다. 탐구의 과정에서 살펴보았듯이 행렬, 알고 리즘과 순서도 등과 같이 현 교육과정에서는 다루고 있지 않지만 컴퓨터와 함께 다루어질 때 재조명 될 수 있는 많은 수학적 개념이 있다. 진화전략 역시 컴퓨팅 파워의 발전과 함께 그 수학적 아이디어가 재조명 되어 다양한 분야에 활용되는 것이다. 종이가 없었던 시대의 수학교육과 종이가 있는 환경의 수학교육을 비교할 수 있듯이, 정적인 교육 환경에서 다루어지지 못했던 많은 개념들을 컴퓨터의 동적인 환경에서 새롭게 이해하고 적용할 필요가 있다. 이러한 노력을 바탕으로 컴퓨터와 함께 문제를 해결하는 AI시대에 꼭 필요한 수학적 역량을 기를 수 있는 다양한 교육과정들이 필요할 것이다.

1) 표기를 단순화하기 위해 1차원 θ에 대해서 쓰지만, 다변량 사례에서도 유사하게 작용한다. 수식에서 은 기댓값을, σ는 표준편차를 뜻하며, ε은 정규분포 N (0, σ2)를 따른다.

2) 터틀크래프트 : codingmath.org, Colab URL: codingmath.org 주소의 공지사항에 “인공지능 수학 (최대최소)”

3) 최대ㆍ최소 문제와 관련하여 현행 교육과정에서 다루고 있는 내용으로 경제수학의 부등식의 영역과 선형계획법을 들 수 있다. Choi, Lee, & Kim(2010)은 기존의 선형계획법을 지도하는 데에 있어서, 학생들이 단순히 f(x, y)를 k로 두고 k의 의미를 충분히 이해하지 못한 채 f(x, y) = ky = f(x)꼴로 변형시켜 알고리즘적으로 문제를 풀고 있음을 지적하였다. 비슷한 관점에서 Lee, Lee, & Kim(2012)는 이러한 문제를 개선하기 위해 f(x, y) = k의 등고선 개념을 도입하는 방안으로 GeoGebra를 활용하였다. 터틀크래프트에서는 이러한 xy평면에 사영시키는 방법은 물론 3차원에서도 등고선을 시각화 할 수 있다.

4) 복셀(voxel)은 부피(volume)와 화소(pixel)의 합성어로, 2차원 평면을 구성하는 최소 단위인 화소의 개념을 3차원 공간의 최소 단위인 큐브(cube)로 확장한 것이다(Chung, 2020).

5) Figure 2의 코드 중 z = = x + yz <= x + y로 바꾸어 평면 z = x + y 및 그 아래의 점들을 3차원 해집합으로 스토리텔링하여 주어진 부등식의 영역에서 조건들을 만족하는 해집합의 풀이로 접근할 수 있다.

6) codingmath.org 주소의 공지사항 중 “인공지능 수학 (최대최소)”에서 “(클릭) 파이썬 탐구자료 및 코딩환경 바로가기” 링크를 클릭하면 Colab을 통한 탐구환경으로 연결된다.

7) 본 절에서는 중학생들의 이해를 돕기 위하여 θ 대신 x를 변수로 사용한다.

8) Randomness의 필요성을 위해 고등학교 차원의 경우 경사하강법과 관련하여 Stochastic Gradient Descent가 Batch Gradient Descent에 비해 갖는 이점들과 연관지어 설명하는 스토리텔링도 생각해 볼 수 있다.

9) 예를 들어 최댓값이나 최솟값 근처가 아닌 곳에서는 균등분포를 적용한 알고리즘의 진행속도가 더 빠를 수도 있다.

  1. Ackermann, E. (2001) Piaget's constructivism, papert's constructionism: what's the difference. Future of learning group publication. 5(3), 438.
  2. Cho, H. H. (2003) Computer and mathematics education. The Journal of Educational Research in Mathematics. 42(2), 177-191. 조한혁 (2003). 컴퓨터와 수학교육. 대한수학교육학회지 시리즈 A <수학교육>, 42(2), 177-191.
  3. Cho, H., H. & Song, M., H. (2014) On the smart storytelling mathematics education based on executable expression. The Journal of Educational Research in Mathematics. 24(2), 269-283. 조한혁, 송민호(2014). 실행식(Executable expression) 기반 SMART 스토리텔링 수학교육. 수학교육학연구, 24(2), 269-283.
  4. Choi, I., Y. (2020) A study on the pattern generalization process through the figural pattern learning environment - focusing on eye-tracking analysis and a microworld -. Doctoral dissertation, Seoul National University.
  5. Choi, J., S., Lee, K., H. & Kim, S., R. (2010) Exploring a hypothetical learning trajectory of linear programming by the didactical analysis. The Journal of Educational Research in Mathematics. 20(1), 85-102. 최지선, 이경화, 김서령(2010). 선형계획법의 교수학적 분석을 통한 가설 학습 경로 탐색. 수학교육학연구, 20(1), 85-102.
  6. Chung, I., W. & Cho, H., H. (2020) Fostering mathematical creativity through the various mathematical expressions in the 3D coordinate system based coding environment : Focusing on designing coding tasks and analyzing code expressions. School Mathematics. 22(1), 161-181. 정인우, 조한혁(2020). 3차원 좌표계 기반 코딩 환경을 활용한 수학적 창의성 발현 방안. 학교수학, 22(1), 161-181.
    CrossRef
  7. Chung, I., W. (2020) A study on mathematical design activities using 3D coordinate systembased coding environment: Focusing on mathematical learning by different code expressions. Master's Thesis, Seoul National University.
  8. Clements, D., H. & Sarama, J. (2002) The role of technology in early childhood learning. Teaching children mathematics. 8(6), 340-343.
    CrossRef
  9. Frank, S., Christian, O., Thomas, R., Alex, G., Jan, P. & Jürgen, S. (2010) Parameterexploring policy gradients. Neural Networks. 23(4), 551-559.
    Pubmed CrossRef
  10. Healy, L. & Kynigos, C. (2010) Charting the microworld territory over time: design and construction in mathematics education. ZDM. 42(1), 63-76.
    CrossRef
  11. Heo, N., G. (2020) Analysis of secondary mathematics knowledge for AI learning through the AI related R&E program. Journal of Learner- Centered Curriculum and Instruction. 20(16), 673-689. 허남구(2020). 인공지능 소재 R&E 프로그램 운영을 통한 인공지능 학습을 위한 중등 수학 교과 지식 분석. 학습자중심교과연구, 20(16), 673-689.
    CrossRef
  12. Hoyles, C., Noss, R. & Adamson, R. (2002) Rethinking the microworld idea. Journal of educational computing research. 27(1), 29-53.
    CrossRef
  13. Hwang, H., S. (2002) Evolution calculation and evolution design. Seoul: NAEHA corp. 황희수(2002), 진화계산 및 진화디자인. 내하출판사, 61-73.
  14. Jeong, H., R., Lee, S., J. & Cho, H., H. (2016) Educational application of turtle representation system for linking cube mathematics class. School Mathematics. 18(2), 323-348. 정혜림, 이승주, 조한혁(2016). 연결큐브 수업을 위한 거북표현체계의 활용. 학교수학, 18(2), 323-348.
  15. Jeong, J., H. & Cho, H., H. (2020) Mathematising of coding education command: focusing on algebra education. Journal of Educational Research in Mathematics. 30(1), 131-151. 정진환, 조한혁(2020). 코딩교육 명령문의 수학화: 대수교육을 중심으로. 수학교육학연구, 30(1), 131-151.
    CrossRef
  16. Kim, M., J. (2004) A mathematics educational study on dynamic geometry system(DGS) - focused on the viewpoint of microworld -. Master's Thesis, Seoul National University.
  17. Kim, N., R., Seo, Y., H. & Cho, H., H. (2018) Coding mathematics contents and environment design - focusing on mathematization and computational thinking -. Journal of Learner-Centered Curriculum and Instruction. 18(4), 647-673. 김나리, 서용현, 조한혁(2018). 코딩수학 내용 및 환경 설계. 학습자중심교과교육연구, 18(4), 647-673.
    CrossRef
  18. Ko, H., K. (2020) A study on development of school mathematics contents for artificial intelligence(AI) capability. Journal of the Korean School Mathematics Society. 23(2), 223-237.
  19. Lee, C., H. (2016) The effect of learning 3D turtle expression-based coding on spatial ability. Master's Thesis, Seoul National University.
  20. Lee, E., K. (2020) A comparative analysis of contents related to artificial intelligence in national and international K-12 curriculum. Journal of Korean Association of Computer Education. 23(1), 37-44.
    CrossRef
  21. Lee, J., H. & Huh, N. (2018) A study on the relationship between artificial intelligence and change in mathematics education. Communications of Mathematical Education. 32(1), 23-36. 이지혜, 허난(2018). 수학교육의 변화와 인공지능과의 연관성 탐색. 한국학교수학회논문집 32(1), 23-36.
  22. Lee, S., G., Lee, J., H. & Ham, Y., M. (2020) Artificial intelligence and college mathematics education. Communications of Mathematical Education. 34(1), 1-15. 이상구, 이재화, 함윤미(2020). 인공지능(Artificial Intelligence)과 대학수학교육. 수학교육눈문집, 34(1), 1-15.
  23. Lee, S., H., Lee, J., H. & Kim, W., K. (2012) The effects of using geogebra on the mathematical thinking in the optimization problems of regional inequalities - focus on level curve -. Korean Journal of Teacher Education. 28(4), 1-44. 이상희, 이종학, 김원경(2012). 부등식 영역의 최대ㆍ최소 문제에서 학생들의 수학적 사고에 GeoGebra가 미치는 영향 - 등고선 개념을 중심으로 -. 교원교육, 28(4), 1-44.
  24. Ministry & of Education (2020a). A comprehensive plan for mathematics education that grows together with thinking power and leads the future[2020~2024].
  25. Ministry & of Education (2020b). 26 (2018).
  26. Papert, S. (1972) Teaching children to be mathematicians versus teaching about mathematics. International journal of mathematical education in science and technology. 3(3), 249-262.
    CrossRef
  27. Papert, S. (1980) Mindstorms: Children, computers, and powerful ideas. Basic Books, Inc.
    CrossRef
  28. Papert, S. & Harel, I. (1991) Situating constructionism. Constructionism. 36(2), 1-11.
  29. Park, M., G. (2020) The trends of using artificial intelligence in mathematics education. Journal of Korea Elementary Education. 31(supplement), 91-102. 박만구(2020). 수학교육에서 인공지능의 활용 동향. 한국초등교육, 31(특별호), 91-102.
  30. Rechenberg, I. & Eigen, M. (1973) Evolutionsstrategie: optimierung technischer systeme nach prinzipien der biologischen evolution. Frommann-Holzboog Stuttgart.
  31. Rosenbrock, H., H. (1960) An automatic method for finding the greatest or least value of a function. The Computer Journal. 3(3), 175-184.
  32. Salimans, T., Ho, J., Chen, X. & Sutskever, I. (2017) Evolution Strategies as a Scalable Alternative to Reinforcement Learning. ArXiv e-prints.
    CrossRef
  33. Sehnke, F., Osendorfer, C., Rückstieß, T., Graves, A., Peters, J. & Schmidhuber, J. (2010) Parameter-exploring policy gradients. Neural Networks. 23(4), 551-559.
  34. Schwefel, H., P. (1977) Numerische optimierung von computer-modellen mittels der evolutionsstrategie.
    Pubmed CrossRef
  35. Shin, D., J. (2020) Artificial intelligence in primary secondary education: A systematic Review. Journal of Educational Research in Mathematics. 30(3), 531. 신동조(2020). 초ㆍ중등교육에서 인공지능: 체계적 문헌고찰. 수학교육학연구 30(3), 531-552.
    CrossRef
  36. Shin, S., K. (2019) Designing the Instructional Framework and Cognitive Learning Environment for Artificial Intelligence Education through Computational Thinking. Journal of The Korean Association of Information Education. 23(6), 639-653. 신승기(2019). Computational Thinking 기반의 인공지능교육 프레임워크 및 인지적 학습환경 설계. 정보교육학회논문지, 23(6), 639-653.
    CrossRef
  37. Weintrop, D., Beheshti, E., Horn, M., Orton, K., Jona, K., Trouille, L. & Wilensky, U. (2016) Defining computational thinking for mathematics and science classrooms. Journal of Science Education and Technology. 25(1), 127-147.
    CrossRef

Article

전자저널 논문

2021; 31(1): 109-130

Published online February 28, 2021 https://doi.org/10.29275/jerm.2021.02.31.1.109

Copyright © Korea Society of Education Studies in Mathematics.

Coding Environment and Exploration Curriculum for Max-Min Optimizations with an Evolution Strategy

강한별, 이미숙, 조한혁

Abstract

The purpose of this study is to develop a curriculum of school mathematics and artificial intelligence regarding max-min problems. We also developed a coding environment for a designed curriculum that can be accessed and utilized at codingmath.org without any additional installation. The curriculum uses an evolution strategy-based gradient descent method founded on a school probability and statistics curriculum with an experiment using dice; this curriculum is designed to work when the function is not differentiable and is ultimately linked to a calculus-based gradient descent method. The coding environment, in which even middle school students can visualize the min-max problem of f(x, y), uses a three-dimensional function graph with minimal coding inputs and explores the gradient descent process using a two-dimensional Python animation. This study, which is an attempt to combine mathematical problem solving and computational thinking in the context of max-min problems, further discusses ideas regarding the ways to integrate AI and coding in mathematics education.

I. 서론

4차 산업혁명 시대를 살아가는 우리는 영화ㆍ동영상ㆍ음악 추천 시스템, 스마트 폰의 시리(Siri)나 빅스비(Bixby), 기가지니, 무인자동차 등 삶의 대부분의 영역에서 인공지능(AI)을 활용한 기술들을 마주하며 살아가고 있다. 수많은 영역에서 마치 요술램프처럼 우리의 문제들을 해결해주고 있는 인공지능의 기저에는 사실 다름 아닌 수학이 자리 잡고 있다. 인공지능은 어제 오늘의 일이 아닌 1950년대부터 연구되어오던 것으로, 최근 컴퓨팅 파워의 비약적인 발전과 함께 수학적 모형 및 알고리즘의 개발, 네트워크의 발전으로 인해 그 연구와 성과가 더욱 활성화되고 있다(Ministry of Science and ICT, 2018).

이러한 변화의 흐름 속에서 교육부는 인공지능을 학교 교육에 적극 도입하는 2가지 방안으로 초등학교 저학년(1, 2학년)을 대상으로 인공지능을 활용한 ‘똑똑! 수학탐험대’ 서비스를 제공하였으며, 2021년 2학기부터 고등학교에서 ‘인공지능 기초’와 ‘인공지능 수학’으로 진로 선택과목을 신설함을 확정 고시하였다(Ministry of Education, 2020b). 이러한 방안은 기술적 측면에서 인공지능을 수준별 개별화 학습과 자기 주도적 학습을 위한 교육플랫폼에 적용하는 것과, 내용적 측면에서 인공지능을 교과 학습으로 포함하는 것이라 해석된다.

초ㆍ중등교육에서 인공지능을 사용한 국외 논문을 체계적으로 분석한 Shin(2020)의 연구결과 에 따르면, 관련된 국외 연구의 대부분은 인공지능을 교육시스템이나 교육플랫폼에 적용하는 것이었고 수학교육 맥락에서의 구체적인 사례로는 단계형 ITS(Intelligent Tutoring System, 이하 ITS), 대화형 ITS, 협력학습 시스템이 있었다. 다른 선행연구에서는 대부분의 국내 연구들이 주로 인공지능과 관련된 기술의 활용과 교육공학적 관점에서 이루어졌다고 하였다(Park, 2020; Shin, 2019). 또한 여러 선행연구에서 인공지능 관련 기술을 교육에 활용하는 것 못지않게 인공지능의 원리와 개념을 이해하기 위한 수학교육이 요구된다는 주장을 볼 수 있다(Heo, 2020; Ko, 2020; Lee, 2020; Lee & Huh, 2018; Lee, Lee, & Ham, 2020; Weintrop, Beheshti, Horn, Orton, Jona, Trouille, & Wilenskys, 2016). 이는 인공지능 분야에서 수학의 유용성을 인식하고 인공지능에 필요한 수학 개념을 통해 인공지능을 이해하고 활용할 수 있도록 인공지능 수학 과목의 내용을 편성하는 것을 목표로 하는 교육부의 취지와 부합한다고 볼 수 있다(Ministry of Education, 2020a, 2020b).

본 연구의 목표는 인공지능을 기술적으로 적용하기보다 수학교과와의 내용적 융합을 위하여 진화전략(Evolution Strategy)기반의 최대ㆍ최소 문제의 탐구과정과 이를 위한 코딩환경을 개발하고 구현하는 것이다. 인공지능의 지도학습은 input 데이터에 대응하는 output 데이터가 주어져 있는 상황에서, output 데이터와 인공지능의 예측 사이의 오차를 최소화하는 알고리즘으로 문제를 해결한다. 인공지능의 핵심적인 작동원리인 오차에 대한 손실함수의 최적화는 학교수학에서 다루고 있는 최대ㆍ최소의 문제와 연결되어 설명될 수 있다. 오차를 최소화하는 방법으로서 기존에 널리 알려진 미분 기반의 경사하강법(Gradient Descent)은 대학의 인공지능 관련 교과는 물론 향후 고등학교에 도입될 ‘인공지능 수학’ 과목에서도 핵심적인 개념이다. 하지만 미분을 활용한 경사하강법은 고등수학의 내용을 다루기 때문에 중학생들이 이해하기가 쉽지 않으므로, 이를 대체하는 방법으로 인공지능의 진화전략을 기반으로 하는 최대ㆍ최소 문제의 탐구과정과 이를 위한 코딩환경을 설계하였다.

본 연구의 내용은 2019년 S대 과학영재교육원 수리정보분과 중학교 2학년과 3학년 학생들을 지도한 것을 바탕으로 하였으나, 영재원 대상이 아닌 일반 학생들까지 쉽게 접근할 수 있도록 아주 친숙하고 낮은 수준부터 시작하여 심화 수준까지의 탐구과정으로 재구성하였다. 영재원 대상이 아닌 일반학생이 접근할 수 있도록 구성한다는 뜻은 f(x, y)와 같은 수학적 표현이나 정규분포의 엄밀한 수학개념을 도입하는 것이 아니라, 주사위와 로봇개미 등이 등장하는 탐구 상황에서 주변 높이의 데이터를 모아 평균 등으로 분석하고 또한 경사가 높은 곳으로 이동하는 스토리텔링 기반의 최적화 탐구로 시작한다는 것이다. 또한 영재원 학생 등을 위한 심화수준은 알고리즘의 이해를 포함하여 함수식으로 다루며 정규분포 등의 수학적 개념을 탐구하는 계단식의 과정으로 세분화한다. 다시 말해 미분을 다루지 않는 저학년 학생을 위해 확률ㆍ통계 기반의 진화전략으로 경사하강법을 도입하고 심화된 수준에서는 미적분 기반의 경사하강법까지 연계하여, 확률ㆍ통계와 미적분을 융합하는 탐구과정을 설계하는 것이다.

본 연구에서 설계된 탐구과정과 코딩환경은 필요한 현장교육에서 수정과 적용이 가능하도록 온라인 코딩환경으로 공개하여 제공한다.

II. 이론적 배경

1. 진화전략(Evolution Strategy)

선행연구에서 밝힌 진화전략은 블랙박스 최적화 알고리즘의 한 분류로서 자연 진화에 착안한 휴리스틱 탐색 절차(heuristic search procedures)를 가진다. 자연 진화와 같이 각 반복(세대)마다, 파라미터의 집단(유전형)은 작은 변화(돌연변이)를 가지며 비용함수(적합도)를 평가한다. 가장 높은 평가점수의 파라미터는 다음 세대로 전달하며, 비용함수가 완전히 최적화될 때까지 이와 같은 절차를 반복한다(Rechenberg & Eigen, 1973; Schwefel, 1977; Salimans, Ho, Chen, & Sutskever, 2017, p. 2에서 재인용). 여기서 말하는 블랙박스 최적화는 최적화하려는 비용함수(목적함수)에 대하여 파라미터 공간에 있는 개체에 대한 적합도 평가값 이외의 어떤 부가적인 정보를 필요로 하지 않는다(Sehnke, Osendorfer, Rückstieß, Graves, Peters, & Schmidhuber, 2010). 또한, 진화 알고리즘은 집단(population)을 어떻게 표현하는지와 돌연변이의 결합방식에 따라 다양하게 세분화된다. 본 연구에서 따르는 진화전략 알고리즘은 Salimans et al.(2017)Sehnke et al.(2010)의 논문에서 구현한 것으로 다음의 수식이 핵심 아이디어이다.1)

θf(θ)1σ2EεN(0,σ2)εf(θ+ε)

진화전략을 한마디로 표현하자면 표본이 정규분포를 따를 때, 개념적으로 표본의 함숫값을 이용해 미분에 근사시키는 것이다. 수식에서 살펴볼 수 있듯이 진화전략은 개체의 평가 방법 외에는 문제에 대한 정보를 거의 필요로 하지 않기 때문에, 거의 모든 종류의 최적화 문제에 적용될 수 있다. 비용함수(목적함수)는 해석적 형태일 필요는 없으며, 시뮬레이션 결과가 비용함수로 사용될 수도 있다. 또한 선형 및 비선형 제약조건을 갖는 고차원, 멀티모달의 비선형 문제를 해결하는 데에 활용되어 많은 시험 사례에서 반복적인 다른 방법에 비해 성공적임이 입증되었다(Hwang, 2002; Salimans et al., 2017).

본 연구는 이러한 진화전략의 아이디어를 재조직하여 중학교 수준에서 미분 없이도 평균의 개념만 가지고도 조작할 수 있는 활동부터 고등학교 수준에서 다루는 미분 및 다양한 확률ㆍ통계적 지식을 진화전략을 활용하여 통합하는 최대ㆍ최소 탐구과정을 설계한다. 나아가 고등학교 차원에서는 진화전략의 수학적 아이디어를 이해하고 추론하여 중학교 차원의 내용을 재조명하며 다양한 함수의 최대ㆍ최소 탐구로 나아가도록 나선형(spiral)으로 연계되는 탐구과정을 설계한다.

2. 최대ㆍ최소 탐구를 위한 스토리텔링

본 연구는 학생들이 탐구를 통해 얻는 결과의 타당성을 확보하기 위해 진화전략을 교육적으로 재해석하여 학생들의 수준에서 추론하고 이해할 수 있는 스토리텔링으로 해석하였다. 다음은 스토리텔링을 위해 제시되는 상황과 진화전략에 대한 재해석이다.

산 정상에서 평지에 있는 마을로 내려가는 도중 길을 잃었다고 상상해보자. 설상가상으로 안개가 자욱하게 깔려 코앞의 상황밖에 볼 수 없는데 가진 것이라고는 등산스틱뿐이다. 이러한 상황에서 마을로 내려가기 위해선 어떻게 해야 할까? 아마도 등산스틱으로 주변을 두드려보며 경사가 아래로 향하는 방향으로 한 걸음 한 걸음 내딛어가며 내려가야 할 것이다. 최적화 방법으로 널리 알려진 경사하강법은 비용함수의 값을 최소화하기 위해 경사(gradient)를 이용하여 현재의 위치에서 경사의 반대방향으로 일정 크기만큼 이동하는 것을 반복하는 것이다. 한마디로 미분을 통해 경사를 구하고 경사가 낮은 쪽으로 조금씩 내려가는 것으로, 수학적 개념이 인공지능에 활용되는 대표적인 예이다.

진화전략은 고등학교 미분이 다루는 경사를 미분 없이 확률ㆍ통계로 근사시키는 것으로, 안개가 자욱하게 깔려 있어 등산스틱으로 주변에 대한 정보를 얻듯이 등산스틱 대신에 여러 마리의 로봇개미를 주변에 뿌려서 그 주변위치의 높이(함숫값)에 대한 정보를 얻는 것으로 스토리텔링 할 수 있다. 높이(함숫값)에 대한 정보를 얻기 위한 표본의 분포는 확률의 영역에서 다루며 얻은 표본의 수치적 처리는 통계의 영역에서 분석하여 경사가 아래로 향하는 곳으로 반복하여 나아가는 것을 진화전략 알고리즘의 핵심적인 스토리텔링으로 삼을 수 있다.

θf(θ)1σ2EεN(0,σ2)εf(θ+ε)

본 연구는 앞 절의 (ㄱ)의 수식을 쉽게 스토리텔링하여 현재의 위치에서 주변에 로봇개미들을 random하게 뿌려 그 위치의 높이에 해당하는 정보를 얻고, 높이(함숫값)를 가중치로 삼아서 위치의 변화량의 평균을 구하는 것으로 해석하였다. (ㄱ)에서 ε 은 현재의 위치 θ 로부터 떨어진 로봇개미의 위치 또는 로봇개미가 나아가려는 방향이며, f(θ + ε)는 그 표본개미가 조사한 높이(함숫값)이다. 즉, [로봇개미의 위치 변화량]×[높이(함숫값)]의 간단한 계산 값들의 평균을 이용해 경사의 근삿값을 구할 수 있다는 것이다. 다시 말해 어느 방향으로 움직일지를 말하고 있는 위치 변화량에 대한 표본집단을 임의추출한 후 표본 위치의 높이로 가중치를 부여하여 평균을 구하면 나아갈 방향을 정할 수 있는 것이다. 본 연구는 위와 같은 스토리텔링을 통해 미분을 다루지 않는 중학교 차원에서도 평균만 가지고도 최대ㆍ최소 탐구를 시작해 볼 수 있는 가능성을 모색하였다.

3. Constructionism 기반 마이크로월드

수학자이자 컴퓨터 과학자, 교육자였던 Papert는 발달심리학자 Piaget와 3년간의 공동연구를 통해 Piaget로 대표되는 구성주의(Constructivism) 와 구별되는 구성주의(Constructionism) 교육철학을 정립하였다(Papert & Harel, 1991; Ackermann, 2001). Papert(1972)는 중학교 기하에 소개되는 도형의 핵심이 선분과 각이고, 그것을 흰 눈이 내린 운동장에서 발자국으로 만들려면 앞으로 가고 옆으로 도는 행동에 있음에 착안하여, 중학교 유클리드 기하의 5개의 공리(axiom)와 자와 컴퍼스라는 2개의 도구 대신에 “가자”와 “돌자”라는 2개의 핵심적인 스토리텔링(powerful idea) 명령으로 기하 도형을 만들고 거북 및 동료 학습자들과 수학적 의사소통을 할 수 있는 코딩환경으로 ‘Logo’ 수학나라(Mathland)를 개발하였다. 영어단어 ‘construction’은 기하에서 작도라는 뜻이 있는데, 이러한 이유로 Papert는 자신의 구성주의를 Constructionism이라 불렀다(Papert & Harel, 1991). Constructionism의 핵심은 지식은 단순히 전이되는 것이 아니라 학습자가 마음속에서 능동적으로 구성하는 것이라는 Constructivism의 기본 관점을 전승하면서, 학습자가 전략적으로 주어진 교수 환경을 도구(media)로 상호작용하며 수학적 지식과 기호를 물리적 구성 활동을 통해 내면화 하는 것에 있다(Papert, 1980; Ackermann, 2001; Choi, 2020; Chung, 2020). Logo는 이러한 학습자의 구성을 위해 ‘가자’와 ‘돌자’와 같은 거북이를 움직이는 명령어들과 조건, 제어, 반복 등의 명령을 통하여 화면에 그림을 그리는 컴퓨터 기반 학습 환경이다(Cho, 2003; Choi, 2020). Papert는 자신의 Logo를 실제의 세계에 존재하는 문제와 유사한 제한된 환경의 문제공간으로서 이상적인 마이크로월드(Microworld) 환경이 될 수 있다고 하였다(Papert, 1980; Kim, 2004).

마이크로월드는 적절한 과제와 교육 체계가 있을 때 제한된 환경 내에서 대상에 대한 조작(operations)을 통해 학습자의 수준에 맞게 자신에게 의미있는 세계를 구성하고, 조작에 의해 결합된 대상을 또 다른 하나의 대상으로 인식하면서 구조화해나가는 경험을 제공하는 컴퓨터 환경을 지칭한다(Clements & Sarama, 2002; Kim, 2004; Choi, 2020). 마이크로월드에서 학생들은 대상에 대한 조작을 통해 학습자에게 의미있는 세계를 구성하며 지식을 습득하고, 컴퓨터 화면을 통해 피드백을 돌려받아 학습과정의 사고를 반성할 수 있다(Hoyles, Noss, & Adamson, 2002). 수학적 마이크로월드는 수학적 대상물들(objects)과 대상물들의 수학적 조작(operations)의 법칙이 있는 마이크로 공간으로, 학습자가 수학적 개념과 구조를 능동적으로 구성하도록 유도하기 위해서는 수학적 objects와 operations을 학습자의 탐구 능력에 맞도록 고안되고 표현되어 제시되어야 한다(Cho, 2003).

본 연구에서는 특별히 부등식 영역에서의 최대ㆍ최소 문제 상황으로 이어질 수 있는 이변수 함수의 탐구를 위해, 원소나열법과 조건제시법으로 수학적 대상을 만들고 또한 자유로운 조작 활동이 가능하도록 설계된 Constructionism 기반 3차원 터틀크래프트(Turtlecraft) 마이크로월드 환경을 도입한다. 또한 온라인 환경에서 최대ㆍ최소 탐구를 파이썬 코딩으로 할 수 있도록 구글 코랩(Google Colab, 이하 Colab)을 활용하여 파이썬 코드의 핵심부분을 학생들이 직접 조작해보며 직관적인 이해와 수학 실험을 할 수 있는 환경을 설계한다. 과거의 마이크로월드가 PC 기반의 개인적 탐구환경이었다면, 본 연구에서는 온라인 기반의 수학적 마이크로월드 환경을 설계하여 교육현장에 바로 적용될 수 있도록 하였다.

III. 최대ㆍ최소 탐구를 위한 코딩환경 설계

1. 터틀크래프트를 통한 3차원 시각화

가. 터틀크래프트 마이크로월드

마인크래프트(Minecraft) 게임은 학생들에게 아주 인기 있는 3차원 게임환경이다. 터틀크래프트(Turtlecraft)는 마인크래프트와 유사한 3차원 좌표계 마이크로월드로 방정식과 함수 그리고 논리로 이루어진 조건식을 만족시키는 해집합을 통해 다양한 함수의 그래프와 입체적인 구조물 등을 조건제시법 코딩으로 만들 수 있도록 설계되었다(Chung & Cho, 2020; Chung, 2020). 이러한 특성을 바탕으로 터틀크래프트는 초등수학의 내용부터 고등수학 이상의 수학적 대상을 구현하는데 활용될 수 있으며, 실제로 공간능력(Lee, 2016; Jeong, Lee, & Cho, 2016), 자유학기제(Kim, Seo, & Cho, 2018), 대수적 코딩(Jeong & Cho, 2020), 수학적 창의성의 발현과의 관계(Chung & Cho, 2020)등 수학교육 현장에 연계하는 연구들이 있다.

본 연구에서는 최대ㆍ최소 문제의 시각화와 탐구를 위하여 3차원 터틀크래프트 코딩환경과 2차원 파이썬 애니메이션을 Colab 환경을 통해 접근한다. 터틀크래프트와 Colab 환경은 별도의 설치 없이도 인터넷 환경의 웹브라우저를 통하여 곧바로 사용할 수 있는 코딩환경이다.2)

최대ㆍ최소 문제 상황으로 연계되는 다양한 함수 f(x, y)의 그래프를 조건제시법, 집합 등의 수학적 표현을 기반으로 터틀크래프트 코딩환경에서 부등식의 영역에서 조건을 만족하는 3차원 해집합으로 구성하여 시각화 할 수 있다. 또한 파이썬 2차원 애니메이션과의 연계를 위해 3차원 대상을 등고선으로 시각화 할 수도 있다.3) 터틀크래프트 코딩환경은 마인크래프트 게임환경과 마찬가지로 3차원 복셀4) 기반의 직관적이고 이산(discrete)적인 그래픽 표현 방식으로 수학적 구조물을 만든다. 따라서 이산적으로 수학적 구조물을 조작하며 탐구할 수 있고 또한 직관적으로 설명하고 해석하는 스토리텔링에 용이하다(Chung & Cho, 2020). 터틀크래프트에서는 최대ㆍ최소 탐구에 핵심이 되는 이변수 함수를 대수적인 함수식으로 코딩하는 방법과 함께 또한 길이와 각도 등의 기하적인 개념으로 만들어진 내장(built-in)함수를 활용하여 저학년 학생들도 이 변수 함수에 직관적으로 접근할 수 있도록 진입장벽을 낮추어 설계되어 있다.

나. 최대ㆍ최소 문제의 시각화와 스토리텔링

본 절에서는 서로 다른 두 주사위의 눈의 합과 같은 교과서 내의 친숙한 예시에서 출발하여 수학적 표현을 기반으로 한 코드를 통해 간단한 이변수 일차함수 f(x, y)의 그래프를 시각화하며 스토리텔링으로 접근하는 탐구과정을 살펴본다. 이어 수학적 개념이 담긴 내장함수를 구성의 도구로 하여 중학교 차원에서 복잡한 수식으로 도입하기 어려울 수 있는 f(x, y)의 그래프를 탐구해본다. 나아가 Constructionism 기반 3차원 코딩환경에서 구성주의 학습전략으로 만든 사각뿔(피라미드), 원뿔 및 여러 지형이나 구조물 모양의 f(x, y)의 그래프를 다양한 최대ㆍ최소 문제 상황으로 연계하는 탐구과정을 설계한다.

먼저 교과서 내의 친숙한 예시인 서로 다른 두 주사위의 눈의 합에서 탐구를 시작해본다. Figure 1은 서로 다른 두 주사위 중 한 주사위의 눈은 x좌표로, 다른 주사위의 눈은 y좌표라 할 때, “좌표의 합은 몇 층?”이라는 스토리텔링을 통해 각 좌표마다 x + y의 값에 해당하는 층에 블록을 쌓아 이를 3차원으로 시각화한 것이다. Figure 1.

Figure 1. 3D Turtlecraft visualization

3D Turtlecraft visualization 이는 두 주사위의 눈이 모두 1이 나오면 1 + 1 = 2층에 블록을 쌓고 두 눈이 모두 6이 나오면 6 + 6 = 12층에 블록을 쌓는 것으로, 빨간색 동그라미로 표시된 것과 같이 각각 3차원 좌표 (1, 1, 2), (6, 6, 1 2)에 대응한다. 아래의 코드는 1부터 6까지 x, y의 범위를 설정하고 간단한 함수식을 통해 표현한 것이다. 3차원에서 시각화된 그래프를 통해 학생들은 서로 다른 두 주사위의 눈들의 합으로 표현된 f(x, y) = x + y의 그래프가 평면을 이루고 주어진 영역에서의 최댓값과 최솟값은 각각 2와 12임을 알 수 있다.

터틀크래프트에서는 블록의 종류마다 번호가 매겨져 있어서 학생들은 Figure 2와 같이 f(x, y) = k의 등위곡선을 표시하거나 원하는 기준으로 그래프를 시각화할 수 있고, 또한 해당 블록의 번호에 대응하는 값으로 최댓값과 최솟값을 파악할 수도 있다. Figure 2는 정의역을 음수까지 확장하여 - 6에서 6까지의 x, y 에 대하여 좌표의 합이 같은 층끼리 구별되도록 z = x + y 의 그래프를 시각화한 것으로, x + y 의 값이 음수인 경우에는 지하(음수 층)에 그래프가 그려지므로 지상에는 피라미드의 한 옆면과 같은 그래프가 그려진다.5)

Figure 2. Graph of z = x + y on the given region

이는 두 주사위의 눈이 모두 1이 나오면 Figure 3은 서로 다른 두 주사위의 눈의 합에서 출발한 z = x + y에 대하여 대칭이동과 평행이동을 이용하여 4개의 이변수 일차함수들을 만들고, 부등식으로 표현하여 조건을 만족하는 해집합을 3차원으로 시각화 한 것이다. Figure 3의 입력창을 보면 z - 12 ≤ x + y, z - 12 ≤ x - y, z - 12 ≤- x + y, z - 12 ≤- x - y의 수식과 집합논리와 같은 수학적 표현을 기반으로 한 코드를 사용하여 피라미드 꼴의 수학적 구성물을 만든 것을 알 수 있고, 이는 z ≤ 12 - (|x | + | y |)와 같이 절댓값을 이용하여 간단히 나타낼 수도 있다.

Figure 3. Executable expression for square pyramid

터틀크래프트에는 수학적 개념이 담긴 다양한 내장함수들이 있다. 이 내장함수들은 최대ㆍ최소 탐구에 핵심이 되는 이변수 함수 f(x, y)의 복잡한 수식을 대수적으로 도입하기에 앞서 학습자의 수준에 맞는 놀이언어로서 제시되는 것으로, 좌표와 거리, 각, 최대ㆍ최소 등의 수학적 개념이 담긴 코드를 활용한 능동적인 구성활동을 통해 학습자에게 의미있는 지식을 조직하기 위한 도구이다.

예를 들어 Figure 4의 원뿔은 피타고라스 정리가 담긴 내장함수 sqrt(x, y)를 이용하여 표현한 것으로 이후 z=12x2+y2 와 같이 수식으로도 나타낼 수 있다. Chung(2020)은 “층(z)이 올라갈수록 원(혹은 정사각형)의 크기가 작아지도록 하면 어떤 도형이 만들어질까?”와 같은 스토리텔링과 터틀크래프트의 집합 명령어를 통해 중학교 학생들에게도 원뿔이나 사각뿔(피라미드) 등의 수학적 구성물들을 만들며 수학적인 원리를 탐구하도록 할 수 있다는 가능성을 제시하였다.

Figure 4. Executable expression for cone

이러한 탐구를 바탕으로 학생들에게 보다 현실감 있는 수학적 구성물의 예시로 산과 호수 등의 지형을 만들어보며 최대ㆍ최소 문제 상황을 접근해본다. Figure 5는 정규분포와 관계되는 e- x2 - y2x3 + y3 을 곱해서 만든 이변수 함수 f(x, y) = - 3 (x3 + y3) e- x2 - y2 의 그래프로, 그림과 같이 산봉우리와 호수가 있는 지형의 모습을 나타내며 최댓값은 산 정상의 높이로 스토리텔링을 할 수 있다. 아래의 코드들은 함수식과 집합, abs, exp와 같은 수학적 표현을 바탕으로 한 것이다.

Figure 5. f(x, y) = -3(x3+y3e-x2-y2)

이처럼 학생들은 조건제시법, 집합 등의 수학적 표현을 기반으로 한 코드를 활용하여 간단한 이변수 일차함수에서부터 피라미드, 원뿔, 여러 지형이나 구조물 등을 조건을 만족하는 해집합으로 접근하여, 창의적으로 코딩하고 탐구해보며 다양한 최대ㆍ최소 문제 상황을 시각화할 수 있다(learning by making). 이러한 터틀크래프트를 활용한 3차원 시각화 및 구성주의 학습은 다음 절에서 다루는 파이썬을 통한 2차원 시각화와 애니메이션을 통한 최대ㆍ최소 탐구로 연계된다.

2. 파이썬을 통한 2차원 애니메이션

가. Colab을 활용한 탐구 환경 설계

본 연구에서는 파이썬 언어로 된 코드의 실행을 위해서 별도의 설치 없이 사용자가 인터넷 환경의 웹브라우저를 통하여 바로 클라우드 컴퓨팅을 할 수 있는 Colab에 가상 실습환경 구현하였다.

수학적 실험탐구에서는 터틀크래프트에서 다루었던 다양한 함수에 대하여 2차원 등고선으로 표현하고 구체적인 계산과 함께 애니메이션을 만들어 최대ㆍ최소 탐구과정을 시각화하여 제공한다.

본 연구는 함수식 및 수학적 내용이 담긴 핵심 코드를 조작하며 최대ㆍ최소 문제 탐구는 물론 확률ㆍ통계적 지식이나 인공지능에 쓰이는 개념들을 안내하도록 스토리코딩하여 탐구환경을 설계하였다.6) Figure 6은 수학적 실험탐구의 한 입력화면으로, 이 화면에서 학생들은 주요한 설정을 선택하여 실행코드의 입력을 바꿀 수 있다. 이 탐구 환경은 필요한 입력 상황에 따라 체크박스나 드롭다운 입력뿐만 아니라 직접 정수를 입력값으로 받아서 실행하도록 구현하였다. 예를 들어 Figure 6의 입력화면에서 normal distribution에 체크가 되면 정규분포에 대한 표본추출을 이용하게 되며, 체크가 해지되면 균일분포에 대한 표본추출을 이용한 결과를 출력하는 조작을 할 수 있다.

Figure 6. Colab coding environment for 2D Python animations

또한, 탐색하고자 하는 여러 함수를 드롭다운 형식을 통하여 선택하도록 하면 학생들이 코딩언어로 표현한 수학식을 입력할 때 생길 수 있는 오류에 대한 통제가 가능하다. 이렇게 설계된 환경에서는 입력의 조합을 달리 선택하여 시행할 때마다 다른 출력 결과를 즉시로 확인할 수 있다.

더불어 Colab에서 제공하는 탐구환경은 파이썬 코드는 물론 주석, 이미지, 동영상 등을 첨부할 수 있어 교육용 자료를 제작하거나 학생들끼리 서로 공유하며 소통을 하며 협력학습을 하기에 유용한 환경을 제공한다.

나. 2차원 애니메이션 실험탐구

구현된 수학적 실험탐구의 다른 특징은 실행결과화면에서 함수의 그래프를 2차원 등고선으로 표현하며 주어진 초기 위치에서 최댓값 또는 최솟값으로 찾아가는 모습을 시간에 따라 화살표의 이동으로 표현한 애니메이션을 구현한 점이다.

Figure 7에서 상단의 왼쪽의 그림은 앞서 탐구하였던 f(x, y) = - 3 (x3 + y3) e- x2 - y2 의 터틀 크래프트를 통한 3차원 그래프를 위에서 바라본 것이다(Figure 5 참조). 나머지 3개의 그림들은 동일한 입력함수의 그래프를 파이썬을 통해 2차원 등고선으로 나타내고, 설정한 반복 횟수 안에서 시간에 따라 이동한 경로를 만들어가며 최댓값을 찾아 움직이고 있는 과정을 애니메이션으로 보여준다. 설계된 실험탐구환경에서는 입력의 조합을 달리 선택하여 시행할 때마다 다른 애니메이션의 출력 결과, 즉 최댓값 또는 최솟값을 찾는 경로를 즉시로 확인할 수 있다.

Figure 7. 3D visualization and 2D Python animation

더 나아가 심화된 학습을 위해서는 구현된 입력 화면을 더블클릭하여 소스코드를 제공 받을 수 있으며, 스토리텔링으로 이해하고 있는 진화 전략의 알고리즘이 어떻게 구현되어 있는지 확인할 수 있다. 또한 이는 다른 설정을 적용한 실행 코드로 수정 가능하기 때문에 다양한 탐색으로 확장이 가능하다.

IV. 확률ㆍ통계 기반의 진화전략을 활용한 최대ㆍ최소 탐구

본 장에서는 중학교차원의 직관적인 모형에서부터 정규분포를 도입하는 진화전략의 단계별 도입전략 및 스토리텔링에 대해 살펴본다.

1. 중학교 차원의 직관적인 기초모형

본 절에서는 진화전략의 핵심 아이디어를 중학교 차원에서 재조직하여 단계적으로 탐구해본다. 먼저 일변수 함수에서 탐구를 시작하여 서로 다른 주사위를 던져서 나올 수 있는 두 눈의 합이 그렸던 z = x + y의 이변수 함수의 상황으로 나아가는 탐구과정을 설계한다. 이 과정에서 파이썬을 활용해 함수의 그래프를 시각화하고 복잡한 계산들을 해나감으로써 컴퓨터와 함께 탐구하는 것을 자연스럽게 유도한다.

앞서 진화전략의 수식 중 ε × f(x + ε)가 [로봇개미의 위치변화량]×[높이(함숫값)]임을 스토리텔링하여 제시하였다.7) εf(x + ε)의 이해를 위해 우선 Figure 8과 같은 일변수 함수에서 5마리의 로봇개미만 생각해본다.

Figure 8. One variable function whose domain is evenly distributed numbers

먼저 로봇개미를 뿌릴 때, 편향된 정보조사가 되지 않도록 고르게 뿌려야 함을 스토리텔링하여 제시할 수 있다. 이와 관련한 개념으로 초등학교부터 배우는 평균의 개념을 도입하면 Figure 8의 경우 학생들은 간단한 계산을 통해 현재위치 x로부터 로봇개미들이 떨어진 정도(위치변화량)에 해당하는 εi (i = 1, 2, ⋯, 5)들의 평균은 (2)+(1)+0+1+25=0임을 쉽게 확인할 수 있다. 다음으로 각각의 εi (위치변화량)과 각각이 보고하는 높이(함숫값)인 f (x + εi)을 곱하여 평균을 구해본다. 이 과정은 간단한 평균 이용해 나아갈 방향을 찾는 과정이다. Figure 8의 경우 x를 기준으로 ε1, ε2가 조사한 함숫값은 음의 값으로 보고되고 ε4, ε5는 양의 값으로 보고되기에 εi × f (x + εi)들의 평균을 구해보면 양수가 나온다. 이를 통해 현재 위치를 기준으로 상대적으로 오른쪽 부분에 높은 지형이, 왼쪽 부분에 낮은 지형이 포진해있음을 짐작하고 우측으로 나아가야함을 스토리텔링할 수 있다.

이제 앞에서 다루었던 서로 다른 주사위를 던져서 나올 수 있는 두 눈의 합의 상황으로 돌아가 이변수 함수로 나아가본다. Figure 9는 동그라미로 표시된 부분, 즉 (3, 2, 5)를 현재위치라 가정하고 현재위치를 기준으로 주변에 로봇개미를 8마리 뿌려 위치변화량을 조사하는 모습이다. 앞선 활동을 바탕으로 우선 x좌표만 따져보면 ε1, ε2, ε3은 위치 변화량이 - 1이고, ε4ε8은 0, ε5, ε6, ε7은 + 1이다. 이제 ε1부터 반시계방향으로 각각의 로봇개미들의 위치변화량에 높이 (함숫값)을 곱해 평균을 구해본다.

Figure 9. Min-max optimization by hand
mx=(5)+(4)+(3)+0+5+6+7+08=34
my=5+0+(3)+(4)+(5)+0+7+68=34

학생들은 간단한 산수를 통해 Figure 9와 같이 x축 방향, y축 방향의 평균값으로 모두 34 의 양의 값이 나옴을 알 수 있다. 이는 현재위치를 기준으로 x축 방향은 우측에 상대적으로 높은 지형들이 포진해 있기에 산을 오르려면 양의 방향(우측)으로, 내려가려면 음의 방향(좌측)으로 가야함을 뜻한다. y축 방향 역시 산을 오르려면 현재의 위치로부터 양의 방향(위쪽)으로, 내려가려면 음의 방향(아래쪽)으로 가야함을 말해주고, 이 둘을 종합하면 산을 오르기 위해서는 우상향으로, 내려가기 위해서는 좌하향으로 가야함을 알 수 있다. 물론 나아갈 방향으로의 크기와 관련하여 지금은 정의역이 이산(discrete)집합이기에 반올림으로 처리하여 한 칸씩 이동한다.

Figure 10의 사각형 모양의 영역은 앞서 Figure 2와 같이 피라미드를 만드는 데에 쓰였던 이변수 함수 z = x + y의 정의역을 조절하고 파이썬을 이용해 20 × 20 크기의 행렬로 시각화한 것으로, 빨간색에 가까울수록 높이가 높고 파란색에 가까울수록 높이가 낮은 것이다. Figure 10은 최댓값을 찾기 위해 컴퓨터의 계산능력을 활용하여 앞선 Figure 9의 과정을 반복적으로 적용한 것으로, 최적화를 진행하는 경로는 흰색 선을 따라 애니메이션으로 표현된다.

Figure 10. Min-max optimization by computer

일련의 과정은 간단한 평균의 개념만 가지고도 직관적인 스토리텔링과 컴퓨터의 계산능력을 활용해 기초적인 최적화를 진행한 것이다. 물론 기초적인 모형은 Figure 10z = x + y와 같이 경사가 확실한 간단한 경우에 적용이 가능한 것으로 여러 가지 문제점들이 있다. 이러한 기초모형의 장단점을 확인해보는 과정은 다양한 수학적 개념을 탐구해볼 수 있는 계기가 된다. 특히 Figure 11과 같은 여러 가지 가능성의 예시를 통해 학생들로 하여금 해당 모형의 개선을 위해 로봇개미의 개체수와 분포에 대한 탐구를 유도한다.

Figure 11. Even function whose domain is evenly distributed numbers

2. 표본추출(Sampling) 및 이산적 상황에서 연속함수로의 확장

로봇개미의 분포와 관련하여 학생들이 직관적으로 떠올릴 수 있는 로봇개미의 배치로 Figure 12와 같은 모양들을 생각할 수 있다. 같은 함수에 대해 동일한 개체수로 최적화를 진행해보면서 각 경우별 최댓값 혹은 최솟값에 수렴하는 속도(시행횟수)나 최댓값 혹은 최솟값 근처에서의 의사결정 등을 비교하며 효율적이고 유효한 방법을 탐구해 볼 수 있다. 앞장에서 살펴본 피라미드에 로봇개미의 개체수를 늘려 로봇개미의 배치를 바꿔가며 적용해 보면 square의 경우가 가장 수렴속도가 느리며 최댓값 근처에서 진동하는 가장 비효율적인 경로 선택임을 알 수 있다. 또한 다양한 그래프에 배치를 조작해보며 적용해보는 실험을 통해 분포에 따라 초기값에 영향을 받거나 원의 경우 반지름에 따른 진행속도나 진동여부 등을 탐구해볼 수 있다.

Figure 12. Robot ants distributed uniformly

한편 자원의 한정된 상황, 예를 들어 로봇개미를 작동시키기 위한 배터리 시간 제약 등의 효율성에 대한 스토리텔링을 통해 로봇개미의 표본추출(sampling)의 필요성을 제시하고, 로봇개미의 개체수를 줄이는 전략으로 균등분포(uniform distribution)와 정규분포(normal distribution)를 도입할 수 있다.8) 먼저 앞선 균일한 배치 내에서 random하게 선택을 하여 로봇개미를 배치하는 것은 균등분포를 따르는 것이고, 가까운 정보를 더 많이 반영하기 위해 아주 가까운 거리(표준편차 ± 1배), 근거리(표준편차 ± 2배), 원거리(표준편차 ± 3배) 범위 내에 각각 누적 68%, 95%, 99%의 로봇개미를 배치시키는 것은 정규분포를 따르는 것으로 스토리텔링 할 수 있다.

학생들에게는 정규분포보다는 균등분포가 직관적으로 randomness에 더 가까울 수 있다. 이에 먼저 균등분포를 적용한 탐구들을 통해 원하는 최댓값 혹은 최솟값 근처에서 진동 가능성, 가까운 정보를 더 많이 반영하는 것의 필요성 등을 살펴보고 그 과정을 스토리텔링하여 정규분포의 도입을 유도한다.

Figure 13은 random으로 뿌려진 10마리의 로봇개미(검은 점)들을 이용해 최댓값이 40인 피라미드에 대해 정규분포를 적용한 알고리즘이 흰색 점들을 이은 경로를 따라 23번 만에 최적화를 마친 것을 보여준다. 이는 동일한 함수에 대해 균등분포를 적용한 알고리즘이 36번 이동으로 최댓값 근처 38에 도달한 이후 진동하다가 39번의 이동 끝에 최댓값에 도달하는 것에 비해 훨씬 안정적이고 효율적임을 알 수 있게 해준다.

Figure 13. Gradient ascent animation for pyramid

물론 표준편차(σ), 학습률(learning rate) 등을 변화시키거나 적용되는 그래프의 모양에 따라 결과가 달라질 수 있으며, 또한 로봇개미가 random하게 추출되기에 모든 경우에서 정규분포를 적용하는 것이 유리하다고 할 수는 없을 것이다.9) 하지만 여러 상황들에 조작 및 적용해봄으로써 비교적 균등분포를 적용한 알고리즘에 비해 정규분포를 적용한 알고리즘이 진행과정은 물론 최댓값 혹은 최솟값 근처에서 안정적임을 탐구할 수 있고, 직관적으로는 최댓값ㆍ최솟값 근처에서는 가까운 정보를 더 많이 반영하는 방안으로 정규분포의 도입을 스토리텔링 할 수 있다. Figure 14는 앞에서 탐구한 원뿔에 정규분포를 따르는 표본을 도입한 경우의 최적화를 진행하는 모습이다.

Figure 14. Gradient ascent animation for cone

다. 연속함수로의 확장

지금까지는 여러 함수의 정의역이 이산집합인 경우로 함수의 그래프가 이산적(discrete)으로 그려졌다면, 정의역이 연속(continuous)인 경우를 포함하여 함수의 최대ㆍ최소 탐색을 확장한다. 앞선 장의 Figure 7Figure 5의 산과 호수의 지형을 갖춘 f(x, y) = - 3 (x3 + y3) e- x2 - y2 의 함 수에 적용하여 얻은 최적화 탐색경로의 결과이다. 이는 미분 가능한 함수이지만 미분의 과정이 복잡하다면 미분하여 값을 계산하기보다 오차한계가 허용하는 범위 내에서 근삿값을 유효하게 구하는 것으로, 해당 모형이 갖는 효율적인 측면이 될 수 있다. 또한 일련의 과정에서 학생들은 파이썬의 print 명령을 활용하여 각 시행마다 평균이나 합 등을 쉽게 볼 수 있으며, 현 교육과정에서는 빠졌지만 해당 알고리즘에서 로봇개미들의 정보를 행렬로 쉽게 처리하는 것에서 행렬의 개념이나 알고리즘과 순서도를 다뤄볼 수도 있다.

V. 진화전략을 활용한 최대ㆍ최소 탐구와 미적분

1. 진화전략과 미적분

앞선 과정들을 통한 알고리즘을 쉽게 표현하면 현재위치를 기준으로 정규분포를 따르는 로봇개미들을 주변에 random하게 뿌려 εf(θ + ε)값들의 평균을 조사해 나아갈 방향을 찾는 것으로, 이는 앞선 진화전략의 수식 (ㄱ)중에 뒷부분인 EεN(0,σ2)εf(θ+ε)에 해당한다. 이를 σ2으로 나누어 gradient에 근사시키기 위해 아래와 같이 (ㄴ)의 테일러 전개식의 양변에 ε을 곱해 ε에 대해 평균을 취하고, (ㄷ)에서 홀수 차 Gaussian 의 moment는 0임을 통해 진화전략의 (ㄱ)의 결과를 얻을 수 있다. 이를 가급적 고등학교 수학의 차원에서 스토리텔링하여 증명하는 과정은 좋은 탐구거리가 될 수 있으며 해당 자료는 탐구환경에 업로드 되어 있다.

이를 바탕으로 본 절에서는 진화전략을 미분 불가능한 경우의 다양한 연속함수 f(x, y)의 그래프에 확장하여 적용해본다. Figure 15는 앞서 탐구하였던 정의역이 이산인 경우의 피라미드꼴의 함수를 정의역이 연속인 경우로 확장하여 진화전략을 적용한 모습이다. 고등학교의 경우 미분을 배우기에 Figure 15의 모서리를 타고 가는 흰색 선의 경로는 미분 불가능한 경우에 대해 최적화를 진행한 것임을 알 수 있다.

Figure 15. Evolution strategy for non-differentiable function(pyramid)
f(θ+ε)f(θ)+f'(θ)ε+f"(θ)2!ε2 EεN(0,σ2)εf(θ+ε)EεN(0,σ2)f(θ)ε+f'(θ)ε2+f"(θ)2!ε3=σ2f'(θ)

확률ㆍ통계의 개념으로 미분 없이도 최대ㆍ최소를 탐구할 수 있는 진화전략은 고등학교를 넘어 대학교 수학교육까지 연계될 수 있다. 다음의 Figure 16은 대학의 미적분학에 나오는 데카르트 엽선(folium of Descartes) f(x, y) = x3 + y3 - 3xy 의 그래프가 그리는 지형으로, 우측 상단 그림의 중앙 부분에 있는 터틀 거북이의 위치에서 오른쪽 호수로 내려가는 경로를 찾아가는 스토리텔링을 생각해볼 수 있다. 이 역시 미분이 불가능한 경우에도 쓰일 수 있는 확률ㆍ통계적 방법으로, 진화전략 알고리즘을 통해 아래로 가는 경사가 급한 곳을 따라 Figure 17과 같이 최적화가 가능하다.

Figure 16. 3D visualization for Descartes folium
Figure 17. 2D python animation for Descartes folium

일련의 과정은 앞서 Constructionism 기반 코딩 환경에서 구성주의 학습으로 그렸던 다양한 f(x, y)에 진화전략을 적용하여 이전의 학습을 되짚어보며 점차 나아가는 나선형으로 연계되는 탐구과정을 도모한 것이다.

2. 스토리코딩을 통한 조작과 탐구

진화전략을 다양한 최대ㆍ최소 문제 상황에 적용하는 탐구와 더불어 진화전략의 알고리즘을 스토리코딩하며 코드를 분석하고 파라미터들을 조작하는 과정을 통해 고등학교 확률ㆍ통계의 수학적인 개념이나 인공지능에서 사용되는 여러 개념들을 살펴볼 수 있다.

먼저 지금껏 확률ㆍ통계의 학습에서 주로 교과서 내의 주어진 자료의 분산과 표준편차(σ)를 계산하는 것이 일반적이었다면, Figure 18과 같이 시각적 feedback을 바탕으로 상황에 따라 표준편차의 값을 조작해보는 것은 표준편차에 대한 직관적인 개념을 형성하는 데에 도움이 될 것이다.

Figure 18. σ = 1, σ = 3

다음으로 매 시행마다 로봇개미들을 통해 경사(gradient)의 근삿값을 얻었어도 그 값을 다르게 반영하면 최적화가 다르게 진행될 수 있음을 탐구할 수 있다. 이와 관련한 개념으로 학습률(learning rate)을 보폭(step size)이라 한다면 보폭이 너무 크면 Figure 19와 같이 진동하거나 낭떠러지에 떨어질 수 있고, 안전하게 가기위해 보폭을 줄이면 진행속도가 늦어진다고 스토리텔링할 수 있다. 이로서 로봇개미를 통해 현재의 위치로부터 gradient의 근삿값을 제공받고 그 방향으로 얼마만큼의 보폭으로 나아갈지를 학습률을 통해 조절하는 것으로 진화전략의 전체구조를 스토리텔링 할 수 있다.

Figure 19. Examples of overshooting and oscillation

앞서 학생들이 정의역이 이산집합인 경우에 εf(θ + ε)의 평균값을 직접 손으로 계산해보는 과정에서, 다양한 예시를 구성하여 동일한 학습률을 적용하더라도 Figure 20과 같이 주변상황에 따라 εf(θ + ε)의 평균값의 절댓값의 차이로 인해 진행속도가 달라질 수 있음을 탐구해 볼 수 있다. 이를 해결하기 위해 본 연구에 사용되는 진화전략 알고리즘은 고등학교 교육과정에서 다루는 표준화(standardization)를 사용하였고, 이는 교과서에서 배우는 개념이 적용되는 사례를 탐구할 수 있는 좋은 기회가 된다.

Figure 20. Standardization

지금까지의 과정에서 본 절의 알고리즘은 매 시행마다 200마리의 로봇개미들을 랜덤하게 뿌려서 각각의 [로봇개미의 위치변화량]×[높이(함숫값)]들의 평균을 구하며, 그 과정에서 함숫값에 대한 표준화를 한다. 사실 이 과정은 컴퓨터로는 몇 초 밖에 걸리지 않지만 손으로 일일이 계산하기에는 거의 불가능할 정도로 매우 방대한 양이다. 해당 알고리즘을 살펴보면 실제로 이 200개의 data를 R 이라는 행렬로 다루고 내적 등의 수학적 개념을 이용해 컴퓨터와 함께 단 몇 줄의 코드로 최적화를 진행한다. 학생들은 파이썬의 print 명령을 통해 각 단계별 수치정보들을 확인해보며 현 교육과정에서는 다루지 않지만 행렬과 알고리즘 순서도의 중요성을 느낄 수 있고, 나아가 알고리즘에 담겨있는 여러 수학적 개념을 살펴보며 수학의 중요성을 다시 한 번 체감할 수 있다.

마지막으로 실제 최적화에서 주요한 문제인 local maximum/minimum에 대해서도 살펴볼 수 있다. Figure 21은 local maximum에 빠져 우리가 원하는 global maximum으로 나아가지 못하고 그 주변을 맴도는 경우의 예시이다. 실제로 이러한 문제를 극복하기 위해 AdaGrad, RMSProp, Adam, Momentum등의 이미 많은 연구들이 활발히 이루어지고 있다.

Figure 21. Convergence to a local maximum/minimum

3. 최대ㆍ최소 탐구의 확장

로젠브록 함수(Rosenbrock function) 는 실제 인공지능에서 사용되는 최적화 연구자 차원의 함수로 그 그래프는 Figure 22와 같이 골짜기에 길고 좁은 y = x2 꼴의 계곡이 흐르는 모양이다. f(x, y) = (a - x)2 + b(y - x2)2의 함수식에서 알 수 있듯이 전역최솟값은 f(x = a, y = a2) = 0이고 일반적으로 a = 1, b = 100을 대입하여 사용한다. 여러 알고리즘을 적용해보면 골짜기를 찾는 것은 쉬우나 전역최솟값으로 수렴하는 것은 매우 어려워서 수학적 최적화에서 최적화 알고리즘을 시험해볼 용도로 사용한다(Rosenbrock, 1960).

Figure 22. 3D visualization for Rosenbrock function

본 연구에서 다룬 진화알고리즘을 적용해보면 Figure 23과 같이 초기 몇 번 만에 골짜기로 진입하는 데는 성공하지만 1000번을 시행하는 동안 아주 더디게 최솟값을 향해 진행하는 것을 볼 수 있다. 이 과정에서 학생들은 로봇개미들이 골짜기 밖으로 나가지 않도록 표준편차(σ)값을 조절해보거나 진행속도를 늘리기 위해 학습률(learning rate)을 조작해볼 수도 있겠지만, 두 경우 모두 전문가에게 사용되는 함수인 만큼 녹록치 않음을 알 수 있다. 이는 해당 알고리즘이 몇 줄 안 되는 코드임에도 비교적 근사한 값을 찾아가는 것에서 진화전략의 강력함을 느낄 수 있도록 하는 한편, 우리가 사용하는 코드의 문제점을 발견할 수 있는 좋은 탐구거리가 된다.

Figure 23. 2D Python animation for Rosenbrock function

지금까지 진화전략의 핵심 아이디어를 함수의 그래프가 그리는 지형의 최대ㆍ최소 문제에 적용해봄으로써 여러 긍정적인 측면과 함께 한계점 또한 탐구해보았다. 본 연구에서 사용한 진화 전략 파이썬 코드는 100줄도 안 되는 아주 짧은 것으로, 실제 인공지능에 활용되는 코드에 비하면 매우 단순한 코드이기에 한계점이 있는 것은 당연하지만 한편으로는 그 아이디어 하나만으로도 다양한 탐구가 가능하기에 진화전략이 실제로 왜 이렇게 각광을 받는지 알 수 있다.

VI. 결론 및 제언

2021년부터 인공지능 수학이 고등학교 선택과 목으로 도입되는 상황에 맞추어, 본 연구는 중학교 차원의 직관적인 최적화 방법에서부터 시작하여 확률ㆍ통계 기반의 진화전략으로 최대ㆍ최소 문제를 도입하였으며, 궁극적으로 인공지능 수학에 도입되는 미분 기반의 경사하강법으로 융합될 수 있도록 하였다. 구체적으로 본 연구는 피라미드와 원뿔 등과 관계된 최대ㆍ최소 문제 상황을 도입하고, 진화전략의 아이디어를 주사위 실험으로 재조직하여 미분 없이 평균의 개념만 가지고도 탐구를 시작할 수 있도록 하였으며, 나아가 인공지능 수학의 경사하강법과 융합될 수 있도록 탐구과정을 설계하여 제시하였다. 또한 codingmath.org 주소의 인공지능 수학 공지를 통해 학생들은 설계된 Colab 파이썬 코딩환경과 터틀크래프트 코딩환경에 접근할 수 있으며, 그곳에서 직접 코딩기반의 탐구를 수행할 수 있도록 본 연구에 사용된 모든 코드가 설명과 함께 제시되어 있다. 본 연구에서 제시한 진화전략 기반의 최대ㆍ최소 문제 탐구과정과 이를 위한 코딩환경은 다음과 같은 특징과 시사점을 내포하고 있다.

첫째, 미분을 다루지 않는 저학년 학생을 위해 확률ㆍ통계 기반의 진화전략으로 경사하강법을 도입하고, 심화된 수준에서는 미적분 기반의 경사하강법까지 연계시킨다. 이렇게 확률ㆍ통계와 미적분을 융합하는 탐구과정을 통해 서로 다른 영역이라고 여겨질 수 있는 미분과 확률ㆍ통계에 대한 통합적 시각을 제공한다.

둘째, 최대ㆍ최소 문제를 수학적 실험이 가능토록 재구성하여, 학습자의 직관적 이해와 코딩 기반의 수학적 탐구활동을 통해 접근한다. What-if 질문을 만들고 컴퓨터를 이용해 시각화하고 계산하며 수학적 논리로 뒷받침한다. 이러한 탐구활동을 통해 자연스럽게 3차원 좌표와 등고선, 함수 f(x, y)의 그래프와 최대ㆍ최소, 경사(gradient)와 관계된 미분개념, 미분이 불가능한 경우를 다루는 진화전략, 그리고 행렬과 평균과 분포에 기반한 확률ㆍ통계 개념과 상황에 접근할 수 있다.

셋째, 컴퓨터와 함께 자신의 문제를 해결하는 컴퓨팅 사고력(Computational Thinking) 역량을 키운다. 학생들이 수학적 아이디어를 바탕으로 컴퓨터와 함께 문제를 해결하는 자신감과 욕구를 키우는 것은 인공지능 기반의 4차 산업혁명 시대에 필요한 수학적 역량과 컴퓨팅 사고력 역량을 기를 수 있는 좋은 계기이다. 나아가 일련의 과정은 플래피버드 게임 코딩이나 주가탐구로 발전이 가능할 것이다.

요사이 인공지능 시대에 필요한 수학교육을 위해 기존 교육과정 내의 변화의 움직임은 물론 자유학년제, 방과 후 교실, 영재센터와 같은 교육기관 등에서도 다양한 시도들이 이루어지고 있다. 탐구의 과정에서 살펴보았듯이 행렬, 알고 리즘과 순서도 등과 같이 현 교육과정에서는 다루고 있지 않지만 컴퓨터와 함께 다루어질 때 재조명 될 수 있는 많은 수학적 개념이 있다. 진화전략 역시 컴퓨팅 파워의 발전과 함께 그 수학적 아이디어가 재조명 되어 다양한 분야에 활용되는 것이다. 종이가 없었던 시대의 수학교육과 종이가 있는 환경의 수학교육을 비교할 수 있듯이, 정적인 교육 환경에서 다루어지지 못했던 많은 개념들을 컴퓨터의 동적인 환경에서 새롭게 이해하고 적용할 필요가 있다. 이러한 노력을 바탕으로 컴퓨터와 함께 문제를 해결하는 AI시대에 꼭 필요한 수학적 역량을 기를 수 있는 다양한 교육과정들이 필요할 것이다.

Footnote

1) 표기를 단순화하기 위해 1차원 θ에 대해서 쓰지만, 다변량 사례에서도 유사하게 작용한다. 수식에서 은 기댓값을, σ는 표준편차를 뜻하며, ε은 정규분포 N (0, σ2)를 따른다.

2) 터틀크래프트 : codingmath.org, Colab URL: codingmath.org 주소의 공지사항에 “인공지능 수학 (최대최소)”

3) 최대ㆍ최소 문제와 관련하여 현행 교육과정에서 다루고 있는 내용으로 경제수학의 부등식의 영역과 선형계획법을 들 수 있다. Choi, Lee, & Kim(2010)은 기존의 선형계획법을 지도하는 데에 있어서, 학생들이 단순히 f(x, y)를 k로 두고 k의 의미를 충분히 이해하지 못한 채 f(x, y) = ky = f(x)꼴로 변형시켜 알고리즘적으로 문제를 풀고 있음을 지적하였다. 비슷한 관점에서 Lee, Lee, & Kim(2012)는 이러한 문제를 개선하기 위해 f(x, y) = k의 등고선 개념을 도입하는 방안으로 GeoGebra를 활용하였다. 터틀크래프트에서는 이러한 xy평면에 사영시키는 방법은 물론 3차원에서도 등고선을 시각화 할 수 있다.

4) 복셀(voxel)은 부피(volume)와 화소(pixel)의 합성어로, 2차원 평면을 구성하는 최소 단위인 화소의 개념을 3차원 공간의 최소 단위인 큐브(cube)로 확장한 것이다(Chung, 2020).

5) Figure 2의 코드 중 z = = x + yz <= x + y로 바꾸어 평면 z = x + y 및 그 아래의 점들을 3차원 해집합으로 스토리텔링하여 주어진 부등식의 영역에서 조건들을 만족하는 해집합의 풀이로 접근할 수 있다.

6) codingmath.org 주소의 공지사항 중 “인공지능 수학 (최대최소)”에서 “(클릭) 파이썬 탐구자료 및 코딩환경 바로가기” 링크를 클릭하면 Colab을 통한 탐구환경으로 연결된다.

7) 본 절에서는 중학생들의 이해를 돕기 위하여 θ 대신 x를 변수로 사용한다.

8) Randomness의 필요성을 위해 고등학교 차원의 경우 경사하강법과 관련하여 Stochastic Gradient Descent가 Batch Gradient Descent에 비해 갖는 이점들과 연관지어 설명하는 스토리텔링도 생각해 볼 수 있다.

9) 예를 들어 최댓값이나 최솟값 근처가 아닌 곳에서는 균등분포를 적용한 알고리즘의 진행속도가 더 빠를 수도 있다.

Fig 1.

Figure 1. 3D Turtlecraft visualization
Journal of Educational Research in Mathematics 2021; 31: 109-130https://doi.org/10.29275/jerm.2021.02.31.1.109

Fig 2.

Figure 2. Graph of z = x + y on the given region
Journal of Educational Research in Mathematics 2021; 31: 109-130https://doi.org/10.29275/jerm.2021.02.31.1.109

Fig 3.

Figure 3. Executable expression for square pyramid
Journal of Educational Research in Mathematics 2021; 31: 109-130https://doi.org/10.29275/jerm.2021.02.31.1.109

Fig 4.

Figure 4. Executable expression for cone
Journal of Educational Research in Mathematics 2021; 31: 109-130https://doi.org/10.29275/jerm.2021.02.31.1.109

Fig 5.

Figure 5. f(x, y) = -3(x3+y3e-x2-y2)
Journal of Educational Research in Mathematics 2021; 31: 109-130https://doi.org/10.29275/jerm.2021.02.31.1.109

Fig 6.

Figure 6. Colab coding environment for 2D Python animations
Journal of Educational Research in Mathematics 2021; 31: 109-130https://doi.org/10.29275/jerm.2021.02.31.1.109

Fig 7.

Figure 7. 3D visualization and 2D Python animation
Journal of Educational Research in Mathematics 2021; 31: 109-130https://doi.org/10.29275/jerm.2021.02.31.1.109

Fig 8.

Figure 8. One variable function whose domain is evenly distributed numbers
Journal of Educational Research in Mathematics 2021; 31: 109-130https://doi.org/10.29275/jerm.2021.02.31.1.109

Fig 9.

Figure 9. Min-max optimization by hand
mx=(5)+(4)+(3)+0+5+6+7+08=34
my=5+0+(3)+(4)+(5)+0+7+68=34
Journal of Educational Research in Mathematics 2021; 31: 109-130https://doi.org/10.29275/jerm.2021.02.31.1.109

Fig 10.

Figure 10. Min-max optimization by computer
Journal of Educational Research in Mathematics 2021; 31: 109-130https://doi.org/10.29275/jerm.2021.02.31.1.109

Fig 11.

Figure 11. Even function whose domain is evenly distributed numbers
Journal of Educational Research in Mathematics 2021; 31: 109-130https://doi.org/10.29275/jerm.2021.02.31.1.109

Fig 12.

Figure 12. Robot ants distributed uniformly
Journal of Educational Research in Mathematics 2021; 31: 109-130https://doi.org/10.29275/jerm.2021.02.31.1.109

Fig 13.

Figure 13. Gradient ascent animation for pyramid
Journal of Educational Research in Mathematics 2021; 31: 109-130https://doi.org/10.29275/jerm.2021.02.31.1.109

Fig 14.

Figure 14. Gradient ascent animation for cone
Journal of Educational Research in Mathematics 2021; 31: 109-130https://doi.org/10.29275/jerm.2021.02.31.1.109

Fig 15.

Figure 15. Evolution strategy for non-differentiable function(pyramid)
Journal of Educational Research in Mathematics 2021; 31: 109-130https://doi.org/10.29275/jerm.2021.02.31.1.109

Fig 16.

Figure 16. 3D visualization for Descartes folium
Journal of Educational Research in Mathematics 2021; 31: 109-130https://doi.org/10.29275/jerm.2021.02.31.1.109

Fig 17.

Figure 17. 2D python animation for Descartes folium
Journal of Educational Research in Mathematics 2021; 31: 109-130https://doi.org/10.29275/jerm.2021.02.31.1.109

Fig 18.

Figure 18. σ = 1, σ = 3
Journal of Educational Research in Mathematics 2021; 31: 109-130https://doi.org/10.29275/jerm.2021.02.31.1.109

Fig 19.

Figure 19. Examples of overshooting and oscillation
Journal of Educational Research in Mathematics 2021; 31: 109-130https://doi.org/10.29275/jerm.2021.02.31.1.109

Fig 20.

Figure 20. Standardization
Journal of Educational Research in Mathematics 2021; 31: 109-130https://doi.org/10.29275/jerm.2021.02.31.1.109

Fig 21.

Figure 21. Convergence to a local maximum/minimum
Journal of Educational Research in Mathematics 2021; 31: 109-130https://doi.org/10.29275/jerm.2021.02.31.1.109

Fig 22.

Figure 22. 3D visualization for Rosenbrock function
Journal of Educational Research in Mathematics 2021; 31: 109-130https://doi.org/10.29275/jerm.2021.02.31.1.109

Fig 23.

Figure 23. 2D Python animation for Rosenbrock function
Journal of Educational Research in Mathematics 2021; 31: 109-130https://doi.org/10.29275/jerm.2021.02.31.1.109

References

  1. Ackermann, E. (2001) Piaget's constructivism, papert's constructionism: what's the difference. Future of learning group publication. 5(3), 438.
  2. Cho, H. H. (2003) Computer and mathematics education. The Journal of Educational Research in Mathematics. 42(2), 177-191. 조한혁 (2003). 컴퓨터와 수학교육. 대한수학교육학회지 시리즈 A <수학교육>, 42(2), 177-191.
  3. Cho, H., H. & Song, M., H. (2014) On the smart storytelling mathematics education based on executable expression. The Journal of Educational Research in Mathematics. 24(2), 269-283. 조한혁, 송민호(2014). 실행식(Executable expression) 기반 SMART 스토리텔링 수학교육. 수학교육학연구, 24(2), 269-283.
  4. Choi, I., Y. (2020) A study on the pattern generalization process through the figural pattern learning environment - focusing on eye-tracking analysis and a microworld -. Doctoral dissertation, Seoul National University.
  5. Choi, J., S., Lee, K., H. & Kim, S., R. (2010) Exploring a hypothetical learning trajectory of linear programming by the didactical analysis. The Journal of Educational Research in Mathematics. 20(1), 85-102. 최지선, 이경화, 김서령(2010). 선형계획법의 교수학적 분석을 통한 가설 학습 경로 탐색. 수학교육학연구, 20(1), 85-102.
  6. Chung, I., W. & Cho, H., H. (2020) Fostering mathematical creativity through the various mathematical expressions in the 3D coordinate system based coding environment : Focusing on designing coding tasks and analyzing code expressions. School Mathematics. 22(1), 161-181. 정인우, 조한혁(2020). 3차원 좌표계 기반 코딩 환경을 활용한 수학적 창의성 발현 방안. 학교수학, 22(1), 161-181.
    CrossRef
  7. Chung, I., W. (2020) A study on mathematical design activities using 3D coordinate systembased coding environment: Focusing on mathematical learning by different code expressions. Master's Thesis, Seoul National University.
  8. Clements, D., H. & Sarama, J. (2002) The role of technology in early childhood learning. Teaching children mathematics. 8(6), 340-343.
    CrossRef
  9. Frank, S., Christian, O., Thomas, R., Alex, G., Jan, P. & Jürgen, S. (2010) Parameterexploring policy gradients. Neural Networks. 23(4), 551-559.
    Pubmed CrossRef
  10. Healy, L. & Kynigos, C. (2010) Charting the microworld territory over time: design and construction in mathematics education. ZDM. 42(1), 63-76.
    CrossRef
  11. Heo, N., G. (2020) Analysis of secondary mathematics knowledge for AI learning through the AI related R&E program. Journal of Learner- Centered Curriculum and Instruction. 20(16), 673-689. 허남구(2020). 인공지능 소재 R&E 프로그램 운영을 통한 인공지능 학습을 위한 중등 수학 교과 지식 분석. 학습자중심교과연구, 20(16), 673-689.
    CrossRef
  12. Hoyles, C., Noss, R. & Adamson, R. (2002) Rethinking the microworld idea. Journal of educational computing research. 27(1), 29-53.
    CrossRef
  13. Hwang, H., S. (2002) Evolution calculation and evolution design. Seoul: NAEHA corp. 황희수(2002), 진화계산 및 진화디자인. 내하출판사, 61-73.
  14. Jeong, H., R., Lee, S., J. & Cho, H., H. (2016) Educational application of turtle representation system for linking cube mathematics class. School Mathematics. 18(2), 323-348. 정혜림, 이승주, 조한혁(2016). 연결큐브 수업을 위한 거북표현체계의 활용. 학교수학, 18(2), 323-348.
  15. Jeong, J., H. & Cho, H., H. (2020) Mathematising of coding education command: focusing on algebra education. Journal of Educational Research in Mathematics. 30(1), 131-151. 정진환, 조한혁(2020). 코딩교육 명령문의 수학화: 대수교육을 중심으로. 수학교육학연구, 30(1), 131-151.
    CrossRef
  16. Kim, M., J. (2004) A mathematics educational study on dynamic geometry system(DGS) - focused on the viewpoint of microworld -. Master's Thesis, Seoul National University.
  17. Kim, N., R., Seo, Y., H. & Cho, H., H. (2018) Coding mathematics contents and environment design - focusing on mathematization and computational thinking -. Journal of Learner-Centered Curriculum and Instruction. 18(4), 647-673. 김나리, 서용현, 조한혁(2018). 코딩수학 내용 및 환경 설계. 학습자중심교과교육연구, 18(4), 647-673.
    CrossRef
  18. Ko, H., K. (2020) A study on development of school mathematics contents for artificial intelligence(AI) capability. Journal of the Korean School Mathematics Society. 23(2), 223-237.
  19. Lee, C., H. (2016) The effect of learning 3D turtle expression-based coding on spatial ability. Master's Thesis, Seoul National University.
  20. Lee, E., K. (2020) A comparative analysis of contents related to artificial intelligence in national and international K-12 curriculum. Journal of Korean Association of Computer Education. 23(1), 37-44.
    CrossRef
  21. Lee, J., H. & Huh, N. (2018) A study on the relationship between artificial intelligence and change in mathematics education. Communications of Mathematical Education. 32(1), 23-36. 이지혜, 허난(2018). 수학교육의 변화와 인공지능과의 연관성 탐색. 한국학교수학회논문집 32(1), 23-36.
  22. Lee, S., G., Lee, J., H. & Ham, Y., M. (2020) Artificial intelligence and college mathematics education. Communications of Mathematical Education. 34(1), 1-15. 이상구, 이재화, 함윤미(2020). 인공지능(Artificial Intelligence)과 대학수학교육. 수학교육눈문집, 34(1), 1-15.
  23. Lee, S., H., Lee, J., H. & Kim, W., K. (2012) The effects of using geogebra on the mathematical thinking in the optimization problems of regional inequalities - focus on level curve -. Korean Journal of Teacher Education. 28(4), 1-44. 이상희, 이종학, 김원경(2012). 부등식 영역의 최대ㆍ최소 문제에서 학생들의 수학적 사고에 GeoGebra가 미치는 영향 - 등고선 개념을 중심으로 -. 교원교육, 28(4), 1-44.
  24. Ministry & of Education (2020a). A comprehensive plan for mathematics education that grows together with thinking power and leads the future[2020~2024].
  25. Ministry & of Education (2020b). 26 (2018).
  26. Papert, S. (1972) Teaching children to be mathematicians versus teaching about mathematics. International journal of mathematical education in science and technology. 3(3), 249-262.
    CrossRef
  27. Papert, S. (1980) Mindstorms: Children, computers, and powerful ideas. Basic Books, Inc.
    CrossRef
  28. Papert, S. & Harel, I. (1991) Situating constructionism. Constructionism. 36(2), 1-11.
  29. Park, M., G. (2020) The trends of using artificial intelligence in mathematics education. Journal of Korea Elementary Education. 31(supplement), 91-102. 박만구(2020). 수학교육에서 인공지능의 활용 동향. 한국초등교육, 31(특별호), 91-102.
  30. Rechenberg, I. & Eigen, M. (1973) Evolutionsstrategie: optimierung technischer systeme nach prinzipien der biologischen evolution. Frommann-Holzboog Stuttgart.
  31. Rosenbrock, H., H. (1960) An automatic method for finding the greatest or least value of a function. The Computer Journal. 3(3), 175-184.
  32. Salimans, T., Ho, J., Chen, X. & Sutskever, I. (2017) Evolution Strategies as a Scalable Alternative to Reinforcement Learning. ArXiv e-prints.
    CrossRef
  33. Sehnke, F., Osendorfer, C., Rückstieß, T., Graves, A., Peters, J. & Schmidhuber, J. (2010) Parameter-exploring policy gradients. Neural Networks. 23(4), 551-559.
  34. Schwefel, H., P. (1977) Numerische optimierung von computer-modellen mittels der evolutionsstrategie.
    Pubmed CrossRef
  35. Shin, D., J. (2020) Artificial intelligence in primary secondary education: A systematic Review. Journal of Educational Research in Mathematics. 30(3), 531. 신동조(2020). 초ㆍ중등교육에서 인공지능: 체계적 문헌고찰. 수학교육학연구 30(3), 531-552.
    CrossRef
  36. Shin, S., K. (2019) Designing the Instructional Framework and Cognitive Learning Environment for Artificial Intelligence Education through Computational Thinking. Journal of The Korean Association of Information Education. 23(6), 639-653. 신승기(2019). Computational Thinking 기반의 인공지능교육 프레임워크 및 인지적 학습환경 설계. 정보교육학회논문지, 23(6), 639-653.
    CrossRef
  37. Weintrop, D., Beheshti, E., Horn, M., Orton, K., Jona, K., Trouille, L. & Wilensky, U. (2016) Defining computational thinking for mathematics and science classrooms. Journal of Science Education and Technology. 25(1), 127-147.
    CrossRef

Journal Info

Korea Society of Education Studies in Mathematics

Vol.31 No.4
2021-02-28

pISSN 2288-7733
eISSN 2288-8357

Frequency : Quarterly

Stats or Metrics

Share this article on :

  • line