[AI] Optimization (4-3)
제약 충족 문제(Constraint Satisfaction problem) 제약 충족 문제는 일부 조건을 만족하면서 변수에 값을 할당해야 하는 문제 클래스이다. 제약 충족 문제에는 다음과 같은 속성이 있다.변수 집합: (x₁, x₂, …, xₙ)각 변수 {D₁, D₂, …, Dₙ}에 대한 도메인 집합제약 조건 C의 집 스도쿠는 제약 충족 문제로 표현할 수 있다. 여기서 각각의 빈 사각형은 변수이고 도메인은 1-9의 숫자이며 제약조건은 서로 같을 수 없는 사각형인 것이다. 또 다른 예를 생각해 보자. 학생 1~4는 각각 A, B, …, G의 3과목을 수강하고 있다. 각 과목은 시험을 치러야 하며, 시험 가능 요일은 월요일, 화요일, 수요일이다. 단, 같은 학생이 같은 날 두 번의 시험을 볼 수는 없다. ..
2024. 6. 11.
9-1. Reverse Engineering
Reverse engineering Reverse engineering:리버스 엔지니어링은 시스템, 소프트웨어, 하드웨어의 안에서 작동하는 것을 분석하고 이해하는 과정이다.즉, 외부의 동일한 기능을 구현하기 위해 내부를 뜯어 분석하는 행위인 것.효율적이고 정확한 분석을 위해서는 다양한 지식을 알고 있어야 한다: 커널, 프로세스, 어셈블리어정보 수집: 문서, 프로그래밍 언어, 라이브러리, 컴파일러 등등 방법에는 2가지 방법이 있다.- 정적 분석: 디컴파일러를 사용해 실행 바이너리로부터 소스를 역추출하는 방법 등이 있다. 도구를 사용하면 쉬운편 도구: IDA pro, Ghidra, Radate2, 등등 - 동적 분석: 정적 분석만으로는 런타임에 결정되는 컨트롤 플로우를 따라가기 어렵다는 단점이 있다...
2024. 6. 4.