TIL - 2021.09.06

Wanna be __·2021년 9월 6일
0

TIL

목록 보기
28/45
post-thumbnail

Today, I Learned

1. Database

  • DBMS is a data environment that is both convenient and efficent to use.
    두 특징이 어떻게 보면 상호 보완적인 특징을 가지고 있어서 모두 가져가기 어렵지만, DBMS는 두개 다를 추구!
  • Real world에 적용되지 않는 예시가 사실상 없음...
  • Limits of OS File System.
    1. Data redundancy and inconsistency -> multiple file formats, duplication of information.
    1. Difficulty in accessing and manipulating data.
    2. Integrity problems -> 데이터베이스에 저장된 데이터 값과 사용자가 의도한 데이터 값은 일치하지 않을수도..
    3. Atomicity of updates.
    4. Concurrent access by multiple users
    5. Security problems
  • Levels of abstraction
    1. Physical level -> 우리는 실제 OS system의 어떤 부분에 data가 저장되는지 신경쓸 필요도 없음.
    1. Logical level -> Schema level로 우리가 확인하는 단계
    2. View level -> application program에서 확인하는 것.
  • Schema is the logical structure of the database
  • Data models that we doesn't use
    1. Network data model ( ~1980)
    Pointer와 Data가 혼재된 형태
    1. Hierarchical Data model (~1980)
      Tree structure를 가진 형태

2. AI

  • The maze problem is a very hard problem since we don't know about the consequence of the each decision.
  • 3 Types of search
    1. BFS
    Fringe의 수가 제한적임. 다만 Optimal solution을 보장할 수 없음. Stack.
    1. DFS
      Fringe의 수가 매우 큼. 다만 Optimal Solution을 보장할 수 있음 (Cost가 동일한 경우), Queue
      2.5 Hybrid Search
      Run DFS with depth limit 1. If no solution...
      Run DFS with depth limit 2. If no solution...
      Run DFS with depth limit 3. If no solution...
      -> 낮은 Level에 대해서 반복적으로 search를 실행하기 때문에 비효율적으로 보이나, BFS를 사용했을 때 발생하는 Fringe수의 기하급수적 증가를 막을 수 있음.
    2. UCS
      Fringe수가 적당하고, Optimal solution을 보장할 수 있음. Priority Queue.
      다만, 방향에 대하여 고려하지 않은 채, 값만 고려하는 단점.
profile
성장하는 개발자

0개의 댓글