재미있는 인공지능(AI) 이야기(#8)

rgbi3307의 이미지


안녕하세요?
오늘은 AI 기본개념에 대해서 컴퓨터 공학(Computer engineering) 적으로 요약합니다.

컴퓨터 공학(Computer engineering)

* 우리는 어떻게 효율적인 컴퓨터를 만들 수 있을까?

인공지능이 성공의 길로 가기 위해서는 2가지가 필요한데, 지능과 인공물이다.
컴퓨터는 인공물로 선택되어 왔다. 현대의 디지털 전자기기인 컴퓨터는 세계2차대전때 과학자들에 의해서 발명되었다.
1940년 Alan Turing 팀에 의해서 만들어진 컴퓨터는 전자기계적으로 너무 복잡했으며 단지 독일군의 암호문을 해독하고자 하는
한가지 목적을 위한 것이었다.
이들은 1943년에 진공관을 사용하여 일반 목적의 거대한 머신을 개발했다.
세계2차대전 이후, Turing은 이러한 컴퓨터들을 AI 연구에 사용하고자 했다.
Turing은 1953년에 최초의 체스 게임 프로그램을 개발했다.

동작을 프로그램할 수 있는 최초의 컴퓨터는 1941년 독일의 Konrad Zuse가 발명한 Z-3 이었다.
Zuse는 또한 실수와 최초의 고급 프로그래밍 언어인 Plankalkiil을 개발했다.
최초의 전자적인 컴퓨터인 ABC는 1940년과 1942년사이에 아이오와 주립대학교에서
John Atanasoff와 그의 제자 Clifford Berry에 의해서 조립되었다.
Atanasoff의 연구는 몇가지 지원과 인정을 받았는데 이것이 ENIAC 이었다.
ENIAC은 펜실베니아 대학교에서 John Mauchly와 John Eckert가 포함된 팀에 의해서
비밀 군사 프로젝트로 진행된 것이었으며,
이것은 현대 컴퓨터들에 막대한 영향을 준 선구자적인 프로젝트였다.

그이후로, 컴퓨터 하드웨어의 각 세대는 속도와 용량은 증가하고 가격은 감소하는 방향으로 발전했다.
컴퓨터의 수행능력은 2005년까지 18개월마다 두배로 증가했다.
전력 소비 문제를 해결하기 위해서 제조사들은 CPU의 클럭 속도보다는 코어의 수를 널리기 시작했다.
현재는 사람의 두뇌 능력에 접근하기 위해서 CPU를 병렬화 시키는 문제로 인해서 전력 소모가 증가할 것이라고 예상하고 있다.
물론, 전자적인 컴퓨터 이전에 연산용 기계장치가 있었다.
최초로 프로그램 가능한 기계는 1805년에 Joseph Marie Jacquard(1752-1834)가 만든 loom 이었는데,
이것은 짜여진 패턴형태의 명령들을 저장하기 위해서 구멍이 뚤린 카드를 사용했다.
19세기 중엽에 Charles Babbage(1792-1871)가 두가지 기계를 설계했지만 모두 완성하지는 못했다.

Babbage의 분석적 엔진은 아주 야심찬 것이었다. 이것은 주소가 있는 메모리, 저장된 프로그램과
조건적인 분기등을 포함하고 있어서 종합적인 계산 수행능력이 있는 최초의 인공물이었다.
Babbage의 동료인 Ada Lovelace는 시인 Lord Byron의 딸이었으며, 그녀는 아마도 세계 최초의 프로그래머였다.
(프로그래밍 언어인 Ada는 그녀의 이름에서 유례된 것이다.)
그녀는 완료되지 않은 분석적 엔진을 위한 프로그램을 작성하여
기계가 체스 게임을 하고 음악을 작곡할 수 있도록 했을 것이다.

AI는 컴퓨터 과학의 소프트웨어적인 측면으로도 접근한다.
운영체제, 프로그래밍 언어, 현대적인 프로그램들을 작성하는데 필요한 도구들이 여기에 해당한다.
이것들은 AI 분야를 개척하는데 필요한 일부분이 될 것이다.
AI는 컴퓨터 과학에 많은 아이디어를 제공하여 큰흐름을 개척했다.
예를들면, 시분할처리, 대화형 번역기, 마우스와 윈도우즈가 장착된 개인용 컴퓨터, 빠른 개발환경,
링크드 리스트 데이터형, 자동 저장 관리기, 기호화를 위한 핵심적인 개념, 함수, 선언,
객체지향 프로그래밍등이 여기에 해당한다.

참고서적:
Artificial Intelligence: A Modern Approach (3rd Edition)
by Stuart Russell, Peter Norvig

의역:
Jung,JaeJoon(rgbi3307(at)nate.com) on the www.kernel.bz

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.