Сегодня я вижу курс AI CS50 на их веб -сайте, который свободно доступен для всех, и он дал мне лучшее понимание различных алгоритмов поиска, используемых в AI.i, получили класс по теме в колледже, но теперь это кристально ясно видеть этот удивительный курс Анкет Таким образом, тема – это алгоритмы поиска и то, как они работают, чтобы найти оптимальное и лучшее решение, уважаемое определенным критериям или данной среде.
AI Вы можете определить как попытку выполнить задачу, как человек, и пример, пример, можно распознать людей или играть в игру, такую как Tic Tac Toe, которая будет использоваться в этой лекции позже.
Сначала я получаю обзор основных вещей, которые будут использоваться для определения поиска, и это важно в ИИ. Давайте посмотрим на это:
Агент : Сущность, которая воспринимает сигнал/стимул от природы/это окружающая среда и вернул ответ.
Государство : Например, конфигурация/конкретная структура среды, в 15 головоломке, состояние – это один из способов, которым все цифры расположены на плате.
начальное состояние : Первое состояние или из какого состояния алгоритм поиска начинает исследовать. E.G: состояние, из которого начинается алгоритм поиска. В приложении Navigator это будет текущее местоположение.
- Действия : Агент принимает определенный выбор, чтобы выполнить задачу. Это называется действиями. Точнее, действия могут быть определены как функция. После получения состояния в качестве входных данных действия (ы) возвращают в качестве вывода набора действий, которые могут быть выполнены в состоянии s. Например, в 15 головоломке действия данного состояния – это способы, которыми вы можете скользить квадратами в текущей конфигурации (4, если пустой квадрат находится в середине, 3, если рядом с стороной, 2, если в углу).
Действия (S) = [S1, S2, …, S3] (набор действий, которые могут быть выполнены, является состоянием s)
Переходная модель Это описывает результат применения судебных исков к государству, и, точнее, модель перехода может быть определена как функция. После получения состояния и действия A в качестве входных данных результаты (s, a) возвращает состояние в результате выполнения действия A в состоянии s. Например, с учетом определенной конфигурации 15 головоломки (состояния S), перемещение квадрата в любом направлении (действие a) приведет к новой конфигурации головоломки (новое состояние).
Государственное пространство : Это все возможное состояние, которое можно достичь из исходного состояния. Например, в 15 головоломке пространство состояния состоит из всех конфигураций 16!/2 на доске, которые можно достичь из любого начального состояния. Пространство состояний может быть визуализировано как направленный график с состояниями, представленные как узлы, и действия, представленные как стрелки между узлами.
Целевой тест : Это последнее состояние, куда агент должен идти, и после этого задача завершена. Условие, которое определяет, является ли данное состояние целевым состоянием. Например, в приложении Navigator тест целей будет заключаться в том, находится ли текущее местоположение агента (представление автомобиля) в пункте назначения. Если это – проблема решена. Если это не так – мы продолжаем искать.
Путь стоимость : Стоимость выполнения определенной задачи она может быть числовой, и мы можем определить, насколько оптимально является решение проблемы поиска. Например, приложение Navigator не просто приводит вас к вашей цели; Это делает это при минимизации стоимости пути, найдя самый быстрый способ, которым вы сможете добраться до вашего состояния цели.
Давайте решим проблему поиска из моего обучения:
В этом случае я вижу различные алгоритмы, применяемые к двум проблемам, это проблема, выявляя проблему лабиринта и TIC TAC, в некоторых случаях в качестве примера преследуют. Теперь вещи распространены или необходимо уточнить, это Решение, структура данных – Где данные или результаты/состояние могут храниться, и мы можем проверить их на позднее.
Таким образом, для структуры данных стек, очередь, дерево, связанный список может быть полезным в зависимости от задачи, но пока давайте возьмем общую структуру данных, я предполагаю, что его именная граница, которая имеет один Узел изначально.
- Узел : Узлы содержат информацию, которая делает их очень полезными для целей алгоритмов поиска. Они содержат состояние, которое можно проверить, используя тест цели, чтобы увидеть, является ли это окончательным состоянием. Если это так, затраты на путь узла можно сравнить с затратами других узлов, что позволяет выбрать оптимальное решение. Как только узел выбран, благодаря хранению родительского узла и действию, которое привело от родителя к текущему узлу, можно отследить на каждом этапе пути от начального состояния к этому узлу и этой последовательности действий решение.
Вы можете сказать, что узлы являются владельцем данных или владельцем состояния для определенного случая. Теперь в нашей границе DS у нас есть родительский узел, который содержит Первоначальное состояние: s (ini) Теперь базовый алгоритм для решения проблемы, скажем, поиск пути с данного графика:
Допустим, найдите путь от 0 до 2, и здесь могут быть возможны два пути
- 0->1->->2
- 0->4->3->2
где первое – это оптимальное решение (где стоимость пути ниже, чем другой путь)
Теперь базовый алгоритм для такого типа проблемы:
Repeat: If the frontier is empty, Stop. There is no solution to the problem. Remove a node from the frontier. This is the node that will be considered. If the node contains the goal state, Return the solution. Stop. Else, * Expand the node (find all the new nodes that could be reached from this node), and add resulting nodes to the frontier. * Add the current node to the explored set.
Теперь это просто простой алгоритм, и он не гарантирует предоставление оптимального решения, в котором появляются эти алгоритмы поиска.
Это будет в следующей части.
ссылка:
- https://cs50.harvard.edu/ai/2020/
- https://www.includehelp.com/ds/insertion-and-deletion-of-nodes-and-edges-in-a-graph-using-adjacency-list.aspx
Оригинал: “https://dev.to/darkdebo/my-first-day-experience-in-havard-cs50-ai-course-topic-search-part-1-59c7”