분류 전체보기 231

인공지능(AI) #2_ 논리, 추론, 모형(logic, entailment, model)

이번에는 지난 포스팅에 이어서 논리와 추론, 모형에 대해서 알아보도록 하겠습니다.내용을 설명하면서 이해를 돕기 위해 웜푸스 세계에 대한 이야기를 가져오는 경우도 있으니, 웜푸스 세계에 대해서 대략적으로라도 확인하지 못하신 분들은 지난 포스팅을 참고하시길 바랍니다.1. 논리(Logics) 이번에는 논리적 표현과 추론의 근본 개념들을 소개합니다.지난 포스팅에서 지식 기지에 대해서 알아보았습니다. 그리고 지식 기지는 문장들로 구성된다고 하였습니다. 여기서 문장들은 표현 언어의 구문(Syntax)을 따릅니다. 표현 언어의 구문은 적격(well-formed)인 문장을 규정합니다. 쉽게 말해서 구문은, 문장을 만드는 규칙을 말합니다. 예를 들어, "x+y=1"이라는 문장은 적격이지만 "+x1y="은 적격이지 않습니..

인공지능(AI) #1_ 논리적 에이전트, 지식 기반 에이전트, 웜푸스 세계

최근 인공지능에 대해서 기본적인 이론과 개념을 공부중에 있습니다.따라서 공부하면서 내용을 정리해서 포스팅을 진행하려 합니다.'인공지능:현대적 접근' 이라는 책을 기반으로 학습 중이며 내용 중간중간 있는 사진과 도표 및 수도코드의 출처는 해당 책임을 밝힙니다.내용에 대한 피드백이나 궁금한 점은 언제든지 댓글을 통해 말씀해주시면 감사하겠습니다. 이번 포스팅에서는 논리적 에이전트와 웜푸스 세계에 대해서 알아보도록 하겠습니다.그리고 이어지는 내용인 논리와 추론, 명제에 대한 내용은 다음 포스팅에서 정리하고 명제 논리에 대해서는 그 다음에 살펴보도록 하겠습니다..1. 논리적 에이전트(Logical Agents) 사람은 여러가지의 지식을 가지고 있습니다. 그리고 그러한 지식을 표현(representation)할때 ..

파이썬(python) #2_ 파이썬의 숫자형과 문자열 자료형

안녕하세요.지난 포스팅에 이어서, 이번엔 파이썬의 숫자형과 문자열 자료형에 대해서 알아보겠습니다.참고 서적은 박응용씨의 '점프 투 파이썬'입니다.또한 이번 포스팅부터 실습을 진행할텐데제가 사용하는 파이썬 버전은 Python 3.6.2 이며 에디터는 서브라임텍스트3를 사용합니다.1. 숫자형 숫자형이란 말 그대로 숫자로 된 자료형을 말합니다. 숫자에는 어떤 것들이 있을까요? 잘 아시다시피 정수, 실수, 복소수 그리고 8진수와 16진수 등이 있습니다.C 언어를 예를 들면 정수형을 표현하는데 Int형을 사용하죠. 파이썬과의 차이점을 보자면, C언어의 Int형은 대략 +21억~-21억의 범위를 가집니다. 하지만 파이썬에서는 숫자형의 범위가 존재하지 않습니다. 그럼 숫자형에서 각각의 숫자들은 어떤식으로 사용이 될까..

파이썬(python) #1_ 파이썬이란 무엇인가?

안녕하세요. 문범우입니다.최근 파이썬(python)을 이용해서 다양한 웹 프레임 워크도 공부하고, 학교에서 진행하는 이론적인 내용들을 실습할 때 파이썬으로 코드를 작성하다 보니 기초에 대한 부족함이 느껴지네요.그래서 처음 파이썬 시작할때 샀던 책을 아예 처음부터 제대로 정독해보기로 마음먹었습니다.책은 박응용님께서 지으신 '점프 투 파이썬'이란 책입니다.해당 책은 WikiDocs에 오픈되어 있으니 여기를 클릭하셔서 온라인으로도 보실 수 있습니다.포스팅은 시간날때마다 공부하고 정리하는 느낌으로 진행할 예정이고 책에서 공부한 내용들을 바탕으로 응용한 예제까지 더해서 코드를 정리하려 합니다.궁금하신 점이나 기타 의문사항은 댓글 및 이메일(doorbw@outlook.com)으로 연락주시면 감사하겠습니다. :) 1..

플라스크(Flask) #1_ 파이썬 웹 프레임 워크 플라스크 시작하기

안녕하세요.이번 포스팅부터는 Flask에 대해서 공부하면서 내용을 정리해보려 합니다.오늘은 Flask에 대한 개념과 기본 예제만 살펴보도록 하겠습니다.1. 플라스크(Flask) 란? 파이썬이나 웹에 대해 관심있으신 분들은 어느정도 아시겠지만, 플라스크(Flask)란 파이썬 웹 어플리케이션을 만드는 프레임 워크입니다.프레임워크는 매우 다양하죠. 저의 블로그에서도 포스팅 진행중인 토네이도(tornado) 등이 있습니다.그 중에서도 아마 플라스크와 장고가 대표적일 것 입니다.플라스크는 그러한 프레임워크들 중에서도 매우 심플하고 가벼운 느낌을 가지고 있습니다.그러한 가벼움 속에서도 중요하고 핵심적인 내용과 기능을 갖고 있기에 많은 이들에게 사랑받고 있죠.플라스크를 설치하는 방법은 공식문서나 다른분들의 블로그를 ..

