Git Product home page Git Product logo

feup-plog-proj-2's Introduction

Intruções de execução

Windows

  • Executar spwin.exe
  • File -> Consult... -> Selecionar ficheiro goldstar.pl
  • Na consola do SicStus: start.

Linux

  • Executar SicStus Prolog
  • File -> Consult... -> Selecionar ficheiro goldstar.pl
  • Na consola do SicStus: start.

Main Menu

1 - Input Operators
2 - Show Solver
3 - Find Solution (Random Config)
4 - DevOps - Save Results
5 - DevOps - Save Heuristics Solver
6 - DevOps - Save Heuristics Ops
0 - Exit
| Choose an Option (0-6) - 

As opções 1,2,3 mostram os resultados na consola enquanto que as opções 4,5,6 guardam os resultados em ficheiros de texto no "Working Directory" definido.

feup-plog-proj-2's People

Contributors

ca-moes avatar goncaloacteixeira avatar

Stargazers

 avatar

Watchers

 avatar

feup-plog-proj-2's Issues

Análise Dimensional

dimensional_search


Conseguimos fazer uma análise dimensional do problema se adaptarmos a restrição apenas usar números 0-9 uma vez para um limite diferente.

Star Corners Domain Variables Numbers Variable Operators
3 * 0-5 6 6
4 0-7 8 8
5 0-9 10 10
6 0-11 12 12
n 0-(2*n-1) 2*n 2*n
  • 3 Cantos fica com variáveis repetidas para obedecer á regra

Precisamos de descobrir como adaptar a definição de restrições para tamanhos diferentes

Dimensões Imagem
3 Dimensional_3
4 Dimensional_4
5 Dimensional_5
6 Dimensional_6

User Interface

Parece que vamos ter de ter um menu com algumas opções para a demonstração.

Uma das opções será escolher um número de pontas (3,4,5,..) e deixar o utilizador dar input dos operadores. Após isso o solver dá todas as soluções (uma ou mais) ou nenhuma solução.

Outra opção será para demonstrar o solver. Temos de ter umas configurações já feitas em código e pomos o solver a funcionar para demonstrar que está bem.

Ultima opção é encontrar uma solução para uma configuração aleatória.

Tables & Graphs

Tables

  • Best Heuristics
  • Custom Heuristics
  • Division Error
  • Find Ones
  • Find Ones Average
  • Removed Unwanted BackTrack
  • Test Heuristics Operators
  • Test Heuristics Solver
  • Unwanted BackTrack

Graphs

  • Best Heuristics
  • Custom Heuristics
  • Find Ones
  • Find Ones Average
  • Test Heuristics Operators
  • Solutions
  • Test Heuristics Solver
  • Unwanted BackTrack
  • Removed Unwanted BackTrack

To Do

  • Corrigir o write to file de save
  • Criar 4 predicados de print, dividir os que se tem em 2
    • Necessário adicionar argumento a star() para adicionar cur no final ou não.
  • Assim que escrever o resultado para um ficheiro, pôr a criar o nomo do ficheiro com o nome do predicado
  • Criar save_all que chama 4 saves e guarda todas as soluções

Guardar Resultados

@skdGT

  • Ir ao branch main
  • abrir SICStus
  • Mudar working directory para pasta Resultados_save_all
  • Consult de goldstar.pl
  • save_all e deixar a magia acontecer

Os saves estão por ordem crescente de resultados, os primeiros 3 devem demorar mas mesmo assim ficam com tempos razoáveis, O primeiro demorou-me 3 minutos, o segundo deve demorar mais, e o terceiro vai dar 1.04m de resultados. Os 2 últimos: print_unrestricted_all_sol e print_all_comb podem maybe ocupar os tais 20gb como da outra vez, se isso acontecer então é para desistir destes, dá-se 30 mins ao print_unrestricted_all_sol e se estiver a começar a ocupar muito então cancela e fica-se com os 3 primeiros.

Fiz o predicado save_all para não teres muito trabalho mas se quiseres podes abrir 5 consolas de sicstus e fazer cada save() numa delas para fazer em paralelo.

Passar para Latex

Relatório está feito em Word com Template LNCS. Podemos criar um projeto no OverLeaf e fazer lá o relatório. Cada projeto só pode ter 1 colaborador para além do dono, isso basta para o que é, já que a partilha via Word fica com as macros quebradas esta é uma boa opção.

Podemos começar por passar todo o relatório que temos para Latex e a partir daí podemos adicionar mais coisas.

O relatório está com 6 páginas e pouco, por enquanto falta fazer a análise dimensional. Vamos esperar não ultrapassar as 8 páginas max. Qualquer coisa podemos criar uma secção de anexos que não consta para a contagem das páginas

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.