{"id":22273542,"url":"https://github.com/dfleta/prolog-for-ia","last_synced_at":"2025-03-25T16:41:50.627Z","repository":{"id":225860192,"uuid":"766939325","full_name":"dfleta/prolog-for-IA","owner":"dfleta","description":null,"archived":false,"fork":false,"pushed_at":"2024-03-20T12:00:40.000Z","size":1089,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-30T14:45:08.458Z","etag":null,"topics":["knowledge-representation","logic-programming","prolog","prolog-exercises","prolog-programming-language"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dfleta.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-03-04T12:16:15.000Z","updated_at":"2024-04-30T23:57:51.000Z","dependencies_parsed_at":"2024-03-20T13:29:11.618Z","dependency_job_id":"b42cb6b5-16b0-48c0-a926-26f0138ab1da","html_url":"https://github.com/dfleta/prolog-for-IA","commit_stats":null,"previous_names":["dfleta/prolog-for-ia"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfleta%2Fprolog-for-IA","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfleta%2Fprolog-for-IA/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfleta%2Fprolog-for-IA/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfleta%2Fprolog-for-IA/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dfleta","download_url":"https://codeload.github.com/dfleta/prolog-for-IA/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245501810,"owners_count":20625855,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["knowledge-representation","logic-programming","prolog","prolog-exercises","prolog-programming-language"],"created_at":"2024-12-03T13:13:33.550Z","updated_at":"2025-03-25T16:41:50.599Z","avatar_url":"https://github.com/dfleta.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"Aprendiendo PROLOG - Instalación\n================================\n### Representación del conocimiento\n### Lógica proposicional\n### Lógica de primer orden \n### Agentes (inteligentes) lógicos\n\nLa idea es disponer del entorno SWI-Prolog para ejecutarlo desde línea de comandos en tu sistema operativo o desde el entorno que proporciona el programa.\n\nUna vez instalado, usaremos Jupyter Notebooks con un kernel SWI-Prolog (Herculog), para que realizar los ejercicios propuestos en la carpeta [notebooks](./notebooks/) en el navegador.\n\n## 1. Instalación de SWI-Prolog\n\nSigue las instrucciones necesarias para instalar SWI-Prolog en tu sistema operativo. \n\nDescarga la [versión estable SWI-Prolog](https://www.swi-prolog.org/download/stable).\n\nAquí también las de [desarrollo](https://www.swi-prolog.org/Download.html).\n\nSi es MacOSX, consulta conmigo los detalles de la configuración final de las variables de entorno:\n\n```zsh\n% swipl --dump-runtime-variables\n\nPLBASE=\"/Applications/SWI-Prolog.app/Contents/swipl\";\nSWIPL_PACK_PATH=\"\";\nPLARCH=\"x86_64-darwin\";\nPLBITS=\"64\";\nPLVERSION=\"90200\";\nPLSOEXT=\"so\";\nPLSOPATH=\"DYLD_LIBRARY_PATH\";\nPLLIBDIR=\"/Applications/SWI-Prolog.app/Contents/swipl/lib/x86_64-darwin\";\nPLLIB=\"-lswipl\";\nPLLIBSWIPL=\"/Applications/SWI-Prolog.app/Contents/Frameworks/libswipl.9.2.0.dylib\";\nPLSHARED=\"yes\";\nPLTHREADS=\"yes\";\n```\n\nPresta atención a:\n\n```zsh\nPLLIBDIR=\"/Applications/SWI-Prolog.app/Contents/swipl/lib/x86_64-darwin\";\nPLLIBSWIPL=\"/Applications/SWI-Prolog.app/Contents/Frameworks/libswipl.9.2.0.dylib\";\n```\n\nEdita tu fichero `.zshrc` o `.bashrc` en tu `home` para que incluya esta configuración de variables de entorno:\n\n```zsh\nPATH=\"/Applications/SWI-Prolog.app/Contents/MACOS/:${PATH}\"\nexport DYLD_FALLBACK_LIBRARY_PATH=\"/Applications/SWI-Prolog.app/Contents/Frameworks/\"\nexport PATH\n```\n\n\n## 2. Instalación del kernel Prolog - Herculog para jupyter notebook\n\n### Desde la distribución Herculog\n\nAquí el repo:\n\nhttps://github.com/hhu-stups/prolog-jupyter-kernel\n\nhttps://pypi.org/project/prolog-kernel/\n\nEs necesario seguir la instalación en el orden indicado pineando[^1] las versiones de las dependencias Prolog:\n\n[Instruccciones instalación](https://github.com/hhu-stups/prolog-jupyter-kernel/blob/master/README.md#installation)\n\nAquí un ejemplo de [jupyter notebook con kernel Prolog: sintaxis e instrucciones](https://github.com/hhu-stups/prolog-jupyter-kernel/blob/master/notebooks/feature_introduction/swi/using_jupyter_notebooks_with_swi_prolog.ipynb)\n\n### Desde este repo\n\nClona el proyecto en tu máquina:\n\n`mkdir prolog; cd prolog`\n\n`git clone https://github.com/dfleta/prolog-for-IA.git` \n\nCrea el entorno virtual y actívalo:\n\n`python -m venv venv`\n\n`source venv/bin/activate`\n\nLas dependencias de primer nivel testeadas en el repo de Herculog están pineadas en el fichero [requirements.in](./requirements.in), pero para instalar todas las dependencias has de utilizar el fichero [requirements.txt](./requirements.txt): \n\n`pip install -r requirements.txt`\n\nEl fichero [requirements-updated.txt](./requirements-updated.txt) contiene las versiones actualizadas de las dependencias de primer nivel con las que el kernel Herculog funciona para esta versión de SWI-Prolog:\n\n``` zsh\n% swipl --version \nSWI-Prolog version 9.2.0 for x86_64-darwin\n```\n\n## 3. Ejercicios propuestos Prolog\n\nEn el directorio de este repo [notebooks](./notebooks/) encontrarás los _notebooks_ con los ejercicios propuestos.\n\nEcha un ojo a las [soluciones](./notebooks_solucion/).\n\nUna vez que completes la instalación de SWI-Prolog y el kernel Herculog para Jupyter ejecuta:\n\n`source venv/bin/activate`\n\n`jupyter-lab`\n\nAccede con tu navegador al localhost:\n\n`http://localhost:8888/`\n\ny abre el notebook seleccionando el kernel `Prolog`.\n\n## 4. Cómo aprender Prolog\n\nEn el directorio [doc](./doc) encontrarás mis apuntes del libro [_Prolog, programming for Artificial Intelligence_ de Ivan Bratko.](https://drive.google.com/file/d/19RQO9T4452kuj-iK5ynsuafZ5opRIWOn/view?usp=drive_link) \n\nIré publicando mis resúmenes de los capítulos según los necesitemos.\n\nEmpléalos para completar los ejercicios propuestos.\n\n----------------------------------------------------------------------------------------------------\n[^1]: Consulta el fichero `requirements.in` y mi [tutorial sobre cómo especificar las versiones de las dependencias](https://github.com/dfleta/ollivanders?tab=readme-ov-file#dependencias) de tu proyecto Python.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdfleta%2Fprolog-for-ia","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdfleta%2Fprolog-for-ia","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdfleta%2Fprolog-for-ia/lists"}