Web 관련/Flask 2017.10.31

MySQL #4_ 사용자 정의 변수 사용하기

안녕하세요. 문범우입니다.오늘은 MySQL에서 변수를 이용하는 방법에 대해 알아보도록 하겠습니다.이해를 돕기 위해 예제를 가지고 진행하는 방식으로 해볼게요.예제에서는 delimiter에 대한 사용이 나옵니다.delimiter에 대해서 잘 모르신다면 지난 포스팅을 통해 확인하시길 바랍니다.1. 예제 환경 구성 오늘은 아래와 같은 테이블에서 시작합니다. 테이블을 만들기 위한 코드는 아래와 같습니다. 12345678910111213141516CREATE TABLE person_1(_id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(32) NOT NULL,job VARCHAR(64),height INT NOT NULL,english INT NOT NULL); INSERT INT..

Database/MySQL 2017.10.31

PHP #1_ 웹 서버와 PHP란?

최근 학교에서 데이터베이스 수업을 들으면서 실습을 진행하고 있습니다.이번에 PHP에 관련된 내용을 공부하게 되어 관련 내용을 공부하면서 정리해서 포스팅하려합니다.부족한 부분은 언제든지 댓글이나 이메일(doorbw@outlook.com)으로 피드백주시면 감사하겠습니다.1. Web Server php와 같은 것들을 server side script(technology) 라고 합니다.한글로 한다면 서버 측면 언어(기술)라고 생각할 수 있기에 서버 측에서 동작하는 언어라고 할 수 있습니다.서버(server)라는 개념안에는 Apache, PHP, MySQL 등이 있습니다.그리고 클라이언트(client)는 서버(server)에게 요청을 하고, 서버는 클라이언트에게 응답 및 제공을 하게 되죠. 흔히들 사용하는 웹 브..

Web 관련/PHP 2017.10.30

알고리즘 #3_동적 프로그래밍: 막대 자르기(rod cut algorithm)

안녕하세요. 문범우입니다.이번 포스팅부터 Introduction to Algorithm (3rd Edition) 책의 15장. 동적 프로그래밍(ch15, dynamic programming)에 대해서 이야기하려 합니다.매주 1~2번 정도 포스팅 될 예정이며, 공부를 하면서 내용을 정리해서 올리기 때문에 잘못된 정보나 지식이 포함되어 있을 수 있으니 참고용으로 확인해주시고, 잘못된 내용에 대해서는 피드백 주시면 감사하겠습니다.오늘은 동적 프로그래밍에 대한 개요와 동적 프로그래밍의 막대 자르기(Rod Cut)에 대해서 알아보겠습니다.1. 동적 프로그래밍(Dynamic programming) 동적 프로그래밍은 분할정복 기법과 같이 부분 문제의 해를 결합하여 문제를 해결합니다.이때, 프로그래밍이란 것은 코딩을 ..

운영체제 #2_ C언어를 통한 스레드/멀티스레드 예제

안녕하세요. 문범우입니다. 지난 포스팅에서 프로세스 및 스레드에 대한 개념을 정리해보았습니다.이번에는 스레드를 직접적으로 만들어서 확인해보도록 하겠습니다.실습은 C언어로 진행합니다.1. 싱글 스레드(Single-Thread) 먼저 싱글 스레드를 만들어서 확인해보도록 하죠.코드는 아래와 같습니다.123456789101112131415161718192021222324252627282930313233343536#define WIN32_LEAN_AND_MEAN#include #include #include DWORD WINAPI ThreadFunc(LPVOID);// DWORD는 더블워드 = long// WINAPI : Windows의 API// LPVOID : ms에서 사용하는 void* int global ..

OS&네트워크 2017.10.26

운영체제 #1_ 스레드와 프로세스, 멀티프로그래밍,멀티태스킹,멀티스레딩,멀티프로세싱

안녕하세요. 문범우입니다.이번 포스팅에서는 스레드(Thread) 와 프로세스(Process) 에 대해서 알아보겠습니다.스레드에 대해 좀 더 명확히 이해하기 위해서는 먼저 프로세스에 대한 개념이 필요합니다.따라서 프로세스, 스레드, 멀티 프로세싱, 멀티 프로그래밍, 멀티 태스킹, 멀티스레딩, 프로세스와 스레드 차이 순으로 알아보도록 하겠습니다. 1. 프로세스(Process)프로세스에 대한 설명을 먼저 위키백과에서 어떻게 하고 있는지 확인해볼게요. 프로세스(process)는 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램을 말한다. 종종 스케줄링의 대상이 되는 작업(task)이라는 용어와 거의 같은 의미로 쓰인다. 여러 개의 프로세서를 사용하는 것을 멀티프로세싱이라고 하며 같은 시간에 여러개의 프로그램을..

OS&네트워크 2017.10.26
728x90